REQ-2497: 添加一些工具

This commit is contained in:
yanglin 2024-06-14 14:06:06 +08:00
parent 7493d29b28
commit eb661679f3
6 changed files with 83 additions and 0 deletions

View File

@ -6,6 +6,7 @@ import cn.axzo.msg.center.api.request.v3.SearchMessageReqV3;
import cn.axzo.msg.center.api.request.v3.SearchPendingMessageReq;
import cn.axzo.msg.center.api.request.v3.SearchTodoLogReq;
import cn.axzo.msg.center.api.request.v3.SetImSendPriorityRequest;
import cn.axzo.msg.center.api.request.v3.UpdateMnsChannelTemplateRequest;
import cn.axzo.msg.center.im.service.IMService;
import cn.axzo.msg.center.inside.notices.service.impl.TodoSearchService;
import cn.axzo.msg.center.inside.notices.service.impl.v3.MessageRecordServiceV3;
@ -15,6 +16,9 @@ import cn.axzo.msg.center.message.service.impl.oldmsg.OldMsgStatCache;
import cn.axzo.msg.center.message.service.impl.person.PersonService;
import cn.axzo.msg.center.message.service.todo.manage.TodoManager;
import cn.axzo.msg.center.message.xxl.MigrateOldMsgHotDataJob;
import cn.axzo.msg.center.notices.manager.api.MessageTemplateManager;
import cn.axzo.msg.center.notices.manager.api.dto.request.plat.CreateTemplateRequestDto;
import cn.axzo.msg.center.notices.service.api.PlatService;
import cn.axzo.trade.web.annotation.EnableResponseAdvice;
import com.alibaba.cloud.nacos.NacosConfigManager;
import com.alibaba.cloud.nacos.parser.NacosDataParserHandler;
@ -50,6 +54,8 @@ public class PrivateMessageController {
private final MigrateOldMsgHotDataJob migrateOldMsgHotDataJob;
private final PersonService personService;
private final IMService imService;
private final MessageTemplateManager messageTemplateManager;
private final PlatService platService;
@PostMapping("/sendPendingMessage")
@EnableResponseAdvice(enable = false)
@ -136,4 +142,22 @@ public class PrivateMessageController {
return imService.setImSendPriority(request);
}
@PostMapping("/updateMnsChannelTemplate")
@EnableResponseAdvice(enable = false)
public Object updateMnsChannelTemplate(@RequestBody @Valid UpdateMnsChannelTemplateRequest request) {
int size = messageTemplateManager.changeChannelTemplateCode(
request.getChannelCode(), request.getSrcTemplateCode(), request.getDestTemplateCode());
return String.format("updated templates: %d", size);
}
@PostMapping("/createMnsTemplate")
public String createMnsTemplate(@RequestBody CreateTemplateRequestDto request){
platService.createTemplate(request);
return "created";
}
@PostMapping("/listMnsApps")
public Object listMnsApps(){
return platService.listAllApps();
}
}

View File

@ -0,0 +1,18 @@
package cn.axzo.msg.center.api.request.v3;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @author yanglin
*/
@Data
public class UpdateMnsChannelTemplateRequest {
@NotBlank(message = "channelCode can't be blank")
private String channelCode;
@NotBlank(message = "srcTemplateCode can't be blank")
private String srcTemplateCode;
@NotBlank(message = "destTemplateCode can't be blank")
private String destTemplateCode;
}

View File

@ -45,4 +45,5 @@ public interface MessageTemplateManager {
*/
List<String> listChannelCodes(String innerTemplateNo);
int changeChannelTemplateCode(String channelCode, String srcTemplateCode, String destTemplateCode);
}

View File

@ -1,5 +1,6 @@
package cn.axzo.msg.center.notices.manager;
import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum;
import cn.axzo.msg.center.dal.MNSChannelMessageTemplateDao;
import cn.axzo.msg.center.dal.MNSMessageTemplateDao;
import cn.axzo.msg.center.domain.entity.MNSChannelMessageTemplate;
@ -14,7 +15,9 @@ import cn.axzo.msg.center.notices.manager.api.dto.response.TemplateParamDto;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
@ -74,4 +77,27 @@ public class MessageTemplateManagerImpl implements MessageTemplateManager {
.map(MNSChannelMessageTemplate::getChannelCode)
.collect(Collectors.toList());
}
@Override
public int changeChannelTemplateCode(String channelCode, String srcTemplateCode, String destTemplateCode) {
if (Objects.equals(srcTemplateCode, destTemplateCode))
return 0;
List<MNSChannelMessageTemplate> templates = mnsChannelMessageTemplateDao.lambdaQuery()
.eq(MNSChannelMessageTemplate::getTemplateNo, srcTemplateCode)
.eq(MNSChannelMessageTemplate::getChannelCode, channelCode)
.eq(MNSChannelMessageTemplate::getIsDelete, TableIsDeleteEnum.NORMAL.value)
.list();
if (templates.isEmpty())
return 0;
ArrayList<MNSChannelMessageTemplate> updates = new ArrayList<>();
for (MNSChannelMessageTemplate template : templates) {
MNSChannelMessageTemplate update = new MNSChannelMessageTemplate();
update.setId(template.getId());
update.setTemplateNo(destTemplateCode);
updates.add(update);
}
mnsChannelMessageTemplateDao.updateBatchById(updates);
return updates.size();
}
}

View File

@ -1,11 +1,14 @@
package cn.axzo.msg.center.notices.service.api;
import cn.axzo.msg.center.domain.entity.MNSMessageApp;
import cn.axzo.msg.center.notices.common.lang.Page;
import cn.axzo.msg.center.notices.manager.api.dto.request.plat.CreateTemplateRequestDto;
import cn.axzo.msg.center.notices.manager.api.dto.request.plat.QueryTemplateRequestDto;
import cn.axzo.msg.center.notices.manager.api.dto.response.plat.QueryTemplateResponseDto;
import java.util.List;
public interface PlatService {
/*
@ -29,4 +32,6 @@ public interface PlatService {
* 删除短信模板
*/
void delete(String templateNo);
List<MNSMessageApp> listAllApps();
}

View File

@ -1,5 +1,6 @@
package cn.axzo.msg.center.notices.service.impl;
import cn.axzo.msg.center.common.enums.TableIsDeleteEnum;
import cn.axzo.msg.center.common.utils.PlaceholderResolver;
import cn.axzo.msg.center.dal.MNSMessageTemplateParamDao;
import cn.axzo.msg.center.dal.mapper.MNSChannelMessageTemplateMapper;
@ -30,6 +31,8 @@ import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
import static cn.axzo.basics.common.util.Queries.query;
@Slf4j
@Service("platService")
public class PlatServiceImpl implements PlatService {
@ -257,4 +260,10 @@ public class PlatServiceImpl implements PlatService {
mnsChannelMessageTemplateMapper.deleteByTemplateNo(templateNo);
}
@Override
public List<MNSMessageApp> listAllApps() {
return mnsMessageAppMapper.selectList(query(MNSMessageApp.class).
eq(MNSMessageApp::getIsDelete, TableIsDeleteEnum.NORMAL.value));
}
}