| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614 |
- package jnpf.message.controller;
- import cn.dev33.satoken.annotation.SaCheckPermission;
- import cn.dev33.satoken.annotation.SaMode;
- import io.swagger.v3.oas.annotations.Parameter;
- import io.swagger.v3.oas.annotations.Parameters;
- import jnpf.base.controller.SuperController;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import io.swagger.v3.oas.annotations.tags.Tag;
- import io.swagger.v3.oas.annotations.Operation;
- import jnpf.base.ActionResult;
- import jnpf.base.entity.DictionaryDataEntity;
- import jnpf.base.service.BillRuleService;
- import jnpf.base.service.DictionaryDataService;
- import jnpf.base.vo.PageListVO;
- import jnpf.base.vo.PaginationVO;
- import jnpf.base.UserInfo;
- import jnpf.base.vo.DownloadVO;
- import jnpf.config.ConfigValueUtil;
- import jnpf.constant.FileTypeConstant;
- import jnpf.constant.MsgCode;
- import jnpf.exception.DataException;
- import jnpf.message.entity.MessageTemplateConfigEntity;
- import jnpf.message.entity.SmsFieldEntity;
- import jnpf.message.entity.TemplateParamEntity;
- import jnpf.message.model.messagetemplateconfig.MessageTemplateConfigForm;
- import jnpf.message.model.messagetemplateconfig.MessageTemplateConfigInfoVO;
- import jnpf.message.model.messagetemplateconfig.MessageTemplateConfigListVO;
- import jnpf.message.model.messagetemplateconfig.MessageTemplateConfigPagination;
- import jnpf.message.service.MessageTemplateConfigService;
- import jnpf.message.service.SendConfigTemplateService;
- import jnpf.message.service.SmsFieldService;
- import jnpf.message.service.TemplateParamService;
- import jnpf.permission.entity.UserEntity;
- import jnpf.permission.service.UserService;
- import jnpf.emnus.ModuleTypeEnum;
- import jnpf.util.FileExport;
- import org.springframework.http.MediaType;
- import org.springframework.transaction.annotation.Transactional;
- import jnpf.util.*;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import org.springframework.web.bind.annotation.*;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.multipart.MultipartFile;
- import jakarta.validation.Valid;
- import java.io.IOException;
- import java.util.stream.Collectors;
- import java.util.*;
- /**
- * 消息模板(新)
- *
- * @版本: V3.2.0
- * @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com)
- * @作者: JNPF开发平台组
- * @日期: 2022-08-18
- */
- @Slf4j
- @RestController
- @Tag(name = "消息模板(新)", description = "message")
- @RequestMapping("/api/message/MessageTemplateConfig")
- public class MessageTemplateConfigController extends SuperController<MessageTemplateConfigService, MessageTemplateConfigEntity> {
- @Autowired
- private FileExport fileExport;
- @Autowired
- private BillRuleService billRuleService;
- @Autowired
- private ConfigValueUtil configValueUtil;
- @Autowired
- private UserService userApi;
- @Autowired
- private MessageTemplateConfigService messageTemplateConfigService;
- @Autowired
- private TemplateParamService templateParamService;
- @Autowired
- private SmsFieldService smsFieldService;
- @Autowired
- private DictionaryDataService dictionaryDataApi;
- @Autowired
- private SendConfigTemplateService sendConfigTemplateService;
- /**
- * 列表
- *
- * @param messageTemplateConfigPagination 消息模板分页模型
- * @return
- */
- @Operation(summary = "列表")
- @SaCheckPermission(value = {"msgCenter.msgTemplate", "integrationCenter.sms", "integrationCenter.email"}, mode = SaMode.OR)
- @GetMapping
- public ActionResult<PageListVO<MessageTemplateConfigListVO>> list(MessageTemplateConfigPagination messageTemplateConfigPagination) throws IOException {
- List<MessageTemplateConfigEntity> list = messageTemplateConfigService.getList(messageTemplateConfigPagination);
- List<DictionaryDataEntity> msgSendTypeList = dictionaryDataApi.getListByTypeDataCode("msgSendType");
- List<DictionaryDataEntity> msgSourceTypeList = dictionaryDataApi.getListByTypeDataCode("msgSourceType");
- //处理id字段转名称,若无需转或者为空可删除
- UserEntity userEntity = new UserEntity();
- List<MessageTemplateConfigListVO> listVO = JsonUtil.getJsonToList(list, MessageTemplateConfigListVO.class);
- for (MessageTemplateConfigListVO messageTemplateNewVO : listVO) {
- //消息类型
- if(StringUtil.isNotEmpty(messageTemplateNewVO.getMessageType())){
- msgSendTypeList.stream().filter(t -> messageTemplateNewVO.getMessageType().equals(t.getEnCode())).findFirst()
- .ifPresent(dataTypeEntity -> messageTemplateNewVO.setMessageType(dataTypeEntity.getFullName()));
- }
- //创建人员
- if(StringUtil.isNotBlank(messageTemplateNewVO.getCreatorUserId()) && !"null".equals(messageTemplateNewVO.getCreatorUserId())){
- userEntity = userApi.getInfo(messageTemplateNewVO.getCreatorUserId());
- if(userEntity != null){
- messageTemplateNewVO.setCreatorUser(userEntity.getRealName() +"/"+ userEntity.getAccount());
- }
- }
- //消息来源
- if(StringUtil.isNotEmpty(messageTemplateNewVO.getMessageSource())) {
- msgSourceTypeList.stream().filter(t -> messageTemplateNewVO.getMessageSource().equals(t.getEnCode())).findFirst()
- .ifPresent(dataTypeEntity -> messageTemplateNewVO.setMessageSource(dataTypeEntity.getFullName()));
- }
- }
- PageListVO vo = new PageListVO();
- vo.setList(listVO);
- PaginationVO page = JsonUtil.getJsonToBean(messageTemplateConfigPagination, PaginationVO.class);
- vo.setPagination(page);
- return ActionResult.success(vo);
- }
- /**
- * 创建
- *
- * @param messageTemplateConfigForm 消息模板页模型
- * @return ignore
- */
- @Operation(summary = "创建")
- @Parameters({
- @Parameter(name = "messageTemplateConfigForm", description = "消息模板页模型", required = true)
- })
- @SaCheckPermission("msgCenter.msgTemplate")
- @PostMapping
- @Transactional
- public ActionResult create(@RequestBody @Valid MessageTemplateConfigForm messageTemplateConfigForm) throws DataException {
- boolean b = messageTemplateConfigService.checkForm(messageTemplateConfigForm, 0,"");
- if (b) {
- return ActionResult.fail(MsgCode.EXIST002.get());
- }
- if(!"1".equals(messageTemplateConfigForm.getTemplateType())){
- if(messageTemplateConfigForm.getEnCode().contains("MBXT")){
- return ActionResult.fail(MsgCode.MSERR114.get());
- }
- }
- if (messageTemplateConfigForm.getSmsFieldList() != null && "7".equals(messageTemplateConfigForm.getMessageType())) {
- List<SmsFieldEntity> SmsFieldList = JsonUtil.getJsonToList(messageTemplateConfigForm.getSmsFieldList(), SmsFieldEntity.class);
- List<SmsFieldEntity> list = SmsFieldList.stream().filter(t->StringUtil.isNotEmpty(String.valueOf(t.getIsTitle())) &&!"null".equals(String.valueOf(t.getIsTitle())) && t.getIsTitle()==1).collect(Collectors.toList());
- if (list != null) {
- if(list.size() > 1) {
- return ActionResult.fail(MsgCode.MSERR115.get());
- }
- }else {
- return ActionResult.fail(MsgCode.MSERR116.get());
- }
- }
- String mainId = RandomUtil.uuId();
- UserInfo userInfo = UserProvider.getUser();
- MessageTemplateConfigEntity entity = JsonUtil.getJsonToBean(messageTemplateConfigForm, MessageTemplateConfigEntity.class);
- entity.setCreatorTime(DateUtil.getNowDate());
- entity.setCreatorUserId(userInfo.getUserId());
- entity.setId(mainId);
- if("1".equals(entity.getMessageType()) && "2".equals(entity.getMessageSource())){
- entity.setContent(null);
- }
- messageTemplateConfigService.save(entity);
- if (messageTemplateConfigForm.getTemplateParamList() != null) {
- List<TemplateParamEntity> TemplateParamList = JsonUtil.getJsonToList(messageTemplateConfigForm.getTemplateParamList(), TemplateParamEntity.class);
- for (TemplateParamEntity entitys : TemplateParamList) {
- entitys.setId(RandomUtil.uuId());
- entitys.setTemplateId(entity.getId());
- templateParamService.save(entitys);
- }
- }
- if (messageTemplateConfigForm.getSmsFieldList() != null) {
- List<SmsFieldEntity> SmsFieldList = JsonUtil.getJsonToList(messageTemplateConfigForm.getSmsFieldList(), SmsFieldEntity.class);
- for (SmsFieldEntity entitys : SmsFieldList) {
- entitys.setId(RandomUtil.uuId());
- entitys.setTemplateId(entity.getId());
- smsFieldService.save(entitys);
- }
- }
- return ActionResult.success(MsgCode.SU001.get());
- }
- /**
- * 信息
- *
- * @param id 主键
- * @return ignore
- */
- @Operation(summary = "信息")
- @Parameters({
- @Parameter(name = "id", description = "主键", required = true)
- })
- @SaCheckPermission(value = {"msgCenter.msgTemplate", "integrationCenter.sms", "integrationCenter.email"}, mode = SaMode.OR)
- @GetMapping("/{id}")
- public ActionResult<MessageTemplateConfigInfoVO> info(@PathVariable("id") String id) {
- MessageTemplateConfigEntity entity = messageTemplateConfigService.getInfo(id);
- MessageTemplateConfigInfoVO vo = JsonUtil.getJsonToBean(entity, MessageTemplateConfigInfoVO.class);
- //子表
- List<TemplateParamEntity> BaseTemplateParamList = messageTemplateConfigService.getTemplateParamList(id);
- // for (TemplateParamEntity basetemplateparamEntity : BaseTemplateParamList) {
- // }
- vo.setTemplateParamList(BaseTemplateParamList);
- List<SmsFieldEntity> BaseSmsFieldList = messageTemplateConfigService.getSmsFieldList(id);
- // for (SmsFieldEntity basesmsfieldEntity : BaseSmsFieldList) {
- // }
- vo.setSmsFieldList(BaseSmsFieldList);
- //副表
- return ActionResult.success(vo);
- }
- /**
- * 表单信息(详情页)
- *
- * @param id 主键
- * @return ignore
- */
- @Operation(summary = "表单信息(详情页)")
- @Parameters({
- @Parameter(name = "id", description = "主键", required = true)
- })
- @SaCheckPermission("msgCenter.msgTemplate")
- @GetMapping("/detail/{id}")
- public ActionResult<MessageTemplateConfigInfoVO> detailInfo(@PathVariable("id") String id) {
- MessageTemplateConfigEntity entity = messageTemplateConfigService.getInfo(id);
- UserEntity userEntity = new UserEntity();
- MessageTemplateConfigInfoVO vo = JsonUtil.getJsonToBean(entity, MessageTemplateConfigInfoVO.class);
- //子表数据转换
- List<TemplateParamEntity> BaseTemplateParamList = messageTemplateConfigService.getTemplateParamList(id);
- // for (TemplateParamEntity basetemplateparamEntity : BaseTemplateParamList) {
- // }
- vo.setTemplateParamList(BaseTemplateParamList);
- List<SmsFieldEntity> BaseSmsFieldList = messageTemplateConfigService.getSmsFieldList(id);
- // for (SmsFieldEntity basesmsfieldEntity : BaseSmsFieldList) {
- // }
- vo.setSmsFieldList(BaseSmsFieldList);
- return ActionResult.success(vo);
- }
- /**
- * 更新
- *
- * @param id 主键
- * @param messageTemplateConfigForm 消息模板页模型
- * @return
- */
- @Operation(summary = "更新")
- @Parameters({
- @Parameter(name = "id", description = "主键", required = true),
- @Parameter(name = "messageTemplateConfigForm", description = "消息模板页模型", required = true)
- })
- @SaCheckPermission("msgCenter.msgTemplate")
- @PutMapping("/{id}")
- @Transactional
- public ActionResult update(@PathVariable("id") String id, @RequestBody @Valid MessageTemplateConfigForm messageTemplateConfigForm) throws DataException {
- boolean b = messageTemplateConfigService.checkForm(messageTemplateConfigForm, 0, messageTemplateConfigForm.getId());
- if (b) {
- return ActionResult.fail(MsgCode.EXIST002.get());
- }
- if(!"1".equals(messageTemplateConfigForm.getTemplateType())){
- if(messageTemplateConfigForm.getEnCode().contains("MBXT")){
- return ActionResult.fail(MsgCode.MSERR114.get());
- }
- }
- //判断配置是否被引用
- if("0".equals(String.valueOf(messageTemplateConfigForm.getEnabledMark()))){
- if(sendConfigTemplateService.isUsedTemplate(messageTemplateConfigForm.getId())) {
- return ActionResult.fail(MsgCode.FA049.get());
- }
- }
- if (messageTemplateConfigForm.getSmsFieldList() != null && "7".equals(messageTemplateConfigForm.getMessageType())) {
- List<SmsFieldEntity> SmsFieldList = JsonUtil.getJsonToList(messageTemplateConfigForm.getSmsFieldList(), SmsFieldEntity.class);
- List<SmsFieldEntity> list = SmsFieldList.stream().filter(t->StringUtil.isNotEmpty(String.valueOf(t.getIsTitle())) &&!"null".equals(String.valueOf(t.getIsTitle())) && t.getIsTitle()==1).collect(Collectors.toList());
- if (list != null) {
- if(list.size() > 1) {
- return ActionResult.fail(MsgCode.MSERR117.get());
- }
- }else {
- return ActionResult.fail(MsgCode.MSERR118.get());
- }
- }
- UserInfo userInfo = UserProvider.getUser();
- MessageTemplateConfigEntity entity = messageTemplateConfigService.getInfo(id);
- if (entity != null) {
- MessageTemplateConfigEntity subentity = JsonUtil.getJsonToBean(messageTemplateConfigForm, MessageTemplateConfigEntity.class);
- subentity.setCreatorTime(entity.getCreatorTime());
- subentity.setCreatorUserId(entity.getCreatorUserId());
- subentity.setLastModifyTime(DateUtil.getNowDate());
- subentity.setLastModifyUserId(userInfo.getUserId());
- if("1".equals(subentity.getMessageType()) && "2".equals(subentity.getMessageSource())){
- subentity.setContent(null);
- }
- boolean b1 = messageTemplateConfigService.updateById(subentity);
- if (!b1) {
- return ActionResult.fail(MsgCode.VS405.get());
- }
- //明细表数据更新
- List<TemplateParamEntity> addParamList = new ArrayList<>();
- List<TemplateParamEntity> updParamList = new ArrayList<>();
- List<TemplateParamEntity> delParamList = new ArrayList<>();
- if (messageTemplateConfigForm.getTemplateParamList() != null) {
- List<TemplateParamEntity> templateParamList = JsonUtil.getJsonToList(messageTemplateConfigForm.getTemplateParamList(), TemplateParamEntity.class);
- for (TemplateParamEntity entitys : templateParamList) {
- if (StringUtil.isNotBlank(entitys.getId()) && !"null".equals(entitys.getId())) {
- TemplateParamEntity paramEntity = templateParamService.getInfo(entitys.getId());
- if (paramEntity != null) {
- paramEntity.setId(entitys.getId());
- paramEntity.setTemplateId(entitys.getTemplateId());
- paramEntity.setField(entitys.getField());
- paramEntity.setFieldName(entitys.getFieldName());
- paramEntity.setCreatorUserId(entity.getCreatorUserId());
- paramEntity.setCreatorTime(entitys.getCreatorTime());
- paramEntity.setLastModifyUserId(userInfo.getUserId());
- paramEntity.setLastModifyTime(DateUtil.getNowDate());
- updParamList.add(paramEntity);
- }
- } else {
- entitys.setId(RandomUtil.uuId());
- entitys.setTemplateId(entity.getId());
- entitys.setCreatorUserId(userInfo.getUserId());
- entitys.setCreatorTime(DateUtil.getNowDate());
- addParamList.add(entitys);
- }
- }
- //删除参数记录
- List<TemplateParamEntity> paramEntityList = templateParamService.getDetailListByParentId(entity.getId());
- if (paramEntityList != null) {
- for (TemplateParamEntity paramEntity : paramEntityList) {
- TemplateParamEntity paramEntity1 = templateParamList.stream().filter(t -> t.getId().equals(paramEntity.getId())).findFirst().orElse(null);
- if (paramEntity1 == null) {
- delParamList.add(paramEntity);
- }
- }
- }
- if (addParamList != null && addParamList.size() > 0) {
- templateParamService.saveBatch(addParamList);
- }
- if (updParamList != null && updParamList.size() > 0) {
- templateParamService.updateBatchById(updParamList);
- }
- if (delParamList != null && delParamList.size() > 0) {
- templateParamService.removeByIds(delParamList.stream().map(TemplateParamEntity::getId).collect(Collectors.toList()));
- }
- }
- //短信参数明细表数据更新
- List<SmsFieldEntity> addSmsList = new ArrayList<>();
- List<SmsFieldEntity> updSmsList = new ArrayList<>();
- List<SmsFieldEntity> delSmsList = new ArrayList<>();
- if (messageTemplateConfigForm.getSmsFieldList() != null) {
- List<SmsFieldEntity> smsFieldList = JsonUtil.getJsonToList(messageTemplateConfigForm.getSmsFieldList(), SmsFieldEntity.class);
- for (SmsFieldEntity entitys : smsFieldList) {
- if (StringUtil.isNotBlank(entitys.getId()) && !"null".equals(entitys.getId())) {
- SmsFieldEntity smsFieldEntity = smsFieldService.getInfo(entitys.getId());
- if (smsFieldEntity != null) {
- smsFieldEntity.setId(entitys.getId());
- smsFieldEntity.setTemplateId(entity.getId());
- smsFieldEntity.setFieldId(entitys.getFieldId());
- smsFieldEntity.setField(entitys.getField());
- smsFieldEntity.setSmsField(entitys.getSmsField());
- smsFieldEntity.setCreatorTime(entitys.getCreatorTime());
- smsFieldEntity.setCreatorUserId(entitys.getCreatorUserId());
- smsFieldEntity.setLastModifyTime(DateUtil.getNowDate());
- smsFieldEntity.setLastModifyUserId(userInfo.getUserId());
- smsFieldEntity.setIsTitle(entitys.getIsTitle());
- updSmsList.add(smsFieldEntity);
- }
- } else {
- entitys.setId(RandomUtil.uuId());
- entitys.setTemplateId(entity.getId());
- entitys.setCreatorTime(DateUtil.getNowDate());
- entitys.setCreatorUserId(userInfo.getUserId());
- addSmsList.add(entitys);
- }
- }
- //删除短信参数明细表
- List<SmsFieldEntity> smsFieldEntityList = smsFieldService.getDetailListByParentId(entity.getId());
- if (smsFieldEntityList != null && smsFieldEntityList.size() > 0) {
- for (SmsFieldEntity smsFieldEntity : smsFieldEntityList) {
- SmsFieldEntity smsFieldEntity1 = smsFieldList.stream().filter(t -> t.getId().equals(smsFieldEntity.getId())).findFirst().orElse(null);
- if (smsFieldEntity1 == null) {
- delSmsList.add(smsFieldEntity);
- }
- }
- }
- if (addSmsList != null && addSmsList.size() > 0) {
- smsFieldService.saveBatch(addSmsList);
- }
- if (updSmsList != null && updSmsList.size() > 0) {
- smsFieldService.updateBatchById(updSmsList);
- }
- if (delSmsList != null && delSmsList.size() > 0) {
- smsFieldService.removeByIds(delSmsList.stream().map(SmsFieldEntity::getId).collect(Collectors.toList()));
- }
- }
- return ActionResult.success(MsgCode.SU004.get());
- } else {
- return ActionResult.fail(MsgCode.FA002.get());
- }
- }
- /**
- * 删除
- *
- * @param id 主键
- * @return ignore
- */
- @Operation(summary = "删除")
- @Parameters({
- @Parameter(name = "id", description = "主键", required = true)
- })
- @SaCheckPermission("msgCenter.msgTemplate")
- @DeleteMapping("/{id}")
- @Transactional
- public ActionResult delete(@PathVariable("id") String id) {
- MessageTemplateConfigEntity entity = messageTemplateConfigService.getInfo(id);
- if (entity != null) {
- if(sendConfigTemplateService.isUsedTemplate(entity.getId())) {
- return ActionResult.fail(MsgCode.FA050.get());
- }
- messageTemplateConfigService.delete(entity);
- QueryWrapper<TemplateParamEntity> queryWrapperTemplateParam = new QueryWrapper<>();
- queryWrapperTemplateParam.lambda().eq(TemplateParamEntity::getTemplateId, entity.getId());
- templateParamService.remove(queryWrapperTemplateParam);
- QueryWrapper<SmsFieldEntity> queryWrapperSmsField = new QueryWrapper<>();
- queryWrapperSmsField.lambda().eq(SmsFieldEntity::getTemplateId, entity.getId());
- smsFieldService.remove(queryWrapperSmsField);
- }
- return ActionResult.success(MsgCode.SU003.get());
- }
- /**
- * 开启或禁用
- *
- * @param id
- * @return
- */
- @Operation(summary = "开启或禁用")
- @Parameters({
- @Parameter(name = "id", description = "主键", required = true)
- })
- @SaCheckPermission("msgCenter.msgTemplate")
- @PostMapping("/unable/{id}")
- @Transactional
- public ActionResult unable(@PathVariable("id") String id) {
- MessageTemplateConfigEntity entity = messageTemplateConfigService.getInfo(id);
- if (entity != null) {
- if("1".equals(String.valueOf(entity.getEnabledMark()))){
- entity.setEnabledMark(0);
- return ActionResult.success(MsgCode.WF027.get());
- }else {
- //判断是否被引用
- entity.setEnabledMark(1);
- return ActionResult.success(MsgCode.WF026.get());
- }
- }else {
- return ActionResult.fail(MsgCode.FA007.get());
- }
- }
- /**
- * 复制
- *
- * @param id
- * @return
- */
- @Operation(summary = "复制")
- @Parameters({
- @Parameter(name = "id", description = "主键", required = true)
- })
- @SaCheckPermission("msgCenter.msgTemplate")
- @PostMapping("/{id}/Actions/Copy")
- @Transactional
- public ActionResult copy(@PathVariable("id") String id) {
- UserInfo userInfo = UserProvider.getUser();
- MessageTemplateConfigEntity entity = messageTemplateConfigService.getInfo(id);
- if (entity != null) {
- entity.setEnabledMark(0);
- String copyNum = UUID.randomUUID().toString().substring(0, 5);
- entity.setFullName(entity.getFullName()+".副本"+copyNum);
- entity.setEnCode(entity.getEnCode()+copyNum);
- entity.setCreatorTime(DateUtil.getNowDate());
- entity.setCreatorUserId(userInfo.getUserId());
- entity.setLastModifyTime(null);
- entity.setLastModifyUserId(null);
- entity.setTemplateType("0");
- entity.setId(RandomUtil.uuId());
- MessageTemplateConfigEntity copyEntity = JsonUtil.getJsonToBean(entity, MessageTemplateConfigEntity.class);
- if(copyEntity.getEnCode().length()>50 || copyEntity.getFullName().length()>50){
- return ActionResult.fail(MsgCode.PRI006.get());
- }
- messageTemplateConfigService.create(copyEntity);
- List<TemplateParamEntity> copyParamList = new ArrayList<>();
- List<TemplateParamEntity> baseParamList = templateParamService.getDetailListByParentId(id);
- if(baseParamList != null && baseParamList.size()>0){
- for(TemplateParamEntity entitys : baseParamList){
- entitys.setId(RandomUtil.uuId());
- entitys.setTemplateId(copyEntity.getId());
- entitys.setCreatorTime(DateUtil.getNowDate());
- entitys.setCreatorUserId(userInfo.getUserId());
- entitys.setLastModifyTime(null);
- entitys.setLastModifyUserId(null);
- copyParamList.add(entitys);
- }
- }
- if(copyParamList != null && copyParamList.size()>0) {
- templateParamService.saveBatch(copyParamList);
- }
- List<SmsFieldEntity> copySmsList = new ArrayList<>();
- List<SmsFieldEntity> baseSmsFieldList = smsFieldService.getDetailListByParentId(id);
- if(baseSmsFieldList != null && baseSmsFieldList.size()>0){
- for(SmsFieldEntity entitys : baseSmsFieldList){
- entitys.setId(RandomUtil.uuId());
- entitys.setTemplateId(copyEntity.getId());
- entitys.setCreatorTime(DateUtil.getNowDate());
- entitys.setCreatorUserId(userInfo.getUserId());
- entitys.setLastModifyTime(null);
- entitys.setLastModifyUserId(null);
- copySmsList.add(entitys);
- }
- }
- if(copySmsList != null && copySmsList.size()>0){
- smsFieldService.saveBatch(copySmsList);
- }
- return ActionResult.success(MsgCode.SU007.get());
- }else {
- return ActionResult.fail(MsgCode.FA004.get());
- }
- }
- /**
- * 导出消息模板
- *
- * @param id 消息模板id
- * @return ignore
- */
- @Operation(summary = "导出")
- @GetMapping("/{id}/Action/Export")
- public ActionResult export(@PathVariable String id) {
- MessageTemplateConfigEntity entity = messageTemplateConfigService.getInfo(id);
- MessageTemplateConfigInfoVO vo = JsonUtil.getJsonToBean(entity, MessageTemplateConfigInfoVO.class);
- //子表
- List<TemplateParamEntity> BaseTemplateParamList = messageTemplateConfigService.getTemplateParamList(id);
- vo.setTemplateParamList(BaseTemplateParamList);
- List<SmsFieldEntity> BaseSmsFieldList = messageTemplateConfigService.getSmsFieldList(id);
- vo.setSmsFieldList(BaseSmsFieldList);
- //导出文件
- DownloadVO downloadVO = fileExport.exportFile(vo, FileTypeConstant.TEMPORARY, entity.getFullName(), ModuleTypeEnum.MESSAGE_TEMPLATE.getTableName());
- return ActionResult.success(downloadVO);
- }
- /**
- * 导入消息模板
- *
- * @param multipartFile 备份json文件
- * @return 执行结果标识
- */
- @Operation(summary = "导入")
- @PostMapping(value = "/Action/Import", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
- public ActionResult importData(@RequestPart("file") MultipartFile multipartFile) throws DataException {
- UserInfo userInfo = UserProvider.getUser();
- //判断是否为.json结尾
- if (FileUtil.existsSuffix(multipartFile, ModuleTypeEnum.MESSAGE_TEMPLATE.getTableName())) {
- return ActionResult.fail(MsgCode.IMP002.get());
- }
- //获取文件内容
- String fileContent = FileUtil.getFileContent(multipartFile);
- MessageTemplateConfigInfoVO infoVO = JsonUtil.getJsonToBean(fileContent, MessageTemplateConfigInfoVO.class);
- MessageTemplateConfigEntity entity = JsonUtil.getJsonToBean(infoVO, MessageTemplateConfigEntity.class);
- entity.setCreatorUserId(userInfo.getUserId());
- entity.setCreatorTime(DateUtil.getNowDate());
- //子表数据导入
- if (infoVO.getTemplateParamList() != null && infoVO.getTemplateParamList().size()>0) {
- List<TemplateParamEntity> templateParamList = JsonUtil.getJsonToList(infoVO.getTemplateParamList(), TemplateParamEntity.class);
- templateParamService.saveBatch(templateParamList);
- }
- if(infoVO.getSmsFieldList() != null && infoVO.getSmsFieldList().size()>0){
- List<SmsFieldEntity> smsFieldList = JsonUtil.getJsonToList(infoVO.getSmsFieldList(), SmsFieldEntity.class);
- smsFieldService.saveBatch(smsFieldList);
- }
- return messageTemplateConfigService.ImportData(entity);
- }
- }
|