修改短信库、微信库查询列表和获取详细信息

This commit is contained in:
youxilong 2024-02-29 13:02:34 +08:00
parent 9a090e27d7
commit 06674e8275
9 changed files with 325 additions and 22 deletions

View File

@ -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<TextMessageVO> list = textMessageService.selectTextMessageList(textMessageDTO);
List<TextMessageTaskVO> 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<TextMessageVO> list = textMessageService.selectTextMessageList(textMessageDTO);
ExcelUtil<TextMessageVO> util = new ExcelUtil<TextMessageVO>(TextMessageVO.class);
List<TextMessageTaskVO> list = textMessageService.selectTextMessageList(textMessageDTO);
ExcelUtil<TextMessageTaskVO> util = new ExcelUtil<TextMessageTaskVO>(TextMessageTaskVO.class);
util.exportExcel(response, list, "短信模板信息数据");
}

View File

@ -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<WechatTemplateVO> list = wechatTemplateService.selectWechatTemplateList(wechatTemplateDto);
List<WechatTemplateTaskVO> 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<WechatTemplateVO> list = wechatTemplateService.selectWechatTemplateList(wechatTemplateDto);
ExcelUtil<WechatTemplateVO> util = new ExcelUtil<WechatTemplateVO>(WechatTemplateVO.class);
List<WechatTemplateTaskVO> list = wechatTemplateService.selectWechatTemplateList(wechatTemplateDto);
ExcelUtil<WechatTemplateTaskVO> util = new ExcelUtil<WechatTemplateTaskVO>(WechatTemplateTaskVO.class);
util.exportExcel(response, list, "微信模板信息数据");
}

View File

@ -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<TextMessageVO> selectTextMessageList(TextMessageDTO textMessageDTO);
public List<TextMessageTaskVO> selectTextMessageList(TextMessageDTO textMessageDTO);
/**
* 新增短信模板信息

View File

@ -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<TextMessageVO> selectTextMessageList(TextMessageDTO textMessageDTO) {
return textMessageMapper.selectTextMessageList(textMessageDTO);
public List<TextMessageTaskVO> selectTextMessageList(TextMessageDTO textMessageDTO) {
List<TextMessageVO> 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());
}
/**

View File

@ -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<WechatTemplateVO> selectWechatTemplateList(WechatTemplateDTO wechatTemplateDto);
public List<WechatTemplateTaskVO> selectWechatTemplateList(WechatTemplateDTO wechatTemplateDto);
/**
* 新增微信模板信息
@ -68,5 +69,5 @@ public interface IWechatTemplateService {
* @param id
* @return
*/
WechatTemplateVO selectWechatTemplateDtoById(Long id);
WechatTemplateTaskVO selectWechatTemplateDtoById(Long id);
}

View File

@ -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<WechatTemplateVO> selectWechatTemplateList(WechatTemplateDTO wechatTemplateDto) {
return wechatTemplateMapper.selectWechatTemplateDtoList(wechatTemplateDto);
public List<WechatTemplateTaskVO> selectWechatTemplateList(WechatTemplateDTO wechatTemplateDto) {
// 查询微信模板信息列表
List<WechatTemplateVO> 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;
}
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -28,7 +28,7 @@
<result column="department_id" property="departmentId"/>
<result column="department_name" property="departmentName"/>
<result column="disease_type_id" property="diseaseTypeId"/>
<result column="disease_type_name" property="departmentName"/>
<result column="disease_type_name" property="diseaseTypeName"/>
<result column="text_message_name" property="textMessageName"/>
<result column="text_message_id" property="textMessageId"/>
<result column="text_message_content" property="textMessageContent"/>
@ -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