Commit 620a96af by 郑永强

【1002844】每周权益中线上活动类型支持群入口配置

parent d554ddbb
...@@ -2116,6 +2116,7 @@ public class BookBizImpl implements BookBiz { ...@@ -2116,6 +2116,7 @@ public class BookBizImpl implements BookBiz {
//填充出版社信息 //填充出版社信息
List<Long> adviserIds=list.stream().filter(s->s.getAdviserId()!=null).map(BookDto::getAdviserId).distinct().collect(Collectors.toList()); List<Long> adviserIds=list.stream().filter(s->s.getAdviserId()!=null).map(BookDto::getAdviserId).distinct().collect(Collectors.toList());
Map<Long, AdviserBaseInfoDto> infoDtoMap = adviserConsr.getAdviserId2AdviserInfoDtoMap(adviserIds); Map<Long, AdviserBaseInfoDto> infoDtoMap = adviserConsr.getAdviserId2AdviserInfoDtoMap(adviserIds);
Map<Long, String> adviserMap = adviserConsr.getNames(adviserIds);
List<Long> templetIds = new ArrayList<>(); List<Long> templetIds = new ArrayList<>();
list.forEach(BookDto -> { list.forEach(BookDto -> {
if (Objects.nonNull(BookDto.getTempletId())) { if (Objects.nonNull(BookDto.getTempletId())) {
...@@ -2145,6 +2146,9 @@ public class BookBizImpl implements BookBiz { ...@@ -2145,6 +2146,9 @@ public class BookBizImpl implements BookBiz {
bookDto.setAgentName(infoDto.getAgentName()); bookDto.setAgentName(infoDto.getAgentName());
} }
} }
if(adviserMap != null){
bookDto.setAdviserName(adviserMap.get(adviserId));
}
}); });
} }
......
...@@ -20,6 +20,7 @@ import com.pcloud.book.book.entity.BookLabel; ...@@ -20,6 +20,7 @@ import com.pcloud.book.book.entity.BookLabel;
import com.pcloud.book.consumer.app.AppConsr; import com.pcloud.book.consumer.app.AppConsr;
import com.pcloud.book.consumer.app.AssistTempletConsr; import com.pcloud.book.consumer.app.AssistTempletConsr;
import com.pcloud.book.consumer.channel.QrcodeSceneConsr; import com.pcloud.book.consumer.channel.QrcodeSceneConsr;
import com.pcloud.book.consumer.reader.ReaderConsr;
import com.pcloud.book.consumer.resource.ProductConsr; import com.pcloud.book.consumer.resource.ProductConsr;
import com.pcloud.book.custom.biz.CustomPlanBiz; import com.pcloud.book.custom.biz.CustomPlanBiz;
import com.pcloud.book.custom.entity.CustomPlan; import com.pcloud.book.custom.entity.CustomPlan;
...@@ -53,6 +54,9 @@ import com.pcloud.book.rightsSetting.enums.RightsItemGroupType; ...@@ -53,6 +54,9 @@ import com.pcloud.book.rightsSetting.enums.RightsItemGroupType;
import com.pcloud.book.rightsSetting.enums.RightsNowItemType; import com.pcloud.book.rightsSetting.enums.RightsNowItemType;
import com.pcloud.book.rightsSetting.enums.RightsTypeEnum; import com.pcloud.book.rightsSetting.enums.RightsTypeEnum;
import com.pcloud.book.rightsSetting.mapper.RightsSettingTitleMapper; import com.pcloud.book.rightsSetting.mapper.RightsSettingTitleMapper;
import com.pcloud.book.skill.biz.PcloudGroupActivityBiz;
import com.pcloud.book.skill.dao.PcloudGroupActivityDao;
import com.pcloud.book.skill.dto.GroupActivity4AppletDTO;
import com.pcloud.book.util.common.CommonUtils; import com.pcloud.book.util.common.CommonUtils;
import com.pcloud.book.util.common.YesOrNoEnums; import com.pcloud.book.util.common.YesOrNoEnums;
import com.pcloud.channelcenter.wechat.dto.AccountSettingDto; import com.pcloud.channelcenter.wechat.dto.AccountSettingDto;
...@@ -64,6 +68,7 @@ import com.pcloud.common.page.PageParam; ...@@ -64,6 +68,7 @@ import com.pcloud.common.page.PageParam;
import com.pcloud.common.utils.ListUtils; import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.cache.redis.JedisClusterUtils; import com.pcloud.common.utils.cache.redis.JedisClusterUtils;
import com.pcloud.common.utils.string.StringUtil; import com.pcloud.common.utils.string.StringUtil;
import com.pcloud.common.utils.string.StringUtilParent;
import com.pcloud.resourcecenter.product.dto.ProductDto; import com.pcloud.resourcecenter.product.dto.ProductDto;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
...@@ -98,6 +103,8 @@ import lombok.extern.slf4j.Slf4j; ...@@ -98,6 +103,8 @@ import lombok.extern.slf4j.Slf4j;
@Slf4j @Slf4j
public class RightsSettingBizImpl implements RightsSettingBiz { public class RightsSettingBizImpl implements RightsSettingBiz {
private static final String GROUP_HEAD_URL_REDIS="BOOK:APPLET:RIGHTSSETTINGBIZIMPL:SETGROUPACTIVITY";
@Autowired @Autowired
private RightsSettingDAO rightsSettingDAO; private RightsSettingDAO rightsSettingDAO;
@Autowired @Autowired
...@@ -142,6 +149,12 @@ public class RightsSettingBizImpl implements RightsSettingBiz { ...@@ -142,6 +149,12 @@ public class RightsSettingBizImpl implements RightsSettingBiz {
private CustomPlanMapper customPlanMapper; private CustomPlanMapper customPlanMapper;
@Autowired @Autowired
private CustomPlanBiz customPlanBiz; private CustomPlanBiz customPlanBiz;
@Autowired
private PcloudGroupActivityBiz pcloudGroupActivityBiz;
@Autowired
private PcloudGroupActivityDao pcloudGroupActivityDao;
@Autowired
private ReaderConsr readerConsr;
@Override @Override
...@@ -246,7 +259,7 @@ public class RightsSettingBizImpl implements RightsSettingBiz { ...@@ -246,7 +259,7 @@ public class RightsSettingBizImpl implements RightsSettingBiz {
} }
for (RightsSettingItem itemVO : rightsSetting.getRightsSettingWeekItems()) { for (RightsSettingItem itemVO : rightsSetting.getRightsSettingWeekItems()) {
RightsSettingItem vo = map.get(itemVO.getUuid()); RightsSettingItem vo = map.get(itemVO.getUuid());
if (Objects.isNull(vo) || !RightsNowItemType.ONLINE_REMIND.value.equals(vo.getRightsClassifyId().intValue())) { if (Objects.isNull(vo) || !(RightsNowItemType.ONLINE_REMIND.value.equals(vo.getRightsClassifyId().intValue()) || RightsNowItemType.ONLINE_READING_ACTIVITY.value.equals(vo.getRightsClassifyId().intValue()))) {
continue; continue;
} }
RightsReadPlan rightsReadPlan = new RightsReadPlan(); RightsReadPlan rightsReadPlan = new RightsReadPlan();
...@@ -928,10 +941,59 @@ public class RightsSettingBizImpl implements RightsSettingBiz { ...@@ -928,10 +941,59 @@ public class RightsSettingBizImpl implements RightsSettingBiz {
if (!ListUtils.isEmpty(rightsSettingItemIds)) { if (!ListUtils.isEmpty(rightsSettingItemIds)) {
List<RightsCustomRelation> rightsCustomRelations = rightsCustomRelationDao.getCustomByItemIds(rightsSettingItemIds); List<RightsCustomRelation> rightsCustomRelations = rightsCustomRelationDao.getCustomByItemIds(rightsSettingItemIds);
list = setReadPlan4Week(rightsCustomRelations, list); list = setReadPlan4Week(rightsCustomRelations, list);
setGroupActivity(list);
} }
return list; return list;
} }
private void setGroupActivity(List<RightsSettingItem> list){
if(ListUtils.isEmpty(list)){
return;
}
List<Long> rightsSettingItemIds = list.stream().filter(e -> YesOrNoEnums.YES.getValue().equals(e.getIsOpen())
&& RightsNowItemType.ONLINE_READING_ACTIVITY.value.equals(e.getRightsClassifyId().intValue()))
.map(e -> e.getId()).collect(Collectors.toList());
if(ListUtils.isEmpty(rightsSettingItemIds)){
return;
}
// 书刊分类
BookAdviserDto bookAdviserDto = bookAdviserBiz.getOneMainBook(list.get(0).getBookId());
BaseTempletClassify baseTempletClassify = new BaseTempletClassify();
baseTempletClassify.setFirstClassify(bookAdviserDto.getTempletId());
baseTempletClassify.setSecondClassify(bookAdviserDto.getSecondTempletId());
baseTempletClassify.setGradeLabelId(bookAdviserDto.getGraLabelId());
baseTempletClassify.setSubjectLabelId(bookAdviserDto.getSubLabelId());
setClassifyAndLabel(baseTempletClassify);
// 通过书刊分类拿群
GroupActivity4AppletDTO groupActivity4AppletDTO = pcloudGroupActivityDao.getGroupActivity4Applet(baseTempletClassify.getFirstClassify(),baseTempletClassify.getSecondClassify(),baseTempletClassify.getGradeLabelId(),baseTempletClassify.getSubjectLabelId());
if(groupActivity4AppletDTO == null){
// 如果书刊没拿到群,则通过权益分类拿群
RightsSetting rightsSetting = rightsSettingDAO.selectByPrimaryKey(list.get(0).getRightsSettingId());
setClassifyAndLabel(rightsSetting);
groupActivity4AppletDTO = pcloudGroupActivityDao.getGroupActivity4Applet(rightsSetting.getFirstClassify(), rightsSetting.getSecondClassify(),rightsSetting.getGradeLabelId(),rightsSetting.getSubjectLabelId());
}
if(groupActivity4AppletDTO != null){
String filterStr = StringUtilParent.replaceHtml(groupActivity4AppletDTO.getDesc());
String subStr = filterStr.length() > 60 ? filterStr.substring(0, 60) + "..." : filterStr;
groupActivity4AppletDTO.setCutDesc(subStr);
//头像列表从缓存里取
List<String> headUrlList = JedisClusterUtils.hgetJson2List(GROUP_HEAD_URL_REDIS,groupActivity4AppletDTO.getGroupActivityId().toString(),String.class);
//缓存为空或数量不一致,重新获取
if (ListUtils.isEmpty(headUrlList) ||
(headUrlList.size()<9 && !groupActivity4AppletDTO.getUserNumber().equals(headUrlList.size()))){
headUrlList = readerConsr.getRandomHeadUrlList(groupActivity4AppletDTO.getUserNumber()>9 ? 9:groupActivity4AppletDTO.getUserNumber());
JedisClusterUtils.hset2Json(GROUP_HEAD_URL_REDIS,groupActivity4AppletDTO.getGroupActivityId().toString(),headUrlList);
JedisClusterUtils.expire(GROUP_HEAD_URL_REDIS,3600);
}
groupActivity4AppletDTO.setHeadUrlList(headUrlList);
for(RightsSettingItem rightsSettingItem : list){
if(rightsSettingItemIds.contains(rightsSettingItem.getId())){
rightsSettingItem.setGroupActivity4AppletDTO(groupActivity4AppletDTO);
}
}
}
}
private List<RightsSettingItem> setReadPlan4Week(List<RightsCustomRelation> rightsCustomRelations, List<RightsSettingItem> list) { private List<RightsSettingItem> setReadPlan4Week(List<RightsCustomRelation> rightsCustomRelations, List<RightsSettingItem> list) {
log.info("为每周权益设置读书计划"); log.info("为每周权益设置读书计划");
if (ListUtils.isEmpty(list) || ListUtils.isEmpty(rightsCustomRelations)) { if (ListUtils.isEmpty(list) || ListUtils.isEmpty(rightsCustomRelations)) {
...@@ -1248,5 +1310,13 @@ public class RightsSettingBizImpl implements RightsSettingBiz { ...@@ -1248,5 +1310,13 @@ public class RightsSettingBizImpl implements RightsSettingBiz {
} }
} }
/**
* 根据书刊获取权益
* @return
*/
public RightsSettingDto getRightSettingByBookId(Long bookId, Long adviserId, Long channelId){
//根据分类获取权益
BookAdviserDto adviserDto = bookAdviserBiz.getBase(bookId, channelId, adviserId);
return getByLabel(adviserDto.getTempletId(), adviserDto.getSecondTempletId(), adviserDto.getGraLabelId(), adviserDto.getSubLabelId());
}
} }
...@@ -3,6 +3,7 @@ package com.pcloud.book.rightsSetting.entity; ...@@ -3,6 +3,7 @@ package com.pcloud.book.rightsSetting.entity;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.pcloud.book.applet.dto.AppletNewsDTO; import com.pcloud.book.applet.dto.AppletNewsDTO;
import com.pcloud.book.custom.entity.CustomPlan; import com.pcloud.book.custom.entity.CustomPlan;
import com.pcloud.book.skill.dto.GroupActivity4AppletDTO;
import com.pcloud.common.entity.BaseEntity; import com.pcloud.common.entity.BaseEntity;
import java.util.Date; import java.util.Date;
...@@ -69,4 +70,10 @@ public class RightsSettingItem extends BaseEntity { ...@@ -69,4 +70,10 @@ public class RightsSettingItem extends BaseEntity {
@ApiModelProperty("唯一键") @ApiModelProperty("唯一键")
private String uuid; private String uuid;
@ApiModelProperty("书刊id")
private Long bookId;
@ApiModelProperty("社群")
private GroupActivity4AppletDTO groupActivity4AppletDTO;
} }
\ No newline at end of file
...@@ -32,7 +32,11 @@ public enum RightsNowItemType { ...@@ -32,7 +32,11 @@ public enum RightsNowItemType {
* 7线上学习/阅读提醒 * 7线上学习/阅读提醒
*/ */
ONLINE_REMIND(7); ONLINE_REMIND(7),
/**
* 线上读书活动
*/
ONLINE_READING_ACTIVITY(8);
public final Integer value; public final Integer value;
......
...@@ -297,12 +297,7 @@ public class PcloudGroupActivityBizImpl implements PcloudGroupActivityBiz { ...@@ -297,12 +297,7 @@ public class PcloudGroupActivityBizImpl implements PcloudGroupActivityBiz {
baseTempletClassify.setSubjectLabelId(dto.getSubLabelId()); baseTempletClassify.setSubjectLabelId(dto.getSubLabelId());
rightsSettingBiz.setClassifyAndLabel(baseTempletClassify); rightsSettingBiz.setClassifyAndLabel(baseTempletClassify);
Map<String, Object> map = new HashMap<>(); GroupActivity4AppletDTO groupActivity4AppletDTO = pcloudGroupActivityDao.getGroupActivity4Applet(baseTempletClassify.getFirstClassify(),baseTempletClassify.getSecondClassify(),baseTempletClassify.getGradeLabelId(),baseTempletClassify.getSubjectLabelId());
map.put("firstClassify", baseTempletClassify.getFirstClassify());
map.put("secondClassify", baseTempletClassify.getSecondClassify());
map.put("gradeLabelId", baseTempletClassify.getGradeLabelId());
map.put("subjectLabelId", baseTempletClassify.getSubjectLabelId());
GroupActivity4AppletDTO groupActivity4AppletDTO = pcloudGroupActivityDao.getGroupActivity4Applet(map);
if(groupActivity4AppletDTO == null){ if(groupActivity4AppletDTO == null){
return new GroupActivity4AppletDTO(); return new GroupActivity4AppletDTO();
} }
......
...@@ -15,7 +15,7 @@ public interface PcloudGroupActivityDao extends BaseDao<PcloudGroupActivity> { ...@@ -15,7 +15,7 @@ public interface PcloudGroupActivityDao extends BaseDao<PcloudGroupActivity> {
void updateByPrimaryKeySelective(PcloudGroupActivity entity); void updateByPrimaryKeySelective(PcloudGroupActivity entity);
GroupActivity4AppletDTO getGroupActivity4Applet(Map<String, Object> map); GroupActivity4AppletDTO getGroupActivity4Applet(Long firstClassify,Long secondClassify,Long gradeLabelId,Long subjectLabelId);
List<GroupActivity4AppletDTO> getTishBookSchoolList(BaseTempletClassify baseTempletClassify); List<GroupActivity4AppletDTO> getTishBookSchoolList(BaseTempletClassify baseTempletClassify);
} }
\ No newline at end of file
...@@ -7,6 +7,7 @@ import com.pcloud.book.skill.entity.PcloudGroupActivity; ...@@ -7,6 +7,7 @@ import com.pcloud.book.skill.entity.PcloudGroupActivity;
import com.pcloud.book.skill.facade.response.QueryGroupActivityResponseVO; import com.pcloud.book.skill.facade.response.QueryGroupActivityResponseVO;
import com.pcloud.common.core.dao.BaseDaoImpl; import com.pcloud.common.core.dao.BaseDaoImpl;
import java.util.HashMap;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List; import java.util.List;
...@@ -26,7 +27,12 @@ public class PcloudGroupActivityDaoImpl extends BaseDaoImpl<PcloudGroupActivity> ...@@ -26,7 +27,12 @@ public class PcloudGroupActivityDaoImpl extends BaseDaoImpl<PcloudGroupActivity>
} }
@Override @Override
public GroupActivity4AppletDTO getGroupActivity4Applet(Map<String, Object> map) { public GroupActivity4AppletDTO getGroupActivity4Applet(Long firstClassify,Long secondClassify,Long gradeLabelId,Long subjectLabelId) {
Map<String, Object> map = new HashMap<>();
map.put("firstClassify", firstClassify);
map.put("secondClassify", secondClassify);
map.put("gradeLabelId", gradeLabelId);
map.put("subjectLabelId", subjectLabelId);
return super.getSqlSession().selectOne(getStatement("getGroupActivity4Applet"), map); return super.getSqlSession().selectOne(getStatement("getGroupActivity4Applet"), map);
} }
......
...@@ -18,9 +18,11 @@ ...@@ -18,9 +18,11 @@
select select
i.id, i.rights_setting_id rightsSettingId, i.id, i.rights_setting_id rightsSettingId,
i.rights_type rightsType, i.rights_classify_id rightsClassifyId, i.rights_type rightsType, i.rights_classify_id rightsClassifyId,
i.description, i.create_time createTime, i.title,i.uuid,IFNULL(p.is_open,0) isOpen,p.service_desc serviceDesc i.description, i.create_time createTime, i.title,i.uuid,IFNULL(p.is_open,0) isOpen,p.service_desc serviceDesc,
c.book_id bookId
from book.rights_setting_item i from book.rights_setting_item i
left join book.rights_read_plan p on i.id=p.rights_setting_item_id left join book.rights_read_plan p on i.id=p.rights_setting_item_id
LEFT JOIN rights_setting c ON c.id=i.rights_setting_id
<where> <where>
<if test="id != null"> <if test="id != null">
and i.id = #{id} and i.id = #{id}
......
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