Spring正常写法

Controller层

package com.egoo.vl.crm.baselog.controller.baselog;

import com.egoo.bdp.edp.baselog.entity.BaselogDialogueInfoEntity;
import com.egoo.vl.crm.baselog.common.DBResponse;
import com.egoo.vl.crm.baselog.common.StatusCode;
import com.egoo.vl.crm.baselog.service.baselog.dialogue.DialogueBySessionidService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.*;

/**
* Created by IntelliJ IDEA.
*
* @author: zhangjun
* @date: 2022/8/17
*/
@RestController
@RequestMapping("/v1")
@Slf4j
public class DialogueBySessionidController {
@Autowired
private DialogueBySessionidService dialogueBySessionidService;

@GetMapping("/getAllBySessionid")
public@ResponseBody
DBResponse getAllBySessionid(@RequestParam("sessionid") String sessionid){
if (log.isInfoEnabled()) {
log.info("rest request sessionid=",sessionid);
}
DBResponse dbResponse = new DBResponse(StatusCode.RET_ERROR, "数据库查询失败");
try {
List<BaselogDialogueInfoEntity> list = dialogueBySessionidService.getAllBySessionid(sessionid);
if (list != null) {
dbResponse.setRetCode(200);
dbResponse.setMsg("数据库查询成功");
dbResponse.setData(list);
}
} catch (Exception e) {
log.error("rest request : 通过sesionid获取t_baselog_dialogue_info信息,message:{}.e:{}", e.getMessage(), e);
}
return dbResponse;
}
}

 

 

Entity层

package com.egoo.bdp.edp.baselog.entity;

import com.alibaba.fastjson.JSONObject;
import lombok.Data;

@Data
public class BaselogDialogueInfoEntity {
private String dbid;
private String datatimestamp;
private String nickname;
private String fromuser;
private String touser;
private String locationx;
private String locationy;
private String content;
private String channeltype;
private String msgtype;
private String sessionid;
private String robotsessionid;
private String agentid;
private String createtime;
private String transferMemo;
private String robotresponse;
private String userdata;
private String eventkey;
private String publisher;
private String partytype;
private String partyname;
private String timestamp;
private String readid;
private String tenantid;
private String iswithdrawn;
private String enablevideo;
private String chatmode;
private String isp2p;
private String visibility;
private String filename;
private String event;
private String userlastvoicetimestamp;
private String msgreaded;
private String relatedquestion;
private String emotionAnalysis;
private String platform;
private String readusers = "0";
private JSONObject ocr;


}

 

Service层

package com.egoo.vl.crm.baselog.service.baselog.dialogue;

import com.egoo.bdp.edp.baselog.entity.BaselogDialogueInfoEntity;

import java.util.List;

/**
* Created by IntelliJ IDEA.
*
* @author: zhangjun
* @date: 2022/8/17
*/
public interface DialogueBySessionidService {
List<BaselogDialogueInfoEntity> getAllBySessionid(String sessionid);
}

 

ServiceImpl层

package com.egoo.vl.crm.baselog.service.baselog.dialogue.impl;

import com.egoo.bdp.edp.baselog.entity.BaselogDialogueInfoEntity;
import com.egoo.vl.crm.baselog.dao.baselog.DialogueBySessionidMapper;
import com.egoo.vl.crm.baselog.service.baselog.dialogue.DialogueBySessionidService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
* Created by IntelliJ IDEA.
*
* @author: zhangjun
* @date: 2022/8/17
*/
@Service
public class DialogueBySessionidServiceImpl implements DialogueBySessionidService {
@Resource
private DialogueBySessionidMapper dialogueBySessionidMapper;
@Override
public List<BaselogDialogueInfoEntity> getAllBySessionid(String sessionid){
List<BaselogDialogueInfoEntity> list = dialogueBySessionidMapper.getAllBySessionid(sessionid);
return list;
}
}

Mapper层

package com.egoo.vl.crm.baselog.dao.baselog;

import com.egoo.bdp.edp.baselog.entity.BaselogDialogueInfoEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* Created by IntelliJ IDEA.
*
* @author: zhangjun
* @date: 2022/8/17
*/
@Mapper
public interface DialogueBySessionidMapper {
List<BaselogDialogueInfoEntity> getAllBySessionid(@Param(value = "sessionid") String sessionid) ;
}

 XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.egoo.vl.crm.baselog.dao.baselog.DialogueBySessionidMapper">
<resultMap id="BaseResultMap" type="com.egoo.bdp.edp.baselog.entity.BaselogDialogueInfoEntity">
<result column="dbid" property="dbid"/>
<result column="datatimestamp" property="datatimestamp"/>
<result column="nickname" property="nickname"/>
<result column="fromuser" property="fromuser"/>
<result column="touser" property="touser"/>
<result column="locationx" property="locationx"/>
<result column="locationy" property="locationy"/>
<result column="content" property="content"/>
<result column="channeltype" property="channeltype"/>
<result column="msgtype" property="msgtype"/>
<result column="sessionid" property="sessionid"/>
<result column="agentid" property="agentid"/>
<result column="createtime" property="createtime"/>
<result column="Transfer_Memo" property="transferMemo"/>
</resultMap>
<select id="getAllBySessionid" resultMap="BaseResultMap" parameterType="string">
SELECT
*
FROM
( SELECT * FROM t_baselog_dialogue_info WHERE sessionid like concat(#{sessionid},'%') ORDER BY createtime DESC ) tt
GROUP BY
tt.sessionid
</select>


</mapper>

 

posted @ 2022-08-09 10:07  青衫故人1118  阅读(63)  评论(0编辑  收藏  举报