Commit ebf46dcb by 朱亚洁

feat:[1004083]企业微信编辑端勾选

parent 76b76934
......@@ -17,6 +17,7 @@ import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
......@@ -278,4 +279,13 @@ public interface BookService {
@RequestMapping(value = "/clearCache4BookBaseInfo",method = RequestMethod.GET)
void clearCache4BookBaseInfo(@RequestParam("pwd") String pwd);
@ApiOperation("查配置的企业微信码id")
@GetMapping("getWxworkQrcodeIdBySceneOrBookGroup")
ResponseEntity<ResponseDto<Long>> getWxworkQrcodeIdBySceneOrBookGroup(@RequestParam(value = "sceneId", required = false) Long sceneId,
@RequestParam(value = "bookGroupId", required = false) Long bookGroupId);
@ApiOperation("查配置的企业微信群活码id")
@GetMapping("getWxworkGroupQrcodeIdBySceneOrBookGroup")
ResponseEntity<ResponseDto<Long>> getWxworkGroupQrcodeIdBySceneOrBookGroup(
@RequestParam(value = "sceneId", required = false) Long sceneId,
@RequestParam(value = "bookGroupId", required = false) Long bookGroupId);
}
package com.pcloud.book.book.biz;
import com.pcloud.book.book.vo.request.BookQrcodeWxworkRequestVO;
import com.pcloud.book.book.vo.response.BookQrcodeWxworkResponseVO;
import java.util.List;
/**
* 二维码配置企业微信
* @author:zhuyajie
* @date:2020/12/22 18:24
* * @param null
*/
public interface BookQrcodeWxworkBiz {
/**
* 二维码设置关联企业微信码
* @author:zhuyajie
* @date:2020/12/23 10:40
* * @param null
*/
void setWxworkQrcode(BookQrcodeWxworkRequestVO bookQrcodeWxworkRequestVO);
/**
* 查配置的企业微信码id
* @author:zhuyajie
* @date:2020/12/23 11:09
* * @param null
*/
Long getWxworkQrcodeIdBySceneOrBookGroup(Long sceneId, Long bookGroupId, Integer wxworkQrcodeType);
/**
* 查配置的企业微信码及信息
* @author:zhuyajie
* @date:2020/12/23 11:21
* * @param null
*/
BookQrcodeWxworkResponseVO getWxworkQrcodeInfoBySceneOrBookGroup(Long sceneId, Long bookGroupId, Integer wxworkQrcodeType);
/**
* 根据书刊查RAYS码配置的企业微信
* @author:zhuyajie
* @date:2020/12/23 16:41
* * @param null
*/
List<BookQrcodeWxworkResponseVO> getWxworkQrcodeInfoByBook4Rays(Long bookId, Long channelId, Long adviserId);
}
package com.pcloud.book.book.biz.impl;
import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.book.biz.BookQrcodeWxworkBiz;
import com.pcloud.book.book.dao.BookQrcodeWxworkDao;
import com.pcloud.book.book.entity.BookQrcodeWxwork;
import com.pcloud.book.book.enums.BookQrcodeType;
import com.pcloud.book.book.enums.WxworkQrcodeType;
import com.pcloud.book.book.vo.request.BookQrcodeWxworkRequestVO;
import com.pcloud.book.book.vo.response.BookQrcodeWxworkResponseVO;
import com.pcloud.book.consumer.channel.QrcodeSceneConsr;
import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr;
import com.pcloud.book.group.dao.BookGroupDao;
import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.channelcenter.qrcode.dto.QrcodeSceneDto;
import com.pcloud.common.utils.ListUtils;
import com.pcloud.wechatgroup.wxwork.dto.WxworkGroupQrcodeBaseDTO;
import com.pcloud.wechatgroup.wxwork.dto.WxworkQrcodeBaseDTO;
import org.apache.commons.collections.MapUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @ClassName com.pcloud.book.book.biz.impl.BookQrcodeWxworkBizImpl
* @Author zhuyajie
* @Description 二维码配置企业微信
* @Date 2020/12/22 18:23
* @Version 1.0
**/
@Component
public class BookQrcodeWxworkBizImpl implements BookQrcodeWxworkBiz {
@Autowired
private BookQrcodeWxworkDao bookQrcodeWxworkDao;
@Autowired
private QrcodeSceneConsr qrcodeSceneConsr;
@Autowired
private BookGroupDao bookGroupDao;
@Autowired
private WechatGroupConsr wechatGroupConsr;
@Override
@Transactional(rollbackFor = Exception.class)
public void setWxworkQrcode(BookQrcodeWxworkRequestVO bookQrcodeWxworkRequestVO) {
if (null == bookQrcodeWxworkRequestVO) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "缺少参数");
}
if (null == bookQrcodeWxworkRequestVO.getSceneId() && null == bookQrcodeWxworkRequestVO.getBookGroupId()) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "缺少二维码参数");
}
if (null == bookQrcodeWxworkRequestVO.getWxworkQrcodeType()) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "缺少企业微信二维码类型");
}
if (null != bookQrcodeWxworkRequestVO.getSceneId()) {
bookQrcodeWxworkDao.deleteByQrcodeIdAndType(bookQrcodeWxworkRequestVO.getSceneId(), BookQrcodeType.OFFICIAL_ACCOUNTS.getCode(),
bookQrcodeWxworkRequestVO.getWxworkQrcodeType());
} else {
bookQrcodeWxworkDao.deleteByQrcodeIdAndType(bookQrcodeWxworkRequestVO.getBookGroupId(), BookQrcodeType.RAYS.getCode(),
bookQrcodeWxworkRequestVO.getWxworkQrcodeType());
}
if (null != bookQrcodeWxworkRequestVO.getWxworkQrcodeId()) {
BookQrcodeWxwork bookQrcodeWxwork;
if (null != bookQrcodeWxworkRequestVO.getSceneId()) {
bookQrcodeWxwork = setSceneWxworkQrcode(bookQrcodeWxworkRequestVO.getSceneId());
} else {
bookQrcodeWxwork = setBookGroupWxWorkQrcode(bookQrcodeWxworkRequestVO.getBookGroupId());
}
bookQrcodeWxwork.setWxworkQrcodeId(bookQrcodeWxworkRequestVO.getWxworkQrcodeId());
bookQrcodeWxwork.setWxworkQrcodeType(bookQrcodeWxworkRequestVO.getWxworkQrcodeType());
bookQrcodeWxworkDao.insert(bookQrcodeWxwork);
}
}
private BookQrcodeWxwork setBookGroupWxWorkQrcode(Long bookGroupId) {
BookQrcodeWxwork bookQrcodeWxwork = new BookQrcodeWxwork();
BookGroupDTO bookGroupDTO = bookGroupDao.getDTOById(bookGroupId);
if (null == bookGroupDTO) {
throw new BookBizException(BookBizException.ERROR, "二维码不存在");
}
bookQrcodeWxwork.setBookId(bookGroupDTO.getBookId());
bookQrcodeWxwork.setAdviserId(bookGroupDTO.getCreateUser());
bookQrcodeWxwork.setChannelId(bookGroupDTO.getChannelId());
bookQrcodeWxwork.setBookQrcodeId(bookGroupId);
bookQrcodeWxwork.setBookQrcodeType(BookQrcodeType.RAYS.getCode());
return bookQrcodeWxwork;
}
private BookQrcodeWxwork setSceneWxworkQrcode(Long sceneId) {
BookQrcodeWxwork bookQrcodeWxwork = new BookQrcodeWxwork();
QrcodeSceneDto qrcodeSceneDto = qrcodeSceneConsr.getById(sceneId);
if (null == qrcodeSceneDto) {
throw new BookBizException(BookBizException.ERROR, "二维码不存在");
}
bookQrcodeWxwork.setBookId(qrcodeSceneDto.getAdviserBookId());
bookQrcodeWxwork.setAdviserId(qrcodeSceneDto.getCreatedByUserLogin());
bookQrcodeWxwork.setChannelId(qrcodeSceneDto.getChannelPartyId());
bookQrcodeWxwork.setBookQrcodeId(sceneId);
bookQrcodeWxwork.setBookQrcodeType(BookQrcodeType.OFFICIAL_ACCOUNTS.getCode());
return bookQrcodeWxwork;
}
@Override
public Long getWxworkQrcodeIdBySceneOrBookGroup(Long sceneId, Long bookGroupId, Integer wxworkQrcodeType) {
if (null == sceneId && null == bookGroupId) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "缺少参数");
}
BookQrcodeWxwork bookQrcodeWxwork;
if (null != sceneId) {
bookQrcodeWxwork = bookQrcodeWxworkDao.getByQrcodeIdAndType(sceneId, BookQrcodeType.OFFICIAL_ACCOUNTS.getCode(), wxworkQrcodeType);
} else {
bookQrcodeWxwork = bookQrcodeWxworkDao.getByQrcodeIdAndType(bookGroupId, BookQrcodeType.RAYS.getCode(), wxworkQrcodeType);
}
Long wxworkQrcodeId = null == bookQrcodeWxwork ? null : bookQrcodeWxwork.getWxworkQrcodeId();
return wxworkQrcodeId;
}
@Override
public BookQrcodeWxworkResponseVO getWxworkQrcodeInfoBySceneOrBookGroup(Long sceneId, Long bookGroupId, Integer wxworkQrcodeType) {
BookQrcodeWxworkResponseVO bookQrcodeWxworkResponseVO = new BookQrcodeWxworkResponseVO();
Long wxworkQrcodeId = this.getWxworkQrcodeIdBySceneOrBookGroup(sceneId, bookGroupId, wxworkQrcodeType);
if (null == wxworkQrcodeId) {
return bookQrcodeWxworkResponseVO;
}
bookQrcodeWxworkResponseVO.setWxworkQrcodeId(wxworkQrcodeId);
if (WxworkQrcodeType.SOP_QRCODE.getCode().equals(wxworkQrcodeType)) {
WxworkQrcodeBaseDTO wxworkQrcodeBaseDTO = wechatGroupConsr.getWxworkQrcodeBaseById(wxworkQrcodeId);
if (null != wxworkQrcodeBaseDTO) {
bookQrcodeWxworkResponseVO.setWxworkQrcodeUrl(wxworkQrcodeBaseDTO.getQrcodeUrl());
bookQrcodeWxworkResponseVO.setWxworkQrcodeName(wxworkQrcodeBaseDTO.getQrcodeName());
bookQrcodeWxworkResponseVO.setGuideAccounts(wxworkQrcodeBaseDTO.getGuideAccounts());
bookQrcodeWxworkResponseVO.setGuideRays(wxworkQrcodeBaseDTO.getGuideRays());
}
} else if (WxworkQrcodeType.GROUP_QRCODE.getCode().equals(wxworkQrcodeType)) {
WxworkGroupQrcodeBaseDTO groupQrcodeBaseDTO = wechatGroupConsr.getWxworkGroupQrcodeBaseById(wxworkQrcodeId);
if (null != groupQrcodeBaseDTO){
bookQrcodeWxworkResponseVO.setWxworkQrcodeUrl(groupQrcodeBaseDTO.getGroupQrcodeUrl());
bookQrcodeWxworkResponseVO.setWxworkQrcodeName(groupQrcodeBaseDTO.getGroupQrcodeName());
bookQrcodeWxworkResponseVO.setInvitationRays(groupQrcodeBaseDTO.getInvitationRays());
bookQrcodeWxworkResponseVO.setInvitationAccounts(groupQrcodeBaseDTO.getInvitationAccounts());
}
}
return bookQrcodeWxworkResponseVO;
}
@Override
public List<BookQrcodeWxworkResponseVO> getWxworkQrcodeInfoByBook4Rays(Long bookId, Long channelId, Long adviserId) {
List<BookQrcodeWxworkResponseVO> wxworkResponseVOS = new ArrayList<>();
List<BookQrcodeWxwork> wxworkList = bookQrcodeWxworkDao.getWxworkQrcodeByBook(bookId, channelId, adviserId, null);
if (ListUtils.isEmpty(wxworkList)) {
return new ArrayList<>();
}
List<Long> wxworkQrcodeIds = new ArrayList<>();
List<Long> wxworkGroupQrcodeIds = new ArrayList<>();
for (BookQrcodeWxwork bookQrcodeWxwork : wxworkList) {
if (WxworkQrcodeType.SOP_QRCODE.getCode().equals(bookQrcodeWxwork.getWxworkQrcodeType())) {
wxworkQrcodeIds.add(bookQrcodeWxwork.getWxworkQrcodeId());
} else if (WxworkQrcodeType.GROUP_QRCODE.getCode().equals(bookQrcodeWxwork.getWxworkQrcodeType())) {
wxworkGroupQrcodeIds.add(bookQrcodeWxwork.getWxworkQrcodeId());
}
}
Map<Long, WxworkQrcodeBaseDTO> wxworkQrcodeBaseDTOMap = new HashMap<>();
Map<Long, WxworkGroupQrcodeBaseDTO> groupQrcodeBaseDTOMap = new HashMap<>();
if (!ListUtils.isEmpty(wxworkQrcodeIds)) {
wxworkQrcodeBaseDTOMap = wechatGroupConsr.mapWxworkQrcodeBase(wxworkQrcodeIds);
}
if (!ListUtils.isEmpty(wxworkGroupQrcodeIds)) {
groupQrcodeBaseDTOMap = wechatGroupConsr.mapWxworkGroupQrcodeBase(wxworkGroupQrcodeIds);
}
for (BookQrcodeWxwork bookQrcodeWxwork : wxworkList) {
if (!MapUtils.isEmpty(wxworkQrcodeBaseDTOMap) && WxworkQrcodeType.SOP_QRCODE.getCode().equals(bookQrcodeWxwork.getWxworkQrcodeType())) {
WxworkQrcodeBaseDTO wxworkQrcodeBaseDTO = wxworkQrcodeBaseDTOMap.get(bookQrcodeWxwork.getWxworkQrcodeId());
if (null != wxworkQrcodeBaseDTO) {
BookQrcodeWxworkResponseVO responseVO = new BookQrcodeWxworkResponseVO();
responseVO.setWxworkQrcodeId(bookQrcodeWxwork.getWxworkQrcodeId());
responseVO.setWxworkQrcodeType(bookQrcodeWxwork.getWxworkQrcodeType());
responseVO.setWxworkQrcodeUrl(wxworkQrcodeBaseDTO.getQrcodeUrl());
responseVO.setWxworkQrcodeName(wxworkQrcodeBaseDTO.getQrcodeName());
responseVO.setGuideAccounts(wxworkQrcodeBaseDTO.getGuideAccounts());
responseVO.setGuideRays(wxworkQrcodeBaseDTO.getGuideRays());
wxworkResponseVOS.add(responseVO);
}
}
if (!MapUtils.isEmpty(groupQrcodeBaseDTOMap) && WxworkQrcodeType.GROUP_QRCODE.getCode().equals(bookQrcodeWxwork.getWxworkQrcodeType())) {
WxworkGroupQrcodeBaseDTO wxworkGroupQrcodeBaseDTO = groupQrcodeBaseDTOMap.get(bookQrcodeWxwork.getWxworkQrcodeId());
if (null != wxworkGroupQrcodeBaseDTO) {
BookQrcodeWxworkResponseVO responseVO = new BookQrcodeWxworkResponseVO();
responseVO.setWxworkQrcodeId(bookQrcodeWxwork.getWxworkQrcodeId());
responseVO.setWxworkQrcodeType(bookQrcodeWxwork.getWxworkQrcodeType());
responseVO.setWxworkQrcodeName(wxworkGroupQrcodeBaseDTO.getGroupQrcodeName());
responseVO.setInvitationAccounts(wxworkGroupQrcodeBaseDTO.getInvitationAccounts());
responseVO.setInvitationRays(wxworkGroupQrcodeBaseDTO.getInvitationRays());
wxworkResponseVOS.add(responseVO);
}
}
}
return wxworkResponseVOS;
}
}
package com.pcloud.book.book.dao;
import com.pcloud.book.book.entity.BookQrcodeWxwork;
import com.pcloud.common.core.dao.BaseDao;
import java.util.List;
/**
* 二维码配置企业微信码(BookQrcodeWxwork)表数据库访问层
*
* @author makejava
* @since 2020-12-22 17:22:19
*/
public interface BookQrcodeWxworkDao extends BaseDao<BookQrcodeWxwork>{
/**
* 根据二维码id和类型删除配置
* @author:zhuyajie
* @date:2020/12/22 17:29
* * @param null
*/
void deleteByQrcodeIdAndType(Long bookQrcodeId, Integer bookQrcodeType, Integer wxworkQrcodeType);
/**
* 根据二维码id和类型查询企业微信码配置
* @author:zhuyajie
* @date:2020/12/22 17:32
* * @param null
*/
BookQrcodeWxwork getByQrcodeIdAndType(Long bookQrcodeId, Integer bookQrcodeType, Integer wxworkQrcodeType);
/**
* 查询书刊配置的企业微信
* @author:zhuyajie
* @date:2020/12/23 16:43
* * @param null
*/
List<BookQrcodeWxwork> getWxworkQrcodeByBook(Long bookId, Long channelId, Long adviserId, Integer bookQrcodeType);
}
\ No newline at end of file
package com.pcloud.book.book.dao.impl;
import com.pcloud.book.book.dao.BookQrcodeWxworkDao;
import com.pcloud.book.book.entity.BookQrcodeWxwork;
import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Repository;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @ClassName com.pcloud.book.book.dao.impl.BookQrcodeWxworkDaoImpl
* @Author zhuyajie
* @Description 二维码配置企业微信码
* @Date 2020/12/22 17:26
* @Version 1.0
**/
@Repository
public class BookQrcodeWxworkDaoImpl extends BaseDaoImpl<BookQrcodeWxwork> implements BookQrcodeWxworkDao {
@Override
public void deleteByQrcodeIdAndType(Long bookQrcodeId, Integer bookQrcodeType, Integer wxworkQrcodeType) {
Map<String,Object> map = new HashMap<>();
map.put("bookQrcodeId", bookQrcodeId);
map.put("bookQrcodeType", bookQrcodeType);
map.put("wxworkQrcodeType", wxworkQrcodeType);
getSessionTemplate().delete(getStatement("deleteByQrcodeIdAndType"), map);
}
@Override
public BookQrcodeWxwork getByQrcodeIdAndType(Long bookQrcodeId, Integer bookQrcodeType, Integer wxworkQrcodeType) {
Map<String,Object> map = new HashMap<>();
map.put("bookQrcodeId", bookQrcodeId);
map.put("bookQrcodeType", bookQrcodeType);
map.put("wxworkQrcodeType", wxworkQrcodeType);
return getSessionTemplate().selectOne(getStatement("getByQrcodeIdAndType"), map);
}
@Override
public List<BookQrcodeWxwork> getWxworkQrcodeByBook(Long bookId, Long channelId, Long adviserId, Integer bookQrcodeType) {
Map<String, Object> map = new HashMap<>();
map.put("bookId", bookId);
map.put("channelId", channelId);
map.put("adviserId", adviserId);
map.put("bookQrcodeType", bookQrcodeType);
return getSessionTemplate().selectList(getStatement("getWxworkQrcodeByBook"), map);
}
}
package com.pcloud.book.book.entity;
import com.pcloud.common.entity.BaseEntity;
import lombok.Data;
/**
* 二维码配置企业微信码(BookQrcodeWxwork)实体类
*
* @author makejava
* @since 2020-12-22 17:22:19
*/
@Data
public class BookQrcodeWxwork extends BaseEntity {
private static final long serialVersionUID = 528640838870071638L;
/**
* 主键
*/
private Long id;
/**
* 书刊id
*/
private Long bookId;
/**
* 渠道id
*/
private Long channelId;
/**
* 编辑id
*/
private Long adviserId;
/**
* 书刊二维码类型(1公众号2RAYS码)
*/
private Integer bookQrcodeType;
/**
* 公众号sceneid/RAYS码bookgroupid
*/
private Long bookQrcodeId;
/**
* 企业微信活码id
*/
private Long wxworkQrcodeId;
/**
* 企业微信二维码类型(1sop活码2群活码)
*/
private Integer wxworkQrcodeType;
}
\ No newline at end of file
package com.pcloud.book.book.enums;
/**
* 书刊二维码类型
* @author:zhuyajie
* @date:2020/12/22 17:24
* * @param null
*/
public enum BookQrcodeType {
/**
* 公众号二维码
*/
OFFICIAL_ACCOUNTS(1),
/**
* rays码
*/
RAYS(2);
private Integer code;
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
BookQrcodeType(Integer code) {
this.code = code;
}
}
package com.pcloud.book.book.enums;
/**
* 企业微信二维码类型
* @author:zhuyajie
* @date:2020/12/22 17:24
* * @param null
*/
public enum WxworkQrcodeType {
/**
* 1sop活码
*/
SOP_QRCODE(1),
/**
* 2群活码
*/
GROUP_QRCODE(2);
private Integer code;
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
WxworkQrcodeType(Integer code) {
this.code = code;
}
}
package com.pcloud.book.book.facade;
import com.pcloud.book.book.biz.BookQrcodeWxworkBiz;
import com.pcloud.book.book.vo.request.BookQrcodeWxworkRequestVO;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.utils.SessionUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.annotations.ApiOperation;
/**
* @ClassName com.pcloud.book.book.facade.BookQrcodeWxworkFacade
* @Author zhuyajie
* @Description 企业微信码配置
* @Date 2020/12/23 11:30
* @Version 1.0
**/
@RestController("bookWxworkFacade")
@RequestMapping("bookWxwork")
public class BookWxworkFacade {
@Autowired
private BookQrcodeWxworkBiz bookQrcodeWxworkBiz;
@ApiOperation("二维码设置关联企业微信码")
@PostMapping("setWxworkQrcode")
public ResponseDto<?> setWxworkQrcode(@RequestHeader("token") String token, @RequestBody BookQrcodeWxworkRequestVO bookQrcodeWxworkRequestVO) {
SessionUtil.getToken4Redis(token);
bookQrcodeWxworkBiz.setWxworkQrcode(bookQrcodeWxworkRequestVO);
return new ResponseDto<>();
}
@ApiOperation("查配置的企业微信码及信息")
@GetMapping("getWxworkQrcodeInfoBySceneOrBookGroup")
public ResponseDto<?> getWxworkQrcodeInfoBySceneOrBookGroup(
@RequestHeader("token") String token,
@RequestParam(value = "sceneId", required = false) Long sceneId,
@RequestParam(value = "bookGroupId", required = false) Long bookGroupId,
@RequestParam("wxworkQrcodeType") Integer wxworkQrcodeType) {
SessionUtil.getToken4Redis(token);
return new ResponseDto<>(bookQrcodeWxworkBiz.getWxworkQrcodeInfoBySceneOrBookGroup(sceneId, bookGroupId, wxworkQrcodeType));
}
@ApiOperation("根据书刊查RAYS码配置的企业微信")
@GetMapping("getWxworkQrcodeInfoByBook4Rays")
public ResponseDto<?> getWxworkQrcodeInfoByBook4Rays(
@RequestParam("bookId") Long bookId, @RequestParam("channelId") Long channelId, @RequestParam("adviserId") Long adviserId) {
return new ResponseDto<>(bookQrcodeWxworkBiz.getWxworkQrcodeInfoByBook4Rays(bookId, channelId, adviserId));
}
}
......@@ -5,12 +5,14 @@ package com.pcloud.book.book.service.impl;
import com.pcloud.book.book.biz.BookBiz;
import com.pcloud.book.book.biz.BookLabelBiz;
import com.pcloud.book.book.biz.BookQrcodeWxworkBiz;
import com.pcloud.book.book.dto.BookAdviserUpdateTimeDTO;
import com.pcloud.book.book.dto.BookDetialDTO;
import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.book.dto.BookInfo4AnlysicsDTO;
import com.pcloud.book.book.dto.BookInfoAnalysicsDTO;
import com.pcloud.book.book.dto.BookInfoAndAuthStatusDTO;
import com.pcloud.book.book.enums.WxworkQrcodeType;
import com.pcloud.book.book.service.BookService;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException;
......@@ -43,6 +45,8 @@ public class BookServiceImpl implements BookService {
private BookBiz bookBiz;
@Autowired
private BookLabelBiz bookLabelBiz;
@Autowired
private BookQrcodeWxworkBiz bookQrcodeWxworkBiz;
/**
* 获取书籍信息
......@@ -241,5 +245,19 @@ public class BookServiceImpl implements BookService {
bookBiz.clearCache4BookBaseInfo(pwd);
}
@Override
@GetMapping("getWxworkQrcodeIdBySceneOrBookGroup")
public ResponseEntity<ResponseDto<Long>> getWxworkQrcodeIdBySceneOrBookGroup(@RequestParam(value = "sceneId", required = false) Long sceneId,
@RequestParam(value = "bookGroupId", required = false) Long bookGroupId) {
return ResponseHandleUtil.toResponse(bookQrcodeWxworkBiz.getWxworkQrcodeIdBySceneOrBookGroup(sceneId, bookGroupId, WxworkQrcodeType.SOP_QRCODE.getCode()));
}
@Override
@GetMapping("getWxworkGroupQrcodeIdBySceneOrBookGroup")
public ResponseEntity<ResponseDto<Long>> getWxworkGroupQrcodeIdBySceneOrBookGroup(@RequestParam(value = "sceneId", required = false) Long sceneId,
@RequestParam(value = "bookGroupId", required = false) Long bookGroupId) {
return ResponseHandleUtil.toResponse(bookQrcodeWxworkBiz.getWxworkQrcodeIdBySceneOrBookGroup(sceneId, bookGroupId, WxworkQrcodeType.GROUP_QRCODE.getCode()));
}
}
package com.pcloud.book.book.vo.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 二维码配置企业微信码
*
* @author makejava
* @since 2020-12-22 17:22:19
*/
@Data
public class BookQrcodeWxworkRequestVO {
@ApiModelProperty("社群码id")
private Long bookGroupId;
@ApiModelProperty("公众号二维码id")
private Long sceneId;
@ApiModelProperty("企业微信活码id")
private Long wxworkQrcodeId;
@ApiModelProperty("企业微信二维码类型(1sop活码2群活码)")
private Integer wxworkQrcodeType;
}
\ No newline at end of file
package com.pcloud.book.book.vo.response;
import com.pcloud.common.dto.BaseDto;
import lombok.Data;
/**
* @ClassName com.pcloud.book.book.vo.response.BookQrcodeWxworkResponseVO
* @Author zhuyajie
* @Description 企业微信码配置
* @Date 2020/12/23 10:58
* @Version 1.0
**/
@Data
public class BookQrcodeWxworkResponseVO extends BaseDto {
/**
* 企业微信活码id
*/
private Long wxworkQrcodeId;
/**
* 二维码名称
*/
private String wxworkQrcodeName;
/**
* 二维码
*/
private String wxworkQrcodeUrl;
/**
* 小睿引导添加语
*/
private String guideRays;
/**
* 公众号引导添加语
*/
private String guideAccounts;
/**
* 企业微信二维码类型(1sop活码2群活码)
*/
private Integer wxworkQrcodeType;
/**
* 小睿邀请语
*/
private String invitationRays;
/**
* 公众号邀请语
*/
private String invitationAccounts;
}
package com.pcloud.book.consumer.wechatgroup;
import cn.hutool.core.collection.CollUtil;
import com.dcg.coolq.sdk.CoolQSDK;
import com.dcg.coolq.sdk.message.vos.send.PrivateMsgSendVO;
import com.fasterxml.jackson.databind.ObjectMapper;
......@@ -38,7 +37,10 @@ import com.pcloud.wechatgroup.selfrobot.dto.SelfRobotDTO;
import com.pcloud.wechatgroup.selfrobot.dto.SendMessageDTO;
import com.pcloud.wechatgroup.selfrobot.dto.UserRobotDTO;
import com.pcloud.wechatgroup.selfrobot.service.SelfRobotService;
import lombok.extern.slf4j.Slf4j;
import com.pcloud.wechatgroup.wxwork.dto.WxworkGroupQrcodeBaseDTO;
import com.pcloud.wechatgroup.wxwork.dto.WxworkQrcodeBaseDTO;
import com.pcloud.wechatgroup.wxwork.service.WxWorkService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
......@@ -51,6 +53,9 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import cn.hutool.core.collection.CollUtil;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Component("wechatGroupConsr")
public class WechatGroupConsr {
......@@ -64,6 +69,8 @@ public class WechatGroupConsr {
private MonitorService monitorService;
@Autowired
private SelfRobotService selfRobotService;
@Autowired
private WxWorkService wxWorkService;
@ParamLog("根据机器人id和用户微信id获取最新暗号")
public String getCipherByRobotAndUserWxId(String robotWxId, String userWxId) {
......@@ -816,4 +823,48 @@ public class WechatGroupConsr {
}
return list;
}
@ParamLog("查企业微信活码基本信息")
public WxworkQrcodeBaseDTO getWxworkQrcodeBaseById(Long qrcodeId) {
WxworkQrcodeBaseDTO wxworkQrcodeBaseDTO = new WxworkQrcodeBaseDTO();
try {
wxworkQrcodeBaseDTO = ResponseHandleUtil.parseResponse(wxWorkService.getWxworkQrcodeBaseById(qrcodeId), WxworkQrcodeBaseDTO.class);
} catch (Exception e) {
log.error("根据wxWorkService.getWxworkQrcodeBaseById查企业微信活码基本信息" + e.getMessage(), e);
}
return wxworkQrcodeBaseDTO;
}
@ParamLog("批量查企业微信活码")
public Map<Long, WxworkQrcodeBaseDTO> mapWxworkQrcodeBase(List<Long> qrcodeIds) {
Map<Long, WxworkQrcodeBaseDTO> map = new HashMap<>();
try {
map = ResponseHandleUtil.parseMapResponse(wxWorkService.mapWxworkQrcodeBase(qrcodeIds), Long.class, WxworkQrcodeBaseDTO.class);
} catch (Exception e) {
log.error("根据wxWorkService.mapWxworkQrcodeBase查企业微信活码基本信息" + e.getMessage(), e);
}
return map;
}
@ParamLog("查群活码信息")
public WxworkGroupQrcodeBaseDTO getWxworkGroupQrcodeBaseById(Long groupQrcodeId){
WxworkGroupQrcodeBaseDTO wxworkGroupQrcodeBaseDTO = new WxworkGroupQrcodeBaseDTO();
try {
wxworkGroupQrcodeBaseDTO = ResponseHandleUtil.parseResponse(wxWorkService.getWxworkGroupQrcodeBaseById(groupQrcodeId), WxworkGroupQrcodeBaseDTO.class);
} catch (Exception e) {
log.error("根据wxWorkServicegetWxworkGroupQrcodeBaseById查企业微信群活码基本信息" + e.getMessage(), e);
}
return wxworkGroupQrcodeBaseDTO;
}
@ParamLog("批量查企业微信群活码")
public Map<Long, WxworkGroupQrcodeBaseDTO> mapWxworkGroupQrcodeBase(List<Long> groupQrcodeIds){
Map<Long, WxworkGroupQrcodeBaseDTO> map = new HashMap<>();
try {
map = ResponseHandleUtil.parseMapResponse(wxWorkService.mapWxworkGroupQrcodeBase(groupQrcodeIds), Long.class, WxworkGroupQrcodeBaseDTO.class);
} catch (Exception e) {
log.error("根据wxWorkService.mapWxworkQrcodeBase查企业微信群活码基本信息" + e.getMessage(), e);
}
return map;
}
}
<?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.pcloud.book.book.dao.impl.BookQrcodeWxworkDaoImpl">
<resultMap type="com.pcloud.book.book.entity.BookQrcodeWxwork" id="BookQrcodeWxworkMap">
<result property="id" column="id" jdbcType="INTEGER"/>
<result property="bookId" column="book_id" jdbcType="INTEGER"/>
<result property="channelId" column="channel_id" jdbcType="INTEGER"/>
<result property="adviserId" column="adviser_id" jdbcType="INTEGER"/>
<result property="bookQrcodeType" column="book_qrcode_type" jdbcType="INTEGER"/>
<result property="bookQrcodeId" column="book_qrcode_id" jdbcType="INTEGER"/>
<result property="wxworkQrcodeId" column="wxwork_qrcode_id" jdbcType="INTEGER"/>
<result property="wxworkQrcodeType" column="wxwork_qrcode_type" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
id, book_id, channel_id, adviser_id, book_qrcode_type, book_qrcode_id, wxwork_qrcode_id, wxwork_qrcode_type, create_time
</sql>
<!--查询单个-->
<select id="getById" resultMap="BookQrcodeWxworkMap">
select
<include refid="Base_Column_List"/>
from book.book_qrcode_wxwork
where id = #{id}
</select>
<!--新增所有列-->
<insert id="insert" keyProperty="id" useGeneratedKeys="true">
insert into book.book_qrcode_wxwork(book_id, channel_id, adviser_id, book_qrcode_type, book_qrcode_id, wxwork_qrcode_id,
wxwork_qrcode_type, create_time)
values (#{bookId}, #{channelId}, #{adviserId}, #{bookQrcodeType}, #{bookQrcodeId}, #{wxworkQrcodeId},
#{wxworkQrcodeType}, now())
</insert>
<!--通过主键修改数据-->
<update id="update">
update book.book_qrcode_wxwork
<set>
<if test="bookId != null">
book_id = #{bookId},
</if>
<if test="channelId != null">
channel_id = #{channelId},
</if>
<if test="adviserId != null">
adviser_id = #{adviserId},
</if>
<if test="bookQrcodeType != null">
book_qrcode_type = #{bookQrcodeType},
</if>
<if test="bookQrcodeId != null">
book_qrcode_id = #{bookQrcodeId},
</if>
<if test="wxworkQrcodeId != null">
wxwork_qrcode_id = #{wxworkQrcodeId},
</if>
<if test="wxworkQrcodeType != null">
wxwork_qrcode_type = #{wxworkQrcodeType},
</if>
</set>
where id = #{id}
</update>
<!--通过主键删除-->
<delete id="deleteById">
delete from book.book_qrcode_wxwork where id = #{id}
</delete>
<delete id="deleteByQrcodeIdAndType" parameterType="map">
delete from book.book_qrcode_wxwork
where book_qrcode_type = #{bookQrcodeType}
and book_qrcode_id = #{bookQrcodeId}
and wxwork_qrcode_type = #{wxworkQrcodeType}
</delete>
<select id="getByQrcodeIdAndType" resultMap="BookQrcodeWxworkMap" parameterType="map">
select
<include refid="Base_Column_List"/>
from book.book_qrcode_wxwork
where book_qrcode_type = #{bookQrcodeType}
and book_qrcode_id = #{bookQrcodeId}
and wxwork_qrcode_type = #{wxworkQrcodeType}
</select>
<select id="getWxworkQrcodeByBook" parameterType="map" resultMap="BookQrcodeWxworkMap">
select
<include refid="Base_Column_List"/>
from book.book_qrcode_wxwork
where book_id = #{bookId}
and channel_id = #{channelId}
and adviser_id = #{adviserId}
<if test="bookQrcodeType != null">
and book_qrcode_type = #{bookQrcodeType}
</if>
order by wxwork_qrcode_type asc, create_time desc
</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