From e08b0977b9bf2f742e8672a16380e7f234a498d1 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期一, 19 八月 2024 17:24:29 +0800 Subject: [PATCH] 短信记录,故障短信发送 --- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/CodeController.java | 53 +++++++++++++++++ ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TFaultMessageController.java | 5 + ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java | 25 -------- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java | 2 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TFaultMessageServiceImpl.java | 31 ++++++++++ ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TChargingPileNotification.java | 13 --- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TFaultMessageService.java | 6 ++ ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/MsgUtil.java | 2 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TChargingPileNotificationService.java | 9 +++ ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileNotificationServiceImpl.java | 20 ++++++ 10 files changed, 126 insertions(+), 40 deletions(-) diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TChargingPileNotification.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TChargingPileNotification.java index 23a5d14..3bd2b7e 100644 --- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TChargingPileNotification.java +++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TChargingPileNotification.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; +import com.ruoyi.common.core.web.domain.BasePojo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -24,7 +25,7 @@ @EqualsAndHashCode(callSuper = false) @TableName("t_charging_pile_notification") @ApiModel(value="TChargingPileNotification对象", description="") -public class TChargingPileNotification implements Serializable { +public class TChargingPileNotification extends BasePojo { private static final long serialVersionUID = 1L; @@ -51,15 +52,5 @@ @ApiModelProperty(value = "通知内容") @TableField("content") private String content; - - @ApiModelProperty(value = "发送时间") - @TableField("create_time") - private LocalDateTime createTime; - - @ApiModelProperty(value = "删除状态(0=否,1=是)") - @TableField("del_flag") - @TableLogic - private Integer delFlag; - } diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java index 7f333d2..fd0347b 100644 --- a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java @@ -51,10 +51,6 @@ private SysLoginService sysLoginService; @Resource private SysUserClient userClient; - @Autowired - private RedisService redisService; - @Autowired - private AppUserClient appUserClient; @@ -127,27 +123,6 @@ // 用户注册 sysLoginService.register(registerBody.getUsername(), registerBody.getPassword(), request); return R.ok(); - } - - /** - * 获取验证码 - * - * @param phone 手机号 - * @return 结果 - */ - @ApiOperation(value = "获取验证码",notes = "获取验证码",tags = {"更换手机号获取验证码"}) - @GetMapping("getCode") - public AjaxResult getCode(@RequestParam("phone") String phone) - { - TAppUser appUser = appUserClient.selectByPhone(phone).getData(); - if (Objects.nonNull(appUser)){ - return AjaxResult.error("该手机号已绑定账号"); - } - String code = MsgUtil.createCode(); - redisService.setCacheObject(phone+Constants.APPLET,code,5L, TimeUnit.MINUTES); - String reqStr = MsgUtil.codeMsg(phone, code); - String result = HttpUtils.post(MsgConstants.SEND_URL, reqStr); - return AjaxResult.success(result); } } diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/MsgUtil.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/MsgUtil.java index 188900d..54eb150 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/MsgUtil.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/MsgUtil.java @@ -112,7 +112,7 @@ return encode; } - /** + /** phone 单词可拼接5000个号码 * 桩故障(自动/手动):检测到【电站1】【编号】号桩设备离线,请及时查看处理! * @param phone 手机号 * @param site 站点名称 diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/CodeController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/CodeController.java new file mode 100644 index 0000000..14b8403 --- /dev/null +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/CodeController.java @@ -0,0 +1,53 @@ +package com.ruoyi.chargingPile.controller; + +import com.ruoyi.account.api.feignClient.AppUserClient; +import com.ruoyi.account.api.model.TAppUser; +import com.ruoyi.chargingPile.api.model.TChargingPile; +import com.ruoyi.chargingPile.service.TChargingPileNotificationService; +import com.ruoyi.common.core.constant.Constants; +import com.ruoyi.common.core.constant.MsgConstants; +import com.ruoyi.common.core.utils.HttpUtils; +import com.ruoyi.common.core.utils.MsgUtil; +import com.ruoyi.common.core.web.domain.AjaxResult; +import com.ruoyi.common.redis.service.RedisService; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import java.util.Objects; +import java.util.concurrent.TimeUnit; + +public class CodeController { + + @Autowired + private RedisService redisService; + @Autowired + private AppUserClient appUserClient; + @Autowired + private TChargingPileNotificationService chargingPileNotificationService; + + /** + * 获取验证码 + * + * @param phone 手机号 + * @return 结果 + */ + @ApiOperation(value = "获取验证码",notes = "获取验证码",tags = {"更换手机号获取验证码"}) + @GetMapping("getCode") + public AjaxResult getCode(@RequestParam("phone") String phone) + { + TAppUser appUser = appUserClient.selectByPhone(phone).getData(); + if (Objects.nonNull(appUser)){ + return AjaxResult.error("该手机号已绑定账号"); + } + String code = MsgUtil.createCode(); + redisService.setCacheObject(phone+ Constants.APPLET,code,5L, TimeUnit.MINUTES); + String reqStr = MsgUtil.codeMsg(phone, code); + String result = HttpUtils.post(MsgConstants.SEND_URL, reqStr); + // 记录短信发送 + chargingPileNotificationService.saveData(1,null,null,phone,"验证码:"+code+",用于更换手机号。请勿转发。"); + return AjaxResult.success(result); + } + +} diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java index 8ddb212..6bd43d4 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java @@ -156,7 +156,7 @@ @ResponseBody - @PostMapping("/getSiteList") + @PostMapping("/addSite") @ApiOperation(value = "添加站点", tags = {"管理后台-站点管理"}) public AjaxResult addSite(@RequestBody Site site){ return siteService.addSite(site); diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TFaultMessageController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TFaultMessageController.java index 47190e3..9acebda 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TFaultMessageController.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TFaultMessageController.java @@ -42,8 +42,9 @@ @Log(title = "添加故障报修管理", businessType = BusinessType.INSERT,operatorType = OperatorType.MOBILE) @ApiOperation(tags = {"小程序-故障报修"},value = "添加故障报修管理") @PostMapping(value = "/add") - public AjaxResult<Boolean> add(@Validated @RequestBody TFaultMessage dto) { - return AjaxResult.ok(faultMessageService.save(dto)); + public AjaxResult<String> add(@Validated @RequestBody TFaultMessage dto) { + faultMessageService.add(dto); + return AjaxResult.success(); } diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TChargingPileNotificationService.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TChargingPileNotificationService.java index 28287dd..aa630d2 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TChargingPileNotificationService.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TChargingPileNotificationService.java @@ -23,4 +23,13 @@ * @return */ PageInfo<TChargingPileNotification> chargingPileNotificationPageList(Integer siteId, BasePage basePage); + + /** + * + * @param type 1=验证码 2=停车占位 3=充电结束 4=桩故障 + * @param phone 手机号 + * @param data 内容 + */ + void saveData(Integer type,Integer siteId,Integer chargingPileId, String phone, String data); + } diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TFaultMessageService.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TFaultMessageService.java index 3605b47..62fc81e 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TFaultMessageService.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/TFaultMessageService.java @@ -13,4 +13,10 @@ */ public interface TFaultMessageService extends IService<TFaultMessage> { + /** + * 添加故障报修管理 + * @param dto + * @return + */ + void add(TFaultMessage dto); } diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileNotificationServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileNotificationServiceImpl.java index b38a11d..8297e9e 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileNotificationServiceImpl.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileNotificationServiceImpl.java @@ -84,4 +84,24 @@ pageInfo.setRecords(list); return pageInfo; } + + @Override + public void saveData(Integer type,Integer siteId,Integer chargingPileId, String phone, String data) { + TChargingPileNotification notification = new TChargingPileNotification(); + switch (type){ + case 1: + // 验证码 + notification.setPhone(phone); + notification.setContent(data); + break; + default: + // 停车占位 + notification.setSiteId(siteId); + notification.setChargingPileId(chargingPileId); + notification.setPhone(phone); + notification.setContent(data); + break; + } + } + } diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TFaultMessageServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TFaultMessageServiceImpl.java index c5e9e20..01dff45 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TFaultMessageServiceImpl.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TFaultMessageServiceImpl.java @@ -1,9 +1,18 @@ package com.ruoyi.chargingPile.service.impl; +import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.chargingPile.api.model.Site; +import com.ruoyi.chargingPile.api.model.TChargingPile; import com.ruoyi.chargingPile.api.model.TFaultMessage; import com.ruoyi.chargingPile.mapper.TFaultMessageMapper; +import com.ruoyi.chargingPile.service.ISiteService; +import com.ruoyi.chargingPile.service.TChargingPileNotificationService; +import com.ruoyi.chargingPile.service.TChargingPileService; import com.ruoyi.chargingPile.service.TFaultMessageService; +import com.ruoyi.common.core.utils.MsgUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** @@ -14,7 +23,29 @@ * @author xiaochen * @since 2024-08-08 */ +@Slf4j @Service public class TFaultMessageServiceImpl extends ServiceImpl<TFaultMessageMapper, TFaultMessage> implements TFaultMessageService { + @Autowired + private ISiteService siteService; + @Autowired + private TChargingPileService chargingPileService; + @Autowired + private TChargingPileNotificationService chargingPileNotificationService; + + @Override + public void add(TFaultMessage dto) { + // 故障短信提醒 + Site site = siteService.getById(dto.getSiteId()); + TChargingPile chargingPile = chargingPileService.getById(dto.getChargingPileId()); + String siteName = site.getName(); + String result = MsgUtil.faultMsg(site.getPhone(), site.getName(), chargingPile.getNumber() + ""); + log.info("故障短信提醒:{}",result); + if(siteName.length()>10){ + siteName = siteName.substring(0,10); + } + chargingPileNotificationService.saveData(4,dto.getSiteId(),dto.getChargingPileId(),site.getPhone(),"检测到"+siteName+"..."+chargingPile.getNumber()+"号桩设备离线,请及时查看处理!"); + this.save(dto); + } } -- Gitblit v1.7.1