Commit b69e0a33 by 田超

Merge branch 'feature/1004091' into 'master'

feat: [1004091] 本书服务改版

See merge request rays/pcloud-book!1158
parents 6a433de3 fe4477da
...@@ -1034,4 +1034,6 @@ public interface BookGroupBiz { ...@@ -1034,4 +1034,6 @@ public interface BookGroupBiz {
List<String> getWxUserInAgents(List<Long> agentIds); List<String> getWxUserInAgents(List<Long> agentIds);
List<Long> getBookGroupIdInAgents(List<Long> agentIds); List<Long> getBookGroupIdInAgents(List<Long> agentIds);
void fillBookServe4RightsSetting(List<BookServeDTO> bookServeVOS);
} }
...@@ -292,6 +292,7 @@ import java.io.File; ...@@ -292,6 +292,7 @@ import java.io.File;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
...@@ -300,6 +301,10 @@ import java.util.Map; ...@@ -300,6 +301,10 @@ import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.Random; import java.util.Random;
import java.util.Set; import java.util.Set;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;
import java.util.Set;
import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
...@@ -6203,7 +6208,7 @@ public class BookGroupBizImpl implements BookGroupBiz { ...@@ -6203,7 +6208,7 @@ public class BookGroupBizImpl implements BookGroupBiz {
if (CollUtil.isEmpty(collect.get("APP")) && CollUtil.isEmpty(collect.get("PRODUCT"))){ if (CollUtil.isEmpty(collect.get("APP")) && CollUtil.isEmpty(collect.get("PRODUCT"))){
return bookGroupSceneDTO; return bookGroupSceneDTO;
} }
List<Integer> mpServices = mpServiceMappingMapper.selectMapping(collect.get("APP"),collect.get("PRODUCT")); List<Integer> mpServices = mpServiceMappingMapper.selectMapping(collect.get("APP"),collect.get("PRODUCT"));
if (CollUtil.isEmpty(mpServices)){ if (CollUtil.isEmpty(mpServices)){
mpServices = new ArrayList<>(); mpServices = new ArrayList<>();
...@@ -6321,4 +6326,141 @@ public class BookGroupBizImpl implements BookGroupBiz { ...@@ -6321,4 +6326,141 @@ public class BookGroupBizImpl implements BookGroupBiz {
List<Long> list= bookGroupDao.getBookGroupIdInAgents(agentIds); List<Long> list= bookGroupDao.getBookGroupIdInAgents(agentIds);
return list; return list;
} }
@Override
public void fillBookServe4RightsSetting(List<BookServeDTO> serveDTOList) {
if (ListUtils.isEmpty(serveDTOList)) {
return;
}
List<Long> appIds = new ArrayList<>();
List<Long> productIds = new ArrayList<>();
for (BookServeDTO bookServeDTO : serveDTOList){
if (bookServeDTO.getServeType().equals(AppAndProductTypeEnum.APP.value) && !appIds.contains(bookServeDTO.getServeId())){
appIds.add(bookServeDTO.getServeId());
} else if (bookServeDTO.getServeType().equals(AppAndProductTypeEnum.PRODUCT.value) && !productIds.contains(bookServeDTO.getServeId())){
productIds.add(bookServeDTO.getServeId());
}
}
Map<Long, ProductDto> productDtoMap = new HashMap<>();
Map<Long, AppDto> appDtoMap = new HashMap<>();
List<BookServeDTO> removeList = new ArrayList<>(); //存储已经删除群的群分类; 精选文章类型并且跳转链接包含qrcode.5rs.me
FutureTask<Map<Long, ProductDto>> task = null;
FutureTask<Map<Long, AppDto>> task2 = null;
if (!ListUtils.isEmpty(productIds)) {
Callable<Map<Long, ProductDto>> callable = () -> productConsr.getProBasesByIds(productIds);
task = new FutureTask<>(callable);
new Thread(task).start();
}
if (!ListUtils.isEmpty(appIds)) {
Callable<Map<Long, AppDto>> callable = () -> appConsr.mapByIds4AuditPass(appIds);
task2 = new FutureTask<>(callable);
new Thread(task2).start();
}
if (task!=null) {
try {
productDtoMap = task.get();
} catch (InterruptedException e) {
LOGGER.error("获取商品失败fillProductAndApp");
} catch (ExecutionException e) {
LOGGER.error("获取商品失败fillProductAndApp");
}
}
if (task2!=null) {
try {
appDtoMap = task2.get();
} catch (InterruptedException e) {
LOGGER.error("获取应用失败fillProductAndApp");
} catch (ExecutionException e) {
LOGGER.error("获取应用失败fillProductAndApp");
}
}
Map<Long,AccountSettingDto>offMap = new HashMap<>();
for (BookServeDTO bookServeDTO : serveDTOList) {
AccountSettingDto accountSettingDto;
if (AppAndProductTypeEnum.PRODUCT.value.equals(bookServeDTO.getServeType())) {
if (!MapUtils.isEmpty(productDtoMap) && null != productDtoMap.get(bookServeDTO.getServeId())) {
ProductDto productDto = productDtoMap.get(bookServeDTO.getServeId());
if (checkRayUrl(productDto.getSkipUrl()) && ProductTypeConstant.ARTICLE.equals(bookServeDTO.getFromType())) {
removeList.add(bookServeDTO);
continue;
}
bookServeDTO.setServeName(productDto.getProductName());
bookServeDTO.setCoverImg(productDto.getCoverImg());
bookServeDTO.setTransverseImg(productDto.getPicture1());
if (productDto.getProductTypeDto() != null) {
bookServeDTO.setFromType(productDto.getProductTypeDto().getTypeCode());
bookServeDTO.setFromTypeName(productDto.getProductTypeDto().getTypeName());
}
//获取channelId,/C1404/product/display/10234028?adviserId=1001587&proType=MEMBER&source_type=QRCODE
Long channelId = null;
String url = bookServeDTO.getUrl();
if (url.contains("/C") && !url.startsWith("https")) {
url = url.substring(url.indexOf("/C") + 2);
url = url.substring(0, url.indexOf("/"));
if (!StringUtil.isEmpty(url)) {
channelId = Long.valueOf(url);
}
}
if (null != channelId) {
accountSettingDto = offMap.get(channelId);
if (accountSettingDto == null) {
accountSettingDto = qrcodeSceneConsr.getWechatInfo(channelId);
offMap.put(channelId, accountSettingDto);
}
if (null == accountSettingDto) {
LOGGER.info("运营平台未配置公众号channelId"+channelId);
removeList.add(bookServeDTO);
}
String resultLinkUrl = SendWeixinRequestTools.splitUrl(accountSettingDto, url);
bookServeDTO.setResultUrl(resultLinkUrl);
} else {
bookServeDTO.setResultUrl(url);
}
if (!StringUtil.isEmpty(productDto.getSkipUrl())) {
bookServeDTO.setHasThirdLink(true);
} else {
bookServeDTO.setHasThirdLink(false);
}
} else {
removeList.add(bookServeDTO);
}
continue;
}
if (AppAndProductTypeEnum.APP.value.equals(bookServeDTO.getServeType())) {
if (!MapUtils.isEmpty(appDtoMap) && null != appDtoMap.get(bookServeDTO.getServeId())) {
AppDto appDto = appDtoMap.get(bookServeDTO.getServeId());
if (checkRayUrl(appDto.getTurnUrl()) && AppTypeEnum.ARTICLE.value.equals(appDto.getTypeCode())){
removeList.add(bookServeDTO);
continue;
}
bookServeDTO.setServeName(appDto.getTitle());
bookServeDTO.setCoverImg(appDto.getSquareImg());
bookServeDTO.setFromType(appDto.getTypeCode());
bookServeDTO.setFromTypeName(appDto.getTypeName());
bookServeDTO.setTransverseImg(appDto.getTransverseImg());
accountSettingDto = offMap.get(appDto.getChannelId());
if(accountSettingDto==null){
accountSettingDto = qrcodeSceneConsr.getWechatInfo(appDto.getChannelId());
offMap.put(appDto.getChannelId(),accountSettingDto);
}
if (null == accountSettingDto){
LOGGER.info("运营平台未配置公众号channelId"+appDto.getChannelId());
removeList.add(bookServeDTO);
}
String resultLinkUrl = SendWeixinRequestTools.splitUrl(accountSettingDto, bookServeDTO.getUrl());
bookServeDTO.setResultUrl(resultLinkUrl);
if (!StringUtil.isEmpty(appDto.getTurnUrl())){
bookServeDTO.setHasThirdLink(true);
} else {
bookServeDTO.setHasThirdLink(false);
}
} else {
removeList.add(bookServeDTO); //把要移除的统一放在一个集合
}
continue;
}
}
serveDTOList.removeAll(removeList);
}
} }
...@@ -45,4 +45,10 @@ public class BookServeDTO extends BaseDto { ...@@ -45,4 +45,10 @@ public class BookServeDTO extends BaseDto {
@ApiModelProperty("是否有第三方链接") @ApiModelProperty("是否有第三方链接")
private Boolean hasThirdLink; private Boolean hasThirdLink;
@ApiModelProperty("应用/资讯/作品图片-大图")
private String transverseImg;
@ApiModelProperty("跳转结果链接")
private String resultUrl;
} }
...@@ -6,6 +6,7 @@ import com.pcloud.book.rightsSetting.dto.FillRightsSettingAppletsDTO; ...@@ -6,6 +6,7 @@ import com.pcloud.book.rightsSetting.dto.FillRightsSettingAppletsDTO;
import com.pcloud.book.rightsSetting.dto.PopupResourceInfoDTO; import com.pcloud.book.rightsSetting.dto.PopupResourceInfoDTO;
import com.pcloud.book.rightsSetting.dto.ResourceList4Answer; import com.pcloud.book.rightsSetting.dto.ResourceList4Answer;
import com.pcloud.book.rightsSetting.dto.RightsSettingDto; import com.pcloud.book.rightsSetting.dto.RightsSettingDto;
import com.pcloud.book.rightsSetting.dto.RightsSettingQueryDTO;
import com.pcloud.book.rightsSetting.dto.RightsSettingShowStateDTO; import com.pcloud.book.rightsSetting.dto.RightsSettingShowStateDTO;
import com.pcloud.book.rightsSetting.entity.BaseTempletClassify; import com.pcloud.book.rightsSetting.entity.BaseTempletClassify;
import com.pcloud.book.rightsSetting.entity.RightsItemGroup; import com.pcloud.book.rightsSetting.entity.RightsItemGroup;
...@@ -208,4 +209,43 @@ public interface RightsSettingBiz { ...@@ -208,4 +209,43 @@ public interface RightsSettingBiz {
* * @param null * * @param null
*/ */
Integer getPopupCount(Long wechatUserId, Long bookId, Integer popupType); Integer getPopupCount(Long wechatUserId, Long bookId, Integer popupType);
/**
* 更新权益配置
* @author:zhuyajie
* @date:2020/12/24 15:54
* * @param null
*/
void updateRightsSettingNew(RightsSetting rightsSetting);
/**
* 权益查询
* @author:zhuyajie
* @date:2020/12/24 16:49
* * @param null
*/
RightsSetting getRightsSettingNew(Long id);
/**
* 小程序查资源服务
* @author:zhuyajie
* @date:2020/12/24 17:43
* * @param null
*/
RightsSetting getRightsSettingItemsByTypeListNew(RightsSettingQueryDTO rightsSettingQueryDTO);
/**
* 所有权益分类-新版
* @author:zhuyajie
* @date:2020/12/25 14:15
* * @param null
*/
List<RightsSettingClassify> getAllRightsClassifyNew();
/**
* 处理权益旧数据
* @author:zhuyajie
* @date:2020/12/29 9:56
* * @param null
*/
void handleRightsSettingOld(List<Long> rightsSettingIdList);
} }
package com.pcloud.book.rightsSetting.constants; package com.pcloud.book.rightsSetting.constants;
import com.pcloud.book.rightsSetting.enums.RightsNowItemTypeNew;
import com.pcloud.book.rightsSetting.enums.RightsWeekTypeEnum;
import com.pcloud.common.constant.CacheConstant; import com.pcloud.common.constant.CacheConstant;
import com.pcloud.common.core.constant.ProductTypeConstant; import com.pcloud.common.core.constant.ProductTypeConstant;
import com.pcloud.common.enums.AppTypeEnum; import com.pcloud.common.enums.AppTypeEnum;
import java.util.Arrays;
import java.util.List;
public class RightsSettingConstant { public class RightsSettingConstant {
/** /**
...@@ -77,4 +82,46 @@ public class RightsSettingConstant { ...@@ -77,4 +82,46 @@ public class RightsSettingConstant {
* 教辅一级分类 * 教辅一级分类
*/ */
public static final Long[] K12_TEMPLET_ID_NEW = {534L}; public static final Long[] K12_TEMPLET_ID_NEW = {534L};
/**
* 权益页改版
* 17固定模块一,18固定模块二,19固定模块三
* 3学习工具,4抽奖,5专享礼包券,6社群服务,15老师1V1,16线上专享课
* 7线上学习/阅读提醒,8线上读书活动,9书单推荐,10资讯推送
* 11亲子活动设计,13线下读书活动推荐,14抢兑课程/实物礼品
*/
public static final Integer[] RIGHTSSETTING_TYPES_NEW ={
RightsNowItemTypeNew.FIXED_FIRST.value, RightsNowItemTypeNew.FIXED_SECOND.value, RightsNowItemTypeNew.FIXED_THIRD.value,
RightsNowItemTypeNew.LEARNING_TOOL.value, RightsNowItemTypeNew.DRAW.value,
RightsNowItemTypeNew.GIFT_COUPON_PACKAGE.value, RightsNowItemTypeNew.GROUP_SERVICE.value,
RightsNowItemTypeNew.COACH.value, RightsNowItemTypeNew.ONLINE_EXCL_COURSE.value,
RightsWeekTypeEnum.ONLINE_REMIND.key, RightsWeekTypeEnum.ONLINE_READING_ACTIVITY.key,
RightsWeekTypeEnum.BOOK_RECOMMEND.key, RightsWeekTypeEnum.NEWS_PUSH.key,
RightsWeekTypeEnum.FAMILY_ACTIVITY.key, RightsWeekTypeEnum.OFFLINE_READING_ACTIVITY.key,
RightsWeekTypeEnum.COURSE_OR_GIFT.key};
/**
*固定模块2展示的应用作品类型
* 直播课,视频,视频课,专家咨询,名师辅导
*/
public static final List<String> FIXED_SECOND_APPLET_APP_LIST = Arrays.asList(
AppTypeEnum.LIVE_TIMETABLE.value, AppTypeEnum.VIDEO.value, AppTypeEnum.QA.value, AppTypeEnum.TUTOR.value
);
public static final List<String> FIXED_SECOND_APPLET_PRODUCT_LIST = Arrays.asList(
ProductTypeConstant.SCHEDULE, ProductTypeConstant.VIDEO, ProductTypeConstant.VIDEO_SCHEDULE
);
/**
*固定模块3展示的应用作品类型
* 图文、课件、试卷、教辅资料包、素材包、作品集、高清大图,笔顺动图,热门电子书,在线题库
*/
public static final List<String> FIXED_THIRD_APPLET_APP_LIST = Arrays.asList(
AppTypeEnum.PDF.value, AppTypeEnum.COURSE_WARE.value, AppTypeEnum.TEST_PAPER.value,
AppTypeEnum.TEACH_RESOURCE.value, AppTypeEnum.IMAGE.value, AppTypeEnum.STROKE_ORDER.value,
AppTypeEnum.EBOOK.value, AppTypeEnum.ITEM_BANK.value, AppTypeEnum.BOOK.value
);
public static final List<String> FIXED_THIRD_APPLET_PRODUCT_LIST = Arrays.asList(
ProductTypeConstant.PDF,ProductTypeConstant.FORMAT, ProductTypeConstant.EBOOK,
ProductTypeConstant.ALBUM, ProductTypeConstant.PRETEST
);
} }
...@@ -41,7 +41,6 @@ public interface RightsSettingItemDao extends BaseDao<RightsSettingItem>{ ...@@ -41,7 +41,6 @@ public interface RightsSettingItemDao extends BaseDao<RightsSettingItem>{
*/ */
List<RightsSettingClassify>getAllRightsClassify(String rightsType); List<RightsSettingClassify>getAllRightsClassify(String rightsType);
List<RightsSettingItem> getItemByRightsIdAndType(Long rightsSettingId, String rightsType);
List<RightsSettingItem> getItemsByRightsSettingId4Read(Long rightsSettingId, String rightsType); List<RightsSettingItem> getItemsByRightsSettingId4Read(Long rightsSettingId, String rightsType);
...@@ -52,4 +51,20 @@ public interface RightsSettingItemDao extends BaseDao<RightsSettingItem>{ ...@@ -52,4 +51,20 @@ public interface RightsSettingItemDao extends BaseDao<RightsSettingItem>{
List<RightsSettingItem> getItemsByClassify(Long firstClassify, Long secondClassify, Long gradeLabelId, Long subjectLabelId, Long volLabelId, String rightsType, Integer readType, Long rightsClassifyId, Long thirdClassify); List<RightsSettingItem> getItemsByClassify(Long firstClassify, Long secondClassify, Long gradeLabelId, Long subjectLabelId, Long volLabelId, String rightsType, Integer readType, Long rightsClassifyId, Long thirdClassify);
List<RightsSettingItem> getRightSettingInfo(String serveType, String rightsType, Long rightsSettingId); List<RightsSettingItem> getRightSettingInfo(String serveType, String rightsType, Long rightsSettingId);
/**
* 根据id查询权益模块列表
* @author:zhuyajie
* @date:2020/12/25 14:30
* * @param null
*/
List<RightsSettingClassify> getRightsClassifyByIds(List<Integer> ids);
/**
* 查配置的权益模块
* @author:zhuyajie
* @date:2020/12/29 11:26
* * @param null
*/
List<RightsSettingItem> getRightSettingItemByIds(List<Long> itemIds);
} }
\ No newline at end of file
...@@ -48,4 +48,12 @@ public interface RightsSettingItemDetailDao extends BaseDao<RightsSettingItemDet ...@@ -48,4 +48,12 @@ public interface RightsSettingItemDetailDao extends BaseDao<RightsSettingItemDet
* @param activityIds * @param activityIds
*/ */
void deleteInvalidActivityGroups(List<Long> activityIds); void deleteInvalidActivityGroups(List<Long> activityIds);
/**
* 查权益配置的资源
* @author:zhuyajie
* @date:2020/12/29 11:09
* * @param null
*/
List<RightsSettingItemDetail> getByRightsSettingIdList(List<Long> rightsSettingIdList);
} }
\ No newline at end of file
...@@ -42,14 +42,6 @@ public class RightsSettingItemDaoImpl extends BaseDaoImpl<RightsSettingItem> imp ...@@ -42,14 +42,6 @@ public class RightsSettingItemDaoImpl extends BaseDaoImpl<RightsSettingItem> imp
} }
@Override @Override
public List<RightsSettingItem> getItemByRightsIdAndType(Long rightsSettingId, String rightsType) {
Map<String,Object> map = new HashMap<>();
map.put("rightsSettingId",rightsSettingId);
map.put("rightsType",rightsType);
return getSessionTemplate().selectList(getStatement("getItemByRightsIdAndType"), map);
}
@Override
public List<RightsSettingItem> getItemsByRightsSettingId4Read(Long rightsSettingId, String rightsType) { public List<RightsSettingItem> getItemsByRightsSettingId4Read(Long rightsSettingId, String rightsType) {
Map<String,Object> map = new HashMap<>(); Map<String,Object> map = new HashMap<>();
map.put("rightsSettingId",rightsSettingId); map.put("rightsSettingId",rightsSettingId);
...@@ -94,4 +86,18 @@ public class RightsSettingItemDaoImpl extends BaseDaoImpl<RightsSettingItem> imp ...@@ -94,4 +86,18 @@ public class RightsSettingItemDaoImpl extends BaseDaoImpl<RightsSettingItem> imp
return getSessionTemplate().selectList(getStatement("getRightSettingInfo"), map); return getSessionTemplate().selectList(getStatement("getRightSettingInfo"), map);
} }
@Override
public List<RightsSettingClassify> getRightsClassifyByIds(List<Integer> ids){
Map<String,Object> map = new HashMap<>();
map.put("list",ids);
return getSessionTemplate().selectList(getStatement("getRightsClassifyByIds"), map);
}
@Override
public List<RightsSettingItem> getRightSettingItemByIds(List<Long> itemIds) {
Map<String,Object> map = new HashMap<>();
map.put("list",itemIds);
return getSessionTemplate().selectList(getStatement("getRightSettingItemByIds"), map);
}
} }
...@@ -55,4 +55,9 @@ public class RightsSettingItemDetailDaoImpl extends BaseDaoImpl<RightsSettingIte ...@@ -55,4 +55,9 @@ public class RightsSettingItemDetailDaoImpl extends BaseDaoImpl<RightsSettingIte
public void deleteInvalidActivityGroups(List<Long> activityIds) { public void deleteInvalidActivityGroups(List<Long> activityIds) {
getSessionTemplate().delete(getStatement("deleteInvalidActivityGroups"), activityIds); getSessionTemplate().delete(getStatement("deleteInvalidActivityGroups"), activityIds);
} }
@Override
public List<RightsSettingItemDetail> getByRightsSettingIdList(List<Long> rightsSettingIdList) {
return getSessionTemplate().selectList(getStatement("getByRightsSettingIdList"), rightsSettingIdList);
}
} }
\ No newline at end of file
package com.pcloud.book.rightsSetting.dto;
import java.util.List;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @ClassName com.pcloud.book.rightsSetting.dto.RightsSettingQueryDTO
* @Author zhuyajie
* @Description 小程序权益查询
* @Date 2020/12/25 9:29
* @Version 1.0
**/
@Data
public class RightsSettingQueryDTO {
@ApiModelProperty("权益id")
private Long rightsSettingId;
@ApiModelProperty("权益类型列表")
private List<Integer> rightsSettingTypes;
@ApiModelProperty("编辑id")
private Long adviserId;
@ApiModelProperty("书刊id")
private Long bookId;
@ApiModelProperty("运营id")
private Long channelId;
@ApiModelProperty("用户id")
private Long wechatUserId;
}
package com.pcloud.book.rightsSetting.entity; package com.pcloud.book.rightsSetting.entity;
import com.pcloud.book.applet.dto.AppletOuterBooklistDTO;
import com.pcloud.book.applet.dto.GroupActivity4AppletDTO; import com.pcloud.book.applet.dto.GroupActivity4AppletDTO;
import com.pcloud.common.entity.BaseEntity; import com.pcloud.common.entity.BaseEntity;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
...@@ -10,6 +11,7 @@ import lombok.EqualsAndHashCode; ...@@ -10,6 +11,7 @@ import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List;
/** /**
* @Description * @Description
...@@ -135,4 +137,26 @@ public class RightsNowItem extends BaseEntity { ...@@ -135,4 +137,26 @@ public class RightsNowItem extends BaseEntity {
@ApiModelProperty("评估价图片") @ApiModelProperty("评估价图片")
private String appraisalImg; private String appraisalImg;
@ApiModelProperty("自定义排序")
private Integer rank;
@ApiModelProperty("外部书单列表")
private List<AppletOuterBooklistDTO> outerBooklistDTOS;
/**
* 书单主题名称
*/
private String booklistName;
/**
* 创建者名称
*/
private String userName;
/**
* 展示图
*/
private String displayPic;
/**
* 出版社
*/
private String publish;
} }
package com.pcloud.book.rightsSetting.enums;
public enum RightsNowItemType {
/**
* 1线上网课
*/
ONLINE_COURSE(1),
/**
* 2学习工具
*/
LEARNING_TOOL(2),
/**
* 3抽奖
*/
DRAW(3),
/**
* 4专享礼包券
*/
GIFT_COUPON_PACKAGE(4),
/**
* 5社群服务
*/
GROUP_SERVICE(5),
/**
* 6 配套资料
*/
SERVES(6),
/**
* 7线上学习/阅读提醒
*/
ONLINE_REMIND(7),
/**
* 线上读书活动
*/
ONLINE_READING_ACTIVITY(8);
public final Integer value;
RightsNowItemType(Integer value) {
this.value = value;
}
}
...@@ -29,28 +29,29 @@ public enum RightsNowItemTypeNew { ...@@ -29,28 +29,29 @@ public enum RightsNowItemTypeNew {
* 6社群服务 * 6社群服务
*/ */
GROUP_SERVICE(6), GROUP_SERVICE(6),
/*
*
* 7线上学习/阅读提醒
*/
ONLINE_REMIND(7),
/**
* 线上读书活动
*/
ONLINE_READING_ACTIVITY(8),
/** /**
* 老师1V1 * 老师1V1
*/ */
COACH(15), COACH(15),
/** /**
* 线上专享课 * 线上专享课
*/ */
ONLINE_EXCL_COURSE(16); ONLINE_EXCL_COURSE(16),
/**
* 固定模块一/必备!第一手
*/
FIXED_FIRST(17),
/**
* 固定模块二/晋级!课程提升
*/
FIXED_SECOND(18),
/**
* 固定模块三/拓展!资料延伸
*/
FIXED_THIRD(19);
public final Integer value; public final Integer value;
......
...@@ -7,6 +7,7 @@ package com.pcloud.book.rightsSetting.enums; ...@@ -7,6 +7,7 @@ package com.pcloud.book.rightsSetting.enums;
* @版本:1.0 * @版本:1.0
*/ */
public enum RightsWeekTypeEnum { public enum RightsWeekTypeEnum {
//每周、长期权益添加到立享权益中
/** /**
* 7线上学习/阅读提醒 * 7线上学习/阅读提醒
......
...@@ -3,6 +3,7 @@ package com.pcloud.book.rightsSetting.facade; ...@@ -3,6 +3,7 @@ package com.pcloud.book.rightsSetting.facade;
import com.pcloud.book.base.exception.BookBizException; import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.rightsSetting.biz.RightsSettingBiz; import com.pcloud.book.rightsSetting.biz.RightsSettingBiz;
import com.pcloud.book.rightsSetting.dto.RightsSettingDto; import com.pcloud.book.rightsSetting.dto.RightsSettingDto;
import com.pcloud.book.rightsSetting.dto.RightsSettingQueryDTO;
import com.pcloud.book.rightsSetting.dto.RightsSettingShowStateDTO; import com.pcloud.book.rightsSetting.dto.RightsSettingShowStateDTO;
import com.pcloud.book.rightsSetting.entity.RightsNowPic; import com.pcloud.book.rightsSetting.entity.RightsNowPic;
import com.pcloud.book.rightsSetting.entity.RightsNowPopup; import com.pcloud.book.rightsSetting.entity.RightsNowPopup;
...@@ -386,4 +387,47 @@ public class RightsSettingFacede { ...@@ -386,4 +387,47 @@ public class RightsSettingFacede {
} }
return new ResponseDto<>(rightsSettingBiz.getRightsItemGroupsByBookGroup(bookGroupId, wechatUserId)); return new ResponseDto<>(rightsSettingBiz.getRightsItemGroupsByBookGroup(bookGroupId, wechatUserId));
} }
@ApiOperation("平台端更新权益设置-新版")
@PostMapping("updateRightsSettingNew")
public ResponseDto<?> updateRightsSettingNew( @RequestHeader("token") String token,
@RequestBody @Validated RightsSetting rightsSetting ) throws PermissionException {
Map<String,Object> map = SessionUtil.getToken4Redis(token);
Long userId = (Long) map.get(SessionUtil.USER_ID);
rightsSetting.setUpdateUserId(userId);
rightsSettingBiz.updateRightsSettingNew(rightsSetting);
return new ResponseDto<>();
}
@ApiOperation("平台端根据id查权益-新版")
@GetMapping("getRightsSettingNew")
public ResponseDto<RightsSetting> getRightsSettingNew(
@RequestHeader("token") String token,
@RequestParam("id") Long id ) throws PermissionException {
SessionUtil.getToken4Redis(token);
return new ResponseDto<>(rightsSettingBiz.getRightsSettingNew(id));
}
@SneakyThrows
@ApiOperation("获取即享权益项-新版")
@PostMapping("getRightsSettingItemsByTypeListNew")
public ResponseDto<RightsSetting> getRightsSettingItemsByTypeListNew(
@CookieValue("userInfo") String userInfo, @RequestBody RightsSettingQueryDTO rightsSettingQueryDTO) {
Long wechatUserId = Cookie.getId(userInfo, Cookie._WECHAT_USER_ID);
rightsSettingQueryDTO.setWechatUserId(wechatUserId);
return new ResponseDto<>(rightsSettingBiz.getRightsSettingItemsByTypeListNew(rightsSettingQueryDTO));
}
@ApiOperation("所有权益分类-新版")
@GetMapping("getAllRightsClassifyNew")
public ResponseDto<List<RightsSettingClassify>> getAllRightsClassifyNew() {
return new ResponseDto<>(rightsSettingBiz.getAllRightsClassifyNew());
}
@ApiOperation("处理权益模块旧数据")
@PostMapping("handleRightsSettingOld")
public ResponseDto<?> handleRightsSettingOld(@RequestBody List<Long> rightsSettingIdList){
rightsSettingBiz.handleRightsSettingOld(rightsSettingIdList);
return new ResponseDto<>();
}
} }
\ No newline at end of file
...@@ -26,4 +26,6 @@ public interface RightsSettingTitleMapper { ...@@ -26,4 +26,6 @@ public interface RightsSettingTitleMapper {
RightsSettingTitle getByRightSettingIdAndType(@Param("rightsSettingId") Long rightsSettingId, @Param("type") Integer type, @Param("readType")Integer readType); RightsSettingTitle getByRightSettingIdAndType(@Param("rightsSettingId") Long rightsSettingId, @Param("type") Integer type, @Param("readType")Integer readType);
ReadTypeCountDTO getCount4Title(Long rightsSettingId); ReadTypeCountDTO getCount4Title(Long rightsSettingId);
List<RightsSettingTitle> getByRightSettingIdAndTypes(@Param("rightsSettingId")Long rightsSettingId, @Param("types") List<Integer> types);
} }
\ No newline at end of file
...@@ -36,7 +36,7 @@ import com.pcloud.book.rightsSetting.entity.BaseTempletClassify; ...@@ -36,7 +36,7 @@ import com.pcloud.book.rightsSetting.entity.BaseTempletClassify;
import com.pcloud.book.rightsSetting.entity.RightsNowItem; import com.pcloud.book.rightsSetting.entity.RightsNowItem;
import com.pcloud.book.rightsSetting.entity.RightsSettingItemDetail; import com.pcloud.book.rightsSetting.entity.RightsSettingItemDetail;
import com.pcloud.book.rightsSetting.entity.RightsSettingTitle; import com.pcloud.book.rightsSetting.entity.RightsSettingTitle;
import com.pcloud.book.rightsSetting.enums.RightsNowItemType; import com.pcloud.book.rightsSetting.enums.RightsNowItemTypeNew;
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.biz.PcloudGroupActivityBiz;
import com.pcloud.book.skill.dao.PcloudGroupActivityDao; import com.pcloud.book.skill.dao.PcloudGroupActivityDao;
...@@ -497,7 +497,7 @@ public class PcloudGroupActivityBizImpl implements PcloudGroupActivityBiz { ...@@ -497,7 +497,7 @@ public class PcloudGroupActivityBizImpl implements PcloudGroupActivityBiz {
return new GroupActivity4AppletDTO(); return new GroupActivity4AppletDTO();
} }
// 是否开启社群服务开关 // 是否开启社群服务开关
RightsSettingTitle right = rightsSettingTitleMapper.getByRightSettingIdAndType(rightSettingId, RightsNowItemType.GROUP_SERVICE.value,readType); RightsSettingTitle right = rightsSettingTitleMapper.getByRightSettingIdAndType(rightSettingId, RightsNowItemTypeNew.GROUP_SERVICE.value,readType);
if (null == right){ if (null == right){
return new GroupActivity4AppletDTO(); return new GroupActivity4AppletDTO();
} }
......
...@@ -1206,7 +1206,7 @@ ...@@ -1206,7 +1206,7 @@
SELECT SELECT
DISTINCT t.book_group_id DISTINCT t.book_group_id
FROM FROM
book_group_cipher_user t t left JOIN book_group bg on t.book_group_id=t.id book_group_cipher_user t left JOIN book_group bg on t.book_group_id=t.id
where bg.agent_id in where bg.agent_id in
<foreach collection="agentIds" open="(" close=")" item="item" separator=","> <foreach collection="agentIds" open="(" close=")" item="item" separator=",">
#{item} #{item}
......
...@@ -206,4 +206,21 @@ ...@@ -206,4 +206,21 @@
</foreach> </foreach>
</delete> </delete>
<select id="getByRightsSettingIdList" parameterType="list" resultMap="BaseResultMap">
SELECT
d.rights_setting_item_id,
d.serve_id,
d.serve_type,
d.group_type,
d.link_url
FROM
rights_setting_item_detail d
LEFT JOIN rights_setting_item i ON i.id = d.rights_setting_item_id
WHERE
i.rights_setting_id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -21,6 +21,11 @@ ...@@ -21,6 +21,11 @@
<result property="displayType" column="display_type" jdbcType="INTEGER" /> <result property="displayType" column="display_type" jdbcType="INTEGER" />
</resultMap> </resultMap>
<sql id="Base_Column_List">
id, rights_setting_id, rights_type, rights_classify_id, description, create_time, title, open_state, service_desc,
serve_type, collage_state, display_type
</sql>
<!--通过实体作为筛选条件查询--> <!--通过实体作为筛选条件查询-->
<select id="queryAll" resultType="com.pcloud.book.rightsSetting.entity.RightsSettingItem" > <select id="queryAll" resultType="com.pcloud.book.rightsSetting.entity.RightsSettingItem" >
select select
...@@ -282,4 +287,23 @@ ...@@ -282,4 +287,23 @@
order by c.create_time order by c.create_time
</select> </select>
<select id="getRightsClassifyByIds" parameterType="map" resultType="com.pcloud.book.rightsSetting.entity.RightsSettingClassify">
SELECT id, classify, rights_type rightsType,pic_url picUrl
FROM rights_setting_classify
WHERE
id in
<foreach collection="list" open="(" close=")" separator="," index="index" item="item">
#{item}
</foreach>
</select>
<select id="getRightSettingItemByIds" resultMap="RightsSettingItemMap" parameterType="map">
SELECT <include refid="Base_Column_List"/>
FROM rights_setting_item
WHERE id in
<foreach collection="list" open="(" close=")" separator="," index="index" item="item">
#{item}
</foreach>
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -212,4 +212,19 @@ ...@@ -212,4 +212,19 @@
rights_setting_id = #{rightsSettingId}; rights_setting_id = #{rightsSettingId};
</select> </select>
<select id="getByRightSettingIdAndTypes" resultMap="BaseResultMap" parameterType="map">
select
<include refid="baseSql"/>
from
rights_setting_title
where
rights_setting_id = #{rightsSettingId}
and
rights_setting_now_type in
<foreach collection="types" item="item" index="index" separator="," close=")" open="(">
#{item}
</foreach>
order by seq_num asc, id asc
</select>
</mapper> </mapper>
\ No newline at end of file
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