ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/SendMessageDTO.java
New file @@ -0,0 +1,18 @@ package com.ruoyi.account.api.dto; import io.swagger.annotations.ApiModel; import lombok.Data; import java.io.Serializable; @Data @ApiModel(value = "发送短信dto类") public class SendMessageDTO implements Serializable { private String phone; private String code; private String site; private String chargeGun; private Integer type;// 1 codeMsg 2 applyCodeMsg 3 faultMsg } ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserFallbackFactory.java
@@ -1,6 +1,7 @@ package com.ruoyi.account.api.factory; import com.ruoyi.account.api.dto.GiveVipDto; import com.ruoyi.account.api.dto.SendMessageDTO; import com.ruoyi.account.api.feignClient.AppUserClient; import com.ruoyi.account.api.model.TAppCoupon; import com.ruoyi.account.api.model.TAppUser; @@ -91,6 +92,11 @@ public R<String> getWXToken() { return R.fail("获取微信token失败:" + throwable.getMessage()); } @Override public R<String> sendMessage(SendMessageDTO sendMessageDTO) { return R.fail("短信发送失败:" + throwable.getMessage()); } }; } } ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java
@@ -1,6 +1,7 @@ package com.ruoyi.account.api.feignClient; import com.ruoyi.account.api.dto.GiveVipDto; import com.ruoyi.account.api.dto.SendMessageDTO; import com.ruoyi.account.api.model.TAppCoupon; import com.ruoyi.account.api.model.TAppUser; import com.ruoyi.account.api.model.TAppUserAddress; @@ -93,4 +94,11 @@ */ @PostMapping("/wxLogin/getWXToken") R<String> getWXToken(); /** * 短信发送 * @return */ @PostMapping("/t-app-user/sendMessage") R<String> sendMessage(@RequestBody SendMessageDTO sendMessageDTO); } ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
@@ -16,12 +16,11 @@ import com.ruoyi.account.util.carBrand.CarBrandUtil; import com.ruoyi.account.wx.model.WeixinProperties; import com.ruoyi.common.core.constant.Constants; import com.ruoyi.common.core.constant.MsgConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.dto.PointChangeDto; import com.ruoyi.common.core.enums.status.AppUserStatusEnum; import com.ruoyi.common.core.utils.JwtUtils; import com.ruoyi.common.core.utils.OrderCodeUtil; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.*; import com.ruoyi.common.core.utils.bean.BeanUtils; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.domain.BasePojo; @@ -1183,5 +1182,24 @@ appUserService.updateById(appUser); return AjaxResult.success(); } @PostMapping("/sendMessage") public R<String> sendMessage(@RequestBody SendMessageDTO sendMessageDTO){ switch (sendMessageDTO.getType()){ case 1: String reqStr1 = MsgUtil.codeMsg(sendMessageDTO.getPhone(), sendMessageDTO.getCode()); String result1 = HttpUtils.post(MsgConstants.SEND_URL, reqStr1); return R.ok(result1); case 2: String reqStr2 = MsgUtil.applyCodeMsg(sendMessageDTO.getPhone(), sendMessageDTO.getCode()); String result2 = HttpUtils.post(MsgConstants.SEND_URL, reqStr2); return R.ok(result2); default: String reqStr3 = MsgUtil.faultMsg(sendMessageDTO.getPhone(), sendMessageDTO.getSite(), sendMessageDTO.getChargeGun()); String result3 = HttpUtils.post(MsgConstants.SEND_URL, reqStr3); return R.ok(result3); } } } ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/CodeController.java
@@ -1,5 +1,6 @@ package com.ruoyi.chargingPile.controller; import com.ruoyi.account.api.dto.SendMessageDTO; import com.ruoyi.account.api.feignClient.AppUserClient; import com.ruoyi.account.api.model.TAppUser; import com.ruoyi.chargingPile.api.model.TChargingPile; @@ -48,8 +49,13 @@ } String code = MsgUtil.createCode(); redisService.setCacheObject(phone+ Constants.UPDATE_PHONE,code,5L, TimeUnit.MINUTES); String reqStr = MsgUtil.codeMsg(phone, code); String result = HttpUtils.post(MsgConstants.SEND_URL, reqStr); SendMessageDTO sendMessageDTO = new SendMessageDTO(); sendMessageDTO.setPhone(phone); sendMessageDTO.setCode(code); sendMessageDTO.setType(1); String result = appUserClient.sendMessage(sendMessageDTO).getData(); // String reqStr = MsgUtil.codeMsg(phone, code); // String result = HttpUtils.post(MsgConstants.SEND_URL, reqStr); // 记录短信发送 chargingPileNotificationService.saveData(1,-1,-1,phone,"验证码:"+code+",用于更换手机号。请勿转发。"); return AjaxResult.success(result); @@ -67,8 +73,13 @@ { String code = MsgUtil.createCode(); redisService.setCacheObject(phone+ Constants.APPLY_CHARGING,code,5L, TimeUnit.MINUTES); String reqStr = MsgUtil.applyCodeMsg(phone, code); String result = HttpUtils.post(MsgConstants.SEND_URL, reqStr); SendMessageDTO sendMessageDTO = new SendMessageDTO(); sendMessageDTO.setPhone(phone); sendMessageDTO.setCode(code); sendMessageDTO.setType(2); String result = appUserClient.sendMessage(sendMessageDTO).getData(); // String reqStr = MsgUtil.applyCodeMsg(phone, code); // String result = HttpUtils.post(MsgConstants.SEND_URL, reqStr); // 记录短信发送 chargingPileNotificationService.saveData(1,-1,-1,phone,"验证码:"+code+",用于申请建桩。请勿转发。"); return AjaxResult.success(result); ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TFaultMessageServiceImpl.java
@@ -2,6 +2,8 @@ import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.account.api.dto.SendMessageDTO; import com.ruoyi.account.api.feignClient.AppUserClient; import com.ruoyi.chargingPile.api.feignClient.PartnerClient; import com.ruoyi.chargingPile.api.model.Site; import com.ruoyi.chargingPile.api.model.TChargingPile; @@ -63,6 +65,8 @@ @Resource private SysUserRoleClient sysUserRoleClient; @Resource private AppUserClient appUserClient; @Override public void add(TFaultMessage dto) { @@ -70,8 +74,14 @@ Site site = siteService.getById(dto.getSiteId()); TChargingPile chargingPile = chargingPileService.getById(dto.getChargingPileId()); String siteName = site.getName(); String reqStr = MsgUtil.faultMsg(site.getPhone(), site.getName(), chargingPile.getNumber() + ""); String result = HttpUtils.post(MsgConstants.SEND_URL, reqStr); // String reqStr = MsgUtil.faultMsg(site.getPhone(), site.getName(), chargingPile.getNumber() + ""); // String result = HttpUtils.post(MsgConstants.SEND_URL, reqStr); SendMessageDTO sendMessageDTO = new SendMessageDTO(); sendMessageDTO.setPhone(site.getPhone()); sendMessageDTO.setCode(site.getName()); sendMessageDTO.setChargeGun(chargingPile.getNumber() + ""); sendMessageDTO.setType(3); String result = appUserClient.sendMessage(sendMessageDTO).getData(); log.info("故障短信提醒:{}",result); if(siteName.length()>10){ siteName = siteName.substring(0,10); ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TRepairServiceImpl.java
@@ -1,6 +1,8 @@ package com.ruoyi.chargingPile.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.account.api.dto.SendMessageDTO; import com.ruoyi.account.api.feignClient.AppUserClient; import com.ruoyi.chargingPile.api.feignClient.SiteClient; import com.ruoyi.chargingPile.api.model.Site; import com.ruoyi.chargingPile.api.model.TChargingPile; @@ -64,6 +66,8 @@ @Resource private SysUserRoleClient sysUserRoleClient; @Resource private AppUserClient appUserClient; @@ -108,8 +112,14 @@ Site site = siteService.getById(dto.getSiteId()); TChargingPile chargingPile = chargingPileService.getById(dto.getChargingPileId()); String siteName = site.getName(); String reqStr = MsgUtil.faultMsg(site.getPhone(), site.getName(), chargingPile.getNumber() + ""); String result = HttpUtils.post(MsgConstants.SEND_URL, reqStr); // String reqStr = MsgUtil.faultMsg(site.getPhone(), site.getName(), chargingPile.getNumber() + ""); // String result = HttpUtils.post(MsgConstants.SEND_URL, reqStr); SendMessageDTO sendMessageDTO = new SendMessageDTO(); sendMessageDTO.setPhone(site.getPhone()); sendMessageDTO.setCode(site.getName()); sendMessageDTO.setChargeGun(chargingPile.getNumber() + ""); sendMessageDTO.setType(3); String result = appUserClient.sendMessage(sendMessageDTO).getData(); log.info("故障短信提醒:{}",result); if(siteName.length()>10){ siteName = siteName.substring(0,10);