【代码评审】SYSTEM:订阅消息

This commit is contained in:
YunaiV
2024-07-29 19:03:18 +08:00
parent 008b544f03
commit 512d68f793
6 changed files with 27 additions and 42 deletions

View File

@ -71,10 +71,10 @@ public class SocialClientController {
return success(BeanUtils.toBean(pageResult, SocialClientRespVO.class));
}
//======================= TODO 测试发送订阅消息 =======================
@PostMapping("/send-subscribe-message")
public void testSendSubscribeMessage(@RequestBody SocialWxSubscribeMessageSendReqDTO reqDTO) {
@Operation(summary = "发送订阅消息") // 用于测试
@PreAuthorize("@ss.hasPermission('system:social-client:query')")
public void sendSubscribeMessage(@RequestBody SocialWxSubscribeMessageSendReqDTO reqDTO) {
socialClientService.sendSubscribeMessage(reqDTO, UserTypeEnum.MEMBER.getValue());
}

View File

@ -26,20 +26,21 @@ public interface SocialUserConvert {
@Mapping(source = "reqVO.type", target = "socialType")
SocialUserBindReqDTO convert(Long userId, Integer userType, SocialUserBindReqVO reqVO);
// TODO @puhui999要不 convert 直接放到 service 里。
default WxMaSubscribeMessage convert(SocialWxSubscribeMessageSendReqDTO reqDTO) {
WxMaSubscribeMessage message = BeanUtils.toBean(reqDTO, WxMaSubscribeMessage.class);
Map<String, String> messages = reqDTO.getMessages();
if (CollUtil.isNotEmpty(messages)) {
messages.keySet().forEach(key -> {
findAndThen(messages, key, value -> message.addData(new WxMaSubscribeMessage.MsgData(key, value)));
});
messages.keySet().forEach(key -> findAndThen(messages, key, value -> message.addData(new WxMaSubscribeMessage.MsgData(key, value))));
}
return message;
}
// TODO @puhui999要不 convert 直接放到 service 里。其实可以 BeanUtils.toBean(reqDTO, WxMaSubscribeMessage.class) 来搞的呀。
@Mapping(target = "id", source = "priTmplId")
SocialWxSubscribeTemplateRespDTO convert(TemplateInfo templateInfo);
// TODO @puhui999是不是用 CollectionUtils.convertList 就 ok 啦。
default List<SocialWxSubscribeTemplateRespDTO> convertList(List<TemplateInfo> subscribeTemplate) {
List<SocialWxSubscribeTemplateRespDTO> list = new ArrayList<>();
subscribeTemplate.forEach(templateInfo -> list.add(convert(templateInfo)));