Commit c63ce39d by 裴大威

fix 处理多个分类加一个机器人时关键词回复和暗号消息识别

parent ae1652f2
...@@ -271,5 +271,5 @@ public interface BookGroupBiz { ...@@ -271,5 +271,5 @@ public interface BookGroupBiz {
/** /**
* 根据微信id和机器人id获取分类集合 * 根据微信id和机器人id获取分类集合
*/ */
List<Long> getClassifyIdsByWxIdAndAltId(String wxId,String altId); List<JoinGroupCipherDTO> getClassifyIdsByWxIdAndAltId(String wxId,String altId);
} }
...@@ -106,6 +106,11 @@ public interface BookGroupClassifyBiz { ...@@ -106,6 +106,11 @@ public interface BookGroupClassifyBiz {
List<ListClassify4WechatVO> listClassify4Wechat(Long bookGroupId, Long wechatUserId); List<ListClassify4WechatVO> listClassify4Wechat(Long bookGroupId, Long wechatUserId);
/** /**
* 批量获取分类信息
*/
List<GroupClassifyQrcodeDTO> listClassifyQrcodeInfo(List<Long> classifyIds);
/**
* @Author:lili * @Author:lili
* @Desr:客户端根据群分类获取二维码 * @Desr:客户端根据群分类获取二维码
* @Date:2019/4/29 17:21 * @Date:2019/4/29 17:21
......
package com.pcloud.book.group.biz.impl; package com.pcloud.book.group.biz.impl;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.pcloud.appcenter.app.dto.AppDto; import com.pcloud.appcenter.app.dto.AppDto;
import com.pcloud.appcenter.base.dto.AppPriceCacheDTO; import com.pcloud.appcenter.base.dto.AppPriceCacheDTO;
...@@ -75,6 +77,7 @@ import org.springframework.beans.factory.annotation.Value; ...@@ -75,6 +77,7 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -1177,15 +1180,12 @@ public class BookGroupBizImpl implements BookGroupBiz { ...@@ -1177,15 +1180,12 @@ public class BookGroupBizImpl implements BookGroupBiz {
@ParamLog("根据微信id和机器人id获取分类集合") @ParamLog("根据微信id和机器人id获取分类集合")
@Override @Override
public List<Long> getClassifyIdsByWxIdAndAltId(String wxId, String altId) { public List<JoinGroupCipherDTO> getClassifyIdsByWxIdAndAltId(String wxId, String altId) {
if (StringUtil.isEmpty(wxId) || StringUtil.isEmpty(altId)) { if (StringUtil.isEmpty(wxId) || StringUtil.isEmpty(altId)) {
return new ArrayList<>(); return new ArrayList<>();
} }
List<Long> list = joinGroupCipherDao.getClassifyIdsByWxIdAndAltId(wxId, altId); List<JoinGroupCipherDTO> list = joinGroupCipherDao.getClassifyIdsByWxIdAndAltId(wxId, altId);
if (list == null) { return CollectionUtils.isEmpty(list) ? Lists.newArrayList() : list;
return new ArrayList<>();
}
return list;
} }
} }
...@@ -430,6 +430,12 @@ public class BookGroupClassifyBizImpl implements BookGroupClassifyBiz { ...@@ -430,6 +430,12 @@ public class BookGroupClassifyBizImpl implements BookGroupClassifyBiz {
} }
@Override @Override
@ParamLog("获取分类二维码相关标识")
public List<GroupClassifyQrcodeDTO> listClassifyQrcodeInfo(List<Long> classifyIds) {
return bookGroupClassifyDao.listClassifyQrcodeInfo(classifyIds);
}
@Override
@ParamLog("客户端获取分类信息") @ParamLog("客户端获取分类信息")
public List<ListClassify4WechatVO> listClassify4Wechat(Long bookGroupId, Long wechatUserId) { public List<ListClassify4WechatVO> listClassify4Wechat(Long bookGroupId, Long wechatUserId) {
//获取排序方式 //获取排序方式
......
...@@ -132,6 +132,11 @@ public interface BookGroupClassifyDao extends BaseDao<BookGroupClassify> { ...@@ -132,6 +132,11 @@ public interface BookGroupClassifyDao extends BaseDao<BookGroupClassify> {
GroupClassifyQrcodeDTO getClassifyQrcodeInfo(String weixinGroupId); GroupClassifyQrcodeDTO getClassifyQrcodeInfo(String weixinGroupId);
/** /**
* 批量获取分类信息
*/
List<GroupClassifyQrcodeDTO> listClassifyQrcodeInfo(List<Long> classifyIds);
/**
* @Author:lili * @Author:lili
* @Desr:获取所有的分类 * @Desr:获取所有的分类
* @Date:2019/4/29 11:23 * @Date:2019/4/29 11:23
......
package com.pcloud.book.group.dao; package com.pcloud.book.group.dao;
import com.pcloud.book.group.dto.JoinGroupCiperDTO; import com.pcloud.book.group.dto.JoinGroupCipherDTO;
import com.pcloud.book.group.entity.JoinGroupCipher; import com.pcloud.book.group.entity.JoinGroupCipher;
import com.pcloud.common.core.dao.BaseDao; import com.pcloud.common.core.dao.BaseDao;
...@@ -11,9 +11,9 @@ public interface JoinGroupCipherDao extends BaseDao<JoinGroupCipher> { ...@@ -11,9 +11,9 @@ public interface JoinGroupCipherDao extends BaseDao<JoinGroupCipher> {
JoinGroupCipher getByCipher(String cipher); JoinGroupCipher getByCipher(String cipher);
JoinGroupCiperDTO getDTOByCipher(String cipher); JoinGroupCipherDTO getDTOByCipher(String cipher);
void updateCipherStateToUsed(String cipher, String wxId); void updateCipherStateToUsed(String cipher, String wxId);
List<Long> getClassifyIdsByWxIdAndAltId(String wxId, String altId); List<JoinGroupCipherDTO> getClassifyIdsByWxIdAndAltId(String wxId, String altId);
} }
...@@ -110,6 +110,11 @@ public class BookGroupClassifyDaoImpl extends BaseDaoImpl<BookGroupClassify> imp ...@@ -110,6 +110,11 @@ public class BookGroupClassifyDaoImpl extends BaseDaoImpl<BookGroupClassify> imp
} }
@Override @Override
public List<GroupClassifyQrcodeDTO> listClassifyQrcodeInfo(List<Long> classifyIds) {
return this.getSqlSession().selectList(this.getStatement("listClassifyQrcodeInfo"), classifyIds);
}
@Override
public List<ListClassify4WechatVO> listClassify4Wechat(Long bookGroupId, Integer rankType) { public List<ListClassify4WechatVO> listClassify4Wechat(Long bookGroupId, Integer rankType) {
Map<String, Object> paramMap = new HashMap(); Map<String, Object> paramMap = new HashMap();
paramMap.put("bookGroupId", bookGroupId); paramMap.put("bookGroupId", bookGroupId);
......
package com.pcloud.book.group.dao.impl; package com.pcloud.book.group.dao.impl;
import com.pcloud.book.group.dao.JoinGroupCipherDao; import com.pcloud.book.group.dao.JoinGroupCipherDao;
import com.pcloud.book.group.dto.JoinGroupCiperDTO; import com.pcloud.book.group.dto.JoinGroupCipherDTO;
import com.pcloud.book.group.entity.JoinGroupCipher; import com.pcloud.book.group.entity.JoinGroupCipher;
import com.pcloud.common.core.dao.BaseDaoImpl; import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -31,7 +31,7 @@ public class JoinGroupCipherDaoImpl extends BaseDaoImpl<JoinGroupCipher> impleme ...@@ -31,7 +31,7 @@ public class JoinGroupCipherDaoImpl extends BaseDaoImpl<JoinGroupCipher> impleme
} }
@Override @Override
public JoinGroupCiperDTO getDTOByCipher(String cipher) { public JoinGroupCipherDTO getDTOByCipher(String cipher) {
return this.getSqlSession().selectOne(this.getStatement("getDTOByCipher"), cipher); return this.getSqlSession().selectOne(this.getStatement("getDTOByCipher"), cipher);
} }
...@@ -44,7 +44,7 @@ public class JoinGroupCipherDaoImpl extends BaseDaoImpl<JoinGroupCipher> impleme ...@@ -44,7 +44,7 @@ public class JoinGroupCipherDaoImpl extends BaseDaoImpl<JoinGroupCipher> impleme
} }
@Override @Override
public List<Long> getClassifyIdsByWxIdAndAltId(String wxId, String altId) { public List<JoinGroupCipherDTO> getClassifyIdsByWxIdAndAltId(String wxId, String altId) {
Map<String,Object> map=new HashMap<>(); Map<String,Object> map=new HashMap<>();
map.put("wxId",wxId); map.put("wxId",wxId);
map.put("altId",altId); map.put("altId",altId);
......
...@@ -3,7 +3,7 @@ package com.pcloud.book.group.dto; ...@@ -3,7 +3,7 @@ package com.pcloud.book.group.dto;
import lombok.Data; import lombok.Data;
@Data @Data
public class JoinGroupCiperDTO { public class JoinGroupCipherDTO {
private String cipher; private String cipher;
......
...@@ -202,10 +202,11 @@ public class SendWeixinRequestTools { ...@@ -202,10 +202,11 @@ public class SendWeixinRequestTools {
if (StringUtil.isEmpty(url)) { if (StringUtil.isEmpty(url)) {
return url; return url;
} }
final String s = "qrcode_id=" + groupQrcodeId + "&classify_id=" + classifyId + (null == bookGroupId ? "" : "&book_group_id=" + bookGroupId);
if (url.contains("?")) { if (url.contains("?")) {
url = url + "&qrcode_id=" + groupQrcodeId + "&classify_id=" + classifyId + "&book_group_id=" + bookGroupId; url = url + "&" + s;
} else { } else {
url = url + "?qrcode_id=" + groupQrcodeId + "&classify_id=" + classifyId + "&book_group_id=" + bookGroupId; url = url + "?" + s;
} }
return url; return url;
} }
......
...@@ -16,13 +16,12 @@ import com.pcloud.book.group.dao.GroupQrcodeDao; ...@@ -16,13 +16,12 @@ import com.pcloud.book.group.dao.GroupQrcodeDao;
import com.pcloud.book.group.dao.JoinGroupCipherDao; import com.pcloud.book.group.dao.JoinGroupCipherDao;
import com.pcloud.book.group.dto.BookGroupDTO; import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.dto.GroupClassifyQrcodeDTO; import com.pcloud.book.group.dto.GroupClassifyQrcodeDTO;
import com.pcloud.book.group.dto.JoinGroupCiperDTO; import com.pcloud.book.group.dto.JoinGroupCipherDTO;
import com.pcloud.book.group.dto.PushAddUserMessageDTO; import com.pcloud.book.group.dto.PushAddUserMessageDTO;
import com.pcloud.book.group.entity.AppTouchRecord; import com.pcloud.book.group.entity.AppTouchRecord;
import com.pcloud.book.group.entity.GroupQrcode; import com.pcloud.book.group.entity.GroupQrcode;
import com.pcloud.book.group.enums.TouchTypeEnum; import com.pcloud.book.group.enums.TouchTypeEnum;
import com.pcloud.book.group.tools.SendWeixinRequestTools; import com.pcloud.book.group.tools.SendWeixinRequestTools;
import com.pcloud.book.group.vo.GroupQrcode4ClassifyVO;
import com.pcloud.book.group.vo.GroupQrcodeBaseInfoVO; import com.pcloud.book.group.vo.GroupQrcodeBaseInfoVO;
import com.pcloud.book.keywords.biz.BookGuideBiz; import com.pcloud.book.keywords.biz.BookGuideBiz;
import com.pcloud.book.keywords.biz.BookKeywordBiz; import com.pcloud.book.keywords.biz.BookKeywordBiz;
...@@ -40,8 +39,6 @@ import com.pcloud.book.keywords.vo.UpdateGuideVO; ...@@ -40,8 +39,6 @@ import com.pcloud.book.keywords.vo.UpdateGuideVO;
import com.pcloud.channelcenter.wechat.dto.AccountSettingDto; import com.pcloud.channelcenter.wechat.dto.AccountSettingDto;
import com.pcloud.common.core.aspect.ParamLog; import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.utils.ListUtils; import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.UUIDUitl;
import com.pcloud.common.utils.rsa.AESCodec;
import com.pcloud.common.utils.string.StringUtil; import com.pcloud.common.utils.string.StringUtil;
import com.pcloud.wechatgroup.message.dto.AgreeAddUserDTO; import com.pcloud.wechatgroup.message.dto.AgreeAddUserDTO;
import com.sdk.wxgroup.AddToGroupVO; import com.sdk.wxgroup.AddToGroupVO;
...@@ -122,13 +119,13 @@ public class BookGuideBizImpl implements BookGuideBiz { ...@@ -122,13 +119,13 @@ public class BookGuideBizImpl implements BookGuideBiz {
log.info("[同意加好友发送欢迎语] : {}", vo); log.info("[同意加好友发送欢迎语] : {}", vo);
WxGroupSDK.sendTextMessage(vo); WxGroupSDK.sendTextMessage(vo);
// 根据暗号获取分类id和bookGroupId推送关键词欢迎语 // 根据暗号获取分类id和bookGroupId推送关键词欢迎语
final JoinGroupCiperDTO dto = joinGroupCipherDao.getDTOByCipher(cipher); final JoinGroupCipherDTO dto = joinGroupCipherDao.getDTOByCipher(cipher);
List<KeywordDTO> keywords = bookKeywordBiz.listFiveKeyword(dto.getClassifyId(), dto.getBookGroupId()); List<KeywordDTO> keywords = bookKeywordBiz.listFiveKeyword(dto.getClassifyId(), dto.getBookGroupId());
SendWeixinRequestTools.sendKeywordsInfo(keywords, agreeAddUserDTO.getRobotWxId(), agreeAddUserDTO.getUserWxId(), agreeAddUserDTO.getIp()); SendWeixinRequestTools.sendKeywordsInfo(keywords, agreeAddUserDTO.getRobotWxId(), agreeAddUserDTO.getUserWxId(), agreeAddUserDTO.getIp());
// 拉群 // 拉群
final String wxGroupId = bookGroupClassifyBiz.getWxGroupIdByClassifyIdAndWechatId(dto.getClassifyId(), dto.getWechatUserId()); final String wxGroupId = bookGroupClassifyBiz.getWxGroupIdByClassifyIdAndWechatId(dto.getClassifyId(), dto.getWechatUserId());
if (StringUtil.isBlank(wxGroupId)) { if (StringUtil.isBlank(wxGroupId)) {
log.info("[同意加好友发送欢迎语] 拉群 没有找到群 bookGroupClassifyBiz.getGroupQrcode4ClassifyWechat JoinGroupCiperDTO :{}", dto); log.info("[同意加好友发送欢迎语] 拉群 没有找到群 bookGroupClassifyBiz.getGroupQrcode4ClassifyWechat JoinGroupCipherDTO :{}", dto);
return; return;
} }
AddToGroupVO vo1 = new AddToGroupVO(); AddToGroupVO vo1 = new AddToGroupVO();
...@@ -280,7 +277,7 @@ public class BookGuideBizImpl implements BookGuideBiz { ...@@ -280,7 +277,7 @@ public class BookGuideBizImpl implements BookGuideBiz {
log.info("[推送欢迎语消息]:pushAddUserMessageDTO:{},kickUser:{}", pushAddUserMessageDTO, kickUser); log.info("[推送欢迎语消息]:pushAddUserMessageDTO:{},kickUser:{}", pushAddUserMessageDTO, kickUser);
// 在群,且非黑名单 // 在群,且非黑名单
// canSend = canSend && !kickUser; // canSend = canSend && !kickUser;
if (kickUser) { if (null != kickUser && kickUser) {
log.info("[推送欢迎语消息]:不推送"); log.info("[推送欢迎语消息]:不推送");
return; return;
} }
......
...@@ -52,6 +52,11 @@ public interface BookKeywordDao extends BaseDao<BookKeyword> { ...@@ -52,6 +52,11 @@ public interface BookKeywordDao extends BaseDao<BookKeyword> {
ReplyKeywordDTO getKeywordId(Long classifyId, Long bookGroupId, String content); ReplyKeywordDTO getKeywordId(Long classifyId, Long bookGroupId, String content);
/** /**
* 根据分类ids和群ids批量获取关键词
*/
List<ReplyKeywordDTO> getKeywordIds(List<Long> classifyIds, List<Long> bookGroupIds, String content);
/**
* @Author:lili * @Author:lili
* @Desr:校验关键词 * @Desr:校验关键词
* @Date:2019/5/6 14:47 * @Date:2019/5/6 14:47
......
package com.pcloud.book.keywords.dao.impl; package com.pcloud.book.keywords.dao.impl;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.pcloud.book.group.vo.SyncKeyworsVO; import com.pcloud.book.group.vo.SyncKeyworsVO;
...@@ -12,10 +13,14 @@ import com.pcloud.book.keywords.vo.ListKeywordVO; ...@@ -12,10 +13,14 @@ import com.pcloud.book.keywords.vo.ListKeywordVO;
import com.pcloud.common.core.dao.BaseDaoImpl; import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collector;
import java.util.stream.Collectors;
/** /**
* @author lily * @author lily
...@@ -62,6 +67,18 @@ public class BookKeywordDaoImpl extends BaseDaoImpl<BookKeyword> implements Book ...@@ -62,6 +67,18 @@ public class BookKeywordDaoImpl extends BaseDaoImpl<BookKeyword> implements Book
} }
@Override @Override
public List<ReplyKeywordDTO> getKeywordIds(List<Long> classifyIds, List<Long> bookGroupIds, String content) {
if (CollectionUtils.isEmpty(classifyIds) || CollectionUtils.isEmpty(bookGroupIds) || StringUtils.isEmpty(content)) {
return Lists.newArrayList();
}
Map<String, Object> paramMap = Maps.newHashMap();
paramMap.put("classifyId", classifyIds.stream().map(Object::toString).collect(Collectors.joining(",")));
paramMap.put("bookGroupId", bookGroupIds.stream().map(Object::toString).collect(Collectors.joining(",")));
paramMap.put("content", content);
return this.getSqlSession().selectList(this.getStatement("getKeywordIds"), paramMap);
}
@Override
public Boolean checkKeyword(String keywords, Long classifyId, Long bookGroupId, Long keywordId) { public Boolean checkKeyword(String keywords, Long classifyId, Long bookGroupId, Long keywordId) {
Map<String, Object> paramMap = new HashMap<>(); Map<String, Object> paramMap = new HashMap<>();
paramMap.put("classifyId", classifyId); paramMap.put("classifyId", classifyId);
......
...@@ -27,6 +27,12 @@ public class ReplyKeywordDTO implements Serializable { ...@@ -27,6 +27,12 @@ public class ReplyKeywordDTO implements Serializable {
@ApiModelProperty("仓库关键词id") @ApiModelProperty("仓库关键词id")
private Long warehouseId; private Long warehouseId;
@ApiModelProperty("分类id")
private Long classifyId;
@ApiModelProperty("群id")
private Long bookGroupId;
@ApiModelProperty("内容") @ApiModelProperty("内容")
private String content; private String content;
......
...@@ -58,7 +58,7 @@ public class WxGroupSendTextListener { ...@@ -58,7 +58,7 @@ public class WxGroupSendTextListener {
List<String> allRobotWxIds = wechatGroupConsr.listAllRobotWxId(); List<String> allRobotWxIds = wechatGroupConsr.listAllRobotWxId();
if (!ListUtils.isEmpty(allRobotWxIds) && !allRobotWxIds.contains(wechatUserId) && !StringUtil.isEmpty(sendTextDTO.getTextContent())) { if (!ListUtils.isEmpty(allRobotWxIds) && !allRobotWxIds.contains(wechatUserId) && !StringUtil.isEmpty(sendTextDTO.getTextContent())) {
BookClockInfoDTO bookClockInfoDTO = bookClockCheck.checkKeywordIsClock(sendTextDTO.getTextContent().trim(), sendTextDTO.getWechatGroupId()); BookClockInfoDTO bookClockInfoDTO = bookClockCheck.checkKeywordIsClock(sendTextDTO.getTextContent().trim(), sendTextDTO.getWechatGroupId());
if(null != bookClockInfoDTO){ if(null != bookClockInfoDTO && SendMessageTypeEnum.GROUP.getCode().equals(sendTextDTO.getCode())){
bookClockKeywordBiz.sendKeywordMessage(bookClockInfoDTO, wechatUserId,sendTextDTO.getWechatGroupId(),sendTextDTO.getWxId(),sendTextDTO.getIp()); bookClockKeywordBiz.sendKeywordMessage(bookClockInfoDTO, wechatUserId,sendTextDTO.getWechatGroupId(),sendTextDTO.getWxId(),sendTextDTO.getIp());
} else{ } else{
final long l = System.currentTimeMillis(); final long l = System.currentTimeMillis();
......
...@@ -316,6 +316,24 @@ ...@@ -316,6 +316,24 @@
and q.weixin_group_id = #{_parameter} limit 1 and q.weixin_group_id = #{_parameter} limit 1
</select> </select>
<select id="listClassifyQrcodeInfo" resultType="GroupClassifyQrcodeDTO" parameterType="list">
select
c.id classifyId,
c.create_user adviserId,
c.book_id bookId,
c.channel_id channelId,
c.book_group_id bookGroupId,
c.price price,
c.has_open_learning_report hasOpenLearningReport
from
book_group_classify c
and c.id in
<foreach collection="classifyIds" open="(" separator="," close=")" item="item">
#{item}
</foreach>
limit 1
</select>
<select id="listClassify4Wechat" resultType="ListClassify4WechatVO" parameterType="map"> <select id="listClassify4Wechat" resultType="ListClassify4WechatVO" parameterType="map">
SELECT SELECT
......
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
</select> </select>
<!--根据暗号获取包含bookGroupId--> <!--根据暗号获取包含bookGroupId-->
<select id="getDTOByCipher" parameterType="String" resultType="com.pcloud.book.group.dto.JoinGroupCiperDTO"> <select id="getDTOByCipher" parameterType="String" resultType="com.pcloud.book.group.dto.JoinGroupCipherDTO">
select select
a.id, cipher, a.classify_id as classifyId, a.wechat_user_id as wechatUserId, a.wx_id as wxId, a.id, cipher, a.classify_id as classifyId, a.wechat_user_id as wechatUserId, a.wx_id as wxId,
a.has_used as hasUsed, b.book_group_id as bookGroupId a.has_used as hasUsed, b.book_group_id as bookGroupId
...@@ -70,10 +70,11 @@ ...@@ -70,10 +70,11 @@
</update> </update>
<!--根据微信id和机器人id获取分类集合--> <!--根据微信id和机器人id获取分类集合-->
<select id="getClassifyIdsByWxIdAndAltId" parameterType="map" resultType="long"> <select id="getClassifyIdsByWxIdAndAltId" parameterType="map" resultType="com.pcloud.book.group.dto.JoinGroupCipherDTO">
select classify_id from join_group_cipher where select a.classify_id as classifyId, b.book_group_id as bookGroupId from join_group_cipher a
has_used=1 left join book_group_classify b on a.classify_id = b.id where
and alt_id=#{altId} a.has_used=1
and wx_id=#{wxId} and a.alt_id=#{altId}
and a.wx_id=#{wxId}
</select> </select>
</mapper> </mapper>
\ No newline at end of file
...@@ -177,6 +177,33 @@ ...@@ -177,6 +177,33 @@
order by set_type desc, matching_rule desc, bk.id desc limit 1 order by set_type desc, matching_rule desc, bk.id desc limit 1
</select> </select>
<select id="getKeywordIds" resultType="ReplyKeywordDTO" parameterType="map">
SELECT
k.id keywordId,
k.keywords,
k.reply_type replyType,
k.content,
k.description,
k.link_url linkUrl,
k.pic_url picUrl,
bk.is_warehouse as isWarehouse,
bk.warehouse_id as warehouseId,
bk.classify_id as classifyId,
bk.book_group_id as bookGroupId,
k.reply_type replyType
FROM
book_keyword bk
JOIN
keyword k ON bk.keyword_id = k.id
WHERE
bk.is_delete = 0 AND k.is_delete = 0
AND classify_id in (0, ${classifyId})
AND book_group_id in (${bookGroupId})
AND ((k.keywords = #{content} and matching_rule = 1 ) or (k.keywords like
concat('%',#{content},'%') and matching_rule = 0))
order by set_type desc, matching_rule desc, bk.id desc
</select>
<select id="checkKeyword" resultType="Boolean" parameterType="map"> <select id="checkKeyword" resultType="Boolean" parameterType="map">
SELECT SELECT
count(1) count(1)
......
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