diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/textmessage/TextMessageController.java b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/textmessage/TextMessageController.java index fba962ea..f0ad8812 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/textmessage/TextMessageController.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/textmessage/TextMessageController.java @@ -9,6 +9,7 @@ import com.xinelu.common.utils.poi.ExcelUtil; import com.xinelu.manage.dto.textmessage.TextMessageDTO; import com.xinelu.manage.dto.textmessage.TextMessageTaskDTO; import com.xinelu.manage.service.textmessage.ITextMessageService; +import com.xinelu.manage.vo.textmessage.TextMessageTaskVO; import com.xinelu.manage.vo.textmessage.TextMessageVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -40,7 +41,7 @@ public class TextMessageController extends BaseController { @GetMapping("/list") public TableDataInfo list(TextMessageDTO textMessageDTO) { startPage(); - List list = textMessageService.selectTextMessageList(textMessageDTO); + List list = textMessageService.selectTextMessageList(textMessageDTO); return getDataTable(list); } @@ -52,8 +53,8 @@ public class TextMessageController extends BaseController { @Log(title = "短信模板信息", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, TextMessageDTO textMessageDTO) { - List list = textMessageService.selectTextMessageList(textMessageDTO); - ExcelUtil util = new ExcelUtil(TextMessageVO.class); + List list = textMessageService.selectTextMessageList(textMessageDTO); + ExcelUtil util = new ExcelUtil(TextMessageTaskVO.class); util.exportExcel(response, list, "短信模板信息数据"); } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/wechattemplate/WechatTemplateController.java b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/wechattemplate/WechatTemplateController.java index e15d1dda..f7b7819f 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/wechattemplate/WechatTemplateController.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/wechattemplate/WechatTemplateController.java @@ -9,7 +9,7 @@ import com.xinelu.common.utils.poi.ExcelUtil; import com.xinelu.manage.dto.wechattemplate.WechatTemplateDTO; import com.xinelu.manage.dto.wechattemplate.WechatTemplateTaskDTO; import com.xinelu.manage.service.wechattemplate.IWechatTemplateService; -import com.xinelu.manage.vo.wechattemplate.WechatTemplateVO; +import com.xinelu.manage.vo.wechattemplate.WechatTemplateTaskVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.security.access.prepost.PreAuthorize; @@ -40,7 +40,7 @@ public class WechatTemplateController extends BaseController { @GetMapping("/list") public TableDataInfo list(WechatTemplateDTO wechatTemplateDto) { startPage(); - List list = wechatTemplateService.selectWechatTemplateList(wechatTemplateDto); + List list = wechatTemplateService.selectWechatTemplateList(wechatTemplateDto); return getDataTable(list); } @@ -52,8 +52,8 @@ public class WechatTemplateController extends BaseController { @Log(title = "微信模板信息", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, WechatTemplateDTO wechatTemplateDto) { - List list = wechatTemplateService.selectWechatTemplateList(wechatTemplateDto); - ExcelUtil util = new ExcelUtil(WechatTemplateVO.class); + List list = wechatTemplateService.selectWechatTemplateList(wechatTemplateDto); + ExcelUtil util = new ExcelUtil(WechatTemplateTaskVO.class); util.exportExcel(response, list, "微信模板信息数据"); } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/textmessage/ITextMessageService.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/textmessage/ITextMessageService.java index 478503e7..2cf3ed5c 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/textmessage/ITextMessageService.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/textmessage/ITextMessageService.java @@ -2,6 +2,7 @@ package com.xinelu.manage.service.textmessage; import com.xinelu.manage.dto.textmessage.TextMessageDTO; import com.xinelu.manage.dto.textmessage.TextMessageTaskDTO; +import com.xinelu.manage.vo.textmessage.TextMessageTaskVO; import com.xinelu.manage.vo.textmessage.TextMessageVO; import java.util.List; @@ -19,7 +20,7 @@ public interface ITextMessageService { * @param id 短信模板信息主键 * @return 短信模板信息 */ - public TextMessageVO selectTextMessageById(Long id); + public TextMessageTaskVO selectTextMessageById(Long id); /** * 查询短信模板信息列表 @@ -27,7 +28,7 @@ public interface ITextMessageService { * @param textMessageDTO 短信模板信息 * @return 短信模板信息集合 */ - public List selectTextMessageList(TextMessageDTO textMessageDTO); + public List selectTextMessageList(TextMessageDTO textMessageDTO); /** * 新增短信模板信息 diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/textmessage/impl/TextMessageServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/textmessage/impl/TextMessageServiceImpl.java index f0a47e39..bd2910ce 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/textmessage/impl/TextMessageServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/textmessage/impl/TextMessageServiceImpl.java @@ -7,11 +7,15 @@ import com.xinelu.common.utils.SecurityUtils; import com.xinelu.common.utils.bean.BeanUtils; import com.xinelu.manage.domain.textmessage.TextMessage; import com.xinelu.manage.domain.textmessagesuittask.TextMessageSuitTask; +import com.xinelu.manage.domain.wechattemplatesuittask.WechatTemplateSuitTask; import com.xinelu.manage.dto.textmessage.TextMessageDTO; import com.xinelu.manage.dto.textmessage.TextMessageTaskDTO; import com.xinelu.manage.mapper.textmessage.TextMessageMapper; import com.xinelu.manage.service.textmessage.ITextMessageService; +import com.xinelu.manage.vo.textmessage.TextMessageTaskVO; import com.xinelu.manage.vo.textmessage.TextMessageVO; +import com.xinelu.manage.vo.wechattemplate.WechatTemplateTaskVO; +import com.xinelu.manage.vo.wechattemplate.WechatTemplateVO; import com.xinelu.system.mapper.SysDictDataMapper; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -20,6 +24,7 @@ import javax.annotation.Resource; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; /** * 短信模板信息Service业务层处理 @@ -42,8 +47,19 @@ public class TextMessageServiceImpl implements ITextMessageService { * @return 短信模板信息 */ @Override - public TextMessageVO selectTextMessageById(Long id) { - return textMessageMapper.selectTextMessageInfoById(id); + public TextMessageTaskVO selectTextMessageById(Long id) { + // 初始化返回TextMessageTaskVO + TextMessageTaskVO textMessageTaskVO = new TextMessageTaskVO(); + // 根据id查询短信模板信息 + TextMessageVO vo = textMessageMapper.selectTextMessageInfoById(id); + // 将wechatTemplateVO赋值给textMessageTaskVO + BeanUtils.copyProperties(vo, textMessageTaskVO); + // 获取到suitTaskTypeIds并赋值给textMessageTaskVO + if (vo.getSuitTaskList() != null) { + Long[] suitTaskTypeIds = vo.getSuitTaskList().stream().map(TextMessageSuitTask::getSuitTaskTypeId).toArray(Long[]::new); + textMessageTaskVO.setSuitTaskTypeIds(suitTaskTypeIds); + } + return textMessageTaskVO; } /** @@ -53,8 +69,31 @@ public class TextMessageServiceImpl implements ITextMessageService { * @return 短信模板信息 */ @Override - public List selectTextMessageList(TextMessageDTO textMessageDTO) { - return textMessageMapper.selectTextMessageList(textMessageDTO); + public List selectTextMessageList(TextMessageDTO textMessageDTO) { + List voList = textMessageMapper.selectTextMessageList(textMessageDTO); + // 转换 voList 到 TextMessageTaskVO 列表 + return voList.stream().map(vo -> { + TextMessageTaskVO taskVO = new TextMessageTaskVO(); + // 复制属性 + taskVO.setId(vo.getId()); + taskVO.setDepartmentId(vo.getDepartmentId()); + taskVO.setDepartmentName(vo.getDepartmentName()); + taskVO.setDiseaseTypeId(vo.getDiseaseTypeId()); + taskVO.setDiseaseTypeName(vo.getDiseaseTypeName()); + taskVO.setTextMessageName(vo.getTextMessageName()); + taskVO.setTextMessageId(vo.getTextMessageId()); + taskVO.setTextMessageContent(vo.getTextMessageContent()); + taskVO.setTextMessageChannel(vo.getTextMessageChannel()); + taskVO.setTextMessageStatus(vo.getTextMessageStatus()); + taskVO.setTextMessageSort(vo.getTextMessageSort()); + taskVO.setTextMessageRemark(vo.getTextMessageRemark()); + // 提取 suitTaskList 中的 typeName 字段并用逗号拼接 + String suitTaskTypeNames = (vo.getSuitTaskList() != null) ? vo.getSuitTaskList().stream() + .map(TextMessageSuitTask::getSuitTaskTypeName) + .collect(Collectors.joining(", ")) : ""; + taskVO.setSuitTaskTypeName(suitTaskTypeNames); + return taskVO; + }).collect(Collectors.toList()); } /** diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/wechattemplate/IWechatTemplateService.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/wechattemplate/IWechatTemplateService.java index 22b35d7f..593c52b7 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/wechattemplate/IWechatTemplateService.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/wechattemplate/IWechatTemplateService.java @@ -3,6 +3,7 @@ package com.xinelu.manage.service.wechattemplate; import com.xinelu.manage.domain.wechattemplate.WechatTemplate; import com.xinelu.manage.dto.wechattemplate.WechatTemplateDTO; import com.xinelu.manage.dto.wechattemplate.WechatTemplateTaskDTO; +import com.xinelu.manage.vo.wechattemplate.WechatTemplateTaskVO; import com.xinelu.manage.vo.wechattemplate.WechatTemplateVO; import java.util.List; @@ -28,7 +29,7 @@ public interface IWechatTemplateService { * @param wechatTemplateDto 微信模板信息 * @return 微信模板信息集合 */ - public List selectWechatTemplateList(WechatTemplateDTO wechatTemplateDto); + public List selectWechatTemplateList(WechatTemplateDTO wechatTemplateDto); /** * 新增微信模板信息 @@ -68,5 +69,5 @@ public interface IWechatTemplateService { * @param id * @return */ - WechatTemplateVO selectWechatTemplateDtoById(Long id); + WechatTemplateTaskVO selectWechatTemplateDtoById(Long id); } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/wechattemplate/impl/WechatTemplateServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/wechattemplate/impl/WechatTemplateServiceImpl.java index a9e91bf6..f46eceff 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/wechattemplate/impl/WechatTemplateServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/wechattemplate/impl/WechatTemplateServiceImpl.java @@ -11,6 +11,7 @@ import com.xinelu.manage.dto.wechattemplate.WechatTemplateDTO; import com.xinelu.manage.dto.wechattemplate.WechatTemplateTaskDTO; import com.xinelu.manage.mapper.wechattemplate.WechatTemplateMapper; import com.xinelu.manage.service.wechattemplate.IWechatTemplateService; +import com.xinelu.manage.vo.wechattemplate.WechatTemplateTaskVO; import com.xinelu.manage.vo.wechattemplate.WechatTemplateVO; import com.xinelu.system.mapper.SysDictDataMapper; import org.springframework.stereotype.Service; @@ -19,6 +20,7 @@ import javax.annotation.Resource; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; /** * 微信模板信息Service业务层处理 @@ -52,9 +54,31 @@ public class WechatTemplateServiceImpl implements IWechatTemplateService { * @return 微信模板信息 */ @Override - public List selectWechatTemplateList(WechatTemplateDTO wechatTemplateDto) { - return wechatTemplateMapper.selectWechatTemplateDtoList(wechatTemplateDto); - + public List selectWechatTemplateList(WechatTemplateDTO wechatTemplateDto) { + // 查询微信模板信息列表 + List voList = wechatTemplateMapper.selectWechatTemplateDtoList(wechatTemplateDto); + // 转换 voList 到 WechatTemplateTaskVO 列表 + return voList.stream().map(vo -> { + WechatTemplateTaskVO taskVO = new WechatTemplateTaskVO(); + // 复制属性 + taskVO.setId(vo.getId()); + taskVO.setDepartmentId(vo.getDepartmentId()); + taskVO.setDepartmentName(vo.getDepartmentName()); + taskVO.setDiseaseTypeId(vo.getDiseaseTypeId()); + taskVO.setDiseaseTypeName(vo.getDiseaseTypeName()); + taskVO.setWechatTemplateName(vo.getWechatTemplateName()); + taskVO.setTemplateId(vo.getTemplateId()); + taskVO.setTemplateContent(vo.getTemplateContent()); + taskVO.setTemplateSource(vo.getTemplateSource()); + taskVO.setTemplateSort(vo.getTemplateSort()); + taskVO.setTemplateRemark(vo.getTemplateRemark()); + // 提取 suitTaskList 中的 typeName 字段并用逗号拼接 + String suitTaskTypeNames = (vo.getSuitTaskList() != null) ? vo.getSuitTaskList().stream() + .map(WechatTemplateSuitTask::getSuitTaskTypeName) + .collect(Collectors.joining(", ")) : ""; + taskVO.setSuitTaskTypeName(suitTaskTypeNames); + return taskVO; + }).collect(Collectors.toList()); } /** @@ -205,7 +229,18 @@ public class WechatTemplateServiceImpl implements IWechatTemplateService { * @return */ @Override - public WechatTemplateVO selectWechatTemplateDtoById(Long id) { - return wechatTemplateMapper.selectWechatTemplateDtoById(id); + public WechatTemplateTaskVO selectWechatTemplateDtoById(Long id) { + // 初始化返回WechatTemplateTaskVO + WechatTemplateTaskVO wechatTemplateTaskVO = new WechatTemplateTaskVO(); + // 根据id查询微信模板信息 + WechatTemplateVO vo = wechatTemplateMapper.selectWechatTemplateDtoById(id); + // 将wechatTemplateVO赋值给wechatTemplateTaskVO + BeanUtils.copyProperties(vo, wechatTemplateTaskVO); + // 获取到suitTaskTypeIds并赋值给wechatTemplateTaskVO + if (vo.getSuitTaskList() != null) { + Long[] suitTaskTypeIds = vo.getSuitTaskList().stream().map(WechatTemplateSuitTask::getSuitTaskTypeId).toArray(Long[]::new); + wechatTemplateTaskVO.setSuitTaskTypeIds(suitTaskTypeIds); + } + return wechatTemplateTaskVO; } } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/textmessage/TextMessageTaskVO.java b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/textmessage/TextMessageTaskVO.java new file mode 100644 index 00000000..f92fbf87 --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/textmessage/TextMessageTaskVO.java @@ -0,0 +1,117 @@ +package com.xinelu.manage.vo.textmessage; + +import com.xinelu.common.annotation.Excel; +import com.xinelu.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * @author : youxilong + * @date : 2024/2/29 11:41 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@ApiModel(value = "短信模板信息对象与适用工作任务类型VO") +public class TextMessageTaskVO { + + /** + * 主键id + */ + @ApiModelProperty(value = "id") + private Long id; + + /** + * 所属科室id + */ + @ApiModelProperty(value = "所属科室id") + @Excel(name = "所属科室id") + private Long departmentId; + + /** + * 所属科室名称 + */ + @ApiModelProperty(value = "所属科室名称") + @Excel(name = "所属科室名称") + private String departmentName; + + /** + * 病种id + */ + @ApiModelProperty(value = "病种id") + @Excel(name = "病种id") + private Long diseaseTypeId; + + /** + * 病种名称 + */ + @ApiModelProperty(value = "病种名称") + @Excel(name = "病种名称") + private String diseaseTypeName; + + /** + * 短信模板名称 + */ + @ApiModelProperty(value = "短信模板名称") + @Excel(name = "短信模板名称") + private String textMessageName; + + /** + * 短信ID + */ + @ApiModelProperty(value = "短信ID") + @Excel(name = "短信ID") + private String textMessageId; + + /** + * 短信内容 + */ + @ApiModelProperty(value = "短信内容") + @Excel(name = "短信内容") + private String textMessageContent; + + /** + * 短信通道,水滴平台:WATER_DROPLET_PLATFORM + */ + @ApiModelProperty(value = "短信通道,水滴平台:WATER_DROPLET_PLATFORM") + @Excel(name = "短信通道,水滴平台:WATER_DROPLET_PLATFORM") + private String textMessageChannel; + + /** + * 短信状态,上架:GROUNDING,下架:OFF_SHELF + */ + @ApiModelProperty(value = "短信状态,上架:GROUNDING,下架:OFF_SHELF") + @Excel(name = "短信状态,上架:GROUNDING,下架:OFF_SHELF") + private String textMessageStatus; + + /** + * 短信排序 + */ + @ApiModelProperty(value = "短信排序") + @Excel(name = "短信排序") + private Integer textMessageSort; + + /** + * 短信备注 + */ + @ApiModelProperty(value = "短信备注") + @Excel(name = "短信备注") + private String textMessageRemark; + + /** + * 适用任务类型 + */ + @ApiModelProperty(value = "适用任务类型") + @Excel(name = "适用任务类型") + private String suitTaskTypeName; + + /** + * 适用任务类型字典表ids + */ + @ApiModelProperty(value = "适用任务类型字典表ids") + private Long[] suitTaskTypeIds; +} diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/wechattemplate/WechatTemplateTaskVO.java b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/wechattemplate/WechatTemplateTaskVO.java new file mode 100644 index 00000000..6b5aa8a1 --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/wechattemplate/WechatTemplateTaskVO.java @@ -0,0 +1,109 @@ +package com.xinelu.manage.vo.wechattemplate; + +import com.xinelu.common.annotation.Excel; +import com.xinelu.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +/** + * @author : youxilong + * @date : 2024/2/29 10:48 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@ApiModel(value = "微信模板信息对象与适用工作任务类型VO") +public class WechatTemplateTaskVO { + /** + * 主键id + */ + @ApiModelProperty(value = "主键id") + private Long id; + + /** + * 所属科室id + */ + @ApiModelProperty(value = "所属科室id") + @Excel(name = "所属科室id") + private Long departmentId; + + /** + * 所属科室名称 + */ + @ApiModelProperty(value = "所属科室名称") + @Excel(name = "所属科室名称") + private String departmentName; + + /** + * 病种id + */ + @ApiModelProperty(value = "病种id") + @Excel(name = "病种id") + private Long diseaseTypeId; + + /** + * 病种名称 + */ + @ApiModelProperty(value = "病种名称") + @Excel(name = "病种名称") + private String diseaseTypeName; + + /** + * 微信模板名称 + */ + @ApiModelProperty(value = "微信模板名称") + @Excel(name = "微信模板名称") + private String wechatTemplateName; + + /** + * 模板ID + */ + @ApiModelProperty(value = "模板ID") + @Excel(name = "模板ID") + private String templateId; + + /** + * 模板内容 + */ + @ApiModelProperty(value = "模板内容") + @Excel(name = "模板内容") + private String templateContent; + + /** + * 模板来源,小程序:WE_CHAT_APPLET,公众号:WE_CHAT_OFFICIAL_ACCOUNT + */ + @ApiModelProperty(value = "模板来源,小程序:WE_CHAT_APPLET,公众号:WE_CHAT_OFFICIAL_ACCOUNT") + @Excel(name = "模板来源,小程序:WE_CHAT_APPLET,公众号:WE_CHAT_OFFICIAL_ACCOUNT") + private String templateSource; + + /** + * 模板顺序 + */ + @ApiModelProperty(value = "模板顺序") + @Excel(name = "模板顺序") + private Integer templateSort; + + /** + * 模板备注 + */ + @ApiModelProperty(value = "模板备注") + @Excel(name = "模板备注") + private String templateRemark; + + /** + * 适用任务类型 + */ + @ApiModelProperty(value = "适用任务类型") + @Excel(name = "适用任务类型") + private String suitTaskTypeName; + + /** + * 适用任务类型字典表ids + */ + @ApiModelProperty(value = "适用任务类型字典表ids") + private Long[] suitTaskTypeIds; +} diff --git a/postdischarge-manage/src/main/resources/mapper/manage/textmessage/TextMessageMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/textmessage/TextMessageMapper.xml index db392ebc..3b32d209 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/textmessage/TextMessageMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/textmessage/TextMessageMapper.xml @@ -28,7 +28,7 @@ - + @@ -108,7 +108,7 @@ tm.text_message_status, tm.text_message_sort, tm.text_message_remark, - tmst.id AS taskId, + tmst.id AS taskId, tmst.text_message_id, tmst.suit_task_type_id, tmst.suit_task_type_name