Commit 2ff201a5 by 田超

Merge branch 'feature/1004042' into 'master'

feat: [1004042] 编辑创建RAYS码主流程优化

See merge request rays/pcloud-book!1108
parents 77336bf3 23df98c4
...@@ -9,17 +9,17 @@ package com.pcloud.book.group.enums; ...@@ -9,17 +9,17 @@ package com.pcloud.book.group.enums;
public enum QrcodeJumpType { public enum QrcodeJumpType {
/** /**
* 进小程序-书僮小睿 * 进小程序-书僮小睿 /t-3/
*/ */
APPLET_XIAORUI(1, "书僮小睿"), APPLET_XIAORUI(1, "书僮小睿"),
/** /**
* 进小程序-书晓 * 进小程序-书晓 /t-4/
*/ */
APPLET_SHUXIAO(2, "书晓"), APPLET_SHUXIAO(2, "书晓"),
/** /**
* 进h5-书僮小睿小程序码/跳转按钮 * 进h5-书僮小睿小程序码/跳转按钮 /t-5/
*/ */
H5_XIAORUI(3, "书僮小睿小程序码/跳转按钮"), H5_XIAORUI(3, "书僮小睿小程序码/跳转按钮"),
...@@ -28,13 +28,17 @@ public enum QrcodeJumpType { ...@@ -28,13 +28,17 @@ public enum QrcodeJumpType {
*/ */
H5_ENTERPRISE_WECHAT(4,"企业微信活码"), H5_ENTERPRISE_WECHAT(4,"企业微信活码"),
/** /**
* 进h5-出版社公众号二维码 * 进h5-出版社公众号二维码 /t-6/
*/ */
H5_OFFICIAL_ACCOUNTS(5,"出版社公众号二维码"), H5_OFFICIAL_ACCOUNTS(5,"出版社公众号二维码"),
/** /**
* 进h5-自定义链接 * 进h5-自定义链接
*/ */
H5_SELF_URL(6,"自定义链接"); H5_SELF_URL(6,"自定义链接"),
/**
* 进h5-资源页 /t-7/
*/
H5_RESOURCE(7,"资源页");
private final Integer code; private final Integer code;
......
...@@ -9,6 +9,7 @@ import com.pcloud.book.group.dto.BackgroundGroupQrcodeDTO; ...@@ -9,6 +9,7 @@ import com.pcloud.book.group.dto.BackgroundGroupQrcodeDTO;
import com.pcloud.book.group.dto.BookAppletSceneDTO; import com.pcloud.book.group.dto.BookAppletSceneDTO;
import com.pcloud.book.group.dto.BookGroupClassifyDTO; import com.pcloud.book.group.dto.BookGroupClassifyDTO;
import com.pcloud.book.group.dto.BookGroupCountDTO; import com.pcloud.book.group.dto.BookGroupCountDTO;
import com.pcloud.book.group.dto.BookGroupCreateDTO;
import com.pcloud.book.group.dto.BookGroupDTO; import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.dto.BookGroupKeywordResourceDTO; import com.pcloud.book.group.dto.BookGroupKeywordResourceDTO;
import com.pcloud.book.group.dto.BookGroupSceneDTO; import com.pcloud.book.group.dto.BookGroupSceneDTO;
...@@ -1008,4 +1009,20 @@ public interface BookGroupBiz { ...@@ -1008,4 +1009,20 @@ public interface BookGroupBiz {
BackgroundGroupQrcodeDTO getBackgroundGroupQr(BackgroundGroupQrcodeDTO backgroundGroupQrcodeDTO); BackgroundGroupQrcodeDTO getBackgroundGroupQr(BackgroundGroupQrcodeDTO backgroundGroupQrcodeDTO);
List<BookServeDTO> getBookAndBookGroupServeIdsFive(Long adviserId, Long bookId, Long channelId); List<BookServeDTO> getBookAndBookGroupServeIdsFive(Long adviserId, Long bookId, Long channelId);
/**
* 书刊创建RAYS码-支持1对多
* @author:zhuyajie
* @date:2020/12/14 10:20
* * @param null
*/
BookGroup createBookGroup(BookGroupCreateDTO bookGroupCreateDTO);
/**
* 获取社群码下配的资源
* @author:zhuyajie
* @date:2020/12/16 17:55
* * @param null
*/
List<BookServeDTO> getServeListByBookGroupId(Long bookGroupId, Long channelId);
} }
...@@ -82,6 +82,7 @@ import com.pcloud.book.group.dto.BackgroundGroupQrcodeDTO; ...@@ -82,6 +82,7 @@ import com.pcloud.book.group.dto.BackgroundGroupQrcodeDTO;
import com.pcloud.book.group.dto.BookAppletSceneDTO; import com.pcloud.book.group.dto.BookAppletSceneDTO;
import com.pcloud.book.group.dto.BookGroupClassifyDTO; import com.pcloud.book.group.dto.BookGroupClassifyDTO;
import com.pcloud.book.group.dto.BookGroupCountDTO; import com.pcloud.book.group.dto.BookGroupCountDTO;
import com.pcloud.book.group.dto.BookGroupCreateDTO;
import com.pcloud.book.group.dto.BookGroupDTO; import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.dto.BookGroupIdAndCountDTO; import com.pcloud.book.group.dto.BookGroupIdAndCountDTO;
import com.pcloud.book.group.dto.BookGroupKeywordResourceDTO; import com.pcloud.book.group.dto.BookGroupKeywordResourceDTO;
...@@ -660,9 +661,18 @@ public class BookGroupBizImpl implements BookGroupBiz { ...@@ -660,9 +661,18 @@ public class BookGroupBizImpl implements BookGroupBiz {
bookDto.setBookName(null != bookDto.getBookName() ? StringUtil.addBracket(bookDto.getBookName()) : null); bookDto.setBookName(null != bookDto.getBookName() ? StringUtil.addBracket(bookDto.getBookName()) : null);
bookGroupDTO.setBookInfo(bookDto); bookGroupDTO.setBookInfo(bookDto);
} }
//好友引导语
List<BookGroupFriendGuide> friendGuides = this.getFriendGuideList(bookGroupDTO.getId());
if (!ListUtils.isEmpty(friendGuides)) {
bookGroupDTO.setFriendGuideList(friendGuides);
}
//设置样式
GroupQrcodeStyle groupQrcodeStyle = groupQrcodeStyleDao.getQrcodeStyleByBookGroupId(bookGroupDTO.getId());
bookGroupDTO.setGroupQrcodeStyle(groupQrcodeStyle);
return bookGroupDTO; return bookGroupDTO;
} }
public BookGroupDTO getBookInfo( Long bookGroupId ) throws BizException { public BookGroupDTO getBookInfo( Long bookGroupId ) throws BizException {
BookGroupDTO bookGroupDTO = bookGroupDao.getBookInfo(bookGroupId); BookGroupDTO bookGroupDTO = bookGroupDao.getBookInfo(bookGroupId);
return bookGroupDTO; return bookGroupDTO;
...@@ -876,9 +886,12 @@ public class BookGroupBizImpl implements BookGroupBiz { ...@@ -876,9 +886,12 @@ public class BookGroupBizImpl implements BookGroupBiz {
} else if (QrcodeJumpType.H5_XIAORUI.getCode().equals(jumpType)) { } else if (QrcodeJumpType.H5_XIAORUI.getCode().equals(jumpType)) {
//进h5-书僮小睿小程序码/跳转按钮 //进h5-书僮小睿小程序码/跳转按钮
url = bookGroupQrcodeDomain + "/t-5/" + agentId + "/" + bookGroupId; url = bookGroupQrcodeDomain + "/t-5/" + agentId + "/" + bookGroupId;
} else if (QrcodeJumpType.H5_OFFICIAL_ACCOUNTS.getCode().equals(jumpType)){ } else if (QrcodeJumpType.H5_OFFICIAL_ACCOUNTS.getCode().equals(jumpType)) {
//进h5-出版社公众号二维码 //进h5-出版社公众号二维码
url = bookGroupQrcodeDomain + "/t-6/" + agentId + "/" + bookGroupId; url = bookGroupQrcodeDomain + "/t-6/" + agentId + "/" + bookGroupId;
} else if (QrcodeJumpType.H5_RESOURCE.getCode().equals(jumpType)) {
//进h5-资源页
url = bookGroupQrcodeDomain + "/t-7/" + agentId + "/" + bookGroupId;
} else { } else {
//小睿码t-3 //小睿码t-3
url = bookGroupQrcodeDomain + "/t-3/" + agentId + "/" + bookGroupId; url = bookGroupQrcodeDomain + "/t-3/" + agentId + "/" + bookGroupId;
...@@ -952,7 +965,9 @@ public class BookGroupBizImpl implements BookGroupBiz { ...@@ -952,7 +965,9 @@ public class BookGroupBizImpl implements BookGroupBiz {
|| StringUtil.isEmpty(bookGroup.getShortBookName()))) { || StringUtil.isEmpty(bookGroup.getShortBookName()))) {
throw new BookBizException(BookBizException.PARAM_IS_ERROR, "参数有误!"); throw new BookBizException(BookBizException.PARAM_IS_ERROR, "参数有误!");
} }
if (JoinGroupTypeEnum.AI_ROBOT.getCode().equals(bookGroup.getJoinGroupType())) {
checkShortBookName(bookGroup);
}
if (bookGroup.getGroupQrcodeName().contains("#")) { if (bookGroup.getGroupQrcodeName().contains("#")) {
throw new BookBizException(BookBizException.PARAM_IS_ERROR, "名称不能包含#!"); throw new BookBizException(BookBizException.PARAM_IS_ERROR, "名称不能包含#!");
} }
...@@ -963,10 +978,6 @@ public class BookGroupBizImpl implements BookGroupBiz { ...@@ -963,10 +978,6 @@ public class BookGroupBizImpl implements BookGroupBiz {
if (!bookGroup.getJoinGroupType().equals(group.getJoinGroupType())) { if (!bookGroup.getJoinGroupType().equals(group.getJoinGroupType())) {
throw new BookBizException(BookBizException.PARAM_IS_NULL, "社群码前后类型不一致!!"); throw new BookBizException(BookBizException.PARAM_IS_NULL, "社群码前后类型不一致!!");
} }
if (JoinGroupTypeEnum.ROBOT.getCode().equals(bookGroup.getJoinGroupType())
|| JoinGroupTypeEnum.AI_ROBOT.getCode().equals(bookGroup.getJoinGroupType())) {
checkShortBookName(bookGroup);
}
if (JoinGroupTypeEnum.AI_ROBOT.getCode().equals(bookGroup.getJoinGroupType())) { if (JoinGroupTypeEnum.AI_ROBOT.getCode().equals(bookGroup.getJoinGroupType())) {
this.updateFriendGuide(bookGroup.getId(), bookGroup.getFriendGuideList(), group.getCreateUser()); this.updateFriendGuide(bookGroup.getId(), bookGroup.getFriendGuideList(), group.getCreateUser());
} }
...@@ -1232,9 +1243,12 @@ public class BookGroupBizImpl implements BookGroupBiz { ...@@ -1232,9 +1243,12 @@ public class BookGroupBizImpl implements BookGroupBiz {
} else { } else {
bookDto.setTotalIncome(BigDecimal.ZERO); bookDto.setTotalIncome(BigDecimal.ZERO);
} }
if (JoinGroupTypeEnum.ROBOT.getCode().equals(bookDto.getJoinGroupType())
|| JoinGroupTypeEnum.AI_ROBOT.getCode().equals(bookDto.getJoinGroupType())){
//好友数量 //好友数量
Integer friendsCount = bookGroupCipherUserDao.getFriendsCountByBookGroup(bookGroupId); Integer friendsCount = bookGroupCipherUserDao.getFriendsCountByBookGroup(bookGroupId);
bookDto.setFriendsCount(friendsCount); bookDto.setFriendsCount(friendsCount);
}
Boolean hasRobotKeyword = selfRobotKeywordBiz.hasKeyword(bookGroupId); Boolean hasRobotKeyword = selfRobotKeywordBiz.hasKeyword(bookGroupId);
bookDto.setHasRobotKeyword(hasRobotKeyword); bookDto.setHasRobotKeyword(hasRobotKeyword);
if (!MapUtils.isEmpty(relatedBookGroupMap) && relatedBookGroupMap.containsKey(bookDto.getRelatedBookGroupId())) { if (!MapUtils.isEmpty(relatedBookGroupMap) && relatedBookGroupMap.containsKey(bookDto.getRelatedBookGroupId())) {
...@@ -5292,7 +5306,6 @@ public class BookGroupBizImpl implements BookGroupBiz { ...@@ -5292,7 +5306,6 @@ public class BookGroupBizImpl implements BookGroupBiz {
private List<BookServeDTO> getBookServes( Long adviserId, Long bookId, Long channelId ) { private List<BookServeDTO> getBookServes( Long adviserId, Long bookId, Long channelId ) {
List<BookServeDTO> serveDTOList = new ArrayList<>(); List<BookServeDTO> serveDTOList = new ArrayList<>();
BookGroupDTO bookGroupDTO = bookGroupDao.getDTOByBookId(bookId, channelId, adviserId);
List<Long> appIds = new ArrayList<>(); List<Long> appIds = new ArrayList<>();
List<Long> productIds = new ArrayList<>(); List<Long> productIds = new ArrayList<>();
AccountSettingDto accountSettingDto = qrcodeSceneConsr.getWechatInfo(channelId); AccountSettingDto accountSettingDto = qrcodeSceneConsr.getWechatInfo(channelId);
...@@ -5329,9 +5342,8 @@ public class BookGroupBizImpl implements BookGroupBiz { ...@@ -5329,9 +5342,8 @@ public class BookGroupBizImpl implements BookGroupBiz {
} }
} }
} }
if (null != bookGroupDTO) {//有社群书
//社群书配置资源 //社群书配置资源
List<BookGroupServe> bookGroupServes = bookGroupServeDao.getListByBookGroupId(bookGroupDTO.getId()); List<BookGroupServe> bookGroupServes = bookGroupServeDao.getServeListByBook(bookId, channelId, adviserId);
if (!ListUtils.isEmpty(bookGroupServes)) { if (!ListUtils.isEmpty(bookGroupServes)) {
for (BookGroupServe bookGroupServe : bookGroupServes) { for (BookGroupServe bookGroupServe : bookGroupServes) {
BookServeDTO bookServeDTO = new BookServeDTO(); BookServeDTO bookServeDTO = new BookServeDTO();
...@@ -5351,7 +5363,6 @@ public class BookGroupBizImpl implements BookGroupBiz { ...@@ -5351,7 +5363,6 @@ public class BookGroupBizImpl implements BookGroupBiz {
} }
} }
} }
}
return serveDTOList; return serveDTOList;
} }
...@@ -5899,16 +5910,14 @@ public class BookGroupBizImpl implements BookGroupBiz { ...@@ -5899,16 +5910,14 @@ public class BookGroupBizImpl implements BookGroupBiz {
@Override @Override
public List<BookServeDTO> getBookAndBookGroupServeIds4Price(Long adviserId, Long bookId, Long channelId) { public List<BookServeDTO> getBookAndBookGroupServeIds4Price(Long adviserId, Long bookId, Long channelId) {
List<BookServeDTO> serveDTOList = new ArrayList<>(); List<BookServeDTO> serveDTOList = new ArrayList<>();
BookGroupDTO bookGroupDTO = bookGroupDao.getDTOByBookId4Price(bookId, channelId, adviserId);
List<Long> appIds = new ArrayList<>(); List<Long> appIds = new ArrayList<>();
List<Long> productIds = new ArrayList<>(); List<Long> productIds = new ArrayList<>();
AccountSettingDto accountSettingDto = qrcodeSceneConsr.getWechatInfo(channelId); AccountSettingDto accountSettingDto = qrcodeSceneConsr.getWechatInfo(channelId);
if (null == accountSettingDto){ if (null == accountSettingDto){
return new ArrayList<>(); return new ArrayList<>();
} }
if (null != bookGroupDTO) {//有社群书
//社群书配置资源 //社群书配置资源
List<BookGroupServe> bookGroupServes = bookGroupServeDao.getListByBookGroupId(bookGroupDTO.getId()); List<BookGroupServe> bookGroupServes = bookGroupServeDao.getServeListByBook(bookId, channelId, adviserId);
if (!ListUtils.isEmpty(bookGroupServes)) { if (!ListUtils.isEmpty(bookGroupServes)) {
for (BookGroupServe bookGroupServe : bookGroupServes) { for (BookGroupServe bookGroupServe : bookGroupServes) {
BookServeDTO bookServeDTO = new BookServeDTO(); BookServeDTO bookServeDTO = new BookServeDTO();
...@@ -5925,7 +5934,6 @@ public class BookGroupBizImpl implements BookGroupBiz { ...@@ -5925,7 +5934,6 @@ public class BookGroupBizImpl implements BookGroupBiz {
} }
} }
} }
}
//设置应用名称与价格 //设置应用名称与价格
setAppPrice(serveDTOList); setAppPrice(serveDTOList);
//现代纸书二维码配置资源 //现代纸书二维码配置资源
...@@ -6189,4 +6197,44 @@ public class BookGroupBizImpl implements BookGroupBiz { ...@@ -6189,4 +6197,44 @@ public class BookGroupBizImpl implements BookGroupBiz {
backgroundGroupQrcodeDTO.setBackgroundQrUrl(qrcode); backgroundGroupQrcodeDTO.setBackgroundQrUrl(qrcode);
return backgroundGroupQrcodeDTO; return backgroundGroupQrcodeDTO;
} }
@Override
@Transactional(rollbackFor = Exception.class)
public BookGroup createBookGroup(BookGroupCreateDTO bookGroupCreateDTO) {
Long bookId = bookGroupCreateDTO.getBookId();
Long channelId = bookGroupCreateDTO.getChannelId();
Long adviserId = bookGroupCreateDTO.getAdviserId();
Integer joinGroupType = bookGroupCreateDTO.getJoinGroupType();
Integer jumpType = bookGroupCreateDTO.getJumpType();
if (JoinGroupTypeEnum.XIAORUI.getCode().equals(joinGroupType) && null == jumpType){
throw new BookBizException(BookBizException.PARAM_IS_NULL,"缺少跳转类型");
}
BookGroup bookGroup = this.createBookGroupAfterCreateBook(bookId,channelId,adviserId,null, null,joinGroupType,jumpType,bookGroupCreateDTO.getJumpUrl());
bookGroupCreateDTO.setId(bookGroup.getId());
this.updateBookGroup(bookGroupCreateDTO);
return bookGroup;
}
@Override
public List<BookServeDTO> getServeListByBookGroupId(Long bookGroupId, Long channelId) {
List<BookServeDTO> serveDTOList = new ArrayList<>();
AccountSettingDto accountSettingDto = qrcodeSceneConsr.getWechatInfo(channelId);
if (null == accountSettingDto){
return new ArrayList<>();
}
List<BookGroupServe> bookGroupServes = bookGroupServeDao.getListByBookGroupId(bookGroupId);
if (!ListUtils.isEmpty(bookGroupServes)) {
for (BookGroupServe bookGroupServe : bookGroupServes) {
BookServeDTO bookServeDTO = new BookServeDTO();
BeanUtils.copyProperties(bookGroupServe, bookServeDTO);
String url = SendWeixinRequestTools.splitUrl(accountSettingDto, bookGroupServe.getServeUrl());
bookServeDTO.setUrl(url);
bookServeDTO.setTypeCode(bookServeDTO.getServeType());
bookServeDTO.setFromType(bookGroupServe.getTypeCode());
bookServeDTO.setFromTypeName(bookGroupServe.getFromType());
serveDTOList.add(bookServeDTO);
}
}
return serveDTOList;
}
} }
...@@ -80,4 +80,11 @@ public interface BookGroupServeDao extends BaseDao<BookGroupServe> { ...@@ -80,4 +80,11 @@ public interface BookGroupServeDao extends BaseDao<BookGroupServe> {
*/ */
Map<String, BookGroupServeCountDTO> mapBookGroupQrcodeServeCount(List<Long> adviserIds, List<Long> bookIds, List<Long> channelIds, Integer joinGroupType); Map<String, BookGroupServeCountDTO> mapBookGroupQrcodeServeCount(List<Long> adviserIds, List<Long> bookIds, List<Long> channelIds, Integer joinGroupType);
/**
* 根据书刊查社群书配置资源
* @author:zhuyajie
* @date:2020/12/14 16:31
* * @param null
*/
List<BookGroupServe> getServeListByBook(Long bookId, Long channelId, Long adviserId);
} }
...@@ -151,4 +151,13 @@ public class BookGroupServeDaoImpl extends BaseDaoImpl<BookGroupServe> implement ...@@ -151,4 +151,13 @@ public class BookGroupServeDaoImpl extends BaseDaoImpl<BookGroupServe> implement
return getSessionTemplate().selectMap(getStatement("mapBookGroupQrcodeServeCount"), map, "bookChannelAdviserId"); return getSessionTemplate().selectMap(getStatement("mapBookGroupQrcodeServeCount"), map, "bookChannelAdviserId");
} }
} }
@Override
public List<BookGroupServe> getServeListByBook(Long bookId, Long channelId, Long adviserId) {
Map<String,Object> map = new HashMap<>();
map.put("adviserId", adviserId);
map.put("bookId", bookId);
map.put("channelId", channelId);
return getSessionTemplate().selectList(getStatement("getServeListByBook"), map);
}
} }
package com.pcloud.book.group.dto;
import com.pcloud.book.group.entity.BookGroup;
import javax.validation.constraints.NotNull;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @ClassName com.pcloud.book.group.dto.BookGroupCreateDTO
* @Author zhuyajie
* @Description 社群码创建
* @Date 2020/12/14 10:10
* @Version 1.0
**/
@Data
public class BookGroupCreateDTO extends BookGroup {
@NotNull
@ApiModelProperty("书刊id")
private Long bookId;
@NotNull
@ApiModelProperty("渠道id")
private Long channelId;
@ApiModelProperty("编辑id")
private Long adviserId;
@NotNull
@ApiModelProperty("社群码类型(普通群、1v1、小睿码)")
private Integer joinGroupType;
@ApiModelProperty("小睿码跳转类型")
private Integer jumpType;
@ApiModelProperty("小睿码自定义跳转链接")
private String jumpUrl;
}
...@@ -2,6 +2,7 @@ package com.pcloud.book.group.facade; ...@@ -2,6 +2,7 @@ package com.pcloud.book.group.facade;
import com.pcloud.book.book.dto.MapResourceTotalCountDTO; import com.pcloud.book.book.dto.MapResourceTotalCountDTO;
import com.pcloud.book.group.dto.BookAppletSceneDTO; import com.pcloud.book.group.dto.BookAppletSceneDTO;
import com.pcloud.book.group.dto.BookGroupCreateDTO;
import com.pcloud.book.group.dto.BookGroupDTO; import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.dto.ChangeQrCodeTypeDto; import com.pcloud.book.group.dto.ChangeQrCodeTypeDto;
import com.pcloud.book.group.dto.SelfBookGroupStParamDTO; import com.pcloud.book.group.dto.SelfBookGroupStParamDTO;
...@@ -33,6 +34,7 @@ import io.swagger.annotations.ApiOperation; ...@@ -33,6 +34,7 @@ import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import org.codehaus.jackson.JsonParseException; import org.codehaus.jackson.JsonParseException;
import org.springframework.cloud.netflix.feign.FeignClient; import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.CookieValue; import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
...@@ -811,4 +813,8 @@ public interface BookGroupFacade { ...@@ -811,4 +813,8 @@ public interface BookGroupFacade {
@ApiOperation("根据社群书id获取公众号二维码信息(H5跳公众号流程)") @ApiOperation("根据社群书id获取公众号二维码信息(H5跳公众号流程)")
@GetMapping("getSceneQrcodeByBookGroupId") @GetMapping("getSceneQrcodeByBookGroupId")
ResponseDto<?> getSceneQrcodeByBookGroupId(@RequestParam("bookGroupId") Long bookGroupId); ResponseDto<?> getSceneQrcodeByBookGroupId(@RequestParam("bookGroupId") Long bookGroupId);
@ApiOperation("书刊创建RAYS码-支持1对多")
@PostMapping("createBookGroup")
ResponseDto<?> createBookGroup(@RequestHeader("token") String token, @RequestBody @Validated BookGroupCreateDTO bookGroupCreateDTO);
} }
...@@ -7,6 +7,7 @@ import com.pcloud.book.group.biz.BookGroupClassifyBiz; ...@@ -7,6 +7,7 @@ import com.pcloud.book.group.biz.BookGroupClassifyBiz;
import com.pcloud.book.group.dao.BookGroupDao; import com.pcloud.book.group.dao.BookGroupDao;
import com.pcloud.book.group.dto.BackgroundGroupQrcodeDTO; import com.pcloud.book.group.dto.BackgroundGroupQrcodeDTO;
import com.pcloud.book.group.dto.BookAppletSceneDTO; import com.pcloud.book.group.dto.BookAppletSceneDTO;
import com.pcloud.book.group.dto.BookGroupCreateDTO;
import com.pcloud.book.group.dto.BookGroupDTO; import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.dto.ChangeQrCodeTypeDto; import com.pcloud.book.group.dto.ChangeQrCodeTypeDto;
import com.pcloud.book.group.dto.GroupStoreMyPayDto; import com.pcloud.book.group.dto.GroupStoreMyPayDto;
...@@ -1091,6 +1092,7 @@ public class BookGroupFacadeImpl implements BookGroupFacade { ...@@ -1091,6 +1092,7 @@ public class BookGroupFacadeImpl implements BookGroupFacade {
return new ResponseDto<>(null == pageBean ? new PageBeanNew<>() : pageBean); return new ResponseDto<>(null == pageBean ? new PageBeanNew<>() : pageBean);
} }
@Override
@ApiOperation("获取1v1关联社群书列表") @ApiOperation("获取1v1关联社群书列表")
@RequestMapping(value = "getAssocBookGroupByAppInfo", method = RequestMethod.GET) @RequestMapping(value = "getAssocBookGroupByAppInfo", method = RequestMethod.GET)
public ResponseDto<PageBeanNew<BookGroupDTO>> getAssocBookGroupByAppInfo( public ResponseDto<PageBeanNew<BookGroupDTO>> getAssocBookGroupByAppInfo(
...@@ -1340,4 +1342,12 @@ public class BookGroupFacadeImpl implements BookGroupFacade { ...@@ -1340,4 +1342,12 @@ public class BookGroupFacadeImpl implements BookGroupFacade {
public ResponseDto<?> getSceneQrcodeByBookGroupId(@RequestParam("bookGroupId") Long bookGroupId){ public ResponseDto<?> getSceneQrcodeByBookGroupId(@RequestParam("bookGroupId") Long bookGroupId){
return new ResponseDto<>(bookGroupBiz.getSceneQrcodeByBookGroupId(bookGroupId)); return new ResponseDto<>(bookGroupBiz.getSceneQrcodeByBookGroupId(bookGroupId));
} }
@Override
@PostMapping("createBookGroup")
public ResponseDto<?> createBookGroup(@RequestHeader("token") String token, @RequestBody @Validated BookGroupCreateDTO bookGroupCreateDTO){
Long adviserId = (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
bookGroupCreateDTO.setAdviserId(adviserId);
return new ResponseDto<>(bookGroupBiz.createBookGroup(bookGroupCreateDTO));
}
} }
...@@ -55,6 +55,8 @@ import com.pcloud.book.group.dao.BookGroupDao; ...@@ -55,6 +55,8 @@ import com.pcloud.book.group.dao.BookGroupDao;
import com.pcloud.book.group.dto.BookGroupDTO; import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.dto.BookServeDTO; import com.pcloud.book.group.dto.BookServeDTO;
import com.pcloud.book.group.enums.AppAndProductTypeEnum; import com.pcloud.book.group.enums.AppAndProductTypeEnum;
import com.pcloud.book.group.enums.JoinGroupTypeEnum;
import com.pcloud.book.group.enums.QrcodeJumpType;
import com.pcloud.book.group.tools.SendWeixinRequestTools; import com.pcloud.book.group.tools.SendWeixinRequestTools;
import com.pcloud.book.group.vo.ClassifyQrcodeVO; import com.pcloud.book.group.vo.ClassifyQrcodeVO;
import com.pcloud.book.push.dao.PersonalAppletsDao; import com.pcloud.book.push.dao.PersonalAppletsDao;
...@@ -1866,7 +1868,18 @@ public class RightsSettingBizImpl implements RightsSettingBiz { ...@@ -1866,7 +1868,18 @@ public class RightsSettingBizImpl implements RightsSettingBiz {
qrcodeMessage4WechatVO.setBookCoverImg(bookDto.getCoverImg()); qrcodeMessage4WechatVO.setBookCoverImg(bookDto.getCoverImg());
qrcodeMessage4WechatVO.setReaderInfo(Lists.newArrayList()); qrcodeMessage4WechatVO.setReaderInfo(Lists.newArrayList());
List<WechatMessageVO> messages = new ArrayList<>(); List<WechatMessageVO> messages = new ArrayList<>();
List<BookServeDTO> bookServeVOS = bookGroupBiz.getBookAndBookGroupServeIds(adviserId, bookId, channelId); List<BookServeDTO> bookServeVOS;
if (JoinGroupTypeEnum.XIAORUI.getCode().equals(bookGroupDTO.getJoinGroupType())
&& QrcodeJumpType.H5_RESOURCE.getCode().equals(bookGroupDTO.getJumpType())){
//获取该码下配的资源
bookServeVOS = bookGroupBiz.getServeListByBookGroupId(bookGroupId, channelId);
} else {
//获取本书资源
bookServeVOS = bookGroupBiz.getBookAndBookGroupServeIds(adviserId, bookId, channelId);
}
if (ListUtils.isEmpty(bookServeVOS)) {
return qrcodeMessage4WechatVO;
}
//填充作品应用 //填充作品应用
bookGroupBiz.fillBookServe(bookServeVOS); bookGroupBiz.fillBookServe(bookServeVOS);
if (ListUtils.isEmpty(bookServeVOS)) { if (ListUtils.isEmpty(bookServeVOS)) {
......
...@@ -81,6 +81,7 @@ ...@@ -81,6 +81,7 @@
LEFT JOIN book_group d ON d.BOOK_ID = a.BOOK_ID and d.create_user=c.adviser_id and d.channel_id=c.channel_id AND d.IS_DELETE = 0 LEFT JOIN book_group d ON d.BOOK_ID = a.BOOK_ID and d.create_user=c.adviser_id and d.channel_id=c.channel_id AND d.IS_DELETE = 0
LEFT JOIN rights_setting r ON c.rights_setting_id = r.id AND d.join_group_type=4 and r.show_state = 1 and r.rights_setting_type = 2 LEFT JOIN rights_setting r ON c.rights_setting_id = r.id AND d.join_group_type=4 and r.show_state = 1 and r.rights_setting_type = 2
WHERE c.wechat_user_id=#{wechatUserId} WHERE c.wechat_user_id=#{wechatUserId}
GROUP BY c.book_id,a.ADVISER_ID,c.channel_id
ORDER BY c.create_time DESC, d.id desc ORDER BY c.create_time DESC, d.id desc
</select> </select>
......
...@@ -612,9 +612,8 @@ ...@@ -612,9 +612,8 @@
FROM FROM
BOOK_ADVISER A BOOK_ADVISER A
INNER JOIN BOOK B ON A.BOOK_ID = B.BOOK_ID AND B.IS_DELETE = 0 INNER JOIN BOOK B ON A.BOOK_ID = B.BOOK_ID AND B.IS_DELETE = 0
LEFT JOIN book_group G on G.BOOK_ID = A.BOOK_ID AND G.CHANNEL_ID = A.CHANNEL_ID AND G.CREATE_USER = A.ADVISER_ID AND G.IS_DELETE = 0
WHERE WHERE
A.ADVISER_ID = #{adviserId} AND A.IS_DELETE = 0 AND G.ID IS NULL A.ADVISER_ID = #{adviserId} AND A.IS_DELETE = 0
<if test="name != null"> <if test="name != null">
AND AND
(B.BOOK_NAME LIKE CONCAT('%', #{name}, '%') OR B.ISBN LIKE CONCAT(#{name},'%') OR CONCAT('BK',A.BOOK_ID) = #{name}) (B.BOOK_NAME LIKE CONCAT('%', #{name}, '%') OR B.ISBN LIKE CONCAT(#{name},'%') OR CONCAT('BK',A.BOOK_ID) = #{name})
......
...@@ -261,4 +261,29 @@ ...@@ -261,4 +261,29 @@
</foreach> </foreach>
GROUP BY bg.book_id,bg.create_user,bg.channel_id GROUP BY bg.book_id,bg.create_user,bg.channel_id
</select> </select>
<select id="getServeListByBook" parameterType="map" resultMap="BaseResultMap">
SELECT
s.id,
s.serve_id,
s.serve_type,
s.serve_url,
s.short_url,
s.book_group_id,
s.create_user,
s.create_time,
s.type_code
FROM
book_group_serve s
LEFT JOIN book_group g ON s.book_group_id = g.id
WHERE
g.book_id = #{bookId}
AND g.channel_id = #{channelId}
AND g.create_user = #{adviserId}
GROUP BY
s.serve_id
ORDER BY
s.id
</select>
</mapper> </mapper>
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