Commit 66bdbe7a by 田超

Merge branch 'feature/crmwxwork' into 'master'

feat:[1006260]书本家公众号二维码可配置crm企微活码

See merge request rays/pcloud-book!1476
parents e7f941d1 64e1b471
package com.pcloud.book.group.dto;
import com.pcloud.common.dto.BaseDto;
import lombok.Data;
/**
* @ClassName com.pcloud.book.group.dto.WxworkQrcodeDTO
* @Author zhuyajie
* @Description 企微信息
* @Date 2021/12/10 16:17
**/
@Data
public class WxworkQrcodeDTO extends BaseDto {
/**
* 二维码id
*/
private Long wxworkQrcodeId;
/**
* 二维码名称
*/
private String wxworkQrcodeName;
/**
* 二维码url
*/
private String wxworkQrcodeUrl;
/**
* 引导语
*/
private String guide;
/**
* 企微码类型
*/
private Integer wxworkQrcodeType;
}
......@@ -24,6 +24,7 @@ import com.pcloud.book.group.dto.SelfRobotBookGroupDTO;
import com.pcloud.book.group.dto.SelfRobotUserDTO;
import com.pcloud.book.group.dto.SelfRobtParamDTO;
import com.pcloud.book.group.dto.UserBookBaseInfoDTO;
import com.pcloud.book.group.dto.WxworkQrcodeDTO;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.dto.StoreFlowInfoDto;
import com.pcloud.common.exceptions.BizException;
......@@ -303,4 +304,7 @@ public interface BookGroupService {
ResponseEntity<ResponseDto<ResourcePageDTO>> getResourcePageByQrcode(@RequestParam(value = "sceneId", required = false) Long sceneId,
@RequestParam(value = "bookGroupId", required = false) Long bookGroupId);
@ApiOperation("公众号二维码配置的企微码信息")
@GetMapping("getWxworkQrcodesBySceneId4Official")
ResponseEntity<ResponseDto<List<WxworkQrcodeDTO>>> getWxworkQrcodesBySceneId4Official(@RequestParam("sceneId") Long sceneId);
}
......@@ -3,6 +3,7 @@ package com.pcloud.book.book.biz;
import com.pcloud.book.book.vo.request.BookQrcodeWxworkRequestVO;
import com.pcloud.book.book.vo.response.BookQrcodeWxworkResponseVO;
import com.pcloud.book.group.dto.BookGroupServeCountDTO;
import com.pcloud.book.group.dto.WxworkQrcodeDTO;
import java.util.List;
import java.util.Map;
......@@ -70,4 +71,11 @@ public interface BookQrcodeWxworkBiz {
*erp获取二维码下面配置了企业微信的二维码
*/
List<Long> getHasWxWorkCode(List<Long> sceneIds);
/**
* @Description 公众号二维码配置的企微活码
* @Author zhuyajie
* @Date 16:39 2021/12/10
**/
List<WxworkQrcodeDTO> getWxworkQrcodesBySceneId4Official(Long sceneId);
}
......@@ -12,10 +12,13 @@ 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.erp.ErpConsr;
import com.pcloud.book.consumer.wechatgroup.WechatGroupConsr;
import com.pcloud.book.group.dao.BookGroupDao;
import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.dto.BookGroupServeCountDTO;
import com.pcloud.book.group.dto.WxworkQrcodeDTO;
import com.pcloud.book.group.vo.CrmContactQrcodeVO;
import com.pcloud.channelcenter.qrcode.dto.QrcodeSceneDto;
import com.pcloud.common.utils.ListUtils;
import com.pcloud.wechatgroup.wxwork.dto.WxworkGroupQrcodeBaseDTO;
......@@ -52,6 +55,8 @@ public class BookQrcodeWxworkBizImpl implements BookQrcodeWxworkBiz {
private WechatGroupConsr wechatGroupConsr;
@Autowired
private AppletGroupSearchRecordBiz appletGroupSearchRecordBiz;
@Autowired
private ErpConsr erpConsr;
@Override
@Transactional(rollbackFor = Exception.class)
......@@ -272,4 +277,46 @@ public class BookQrcodeWxworkBizImpl implements BookQrcodeWxworkBiz {
List<Long> result = bookQrcodeWxworkDao.getHasWxWorkCode(sceneIds);
return result;
}
@Override
public List<WxworkQrcodeDTO> getWxworkQrcodesBySceneId4Official(Long sceneId) {
if (null == sceneId) {
return new ArrayList<>();
}
List<BookQrcodeWxwork> wxworkList = bookQrcodeWxworkDao.getByQrcodeId(sceneId, BookQrcodeType.OFFICIAL_ACCOUNTS.getCode());
if (ListUtils.isEmpty(wxworkList)) {
return new ArrayList<>();
}
List<WxworkQrcodeDTO> wxworkQrcodeDTOS = new ArrayList<>();
for (BookQrcodeWxwork wxwork:wxworkList) {
Integer wxworkQrcodeType = wxwork.getWxworkQrcodeType();
Long wxworkQrcodeId = wxwork.getWxworkQrcodeId();
WxworkQrcodeDTO dto = new WxworkQrcodeDTO();
dto.setWxworkQrcodeId(wxworkQrcodeId);
dto.setWxworkQrcodeType(wxworkQrcodeType);
if (WxworkQrcodeType.SOP_QRCODE.getCode().equals(wxworkQrcodeType)) {
WxworkQrcodeBaseDTO wxworkQrcodeBaseDTO = wechatGroupConsr.getWxworkQrcodeBaseById(wxworkQrcodeId);
if (null != wxworkQrcodeBaseDTO) {
dto.setWxworkQrcodeUrl(wxworkQrcodeBaseDTO.getQrcodeUrl());
dto.setWxworkQrcodeName(wxworkQrcodeBaseDTO.getQrcodeName());
dto.setGuide(wxworkQrcodeBaseDTO.getGuideAccounts());
}
}else if (WxworkQrcodeType.GROUP_QRCODE.getCode().equals(wxworkQrcodeType)) {
WxworkGroupQrcodeBaseDTO groupQrcodeBaseDTO = wechatGroupConsr.getWxworkGroupQrcodeBaseById(wxworkQrcodeId);
if (null != groupQrcodeBaseDTO){
dto.setWxworkQrcodeUrl(groupQrcodeBaseDTO.getGroupQrcodeUrl());
dto.setWxworkQrcodeName(groupQrcodeBaseDTO.getGroupQrcodeName());
dto.setGuide(groupQrcodeBaseDTO.getInvitationAccounts());
}
}else if (WxworkQrcodeType.CRM_QRCODE.getCode().equals(wxworkQrcodeType)) {
CrmContactQrcodeVO crmContactQrcodeVO = erpConsr.getContactQrcodeNameById4Adviser(wxworkQrcodeId);
if (null != crmContactQrcodeVO) {
dto.setWxworkQrcodeUrl(crmContactQrcodeVO.getQrcodeUrl());
dto.setWxworkQrcodeName(crmContactQrcodeVO.getContactQrcodeName());
}
}
wxworkQrcodeDTOS.add(dto);
}
return wxworkQrcodeDTOS;
}
}
......@@ -61,4 +61,11 @@ public interface BookQrcodeWxworkDao extends BaseDao<BookQrcodeWxwork>{
* 获取有配置企业微信的二维码
*/
List<Long> getHasWxWorkCode(List<Long> sceneIds);
/**
* @Description 查配置信息
* @Author zhuyajie
* @Date 16:44 2021/12/10
**/
List<BookQrcodeWxwork> getByQrcodeId(Long bookQrcodeId, Integer bookQrcodeType);
}
......@@ -82,4 +82,12 @@ public class BookQrcodeWxworkDaoImpl extends BaseDaoImpl<BookQrcodeWxwork> imple
map.put("sceneIds", sceneIds);
return getSessionTemplate().selectList(getStatement("getHasWxWorkCode"), map);
}
@Override
public List<BookQrcodeWxwork> getByQrcodeId(Long bookQrcodeId, Integer bookQrcodeType) {
Map<String,Object> map = new HashMap<>();
map.put("bookQrcodeId", bookQrcodeId);
map.put("bookQrcodeType", bookQrcodeType);
return getSessionTemplate().selectList(getStatement("getByQrcodeId"), map);
}
}
......@@ -12,9 +12,13 @@ public enum WxworkQrcodeType {
*/
SOP_QRCODE(1),
/**
* 2群活码
* 2sop群活码
*/
GROUP_QRCODE(2);
GROUP_QRCODE(2),
/**
* 3crm企微个人活码
*/
CRM_QRCODE(3);
private Integer code;
......
......@@ -1478,12 +1478,18 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
Long wechatUserId) {
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("resourcePageColumnId", resourcePageColumnId);
ResourcePageColumn resourcePageColumn = resourcePageColumnDao.getById(resourcePageColumnId);
if (null == resourcePageColumn) {
return new PageBeanNew<>(currentPage, numPerPage, 0, new ArrayList<>());
}
PageBeanNew<ResourcePageItemVO> pageBeanNew = resourcePageItemDao.listPageNew(new PageParam(currentPage, numPerPage), paramMap, "getResourcePageItemByColumnId");
if (ListUtils.isEmpty(pageBeanNew.getRecordList())) {
return new PageBeanNew<>(currentPage, numPerPage, pageBeanNew.getTotalCount(), new ArrayList<>());
}
Map<String, List<ResourcePageItemVO>> listMap = pageBeanNew.getRecordList().stream().collect(Collectors.groupingBy(ResourcePageItemVO::getServeType));
for (Map.Entry<String, List<ResourcePageItemVO>> entry : listMap.entrySet()) {
//二维码类型
fillQrcodeType(resourcePageColumn.getResourcePageId(), entry.getValue());
fillResourceByType(entry.getValue(), wechatUserId, entry.getKey());
}
return pageBeanNew;
......
package com.pcloud.book.group.service.impl;
import com.pcloud.book.book.biz.BookQrcodeWxworkBiz;
import com.pcloud.book.group.biz.BookGroupAppBiz;
import com.pcloud.book.group.biz.BookGroupBiz;
import com.pcloud.book.group.biz.ResourcePageBiz;
......@@ -27,6 +28,7 @@ import com.pcloud.book.group.dto.SelfRobotBookGroupDTO;
import com.pcloud.book.group.dto.SelfRobotUserDTO;
import com.pcloud.book.group.dto.SelfRobtParamDTO;
import com.pcloud.book.group.dto.UserBookBaseInfoDTO;
import com.pcloud.book.group.dto.WxworkQrcodeDTO;
import com.pcloud.book.group.entity.BookGroupServe;
import com.pcloud.book.group.enums.JoinGroupTypeEnum;
import com.pcloud.book.group.service.BookGroupService;
......@@ -70,6 +72,8 @@ public class BookGroupServiceImpl implements BookGroupService {
private BookGroupAppBiz bookGroupAppBiz;
@Autowired
private ResourcePageBiz resourcePageBiz;
@Autowired
private BookQrcodeWxworkBiz bookQrcodeWxworkBiz;
/**
* 获取社群书基本信息
......@@ -512,4 +516,10 @@ public class BookGroupServiceImpl implements BookGroupService {
@RequestParam(value = "bookGroupId", required = false) Long bookGroupId){
return ResponseHandleUtil.toResponse(resourcePageBiz.getResourcePageByQrcode(sceneId,bookGroupId));
}
@Override
@GetMapping("getWxworkQrcodesBySceneId4Official")
public ResponseEntity<ResponseDto<List<WxworkQrcodeDTO>>> getWxworkQrcodesBySceneId4Official(@RequestParam("sceneId") Long sceneId) {
return ResponseHandleUtil.toResponse(bookQrcodeWxworkBiz.getWxworkQrcodesBySceneId4Official(sceneId));
}
}
......@@ -67,18 +67,6 @@ public class CrmContactQrcodeVO implements Serializable {
private Integer skipVerifyTimeFlag;
/**
* 跳过验证开始时间
*/
@JsonFormat(pattern = "HH:mm:ss", timezone = "GMT+8")
private Date skipVerifyStart;
/**
* 跳过验证结束时间
*/
@JsonFormat(pattern = "HH:mm:ss", timezone = "GMT+8")
private Date skipVerifyEnd;
/**
* 水印标志
*/
private Integer watermarkFlag;
......
......@@ -165,4 +165,12 @@
</foreach>
</select>
<select id="getByQrcodeId" parameterType="map" resultMap="BookQrcodeWxworkMap">
select
<include refid="Base_Column_List"/>
from book.book_qrcode_wxwork
where book_qrcode_type = #{bookQrcodeType}
and book_qrcode_id = #{bookQrcodeId}
</select>
</mapper>
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