修改短信库管理、微信库管理相关接口

This commit is contained in:
youxilong 2024-02-29 08:53:34 +08:00
parent 8726639e80
commit d64d15661b
21 changed files with 1033 additions and 408 deletions

View File

@ -6,8 +6,10 @@ import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.common.core.page.TableDataInfo; import com.xinelu.common.core.page.TableDataInfo;
import com.xinelu.common.enums.BusinessType; import com.xinelu.common.enums.BusinessType;
import com.xinelu.common.utils.poi.ExcelUtil; import com.xinelu.common.utils.poi.ExcelUtil;
import com.xinelu.manage.domain.textmessage.TextMessage; 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.service.textmessage.ITextMessageService;
import com.xinelu.manage.vo.textmessage.TextMessageVO;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -32,9 +34,9 @@ public class TextMessageController extends BaseController {
*/ */
@PreAuthorize("@ss.hasPermi('manage:message:list')") @PreAuthorize("@ss.hasPermi('manage:message:list')")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(TextMessage textMessage) { public TableDataInfo list(TextMessageDTO textMessageDTO) {
startPage(); startPage();
List<TextMessage> list = textMessageService.selectTextMessageList(textMessage); List<TextMessageVO> list = textMessageService.selectTextMessageList(textMessageDTO);
return getDataTable(list); return getDataTable(list);
} }
@ -44,9 +46,9 @@ public class TextMessageController extends BaseController {
@PreAuthorize("@ss.hasPermi('manage:message:export')") @PreAuthorize("@ss.hasPermi('manage:message:export')")
@Log(title = "短信模板信息", businessType = BusinessType.EXPORT) @Log(title = "短信模板信息", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
public void export(HttpServletResponse response, TextMessage textMessage) { public void export(HttpServletResponse response, TextMessageDTO textMessageDTO) {
List<TextMessage> list = textMessageService.selectTextMessageList(textMessage); List<TextMessageVO> list = textMessageService.selectTextMessageList(textMessageDTO);
ExcelUtil<TextMessage> util = new ExcelUtil<TextMessage>(TextMessage.class); ExcelUtil<TextMessageVO> util = new ExcelUtil<TextMessageVO>(TextMessageVO.class);
util.exportExcel(response, list, "短信模板信息数据"); util.exportExcel(response, list, "短信模板信息数据");
} }
@ -65,7 +67,7 @@ public class TextMessageController extends BaseController {
@PreAuthorize("@ss.hasPermi('manage:message:add')") @PreAuthorize("@ss.hasPermi('manage:message:add')")
@Log(title = "短信模板信息", businessType = BusinessType.INSERT) @Log(title = "短信模板信息", businessType = BusinessType.INSERT)
@PostMapping @PostMapping
public AjaxResult add(@RequestBody TextMessage textMessage) { public AjaxResult add(@RequestBody TextMessageTaskDTO textMessage) {
return toAjax(textMessageService.insertTextMessage(textMessage)); return toAjax(textMessageService.insertTextMessage(textMessage));
} }
@ -75,8 +77,8 @@ public class TextMessageController extends BaseController {
@PreAuthorize("@ss.hasPermi('manage:message:edit')") @PreAuthorize("@ss.hasPermi('manage:message:edit')")
@Log(title = "短信模板信息", businessType = BusinessType.UPDATE) @Log(title = "短信模板信息", businessType = BusinessType.UPDATE)
@PutMapping @PutMapping
public AjaxResult edit(@RequestBody TextMessage textMessage) { public AjaxResult edit(@RequestBody TextMessageTaskDTO textMessageTaskDTO) {
return toAjax(textMessageService.updateTextMessage(textMessage)); return toAjax(textMessageService.updateTextMessage(textMessageTaskDTO));
} }
/** /**

View File

@ -7,7 +7,9 @@ import com.xinelu.common.core.page.TableDataInfo;
import com.xinelu.common.enums.BusinessType; import com.xinelu.common.enums.BusinessType;
import com.xinelu.common.utils.poi.ExcelUtil; import com.xinelu.common.utils.poi.ExcelUtil;
import com.xinelu.manage.dto.wechattemplate.WechatTemplateDTO; 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.service.wechattemplate.IWechatTemplateService;
import com.xinelu.manage.vo.wechattemplate.WechatTemplateVO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
@ -38,7 +40,7 @@ public class WechatTemplateController extends BaseController {
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(WechatTemplateDTO wechatTemplateDto) { public TableDataInfo list(WechatTemplateDTO wechatTemplateDto) {
startPage(); startPage();
List<WechatTemplateDTO> list = wechatTemplateService.selectWechatTemplateList(wechatTemplateDto); List<WechatTemplateVO> list = wechatTemplateService.selectWechatTemplateList(wechatTemplateDto);
return getDataTable(list); return getDataTable(list);
} }
@ -50,8 +52,8 @@ public class WechatTemplateController extends BaseController {
@Log(title = "微信模板信息", businessType = BusinessType.EXPORT) @Log(title = "微信模板信息", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
public void export(HttpServletResponse response, WechatTemplateDTO wechatTemplateDto) { public void export(HttpServletResponse response, WechatTemplateDTO wechatTemplateDto) {
List<WechatTemplateDTO> list = wechatTemplateService.selectWechatTemplateList(wechatTemplateDto); List<WechatTemplateVO> list = wechatTemplateService.selectWechatTemplateList(wechatTemplateDto);
ExcelUtil<WechatTemplateDTO> util = new ExcelUtil<WechatTemplateDTO>(WechatTemplateDTO.class); ExcelUtil<WechatTemplateVO> util = new ExcelUtil<WechatTemplateVO>(WechatTemplateVO.class);
util.exportExcel(response, list, "微信模板信息数据"); util.exportExcel(response, list, "微信模板信息数据");
} }
@ -72,8 +74,8 @@ public class WechatTemplateController extends BaseController {
@PreAuthorize("@ss.hasPermi('manage:template:add')") @PreAuthorize("@ss.hasPermi('manage:template:add')")
@Log(title = "微信模板信息", businessType = BusinessType.INSERT) @Log(title = "微信模板信息", businessType = BusinessType.INSERT)
@PostMapping("/add") @PostMapping("/add")
public AjaxResult add(@RequestBody WechatTemplateDTO wechatTemplateDto) { public AjaxResult add(@RequestBody WechatTemplateTaskDTO wechatTemplateTaskDTO) {
return toAjax(wechatTemplateService.insertWechatTemplate(wechatTemplateDto)); return toAjax(wechatTemplateService.insertWechatTemplate(wechatTemplateTaskDTO));
} }
/** /**
@ -83,8 +85,8 @@ public class WechatTemplateController extends BaseController {
@PreAuthorize("@ss.hasPermi('manage:template:edit')") @PreAuthorize("@ss.hasPermi('manage:template:edit')")
@Log(title = "微信模板信息", businessType = BusinessType.UPDATE) @Log(title = "微信模板信息", businessType = BusinessType.UPDATE)
@PutMapping(value = "/edit") @PutMapping(value = "/edit")
public AjaxResult edit(@RequestBody WechatTemplateDTO wechatTemplateDto) { public AjaxResult edit(@RequestBody WechatTemplateTaskDTO wechatTemplateTaskDTO) {
return toAjax(wechatTemplateService.updateWechatTemplate(wechatTemplateDto)); return toAjax(wechatTemplateService.updateWechatTemplate(wechatTemplateTaskDTO));
} }
/** /**

View File

@ -0,0 +1,47 @@
package com.xinelu.manage.domain.textmessagesuittask;
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/28 16:32
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "短信模板适用任务类型对象", description = "text_message_suit_task")
public class TextMessageSuitTask extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
private Long id;
/**
* 短信模板id
*/
@ApiModelProperty(value = "短信模板id")
private Long textMessageId;
/**
* 适用任务类型字典Id
*/
@ApiModelProperty(value = "适用任务类型字典Id")
private Long suitTaskTypeId;
/**
* 适用任务类型
*/
@ApiModelProperty(value = "适用任务类型")
@Excel(name = "适用任务类型")
private String suitTaskTypeName;
}

View File

@ -8,8 +8,6 @@ import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/** /**
* @author : youxilong * @author : youxilong
@ -46,18 +44,4 @@ public class WechatTemplateSuitTask extends BaseEntity {
@ApiModelProperty(value = "适用任务类型") @ApiModelProperty(value = "适用任务类型")
@Excel(name = "适用任务类型") @Excel(name = "适用任务类型")
private String suitTaskTypeName; private String suitTaskTypeName;
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("wechatTemplateId", getWechatTemplateId())
.append("suitTaskTypeId", getSuitTaskTypeId())
.append("suitTaskTypeName", getSuitTaskTypeName())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
} }

View File

@ -0,0 +1,47 @@
package com.xinelu.manage.dto.textmessage;
import com.xinelu.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author : youxilong
* @date : 2024/2/28 16:01
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "短信模板信息对象DTO")
public class TextMessageDTO {
/**
* 所属科室id
*/
@ApiModelProperty(value = "所属科室id")
@Excel(name = "所属科室id")
private Long departmentId;
/**
* 短信模板名称
*/
@ApiModelProperty(value = "短信模板名称")
@Excel(name = "短信模板名称")
private String textMessageName;
/**
* 短信ID
*/
@ApiModelProperty(value = "短信ID")
@Excel(name = "短信ID")
private String textMessageId;
/**
* 短信状态上架GROUNDING下架OFF_SHELF
*/
@ApiModelProperty(value = "短信状态上架GROUNDING下架OFF_SHELF")
@Excel(name = "短信状态上架GROUNDING下架OFF_SHELF")
private String textMessageStatus;
}

View File

@ -0,0 +1,107 @@
package com.xinelu.manage.dto.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/28 20:38
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "短信模板信息与适用任务类型DTO对象")
public class TextMessageTaskDTO extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 主键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 = "适用任务类型字典表ids")
private Long[] suitTaskTypeIds;
}

View File

@ -10,9 +10,6 @@ import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
@ -28,49 +25,19 @@ import javax.validation.constraints.NotBlank;
public class WechatTemplateDTO extends BaseEntity { public class WechatTemplateDTO extends BaseEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@ApiModelProperty(value = "主键id")
private Long id;
/** /**
* 所属科室id * 所属科室id
*/ */
@ApiModelProperty(value = "所属科室id") @ApiModelProperty(value = "所属科室id")
@Excel(name = "所属科室id") @Excel(name = "所属科室id")
@NotBlank(message = "科室id不能为空", groups = {Insert.class, Update.class})
private Long departmentId; private Long departmentId;
/**
* 所属科室名称
*/
@ApiModelProperty(value = "所属科室名称")
@Excel(name = "所属科室名称")
@NotBlank(message = "科室名称不能为空", groups = {Insert.class, Update.class})
private String departmentName;
/**
* 病种id
*/
@ApiModelProperty(value = "病种id")
@Excel(name = "病种id")
private Long diseaseTypeId;
/**
* 病种名称
*/
@ApiModelProperty(value = "病种名称")
@Excel(name = "病种名称")
private String diseaseTypeName;
/** /**
* 微信模板名称 * 微信模板名称
*/ */
@ApiModelProperty(value = "微信模板名称") @ApiModelProperty(value = "微信模板名称")
@Excel(name = "微信模板名称") @Excel(name = "微信模板名称")
@NotBlank(message = "微信模板名称不能为空", groups = {Insert.class, Update.class})
@Length(max = 50, message = "微信模板名称不能超过50个字符", groups = {Insert.class, Update.class})
private String wechatTemplateName; private String wechatTemplateName;
/** /**
@ -78,75 +45,13 @@ public class WechatTemplateDTO extends BaseEntity {
*/ */
@ApiModelProperty(value = "模板ID") @ApiModelProperty(value = "模板ID")
@Excel(name = "模板ID") @Excel(name = "模板ID")
@NotBlank(message = "模板ID不能为空", groups = {Insert.class, Update.class})
private String templateId; private String templateId;
/**
* 模板内容
*/
@ApiModelProperty(value = "模板内容")
@Excel(name = "模板内容")
@Length(max = 300, message = "模板内容不能超过300个字符", groups = {Insert.class, Update.class})
private String templateContent;
/** /**
* 模板来源小程序WE_CHAT_APPLET公众号WE_CHAT_OFFICIAL_ACCOUNT * 模板来源小程序WE_CHAT_APPLET公众号WE_CHAT_OFFICIAL_ACCOUNT
*/ */
@ApiModelProperty(value = "模板来源小程序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") @Excel(name = "模板来源小程序WE_CHAT_APPLET公众号WE_CHAT_OFFICIAL_ACCOUNT")
@NotBlank(message = "模板来源不能为空", groups = {Insert.class, Update.class})
private String templateSource; private String templateSource;
/**
* 模板顺序
*/
@ApiModelProperty(value = "模板顺序")
@Excel(name = "模板顺序")
private Integer templateSort;
/**
* 模板备注
*/
@ApiModelProperty(value = "模板备注")
@Excel(name = "模板备注")
private String templateRemark;
/**
* 适用任务类型字典Id
*/
@ApiModelProperty(value = "适用任务类型字典Id")
@NotBlank(message = "适用任务类型不能为空", groups = {Insert.class, Update.class})
private Long suitTaskTypeId;
/**
* 适用任务类型
*/
@Excel(name = "适用任务类型名称")
@ApiModelProperty(value = "适用任务类型名称")
@NotBlank(message = "适用任务类型名称不能为空", groups = {Insert.class, Update.class})
private String suitTaskTypeName;
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("departmentId", getDepartmentId())
.append("departmentName", getDepartmentName())
.append("diseaseTypeId", getDiseaseTypeId())
.append("diseaseTypeName", getDiseaseTypeName())
.append("wechatTemplateName", getWechatTemplateName())
.append("templateId", getTemplateId())
.append("templateContent", getTemplateContent())
.append("templateSource", getTemplateSource())
.append("templateSort", getTemplateSort())
.append("templateRemark", getTemplateRemark())
.append("suitTaskTypeId", getSuitTaskTypeId())
.append("suitTaskTypeName", getSuitTaskTypeName())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
} }

View File

@ -0,0 +1,113 @@
package com.xinelu.manage.dto.wechattemplate;
import com.xinelu.common.annotation.Excel;
import com.xinelu.common.core.domain.BaseEntity;
import com.xinelu.common.custominterface.Insert;
import com.xinelu.common.custominterface.Update;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
/**
* @author : youxilong
* @date : 2024/2/28 21:45
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "微信模板信息与适用任务类型DTO对象")
public class WechatTemplateTaskDTO extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@ApiModelProperty(value = "主键id")
private Long id;
/**
* 所属科室id
*/
@ApiModelProperty(value = "所属科室id")
@Excel(name = "所属科室id")
@NotBlank(message = "科室id不能为空", groups = {Insert.class, Update.class})
private Long departmentId;
/**
* 所属科室名称
*/
@ApiModelProperty(value = "所属科室名称")
@Excel(name = "所属科室名称")
@NotBlank(message = "科室名称不能为空", groups = {Insert.class, Update.class})
private String departmentName;
/**
* 病种id
*/
@ApiModelProperty(value = "病种id")
@Excel(name = "病种id")
private Long diseaseTypeId;
/**
* 病种名称
*/
@ApiModelProperty(value = "病种名称")
@Excel(name = "病种名称")
private String diseaseTypeName;
/**
* 微信模板名称
*/
@ApiModelProperty(value = "微信模板名称")
@Excel(name = "微信模板名称")
@NotBlank(message = "微信模板名称不能为空", groups = {Insert.class, Update.class})
@Length(max = 50, message = "微信模板名称不能超过50个字符", groups = {Insert.class, Update.class})
private String wechatTemplateName;
/**
* 模板ID
*/
@ApiModelProperty(value = "模板ID")
@Excel(name = "模板ID")
@NotBlank(message = "模板ID不能为空", groups = {Insert.class, Update.class})
private String templateId;
/**
* 模板内容
*/
@ApiModelProperty(value = "模板内容")
@Excel(name = "模板内容")
@Length(max = 300, message = "模板内容不能超过300个字符", groups = {Insert.class, Update.class})
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")
@NotBlank(message = "模板来源不能为空", groups = {Insert.class, Update.class})
private String templateSource;
/**
* 模板顺序
*/
@ApiModelProperty(value = "模板顺序")
@Excel(name = "模板顺序")
private Integer templateSort;
/**
* 模板备注
*/
@ApiModelProperty(value = "模板备注")
@Excel(name = "模板备注")
private String templateRemark;
@ApiModelProperty(value = "适用任务类型字典表ids")
private Long[] suitTaskTypeIds;
}

View File

@ -1,6 +1,10 @@
package com.xinelu.manage.mapper.textmessage; package com.xinelu.manage.mapper.textmessage;
import com.xinelu.manage.domain.textmessage.TextMessage; import com.xinelu.manage.domain.textmessage.TextMessage;
import com.xinelu.manage.domain.textmessagesuittask.TextMessageSuitTask;
import com.xinelu.manage.dto.textmessage.TextMessageDTO;
import com.xinelu.manage.dto.textmessage.TextMessageTaskDTO;
import com.xinelu.manage.vo.textmessage.TextMessageVO;
import java.util.List; import java.util.List;
@ -22,10 +26,10 @@ public interface TextMessageMapper {
/** /**
* 查询短信模板信息列表 * 查询短信模板信息列表
* *
* @param textMessage 短信模板信息 * @param textMessageDTO 短信模板信息
* @return 短信模板信息集合 * @return 短信模板信息集合
*/ */
public List<TextMessage> selectTextMessageList(TextMessage textMessage); public List<TextMessageVO> selectTextMessageList(TextMessageDTO textMessageDTO);
/** /**
* 新增短信模板信息 * 新增短信模板信息
@ -58,4 +62,44 @@ public interface TextMessageMapper {
* @return 结果 * @return 结果
*/ */
public int deleteTextMessageByIds(Long[] ids); public int deleteTextMessageByIds(Long[] ids);
/**
* 根据id查询短信模板信息
*
* @param id
* @return
*/
TextMessageVO selectTextMessageInfoById(Long id);
/**
* 检查短信模板信息是否存在
*
* @param textMessageTaskDTO
* @return
*/
int countByTextMessageTaskDTO(TextMessageTaskDTO textMessageTaskDTO);
/**
* 批量插入短信模板适用任务类型
*
* @param tasks
* @return
*/
int insertTextMessageSuitTasks(List<TextMessageSuitTask> tasks);
/**
* 批量修改短信模板适用任务类型
*
* @param tasks
* @return
*/
int updateTextMessageSuitTasks(List<TextMessageSuitTask> tasks);
/**
* 批量删除短信模板适用任务类型
*
* @param ids
* @return
*/
int deleteTextMessageSuitTasks(Long[] ids);
} }

View File

@ -3,6 +3,8 @@ package com.xinelu.manage.mapper.wechattemplate;
import com.xinelu.manage.domain.wechattemplate.WechatTemplate; import com.xinelu.manage.domain.wechattemplate.WechatTemplate;
import com.xinelu.manage.domain.wechattemplatesuittask.WechatTemplateSuitTask; import com.xinelu.manage.domain.wechattemplatesuittask.WechatTemplateSuitTask;
import com.xinelu.manage.dto.wechattemplate.WechatTemplateDTO; import com.xinelu.manage.dto.wechattemplate.WechatTemplateDTO;
import com.xinelu.manage.dto.wechattemplate.WechatTemplateTaskDTO;
import com.xinelu.manage.vo.wechattemplate.WechatTemplateVO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@ -68,7 +70,7 @@ public interface WechatTemplateMapper {
* @param wechatTemplateDto * @param wechatTemplateDto
* @return * @return
*/ */
List<WechatTemplateDTO> selectWechatTemplateDtoList(WechatTemplateDTO wechatTemplateDto); List<WechatTemplateVO> selectWechatTemplateDtoList(WechatTemplateDTO wechatTemplateDto);
/** /**
* 根据id查询微信模板Dto * 根据id查询微信模板Dto
@ -76,31 +78,23 @@ public interface WechatTemplateMapper {
* @param id * @param id
* @return * @return
*/ */
WechatTemplateDTO selectWechatTemplateDtoById(@Param("id") Long id); WechatTemplateVO selectWechatTemplateDtoById(@Param("id") Long id);
/**
* 判断是否存在微信模板信息
*
* @param wechatTemplateDto
* @return
*/
int countByWechatTemplateDto(WechatTemplateDTO wechatTemplateDto);
/** /**
* 新增微信模板适用任务类型 * 新增微信模板适用任务类型
* *
* @param wechatTemplateSuitTask * @param tasks
* @return * @return
*/ */
int insertWechatTemplateSuitTask(WechatTemplateSuitTask wechatTemplateSuitTask); int insertWechatTemplateSuitTask(List<WechatTemplateSuitTask> tasks);
/** /**
* 修改微信模板适用任务类型 * 修改微信模板适用任务类型
* *
* @param wechatTemplateSuitTask * @param tasks
* @return * @return
*/ */
int updateWechatTemplateSuitTask(WechatTemplateSuitTask wechatTemplateSuitTask); int updateWechatTemplateSuitTask(List<WechatTemplateSuitTask> tasks);
/** /**
* 批量删除微信模板使用任务类型 * 批量删除微信模板使用任务类型
@ -109,4 +103,12 @@ public interface WechatTemplateMapper {
* @return * @return
*/ */
int deleteWechatTemplateSuitTaskByIds(Long[] ids); int deleteWechatTemplateSuitTaskByIds(Long[] ids);
/**
* 检查微信模板名称是否存在
*
* @param wechatTemplateTaskDTO
* @return
*/
int countByWechatTemplateTaskDTO(WechatTemplateTaskDTO wechatTemplateTaskDTO);
} }

View File

@ -7,8 +7,8 @@ import com.xinelu.common.utils.StringUtils;
import com.xinelu.manage.domain.operationInfo.OperationInfo; import com.xinelu.manage.domain.operationInfo.OperationInfo;
import com.xinelu.manage.mapper.operationInfo.OperationInfoMapper; import com.xinelu.manage.mapper.operationInfo.OperationInfoMapper;
import com.xinelu.manage.service.operationInfo.IOperationInfoService; import com.xinelu.manage.service.operationInfo.IOperationInfoService;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List; import java.util.List;
@ -53,6 +53,7 @@ public class OperationInfoServiceImpl implements IOperationInfoService {
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class)
public int insertOperationInfo(OperationInfo operationInfo) { public int insertOperationInfo(OperationInfo operationInfo) {
// 检查手术名称是否为空 // 检查手术名称是否为空
if (StringUtils.isEmpty(operationInfo.getOperationName())) { if (StringUtils.isEmpty(operationInfo.getOperationName())) {
@ -85,6 +86,7 @@ public class OperationInfoServiceImpl implements IOperationInfoService {
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class)
public int updateOperationInfo(OperationInfo operationInfo) { public int updateOperationInfo(OperationInfo operationInfo) {
// 检查手术信息是否为空 // 检查手术信息是否为空
if (StringUtils.isEmpty(operationInfo.getOperationInfo())) { if (StringUtils.isEmpty(operationInfo.getOperationInfo())) {
@ -108,6 +110,7 @@ public class OperationInfoServiceImpl implements IOperationInfoService {
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class)
public int deleteOperationInfoByIds(Long[] ids) { public int deleteOperationInfoByIds(Long[] ids) {
return operationInfoMapper.deleteOperationInfoByIds(ids); return operationInfoMapper.deleteOperationInfoByIds(ids);
} }

View File

@ -7,6 +7,7 @@ import com.xinelu.manage.domain.scriptInfo.ScriptInfo;
import com.xinelu.manage.mapper.scriptInfo.ScriptInfoMapper; import com.xinelu.manage.mapper.scriptInfo.ScriptInfoMapper;
import com.xinelu.manage.service.scriptInfo.IScriptInfoService; import com.xinelu.manage.service.scriptInfo.IScriptInfoService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List; import java.util.List;
@ -51,6 +52,7 @@ public class ScriptInfoServiceImpl implements IScriptInfoService {
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class)
public int insertScriptInfo(ScriptInfo scriptInfo) { public int insertScriptInfo(ScriptInfo scriptInfo) {
// 判断通用话术名称是否存在 // 判断通用话术名称是否存在
if (scriptInfoMapper.countByScriptInfo(scriptInfo) > 0) { if (scriptInfoMapper.countByScriptInfo(scriptInfo) > 0) {
@ -69,6 +71,7 @@ public class ScriptInfoServiceImpl implements IScriptInfoService {
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class)
public int updateScriptInfo(ScriptInfo scriptInfo) { public int updateScriptInfo(ScriptInfo scriptInfo) {
// 判断通用话术名称是否存在 // 判断通用话术名称是否存在
if (scriptInfoMapper.countByScriptInfo(scriptInfo) > 0) { if (scriptInfoMapper.countByScriptInfo(scriptInfo) > 0) {
@ -87,6 +90,7 @@ public class ScriptInfoServiceImpl implements IScriptInfoService {
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class)
public int deleteScriptInfoByIds(Long[] ids) { public int deleteScriptInfoByIds(Long[] ids) {
return scriptInfoMapper.deleteScriptInfoByIds(ids); return scriptInfoMapper.deleteScriptInfoByIds(ids);
} }

View File

@ -1,6 +1,8 @@
package com.xinelu.manage.service.textmessage; package com.xinelu.manage.service.textmessage;
import com.xinelu.manage.domain.textmessage.TextMessage; import com.xinelu.manage.dto.textmessage.TextMessageDTO;
import com.xinelu.manage.dto.textmessage.TextMessageTaskDTO;
import com.xinelu.manage.vo.textmessage.TextMessageVO;
import java.util.List; import java.util.List;
@ -17,31 +19,31 @@ public interface ITextMessageService {
* @param id 短信模板信息主键 * @param id 短信模板信息主键
* @return 短信模板信息 * @return 短信模板信息
*/ */
public TextMessage selectTextMessageById(Long id); public TextMessageVO selectTextMessageById(Long id);
/** /**
* 查询短信模板信息列表 * 查询短信模板信息列表
* *
* @param textMessage 短信模板信息 * @param textMessageDTO 短信模板信息
* @return 短信模板信息集合 * @return 短信模板信息集合
*/ */
public List<TextMessage> selectTextMessageList(TextMessage textMessage); public List<TextMessageVO> selectTextMessageList(TextMessageDTO textMessageDTO);
/** /**
* 新增短信模板信息 * 新增短信模板信息
* *
* @param textMessage 短信模板信息 * @param textMessageTaskDTO 短信模板信息
* @return 结果 * @return 结果
*/ */
public int insertTextMessage(TextMessage textMessage); public int insertTextMessage(TextMessageTaskDTO textMessageTaskDTO);
/** /**
* 修改短信模板信息 * 修改短信模板信息
* *
* @param textMessage 短信模板信息 * @param textMessageTaskDTO 短信模板信息
* @return 结果 * @return 结果
*/ */
public int updateTextMessage(TextMessage textMessage); public int updateTextMessage(TextMessageTaskDTO textMessageTaskDTO);
/** /**
* 批量删除短信模板信息 * 批量删除短信模板信息

View File

@ -1,12 +1,24 @@
package com.xinelu.manage.service.textmessage.impl; package com.xinelu.manage.service.textmessage.impl;
import com.xinelu.common.core.domain.entity.SysDictData;
import com.xinelu.common.exception.ServiceException;
import com.xinelu.common.utils.DateUtils; import com.xinelu.common.utils.DateUtils;
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.textmessage.TextMessage;
import com.xinelu.manage.domain.textmessagesuittask.TextMessageSuitTask;
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.mapper.textmessage.TextMessageMapper;
import com.xinelu.manage.service.textmessage.ITextMessageService; import com.xinelu.manage.service.textmessage.ITextMessageService;
import com.xinelu.manage.vo.textmessage.TextMessageVO;
import com.xinelu.system.mapper.SysDictDataMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -20,6 +32,9 @@ public class TextMessageServiceImpl implements ITextMessageService {
@Resource @Resource
private TextMessageMapper textMessageMapper; private TextMessageMapper textMessageMapper;
@Resource
private SysDictDataMapper sysDictDataMapper;
/** /**
* 查询短信模板信息 * 查询短信模板信息
* *
@ -27,43 +42,131 @@ public class TextMessageServiceImpl implements ITextMessageService {
* @return 短信模板信息 * @return 短信模板信息
*/ */
@Override @Override
public TextMessage selectTextMessageById(Long id) { public TextMessageVO selectTextMessageById(Long id) {
return textMessageMapper.selectTextMessageById(id); return textMessageMapper.selectTextMessageInfoById(id);
} }
/** /**
* 查询短信模板信息列表 * 查询短信模板信息列表
* *
* @param textMessage 短信模板信息 * @param textMessageDTO 短信模板信息
* @return 短信模板信息 * @return 短信模板信息
*/ */
@Override @Override
public List<TextMessage> selectTextMessageList(TextMessage textMessage) { public List<TextMessageVO> selectTextMessageList(TextMessageDTO textMessageDTO) {
return textMessageMapper.selectTextMessageList(textMessage); return textMessageMapper.selectTextMessageList(textMessageDTO);
} }
/** /**
* 新增短信模板信息 * 新增短信模板信息
* *
* @param textMessage 短信模板信息 * @param textMessageTaskDTO 短信模板信息
* @return 结果 * @return 结果
*/ */
@Override @Override
public int insertTextMessage(TextMessage textMessage) { @Transactional(rollbackFor = Exception.class)
textMessage.setCreateTime(DateUtils.getNowDate()); public int insertTextMessage(TextMessageTaskDTO textMessageTaskDTO) {
return textMessageMapper.insertTextMessage(textMessage); // 检查短信模板名称是否已存在
if (textMessageMapper.countByTextMessageTaskDTO(textMessageTaskDTO) > 0) {
throw new ServiceException("短信模板名称已存在");
}
// 设置创建者和创建时间
String currentUsername = SecurityUtils.getUsername();
Date currentTime = DateUtils.getNowDate();
textMessageTaskDTO.setCreateBy(currentUsername);
textMessageTaskDTO.setCreateTime(currentTime);
// 将textMessageTaskDTO对象的属性复制到textMessage对象
TextMessage textMessage = new TextMessage();
BeanUtils.copyProperties(textMessageTaskDTO, textMessage);
// 插入textMessage记录并检查结果
if (textMessageMapper.insertTextMessage(textMessage) <= 0) {
throw new ServiceException("新增短信模板失败");
}
// 批量创建TextMessageSuitTask对象并插入
List<TextMessageSuitTask> tasks = new ArrayList<>();
for (Long suitTaskTypeId : textMessageTaskDTO.getSuitTaskTypeIds()) {
TextMessageSuitTask task = createTextMessageSuitTask(suitTaskTypeId, textMessage.getId(), currentUsername, currentTime);
tasks.add(task);
}
// 批量插入TextMessageSuitTask记录并检查结果
if (!tasks.isEmpty() && textMessageMapper.insertTextMessageSuitTasks(tasks) != tasks.size()) {
throw new ServiceException("新增短信模板适用任务类型失败");
}
// 返回成功插入的记录数
return 1;
}
private TextMessageSuitTask createTextMessageSuitTask(Long suitTaskTypeId, Long textMessageId, String createdBy, Date createdAt) {
SysDictData sysDictData = sysDictDataMapper.selectDictDataById(suitTaskTypeId);
TextMessageSuitTask task = new TextMessageSuitTask();
task.setTextMessageId(textMessageId);
task.setSuitTaskTypeId(suitTaskTypeId);
task.setSuitTaskTypeName(sysDictData.getDictLabel());
task.setCreateBy(createdBy);
task.setCreateTime(createdAt);
return task;
} }
/** /**
* 修改短信模板信息 * 修改短信模板信息
* *
* @param textMessage 短信模板信息 * @param textMessageTaskDTO 短信模板信息
* @return 结果 * @return 结果
*/ */
@Override @Override
public int updateTextMessage(TextMessage textMessage) { @Transactional(rollbackFor = Exception.class)
textMessage.setUpdateTime(DateUtils.getNowDate()); public int updateTextMessage(TextMessageTaskDTO textMessageTaskDTO) {
return textMessageMapper.updateTextMessage(textMessage); // 检查短信模板名称是否已存在
if (textMessageMapper.countByTextMessageTaskDTO(textMessageTaskDTO) > 0) {
throw new ServiceException("短信模板名称已存在");
}
// 设置修改者和修改时间
String editUsername = SecurityUtils.getUsername();
Date editTime = DateUtils.getNowDate();
textMessageTaskDTO.setUpdateBy(editUsername);
textMessageTaskDTO.setUpdateTime(editTime);
// 将textMessageTaskDTO对象的属性复制到textMessage对象
TextMessage textMessage = new TextMessage();
BeanUtils.copyProperties(textMessageTaskDTO, textMessage);
// 插入textMessage记录并检查结果
if (textMessageMapper.updateTextMessage(textMessage) <= 0) {
throw new ServiceException("修改短信模板失败");
}
// 批量创建TextMessageSuitTask对象并插入修改
List<TextMessageSuitTask> tasks = new ArrayList<>();
for (Long suitTaskTypeId : textMessageTaskDTO.getSuitTaskTypeIds()) {
TextMessageSuitTask task = editTextMessageSuitTask(suitTaskTypeId, textMessage.getId(), editUsername, editTime);
tasks.add(task);
}
// 批量插入TextMessageSuitTask修改记录并检查结果
if (!tasks.isEmpty() && textMessageMapper.updateTextMessageSuitTasks(tasks) != tasks.size()) {
throw new ServiceException("修改短信模板适用任务类型失败");
}
// 返回成功插入的记录数
return 1;
}
private TextMessageSuitTask editTextMessageSuitTask(Long suitTaskTypeId, Long textMessageId, String updateBy, Date updateAt) {
SysDictData sysDictData = sysDictDataMapper.selectDictDataById(suitTaskTypeId);
TextMessageSuitTask task = new TextMessageSuitTask();
task.setTextMessageId(textMessageId);
task.setSuitTaskTypeId(suitTaskTypeId);
task.setSuitTaskTypeName(sysDictData.getDictLabel());
task.setUpdateBy(updateBy);
task.setUpdateTime(updateAt);
return task;
} }
/** /**
@ -73,8 +176,18 @@ public class TextMessageServiceImpl implements ITextMessageService {
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class)
public int deleteTextMessageByIds(Long[] ids) { public int deleteTextMessageByIds(Long[] ids) {
return textMessageMapper.deleteTextMessageByIds(ids); // 删除短信模板记录并检查结果
if (textMessageMapper.deleteTextMessageByIds(ids) <= 0) {
throw new ServiceException("删除短信模板失败");
}
// 删除短信模板适用任务类型记录并检查结果
if (textMessageMapper.deleteTextMessageSuitTasks(ids) <= 0) {
throw new ServiceException("删除短信模板适用任务类型失败");
}
// 返回成功删除的记录数
return 1;
} }
/** /**

View File

@ -2,6 +2,8 @@ package com.xinelu.manage.service.wechattemplate;
import com.xinelu.manage.domain.wechattemplate.WechatTemplate; import com.xinelu.manage.domain.wechattemplate.WechatTemplate;
import com.xinelu.manage.dto.wechattemplate.WechatTemplateDTO; import com.xinelu.manage.dto.wechattemplate.WechatTemplateDTO;
import com.xinelu.manage.dto.wechattemplate.WechatTemplateTaskDTO;
import com.xinelu.manage.vo.wechattemplate.WechatTemplateVO;
import java.util.List; import java.util.List;
@ -26,23 +28,23 @@ public interface IWechatTemplateService {
* @param wechatTemplateDto 微信模板信息 * @param wechatTemplateDto 微信模板信息
* @return 微信模板信息集合 * @return 微信模板信息集合
*/ */
public List<WechatTemplateDTO> selectWechatTemplateList(WechatTemplateDTO wechatTemplateDto); public List<WechatTemplateVO> selectWechatTemplateList(WechatTemplateDTO wechatTemplateDto);
/** /**
* 新增微信模板信息 * 新增微信模板信息
* *
* @param wechatTemplateDto 微信模板信息 * @param wechatTemplateTaskDTO 微信模板信息
* @return 结果 * @return 结果
*/ */
public int insertWechatTemplate(WechatTemplateDTO wechatTemplateDto); public int insertWechatTemplate(WechatTemplateTaskDTO wechatTemplateTaskDTO);
/** /**
* 修改微信模板信息 * 修改微信模板信息
* *
* @param wechatTemplateDto 微信模板信息 * @param wechatTemplateTaskDTO 微信模板信息
* @return 结果 * @return 结果
*/ */
public int updateWechatTemplate(WechatTemplateDTO wechatTemplateDto); public int updateWechatTemplate(WechatTemplateTaskDTO wechatTemplateTaskDTO);
/** /**
* 批量删除微信模板信息 * 批量删除微信模板信息
@ -66,5 +68,5 @@ public interface IWechatTemplateService {
* @param id * @param id
* @return * @return
*/ */
WechatTemplateDTO selectWechatTemplateDtoById(Long id); WechatTemplateVO selectWechatTemplateDtoById(Long id);
} }

View File

@ -1,5 +1,6 @@
package com.xinelu.manage.service.wechattemplate.impl; package com.xinelu.manage.service.wechattemplate.impl;
import com.xinelu.common.core.domain.entity.SysDictData;
import com.xinelu.common.exception.ServiceException; import com.xinelu.common.exception.ServiceException;
import com.xinelu.common.utils.DateUtils; import com.xinelu.common.utils.DateUtils;
import com.xinelu.common.utils.SecurityUtils; import com.xinelu.common.utils.SecurityUtils;
@ -7,11 +8,15 @@ import com.xinelu.common.utils.bean.BeanUtils;
import com.xinelu.manage.domain.wechattemplate.WechatTemplate; import com.xinelu.manage.domain.wechattemplate.WechatTemplate;
import com.xinelu.manage.domain.wechattemplatesuittask.WechatTemplateSuitTask; import com.xinelu.manage.domain.wechattemplatesuittask.WechatTemplateSuitTask;
import com.xinelu.manage.dto.wechattemplate.WechatTemplateDTO; 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.mapper.wechattemplate.WechatTemplateMapper;
import com.xinelu.manage.service.wechattemplate.IWechatTemplateService; import com.xinelu.manage.service.wechattemplate.IWechatTemplateService;
import com.xinelu.manage.vo.wechattemplate.WechatTemplateVO;
import com.xinelu.system.mapper.SysDictDataMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -26,6 +31,9 @@ public class WechatTemplateServiceImpl implements IWechatTemplateService {
@Resource @Resource
private WechatTemplateMapper wechatTemplateMapper; private WechatTemplateMapper wechatTemplateMapper;
@Resource
private SysDictDataMapper sysDictDataMapper;
/** /**
* 查询微信模板信息 * 查询微信模板信息
* *
@ -44,7 +52,7 @@ public class WechatTemplateServiceImpl implements IWechatTemplateService {
* @return 微信模板信息 * @return 微信模板信息
*/ */
@Override @Override
public List<WechatTemplateDTO> selectWechatTemplateList(WechatTemplateDTO wechatTemplateDto) { public List<WechatTemplateVO> selectWechatTemplateList(WechatTemplateDTO wechatTemplateDto) {
return wechatTemplateMapper.selectWechatTemplateDtoList(wechatTemplateDto); return wechatTemplateMapper.selectWechatTemplateDtoList(wechatTemplateDto);
} }
@ -52,91 +60,113 @@ public class WechatTemplateServiceImpl implements IWechatTemplateService {
/** /**
* 新增微信模板信息 * 新增微信模板信息
* *
* @param wechatTemplateDto 微信模板信息 * @param wechatTemplateTaskDTO 微信模板信息
* @return 结果 * @return 结果
*/ */
@Override @Override
public int insertWechatTemplate(WechatTemplateDTO wechatTemplateDto) { public int insertWechatTemplate(WechatTemplateTaskDTO wechatTemplateTaskDTO) {
// 检查微信模板名称是否已存在 // 检查微信名称是否已存在
if (wechatTemplateMapper.countByWechatTemplateDto(wechatTemplateDto) > 0) { if (wechatTemplateMapper.countByWechatTemplateTaskDTO(wechatTemplateTaskDTO) > 0) {
throw new ServiceException("微信模板名称已存在"); throw new ServiceException("微信模板名称已存在");
} }
// 设置创建者和创建时间 // 设置创建者和创建时间
String currentUsername = SecurityUtils.getUsername(); String currentUsername = SecurityUtils.getUsername();
Date currentTime = DateUtils.getNowDate(); Date currentTime = DateUtils.getNowDate();
wechatTemplateDto.setCreateBy(currentUsername); wechatTemplateTaskDTO.setCreateBy(currentUsername);
wechatTemplateDto.setCreateTime(currentTime); wechatTemplateTaskDTO.setCreateTime(currentTime);
// WechatTemplateDto对象的属性复制到WechatTemplate对象 // wechatTemplateTaskDTO对象的属性复制到wechatTemplate对象
WechatTemplate wechatTemplate = new WechatTemplate(); WechatTemplate wechatTemplate = new WechatTemplate();
BeanUtils.copyProperties(wechatTemplateDto, wechatTemplate); BeanUtils.copyProperties(wechatTemplateTaskDTO, wechatTemplate);
// 插入WechatTemplate记录并检查结果 // 插入wechatTemplate记录并检查结果
if (wechatTemplateMapper.insertWechatTemplate(wechatTemplate) <= 0) { if (wechatTemplateMapper.insertWechatTemplate(wechatTemplate) <= 0) {
throw new ServiceException("新增微信模板失败"); throw new ServiceException("新增微信模板失败");
} }
// 创建WechatTemplateSuitTask对象并设置属性 // 批量创建WechatTemplateSuitTask对象并插入
WechatTemplateSuitTask wechatTemplateSuitTask = new WechatTemplateSuitTask(); List<WechatTemplateSuitTask> tasks = new ArrayList<>();
wechatTemplateSuitTask.setWechatTemplateId(wechatTemplate.getId()); for (Long suitTaskTypeId : wechatTemplateTaskDTO.getSuitTaskTypeIds()) {
wechatTemplateSuitTask.setSuitTaskTypeId(wechatTemplateDto.getSuitTaskTypeId()); WechatTemplateSuitTask task = createWechatTempSuitTask(suitTaskTypeId, wechatTemplate.getId(), currentUsername, currentTime);
wechatTemplateSuitTask.setSuitTaskTypeName(wechatTemplateDto.getSuitTaskTypeName()); tasks.add(task);
wechatTemplateSuitTask.setCreateBy(currentUsername); }
wechatTemplateSuitTask.setCreateTime(currentTime);
// 插入WechatTemplateSuitTask记录并检查结果 // 批量插入TextMessageSuitTask记录并检查结果
if (wechatTemplateMapper.insertWechatTemplateSuitTask(wechatTemplateSuitTask) <= 0) { if (!tasks.isEmpty() && wechatTemplateMapper.insertWechatTemplateSuitTask(tasks) != tasks.size()) {
throw new ServiceException("新增微信模板适用任务类型失败"); throw new ServiceException("新增微信模板适用任务类型失败");
} }
// 返回成功插入的记录数 // 返回成功插入的记录数
return 1; return 1;
} }
private WechatTemplateSuitTask createWechatTempSuitTask(Long suitTaskTypeId, Long wechatTempId, String createdBy, Date createdAt) {
SysDictData sysDictData = sysDictDataMapper.selectDictDataById(suitTaskTypeId);
WechatTemplateSuitTask task = new WechatTemplateSuitTask();
task.setWechatTemplateId(wechatTempId);
task.setSuitTaskTypeId(suitTaskTypeId);
task.setSuitTaskTypeName(sysDictData.getDictLabel());
task.setCreateBy(createdBy);
task.setCreateTime(createdAt);
return task;
}
/** /**
* 修改微信模板信息 * 修改微信模板信息
* *
* @param wechatTemplateDto 微信模板信息 * @param wechatTemplateTaskDTO 微信模板信息
* @return 结果 * @return 结果
*/ */
@Override @Override
public int updateWechatTemplate(WechatTemplateDTO wechatTemplateDto) { public int updateWechatTemplate(WechatTemplateTaskDTO wechatTemplateTaskDTO) {
// 检查微信模板名称是否已存在 // 检查微信模板名称是否已存在
if (wechatTemplateMapper.countByWechatTemplateDto(wechatTemplateDto) > 0) { if (wechatTemplateMapper.countByWechatTemplateTaskDTO(wechatTemplateTaskDTO) > 0) {
throw new ServiceException("微信模板名称已存在"); throw new ServiceException("微信模板名称已存在");
} }
// 设置修改者和修改时间 // 设置修改者和修改时间
String editUsername = SecurityUtils.getUsername(); String editUsername = SecurityUtils.getUsername();
Date editTime = DateUtils.getNowDate(); Date editTime = DateUtils.getNowDate();
wechatTemplateDto.setUpdateBy(editUsername); wechatTemplateTaskDTO.setUpdateBy(editUsername);
wechatTemplateDto.setUpdateTime(editTime); wechatTemplateTaskDTO.setUpdateTime(editTime);
// WechatTemplateDto对象的属性复制到WechatTemplate对象 // wechatTemplateTaskDTO对象的属性复制到wechatTemplate对象
WechatTemplate wechatTemplate = new WechatTemplate(); WechatTemplate wechatTemplate = new WechatTemplate();
BeanUtils.copyProperties(wechatTemplateDto, wechatTemplate); BeanUtils.copyProperties(wechatTemplateTaskDTO, wechatTemplate);
// 修改WechatTemplate记录并检查结果 // 修改wechatTemplate记录并检查结果
if (wechatTemplateMapper.updateWechatTemplate(wechatTemplate) <= 0) { if (wechatTemplateMapper.updateWechatTemplate(wechatTemplate) <= 0) {
throw new ServiceException("修改微信模板失败"); throw new ServiceException("修改微信模板失败");
} }
// 创建WechatTemplateSuitTask对象并设置属性 // 批量创建WechatTemplateSuitTask对象并插入修改
WechatTemplateSuitTask wechatTemplateSuitTask = new WechatTemplateSuitTask(); List<WechatTemplateSuitTask> tasks = new ArrayList<>();
wechatTemplateSuitTask.setWechatTemplateId(wechatTemplate.getId()); for (Long suitTaskTypeId : wechatTemplateTaskDTO.getSuitTaskTypeIds()) {
wechatTemplateSuitTask.setSuitTaskTypeId(wechatTemplateDto.getSuitTaskTypeId()); WechatTemplateSuitTask task = editWechatTempSuitTask(suitTaskTypeId, wechatTemplate.getId(), editUsername, editTime);
wechatTemplateSuitTask.setSuitTaskTypeName(wechatTemplateDto.getSuitTaskTypeName()); tasks.add(task);
wechatTemplateSuitTask.setUpdateBy(editUsername); }
wechatTemplateSuitTask.setUpdateTime(editTime);
// 修改WechatTemplateSuitTask记录并检查结果 // 批量插入WechatTemplateSuitTask修改记录并检查结果
if (wechatTemplateMapper.updateWechatTemplateSuitTask(wechatTemplateSuitTask) <= 0) { if (!tasks.isEmpty() && wechatTemplateMapper.updateWechatTemplateSuitTask(tasks) != tasks.size()) {
throw new ServiceException("修改微信模板适用任务类型失败"); throw new ServiceException("修改微信模板适用任务类型失败");
} }
// 返回成功修改的记录数
// 返回成功插入的记录数
return 1; return 1;
} }
private WechatTemplateSuitTask editWechatTempSuitTask(Long suitTaskTypeId, Long wechatTempId, String updateBy, Date updateAt) {
SysDictData sysDictData = sysDictDataMapper.selectDictDataById(suitTaskTypeId);
WechatTemplateSuitTask task = new WechatTemplateSuitTask();
task.setWechatTemplateId(wechatTempId);
task.setSuitTaskTypeId(suitTaskTypeId);
task.setSuitTaskTypeName(sysDictData.getDictLabel());
task.setUpdateBy(updateBy);
task.setUpdateTime(updateAt);
return task;
}
/** /**
* 批量删除微信模板信息 * 批量删除微信模板信息
* *
@ -175,7 +205,7 @@ public class WechatTemplateServiceImpl implements IWechatTemplateService {
* @return * @return
*/ */
@Override @Override
public WechatTemplateDTO selectWechatTemplateDtoById(Long id) { public WechatTemplateVO selectWechatTemplateDtoById(Long id) {
return wechatTemplateMapper.selectWechatTemplateDtoById(id); return wechatTemplateMapper.selectWechatTemplateDtoById(id);
} }
} }

View File

@ -0,0 +1,115 @@
package com.xinelu.manage.vo.textmessage;
import com.xinelu.common.annotation.Excel;
import com.xinelu.common.core.domain.BaseEntity;
import com.xinelu.manage.domain.textmessagesuittask.TextMessageSuitTask;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @author : youxilong
* @date : 2024/2/28 16:06
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "短信模板信息对象VO")
public class TextMessageVO extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 主键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 = "短信模板适用任务类型列表")
private List<TextMessageSuitTask> suitTaskList;
}

View File

@ -0,0 +1,112 @@
package com.xinelu.manage.vo.wechattemplate;
import com.xinelu.common.annotation.Excel;
import com.xinelu.common.core.domain.BaseEntity;
import com.xinelu.common.custominterface.Insert;
import com.xinelu.common.custominterface.Update;
import com.xinelu.manage.domain.textmessagesuittask.TextMessageSuitTask;
import com.xinelu.manage.domain.wechattemplatesuittask.WechatTemplateSuitTask;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.util.List;
/**
* @author : youxilong
* @date : 2024/2/28 21:43
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "微信模板信息对象VO")
public class WechatTemplateVO extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 主键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 = "短信适用任务类型列表")
private List<WechatTemplateSuitTask> suitTaskList;
}

View File

@ -117,14 +117,8 @@
parameterType="com.xinelu.manage.domain.scriptInfo.ScriptInfo"> parameterType="com.xinelu.manage.domain.scriptInfo.ScriptInfo">
select count(*) select count(*)
from script_info from script_info
<where> where department_id = #{departmentId}
department_id = #{departmentId} and common_script_name = #{commonScriptName}
and common_script_name = #{commonScriptName}
<if test="diseaseTypeId != null ">
and disease_type_id =
#{diseaseTypeId}
</if>
</where>
</select> </select>
<insert id="insertScriptInfo" parameterType="ScriptInfo" useGeneratedKeys="true" <insert id="insertScriptInfo" parameterType="ScriptInfo" useGeneratedKeys="true"

View File

@ -23,6 +23,27 @@
<result property="updateTime" column="update_time"/> <result property="updateTime" column="update_time"/>
</resultMap> </resultMap>
<resultMap id="TextMessageVOResultMap" type="com.xinelu.manage.vo.textmessage.TextMessageVO">
<id property="id" column="id"/>
<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="text_message_name" property="textMessageName"/>
<result column="text_message_id" property="textMessageId"/>
<result column="text_message_content" property="textMessageContent"/>
<result column="text_message_channel" property="textMessageChannel"/>
<result column="text_message_status" property="textMessageStatus"/>
<result column="text_message_sort" property="textMessageSort"/>
<result column="text_message_remark" property="textMessageRemark"/>
<collection property="suitTaskList" ofType="com.xinelu.manage.domain.textmessagesuittask.TextMessageSuitTask">
<id column="taskId" property="id"/>
<result column="text_message_id" property="textMessageId"/>
<result column="suit_task_type_id" property="suitTaskTypeId"/>
<result column="suit_task_type_name" property="suitTaskTypeName"/>
</collection>
</resultMap>
<sql id="selectTextMessageVo"> <sql id="selectTextMessageVo">
select id, select id,
department_id, department_id,
@ -43,68 +64,89 @@
from text_message from text_message
</sql> </sql>
<select id="selectTextMessageList" parameterType="TextMessage" resultMap="TextMessageResult">
<include refid="selectTextMessageVo"/>
<where>
<if test="departmentId != null ">
and department_id =
#{departmentId}
</if>
<if test="departmentName != null and departmentName != ''">
and department_name like concat('%',
#{departmentName},
'%'
)
</if>
<if test="diseaseTypeId != null ">
and disease_type_id =
#{diseaseTypeId}
</if>
<if test="diseaseTypeName != null and diseaseTypeName != ''">
and disease_type_name like concat('%',
#{diseaseTypeName},
'%'
)
</if>
<if test="textMessageName != null and textMessageName != ''">
and text_message_name like concat('%',
#{textMessageName},
'%'
)
</if>
<if test="textMessageId != null and textMessageId != ''">
and text_message_id =
#{textMessageId}
</if>
<if test="textMessageContent != null and textMessageContent != ''">
and text_message_content =
#{textMessageContent}
</if>
<if test="textMessageChannel != null and textMessageChannel != ''">
and text_message_channel =
#{textMessageChannel}
</if>
<if test="textMessageStatus != null and textMessageStatus != ''">
and text_message_status =
#{textMessageStatus}
</if>
<if test="textMessageSort != null ">
and text_message_sort =
#{textMessageSort}
</if>
<if test="textMessageRemark != null and textMessageRemark != ''">
and text_message_remark =
#{textMessageRemark}
</if>
</where>
</select>
<select id="selectTextMessageById" parameterType="Long" <select id="selectTextMessageById" parameterType="Long"
resultMap="TextMessageResult"> resultMap="TextMessageResult">
<include refid="selectTextMessageVo"/> <include refid="selectTextMessageVo"/>
where id = #{id} where id = #{id}
</select> </select>
<select id="selectTextMessageInfoById" resultMap="TextMessageVOResultMap">
select tm.id,
tm.department_id,
tm.department_name,
tm.disease_type_id,
tm.disease_type_name,
tm.text_message_name,
tm.text_message_id,
tm.text_message_content,
tm.text_message_channel,
tm.text_message_status,
tm.text_message_sort,
tm.text_message_remark,
tmst.id AS taskId,
tmst.text_message_id,
tmst.suit_task_type_id,
tmst.suit_task_type_name
from text_message tm
left join text_message_suit_task tmst on
tm.id = tmst.text_message_id
where tm.id = #{id}
</select>
<select id="selectTextMessageList" resultMap="TextMessageVOResultMap">
select
tm.id,
tm.department_id,
tm.department_name,
tm.disease_type_id,
tm.disease_type_name,
tm.text_message_name,
tm.text_message_id,
tm.text_message_content,
tm.text_message_channel,
tm.text_message_status,
tm.text_message_sort,
tm.text_message_remark,
tmst.id AS taskId
tmst.text_message_id,
tmst.suit_task_type_id,
tmst.suit_task_type_name
from text_message tm
left join text_message_suit_task tmst on
tm.id = tmst.text_message_id
<where>
<if test="departmentId != null">
AND tm.department_id =
#{departmentId}
</if>
<if test="textMessageName != null and textMessageName != ''">
AND tm.text_message_name LIKE CONCAT('%',
#{textMessageName},
'%'
)
</if>
<if test="textMessageId != null and textMessageId != ''">
AND tm.text_message_id LIKE CONCAT('%',
#{textMessageId},
'%'
)
</if>
<if test="textMessageStatus != null">
AND tm.text_message_status =
#{textMessageStatus}
</if>
</where>
</select>
<select id="countByTextMessageTaskDTO" resultType="java.lang.Integer"
parameterType="com.xinelu.manage.dto.textmessage.TextMessageTaskDTO">
select count(*)
from text_message
where department_id = #{departmentId}
and text_message_name = #{textMessageName}
</select>
<insert id="insertTextMessage" parameterType="TextMessage" useGeneratedKeys="true" <insert id="insertTextMessage" parameterType="TextMessage" useGeneratedKeys="true"
keyProperty="id"> keyProperty="id">
insert into text_message insert into text_message
@ -174,6 +216,17 @@
</trim> </trim>
</insert> </insert>
<insert id="insertTextMessageSuitTasks" parameterType="java.util.List">
INSERT INTO text_message_suit_task
(text_message_id, suit_task_type_id, suit_task_type_name, create_by, create_time)
VALUES
<foreach collection="list" item="task" index="index" separator=",">
(#{task.textMessageId}, #{task.suitTaskTypeId}, #{task.suitTaskTypeName}, #{task.createBy},
#{task.createTime})
</foreach>
</insert>
<update id="updateTextMessage" parameterType="TextMessage"> <update id="updateTextMessage" parameterType="TextMessage">
update text_message update text_message
<trim prefix="SET" suffixOverrides=","> <trim prefix="SET" suffixOverrides=",">
@ -225,6 +278,17 @@
</trim> </trim>
where id = #{id} where id = #{id}
</update> </update>
<update id="updateTextMessageSuitTasks"
parameterType="java.util.List">
<foreach collection="list" item="task" separator=";">
UPDATE text_message_suit_task
SET suit_task_type_name = #{task.suitTaskTypeName},
suit_task_type_id = #{task.suitTaskTypeId},
update_by = #{task.updateBy},
update_time = #{task.updateTime}
WHERE text_message_id = #{task.textMessageId}
</foreach>
</update>
<delete id="deleteTextMessageById" parameterType="Long"> <delete id="deleteTextMessageById" parameterType="Long">
delete delete
@ -238,4 +302,11 @@
#{id} #{id}
</foreach> </foreach>
</delete> </delete>
<delete id="deleteTextMessageSuitTasks">
delete from text_message_suit_task
where text_message_id in
<foreach collection="list" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper> </mapper>

View File

@ -21,6 +21,26 @@
<result property="updateTime" column="update_time"/> <result property="updateTime" column="update_time"/>
</resultMap> </resultMap>
<resultMap id="WechatTemplateVOResultMap" type="com.xinelu.manage.vo.wechattemplate.WechatTemplateVO" >
<id property="id" column="id"/>
<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="wechat_template_name" property="wechatTemplateName"/>
<result column="template_id" property="templateId"/>
<result column="template_content" property="templateContent"/>
<result column="template_source" property="templateSource"/>
<result column="template_sort" property="templateSort"/>
<result column="template_remark" property="templateRemark"/>
<collection property="suitTaskList" ofType="com.xinelu.manage.domain.wechattemplatesuittask.WechatTemplateSuitTask">
<id column="taskId" property="id"/>
<result column="wechat_template_id" property="wechatTemplateId"/>
<result column="suit_task_type_id" property="suitTaskTypeId"/>
<result column="suit_task_type_name" property="suitTaskTypeName"/>
</collection>
</resultMap>
<sql id="selectWechatTemplateVo"> <sql id="selectWechatTemplateVo">
select id, select id,
department_id, department_id,
@ -91,7 +111,7 @@
where id = #{id} where id = #{id}
</select> </select>
<select id="selectWechatTemplateDtoList" resultType="com.xinelu.manage.dto.wechattemplate.WechatTemplateDTO"> <select id="selectWechatTemplateDtoList" resultMap="WechatTemplateVOResultMap">
select wt.id , select wt.id ,
wt.department_id, wt.department_id,
wt.department_name , wt.department_name ,
@ -103,72 +123,32 @@
wt.template_source, wt.template_source,
wt.template_sort, wt.template_sort,
wt.template_remark, wt.template_remark,
wtst.suit_task_type_id AS suitTaskTypeId, wtst.id AS taskId,
wtst.suit_task_type_name AS suitTaskTypeName, wtst.wechat_template_id,
wt.create_by, wtst.suit_task_type_id,
wt.create_time, wtst.suit_task_type_name
wt.update_by,
wt.update_time
from wechat_template wt from wechat_template wt
left join wechat_template_suit_task wtst on wt.id = wtst.wechat_template_id left join wechat_template_suit_task wtst on wt.id = wtst.wechat_template_id
<where> <where>
<if test="departmentId != null "> <if test="departmentId != null ">
and wt.department_id = and wt.department_id = #{departmentId}
#{departmentId}
</if>
<if test="departmentName != null and departmentName != ''">
and wt.department_name like concat('%',
#{departmentName},
'%'
)
</if>
<if test="diseaseTypeId != null ">
and wt.disease_type_id =
#{diseaseTypeId}
</if>
<if test="diseaseTypeName != null and diseaseTypeName != ''">
and wt.disease_type_name like concat('%',
#{diseaseTypeName},
'%'
)
</if> </if>
<if test="wechatTemplateName != null and wechatTemplateName != ''"> <if test="wechatTemplateName != null and wechatTemplateName != ''">
and wt.wechat_template_name like concat('%', and wt.wechat_template_name like concat('%',#{wechatTemplateName},'%')
#{wechatTemplateName},
'%'
)
</if> </if>
<if test="templateId != null and templateId != ''"> <if test="templateId != null and templateId != ''">
and wt.template_id = and wt.template_id like concat('%',#{templateId},'%')
#{templateId}
</if>
<if test="templateContent != null and templateContent != ''">
and wt.template_content =
#{templateContent}
</if> </if>
<if test="templateSource != null and templateSource != ''"> <if test="templateSource != null and templateSource != ''">
and wt.template_source = and wt.template_source = #{templateSource}
#{templateSource}
</if>
<if test="templateSort != null ">
and wt.template_sort =
#{templateSort}
</if>
<if test="templateRemark != null and templateRemark != ''">
and wt.template_remark =
#{templateRemark}
</if>
<if test="suitTaskTypeName != null and suitTaskTypeName != ''">
and wtst.suit_task_type_name=
#{suitTaskTypeName}
</if> </if>
</where> </where>
</select> </select>
<select id="selectWechatTemplateDtoById" resultType="com.xinelu.manage.dto.wechattemplate.WechatTemplateDTO"> <select id="selectWechatTemplateDtoById" resultMap="WechatTemplateVOResultMap">
select wt.id, select wt.id ,
wt.department_id, wt.department_id,
wt.department_name, wt.department_name ,
wt.disease_type_id, wt.disease_type_id ,
wt.disease_type_name, wt.disease_type_name,
wt.wechat_template_name, wt.wechat_template_name,
wt.template_id, wt.template_id,
@ -176,35 +156,21 @@
wt.template_source, wt.template_source,
wt.template_sort, wt.template_sort,
wt.template_remark, wt.template_remark,
wtst.suit_task_type_id AS suitTaskTypeId, wtst.id AS taskId,
wtst.suit_task_type_name AS suitTaskTypeName, wtst.wechat_template_id,
wt.create_by, wtst.suit_task_type_id,
wt.create_time, wtst.suit_task_type_name
wt.update_by,
wt.update_time
from wechat_template wt from wechat_template wt
left join wechat_template_suit_task wtst on wt.id = wtst.wechat_template_id left join wechat_template_suit_task wtst on wt.id = wtst.wechat_template_id
where wt.id = #{id} where wt.id = #{id}
</select> </select>
<select id="countByWechatTemplateDto" resultType="java.lang.Integer">
<select id="countByWechatTemplateTaskDTO" resultType="java.lang.Integer"
parameterType="com.xinelu.manage.dto.wechattemplate.WechatTemplateTaskDTO">
select count(*) select count(*)
from wechat_template wt from wechat_template wt
left join wechat_template_suit_task wtst on wt.id = wtst.wechat_template_id where department_id = #{departmentId}
<where> and wechat_template_name = #{wechatTemplateName}
wt.department_id = #{departmentId}
and wt.department_name = #{departmentName}
and wt.wechat_template_name = #{wechatTemplateName}
and wt.template_source = #{templateSource}
and wtst.suit_task_type_name= #{suitTaskTypeName}
<if test="diseaseTypeId != null ">
and wt.disease_type_id =
#{diseaseTypeId}
</if>
<if test="diseaseTypeName != null and diseaseTypeName != ''">
and wt.disease_type_name =
#{diseaseTypeName}
</if>
</where>
</select> </select>
<insert id="insertWechatTemplate" parameterType="WechatTemplate" useGeneratedKeys="true" <insert id="insertWechatTemplate" parameterType="WechatTemplate" useGeneratedKeys="true"
@ -272,40 +238,14 @@
</trim> </trim>
</insert> </insert>
<insert id="insertWechatTemplateSuitTask"> <insert id="insertWechatTemplateSuitTask" parameterType="java.util.List">
insert into wechat_template_suit_task INSERT INTO wechat_template_suit_task
<trim prefix="(" suffix=")" suffixOverrides=","> (wechat_template_id, suit_task_type_id, suit_task_type_name, create_by, create_time)
<if test="wechatTemplateId != null">wechat_template_id, VALUES
</if> <foreach collection="list" item="task" index="index" separator=",">
<if test="suitTaskTypeId != null">suit_task_type_id, (#{task.wechatTemplateId}, #{task.suitTaskTypeId}, #{task.suitTaskTypeName}, #{task.createBy},
</if> #{task.createTime})
<if test="suitTaskTypeName != null">suit_task_type_name, </foreach>
</if>
<if test="createBy != null">create_by,
</if>
<if test="createTime != null">create_time,
</if>
<if test="updateBy != null">update_by,
</if>
<if test="updateTime != null">update_time,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="wechatTemplateId != null">#{wechatTemplateId},
</if>
<if test="suitTaskTypeId != null">#{suitTaskTypeId},
</if>
<if test="suitTaskTypeName != null">#{suitTaskTypeName},
</if>
<if test="createBy != null">#{createBy},
</if>
<if test="createTime != null">#{createTime},
</if>
<if test="updateBy != null">#{updateBy},
</if>
<if test="updateTime != null">#{updateTime},
</if>
</trim>
</insert> </insert>
<update id="updateWechatTemplate" parameterType="WechatTemplate"> <update id="updateWechatTemplate" parameterType="WechatTemplate">
@ -357,28 +297,14 @@
where id = #{id} where id = #{id}
</update> </update>
<update id="updateWechatTemplateSuitTask"> <update id="updateWechatTemplateSuitTask">
update wechat_template_suit_task <foreach collection="list" item="task" separator=";">
<trim prefix="SET" suffixOverrides=","> UPDATE wechat_template_suit_task
<if test="suitTaskTypeId != null">suit_task_type_id = SET suit_task_type_name = #{task.suitTaskTypeName},
#{suitTaskTypeId}, suit_task_type_id = #{task.suitTaskTypeId},
</if> update_by = #{task.updateBy},
<if test="suitTaskTypeName != null"> suit_task_type_name= update_time = #{task.updateTime}
#{suitTaskTypeName}, WHERE wechat_template_id= #{task.wechatTemplateId}
</if> </foreach>
<if test="createBy != null">create_by =
#{createBy},
</if>
<if test="createTime != null">create_time =
#{createTime},
</if>
<if test="updateBy != null">update_by =
#{updateBy},
</if>
<if test="updateTime != null">update_time =
#{updateTime},
</if>
</trim>
where wechat_template_id =#{wechatTemplateId}
</update> </update>
<delete id="deleteWechatTemplateById" parameterType="Long"> <delete id="deleteWechatTemplateById" parameterType="Long">
@ -398,8 +324,8 @@
delete delete
from wechat_template_suit_task from wechat_template_suit_task
where wechat_template_id in where wechat_template_id in
<foreach item="wechatTemplateId" collection="array" open="(" separator="," close=")"> <foreach collection="list" item="id" open="(" separator="," close=")">
#{wechatTemplateId} #{id}
</foreach> </foreach>
</delete> </delete>
</mapper> </mapper>