Commit 5f2b708d by 吴博

Merge branch 'feature/1008660' into 'release'

Feature/1008660

See merge request rays/pcloud-book!1692
parents 4ba91bed 0a91b44b
/**
*
*/
package com.pcloud.book.book.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WxWorkQrcodeOutDto {
private Long sceneId;
private Integer wxworkQrcodeType;
private Long choseQrcodeId;
private String typeCode;
}
...@@ -11,7 +11,9 @@ import com.pcloud.book.book.dto.BookInfo4AnlysicsDTO; ...@@ -11,7 +11,9 @@ import com.pcloud.book.book.dto.BookInfo4AnlysicsDTO;
import com.pcloud.book.book.dto.BookInfoAnalysicsDTO; import com.pcloud.book.book.dto.BookInfoAnalysicsDTO;
import com.pcloud.book.book.dto.BookInfoAndAuthStatusDTO; import com.pcloud.book.book.dto.BookInfoAndAuthStatusDTO;
import com.pcloud.book.book.dto.BookMinimumSupportDTO4Service; import com.pcloud.book.book.dto.BookMinimumSupportDTO4Service;
import com.pcloud.book.book.dto.WxWorkQrcodeOutDto;
import com.pcloud.book.book.entity.BookSwitch; import com.pcloud.book.book.entity.BookSwitch;
import com.pcloud.common.dto.ListBookResourceDto;
import com.pcloud.common.dto.ResponseDto; import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.page.PageBean; import com.pcloud.common.page.PageBean;
...@@ -336,4 +338,15 @@ public interface BookService { ...@@ -336,4 +338,15 @@ public interface BookService {
@GetMapping("getBookFromRedis") @GetMapping("getBookFromRedis")
ResponseEntity<ResponseDto<BookDto>> getBookFromRedis(@RequestParam(value = "bookId") Long bookId); ResponseEntity<ResponseDto<BookDto>> getBookFromRedis(@RequestParam(value = "bookId") Long bookId);
/**
* 获取公众号二维码下面的企业微信(1v1老师,群活动)
*/
@PostMapping("listWxWorkWithSceneIds")
ResponseEntity<ResponseDto<List<WxWorkQrcodeOutDto>>> listWxWorkWithSceneIds (@RequestBody List<Long> sceneIds);
/**
* erp获取书刊下面资源
*/
@PostMapping("getServeListWithBookId")
ResponseEntity<ResponseDto<Map<Long,List<ListBookResourceDto>>>> getServeListWithBookId (@RequestBody List<Long> sceneIds);
} }
package com.pcloud.book.book.biz; package com.pcloud.book.book.biz;
import com.pcloud.book.book.dto.WxWorkQrcodeOutDto;
import com.pcloud.book.book.vo.request.BookQrcodeWxworkRequestVO; import com.pcloud.book.book.vo.request.BookQrcodeWxworkRequestVO;
import com.pcloud.book.book.vo.response.BookQrcodeWxworkResponseVO; import com.pcloud.book.book.vo.response.BookQrcodeWxworkResponseVO;
import com.pcloud.book.group.dto.BookGroupServeCountDTO; import com.pcloud.book.group.dto.BookGroupServeCountDTO;
...@@ -96,4 +97,6 @@ public interface BookQrcodeWxworkBiz { ...@@ -96,4 +97,6 @@ public interface BookQrcodeWxworkBiz {
* @Date 19:42 2021/12/14 * @Date 19:42 2021/12/14
**/ **/
void exportWxworkGroupOnBook(Long groupId,Long partyId); void exportWxworkGroupOnBook(Long groupId,Long partyId);
List<WxWorkQrcodeOutDto> listWxWorkWithSceneIds(List<Long> sceneIds);
} }
...@@ -15,6 +15,7 @@ import com.pcloud.book.book.biz.BookBiz; ...@@ -15,6 +15,7 @@ import com.pcloud.book.book.biz.BookBiz;
import com.pcloud.book.book.biz.BookQrcodeWxworkBiz; import com.pcloud.book.book.biz.BookQrcodeWxworkBiz;
import com.pcloud.book.book.dao.BookQrcodeWxworkDao; import com.pcloud.book.book.dao.BookQrcodeWxworkDao;
import com.pcloud.book.book.dto.BookDto; import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.book.dto.WxWorkQrcodeOutDto;
import com.pcloud.book.book.entity.BookQrcodeWxwork; import com.pcloud.book.book.entity.BookQrcodeWxwork;
import com.pcloud.book.book.enums.BookQrcodeType; import com.pcloud.book.book.enums.BookQrcodeType;
import com.pcloud.book.book.enums.WxworkQrcodeType; import com.pcloud.book.book.enums.WxworkQrcodeType;
...@@ -502,4 +503,18 @@ public class BookQrcodeWxworkBizImpl implements BookQrcodeWxworkBiz { ...@@ -502,4 +503,18 @@ public class BookQrcodeWxworkBizImpl implements BookQrcodeWxworkBiz {
} }
}); });
} }
/**
* 获取公众号二维码下面的企业微信(1v1老师,群活动)
*/
@Override
public List<WxWorkQrcodeOutDto> listWxWorkWithSceneIds(List<Long> sceneIds) {
if(CollUtil.isEmpty(sceneIds)){
return null;
}
//1v1老师 and 群活动
List<WxWorkQrcodeOutDto> list = bookQrcodeWxworkDao.getByQrcodeIdsAndType(sceneIds, BookQrcodeType.OFFICIAL_ACCOUNTS.getCode(), CollUtil.toList(WxworkQrcodeType.SOP_QRCODE.getCode(),WxworkQrcodeType.GROUP_QRCODE.getCode()));
return list;
}
} }
package com.pcloud.book.book.dao; package com.pcloud.book.book.dao;
import com.pcloud.book.book.dto.WxWorkQrcodeOutDto;
import com.pcloud.book.book.entity.BookQrcodeWxwork; import com.pcloud.book.book.entity.BookQrcodeWxwork;
import com.pcloud.book.group.dto.BookGroupServeCountDTO; import com.pcloud.book.group.dto.BookGroupServeCountDTO;
import com.pcloud.book.group.dto.ResourceOnBookDTO; import com.pcloud.book.group.dto.ResourceOnBookDTO;
...@@ -76,4 +77,6 @@ public interface BookQrcodeWxworkDao extends BaseDao<BookQrcodeWxwork>{ ...@@ -76,4 +77,6 @@ public interface BookQrcodeWxworkDao extends BaseDao<BookQrcodeWxwork>{
* @Date 13:06 2022/1/11 * @Date 13:06 2022/1/11
**/ **/
List<ResourceOnBookDTO> listGroupOnBook(Long groupId); List<ResourceOnBookDTO> listGroupOnBook(Long groupId);
List<WxWorkQrcodeOutDto> getByQrcodeIdsAndType(List<Long> sceneIds, Integer bookQrcodeType, List<Integer> wxworkQrcodeTypes);
} }
package com.pcloud.book.book.dao.impl; package com.pcloud.book.book.dao.impl;
import com.pcloud.book.book.dao.BookQrcodeWxworkDao; import com.pcloud.book.book.dao.BookQrcodeWxworkDao;
import com.pcloud.book.book.dto.WxWorkQrcodeOutDto;
import com.pcloud.book.book.entity.BookQrcodeWxwork; import com.pcloud.book.book.entity.BookQrcodeWxwork;
import com.pcloud.book.group.dto.BookGroupServeCountDTO; import com.pcloud.book.group.dto.BookGroupServeCountDTO;
import com.pcloud.book.group.dto.ResourceOnBookDTO; import com.pcloud.book.group.dto.ResourceOnBookDTO;
...@@ -96,4 +97,13 @@ public class BookQrcodeWxworkDaoImpl extends BaseDaoImpl<BookQrcodeWxwork> imple ...@@ -96,4 +97,13 @@ public class BookQrcodeWxworkDaoImpl extends BaseDaoImpl<BookQrcodeWxwork> imple
public List<ResourceOnBookDTO> listGroupOnBook(Long groupId) { public List<ResourceOnBookDTO> listGroupOnBook(Long groupId) {
return getSessionTemplate().selectList(getStatement("listGroupOnBook"), groupId); return getSessionTemplate().selectList(getStatement("listGroupOnBook"), groupId);
} }
@Override
public List<WxWorkQrcodeOutDto> getByQrcodeIdsAndType(List<Long> sceneIds, Integer bookQrcodeType, List<Integer> wxworkQrcodeTypes) {
Map<String,Object> map = new HashMap<>();
map.put("sceneIds", sceneIds);
map.put("bookQrcodeType", bookQrcodeType);
map.put("wxworkQrcodeTypes", wxworkQrcodeTypes);
return getSessionTemplate().selectList(getStatement("getByQrcodeIdsAndType"), map);
}
} }
...@@ -15,11 +15,14 @@ import com.pcloud.book.book.dto.BookDto; ...@@ -15,11 +15,14 @@ import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.book.dto.BookInfo4AnlysicsDTO; import com.pcloud.book.book.dto.BookInfo4AnlysicsDTO;
import com.pcloud.book.book.dto.BookInfoAnalysicsDTO; import com.pcloud.book.book.dto.BookInfoAnalysicsDTO;
import com.pcloud.book.book.dto.BookInfoAndAuthStatusDTO; import com.pcloud.book.book.dto.BookInfoAndAuthStatusDTO;
import com.pcloud.book.book.dto.WxWorkQrcodeOutDto;
import com.pcloud.book.book.entity.BookSwitch; import com.pcloud.book.book.entity.BookSwitch;
import com.pcloud.book.book.enums.WxworkQrcodeType; import com.pcloud.book.book.enums.WxworkQrcodeType;
import com.pcloud.book.book.dto.BookMinimumSupportDTO4Service; import com.pcloud.book.book.dto.BookMinimumSupportDTO4Service;
import com.pcloud.book.book.service.BookService; import com.pcloud.book.book.service.BookService;
import com.pcloud.book.group.biz.ResourcePageBiz;
import com.pcloud.book.util.common.ThreadPoolUtils; import com.pcloud.book.util.common.ThreadPoolUtils;
import com.pcloud.common.dto.ListBookResourceDto;
import com.pcloud.common.dto.ResponseDto; import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.page.PageBean; import com.pcloud.common.page.PageBean;
...@@ -58,6 +61,8 @@ public class BookServiceImpl implements BookService { ...@@ -58,6 +61,8 @@ public class BookServiceImpl implements BookService {
private BookQrcodeWxworkBiz bookQrcodeWxworkBiz; private BookQrcodeWxworkBiz bookQrcodeWxworkBiz;
@Autowired @Autowired
private BookSwitchBiz bookSwitchBiz; private BookSwitchBiz bookSwitchBiz;
@Autowired
private ResourcePageBiz resourcePageBiz;
/** /**
* 获取书籍信息 * 获取书籍信息
...@@ -314,5 +319,15 @@ public class BookServiceImpl implements BookService { ...@@ -314,5 +319,15 @@ public class BookServiceImpl implements BookService {
return ResponseHandleUtil.toResponse(bookBiz.getBookFromRedis(bookId)); return ResponseHandleUtil.toResponse(bookBiz.getBookFromRedis(bookId));
} }
@Override
@PostMapping("listWxWorkWithSceneIds")
public ResponseEntity<ResponseDto<List<WxWorkQrcodeOutDto>>> listWxWorkWithSceneIds(@RequestBody List<Long> sceneIds) {
return ResponseHandleUtil.toResponse(bookQrcodeWxworkBiz.listWxWorkWithSceneIds(sceneIds));
}
@Override
@PostMapping("getServeListWithBookId")
public ResponseEntity<ResponseDto<Map<Long, List<ListBookResourceDto>>>> getServeListWithBookId(@RequestBody List<Long> sceneIds) {
return ResponseHandleUtil.toResponse(resourcePageBiz.getServeListWithBookId(sceneIds));
}
} }
...@@ -29,6 +29,7 @@ import com.pcloud.book.group.vo.UpdateResourcePageVO; ...@@ -29,6 +29,7 @@ import com.pcloud.book.group.vo.UpdateResourcePageVO;
import com.pcloud.book.group.vo.WxworkPageCreateVO; import com.pcloud.book.group.vo.WxworkPageCreateVO;
import com.pcloud.book.group.vo.WxworkPageVO; import com.pcloud.book.group.vo.WxworkPageVO;
import com.pcloud.channelcenter.qrcode.dto.BookSceneIdListDTO; import com.pcloud.channelcenter.qrcode.dto.BookSceneIdListDTO;
import com.pcloud.common.dto.ListBookResourceDto;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.page.PageBeanNew; import com.pcloud.common.page.PageBeanNew;
...@@ -612,4 +613,9 @@ public interface ResourcePageBiz { ...@@ -612,4 +613,9 @@ public interface ResourcePageBiz {
List<ResourcePageFolderItemVO> getFolderItemList(Long wechatUserId, Long folderId); List<ResourcePageFolderItemVO> getFolderItemList(Long wechatUserId, Long folderId);
int updateDeleteBySceneId(Long sceneId, Integer isDelete); int updateDeleteBySceneId(Long sceneId, Integer isDelete);
/**
* erp获取书刊下面资源
*/
Map<Long,List<ListBookResourceDto>> getServeListWithBookId(List<Long> sceneIds);
} }
...@@ -65,6 +65,7 @@ import com.pcloud.book.group.biz.ResourcePageBiz; ...@@ -65,6 +65,7 @@ import com.pcloud.book.group.biz.ResourcePageBiz;
import com.pcloud.book.group.biz.ResourcePageBookstoreBiz; import com.pcloud.book.group.biz.ResourcePageBookstoreBiz;
import com.pcloud.book.group.biz.ResourcePageOuterLinkBiz; import com.pcloud.book.group.biz.ResourcePageOuterLinkBiz;
import com.pcloud.book.group.constant.ResourcePageConstants; import com.pcloud.book.group.constant.ResourcePageConstants;
import com.pcloud.book.group.constant.ResourcePageConstants.ColumnTypeEnum;
import com.pcloud.book.group.constant.ResourcePageConstants.ServeTypeEnum; import com.pcloud.book.group.constant.ResourcePageConstants.ServeTypeEnum;
import com.pcloud.book.group.dao.BookAppletSceneDao; import com.pcloud.book.group.dao.BookAppletSceneDao;
import com.pcloud.book.group.dao.BookGroupDao; import com.pcloud.book.group.dao.BookGroupDao;
...@@ -87,6 +88,7 @@ import com.pcloud.book.group.dto.BookServeDTO; ...@@ -87,6 +88,7 @@ import com.pcloud.book.group.dto.BookServeDTO;
import com.pcloud.book.group.dto.MemberActivityBookSetDTO; import com.pcloud.book.group.dto.MemberActivityBookSetDTO;
import com.pcloud.book.group.dto.MessagServeDTO; import com.pcloud.book.group.dto.MessagServeDTO;
import com.pcloud.book.group.dto.MultiChannelContentDTO; import com.pcloud.book.group.dto.MultiChannelContentDTO;
import com.pcloud.book.group.dto.MultiChannelContentItemDTO;
import com.pcloud.book.group.dto.NavigationParamDTO; import com.pcloud.book.group.dto.NavigationParamDTO;
import com.pcloud.book.group.dto.OwnQrcodeMessageDTO; import com.pcloud.book.group.dto.OwnQrcodeMessageDTO;
import com.pcloud.book.group.dto.ResourcePageCourseDTO; import com.pcloud.book.group.dto.ResourcePageCourseDTO;
...@@ -163,6 +165,7 @@ import com.pcloud.common.core.constant.AdviserTaskConstants; ...@@ -163,6 +165,7 @@ import com.pcloud.common.core.constant.AdviserTaskConstants;
import com.pcloud.common.core.constant.MQTopicProducer; import com.pcloud.common.core.constant.MQTopicProducer;
import com.pcloud.common.core.constant.ProductTypeConstant; import com.pcloud.common.core.constant.ProductTypeConstant;
import com.pcloud.common.core.constant.SystemCode; import com.pcloud.common.core.constant.SystemCode;
import com.pcloud.common.dto.ListBookResourceDto;
import com.pcloud.common.enums.AppTypeEnum; import com.pcloud.common.enums.AppTypeEnum;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.page.PageBeanNew; import com.pcloud.common.page.PageBeanNew;
...@@ -189,6 +192,8 @@ import com.pcloud.resourcecenter.product.dto.ProductLabelDto; ...@@ -189,6 +192,8 @@ import com.pcloud.resourcecenter.product.dto.ProductLabelDto;
import com.pcloud.resourcecenter.store.dto.SinglePageInfoDTO; import com.pcloud.resourcecenter.store.dto.SinglePageInfoDTO;
import com.pcloud.usercenter.party.adviser.dto.AdviserBaseInfoDto; import com.pcloud.usercenter.party.adviser.dto.AdviserBaseInfoDto;
import com.pcloud.wechatgroup.wxwork.dto.WxworkGroupQrcodeBaseDTO; import com.pcloud.wechatgroup.wxwork.dto.WxworkGroupQrcodeBaseDTO;
import io.swagger.annotations.ApiModelProperty;
import io.vavr.control.Try; import io.vavr.control.Try;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
...@@ -5277,4 +5282,132 @@ public class ResourcePageBizImpl implements ResourcePageBiz { ...@@ -5277,4 +5282,132 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
public int updateDeleteBySceneId(Long sceneId, Integer isDelete) { public int updateDeleteBySceneId(Long sceneId, Integer isDelete) {
return resourcePageDao.updateDeleteBySceneId(sceneId, isDelete); return resourcePageDao.updateDeleteBySceneId(sceneId, isDelete);
} }
@Override
public Map<Long,List<ListBookResourceDto>> getServeListWithBookId(List<Long> sceneIds) {
if(CollUtil.isEmpty(sceneIds)){
return null;
}
//只查图书级服务,书单推荐,第三方资源,社群,外链,多渠道内容。
List<String> serveTypes =CollUtil.toList(ResourcePageConstants.ServeTypeEnum.BOOKLIST.getValue(),ResourcePageConstants.ServeTypeEnum.ADVISER_BOOK.getValue()
,ResourcePageConstants.ServeTypeEnum.WXWORK_GROUP.getValue(),ResourcePageConstants.ServeTypeEnum.GROUP_ACTIVITY.getValue()
,ResourcePageConstants.ServeTypeEnum.THIRD_RESOURCE.getValue(),ResourcePageConstants.ServeTypeEnum.OUTER_LINK.getValue()
,ResourcePageConstants.ServeTypeEnum.MULTI_CHANNEL.getValue());
List<ResourcePageItemVO> list = resourcePageColumnDao.getServeListWithBookId(sceneIds,serveTypes);
List<ListBookResourceDto> result=new ArrayList<>();
if(CollUtil.isNotEmpty(list)){
Map<String, List<ResourcePageItemVO>> listMap = list.stream().collect(Collectors.groupingBy(ResourcePageItemVO::getServeType));
for (Map.Entry<String, List<ResourcePageItemVO>> entry : listMap.entrySet()) {
this.fillResourceByType(entry.getValue(), null, entry.getKey());
}
// 填充外链
fillOuterLink(list);
//填充多渠道
fillMultiChannel(list);
for (ResourcePageItemVO vo : list) {
String serveType = vo.getServeType();
ListBookResourceDto dto = ListBookResourceDto.builder().sceneId(vo.getSceneId()).serveId(vo.getServeId()).serveType(vo.getServeType()).serveTypeName(vo.getTypeName()).build();
if (ResourcePageConstants.ServeTypeEnum.BOOKLIST.getValue().equals(serveType)) {
dto.setResourceServe("书单推荐");
if(null!=vo.getAppletOuterBooklistDTO()){
dto.setServeName(vo.getAppletOuterBooklistDTO().getBooklistName());
dto.setServeDesc(vo.getAppletOuterBooklistDTO().getDigest());
}
} else if (ResourcePageConstants.ServeTypeEnum.ADVISER_BOOK.getValue().equals(serveType)) {
dto.setResourceServe("书单推荐");
dto.setServeName(vo.getBookName());
dto.setServeDesc(vo.getUniqueNumber());
} else if (ResourcePageConstants.ServeTypeEnum.GROUP_ACTIVITY.getValue().equals(serveType)) {
dto.setResourceServe("社群");
dto.setServeTypeName("第三方社群");
if(null!=vo.getActivity4AppletDTO()){
dto.setServeName(vo.getActivity4AppletDTO().getGroupName());
dto.setServeDesc(vo.getActivity4AppletDTO().getGroupDesc());
}
} else if (ResourcePageConstants.ServeTypeEnum.THIRD_RESOURCE.getValue().equals(serveType)) {
dto.setResourceServe("第三方资源");
if(null!=vo.getAppletThirdResources()){
dto.setServeName(vo.getAppletThirdResources().getName());
dto.setServeDesc(vo.getAppletThirdResources().getRemark());
dto.setProducer(vo.getAppletThirdResources().getSource());
}
} else if (ResourcePageConstants.ServeTypeEnum.WXWORK_GROUP.getValue().equals(serveType)) {
dto.setResourceServe("社群");
dto.setServeTypeName("官方社群");
if(null!=vo.getBookQrcodeWxworkResponseVO()){
dto.setServeName(vo.getBookQrcodeWxworkResponseVO().getGroupName());
dto.setServeDesc(vo.getBookQrcodeWxworkResponseVO().getGroupDesc());
}
} else if (ResourcePageConstants.ServeTypeEnum.OUTER_LINK.getValue().equals(serveType)) {
dto.setResourceServe("外链");
if(null!=vo.getResourcePageOuterLink()){
dto.setServeName(vo.getResourcePageOuterLink().getTitle());
dto.setServeDesc(vo.getResourcePageOuterLink().getDescription());
dto.setServeTypeName(getOriginName(vo.getResourcePageOuterLink().getOriginId()));
}
}else if (ResourcePageConstants.ServeTypeEnum.MULTI_CHANNEL.getValue().equals(serveType)) {
if(null!=vo.getMultiChannelContent()){
if(CollUtil.isNotEmpty(vo.getMultiChannelContent().getMultiChannelContentItems())){
for (MultiChannelContentItemDTO item : vo.getMultiChannelContent().getMultiChannelContentItems()) {
ListBookResourceDto dto1 = ListBookResourceDto.builder().sceneId(vo.getSceneId()).serveTypeName(vo.getTypeName()).build();
dto1.setResourceServe("多渠道内容");
dto1.setServeTypeName(getMutiChannelName(vo.getMultiChannelContent().getChannelType()));
dto1.setServeName(item.getTitle());
result.add(dto1);
}
}
}
continue;
}
result.add(dto);
}
}
//查图书级服务
List<ResourcePageModel> modelList = resourcePageModelDao.getBySceneIds(sceneIds);
if(CollUtil.isNotEmpty(modelList)){
List<Long> appIds = modelList.stream().filter(a -> null != a.getServeId()).map(a -> a.getServeId()).distinct().collect(Collectors.toList());
Map<Long, AppDto> appDtoMap = appConsr.mapBaseWithPriceByIds(appIds);
for (ResourcePageModel model : modelList) {
ListBookResourceDto dto = ListBookResourceDto.builder().sceneId(model.getSceneId()).build();
dto.setResourceServe("图书级服务"+ model.getServeTitle());
if(CollUtil.isNotEmpty(appDtoMap) && null!=model.getServeId() && appDtoMap.containsKey(model.getServeId())){
AppDto appDto = appDtoMap.get(model.getServeId());
if(null!=appDto){
dto.setServeTypeName(appDto.getTypeName());
dto.setServeName(appDto.getTitle());
}
}
result.add(dto);
}
}
return result.stream().collect(Collectors.groupingBy(a->a.getSceneId()));
}
private String getMutiChannelName(Integer channelType) {
if(null==channelType){
return null;
}else if(channelType==1L){
return "抖音";
}else if(channelType==2L){
return "哔哩哔哩";
}else{
return null;
}
}
private String getOriginName(Long originId){
if(null==originId){
return null;
}else if(originId==1L){
return "哔哩哔哩";
}else if(originId==2L){
return "抖音";
}else if(originId==3L){
return "小红书";
}else if(originId==4L){
return "快手";
}else{
return null;
}
}
} }
...@@ -2,6 +2,7 @@ package com.pcloud.book.group.dao; ...@@ -2,6 +2,7 @@ package com.pcloud.book.group.dao;
import com.pcloud.book.group.entity.ResourcePageColumn; import com.pcloud.book.group.entity.ResourcePageColumn;
import com.pcloud.book.group.vo.ResourceColumnAndServeVO; import com.pcloud.book.group.vo.ResourceColumnAndServeVO;
import com.pcloud.book.group.vo.ResourcePageItemVO;
import com.pcloud.common.core.dao.BaseDao; import com.pcloud.common.core.dao.BaseDao;
import java.util.List; import java.util.List;
...@@ -73,4 +74,6 @@ public interface ResourcePageColumnDao extends BaseDao<ResourcePageColumn> { ...@@ -73,4 +74,6 @@ public interface ResourcePageColumnDao extends BaseDao<ResourcePageColumn> {
List<Long> getColumnIdsByPageId(Long resourcePageId); List<Long> getColumnIdsByPageId(Long resourcePageId);
void deleteByIds(List<Long> ids); void deleteByIds(List<Long> ids);
List<ResourcePageItemVO> getServeListWithBookId(List<Long> sceneIds,List<String> serveTypes);
} }
\ No newline at end of file
...@@ -23,5 +23,7 @@ public interface ResourcePageModelDao extends BaseDao<ResourcePageModel> { ...@@ -23,5 +23,7 @@ public interface ResourcePageModelDao extends BaseDao<ResourcePageModel> {
void deleteByPageIdAndTypeCode(Long resourcePageId, List<String> typeCodes); void deleteByPageIdAndTypeCode(Long resourcePageId, List<String> typeCodes);
void deleteByPageIdExcludeTypeCode(Long resourcePageId, List<String> typeCodes); void deleteByPageIdExcludeTypeCode(Long resourcePageId, List<String> typeCodes);
List<ResourcePageModel> getBySceneIds(List<Long> sceneIds);
} }
...@@ -3,6 +3,7 @@ package com.pcloud.book.group.dao.impl; ...@@ -3,6 +3,7 @@ package com.pcloud.book.group.dao.impl;
import com.pcloud.book.group.dao.ResourcePageColumnDao; import com.pcloud.book.group.dao.ResourcePageColumnDao;
import com.pcloud.book.group.entity.ResourcePageColumn; import com.pcloud.book.group.entity.ResourcePageColumn;
import com.pcloud.book.group.vo.ResourceColumnAndServeVO; import com.pcloud.book.group.vo.ResourceColumnAndServeVO;
import com.pcloud.book.group.vo.ResourcePageItemVO;
import com.pcloud.common.core.dao.BaseDaoImpl; import com.pcloud.common.core.dao.BaseDaoImpl;
import com.pcloud.common.utils.ListUtils; import com.pcloud.common.utils.ListUtils;
...@@ -107,4 +108,12 @@ public class ResourcePageColumnDaoImpl extends BaseDaoImpl<ResourcePageColumn> i ...@@ -107,4 +108,12 @@ public class ResourcePageColumnDaoImpl extends BaseDaoImpl<ResourcePageColumn> i
} }
getSessionTemplate().delete(getStatement("deleteByIds"), ids); getSessionTemplate().delete(getStatement("deleteByIds"), ids);
} }
@Override
public List<ResourcePageItemVO> getServeListWithBookId(List<Long> sceneIds,List<String> serveTypes) {
Map<String, Object> map = new HashMap<>();
map.put("sceneIds", sceneIds);
map.put("serveTypes", serveTypes);
return getSessionTemplate().selectList(getStatement("getServeListWithBookId"), map);
}
} }
...@@ -43,4 +43,11 @@ public class ResourcePageModelDaoImpl extends BaseDaoImpl<ResourcePageModel> imp ...@@ -43,4 +43,11 @@ public class ResourcePageModelDaoImpl extends BaseDaoImpl<ResourcePageModel> imp
map.put("typeCodes", typeCodes); map.put("typeCodes", typeCodes);
getSessionTemplate().delete(getStatement("deleteByPageIdExcludeTypeCode"), map); getSessionTemplate().delete(getStatement("deleteByPageIdExcludeTypeCode"), map);
} }
@Override
public List<ResourcePageModel> getBySceneIds(List<Long> sceneIds) {
Map<String,Object> map = new HashMap<>();
map.put("sceneIds", sceneIds);
return getSessionTemplate().selectList(getStatement("getBySceneIds"), map);
}
} }
...@@ -77,5 +77,7 @@ public class ResourcePageModel extends BaseEntity { ...@@ -77,5 +77,7 @@ public class ResourcePageModel extends BaseEntity {
* 资源封面 * 资源封面
*/ */
private String servePic; private String servePic;
private Long sceneId;
} }
...@@ -191,4 +191,21 @@ ...@@ -191,4 +191,21 @@
book_qrcode_id book_qrcode_id
</select> </select>
<select id="getByQrcodeIdsAndType" resultType="com.pcloud.book.book.dto.WxWorkQrcodeOutDto" parameterType="map">
select
book_qrcode_id sceneId,
wxwork_qrcode_id choseQrcodeId,
wxwork_qrcode_type wxworkQrcodeType
from book.book_qrcode_wxwork
where book_qrcode_type = #{bookQrcodeType}
and book_qrcode_id in
<foreach collection="sceneIds" item="item" separator="," open="(" close=")">
${item}
</foreach>
and wxwork_qrcode_type in
<foreach collection="wxworkQrcodeTypes" item="item" separator="," open="(" close=")">
${item}
</foreach>
</select>
</mapper> </mapper>
...@@ -252,4 +252,41 @@ ...@@ -252,4 +252,41 @@
</foreach> </foreach>
</delete> </delete>
<select id="getServeListWithBookId" parameterType="map" resultType="com.pcloud.book.group.vo.ResourcePageItemVO">
select
a.serve_id serveId,
a.serve_type serveType,
a.type_code typeCode,
b.scene_id sceneId
from resource_page_item a
LEFT JOIN resource_page b on a.resource_page_id=b.id
where b.scene_id in
<foreach collection="sceneIds" index="index" close=")" open="(" item="item" separator=",">
#{item}
</foreach>
and a.serve_type in
<foreach collection="serveTypes" index="index" close=")" open="(" item="item" separator=",">
#{item}
</foreach>
union all
select
a.serve_id serveId,
a.serve_type serveType,
a.type_code typeCode,
b.scene_id sceneId
from resource_page_folder_item a
LEFT JOIN resource_page b on a.resource_page_id=b.id
where b.scene_id in
<foreach collection="sceneIds" index="index" close=")" open="(" item="item" separator=",">
#{item}
</foreach>
and a.serve_type in
<foreach collection="serveTypes" index="index" close=")" open="(" item="item" separator=",">
#{item}
</foreach>
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -109,5 +109,18 @@ ...@@ -109,5 +109,18 @@
</foreach> </foreach>
</delete> </delete>
<select id="getBySceneIds" parameterType="map" resultType="com.pcloud.book.group.entity.ResourcePageModel">
select
a.serve_title serveTitle,
a.serve_id serveId,
b.scene_id sceneId
from
resource_page_model a left join resource_page b on a.resource_page_id=b.id
where b.scene_id in
<foreach collection="sceneIds" index="index" close=")" open="(" item="item" separator=",">
#{item}
</foreach>
</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