From dfddc6a9f4672e8b5afceea7c1004fa43eec3ccf Mon Sep 17 00:00:00 2001 From: wangqiong <1322446236@qq.com> Date: Mon, 8 Apr 2024 17:05:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=9F=AD=E4=BF=A1=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E5=92=8C=E9=87=8D=E6=96=B0=E5=8F=91=E9=80=81=E7=9F=AD?= =?UTF-8?q?=E4=BF=A1=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sendrecord/ShortMessageController.java | 49 ++++++++++ .../shortmessage/MsSmsSendHistoryRecord.java | 92 +++++++++++++++++++ .../MsSmsSendHistoryRecordMapper.java | 7 ++ .../mapper/sendrecord/SmsRecordMapper.java | 11 +++ .../sendrecord/ShortMessageService.java | 19 ++++ .../impl/ShortMessageServiceImpl.java | 54 +++++++++++ .../MsSmsSendHistoryRecordMapper.xml | 23 +++++ .../sendrecord/SmsRecordMapper.xml | 8 ++ .../resources/generator/config.properties | 6 +- 9 files changed, 266 insertions(+), 3 deletions(-) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/sendrecord/ShortMessageController.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/domain/entity/shortmessage/MsSmsSendHistoryRecord.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/mapper/shortmessage/MsSmsSendHistoryRecordMapper.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/sendrecord/ShortMessageService.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/sendrecord/impl/ShortMessageServiceImpl.java create mode 100644 ruoyi-system/src/main/resources/com/ruoyi/system/mapper/shortmessage/MsSmsSendHistoryRecordMapper.xml diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/sendrecord/ShortMessageController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/sendrecord/ShortMessageController.java new file mode 100644 index 0000000..9ebd03b --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/wisdomarbitrate/sendrecord/ShortMessageController.java @@ -0,0 +1,49 @@ +package com.ruoyi.web.controller.wisdomarbitrate.sendrecord; + +import com.ruoyi.common.annotation.Anonymous; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.wisdomarbitrate.domain.dto.sendrecord.SmsSendRecord; +import com.ruoyi.wisdomarbitrate.mapper.sendrecord.SmsRecordMapper; +import com.ruoyi.wisdomarbitrate.service.sendrecord.ShortMessageService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Date; + +@RestController +@RequestMapping("/shortMessage") +public class ShortMessageController { + @Autowired + private SmsRecordMapper smsRecordMapper; + @Autowired + private ShortMessageService shortMessageService; + + @Anonymous + @PostMapping("/updateSendContent") + public AjaxResult update(@RequestBody SmsSendRecord smsSendRecord) { + if (smsSendRecord != null && smsSendRecord.getId() != null) { + SmsSendRecord oldSendRecord = smsRecordMapper.selectById(smsSendRecord.getId()); + smsSendRecord.setUpdateTime(new Date()); + smsRecordMapper.updateSendContent(smsSendRecord); + shortMessageService.insertShortMessageHistoryRecord(oldSendRecord); + return AjaxResult.success(); + } + return AjaxResult.error("更新失败"); + } + + /** + * 重新发送短信 + */ + @Anonymous + @PostMapping("/reSendShortMessage") + public AjaxResult reSendShortMessage(@RequestBody SmsSendRecord smsSendRecord) { + if (smsSendRecord != null) { + AjaxResult result = shortMessageService.reSendShortMessage(smsSendRecord); + return result; + } + return AjaxResult.error("发送失败"); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/entity/shortmessage/MsSmsSendHistoryRecord.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/entity/shortmessage/MsSmsSendHistoryRecord.java new file mode 100644 index 0000000..b6ad8af --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/entity/shortmessage/MsSmsSendHistoryRecord.java @@ -0,0 +1,92 @@ +package com.ruoyi.system.domain.entity.shortmessage; + +import java.util.Date; +import javax.persistence.*; + +import lombok.*; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Table(name = "ms_sms_send_history_record") +public class MsSmsSendHistoryRecord { + @Id + @GeneratedValue(generator = "JDBC") + private Long id; + + /** + * 案件id + */ + @Column(name = "case_appli_id") + private Long caseAppliId; + + /** + * 案件编号 + */ + @Column(name = "case_num") + private String caseNum; + + /** + * 手机号 + */ + private String phone; + + /** + * 发送时间 + */ + @Column(name = "send_time") + private Date sendTime; + + /** + * 发送状态,0-失败,1-成功 + */ + @Column(name = "send_status") + private Long sendStatus; + + /** + * 发送内容 + */ + @Column(name = "send_content") + private String sendContent; + + /** + * 创建时间 + */ + @Column(name = "create_time") + private Date createTime; + + /** + * 更新时间 + */ + @Column(name = "update_time") + private Date updateTime; + + /** + * 创建人 + */ + @Column(name = "create_by") + private String createBy; + + /** + * 更新者 + */ + @Column(name = "update_by") + private String updateBy; + + /** + * 发送短信唯一标识 + */ + private String sid; + + /** + * 父类短信id + */ + @Column(name = "parent_id") + private Long parentId; + + /** + * 失败原因 + */ + private String reason; +} \ No newline at end of file diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/shortmessage/MsSmsSendHistoryRecordMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/shortmessage/MsSmsSendHistoryRecordMapper.java new file mode 100644 index 0000000..d4152fc --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/shortmessage/MsSmsSendHistoryRecordMapper.java @@ -0,0 +1,7 @@ +package com.ruoyi.system.mapper.shortmessage; + +import com.ruoyi.system.domain.entity.shortmessage.MsSmsSendHistoryRecord; +import tk.mybatis.mapper.common.Mapper; + +public interface MsSmsSendHistoryRecordMapper extends Mapper { +} \ No newline at end of file diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/sendrecord/SmsRecordMapper.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/sendrecord/SmsRecordMapper.java index f4483d0..4ad6fe3 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/sendrecord/SmsRecordMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/mapper/sendrecord/SmsRecordMapper.java @@ -21,4 +21,15 @@ public interface SmsRecordMapper { int batchSaveSmsSendRecord(@Param("list") List smsSendRecordList); SmsSendRecord selectBySId(@Param("sid") String sid); void updateStatus (SmsSendRecord smsSendRecord); + + /** + * 更新短信发送内容 + * @param smsSendRecord + * @return + */ + int updateSendContent(SmsSendRecord smsSendRecord); + /** + * 通过id查询短信发送记录 + */ + SmsSendRecord selectById(@Param("id") Long id); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/sendrecord/ShortMessageService.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/sendrecord/ShortMessageService.java new file mode 100644 index 0000000..bd9f290 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/sendrecord/ShortMessageService.java @@ -0,0 +1,19 @@ +package com.ruoyi.wisdomarbitrate.service.sendrecord; + +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.system.domain.entity.shortmessage.MsSmsSendHistoryRecord; +import com.ruoyi.system.mapper.shortmessage.MsSmsSendHistoryRecordMapper; +import com.ruoyi.wisdomarbitrate.domain.dto.sendrecord.SmsSendRecord; + +public interface ShortMessageService { + /** + * 新增发送历史记录 + */ + void insertShortMessageHistoryRecord(SmsSendRecord smsSendRecord); + + /** + * 重新发送短信 + * @param smsSendRecord + */ + AjaxResult reSendShortMessage(SmsSendRecord smsSendRecord); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/sendrecord/impl/ShortMessageServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/sendrecord/impl/ShortMessageServiceImpl.java new file mode 100644 index 0000000..16290df --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/wisdomarbitrate/service/sendrecord/impl/ShortMessageServiceImpl.java @@ -0,0 +1,54 @@ +package com.ruoyi.wisdomarbitrate.service.sendrecord.impl; + +import cn.hutool.json.JSONObject; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.SMSStatusEnum; +import com.ruoyi.common.utils.SmsUtils; +import com.ruoyi.system.domain.entity.shortmessage.MsSmsSendHistoryRecord; +import com.ruoyi.system.mapper.shortmessage.MsSmsSendHistoryRecordMapper; +import com.ruoyi.wisdomarbitrate.domain.dto.sendrecord.SmsSendRecord; +import com.ruoyi.wisdomarbitrate.service.sendrecord.ShortMessageService; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +public class ShortMessageServiceImpl implements ShortMessageService { + @Autowired + MsSmsSendHistoryRecordMapper msSmsSendHistoryRecordMapper; + /** + * 新增发送历史记录 + * + * @param smsSendRecord + */ + @Override + public void insertShortMessageHistoryRecord(SmsSendRecord smsSendRecord) { + if(smsSendRecord!=null){ + MsSmsSendHistoryRecord historyRecord=new MsSmsSendHistoryRecord(); + BeanUtils.copyProperties(smsSendRecord,historyRecord); + historyRecord.setId(null); + historyRecord.setParentId(smsSendRecord.getId()); + msSmsSendHistoryRecordMapper.insert(historyRecord); + } + } + + /** + * 重新发送短信 + * + * @param smsSendRecord + */ + @Override + public AjaxResult reSendShortMessage(SmsSendRecord smsSendRecord) { + SmsUtils.SendSmsRequest request = new SmsUtils.SendSmsRequest(); + //TODO 模版id待替换 + request.setTemplateId("1955047"); + request.setPhone(smsSendRecord.getPhone()); + request.setTemplateParamSet(new String[]{ smsSendRecord.getSendContent()}); + JSONObject resultObj = SmsUtils.sendSms(request); + if(resultObj.get("status")!=null && !resultObj.get("status").equals(SMSStatusEnum.FAIL.getCode())){ + return AjaxResult.success("短信发送成功"); + }else { + return AjaxResult.warn("短信发送失败"); + } + } +} diff --git a/ruoyi-system/src/main/resources/com/ruoyi/system/mapper/shortmessage/MsSmsSendHistoryRecordMapper.xml b/ruoyi-system/src/main/resources/com/ruoyi/system/mapper/shortmessage/MsSmsSendHistoryRecordMapper.xml new file mode 100644 index 0000000..03b13cb --- /dev/null +++ b/ruoyi-system/src/main/resources/com/ruoyi/system/mapper/shortmessage/MsSmsSendHistoryRecordMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/sendrecord/SmsRecordMapper.xml b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/sendrecord/SmsRecordMapper.xml index ba9d379..e823cdd 100644 --- a/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/sendrecord/SmsRecordMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/wisdomarbitrate/sendrecord/SmsRecordMapper.xml @@ -91,5 +91,13 @@ update ms_sms_send_record set send_status= #{sendStatus} ,reason=#{reason} where sid=#{sid} + + update ms_sms_send_record + set send_content= #{sendContent} ,update_time=#{updateTime} where id=#{id} + + + diff --git a/tkgenerator/src/main/resources/generator/config.properties b/tkgenerator/src/main/resources/generator/config.properties index c0281fb..4fbfe55 100644 --- a/tkgenerator/src/main/resources/generator/config.properties +++ b/tkgenerator/src/main/resources/generator/config.properties @@ -3,10 +3,10 @@ jdbc.url=jdbc:mysql://121.40.189.20:3306/mediation_system?serverTimezone=Asia/Sh jdbc.user=root jdbc.password=YMzc157# #目标模块项目路径 -targetprojectpath=E:/WorkCode/SH/Mediation-Backend/ruoyi-system +targetprojectpath=D:/WorkCode/TJ/Mediation-Backend/ruoyi-system #模块名称 -moduleName=flow +moduleName=shortmessage #表名 -tableName=ms_case_flow +tableName=ms_sms_send_history_record #主键 premaryId=id -- 2.54.0