Commit 05e2d44b by 田超

Merge branch 'feature/1004392' into 'master'

feat: [1004392] 读书卡片一期

See merge request rays/pcloud-book!1252
parents 6d86d8bd 1ba43661
package com.pcloud.book.consumer.app; package com.pcloud.book.consumer.app;
import cn.hutool.core.collection.CollUtil;
import com.pcloud.appcenter.app.dto.AppDto; import com.pcloud.appcenter.app.dto.AppDto;
import com.pcloud.appcenter.app.dto.AppIdTypeDTO;
import com.pcloud.appcenter.app.dto.AppRaysDTO; import com.pcloud.appcenter.app.dto.AppRaysDTO;
import com.pcloud.appcenter.app.dto.AppTypeDto; import com.pcloud.appcenter.app.dto.AppTypeDto;
import com.pcloud.appcenter.app.service.AppService; import com.pcloud.appcenter.app.service.AppService;
...@@ -21,6 +23,7 @@ import org.springframework.http.ResponseEntity; ...@@ -21,6 +23,7 @@ import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -255,4 +258,14 @@ public class AppConsr { ...@@ -255,4 +258,14 @@ public class AppConsr {
public List<String> getRaysAppTypeCodes() { public List<String> getRaysAppTypeCodes() {
return ResponseHandleUtil.parseList(appService.getRaysAppTypeCodes(), String.class); return ResponseHandleUtil.parseList(appService.getRaysAppTypeCodes(), String.class);
} }
public List<AppIdTypeDTO> listAppTypeById(List<Long> appIds) {
if (CollUtil.isEmpty(appIds)) return new ArrayList<>();
try {
return ResponseHandleUtil.parseList(appService.listAppTypeById(appIds), AppIdTypeDTO.class);
} catch (Exception e) {
LOGGER.warn("根据ID获取code失败!,appIds:{}", appIds, e);
return new ArrayList<>();
}
}
} }
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
*/ */
package com.pcloud.book.consumer.user; package com.pcloud.book.consumer.user;
import cn.hutool.core.util.ObjectUtil;
import com.pcloud.channelcenter.base.exceptions.ChannelBizException; import com.pcloud.channelcenter.base.exceptions.ChannelBizException;
import com.pcloud.channelcenter.qrcode.dto.AdviserQrcodeSceneDTO; import com.pcloud.channelcenter.qrcode.dto.AdviserQrcodeSceneDTO;
import com.pcloud.channelcenter.qrcode.dto.MapResourceCountDTO; import com.pcloud.channelcenter.qrcode.dto.MapResourceCountDTO;
...@@ -10,6 +11,7 @@ import com.pcloud.channelcenter.qrcode.dto.QrcodeMessageDTO; ...@@ -10,6 +11,7 @@ import com.pcloud.channelcenter.qrcode.dto.QrcodeMessageDTO;
import com.pcloud.channelcenter.qrcode.dto.QrcodeSceneDto; import com.pcloud.channelcenter.qrcode.dto.QrcodeSceneDto;
import com.pcloud.channelcenter.qrcode.service.QrcodeLocationAssocService; import com.pcloud.channelcenter.qrcode.service.QrcodeLocationAssocService;
import com.pcloud.channelcenter.qrcode.service.QrcodeSceneService; import com.pcloud.channelcenter.qrcode.service.QrcodeSceneService;
import com.pcloud.channelcenter.qrcode.vo.ServeIdTypeVO;
import com.pcloud.channelcenter.wechat.entity.AccountSetting; import com.pcloud.channelcenter.wechat.entity.AccountSetting;
import com.pcloud.channelcenter.wechat.service.AccountSettingService; import com.pcloud.channelcenter.wechat.service.AccountSettingService;
import com.pcloud.channelcenter.wechat.service.MessageService; import com.pcloud.channelcenter.wechat.service.MessageService;
...@@ -286,4 +288,19 @@ public class ChannelConsr { ...@@ -286,4 +288,19 @@ public class ChannelConsr {
throw new ChannelBizException(ChannelBizException.PARAM_IS_NULL, "获取是否小睿教育书失败"); throw new ChannelBizException(ChannelBizException.PARAM_IS_NULL, "获取是否小睿教育书失败");
} }
} }
/**
* 查询图书下配置的资源ID和资源类型
*/
public List<ServeIdTypeVO> listServeIdType4Book(Long bookId, Long channelId, Long adviserId) {
if (ObjectUtil.hasEmpty(bookId, channelId, adviserId)) {
return new ArrayList<>();
}
try {
return ResponseHandleUtil.parseList(qrcodeSceneService.listServeIdType4Book(bookId, channelId, adviserId), ServeIdTypeVO.class);
} catch (Exception e) {
LOGGER.error("查询图书下配置的资源ID和资源类型失败 " + e.getMessage(), e);
return new ArrayList<>();
}
}
} }
...@@ -10,6 +10,7 @@ import com.pcloud.book.group.dto.TopAgentBookGroupDTO; ...@@ -10,6 +10,7 @@ import com.pcloud.book.group.dto.TopAgentBookGroupDTO;
import com.pcloud.book.group.entity.BookGroup; import com.pcloud.book.group.entity.BookGroup;
import com.pcloud.book.group.entity.QrChangeRecord; import com.pcloud.book.group.entity.QrChangeRecord;
import com.pcloud.book.group.vo.BookGroupAnalysisVO; import com.pcloud.book.group.vo.BookGroupAnalysisVO;
import com.pcloud.book.rightsSetting.dto.ServeIdTypeDTO;
import com.pcloud.common.core.dao.BaseDao; import com.pcloud.common.core.dao.BaseDao;
import java.util.List; import java.util.List;
...@@ -386,4 +387,6 @@ public interface BookGroupDao extends BaseDao<BookGroup> { ...@@ -386,4 +387,6 @@ public interface BookGroupDao extends BaseDao<BookGroup> {
List<BookGroupDTO> listBookGroupIds(List<Long> bookIds, List<Long> adviserIds, List<Long> channelIds); List<BookGroupDTO> listBookGroupIds(List<Long> bookIds, List<Long> adviserIds, List<Long> channelIds);
List<BookGroupDTO> getDTOByBookIdList(Long bookId, Long channelId, Long adviserId); List<BookGroupDTO> getDTOByBookIdList(Long bookId, Long channelId, Long adviserId);
List<ServeIdTypeDTO> listServeIdAndType4Book(Long bookId, Long channelId, Long adviserId);
} }
...@@ -11,6 +11,7 @@ import com.pcloud.book.group.dto.TopAgentBookGroupDTO; ...@@ -11,6 +11,7 @@ import com.pcloud.book.group.dto.TopAgentBookGroupDTO;
import com.pcloud.book.group.entity.BookGroup; import com.pcloud.book.group.entity.BookGroup;
import com.pcloud.book.group.entity.QrChangeRecord; import com.pcloud.book.group.entity.QrChangeRecord;
import com.pcloud.book.group.vo.BookGroupAnalysisVO; import com.pcloud.book.group.vo.BookGroupAnalysisVO;
import com.pcloud.book.rightsSetting.dto.ServeIdTypeDTO;
import com.pcloud.common.core.dao.BaseDaoImpl; import com.pcloud.common.core.dao.BaseDaoImpl;
import com.pcloud.common.utils.ListForInSQL; import com.pcloud.common.utils.ListForInSQL;
...@@ -522,4 +523,13 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou ...@@ -522,4 +523,13 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou
paramMap.put("adviserId", adviserId); paramMap.put("adviserId", adviserId);
return super.getSqlSession().selectList(getStatement("getDTOByBookIdList"), paramMap); return super.getSqlSession().selectList(getStatement("getDTOByBookIdList"), paramMap);
} }
@Override
public List<ServeIdTypeDTO> listServeIdAndType4Book(Long bookId, Long channelId, Long adviserId) {
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("bookId", bookId);
paramMap.put("channelId", channelId);
paramMap.put("adviserId", adviserId);
return getSqlSession().selectList(getStatement("listServeIdAndType4Book"), paramMap);
}
} }
...@@ -270,4 +270,9 @@ public interface RightsSettingBiz { ...@@ -270,4 +270,9 @@ public interface RightsSettingBiz {
* @param rightsSettingBanners * @param rightsSettingBanners
*/ */
void fillReadGuide(List<RightsSettingBanner> rightsSettingBanners); void fillReadGuide(List<RightsSettingBanner> rightsSettingBanners);
/**
* 根据图书信息及权益ID检查是否配置了读书卡片应用
*/
Map<String,Object> getBookCardId4Book(Long bookId, Long channelId, Long adviserId, Long rightsSettingId);
} }
...@@ -2,12 +2,14 @@ package com.pcloud.book.rightsSetting.biz.impl; ...@@ -2,12 +2,14 @@ package com.pcloud.book.rightsSetting.biz.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.pcloud.appcenter.app.dto.AppDto; import com.pcloud.appcenter.app.dto.AppDto;
import com.pcloud.appcenter.app.dto.AppIdTypeDTO;
import com.pcloud.appcenter.assist.dto.AssistTempletDTO; import com.pcloud.appcenter.assist.dto.AssistTempletDTO;
import com.pcloud.book.applet.biz.AppletBooklistBiz; import com.pcloud.book.applet.biz.AppletBooklistBiz;
import com.pcloud.book.applet.biz.AppletGroupSearchRecordBiz; import com.pcloud.book.applet.biz.AppletGroupSearchRecordBiz;
...@@ -84,6 +86,7 @@ import com.pcloud.book.rightsSetting.dto.ResourceList4Answer; ...@@ -84,6 +86,7 @@ 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.RightsSettingQueryDTO;
import com.pcloud.book.rightsSetting.dto.RightsSettingShowStateDTO; import com.pcloud.book.rightsSetting.dto.RightsSettingShowStateDTO;
import com.pcloud.book.rightsSetting.dto.ServeIdTypeDTO;
import com.pcloud.book.rightsSetting.entity.BaseTempletClassify; import com.pcloud.book.rightsSetting.entity.BaseTempletClassify;
import com.pcloud.book.rightsSetting.entity.RightsCustomRelation; import com.pcloud.book.rightsSetting.entity.RightsCustomRelation;
import com.pcloud.book.rightsSetting.entity.RightsItemGroup; import com.pcloud.book.rightsSetting.entity.RightsItemGroup;
...@@ -116,6 +119,7 @@ import com.pcloud.book.skill.dao.PcloudGroupActivityDao; ...@@ -116,6 +119,7 @@ import com.pcloud.book.skill.dao.PcloudGroupActivityDao;
import com.pcloud.book.applet.dto.GroupActivity4AppletDTO; import com.pcloud.book.applet.dto.GroupActivity4AppletDTO;
import com.pcloud.book.util.common.YesOrNoEnums; import com.pcloud.book.util.common.YesOrNoEnums;
import com.pcloud.channelcenter.qrcode.dto.QrcodeSceneDto; import com.pcloud.channelcenter.qrcode.dto.QrcodeSceneDto;
import com.pcloud.channelcenter.qrcode.vo.ServeIdTypeVO;
import com.pcloud.channelcenter.wechat.dto.AccountSettingDto; import com.pcloud.channelcenter.wechat.dto.AccountSettingDto;
import com.pcloud.common.constant.CacheConstant; import com.pcloud.common.constant.CacheConstant;
import com.pcloud.common.core.aspect.ParamLog; import com.pcloud.common.core.aspect.ParamLog;
...@@ -154,6 +158,7 @@ import java.util.Iterator; ...@@ -154,6 +158,7 @@ import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.Optional;
import java.util.Random; import java.util.Random;
import java.util.concurrent.Callable; import java.util.concurrent.Callable;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
...@@ -1080,6 +1085,86 @@ public class RightsSettingBizImpl implements RightsSettingBiz { ...@@ -1080,6 +1085,86 @@ public class RightsSettingBizImpl implements RightsSettingBiz {
} }
} }
@Override
public Map<String,Object> getBookCardId4Book(Long bookId, Long channelId, Long adviserId, Long rightsSettingId) {
// 1. 根据图书获取公众号码下的资源中是否包含读书笔记
CompletableFuture<List<ServeIdTypeVO>> channelServes = CompletableFuture.supplyAsync(() -> channelConsr.listServeIdType4Book(bookId, channelId, adviserId))
.thenApply(serveIdTypeDTOS -> serveIdTypeDTOS.stream().filter(x->Objects.nonNull(x) && Objects.equals(x.getServeType(),"APP")
&& Objects.equals(x.getTypeCode(),"BOOKCARD")).collect(Collectors.toList()));
// 2. 根据图书获取社群码下的资源中是否包含读书笔记
CompletableFuture<List<ServeIdTypeDTO>> groupServes = CompletableFuture.supplyAsync(() -> bookGroupDao.listServeIdAndType4Book(bookId, channelId, adviserId))
.thenApply(serveIdTypeDTOS -> serveIdTypeDTOS.stream().filter(x->Objects.nonNull(x) && Objects.equals(x.getServeType(),"APP")
&& Objects.equals(x.getTypeCode(),"BOOKCARD")).collect(Collectors.toList()));
// 3. 根据权益ID获取权益下配置的资源中是否包含读书笔记
CompletableFuture<List<ServeIdTypeDTO>> rightsServes = Optional.ofNullable(rightsSettingId).map(tempId -> CompletableFuture.supplyAsync(() -> rightsNowItemDao.listServeIdAndTypeByRightsSettingId(rightsSettingId))
.thenApply(serveIdTypeDTOS -> {
List<Long> appIds = serveIdTypeDTOS.stream().filter(x -> Objects.nonNull(x) && Objects.equals(x.getServeType(), "APP"))
.map(ServeIdTypeDTO::getServeId).filter(Objects::nonNull).distinct().collect(Collectors.toList());
// 去APP查询APP类型
List<Long> targetIds = Optional.ofNullable(appConsr.listAppTypeById(appIds)).map(x -> x.stream()
.filter(it -> Objects.nonNull(it) && Objects.equals(it.getTypeCode(), "BOOKCARD"))
.map(AppIdTypeDTO::getAppId).filter(Objects::nonNull).distinct().collect(Collectors.toList())).orElse(new ArrayList<>());
return serveIdTypeDTOS.stream().filter(x -> Objects.nonNull(x) && targetIds.contains(x.getServeId())).collect(Collectors.toList());
})).orElse(CompletableFuture.supplyAsync(ArrayList::new));
try {
CompletableFuture.allOf(channelServes, groupServes, rightsServes).get();
List<ServeIdTypeDTO> channel = Optional.ofNullable(channelServes.get()).map(x-> x.stream().map(it->{
ServeIdTypeDTO serveIdTypeDTO = new ServeIdTypeDTO();
BeanUtils.copyProperties(it,serveIdTypeDTO);
return serveIdTypeDTO;
}).collect(Collectors.toList())).orElse(new ArrayList<>());
List<ServeIdTypeDTO> group = Optional.ofNullable(groupServes.get()).orElse(new ArrayList<>());
List<ServeIdTypeDTO> rights = Optional.ofNullable(rightsServes.get()).orElse(new ArrayList<>());
channel.addAll(group);
channel.addAll(rights);
List<Long> appIds = channel.stream().filter(Objects::nonNull).map(ServeIdTypeDTO::getServeId).filter(Objects::nonNull).distinct().collect(Collectors.toList());
if (CollUtil.isEmpty(appIds)){
return new HashMap<>();
}
Map<Long, AppDto> baseByIds = appConsr.getBaseByIds(appIds);
if (CollUtil.isEmpty(baseByIds) || CollUtil.isEmpty(baseByIds.values())){
return new HashMap<>();
}
// 应用审核通过并且没有删除
appIds = new ArrayList<>(baseByIds.values()).stream().filter(x -> Objects.nonNull(x) && StrUtil.equals(x.getAuditState(), "1")
&& !x.getIsDelete()).map(AppDto::getAppId).collect(Collectors.toList());
List<Long> finalAppIds = appIds;
Long serveId = channel.stream().filter(x->Objects.nonNull(x)&& finalAppIds.contains(x.getServeId()))
.max(Comparator.comparing(ServeIdTypeDTO::getCreateTime, Comparator.nullsFirst(Date::compareTo)))
.orElse(new ServeIdTypeDTO()).getServeId();
if (Objects.isNull(serveId)) return new HashMap<>();
Map<String, Object> map = MapUtil.of("serveId", serveId);
map.put("resultUrl","");
// 根据serveId获取跳转链接
AppDto appDto = baseByIds.get(serveId);
String resultLinkUrl = null;
if (Objects.nonNull(appDto.getChannelId())) {
AccountSettingDto accountSettingDto = qrcodeSceneConsr.getWechatInfo(appDto.getChannelId());
// 根据 APP 拼接 linkUrl
String linkUrl = ServeLinkUtils.getServeLink("APP", appDto.getTypeCode(), appDto.getAppId().toString(),
appDto.getSceneCode(), appDto.getChannelId().toString(), appDto.getCreatedUser().toString(), null);
if (Objects.nonNull(accountSettingDto)) {
resultLinkUrl = SendWeixinRequestTools.splitUrl(accountSettingDto, linkUrl);
map.put("resultUrl",resultLinkUrl);
}
}
return map;
} catch (InterruptedException | ExecutionException e) {
log.warn("异步任务执行失败!bookId:{} channelId:{} adviserId:{} rightsSettingId:{}", bookId, channelId, adviserId, rightsSettingId);
}
return new HashMap<>();
}
private void fillRightsNowItems4New(RightsSetting rightsSetting) { private void fillRightsNowItems4New(RightsSetting rightsSetting) {
log.info("即享权益填充详情"); log.info("即享权益填充详情");
List<Integer> types = new ArrayList<>(); List<Integer> types = new ArrayList<>();
......
...@@ -2,6 +2,7 @@ package com.pcloud.book.rightsSetting.dao; ...@@ -2,6 +2,7 @@ package com.pcloud.book.rightsSetting.dao;
import com.pcloud.book.book.vo.BookResourceNumDTO; import com.pcloud.book.book.vo.BookResourceNumDTO;
import com.pcloud.book.group.dto.BookServeDTO; import com.pcloud.book.group.dto.BookServeDTO;
import com.pcloud.book.rightsSetting.dto.ServeIdTypeDTO;
import com.pcloud.book.rightsSetting.entity.RightsNowItem; import com.pcloud.book.rightsSetting.entity.RightsNowItem;
import com.pcloud.common.core.dao.BaseDao; import com.pcloud.common.core.dao.BaseDao;
...@@ -84,4 +85,6 @@ public interface RightsNowItemDao extends BaseDao<RightsNowItem> { ...@@ -84,4 +85,6 @@ public interface RightsNowItemDao extends BaseDao<RightsNowItem> {
* * @param null * * @param null
*/ */
List<BookServeDTO> getServeItemsByServeTypes(Long id, List<String> serveTypes, Integer limit); List<BookServeDTO> getServeItemsByServeTypes(Long id, List<String> serveTypes, Integer limit);
List<ServeIdTypeDTO> listServeIdAndTypeByRightsSettingId(Long rightsSettingId);
} }
...@@ -4,6 +4,7 @@ import cn.hutool.core.map.MapUtil; ...@@ -4,6 +4,7 @@ import cn.hutool.core.map.MapUtil;
import com.pcloud.book.book.vo.BookResourceNumDTO; import com.pcloud.book.book.vo.BookResourceNumDTO;
import com.pcloud.book.group.dto.BookServeDTO; import com.pcloud.book.group.dto.BookServeDTO;
import com.pcloud.book.rightsSetting.dao.RightsNowItemDao; import com.pcloud.book.rightsSetting.dao.RightsNowItemDao;
import com.pcloud.book.rightsSetting.dto.ServeIdTypeDTO;
import com.pcloud.book.rightsSetting.entity.RightsNowItem; import com.pcloud.book.rightsSetting.entity.RightsNowItem;
import com.pcloud.common.core.dao.BaseDaoImpl; import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -132,4 +133,9 @@ public class RightsNowItemDaoImpl extends BaseDaoImpl<RightsNowItem> implements ...@@ -132,4 +133,9 @@ public class RightsNowItemDaoImpl extends BaseDaoImpl<RightsNowItem> implements
return getSessionTemplate().selectList(getStatement("getServeItemsByServeTypes"), map); return getSessionTemplate().selectList(getStatement("getServeItemsByServeTypes"), map);
} }
@Override
public List<ServeIdTypeDTO> listServeIdAndTypeByRightsSettingId(Long rightsSettingId) {
return getSessionTemplate().selectList(getStatement("listServeIdAndTypeByRightsSettingId"), MapUtil.of("rightsSettingId", rightsSettingId));
}
} }
package com.pcloud.book.rightsSetting.dto;
import lombok.Data;
import java.util.Date;
@Data
public class ServeIdTypeDTO {
private Long serveId;
private String serveType;
private String typeCode;
private Date createTime;
}
...@@ -16,7 +16,6 @@ import com.pcloud.common.permission.PermissionException; ...@@ -16,7 +16,6 @@ import com.pcloud.common.permission.PermissionException;
import com.pcloud.common.utils.ListUtils; import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.SessionUtil; import com.pcloud.common.utils.SessionUtil;
import com.pcloud.common.utils.cookie.Cookie; import com.pcloud.common.utils.cookie.Cookie;
import com.pcloud.common.utils.nginx.NginxUtils;
import com.pcloud.common.utils.string.StringUtil; import com.pcloud.common.utils.string.StringUtil;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
...@@ -32,12 +31,10 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -32,12 +31,10 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import javax.validation.constraints.Min; import javax.validation.constraints.Min;
import java.util.List;
@RequestMapping("rightsSetting") @RequestMapping("rightsSetting")
@RestController("rightsSettingFacede") @RestController("rightsSettingFacede")
...@@ -430,4 +427,13 @@ public class RightsSettingFacede { ...@@ -430,4 +427,13 @@ public class RightsSettingFacede {
rightsSettingBiz.handleRightsSettingOld(rightsSettingIdList); rightsSettingBiz.handleRightsSettingOld(rightsSettingIdList);
return new ResponseDto<>(); return new ResponseDto<>();
} }
@ApiOperation("小程序本书服务页 - 获取是否配置了读书卡片")
@GetMapping("/getBookCardId4Book")
public ResponseDto<Map<String,Object>> getBookCardId4Book(@RequestParam("bookId") Long bookId,
@RequestParam("channelId") Long channelId,
@RequestParam("adviserId") Long adviserId,
@RequestParam(value = "rightsSettingId",required = false) Long rightsSettingId) {
return new ResponseDto<>(rightsSettingBiz.getBookCardId4Book(bookId, channelId, adviserId, rightsSettingId));
}
} }
\ No newline at end of file
...@@ -1297,4 +1297,13 @@ ...@@ -1297,4 +1297,13 @@
${item} ${item}
</foreach> </foreach>
</select> </select>
<select id="listServeIdAndType4Book" resultType="com.pcloud.book.rightsSetting.dto.ServeIdTypeDTO" parameterType="map">
select serve_id serveId, serve_type serveType, type_code typeCode, a.create_time createTime
from book_group_serve a
left join book_group b on a.book_group_id = b.id
where b.book_id = ${bookId}
AND b.channel_id = ${channelId}
AND b.create_user = ${adviserId}
</select>
</mapper> </mapper>
...@@ -362,4 +362,12 @@ ...@@ -362,4 +362,12 @@
</if> </if>
</select> </select>
<select id="listServeIdAndTypeByRightsSettingId" resultType="com.pcloud.book.rightsSetting.dto.ServeIdTypeDTO" parameterType="map">
select serve_id serveId, a.serve_type serveType, a.create_time createTime
from rights_now_item a
join rights_setting_title b on a.rights_setting_title_id = b.id
where a.rights_setting_id = ${rightsSettingId}
and b.open_state = 1
</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