Commit ce8e32ea by 裴大威

Merge branch 'feat-zyq-1002273' into 'master'

【1002273】与小睿对话记录用户书刊并索要出版社信息

See merge request rays/pcloud-book!357
parents 46c8a8c3 2968ae3e
...@@ -251,4 +251,10 @@ public interface BookService { ...@@ -251,4 +251,10 @@ public interface BookService {
@RequestParam(value = "keyword") String keyword, @RequestParam(value = "keyword") String keyword,
@RequestParam(value = "adviserId") Long adviserId @RequestParam(value = "adviserId") Long adviserId
) throws BizException; ) throws BizException;
@ApiOperation("根据书名模糊匹配,获得所有book_id")
@RequestMapping(value = "/getBookIdsByBookName", method = RequestMethod.GET)
ResponseEntity<ResponseDto<List<Long>>> getBookIdsByBookName(
@RequestParam(value = "bookName") String bookName
) throws BizException;
} }
...@@ -605,4 +605,10 @@ public interface BookBiz { ...@@ -605,4 +605,10 @@ public interface BookBiz {
*/ */
void exportBookIncomeDetail(Map<String, Object> paramMap, Long agentId, Long partyId, String systemCode); void exportBookIncomeDetail(Map<String, Object> paramMap, Long agentId, Long partyId, String systemCode);
/**
* 根据书名模糊匹配,获得所有book_id
* @param bookName
* @return
*/
List<Long> getBookIdsByBookName(String bookName);
} }
...@@ -1898,4 +1898,24 @@ public class BookBizImpl implements BookBiz { ...@@ -1898,4 +1898,24 @@ public class BookBizImpl implements BookBiz {
} }
}); });
} }
@ParamLog("根据书名模糊匹配,获得所有book_id")
@Override
public List<Long> getBookIdsByBookName(String bookName) {
LOGGER.info("根据书名模糊匹配,获得所有book_id,<START>.[bookName]=" + bookName);
if (StringUtil.isEmpty(bookName)) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "请输入书名");
}
List<Long> bookIds;
try {
bookIds = bookDao.getBookIdsByBookName(bookName);
if (bookIds == null) {
bookIds = Lists.newArrayList();
}
} catch (Exception e) {
LOGGER.error("根据书名模糊匹配,获得所有book_id,<ERROR>.[getBookIdsByBookName]:" + e.getMessage(), e);
throw BizException.DB_SELECT_IS_FAIL;
}
return bookIds;
}
} }
...@@ -320,4 +320,11 @@ public interface BookDao extends BaseDao<Book> { ...@@ -320,4 +320,11 @@ public interface BookDao extends BaseDao<Book> {
List<BookSaleVO> listIncomePage4Agent(Map<String,Object> paramMap); List<BookSaleVO> listIncomePage4Agent(Map<String,Object> paramMap);
Long countIncomePage4Agent(Map<String, Object> paramMap); Long countIncomePage4Agent(Map<String, Object> paramMap);
/**
* 模糊匹配书名 限制50条
* @param bookName
* @return
*/
List<Long> getBookIdsByBookName(String bookName);
} }
...@@ -314,4 +314,11 @@ public class BookDaoImpl extends BaseDaoImpl<Book> implements BookDao { ...@@ -314,4 +314,11 @@ public class BookDaoImpl extends BaseDaoImpl<Book> implements BookDao {
public Long countIncomePage4Agent(Map<String, Object> paramMap) { public Long countIncomePage4Agent(Map<String, Object> paramMap) {
return super.getSqlSession().selectOne(super.getStatement("countIncomePage4Agent"), paramMap); return super.getSqlSession().selectOne(super.getStatement("countIncomePage4Agent"), paramMap);
} }
@Override
public List<Long> getBookIdsByBookName(String bookName) {
Map<String, Object> paramMap = Maps.newHashMap();
paramMap.put("bookName", bookName);
return super.getSqlSession().selectList(getStatement("getBookIdsByBookName"),paramMap);
}
} }
...@@ -201,4 +201,13 @@ public class BookServiceImpl implements BookService { ...@@ -201,4 +201,13 @@ public class BookServiceImpl implements BookService {
) throws BizException { ) throws BizException {
return ResponseHandleUtil.toResponse(bookBiz.getIdsByNameOrISBN(keyword, adviserId)); return ResponseHandleUtil.toResponse(bookBiz.getIdsByNameOrISBN(keyword, adviserId));
} }
@ApiOperation("根据书名模糊匹配,获得所有book_id")
@RequestMapping(value = "/getBookIdsByBookName", method = RequestMethod.GET)
@Override
public ResponseEntity<ResponseDto<List<Long>>> getBookIdsByBookName(
@RequestParam(value = "bookName") String bookName
) throws BizException {
return ResponseHandleUtil.toResponse(bookBiz.getBookIdsByBookName(bookName));
}
} }
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
package com.pcloud.book.consumer.user; package com.pcloud.book.consumer.user;
import com.pcloud.channelcenter.base.exceptions.ChannelBizException; import com.pcloud.channelcenter.base.exceptions.ChannelBizException;
import com.pcloud.channelcenter.wechat.service.MessageService;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.utils.ListUtils; import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.ResponseHandleUtil; import com.pcloud.common.utils.ResponseHandleUtil;
...@@ -31,6 +32,8 @@ public class ChannelConsr { ...@@ -31,6 +32,8 @@ public class ChannelConsr {
@Autowired @Autowired
private ChannelService channelService; private ChannelService channelService;
@Autowired
private MessageService messageService;
/** /**
* 获取渠道名称 * 获取渠道名称
...@@ -124,4 +127,18 @@ public class ChannelConsr { ...@@ -124,4 +127,18 @@ public class ChannelConsr {
} }
} }
/**
* 根据bookIds获取资源数
* @param bookIds
* @return
*/
public Integer getMessageCountByBookIds(List<Long> bookIds){
LOGGER.info("根据bookIds获取资源数,<START>.[bookIds]=" + bookIds.toString());
try {
return ResponseHandleUtil.parseResponse(messageService.getMessageCountByBookIds(bookIds), Integer.class);
} catch (Exception e) {
LOGGER.error("获取代理下已经审核通过的运营id.[getApproveIdList]:" + e.getMessage(), e);
throw new ChannelBizException(ChannelBizException.PARAM_IS_NULL, "运营不存在");
}
}
} }
package com.pcloud.book.keywords.biz; package com.pcloud.book.keywords.biz;
import com.pcloud.book.keywords.dto.SelfRobotBookRecordDTO;
import com.pcloud.book.keywords.entity.SelfRobotKeyword; import com.pcloud.book.keywords.entity.SelfRobotKeyword;
import com.pcloud.book.keywords.vo.GuideWordVO; import com.pcloud.book.keywords.vo.GuideWordVO;
import com.pcloud.book.keywords.vo.LabelVO; import com.pcloud.book.keywords.vo.LabelVO;
...@@ -38,4 +39,8 @@ public interface SelfRobotKeywordBiz { ...@@ -38,4 +39,8 @@ public interface SelfRobotKeywordBiz {
void sendWhenNoReply(Integer id, String robotId, String wxUserId); void sendWhenNoReply(Integer id, String robotId, String wxUserId);
List<SelfRobotKeyword> getListByBookGroupId(Long bookGroupId); List<SelfRobotKeyword> getListByBookGroupId(Long bookGroupId);
PageBeanNew<SelfRobotBookRecordDTO> getSelfRobotBookRecordList(Integer currentPage, Integer numPerPage);
void exportSelfRobotBookRecord(Long partyId);
} }
...@@ -5,11 +5,14 @@ import com.google.common.collect.Maps; ...@@ -5,11 +5,14 @@ import com.google.common.collect.Maps;
import com.pcloud.appcenter.app.dto.AppDto; import com.pcloud.appcenter.app.dto.AppDto;
import com.pcloud.book.base.exception.BookBizException; import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.book.biz.BookKeywordWarehouseBiz; import com.pcloud.book.book.biz.BookKeywordWarehouseBiz;
import com.pcloud.book.book.dao.BookDao;
import com.pcloud.book.book.dto.BookGuideDelayDto;
import com.pcloud.book.consumer.app.AppConsr; import com.pcloud.book.consumer.app.AppConsr;
import com.pcloud.book.consumer.channel.QrcodeSceneConsr; import com.pcloud.book.consumer.channel.QrcodeSceneConsr;
import com.pcloud.book.consumer.content.ResourceConsr; import com.pcloud.book.consumer.content.ResourceConsr;
import com.pcloud.book.consumer.live.LiveCons; import com.pcloud.book.consumer.live.LiveCons;
import com.pcloud.book.consumer.resource.ProductConsr; import com.pcloud.book.consumer.resource.ProductConsr;
import com.pcloud.book.consumer.user.ChannelConsr;
import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr; import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr;
import com.pcloud.book.group.biz.BookGroupAppBiz; import com.pcloud.book.group.biz.BookGroupAppBiz;
import com.pcloud.book.group.biz.BookGroupBiz; import com.pcloud.book.group.biz.BookGroupBiz;
...@@ -94,6 +97,7 @@ import org.springframework.util.CollectionUtils; ...@@ -94,6 +97,7 @@ import org.springframework.util.CollectionUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.net.URLEncoder;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
...@@ -170,6 +174,15 @@ public class BookKeywordBizImpl implements BookKeywordBiz { ...@@ -170,6 +174,15 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
@Autowired @Autowired
private SelfRobotKeywordReplyDao selfRobotKeywordReplyDao; private SelfRobotKeywordReplyDao selfRobotKeywordReplyDao;
@Autowired @Autowired
private BookDao bookDao;
@Autowired
private SelfRobotKeywordReplyTemplateDao selfRobotKeywordReplyTemplateDao;
@Autowired
private ChannelConsr channelConsr;
@Autowired
private SelfRobotBookRecordDao selfRobotBookRecordDao;
@Autowired
private ReadingActivityBiz readingActivityBiz; private ReadingActivityBiz readingActivityBiz;
@Autowired @Autowired
private NotKeywordTemplateDao notKeywordTemplateDao; private NotKeywordTemplateDao notKeywordTemplateDao;
...@@ -508,14 +521,101 @@ public class BookKeywordBizImpl implements BookKeywordBiz { ...@@ -508,14 +521,101 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
return; return;
} }
if (SendMessageTypeEnum.SELF.getCode().equals(sendTextDTO.getCode())) { if (SendMessageTypeEnum.SELF.getCode().equals(sendTextDTO.getCode())) {
dealBookGroupCipher(sendTextDTO); // 小睿对话索要出版社信息
//判断是否为某个群分类名称 boolean _continue = replySelfKeywordTemplate(sendTextDTO);
inviteToGroupByKeyword(sendTextDTO); if(_continue) {
//智能机器人新版个人号回复 dealBookGroupCipher(sendTextDTO);
dealSelfShortBookName(sendTextDTO); //判断是否为某个群分类名称
//回复关键词 inviteToGroupByKeyword(sendTextDTO);
replySelfKeyword(sendTextDTO); //智能机器人新版个人号回复
dealSelfShortBookName(sendTextDTO);
//回复关键词
replySelfKeyword(sendTextDTO);
}
}
}
@ParamLog("小睿根据书名推送匹配的资源")
private boolean replySelfKeywordTemplate(SendTextDTO sendTextDTO) {
String content = sendTextDTO.getTextContent();
String redisKey = "replySelfKeywordTemplate:"+sendTextDTO.getWxId()+":"+sendTextDTO.getWechatUserId();
List<SelfRobotKeywordReplyTemplate> replyTemplateList = selfRobotKeywordReplyTemplateDao.getList();
// 解析出《》的书名
Pattern pattern = Pattern.compile("《(.*?)》");
Matcher matcher = pattern.matcher(content);
// 如果匹配不到,在匹配出版社
if (!matcher.find() || matcher.group(1).trim().isEmpty()) {
// 解析出版社 出版社:
int index = content.indexOf("出版社:");
// 再匹配不到,直接返回,并走接下来的逻辑
if(index == -1) {
index = content.indexOf("出版社:");
if(index == -1)
return true;
}
String agentName = content.substring(index + 4);
if(StringUtil.isNotNull(agentName)){
// 从redis取出书名
String bookName = JedisClusterUtils.get(redisKey);
// 删掉书名
JedisClusterUtils.del(redisKey);
if(StringUtil.isNotNull(bookName)){
// 将书的信息录入
SelfRobotBookRecord selfRobotBookRecord = new SelfRobotBookRecord();
selfRobotBookRecord.setWxUserId(sendTextDTO.getWechatUserId());
selfRobotBookRecord.setAltId(sendTextDTO.getWxId());
selfRobotBookRecord.setBookName(bookName);
selfRobotBookRecord.setStatus(2);
selfRobotBookRecord.setAgentName(agentName);
selfRobotBookRecordDao.insert(selfRobotBookRecord);
}
Optional<SelfRobotKeywordReplyTemplate> replyTemplate = replyTemplateList.stream().filter(x -> x.getStatus().equals(2)).findFirst();
sendText(sendTextDTO, replyTemplate.get().getReplyContentTemplate());
}
}
String bookName = matcher.group(1).trim();
// 根据书名查询到 bookIds
List<Long> bookIds = bookDao.getBookIdsByBookName(bookName);
if(ListUtils.isEmpty(bookIds)){
// 将书名写入redis暂存
JedisClusterUtils.set(redisKey, bookName);
// 如果bookIds没有值,则回复模板状态3
// 呃,小睿刚才仔细的找了下,发现书刊的配套资源我这边还没有呢,要不等小睿看完整理好后再给你吧
Optional<SelfRobotKeywordReplyTemplate> replyTemplate = replyTemplateList.stream().filter(x -> x.getStatus().equals(3)).findFirst();
sendText(sendTextDTO, replyTemplate.get().getReplyContentTemplate().replace("${bookName}",bookName));
} else {
// 根据bookIds查询资源数;
Integer totalCount = channelConsr.getMessageCountByBookIds(bookIds);
if(totalCount > 0){
// 信息录入
SelfRobotBookRecord selfRobotBookRecord = new SelfRobotBookRecord();
selfRobotBookRecord.setWxUserId(sendTextDTO.getWechatUserId());
selfRobotBookRecord.setAltId(sendTextDTO.getWxId());
selfRobotBookRecord.setBookName(bookName);
selfRobotBookRecord.setStatus(3);
selfRobotBookRecordDao.insert(selfRobotBookRecord);
// 如果有书有资源,则转换链接,并推送链接给用户
Map<String,String> paramMap = new HashMap<>();
paramMap.put("wxId",sendTextDTO.getWechatUserId());
paramMap.put("robotWxId",sendTextDTO.getWxId());
paramMap.put("bookName",URLEncoder.encode(bookName));
Optional<SelfRobotKeywordReplyTemplate> replyTemplate = replyTemplateList.stream().filter(x -> x.getStatus().equals(4)).findFirst();
sendText(sendTextDTO,appendUrlParams(replyTemplate.get().getReplyContentTemplate(),paramMap));
} else{
// 信息录入
SelfRobotBookRecord selfRobotBookRecord = new SelfRobotBookRecord();
selfRobotBookRecord.setWxUserId(sendTextDTO.getWechatUserId());
selfRobotBookRecord.setAltId(sendTextDTO.getWxId());
selfRobotBookRecord.setBookName(bookName);
selfRobotBookRecord.setStatus(1);
selfRobotBookRecordDao.insert(selfRobotBookRecord);
// 如果有书但没有资源,则回复模板状态1
Optional<SelfRobotKeywordReplyTemplate> replyTemplate = replyTemplateList.stream().filter(x -> x.getStatus().equals(1)).findFirst();
sendText(sendTextDTO, replyTemplate.get().getReplyContentTemplate().replace("${bookName}",bookName));
}
} }
return false;
} }
@ParamLog("回复新版关键词") @ParamLog("回复新版关键词")
......
package com.pcloud.book.keywords.dao;
import com.pcloud.book.keywords.dto.SelfRobotBookRecordDTO;
import com.pcloud.book.keywords.entity.SelfRobotBookRecord;
import com.pcloud.common.core.dao.BaseDao;
import java.util.List;
public interface SelfRobotBookRecordDao extends BaseDao<SelfRobotBookRecord> {
List<SelfRobotBookRecordDTO> getAllSelfRobotBookRecordList();
}
package com.pcloud.book.keywords.dao;
import com.pcloud.book.keywords.entity.SelfRobotKeywordReplyTemplate;
import com.pcloud.common.core.dao.BaseDao;
import java.util.List;
/**
* @Description
* @Author zhengyongqiang
* @Date 2020/02/05 22:10
**/
public interface SelfRobotKeywordReplyTemplateDao extends BaseDao<SelfRobotKeywordReplyTemplate> {
List<SelfRobotKeywordReplyTemplate> getList();
}
package com.pcloud.book.keywords.dao.impl;
import com.pcloud.book.keywords.dao.SelfRobotBookRecordDao;
import com.pcloud.book.keywords.dto.SelfRobotBookRecordDTO;
import com.pcloud.book.keywords.entity.SelfRobotBookRecord;
import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository("selfRobotBookRecordDao")
public class SelfRobotBookRecordDaoImpl extends BaseDaoImpl<SelfRobotBookRecord> implements SelfRobotBookRecordDao {
@Override
public List<SelfRobotBookRecordDTO> getAllSelfRobotBookRecordList() {
return getSqlSession().selectList(getStatement("getAllSelfRobotBookRecordList"));
}
}
package com.pcloud.book.keywords.dao.impl;
import com.pcloud.book.keywords.dao.SelfRobotKeywordReplyTemplateDao;
import com.pcloud.book.keywords.entity.SelfRobotKeywordReplyTemplate;
import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @Description
* @Author zhengyongqiang
* @Date 2020/02/05 23:59
**/
@Component("selfRobotKeywordReplyTemplateDao")
public class SelfRobotKeywordReplyTemplateDaoImpl extends BaseDaoImpl<SelfRobotKeywordReplyTemplate> implements SelfRobotKeywordReplyTemplateDao {
@Override
public List<SelfRobotKeywordReplyTemplate> getList() {
return getSessionTemplate().selectList(getStatement("getList"));
}
}
package com.pcloud.book.keywords.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @Description
* @Author zhengyongqiang
* @Date 2020/02/06 12:10
**/
@Data
public class SelfRobotBookRecordDTO {
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("社群码id")
private Long bookGroupId;
@ApiModelProperty("用户id")
private String wxUserId;
@ApiModelProperty("机器人id")
private String altId;
@ApiModelProperty("书名")
private String bookName;
@ApiModelProperty("出版社名称")
private String agentName;
@ApiModelProperty("状态")
private Integer status;
@ApiModelProperty("头像")
private String headPic;
@ApiModelProperty("昵称")
private String nickName;
@ApiModelProperty("性别")
private Integer sex;
@ApiModelProperty("创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;
}
package com.pcloud.book.keywords.entity;
import com.pcloud.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Description
* @Author zhengyongqiang
* @Date 2020/02/06 12:10
**/
@Data
@ApiModel("个人号关键词回复模板")
public class SelfRobotBookRecord extends BaseEntity {
private static final long serialVersionUID = 982575139118784017L;
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("社群码id")
private Long bookGroupId;
@ApiModelProperty("用户id")
private String wxUserId;
@ApiModelProperty("机器人id")
private String altId;
@ApiModelProperty("书名")
private String bookName;
@ApiModelProperty("出版社名称")
private String agentName;
@ApiModelProperty("状态")
private Integer status;
}
package com.pcloud.book.keywords.entity;
import com.pcloud.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Description
* @Author zhengyongqiang
* @Date 2020/02/05 22:10
**/
@Data
@ApiModel("个人号关键词回复模板")
public class SelfRobotKeywordReplyTemplate extends BaseEntity {
@ApiModelProperty("id")
private Long id;
@ApiModelProperty("内容")
private String replyContentTemplate;
@ApiModelProperty("状态")
private Integer status;
}
...@@ -121,4 +121,16 @@ public interface SelfRobotKeywordFacade { ...@@ -121,4 +121,16 @@ public interface SelfRobotKeywordFacade {
@ApiOperation(value = "用户点击引导语未操作时,主动回复", httpMethod = "GET") @ApiOperation(value = "用户点击引导语未操作时,主动回复", httpMethod = "GET")
@GetMapping("sendWhenNoReply") @GetMapping("sendWhenNoReply")
ResponseDto<?> sendWhenNoReply(Integer id, String robotId, String wxUserId); ResponseDto<?> sendWhenNoReply(Integer id, String robotId, String wxUserId);
@ApiOperation("获取个人号图书信息记录列表")
@GetMapping("getSelfRobotBookRecordList")
ResponseDto<?> getSelfRobotBookRecordList(
@RequestHeader("token") String token,
@RequestParam("currentPage") Integer currentPage,
@RequestParam("numPerPage") Integer numPerPage
) throws BizException, PermissionException;
@ApiOperation("书刊信息收录导出")
@GetMapping("exportSelfRobotBookRecord")
ResponseDto<?> exportSelfRobotBookRecord(@RequestHeader("token") String token) throws BizException, PermissionException;
} }
...@@ -184,4 +184,19 @@ public class SelfRobotKeywordFacadeImpl implements SelfRobotKeywordFacade { ...@@ -184,4 +184,19 @@ public class SelfRobotKeywordFacadeImpl implements SelfRobotKeywordFacade {
return new ResponseDto<>(); return new ResponseDto<>();
} }
@Override
public ResponseDto<?> getSelfRobotBookRecordList(@RequestHeader("token") String token,
@RequestParam("currentPage") Integer currentPage,
@RequestParam("numPerPage") Integer numPerPage
) throws BizException, PermissionException {
SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
return new ResponseDto<>(selfRobotKeywordBiz.getSelfRobotBookRecordList(currentPage,numPerPage));
}
@Override
public ResponseDto<?> exportSelfRobotBookRecord(@RequestHeader("token") String token) throws BizException, PermissionException {
Long partyId = (Long)SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
selfRobotKeywordBiz.exportSelfRobotBookRecord(partyId);
return new ResponseDto<>();
}
} }
...@@ -2013,4 +2013,14 @@ ...@@ -2013,4 +2013,14 @@
BF.BOOK_FUND_ID IS NOT NULL BF.BOOK_FUND_ID IS NOT NULL
</if> </if>
</select> </select>
<select id="getBookIdsByBookName" parameterType="map" resultType="long">
SELECT DISTINCT a.BOOK_ID
FROM
book_adviser a
INNER JOIN book b ON a.BOOK_ID = b.BOOK_ID AND a.IS_DELETE = 0 AND b.IS_DELETE = 0
WHERE
b.BOOK_NAME LIKE CONCAT('%',#{bookName},'%')
LIMIT 0,50
</select>
</mapper> </mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd" >
<mapper namespace="com.pcloud.book.keywords.dao.impl.SelfRobotBookRecordDaoImpl">
<resultMap id="BaseResultMap" type="com.pcloud.book.keywords.entity.SelfRobotBookRecord">
<id column="id" property="id" jdbcType="BIGINT"/>
<result column="book_group_id" property="bookGroupId" jdbcType="BIGINT"/>
<result column="wx_user_id" property="wxUserId" jdbcType="VARCHAR"/>
<result column="alt_id" property="altId" jdbcType="VARCHAR"/>
<result column="book_name" property="bookName" jdbcType="VARCHAR"/>
<result column="agent_name" property="agentName" jdbcType="VARCHAR"/>
<result column="status" property="status" jdbcType="INTEGER"/>
<result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
id, book_group_id, wx_user_id, alt_id, book_name, agent_name, status, create_time
</sql>
<insert id="insert" parameterType="com.pcloud.book.keywords.entity.SelfRobotBookRecord" useGeneratedKeys="true"
keyProperty="id">
insert into self_robot_book_record
<trim prefix="(" suffix=")" suffixOverrides=",">
book_group_id,
wx_user_id,
alt_id,
book_name,
agent_name,
status,
create_time
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
#{bookGroupId,jdbcType=BIGINT},
#{wxUserId,jdbcType=VARCHAR},
#{altId,jdbcType=VARCHAR},
#{bookName,jdbcType=VARCHAR},
#{agentName,jdbcType=VARCHAR},
#{status,jdbcType=INTEGER},
NOW()
</trim>
</insert>
<select id="getSelfRobotBookRecordList" resultType="com.pcloud.book.keywords.dto.SelfRobotBookRecordDTO">
SELECT id,book_group_id bookGroupId,wx_user_id wxUserId,alt_id altId,book_name bookName,agent_name agentName, status, create_time createTime
FROM self_robot_book_record
ORDER BY id DESC
</select>
<select id="getAllSelfRobotBookRecordList" resultType="com.pcloud.book.keywords.dto.SelfRobotBookRecordDTO">
SELECT id,book_group_id bookGroupId,wx_user_id wxUserId,alt_id altId,book_name bookName,agent_name agentName, status, create_time createTime
FROM self_robot_book_record
ORDER BY id DESC
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd" >
<mapper namespace="com.pcloud.book.keywords.dao.impl.SelfRobotKeywordReplyTemplateDaoImpl">
<resultMap id="BaseResultMap" type="com.pcloud.book.keywords.entity.SelfRobotKeywordReplyTemplate">
<id column="id" property="id" jdbcType="BIGINT"/>
<result column="reply_content_template" property="replyContentTemplate" jdbcType="VARCHAR"/>
<result column="status" property="status" jdbcType="INTEGER"/>
</resultMap>
<sql id="Base_Column_List">
id, reply_content_template, status
</sql>
<select id="getList" resultMap="BaseResultMap">
select <include refid="Base_Column_List"/>
from self_robot_keyword_reply_template
</select>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment