Commit 642ff87c by 裴大威

Merge branch 'feature/zcy' into 'master'

add facade

See merge request rays/pcloud-book!34
parents 2ac958a6 4ad3fc68
...@@ -48,6 +48,8 @@ public class GroupClassifyQrcodeDTO implements Serializable { ...@@ -48,6 +48,8 @@ public class GroupClassifyQrcodeDTO implements Serializable {
*/ */
private BigDecimal price; private BigDecimal price;
private String qrCodeUrl;
public Long getBookId() { public Long getBookId() {
return bookId; return bookId;
} }
...@@ -112,6 +114,14 @@ public class GroupClassifyQrcodeDTO implements Serializable { ...@@ -112,6 +114,14 @@ public class GroupClassifyQrcodeDTO implements Serializable {
this.price = price; this.price = price;
} }
public String getQrCodeUrl() {
return qrCodeUrl;
}
public void setQrCodeUrl(String qrCodeUrl) {
this.qrCodeUrl = qrCodeUrl;
}
@Override @Override
public String toString() { public String toString() {
return "GroupClassifyQrcodeDTO{" + return "GroupClassifyQrcodeDTO{" +
......
package com.pcloud.book.group.dao; package com.pcloud.book.group.dao;
import com.pcloud.book.group.dto.BookGroupStatisticDTO; import com.pcloud.book.group.dto.*;
import com.pcloud.book.group.dto.ClassifyDTO;
import com.pcloud.book.group.dto.GroupClassifyQrcodeDTO;
import com.pcloud.book.group.dto.GroupNameAndMaxSeqDTO;
import com.pcloud.book.group.dto.GroupQrcodeBaseDTO;
import com.pcloud.book.group.dto.ProAssocGroupAndUserNumberDTO;
import com.pcloud.book.group.entity.BookGroupClassify; import com.pcloud.book.group.entity.BookGroupClassify;
import com.pcloud.book.group.vo.BookGroupQrcodeStatisticVO; import com.pcloud.book.group.vo.BookGroupQrcodeStatisticVO;
import com.pcloud.book.group.vo.ClassifyNameVO; import com.pcloud.book.group.vo.ClassifyNameVO;
...@@ -219,4 +214,5 @@ public interface BookGroupClassifyDao extends BaseDao<BookGroupClassify> { ...@@ -219,4 +214,5 @@ public interface BookGroupClassifyDao extends BaseDao<BookGroupClassify> {
* @return * @return
*/ */
List<ClassifyDTO> getNameWithBookClockInfoIdByIds(Map<String,Object> paramMap); List<ClassifyDTO> getNameWithBookClockInfoIdByIds(Map<String,Object> paramMap);
GroupClassifyQrcodeDTO getClassifyQrcodeInfoByName(String weixinGroupName);
} }
package com.pcloud.book.group.dao.impl; package com.pcloud.book.group.dao.impl;
import com.pcloud.book.group.dao.BookGroupClassifyDao; import com.pcloud.book.group.dao.BookGroupClassifyDao;
import com.pcloud.book.group.dto.BookGroupStatisticDTO; import com.pcloud.book.group.dto.*;
import com.pcloud.book.group.dto.ClassifyDTO;
import com.pcloud.book.group.dto.GroupClassifyQrcodeDTO;
import com.pcloud.book.group.dto.GroupNameAndMaxSeqDTO;
import com.pcloud.book.group.dto.GroupQrcodeBaseDTO;
import com.pcloud.book.group.dto.ProAssocGroupAndUserNumberDTO;
import com.pcloud.book.group.entity.BookGroupClassify; import com.pcloud.book.group.entity.BookGroupClassify;
import com.pcloud.book.group.vo.BookGroupQrcodeStatisticVO; import com.pcloud.book.group.vo.BookGroupQrcodeStatisticVO;
import com.pcloud.book.group.vo.ClassifyNameVO; import com.pcloud.book.group.vo.ClassifyNameVO;
...@@ -187,4 +182,8 @@ public class BookGroupClassifyDaoImpl extends BaseDaoImpl<BookGroupClassify> imp ...@@ -187,4 +182,8 @@ public class BookGroupClassifyDaoImpl extends BaseDaoImpl<BookGroupClassify> imp
public List<ClassifyDTO> getNameWithBookClockInfoIdByIds(Map<String,Object> paramMap) { public List<ClassifyDTO> getNameWithBookClockInfoIdByIds(Map<String,Object> paramMap) {
return this.getSqlSession().selectList(this.getStatement("getNameWithBookClockInfoIdByIds"), paramMap); return this.getSqlSession().selectList(this.getStatement("getNameWithBookClockInfoIdByIds"), paramMap);
} }
@Override
public GroupClassifyQrcodeDTO getClassifyQrcodeInfoByName(String weixinGroupName) {
return this.getSessionTemplate().selectOne(getStatement("getClassifyQrcodeInfoByName"), weixinGroupName);
}
} }
...@@ -2,9 +2,13 @@ package com.pcloud.book.keywords.biz; ...@@ -2,9 +2,13 @@ package com.pcloud.book.keywords.biz;
import com.pcloud.book.group.dto.PushAddUserMessageDTO; import com.pcloud.book.group.dto.PushAddUserMessageDTO;
import com.pcloud.book.keywords.vo.GuideVO; import com.pcloud.book.keywords.vo.GuideVO;
import com.pcloud.book.keywords.vo.ReplyMessageVO;
import com.pcloud.book.keywords.vo.SetGuideVO; import com.pcloud.book.keywords.vo.SetGuideVO;
import com.pcloud.book.keywords.vo.UpdateGuideVO; import com.pcloud.book.keywords.vo.UpdateGuideVO;
import java.util.List;
import java.util.Map;
/** /**
* @author lily * @author lily
* @date 2019/4/23 15:46 * @date 2019/4/23 15:46
...@@ -44,4 +48,6 @@ public interface BookGuideBiz { ...@@ -44,4 +48,6 @@ public interface BookGuideBiz {
* @Date:2019/5/5 11:22 * @Date:2019/5/5 11:22
*/ */
void sendGuideMessage(PushAddUserMessageDTO pushAddUserMessageDTO); void sendGuideMessage(PushAddUserMessageDTO pushAddUserMessageDTO);
Map<String, Object> getGuideMessage(String weixinGroupId, String wexinGroupName);
} }
...@@ -2,9 +2,11 @@ package com.pcloud.book.keywords.biz; ...@@ -2,9 +2,11 @@ package com.pcloud.book.keywords.biz;
import com.pcloud.book.keywords.dto.KeywordDTO; import com.pcloud.book.keywords.dto.KeywordDTO;
import com.pcloud.book.keywords.dto.KeywordStatisticsDTO; import com.pcloud.book.keywords.dto.KeywordStatisticsDTO;
import com.pcloud.book.keywords.dto.ReplyKeywordDTO;
import com.pcloud.book.keywords.vo.KeywordVO; import com.pcloud.book.keywords.vo.KeywordVO;
import com.pcloud.book.keywords.vo.ListKeywordParam; import com.pcloud.book.keywords.vo.ListKeywordParam;
import com.pcloud.book.keywords.vo.ListKeywordVO; import com.pcloud.book.keywords.vo.ListKeywordVO;
import com.pcloud.book.keywords.vo.ReplyMessageVO;
import com.pcloud.book.keywords.vo.SetKeywordVO; import com.pcloud.book.keywords.vo.SetKeywordVO;
import com.pcloud.book.keywords.vo.SetRankVO; import com.pcloud.book.keywords.vo.SetRankVO;
import com.pcloud.book.keywords.vo.UpdateKeywordVO; import com.pcloud.book.keywords.vo.UpdateKeywordVO;
...@@ -82,4 +84,7 @@ public interface BookKeywordBiz { ...@@ -82,4 +84,7 @@ public interface BookKeywordBiz {
* @return * @return
*/ */
PageBeanNew<KeywordStatisticsDTO> getKeywordStatistics(Integer currentPage, Integer numPerPage, Long bookGroupId, String weixinGroupId); PageBeanNew<KeywordStatisticsDTO> getKeywordStatistics(Integer currentPage, Integer numPerPage, Long bookGroupId, String weixinGroupId);
ReplyKeywordDTO getReplyKeyword(String content, String weixinGroupId, String wexinGroupName);
} }
...@@ -10,6 +10,7 @@ import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr; ...@@ -10,6 +10,7 @@ import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr;
import com.pcloud.book.group.biz.BookGroupClassifyBiz; import com.pcloud.book.group.biz.BookGroupClassifyBiz;
import com.pcloud.book.group.biz.GroupQrcodeBiz; import com.pcloud.book.group.biz.GroupQrcodeBiz;
import com.pcloud.book.group.dao.AppTouchRecordDao; import com.pcloud.book.group.dao.AppTouchRecordDao;
import com.pcloud.book.group.dao.BookGroupClassifyDao;
import com.pcloud.book.group.dao.BookGroupDao; import com.pcloud.book.group.dao.BookGroupDao;
import com.pcloud.book.group.dao.GroupQrcodeDao; import com.pcloud.book.group.dao.GroupQrcodeDao;
import com.pcloud.book.group.dto.BookGroupDTO; import com.pcloud.book.group.dto.BookGroupDTO;
...@@ -84,6 +85,8 @@ public class BookGuideBizImpl implements BookGuideBiz { ...@@ -84,6 +85,8 @@ public class BookGuideBizImpl implements BookGuideBiz {
private BookClockKeywordDao bookClockKeywordDao; private BookClockKeywordDao bookClockKeywordDao;
@Autowired @Autowired
private GroupQrcodeDao groupQrcodeDao; private GroupQrcodeDao groupQrcodeDao;
@Autowired
private BookGroupClassifyDao bookGroupClassifyDao;
@Override @Override
@ParamLog("新增欢迎语") @ParamLog("新增欢迎语")
...@@ -310,6 +313,59 @@ public class BookGuideBizImpl implements BookGuideBiz { ...@@ -310,6 +313,59 @@ public class BookGuideBizImpl implements BookGuideBiz {
} }
} }
@Override
public Map<String, Object> getGuideMessage(String weixinGroupId, String wexinGroupName) {
Map<String, Object> map = new HashMap<>();
List<ReplyMessageVO> replyMessages = new ArrayList<>();
//通过群id获取对应基本信息
GroupClassifyQrcodeDTO classifyQrcodeInfo = bookGroupClassifyBiz.getClassifyQrcodeInfo(weixinGroupId);
if (classifyQrcodeInfo == null && !StringUtil.isEmpty(wexinGroupName)) {
classifyQrcodeInfo = bookGroupClassifyDao.getClassifyQrcodeInfoByName(wexinGroupName);
}
if (null == classifyQrcodeInfo) {
return map;
}
map.put("qrCodeUrl", classifyQrcodeInfo.getQrCodeUrl());
//获取该书是否设置推送公众号
GuideDTO bookGuide = getBaseInfo(null, classifyQrcodeInfo.getBookGroupId());
//获取该分类是否设置过欢迎语
GuideDTO classifyGuide = getBaseInfo(classifyQrcodeInfo.getClassifyId(), classifyQrcodeInfo.getBookGroupId());
if (classifyGuide != null) {
replyMessages = bookGuideReplyDao.getReplyMessage(classifyGuide.getId());
} else if (bookGuide != null) {
replyMessages = bookGuideReplyDao.getReplyMessage(bookGuide.getId());
}
//获取公众号基本信息
AccountSettingDto wechatInfo = qrcodeSceneConsr.getWechatInfo(classifyQrcodeInfo.getChannelId());
//获取关键词信息(改成10个了)
List<KeywordDTO> keywords = bookKeywordBiz.listFiveKeyword(classifyQrcodeInfo.getClassifyId(), classifyQrcodeInfo.getBookGroupId());
map.put("keywords", keywords);
Boolean isHaveKeywords = !ListUtils.isEmpty(keywords);
if (ListUtils.isEmpty(replyMessages)) {
replyMessages = new ArrayList<>();
ReplyMessageVO replyMessageVO = new ReplyMessageVO();
String content = "";
//获取群名称
GroupQrcodeBaseInfoVO groupInfo = groupQrcodeBiz.getBaseById(classifyQrcodeInfo.getGroupQrcodeId());
String groupName = groupInfo.getGroupName();
if (StringUtil.isEmpty(groupName)) {
content += " 欢迎加入本群!";
} else {
content += " 欢迎加入" + groupName + "!";
}
if (isHaveKeywords) {
content = content + "本群目的为学习交流和学习辅导,线上资源和工具为图书的增值服务,可根据实际情况配合图书一起使用。凭以下关键词领取任务或资源:";
}
replyMessageVO.setContent(content);
replyMessages.add(replyMessageVO);
} else {
//处理链接
handleUrl(replyMessages, wechatInfo, classifyQrcodeInfo);
}
map.put("reply", replyMessages);
return map;
}
/** /**
* 新增欢迎语应用触发记录 * 新增欢迎语应用触发记录
*/ */
......
package com.pcloud.book.keywords.biz.impl; package com.pcloud.book.keywords.biz.impl;
import com.google.common.collect.Lists;
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;
...@@ -9,6 +12,7 @@ import com.pcloud.book.consumer.resource.ProductConsr; ...@@ -9,6 +12,7 @@ import com.pcloud.book.consumer.resource.ProductConsr;
import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr; import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr;
import com.pcloud.book.group.biz.BookGroupClassifyBiz; import com.pcloud.book.group.biz.BookGroupClassifyBiz;
import com.pcloud.book.group.dao.AppTouchRecordDao; import com.pcloud.book.group.dao.AppTouchRecordDao;
import com.pcloud.book.group.dao.BookGroupClassifyDao;
import com.pcloud.book.group.dao.BookGroupDao; import com.pcloud.book.group.dao.BookGroupDao;
import com.pcloud.book.group.dao.GroupQrcodeDao; import com.pcloud.book.group.dao.GroupQrcodeDao;
import com.pcloud.book.group.dto.BookGroupDTO; import com.pcloud.book.group.dto.BookGroupDTO;
...@@ -42,6 +46,7 @@ import com.pcloud.common.page.PageParam; ...@@ -42,6 +46,7 @@ import com.pcloud.common.page.PageParam;
import com.pcloud.common.utils.DateUtils; import com.pcloud.common.utils.DateUtils;
import com.pcloud.common.utils.ListUtils; import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.cache.redis.JedisClusterUtils; import com.pcloud.common.utils.cache.redis.JedisClusterUtils;
import com.pcloud.common.utils.httpclient.UrlUtils;
import com.pcloud.common.utils.string.StringUtil; import com.pcloud.common.utils.string.StringUtil;
import com.pcloud.resourcecenter.product.dto.ProductDto; import com.pcloud.resourcecenter.product.dto.ProductDto;
import com.pcloud.wechatgroup.group.dto.RobotReplyDTO; import com.pcloud.wechatgroup.group.dto.RobotReplyDTO;
...@@ -94,6 +99,8 @@ public class BookKeywordBizImpl implements BookKeywordBiz { ...@@ -94,6 +99,8 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
private GroupQrcodeDao groupQrcodeDao; private GroupQrcodeDao groupQrcodeDao;
@Resource @Resource
private BookKeywordWarehouseBiz bookKeywordWarehouseBiz; private BookKeywordWarehouseBiz bookKeywordWarehouseBiz;
@Autowired
private BookGroupClassifyDao bookGroupClassifyDao;
@Override @Override
@ParamLog("新增关键词") @ParamLog("新增关键词")
...@@ -428,4 +435,44 @@ public class BookKeywordBizImpl implements BookKeywordBiz { ...@@ -428,4 +435,44 @@ public class BookKeywordBizImpl implements BookKeywordBiz {
return pageBeanNew; return pageBeanNew;
} }
@Override
public ReplyKeywordDTO getReplyKeyword(String content, String weixinGroupId, String wexinGroupName) {
ReplyKeywordDTO replyKeywordDTO = null;
if (StringUtil.isEmpty(weixinGroupId) && StringUtil.isEmpty(wexinGroupName)) {
return new ReplyKeywordDTO();
}
GroupClassifyQrcodeDTO classifyQrcodeInfo = null;
if (!StringUtil.isEmpty(weixinGroupId)) {
//通过群id获取对应基本信息
classifyQrcodeInfo = bookGroupClassifyBiz.getClassifyQrcodeInfo(weixinGroupId);
}
if (classifyQrcodeInfo == null && !StringUtil.isEmpty(wexinGroupName)) {
classifyQrcodeInfo = bookGroupClassifyDao.getClassifyQrcodeInfoByName((wexinGroupName));
}
if (classifyQrcodeInfo == null) {
log.info("[关键词消息回复] classifyQrcodeInfo is null");
return new ReplyKeywordDTO();
}
final boolean equals = "群主,来个抽奖".equals(content);
if (equals) {
replyKeywordDTO = keywordDao.getByKeyword("群主,来个抽奖");
} else {
//获取匹配关键词
replyKeywordDTO = bookKeywordDao.getKeywordId(classifyQrcodeInfo.getClassifyId(), classifyQrcodeInfo.getBookGroupId(), content);
}
if (replyKeywordDTO == null) {
return new ReplyKeywordDTO();
}
// 处理链接地址
if (ReplyTypeEnum.APP.value.equals(replyKeywordDTO.getReplyType()) || ReplyTypeEnum.LINK.value.equals(replyKeywordDTO.getReplyType())) {
AccountSettingDto accountSettingDto = qrcodeSceneConsr.getWechatInfo(classifyQrcodeInfo.getChannelId());
String linkUrl = SendWeixinRequestTools.splitUrlNew(accountSettingDto, replyKeywordDTO.getLinkUrl(), classifyQrcodeInfo.getBookGroupId(), classifyQrcodeInfo.getClassifyId(), classifyQrcodeInfo.getGroupQrcodeId());
replyKeywordDTO.setLinkUrl(linkUrl);
if (!StringUtil.isEmpty(linkUrl)) {
replyKeywordDTO.setShortLinkUrl(UrlUtils.getShortUrl4Own(linkUrl));
}
}
return replyKeywordDTO;
}
} }
...@@ -39,4 +39,7 @@ public class ReplyKeywordDTO implements Serializable { ...@@ -39,4 +39,7 @@ public class ReplyKeywordDTO implements Serializable {
@ApiModelProperty("描述信息") @ApiModelProperty("描述信息")
private String description; private String description;
@ApiModelProperty("短链接地址")
private String shortLinkUrl;
} }
package com.pcloud.book.keywords.facade; package com.pcloud.book.keywords.facade;
import com.pcloud.book.keywords.vo.GuideVO; import com.pcloud.book.keywords.vo.GuideVO;
import com.pcloud.book.keywords.vo.ReplyMessageVO;
import com.pcloud.book.keywords.vo.SetGuideVO; import com.pcloud.book.keywords.vo.SetGuideVO;
import com.pcloud.book.keywords.vo.UpdateGuideVO; import com.pcloud.book.keywords.vo.UpdateGuideVO;
import com.pcloud.common.dto.ResponseDto; import com.pcloud.common.dto.ResponseDto;
...@@ -12,8 +13,13 @@ import org.springframework.web.bind.annotation.GetMapping; ...@@ -12,8 +13,13 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
import java.util.Map;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
...@@ -64,4 +70,8 @@ public interface BookGuideFacade { ...@@ -64,4 +70,8 @@ public interface BookGuideFacade {
@GetMapping("getGuideByClassify") @GetMapping("getGuideByClassify")
ResponseDto<GuideVO> getGuideByClassify(@RequestHeader("token") String token, @RequestParam("classifyId") Long classifyId) ResponseDto<GuideVO> getGuideByClassify(@RequestHeader("token") String token, @RequestParam("classifyId") Long classifyId)
throws BizException, PermissionException; throws BizException, PermissionException;
@ApiOperation(value = "获取入群欢迎语", httpMethod = "GET")
@RequestMapping(value = "getGuideMessage", method = RequestMethod.GET)
ResponseDto<Map<String, Object>> getGuideMessage(@RequestParam(value = "weixinGroupId", required = false) String weixinGroupId, @RequestParam(value = "wexinGroupName", required = false) String wexinGroupName);
} }
...@@ -16,8 +16,12 @@ import org.springframework.web.bind.annotation.GetMapping; ...@@ -16,8 +16,12 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
...@@ -106,4 +110,9 @@ public interface BookKeywordFacade { ...@@ -106,4 +110,9 @@ public interface BookKeywordFacade {
@RequestParam(value = "weixinGroupId",required = false) String weixinGroupId @RequestParam(value = "weixinGroupId",required = false) String weixinGroupId
) throws BizException, PermissionException; ) throws BizException, PermissionException;
@ApiOperation(value = "根据关键词获取要回复的内容", httpMethod = "GET")
@RequestMapping(value = "getReplyKeyword", method = RequestMethod.GET)
ResponseDto<String> getReplyKeyword(@RequestParam String content, @RequestParam(value = "weixinGroupId", required = false) String weixinGroupId,
@RequestParam(value = "wexinGroupName", required = false) String wexinGroupName);
} }
...@@ -3,22 +3,29 @@ package com.pcloud.book.keywords.facade.impl; ...@@ -3,22 +3,29 @@ package com.pcloud.book.keywords.facade.impl;
import com.pcloud.book.keywords.biz.BookGuideBiz; import com.pcloud.book.keywords.biz.BookGuideBiz;
import com.pcloud.book.keywords.facade.BookGuideFacade; import com.pcloud.book.keywords.facade.BookGuideFacade;
import com.pcloud.book.keywords.vo.GuideVO; import com.pcloud.book.keywords.vo.GuideVO;
import com.pcloud.book.keywords.vo.ReplyMessageVO;
import com.pcloud.book.keywords.vo.SetGuideVO; import com.pcloud.book.keywords.vo.SetGuideVO;
import com.pcloud.book.keywords.vo.UpdateGuideVO; import com.pcloud.book.keywords.vo.UpdateGuideVO;
import com.pcloud.common.dto.ResponseDto; import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.permission.PermissionException; import com.pcloud.common.permission.PermissionException;
import com.pcloud.common.utils.ResponseHandleUtil;
import com.pcloud.common.utils.SessionUtil; import com.pcloud.common.utils.SessionUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
/** /**
* @author lily * @author lily
* @date 2019/4/23 15:24 * @date 2019/4/23 15:24
...@@ -59,4 +66,11 @@ public class BookGuideFacadeImpl implements BookGuideFacade { ...@@ -59,4 +66,11 @@ public class BookGuideFacadeImpl implements BookGuideFacade {
GuideVO guideVO = bookGuidBiz.getGuideByClassify(classifyId); GuideVO guideVO = bookGuidBiz.getGuideByClassify(classifyId);
return new ResponseDto<>(guideVO == null ? new GuideVO() : guideVO); return new ResponseDto<>(guideVO == null ? new GuideVO() : guideVO);
} }
@Override
@RequestMapping(value = "getGuideMessage", method = RequestMethod.GET)
public ResponseDto<Map<String, Object>> getGuideMessage(@RequestParam(value = "weixinGroupId", required = false) String weixinGroupId, @RequestParam(value = "wexinGroupName", required = false) String wexinGroupName) {
Map<String, Object> resultMap = bookGuidBiz.getGuideMessage(weixinGroupId, wexinGroupName);
return new ResponseDto<>(resultMap);
}
} }
package com.pcloud.book.keywords.facade.impl; package com.pcloud.book.keywords.facade.impl;
import com.alibaba.fastjson.JSONObject;
import com.pcloud.book.base.exception.BookBizException; import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.keywords.biz.BookKeywordBiz; import com.pcloud.book.keywords.biz.BookKeywordBiz;
import com.pcloud.book.keywords.dto.ReplyKeywordDTO;
import com.pcloud.book.keywords.facade.BookKeywordFacade; import com.pcloud.book.keywords.facade.BookKeywordFacade;
import com.pcloud.book.keywords.vo.KeywordVO; import com.pcloud.book.keywords.vo.KeywordVO;
import com.pcloud.book.keywords.vo.ListKeywordParam; import com.pcloud.book.keywords.vo.ListKeywordParam;
...@@ -15,16 +17,20 @@ import com.pcloud.common.page.PageBeanNew; ...@@ -15,16 +17,20 @@ import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.permission.PermissionException; import com.pcloud.common.permission.PermissionException;
import com.pcloud.common.utils.SessionUtil; import com.pcloud.common.utils.SessionUtil;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import io.swagger.annotations.ApiOperation;
/** /**
* @author lily * @author lily
* @date 2019/4/24 14:31 * @date 2019/4/24 14:31
...@@ -110,4 +116,13 @@ public class BookKeywordFacadeImpl implements BookKeywordFacade { ...@@ -110,4 +116,13 @@ public class BookKeywordFacadeImpl implements BookKeywordFacade {
} }
return new ResponseDto<>(bookKeywordBiz.getKeywordStatistics(currentPage,numPerPage,bookGroupId,weixinGroupId)); return new ResponseDto<>(bookKeywordBiz.getKeywordStatistics(currentPage,numPerPage,bookGroupId,weixinGroupId));
} }
@Override
@RequestMapping(value = "getReplyKeyword", method = RequestMethod.GET)
public ResponseDto<String> getReplyKeyword(@RequestParam String content, @RequestParam(value = "weixinGroupId", required = false) String weixinGroupId,
@RequestParam(value = "wexinGroupName", required = false) String wexinGroupName) {
ReplyKeywordDTO replyKeywordDTO = bookKeywordBiz.getReplyKeyword(content, weixinGroupId, wexinGroupName);
return new ResponseDto<>(JSONObject.toJSONString(replyKeywordDTO));
}
} }
...@@ -308,7 +308,8 @@ ...@@ -308,7 +308,8 @@
c.book_group_id bookGroupId, c.book_group_id bookGroupId,
c.price price, c.price price,
q.id groupQrcodeId, q.id groupQrcodeId,
q.weixin_qrcode_id weixinQrcodeId q.weixin_qrcode_id weixinQrcodeId,
q.qrcode_url qrCodeUrl
from from
book_group_classify c join book_group_qrcode q on c.id = q.classify_id book_group_classify c join book_group_qrcode q on c.id = q.classify_id
and q.weixin_group_id = #{_parameter} limit 1 and q.weixin_group_id = #{_parameter} limit 1
...@@ -749,4 +750,19 @@ ...@@ -749,4 +750,19 @@
AND bgc.IS_DELETE = 0 AND bgc.IS_DELETE = 0
</select> </select>
<select id="getClassifyQrcodeInfoByName" resultType="GroupClassifyQrcodeDTO" parameterType="String">
select
c.id classifyId,
c.create_user adviserId,
c.book_id bookId,
c.channel_id channelId,
c.book_group_id bookGroupId,
c.price price,
q.id groupQrcodeId,
q.weixin_qrcode_id weixinQrcodeId,
q.qrcode_url qrCodeUrl
from
book_group_classify c join book_group_qrcode q on c.id = q.classify_id
and q.group_name = #{_parameter} limit 1
</select>
</mapper> </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