Commit 0644fbda by 朱亚洁

feat:[1004900]H5配置企业微信

parent 3d2054a3
......@@ -87,4 +87,7 @@ public class GroupActivity4AppletDTO implements Serializable {
@ApiModelProperty("serveId")
private String serveId;
@ApiModelProperty("描述")
private String groupDesc;
}
......@@ -5,6 +5,7 @@ import com.pcloud.common.dto.BaseDto;
import java.util.List;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
......@@ -57,5 +58,16 @@ public class BookQrcodeWxworkResponseVO extends BaseDto {
/**
* 群对话
*/
private List<AppletGroupStatementDTO> statementDTOList;
private List<AppletGroupStatementDTO> statementDTOList;
@ApiModelProperty("群名称")
private String groupName;
@ApiModelProperty("群描述")
private String groupDesc;
/**
* 二维码原始链接
*/
private String url;
}
......@@ -864,10 +864,13 @@ public class WechatGroupConsr {
@ParamLog("批量查企业微信群活码")
public Map<Long, WxworkGroupQrcodeBaseDTO> mapWxworkGroupQrcodeBase(List<Long> groupQrcodeIds){
Map<Long, WxworkGroupQrcodeBaseDTO> map = new HashMap<>();
if (ListUtils.isEmpty(groupQrcodeIds)) {
return map;
}
try {
map = ResponseHandleUtil.parseMapResponse(wxWorkService.mapWxworkGroupQrcodeBase(groupQrcodeIds), Long.class, WxworkGroupQrcodeBaseDTO.class);
} catch (Exception e) {
log.error("根据wxWorkService.mapWxworkQrcodeBase查企业微信群活码基本信息" + e.getMessage(), e);
log.error("根据wxWorkService.mapWxworkGroupQrcodeBase查企业微信群活码基本信息" + e.getMessage(), e);
}
return map;
}
......@@ -902,4 +905,18 @@ public class WechatGroupConsr {
}
return null;
}
@ParamLog("批量查企业微信群活码-包含群二维码")
public Map<Long, WxworkGroupQrcodeBaseDTO> mapWxworkGroupQrcode(List<Long> groupQrcodeIds) {
Map<Long, WxworkGroupQrcodeBaseDTO> map = new HashMap<>();
if (ListUtils.isEmpty(groupQrcodeIds)) {
return map;
}
try {
map = ResponseHandleUtil.parseMapResponse(wxWorkService.mapWxworkGroupQrcode(groupQrcodeIds), Long.class, WxworkGroupQrcodeBaseDTO.class);
} catch (Exception e) {
log.error("根据wxWorkService.mapWxworkGroupQrcode查企业微信群活码信息" + e.getMessage(), e);
}
return map;
}
}
......@@ -12,7 +12,9 @@ import com.pcloud.advertising.advertising.dto.AdvertisingSpaceItemDTO;
import com.pcloud.analysisengine.browse.dto.BrowseRecordStatisticDTO;
import com.pcloud.appcenter.app.dto.AppDto;
import com.pcloud.book.applet.biz.AppletBooklistBiz;
import com.pcloud.book.applet.biz.AppletGroupSearchRecordBiz;
import com.pcloud.book.applet.biz.AppletThirdResourcesBiz;
import com.pcloud.book.applet.dto.AppletGroupStatementDTO;
import com.pcloud.book.applet.dto.AppletOuterBooklistDTO;
import com.pcloud.book.applet.dto.GroupActivity4AppletDTO;
import com.pcloud.book.applet.entity.AppletThirdResources;
......@@ -21,7 +23,9 @@ import com.pcloud.book.book.biz.BookBiz;
import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.book.entity.Book;
import com.pcloud.book.book.dto.RaysSceneCatalogDto;
import com.pcloud.book.book.enums.WxworkQrcodeType;
import com.pcloud.book.book.vo.BookLinkVO;
import com.pcloud.book.book.vo.response.BookQrcodeWxworkResponseVO;
import com.pcloud.book.consumer.advsertising.AdvertisingConsr;
import com.pcloud.book.consumer.analysisengine.BrowseRecordConsr;
import com.pcloud.book.consumer.app.AppConsr;
......@@ -101,6 +105,7 @@ import com.pcloud.message.common.enums.YesNoEnums;
import com.pcloud.resourcecenter.product.dto.ProductDto;
import com.pcloud.usercenter.party.adviser.dto.AdviserBaseInfoDto;
import lombok.extern.slf4j.Slf4j;
import com.pcloud.wechatgroup.wxwork.dto.WxworkGroupQrcodeBaseDTO;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils;
......@@ -185,6 +190,8 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
private ChannelConsr channelConsr;
@Autowired
private LabelConsr labelConsr;
@Autowired
private AppletGroupSearchRecordBiz appletGroupSearchRecordBiz;
@Override
public Long updateResourcePage(UpdateResourcePageVO updateResourcePageVO) {
......@@ -212,10 +219,10 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
Long sceneId = updateResourcePageVO.getSceneId();
ResourcePage resourcePage = resourcePageDao.getBySceneId(sceneId);
updateResourcePageVO.setOpenRays(updateResourcePageVO.getOpenRays() == null ? 0 : updateResourcePageVO.getOpenRays());
QrcodeSceneDto qrcodeSceneDto = qrcodeSceneConsr.getById(sceneId);
if (null == resourcePage) {
resourcePage = new ResourcePage();
BeanUtils.copyProperties(updateResourcePageVO, resourcePage);
QrcodeSceneDto qrcodeSceneDto = qrcodeSceneConsr.getById(sceneId);
resourcePage.setQrcodeUrl(null == qrcodeSceneDto?null:qrcodeSceneDto.getQrcodeUrl());
//同步bookGroupId
if (null == resourcePage.getBookGroupId()) {
......@@ -232,6 +239,8 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
resourcePage.setOpenFood(updateResourcePageVO.getOpenFood());
resourcePage.setShowBook(updateResourcePageVO.getShowBook());
resourcePage.setBookCover(updateResourcePageVO.getBookCover());
resourcePage.setBookId(null == qrcodeSceneDto?null:qrcodeSceneDto.getAdviserBookId());
resourcePage.setChannelId(null == qrcodeSceneDto?null:qrcodeSceneDto.getChannelPartyId());
//同步bookGroupId
if (null == resourcePage.getBookGroupId()) {
resourcePage.setBookGroupId(getBookGroupIdBySceneId(sceneId));
......@@ -278,10 +287,10 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
Long bookGroupId = updateResourcePageVO.getBookGroupId();
ResourcePage resourcePage = resourcePageDao.getByBookGroupId(bookGroupId);
updateResourcePageVO.setOpenRays(updateResourcePageVO.getOpenRays() == null ? 0 : updateResourcePageVO.getOpenRays());
BookGroupDTO dto = bookGroupDao.getDTOById(bookGroupId);
if (null == resourcePage) {
resourcePage = new ResourcePage();
BeanUtils.copyProperties(updateResourcePageVO, resourcePage);
BookGroupDTO dto = bookGroupDao.getDTOById(bookGroupId);
resourcePage.setQrcodeUrl(null == dto? null: dto.getGroupQrcodeUrl());
resourcePage.setBookId(null == dto?null:dto.getBookId());
resourcePage.setChannelId(null == dto?null:dto.getChannelId());
......@@ -296,6 +305,8 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
this.checkOpenRays(resourcePage.getBookId(), updateResourcePageVO.getOpenRays());
resourcePage.setBookCover(updateResourcePageVO.getBookCover());
resourcePage.setBackgroundImg(updateResourcePageVO.getBackgroundImg());
resourcePage.setBookId(null == dto?null:dto.getBookId());
resourcePage.setChannelId(null == dto?null:dto.getChannelId());
resourcePageDao.update(resourcePage);
}
if (updateResourcePageVO.getOpenRays() == 1) {
......@@ -614,8 +625,11 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
//二维码类型
fillQrcodeType(resourcePageId, itemVOList);
Map<String, List<ResourcePageItemVO>> listMap = itemVOList.stream().collect(Collectors.groupingBy(ResourcePageItemVO::getServeType));
itemVOList = new ArrayList<>();
//过滤一些资源
for (Map.Entry<String, List<ResourcePageItemVO>> entry : listMap.entrySet()) {
this.fillResourceByType(entry.getValue(), isWechat, entry.getKey());
itemVOList.addAll(entry.getValue());
}
Map<Long, List<ResourcePageItemVO>> columnMap = itemVOList.stream().collect(Collectors.groupingBy(ResourcePageItemVO::getResourcePageColumnId));
for (ResourceColumnAndServeVO columnAndServeVO : serveVOS) {
......@@ -739,7 +753,49 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
fillGroupServe(itemVOS, isWechat);
} else if (ResourcePageConstants.ServeTypeEnum.THIRD_RESOURCE.getValue().equals(serveType)) {
fillThirdResource(itemVOS, isWechat);
} else if (ResourcePageConstants.ServeTypeEnum.WXWORK_GROUP.getValue().equals(serveType)) {
fillWxworkGroup(itemVOS);
}
}
@ParamLog("填充企业微信群")
private void fillWxworkGroup(List<ResourcePageItemVO> itemVOS) {
log.info("填充企业微信群");
if (ListUtils.isEmpty(itemVOS)) {
return;
}
List<Long> serveIds = itemVOS.stream().map(ResourcePageItemVO::getServeId).distinct().collect(Collectors.toList());
Map<Long, WxworkGroupQrcodeBaseDTO> groupDtoMap = wechatGroupConsr.mapWxworkGroupQrcode(serveIds);
List<ResourcePageItemVO> removeList = new ArrayList<>();
for (ResourcePageItemVO itemVO : itemVOS) {
if (MapUtils.isEmpty(groupDtoMap) || !groupDtoMap.containsKey(itemVO.getServeId())) {
removeList.add(itemVO);
continue;
}
WxworkGroupQrcodeBaseDTO wxworkGroupQrcodeBaseDTO = groupDtoMap.get(itemVO.getServeId());
if (null == wxworkGroupQrcodeBaseDTO) {
continue;
}
BookQrcodeWxworkResponseVO responseVO = new BookQrcodeWxworkResponseVO();
responseVO.setWxworkQrcodeId(itemVO.getServeId());
responseVO.setWxworkQrcodeType(WxworkQrcodeType.GROUP_QRCODE.getCode());
responseVO.setWxworkQrcodeName(wxworkGroupQrcodeBaseDTO.getGroupQrcodeName());
responseVO.setInvitationRays(wxworkGroupQrcodeBaseDTO.getInvitationRays());
responseVO.setWxworkQrcodeUrl(wxworkGroupQrcodeBaseDTO.getGroupQrcodeUrl());
responseVO.setGroupName(wxworkGroupQrcodeBaseDTO.getGroupQrcodeName());
responseVO.setGroupDesc(wxworkGroupQrcodeBaseDTO.getInvitationRays());
responseVO.setUrl(wxworkGroupQrcodeBaseDTO.getUrl());
//头像列表从缓存里取
List<String> headUrlList = appletGroupSearchRecordBiz.getHeadUrlList(9, itemVO.getServeId());
responseVO.setHeadUrlList(headUrlList);
List<AppletGroupStatementDTO> statementDTOList = appletGroupSearchRecordBiz
.getStatementList(9, headUrlList, itemVO.getServeId());
responseVO.setStatementDTOList(statementDTOList);
itemVO.setTypeName("社群");
itemVO.setBookQrcodeWxworkResponseVO(responseVO);
}
itemVOS.removeAll(removeList);
}
@ParamLog("填充第三方资源")
......@@ -934,19 +990,25 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
if (ListUtils.isEmpty(itemVOS)) {
return;
}
List<ResourcePageItemVO> removeList = new ArrayList<>();
List<Long> serveIds = itemVOS.stream().map(ResourcePageItemVO::getServeId).distinct().collect(Collectors.toList());
Map<Long, GroupActivity4AppletDTO> groupDtoMap = pcloudGroupActivityBiz.getGroupActivityMap(serveIds);
if (MapUtils.isEmpty(groupDtoMap)) {
return;
}
for (ResourcePageItemVO itemVO : itemVOS) {
if (groupDtoMap.containsKey(itemVO.getServeId())) {
GroupActivity4AppletDTO groupActivity4AppletDTO = groupDtoMap.get(itemVO.getServeId());
itemVO.setTypeName("社群");
itemVO.setActivity4AppletDTO(groupActivity4AppletDTO);
rightsSettingBiz.fillThirdGroupHeadList(groupActivity4AppletDTO);
if (MapUtils.isEmpty(groupDtoMap) || !groupDtoMap.containsKey(itemVO.getServeId())) {
removeList.add(itemVO);
continue;
}
GroupActivity4AppletDTO groupActivity4AppletDTO = groupDtoMap.get(itemVO.getServeId());
if (null == groupActivity4AppletDTO) {
continue;
}
itemVO.setTypeName("社群");
groupActivity4AppletDTO.setGroupName(groupActivity4AppletDTO.getName());
groupActivity4AppletDTO.setGroupDesc(groupActivity4AppletDTO.getCutDesc());
itemVO.setActivity4AppletDTO(groupActivity4AppletDTO);
rightsSettingBiz.fillThirdGroupHeadList(groupActivity4AppletDTO);
}
itemVOS.removeAll(removeList);
}
@ParamLog("填充平台书单")
......
......@@ -23,7 +23,7 @@ public class ResourcePageConstants {
APP_PRODUCT(1, "应用作品", new String[]{ServeTypeEnum.APP.getValue(), ServeTypeEnum.PRODUCT.getValue()}),
OFFICIAL_ACCOUNT(2, "公众号", new String[]{ServeTypeEnum.OFFICIAL_ACCOUNT.getValue()}),
BOOKLIST(3, "书单", new String[]{ServeTypeEnum.BOOKLIST.getValue(),ServeTypeEnum.ADVISER_BOOK.getValue()}),
GROUP(4, "社群", new String[]{ServeTypeEnum.GROUP_ACTIVITY.getValue()}),
GROUP(4, "社群", new String[]{ServeTypeEnum.GROUP_ACTIVITY.getValue(), ServeTypeEnum.WXWORK_GROUP.getValue()}),
THIRD_RESOURCE(5, "第三方资源", new String[]{ServeTypeEnum.THIRD_RESOURCE.getValue()}),
PICTURE(6, "图片位", new String[]{ServeTypeEnum.APP.getValue(), ServeTypeEnum.PRODUCT.getValue(),
ServeTypeEnum.GROUP_ACTIVITY.getValue(), ServeTypeEnum.THIRD_RESOURCE.getValue()});
......@@ -77,7 +77,8 @@ public class ResourcePageConstants {
BOOKLIST("BOOKLIST", "平台书单"),
ADVISER_BOOK("ADVISER_BOOK", "书刊"),
GROUP_ACTIVITY("GROUP_ACTIVITY", "模板群"),
THIRD_RESOURCE("THIRD_RESOURCE", "第三方资源");
THIRD_RESOURCE("THIRD_RESOURCE", "第三方资源"),
WXWORK_GROUP("WXWORK_GROUP","企业微信群");
private String value;
......
......@@ -5,7 +5,9 @@ import com.pcloud.book.applet.dto.AppletOuterBooklistDTO;
import com.pcloud.book.applet.dto.GroupActivity4AppletDTO;
import com.pcloud.book.applet.entity.AppletThirdResources;
import com.pcloud.book.book.vo.BookLinkVO;
import com.pcloud.book.book.vo.response.BookQrcodeWxworkResponseVO;
import com.pcloud.common.dto.BaseDto;
import com.pcloud.wechatgroup.wxwork.dto.WxworkGroupQrcodeBaseDTO;
import java.math.BigDecimal;
......@@ -91,7 +93,8 @@ public class ResourcePageItemVO extends BaseDto{
private GroupActivity4AppletDTO activity4AppletDTO;
@ApiModelProperty("第三方资源")
private AppletThirdResources appletThirdResources;
@ApiModelProperty("企业微信群")
private BookQrcodeWxworkResponseVO bookQrcodeWxworkResponseVO;
private Long sceneId;
......
......@@ -363,6 +363,8 @@ public class PcloudGroupActivityBizImpl implements PcloudGroupActivityBiz {
String filterStr = StringUtilParent.replaceHtml(vo.getDesc());
String subStr = filterStr.length() > 60 ? filterStr.substring(0, 60) + "..." : filterStr;
vo.setCutDesc(subStr);
vo.setGroupDesc(subStr);
vo.setGroupName(vo.getName());
}
//设置城市名称
setCityNames(queryGroupActivity.getRecordList());
......@@ -830,7 +832,7 @@ public class PcloudGroupActivityBizImpl implements PcloudGroupActivityBiz {
public Map<Long, GroupActivity4AppletDTO> getGroupActivityMap(List<Long> activityGroupIds) {
Map<Long, GroupActivity4AppletDTO> localMap = new HashMap<>();
if (!ListUtils.isEmpty(activityGroupIds)) {
localMap = pcloudGroupActivityDao.getByIds(activityGroupIds, null);
localMap = pcloudGroupActivityDao.getByIds(activityGroupIds, 1);
}
for(GroupActivity4AppletDTO groupActivity4AppletDTO: localMap.values()){
String filterStr = StringUtilParent.replaceHtml(groupActivity4AppletDTO.getDesc());
......
......@@ -7,6 +7,7 @@ import java.util.List;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class QueryGroupActivityResponseVO {
......@@ -124,4 +125,10 @@ public class QueryGroupActivityResponseVO {
@ApiModelProperty("群人数")
private Integer userNumber;
@ApiModelProperty("群名称")
private String groupName;
@ApiModelProperty("群描述")
private String groupDesc;
}
......@@ -68,6 +68,12 @@
<if test="bookGroupId != null">
book_group_id = #{bookGroupId},
</if>
<if test="bookId != null">
book_id = #{bookId},
</if>
<if test="channelId != null">
channel_id = #{channelId},
</if>
book_cover = #{bookCover},
update_time = NOW(),
background_img = #{backgroundImg},
......
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