Commit 64e1b471 by 朱亚洁

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

parent e7f941d1
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; ...@@ -24,6 +24,7 @@ import com.pcloud.book.group.dto.SelfRobotBookGroupDTO;
import com.pcloud.book.group.dto.SelfRobotUserDTO; import com.pcloud.book.group.dto.SelfRobotUserDTO;
import com.pcloud.book.group.dto.SelfRobtParamDTO; import com.pcloud.book.group.dto.SelfRobtParamDTO;
import com.pcloud.book.group.dto.UserBookBaseInfoDTO; 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.ResponseDto;
import com.pcloud.common.dto.StoreFlowInfoDto; import com.pcloud.common.dto.StoreFlowInfoDto;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
...@@ -303,4 +304,7 @@ public interface BookGroupService { ...@@ -303,4 +304,7 @@ public interface BookGroupService {
ResponseEntity<ResponseDto<ResourcePageDTO>> getResourcePageByQrcode(@RequestParam(value = "sceneId", required = false) Long sceneId, ResponseEntity<ResponseDto<ResourcePageDTO>> getResourcePageByQrcode(@RequestParam(value = "sceneId", required = false) Long sceneId,
@RequestParam(value = "bookGroupId", required = false) Long bookGroupId); @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; ...@@ -3,6 +3,7 @@ package com.pcloud.book.book.biz;
import com.pcloud.book.book.vo.request.BookQrcodeWxworkRequestVO; import com.pcloud.book.book.vo.request.BookQrcodeWxworkRequestVO;
import com.pcloud.book.book.vo.response.BookQrcodeWxworkResponseVO; import com.pcloud.book.book.vo.response.BookQrcodeWxworkResponseVO;
import com.pcloud.book.group.dto.BookGroupServeCountDTO; import com.pcloud.book.group.dto.BookGroupServeCountDTO;
import com.pcloud.book.group.dto.WxworkQrcodeDTO;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -70,4 +71,11 @@ public interface BookQrcodeWxworkBiz { ...@@ -70,4 +71,11 @@ public interface BookQrcodeWxworkBiz {
*erp获取二维码下面配置了企业微信的二维码 *erp获取二维码下面配置了企业微信的二维码
*/ */
List<Long> getHasWxWorkCode(List<Long> sceneIds); 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; ...@@ -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.request.BookQrcodeWxworkRequestVO;
import com.pcloud.book.book.vo.response.BookQrcodeWxworkResponseVO; import com.pcloud.book.book.vo.response.BookQrcodeWxworkResponseVO;
import com.pcloud.book.consumer.channel.QrcodeSceneConsr; 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.consumer.wechatgroup.WechatGroupConsr;
import com.pcloud.book.group.dao.BookGroupDao; import com.pcloud.book.group.dao.BookGroupDao;
import com.pcloud.book.group.dto.BookGroupDTO; import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.dto.BookGroupServeCountDTO; 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.channelcenter.qrcode.dto.QrcodeSceneDto;
import com.pcloud.common.utils.ListUtils; import com.pcloud.common.utils.ListUtils;
import com.pcloud.wechatgroup.wxwork.dto.WxworkGroupQrcodeBaseDTO; import com.pcloud.wechatgroup.wxwork.dto.WxworkGroupQrcodeBaseDTO;
...@@ -52,6 +55,8 @@ public class BookQrcodeWxworkBizImpl implements BookQrcodeWxworkBiz { ...@@ -52,6 +55,8 @@ public class BookQrcodeWxworkBizImpl implements BookQrcodeWxworkBiz {
private WechatGroupConsr wechatGroupConsr; private WechatGroupConsr wechatGroupConsr;
@Autowired @Autowired
private AppletGroupSearchRecordBiz appletGroupSearchRecordBiz; private AppletGroupSearchRecordBiz appletGroupSearchRecordBiz;
@Autowired
private ErpConsr erpConsr;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
...@@ -272,4 +277,46 @@ public class BookQrcodeWxworkBizImpl implements BookQrcodeWxworkBiz { ...@@ -272,4 +277,46 @@ public class BookQrcodeWxworkBizImpl implements BookQrcodeWxworkBiz {
List<Long> result = bookQrcodeWxworkDao.getHasWxWorkCode(sceneIds); List<Long> result = bookQrcodeWxworkDao.getHasWxWorkCode(sceneIds);
return result; 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>{ ...@@ -61,4 +61,11 @@ public interface BookQrcodeWxworkDao extends BaseDao<BookQrcodeWxwork>{
* 获取有配置企业微信的二维码 * 获取有配置企业微信的二维码
*/ */
List<Long> getHasWxWorkCode(List<Long> sceneIds); 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 ...@@ -82,4 +82,12 @@ public class BookQrcodeWxworkDaoImpl extends BaseDaoImpl<BookQrcodeWxwork> imple
map.put("sceneIds", sceneIds); map.put("sceneIds", sceneIds);
return getSessionTemplate().selectList(getStatement("getHasWxWorkCode"), map); 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 { ...@@ -12,9 +12,13 @@ public enum WxworkQrcodeType {
*/ */
SOP_QRCODE(1), SOP_QRCODE(1),
/** /**
* 2群活码 * 2sop群活码
*/ */
GROUP_QRCODE(2); GROUP_QRCODE(2),
/**
* 3crm企微个人活码
*/
CRM_QRCODE(3);
private Integer code; private Integer code;
......
...@@ -1478,12 +1478,18 @@ public class ResourcePageBizImpl implements ResourcePageBiz { ...@@ -1478,12 +1478,18 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
Long wechatUserId) { Long wechatUserId) {
Map<String, Object> paramMap = new HashMap<>(); Map<String, Object> paramMap = new HashMap<>();
paramMap.put("resourcePageColumnId", resourcePageColumnId); 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"); PageBeanNew<ResourcePageItemVO> pageBeanNew = resourcePageItemDao.listPageNew(new PageParam(currentPage, numPerPage), paramMap, "getResourcePageItemByColumnId");
if (ListUtils.isEmpty(pageBeanNew.getRecordList())) { if (ListUtils.isEmpty(pageBeanNew.getRecordList())) {
return new PageBeanNew<>(currentPage, numPerPage, pageBeanNew.getTotalCount(), new ArrayList<>()); return new PageBeanNew<>(currentPage, numPerPage, pageBeanNew.getTotalCount(), new ArrayList<>());
} }
Map<String, List<ResourcePageItemVO>> listMap = pageBeanNew.getRecordList().stream().collect(Collectors.groupingBy(ResourcePageItemVO::getServeType)); Map<String, List<ResourcePageItemVO>> listMap = pageBeanNew.getRecordList().stream().collect(Collectors.groupingBy(ResourcePageItemVO::getServeType));
for (Map.Entry<String, List<ResourcePageItemVO>> entry : listMap.entrySet()) { for (Map.Entry<String, List<ResourcePageItemVO>> entry : listMap.entrySet()) {
//二维码类型
fillQrcodeType(resourcePageColumn.getResourcePageId(), entry.getValue());
fillResourceByType(entry.getValue(), wechatUserId, entry.getKey()); fillResourceByType(entry.getValue(), wechatUserId, entry.getKey());
} }
return pageBeanNew; return pageBeanNew;
......
package com.pcloud.book.group.service.impl; 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.BookGroupAppBiz;
import com.pcloud.book.group.biz.BookGroupBiz; import com.pcloud.book.group.biz.BookGroupBiz;
import com.pcloud.book.group.biz.ResourcePageBiz; import com.pcloud.book.group.biz.ResourcePageBiz;
...@@ -27,6 +28,7 @@ import com.pcloud.book.group.dto.SelfRobotBookGroupDTO; ...@@ -27,6 +28,7 @@ import com.pcloud.book.group.dto.SelfRobotBookGroupDTO;
import com.pcloud.book.group.dto.SelfRobotUserDTO; import com.pcloud.book.group.dto.SelfRobotUserDTO;
import com.pcloud.book.group.dto.SelfRobtParamDTO; import com.pcloud.book.group.dto.SelfRobtParamDTO;
import com.pcloud.book.group.dto.UserBookBaseInfoDTO; 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.entity.BookGroupServe;
import com.pcloud.book.group.enums.JoinGroupTypeEnum; import com.pcloud.book.group.enums.JoinGroupTypeEnum;
import com.pcloud.book.group.service.BookGroupService; import com.pcloud.book.group.service.BookGroupService;
...@@ -70,6 +72,8 @@ public class BookGroupServiceImpl implements BookGroupService { ...@@ -70,6 +72,8 @@ public class BookGroupServiceImpl implements BookGroupService {
private BookGroupAppBiz bookGroupAppBiz; private BookGroupAppBiz bookGroupAppBiz;
@Autowired @Autowired
private ResourcePageBiz resourcePageBiz; private ResourcePageBiz resourcePageBiz;
@Autowired
private BookQrcodeWxworkBiz bookQrcodeWxworkBiz;
/** /**
* 获取社群书基本信息 * 获取社群书基本信息
...@@ -512,4 +516,10 @@ public class BookGroupServiceImpl implements BookGroupService { ...@@ -512,4 +516,10 @@ public class BookGroupServiceImpl implements BookGroupService {
@RequestParam(value = "bookGroupId", required = false) Long bookGroupId){ @RequestParam(value = "bookGroupId", required = false) Long bookGroupId){
return ResponseHandleUtil.toResponse(resourcePageBiz.getResourcePageByQrcode(sceneId,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 { ...@@ -67,18 +67,6 @@ public class CrmContactQrcodeVO implements Serializable {
private Integer skipVerifyTimeFlag; 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; private Integer watermarkFlag;
......
...@@ -165,4 +165,12 @@ ...@@ -165,4 +165,12 @@
</foreach> </foreach>
</select> </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> </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