Commit fc9772b2 by 朱亚洁

feat:[1005439]平台会员

parent 99cca262
package com.pcloud.book.group.dto;
import java.io.Serializable;
import java.util.List;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @ClassName com.pcloud.book.group.dto.MemberActivityBookSetDTO
* @Author zhuyajie
* @Description 会员活动书刊配置
* @Date 2021/9/24 11:25
* @Version 1.0
**/
@Data
public class MemberActivityBookSetDTO implements Serializable{
@ApiModelProperty("书刊id")
private Long bookId;
@ApiModelProperty("活动ids")
private List<Long> activityIds;
@ApiModelProperty("编辑id")
private Long adviserId;
}
...@@ -223,6 +223,12 @@ ...@@ -223,6 +223,12 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.pcloud.facade</groupId>
<artifactId>pcloud-facade-combinedmarketing</artifactId>
<version>${pcloud-facade3.version}</version>
</dependency>
<dependency>
<groupId>fakepath</groupId> <groupId>fakepath</groupId>
<artifactId>jbarcode</artifactId> <artifactId>jbarcode</artifactId>
<version>0.2.8</version> <version>0.2.8</version>
......
...@@ -142,7 +142,8 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz { ...@@ -142,7 +142,8 @@ public class AppletUserBookcaseBizImpl implements AppletUserBookcaseBiz {
//查询这本书书架中有没有 //查询这本书书架中有没有
AppletUserBookcase userBook = appletUserBookcaseDao.getUserReadType(wechatUserIdList, appletUserBookcase.getBookId(), appletUserBookcase.getAdviserId(), appletUserBookcase.getChannelId()); AppletUserBookcase userBook = appletUserBookcaseDao.getUserReadType(wechatUserIdList, appletUserBookcase.getBookId(), appletUserBookcase.getAdviserId(), appletUserBookcase.getChannelId());
//小程序领取书币任务埋点 //小程序领取书币任务埋点
if (null == userBook && appletUserBookcase.getOfficialAccountsId().equals(BookProps.getMiniOfficialAccountsId())) { if (null == userBook && null != appletUserBookcase.getOfficialAccountsId()
&& appletUserBookcase.getOfficialAccountsId().equals(BookProps.getMiniOfficialAccountsId())) {
Integer taskCount = readerConsr.getTaskCount(wechatUserId, MoneyReceiveTypeEnum.NEW_BOOK.key); Integer taskCount = readerConsr.getTaskCount(wechatUserId, MoneyReceiveTypeEnum.NEW_BOOK.key);
Integer subtractTaskCount = RmallContants.NEW_BOOK_MONEY_TIMES - 1; Integer subtractTaskCount = RmallContants.NEW_BOOK_MONEY_TIMES - 1;
if (null != taskCount && subtractTaskCount.equals(taskCount)) { if (null != taskCount && subtractTaskCount.equals(taskCount)) {
......
package com.pcloud.book.consumer.combinedmarketing;
import com.pcloud.combinedmarketing.memberActivity.dto.ActivityBaseInfoDTO;
import com.pcloud.combinedmarketing.memberActivity.service.ActivityService;
import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.ResponseHandleUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import lombok.extern.slf4j.Slf4j;
/**
* @ClassName com.pcloud.book.consumer.combinedmarketing.MemberActivityConsr
* @Author zhuyajie
* @Description 平台会员
* @Date 2021/9/16 11:16
* @Version 1.0
**/
@Component
@Slf4j
public class MemberActivityConsr {
@Autowired
private ActivityService activityService;
public Map<Long, ActivityBaseInfoDTO> mapMemberActivityBase(List<Long> activityIds) {
if (ListUtils.isEmpty(activityIds)) {
return new HashMap<>();
}
log.info("查平台会员活动信息,activityIds="+activityIds);
try {
return ResponseHandleUtil.parseMap(activityService.mapMemberActivityBase(activityIds), Long.class,ActivityBaseInfoDTO.class);
} catch (Exception e) {
log.error("查平台会员活动信息activityService.mapMemberActivityBase失败" +e.getMessage(), e);
}
return new HashMap<>();
}
}
...@@ -34,6 +34,7 @@ import com.pcloud.book.consumer.advsertising.AdvertisingConsr; ...@@ -34,6 +34,7 @@ import com.pcloud.book.consumer.advsertising.AdvertisingConsr;
import com.pcloud.book.consumer.analysisengine.BrowseRecordConsr; import com.pcloud.book.consumer.analysisengine.BrowseRecordConsr;
import com.pcloud.book.consumer.app.AppConsr; import com.pcloud.book.consumer.app.AppConsr;
import com.pcloud.book.consumer.channel.QrcodeSceneConsr; import com.pcloud.book.consumer.channel.QrcodeSceneConsr;
import com.pcloud.book.consumer.combinedmarketing.MemberActivityConsr;
import com.pcloud.book.consumer.raystask.AdviserTaskConsr; import com.pcloud.book.consumer.raystask.AdviserTaskConsr;
import com.pcloud.book.consumer.reader.ReaderConsr; import com.pcloud.book.consumer.reader.ReaderConsr;
import com.pcloud.book.consumer.resource.ProductConsr; import com.pcloud.book.consumer.resource.ProductConsr;
...@@ -67,8 +68,10 @@ import com.pcloud.channelcenter.qrcode.entity.QrcodeTemp; ...@@ -67,8 +68,10 @@ import com.pcloud.channelcenter.qrcode.entity.QrcodeTemp;
import com.pcloud.channelcenter.wechat.dto.AccountSettingDto; import com.pcloud.channelcenter.wechat.dto.AccountSettingDto;
import com.pcloud.channelcenter.wechat.entity.AccountSetting; import com.pcloud.channelcenter.wechat.entity.AccountSetting;
import com.pcloud.channelcenter.wechat.entity.Message; import com.pcloud.channelcenter.wechat.entity.Message;
import com.pcloud.combinedmarketing.memberActivity.dto.ActivityBaseInfoDTO;
import com.pcloud.common.core.aspect.ParamLog; import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.core.constant.AdviserTaskConstants; import com.pcloud.common.core.constant.AdviserTaskConstants;
import com.pcloud.common.core.constant.MQTopicProducer;
import com.pcloud.common.core.constant.ProductTypeConstant; import com.pcloud.common.core.constant.ProductTypeConstant;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.page.PageBeanNew; import com.pcloud.common.page.PageBeanNew;
...@@ -86,6 +89,7 @@ import com.pcloud.wechatgroup.wxwork.dto.WxworkGroupQrcodeBaseDTO; ...@@ -86,6 +89,7 @@ import com.pcloud.wechatgroup.wxwork.dto.WxworkGroupQrcodeBaseDTO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils; import org.apache.commons.collections.MapUtils;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -181,6 +185,10 @@ public class ResourcePageBizImpl implements ResourcePageBiz { ...@@ -181,6 +185,10 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
@Autowired @Autowired
private TradeConsr tradeConsr; private TradeConsr tradeConsr;
@Autowired @Autowired
private MemberActivityConsr memberActivityConsr;
@Autowired
private AmqpTemplate amqpTemplate;
@Autowired
private BookAdviserBiz bookAdviserBiz; private BookAdviserBiz bookAdviserBiz;
@Value("${nft.book}") @Value("${nft.book}")
...@@ -902,6 +910,31 @@ public class ResourcePageBizImpl implements ResourcePageBiz { ...@@ -902,6 +910,31 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
fillThirdResource(itemVOS); fillThirdResource(itemVOS);
} else if (ResourcePageConstants.ServeTypeEnum.WXWORK_GROUP.getValue().equals(serveType)) { } else if (ResourcePageConstants.ServeTypeEnum.WXWORK_GROUP.getValue().equals(serveType)) {
fillWxworkGroup(itemVOS); fillWxworkGroup(itemVOS);
} else if (ResourcePageConstants.ServeTypeEnum.MEMBER_ACTIVITY.getValue().equals(serveType)) {
fillMemberActivity(itemVOS);
}
}
@ParamLog("填充平台会员活动")
private void fillMemberActivity(List<ResourcePageItemVO> itemVOS) {
log.info("填充平台会员活动");
if (ListUtils.isEmpty(itemVOS)) {
return;
}
List<Long> serveIds = itemVOS.stream().map(ResourcePageItemVO::getServeId).distinct().collect(Collectors.toList());
Map<Long, ActivityBaseInfoDTO> baseInfoDTOMap = memberActivityConsr.mapMemberActivityBase(serveIds);
if (MapUtils.isEmpty(baseInfoDTOMap)) {
return;
}
for (ResourcePageItemVO itemVO : itemVOS) {
ActivityBaseInfoDTO baseInfoDTO = baseInfoDTOMap.get(itemVO.getServeId());
itemVO.setTypeName("平台会员活动");
if (null != baseInfoDTO) {
itemVO.setServeName(baseInfoDTO.getTitle());
itemVO.setServePic(baseInfoDTO.getSquareImg());
itemVO.setRemark(baseInfoDTO.getRemark());
itemVO.setTransverseImg(baseInfoDTO.getTransverseImg());
}
} }
} }
...@@ -1481,10 +1514,34 @@ public class ResourcePageBizImpl implements ResourcePageBiz { ...@@ -1481,10 +1514,34 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
//同步RAYS码资源配置 //同步RAYS码资源配置
ThreadPoolUtils.RESOURCE_POOL.execute(()->{ ThreadPoolUtils.RESOURCE_POOL.execute(()->{
this.updateOwnMessage4Qr(updateResourcePageVO.getSceneId()); this.updateOwnMessage4Qr(updateResourcePageVO.getSceneId());
this.sendMemberActivityQueue(resourcePageId);
}); });
return resourcePageId; return resourcePageId;
} }
/**
* 配置会员活动,发topic
* @author:zhuyajie
* @date:2021/9/24 11:29
* * @param null
*/
private void sendMemberActivityQueue(Long resourcePageId) {
List<ResourcePageItemVO> itemVOS = resourcePageItemDao.getResourcePageItemByPageId(resourcePageId,null);
if (ListUtils.isEmpty(itemVOS)) {
return;
}
List<Long> activityIds = itemVOS.stream().filter(s->ResourcePageConstants.ServeTypeEnum.MEMBER_ACTIVITY.getValue().equals(s.getServeType())).map(ResourcePageItemVO::getServeId).distinct().collect(Collectors.toList());
if (ListUtils.isEmpty(activityIds)){
return;
}
ResourcePage resourcePage = resourcePageDao.getById(resourcePageId);
MemberActivityBookSetDTO memberActivityBookSetDTO = new MemberActivityBookSetDTO();
memberActivityBookSetDTO.setBookId(resourcePage.getBookId());
memberActivityBookSetDTO.setAdviserId(resourcePage.getCreateUser());
memberActivityBookSetDTO.setActivityIds(activityIds);
amqpTemplate.convertAndSend(MQTopicProducer.EXCHAGE, MQTopicProducer.MEMBER_ACTIVITY_BOOK_SET, memberActivityBookSetDTO);
}
@Override @Override
public ResourcePageVO getResourcePageByBookGroupIdOrSceneId4Wechat(Long bookGroupId, Long wechatUserId, Long sceneId) { public ResourcePageVO getResourcePageByBookGroupIdOrSceneId4Wechat(Long bookGroupId, Long wechatUserId, Long sceneId) {
if (null == bookGroupId && null == sceneId) { if (null == bookGroupId && null == sceneId) {
......
...@@ -30,7 +30,8 @@ public class ResourcePageConstants { ...@@ -30,7 +30,8 @@ public class ResourcePageConstants {
THIRD_RESOURCE(5, "第三方资源", new String[]{ServeTypeEnum.THIRD_RESOURCE.getValue()}), THIRD_RESOURCE(5, "第三方资源", new String[]{ServeTypeEnum.THIRD_RESOURCE.getValue()}),
PICTURE(6, "图片位", new String[]{ServeTypeEnum.APP.getValue(), ServeTypeEnum.PRODUCT.getValue(), PICTURE(6, "图片位", new String[]{ServeTypeEnum.APP.getValue(), ServeTypeEnum.PRODUCT.getValue(),
ServeTypeEnum.GROUP_ACTIVITY.getValue(), ServeTypeEnum.THIRD_RESOURCE.getValue()}), ServeTypeEnum.GROUP_ACTIVITY.getValue(), ServeTypeEnum.THIRD_RESOURCE.getValue()}),
RAYS_TOOL(7,"RAYS工具",new String[]{ServeTypeEnum.APP.getValue()}); RAYS_TOOL(7,"RAYS工具",new String[]{ServeTypeEnum.APP.getValue()}),
MEMBER_ACTIVITY(8,"平台会员活动", new String[]{ServeTypeEnum.MEMBER_ACTIVITY.getValue()});
private Integer code; private Integer code;
private String name; private String name;
...@@ -82,7 +83,8 @@ public class ResourcePageConstants { ...@@ -82,7 +83,8 @@ public class ResourcePageConstants {
ADVISER_BOOK("ADVISER_BOOK", "书刊"), ADVISER_BOOK("ADVISER_BOOK", "书刊"),
GROUP_ACTIVITY("GROUP_ACTIVITY", "模板群"), GROUP_ACTIVITY("GROUP_ACTIVITY", "模板群"),
THIRD_RESOURCE("THIRD_RESOURCE", "第三方资源"), THIRD_RESOURCE("THIRD_RESOURCE", "第三方资源"),
WXWORK_GROUP("WXWORK_GROUP","企业微信群"); WXWORK_GROUP("WXWORK_GROUP","企业微信群"),
MEMBER_ACTIVITY("MEMBER_ACTIVITY","平台会员活动");
private String value; private String value;
......
...@@ -36,7 +36,7 @@ public interface ResourcePageItemDao extends BaseDao<ResourcePageItem>{ ...@@ -36,7 +36,7 @@ public interface ResourcePageItemDao extends BaseDao<ResourcePageItem>{
List<ResourcePageItemVO> getResourcePageItemByColumnId(Long resourcePageColumnId); List<ResourcePageItemVO> getResourcePageItemByColumnId(Long resourcePageColumnId);
/** /**
* 查资源毕业资料列表 * 查资源配置资源列表
* @author:zhuyajie * @author:zhuyajie
* @date:2021/3/29 16:38 * @date:2021/3/29 16:38
* * @param null * * @param null
......
...@@ -120,4 +120,7 @@ public class ResourcePageItemVO extends BaseDto{ ...@@ -120,4 +120,7 @@ public class ResourcePageItemVO extends BaseDto{
* 是否购买 * 是否购买
*/ */
private Boolean buyState; private Boolean buyState;
@ApiModelProperty("简介")
private String remark;
} }
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