Commit 5e6ea698 by 朱亚洁

feat:[1006837]资源同步

parent 539ecffd
package com.pcloud.book.base.constants;
/**
* @ClassName com.pcloud.book.base.constants.MqConstants
* @Author zhuyajie
* @Description
* @Date 2022/3/22 16:39
**/
public class MqConstants {
public static final String OWN_MESSAGE_4QRCODE = "topic.ownMessage";
}
package com.pcloud.book.group.dto;
import com.pcloud.common.dto.BaseDto;
import lombok.Data;
/**
* @ClassName com.pcloud.book.group.dto.MessagServeDTO
* @Author zhuyajie
* @Description
* @Date 2022/3/22 16:32
**/
@Data
public class MessagServeDTO extends BaseDto {
/**
* 来源id
*/
private Long fromId;
/**
* 来源类型
*/
private String fromType;
/**
* 宣传图
*/
private String posterPicUrl;
/**
* 封面图
*/
private String coverImg;
/**
* url
*/
private String url;
/**
* 消息标题
*/
private String title;
/**
* 短标题
*/
private String shortTitle;
/**
* 消息表类型编码
*/
private String typeCode;
}
package com.pcloud.book.group.dto;
import com.pcloud.common.dto.BaseDto;
import lombok.Data;
/**
* @ClassName com.pcloud.book.group.dto.QrcodeMessageDTO
* @Author zhuyajie
* @Description 资源配置
* @Date 2022/3/22 16:26
**/
@Data
public class OwnQrcodeMessageDTO extends BaseDto {
private Long sceneId;
}
......@@ -6,6 +6,7 @@ import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.dto.BookGroupServiceDTO;
import com.pcloud.book.group.dto.CreateDefaultResourcePageDTO;
import com.pcloud.book.group.dto.CreateGroupDTO;
import com.pcloud.book.group.dto.MessagServeDTO;
import com.pcloud.common.dto.ResponseDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.ResponseEntity;
......@@ -34,4 +35,8 @@ public interface BookGroupDataService {
@ApiOperation("RAYS码创建默认资源页")
@PostMapping("createDefaultResourcePage")
void createDefaultResourcePage(@RequestBody CreateDefaultResourcePageDTO createDefaultResourcePageDTO);
@ApiOperation("二维码需要同步到channel的资源")
@GetMapping("getServeListBySceneId4QrUpdate")
ResponseEntity<ResponseDto<List<MessagServeDTO>>> getServeListBySceneId4QrUpdate(@RequestParam("sceneId") Long sceneId);
}
......@@ -5,6 +5,7 @@ import com.pcloud.book.group.dto.AddBookGroupServeDTO;
import com.pcloud.book.group.dto.BookGroupServeCountDTO;
import com.pcloud.book.group.dto.BookGroupServeDTO;
import com.pcloud.book.group.dto.BookServeDTO;
import com.pcloud.book.group.dto.MessagServeDTO;
import com.pcloud.book.group.dto.NavigationParamDTO;
import com.pcloud.book.group.dto.ResourcePageCourseDTO;
import com.pcloud.book.group.dto.ResourcePageDTO;
......@@ -581,4 +582,11 @@ public interface ResourcePageBiz {
List<ResourcePageItemResourceVO> listQrOneResourceByBook(Long sceneId, Long wechatUserId);
Map<Long, BookGroupServeCountDTO> mapQrServeCount(List<Long> sceneIds);
/**
* @Description 需要同步到channel的资源
* @Author zhuyajie
* @Date 15:59 2022/3/24
**/
List<MessagServeDTO> getServeListBySceneId4QrUpdate(Long sceneId);
}
......@@ -16,6 +16,7 @@ import com.pcloud.book.applet.dto.AppletGroupStatementDTO;
import com.pcloud.book.applet.dto.AppletOuterBooklistDTO;
import com.pcloud.book.applet.dto.GroupActivity4AppletDTO;
import com.pcloud.book.applet.entity.AppletThirdResources;
import com.pcloud.book.base.constants.MqConstants;
import com.pcloud.book.base.exception.BookBizException;
import com.pcloud.book.book.biz.BookAdviserBiz;
import com.pcloud.book.book.biz.BookBiz;
......@@ -73,7 +74,9 @@ import com.pcloud.book.group.dto.BookGroupServeCountDTO;
import com.pcloud.book.group.dto.BookGroupServeDTO;
import com.pcloud.book.group.dto.BookServeDTO;
import com.pcloud.book.group.dto.MemberActivityBookSetDTO;
import com.pcloud.book.group.dto.MessagServeDTO;
import com.pcloud.book.group.dto.NavigationParamDTO;
import com.pcloud.book.group.dto.OwnQrcodeMessageDTO;
import com.pcloud.book.group.dto.ResourcePageCourseDTO;
import com.pcloud.book.group.dto.ResourcePageDTO;
import com.pcloud.book.group.dto.ResourcePageShareDto;
......@@ -1918,10 +1921,8 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
// 修改该单页面的更新时间
resourcePageDao.updatePageUpdateTime(resourcePageId);
//同步RAYS码资源配置
ThreadPoolUtils.RESOURCE_POOL.execute(()->{
ResourcePage resourcePage = resourcePageDao.getById(resourcePageId);
this.updateOwnMessage4Qr(null == resourcePage? null : resourcePage.getSceneId());
});
}
@Transactional(rollbackFor = Exception.class)
......@@ -1938,10 +1939,8 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
//栏目重新排序
this.updateSeq4Batch(column.getResourcePageId(), column.getNavigationId());
//同步RAYS码资源配置
ThreadPoolUtils.RESOURCE_POOL.execute(()->{
ResourcePage resourcePage = resourcePageDao.getPageByColumnId(resourcePageColumnId);
this.updateOwnMessage4Qr(null == resourcePage? null : resourcePage.getSceneId());
});
}
@Override
......@@ -2007,8 +2006,8 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
page.getBookGroupId() == null ? page.getSceneId() : page.getBookGroupId(),
AdviserTaskConstants.OperateTypeEnum.CONFIGURE_RESOURCE.getValue());
//同步RAYS码资源配置
ThreadPoolUtils.RESOURCE_POOL.execute(()->{
this.updateOwnMessage4Qr(updateResourcePageVO.getSceneId());
ThreadPoolUtils.RESOURCE_POOL.execute(()->{
this.sendMemberActivityQueue(resourcePageId);
});
//更新会员商品渠道
......@@ -2556,20 +2555,10 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
if (null == sceneId) {
return;
}
QrcodeSceneDto qrcodeSceneDto = qrcodeSceneConsr.getById(sceneId);
if (null == qrcodeSceneDto) {
log.error("二维码不存在,sceneId=" + sceneId);
return;
}
OwnMessageDTO ownMessageDTO = new OwnMessageDTO();
ownMessageDTO.setAdviserId(qrcodeSceneDto.getCreatedByUserLogin());
ownMessageDTO.setBookId(qrcodeSceneDto.getAdviserBookId());
ownMessageDTO.setChannelId(qrcodeSceneDto.getChannelPartyId());
OwnQrcodeMessageDTO ownMessageDTO = new OwnQrcodeMessageDTO();
ownMessageDTO.setSceneId(sceneId);
//配置的资源
List<Message> messages = this.getServeListBySceneId4QrUpdate(sceneId);
ownMessageDTO.setMessages(messages);
qrcodeSceneConsr.updateOwnMessage4Qr(ownMessageDTO);
//消息队列处理
amqpTemplate.convertAndSend(MQTopicProducer.EXCHAGE, MqConstants.OWN_MESSAGE_4QRCODE, ownMessageDTO);
}
/**
......@@ -2578,7 +2567,8 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
* @date:2021/9/28 10:12
* * @param null
*/
private List<Message> getServeListBySceneId4QrUpdate(Long sceneId) {
@Override
public List<MessagServeDTO> getServeListBySceneId4QrUpdate(Long sceneId) {
List<ResourcePageItemVO> itemVOS = resourcePageItemDao.getServeListBySceneId4QrUpdate(sceneId);
if (ListUtils.isEmpty(itemVOS)) {
return new ArrayList<>();
......@@ -2587,9 +2577,9 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
for (Map.Entry<String, List<ResourcePageItemVO>> entry : listMap.entrySet()) {
this.fillResourceByType(entry.getValue(), null, entry.getKey());
}
List<Message> messages = new ArrayList<>();
List<MessagServeDTO> messages = new ArrayList<>();
for (ResourcePageItemVO itemVO: itemVOS) {
Message message = new Message();
MessagServeDTO message = new MessagServeDTO();
message.setFromId(itemVO.getServeId());
message.setFromType(itemVO.getTypeCode());
message.setUrl(itemVO.getLinkUrl());
......@@ -3317,10 +3307,8 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
this.deleteNavigation(navigationId);
}
//同步RAYS码资源配置
ThreadPoolUtils.RESOURCE_POOL.execute(() -> {
ResourcePage resourcePage = resourcePageDao.getById(navigationParamDTO.getResourcePageId());
this.updateOwnMessage4Qr(null == resourcePage ? null : resourcePage.getSceneId());
});
}
//修改导航样式,版式,菜单跳转模式
resourcePageDao.updateNavigationFormat(navigationParamDTO.getResourcePageId(), navigationParamDTO.getNavigationColor(),navigationParamDTO.getNavigationFormat(), navigationParamDTO.getNavigationJumpType());
......
......@@ -9,6 +9,7 @@ import com.pcloud.book.group.dto.BookGroupDTO;
import com.pcloud.book.group.dto.BookGroupServiceDTO;
import com.pcloud.book.group.dto.CreateDefaultResourcePageDTO;
import com.pcloud.book.group.dto.CreateGroupDTO;
import com.pcloud.book.group.dto.MessagServeDTO;
import com.pcloud.book.group.entity.BookGroup;
import com.pcloud.book.group.enums.JoinGroupTypeEnum;
import com.pcloud.book.group.service.BookGroupDataService;
......@@ -82,4 +83,10 @@ public class BookGroupDataServiceImpl implements BookGroupDataService {
//创建默认resourcePage
resourcePageBiz.createDefaultResourcePage(dto.getBookGroupId(),dto.getAdviserId(),dto.getSceneId(),0,dto.getLandingPageType());
}
@GetMapping("getServeListBySceneId4QrUpdate")
@Override
public ResponseEntity<ResponseDto<List<MessagServeDTO>>> getServeListBySceneId4QrUpdate(@RequestParam("sceneId") Long sceneId) {
return ResponseHandleUtil.toResponse(resourcePageBiz.getServeListBySceneId4QrUpdate(sceneId));
}
}
......@@ -435,7 +435,8 @@
i.link_url linkUrl,
p.create_user createUser,
i.type_code typeCode,
p.scene_id sceneId
p.scene_id sceneId,
i.resource_page_id resourcePageId
FROM
resource_page_item i
LEFT JOIN resource_page p ON i.resource_page_id = p.id
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment