diff --git a/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/SmsService.java b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/SmsService.java index 3a335b40..957e310f 100644 --- a/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/SmsService.java +++ b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/SmsService.java @@ -4,17 +4,20 @@ import com.xhpc.common.api.factory.SmsFallbackFactory; import com.xhpc.common.core.constant.ServiceNameConstants; import com.xhpc.common.core.domain.R; import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; +import java.util.Map; + /** * program: ruoyi * User: HongYun * Date:2021-08-16 16 */ -@FeignClient(contextId = "smsService",value = ServiceNameConstants.XHPC_GENERAL, fallbackFactory = SmsFallbackFactory.class) +@FeignClient(contextId = "smsService", value = ServiceNameConstants.XHPC_GENERAL, fallbackFactory = SmsFallbackFactory.class) public interface SmsService { - @GetMapping("/sms/send") - R sendNotice(@RequestParam(value = "phone") String phone , @RequestParam(value = "content") String content); + @PostMapping("/sms/send") + R sendNotice(@RequestParam(value = "phone") String phone, @RequestParam(value = "content") String content, Map paramMap); + } diff --git a/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/factory/SmsFallbackFactory.java b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/factory/SmsFallbackFactory.java index 6a19eedf..86edcea9 100644 --- a/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/factory/SmsFallbackFactory.java +++ b/xhpc-modules/xhpc-common/src/main/java/com/xhpc/common/api/factory/SmsFallbackFactory.java @@ -7,6 +7,8 @@ import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; +import java.util.Map; + /** * program: ruoyi * User: HongYun @@ -21,9 +23,9 @@ public class SmsFallbackFactory implements FallbackFactory { logger.error("短信发送服务调用失败:{} //fallback", cause.getMessage()); return new SmsService() { @Override - public R sendNotice(String phone, String content) { + public R sendNotice(String phone, String content, Map paramMap) { - return R.fail("短信发送失败:" +cause.getMessage()); + return R.fail("短信发送失败:" + cause.getMessage()); } }; } diff --git a/xhpc-modules/xhpc-general/pom.xml b/xhpc-modules/xhpc-general/pom.xml index 737e8ac6..859ec3dd 100644 --- a/xhpc-modules/xhpc-general/pom.xml +++ b/xhpc-modules/xhpc-general/pom.xml @@ -20,6 +20,13 @@ + + + com.aliyun + dysmsapi20170525 + 2.0.5 + + com.alibaba.cloud diff --git a/xhpc-modules/xhpc-general/src/main/java/com/xhpc/general/controller/XhpcSmsController.java b/xhpc-modules/xhpc-general/src/main/java/com/xhpc/general/controller/XhpcSmsController.java index 14aff71d..8b343e87 100644 --- a/xhpc-modules/xhpc-general/src/main/java/com/xhpc/general/controller/XhpcSmsController.java +++ b/xhpc-modules/xhpc-general/src/main/java/com/xhpc/general/controller/XhpcSmsController.java @@ -5,10 +5,7 @@ import com.xhpc.common.core.web.domain.AjaxResult; import com.xhpc.common.core.web.page.TableDataInfo; import com.xhpc.general.service.IXhpcSmsService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; @@ -28,22 +25,69 @@ public class XhpcSmsController extends BaseController { * 注册获取手机号验证码 */ @GetMapping(value = "/getLogonPhoneCode") - public AjaxResult getLogonPhoneCode(@RequestParam("phone") String phone) - { - return xhpcSmsService.getLogonPhoneCode(phone); + public AjaxResult getLogonPhoneCode(@RequestParam("phone") String phone) throws Exception { + + String signatureName = null; + String templateId = null; + + signatureName = "小华充电"; + templateId = "SMS_226786362"; + + return xhpcSmsService.getLogonPhoneCode(phone, signatureName, templateId); } @GetMapping(value = "/getList") - public TableDataInfo getList(Integer status, String phone){ + public TableDataInfo getList(Integer status, String phone) { + startPage(); List> list = xhpcSmsService.getList(status, phone); return getDataTable(list); } - @GetMapping(value = "/send") - public void send(@RequestParam(value = "phone") String phone ,@RequestParam(value = "content") String content){ + @PostMapping(value = "/send") + public void send(@RequestParam(required = false) String phone, String content, @RequestBody Map paramMap) { - xhpcSmsService.sendNotice(phone, content); + + String signatureName = null; + String templateId = null; + + //方便使用PostMan调用接口测试 + if (phone != null && content != null) { + //判断内容是什么,调用相应的模板 + if (content.contains("电量为")) { + signatureName = "小华充电"; + templateId = "SMS_226945037"; + } else if (content.contains("总费用为")) { + signatureName = "小华充电"; + templateId = "SMS_226786374"; + } else if (content.contains("余额小于")) { + signatureName = "小华充电"; + templateId = "SMS_226935795"; + } else if (content.contains("设定的SOC")) { + signatureName = "小华充电"; + templateId = "SMS_226826374"; + } + } else { + phone = paramMap.get("phone"); + content = paramMap.get("content"); + paramMap.remove("phone"); + paramMap.remove("content"); + //判断内容是什么,调用相应的模板 + if (content.contains("电量为")) { + signatureName = "小华充电"; + templateId = "SMS_226945037"; + } else if (content.contains("总费用为")) { + signatureName = "小华充电"; + templateId = "SMS_226786374"; + } else if (content.contains("余额小于")) { + signatureName = "小华充电"; + templateId = "SMS_226935795"; + } else if (content.contains("设定的SOC")) { + signatureName = "小华充电"; + templateId = "SMS_226826374"; + } + } + xhpcSmsService.sendNotice(phone, signatureName, templateId, paramMap); } } diff --git a/xhpc-modules/xhpc-general/src/main/java/com/xhpc/general/service/IXhpcSmsService.java b/xhpc-modules/xhpc-general/src/main/java/com/xhpc/general/service/IXhpcSmsService.java index 093bd5ef..5f92e39f 100644 --- a/xhpc-modules/xhpc-general/src/main/java/com/xhpc/general/service/IXhpcSmsService.java +++ b/xhpc-modules/xhpc-general/src/main/java/com/xhpc/general/service/IXhpcSmsService.java @@ -13,30 +13,37 @@ public interface IXhpcSmsService { /** - * 登陆回验证码 + * 注册获取手机号验证码 + * + * @param templateId + * @param signatureName * @param phone * @return */ - AjaxResult getLogonPhoneCode(String phone); + AjaxResult getLogonPhoneCode(String phone, String signatureName, String templateId); List> getList(Integer status,String phone); /** * 发送短信通用方法 * - * @param phone 手机号 - * @param content 内容 - * @param random 验证码6位 不为空则是获取验证码 + * @param phone 手机号 + * @param content 内容 + * @param random 验证码6位 不为空则是获取验证码 + * @param signatureName + * @param templateId + * @param paramMap 模板中的参数 * @return */ - AjaxResult send(String phone, String content, String random); + AjaxResult send(String phone, String content, String random, String signatureName, String templateId, Map paramMap); /** - * Send a notice, when user's account is less than 5 yuan. - * @param phone - * @param content + * 发送通知短信方法 + * + * @param phone 手机号 + * @param signatureName 签名 + * @param templateId 模板ID + * @param paramMap 模板中的参数 */ - void sendNotice(String phone,String content); - - + void sendNotice(String phone, String signatureName, String templateId, Map paramMap); } diff --git a/xhpc-modules/xhpc-general/src/main/java/com/xhpc/general/service/XhpcSmsServiceImpl.java b/xhpc-modules/xhpc-general/src/main/java/com/xhpc/general/service/XhpcSmsServiceImpl.java index 3c9539bc..9cad7741 100644 --- a/xhpc-modules/xhpc-general/src/main/java/com/xhpc/general/service/XhpcSmsServiceImpl.java +++ b/xhpc-modules/xhpc-general/src/main/java/com/xhpc/general/service/XhpcSmsServiceImpl.java @@ -1,15 +1,21 @@ package com.xhpc.general.service; -import com.alibaba.fastjson.JSONObject; -import com.xhpc.common.core.utils.HttpUtils; +import cn.hutool.json.JSONUtil; +import com.aliyun.dysmsapi20170525.Client; +import com.aliyun.dysmsapi20170525.models.QuerySendDetailsRequest; +import com.aliyun.dysmsapi20170525.models.SendSmsRequest; +import com.aliyun.dysmsapi20170525.models.SendSmsResponse; +import com.aliyun.dysmsapi20170525.models.SendSmsResponseBody; import com.xhpc.common.core.web.domain.AjaxResult; import com.xhpc.common.redis.service.RedisService; import com.xhpc.general.domain.XhpcSms; import com.xhpc.general.mapper.XhpcSmsMapper; +import com.xhpc.general.util.sms.SmsUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.PostConstruct; +import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.TimeUnit; import java.util.regex.Matcher; @@ -20,14 +26,11 @@ import java.util.regex.Pattern; * @date 2021/7/30 18:50 */ @Service -public class XhpcSmsServiceImpl implements IXhpcSmsService{ +public class XhpcSmsServiceImpl implements IXhpcSmsService { public static RedisService REDIS; - public static final String URL = "http://sms.daiyicloud.com/sms/apiSend/add"; - public static final String ACCOUNT ="scxhkj"; - public static final String PASSWD ="6A9628548C4CBECCE80A2479CD77679F"; - public static final String PRODUCTLD ="20191130000001"; - + public static final String accessKeyId = "LTAI5tBWjnuQGxGicnThwMF1"; + public static final String accessKeySecret = "b0WNtFYtWyTEkZzcr2WOAPoZg6w2Xu"; @Autowired private RedisService redisService; @@ -35,16 +38,20 @@ public class XhpcSmsServiceImpl implements IXhpcSmsService{ private XhpcSmsMapper xhpcSmsMapper; @PostConstruct - public void init(){ - REDIS =redisService; + public void init() { + + REDIS = redisService; } @Override - public AjaxResult getLogonPhoneCode(String phone) { + public AjaxResult getLogonPhoneCode(String phone, String signatureName, String templateId) { + String random = getRandom(); - String conten ="【小华充电】您的验证码是:"+random+",有效期为5分钟。如非本人操作,可不用理会。"; - return send(phone, conten, random); + HashMap paramMap = new HashMap<>(); + paramMap.put("code", random); + String content = null; + return send(phone, content, random, signatureName, templateId, paramMap); } @Override @@ -54,7 +61,7 @@ public class XhpcSmsServiceImpl implements IXhpcSmsService{ } @Override - public AjaxResult send(String phone, String content, String random) { + public AjaxResult send(String phone, String content, String random, String signatureName, String templateId, Map paramMap) { //调用接口 String pattern = "^([1][0-9]{10})"; @@ -68,34 +75,38 @@ public class XhpcSmsServiceImpl implements IXhpcSmsService{ XhpcSms xhpcSms =new XhpcSms(); try { //用户使用的Key - String pvToken = "pvToken:"+phone; + String pvToken = "pvToken:" + phone; //用户频繁调用的判断的Key - String token = "token:"+phone; + String token = "token:" + phone; String cacheObject = REDIS.getCacheObject(token); - if(cacheObject !=null){ - return AjaxResult.error("1012","操作过于频繁,请于1分钟后重试"); + if (cacheObject != null) { + return AjaxResult.error("1012", "操作过于频繁,请于1分钟后重试"); } - String req = HttpUtils.postFormData(URL, null, assembleSmsReq(phone,content)); - JSONObject json = JSONObject.parseObject(req); - if(!"".equals(random) && random !=null){ + + //使用阿里云发送通知短信 + Map neededParam = aliyunSmsNotice(phone, signatureName, templateId, paramMap); + + if (!"".equals(random) && random != null) { xhpcSms.setCode(random); } xhpcSms.setPhone(phone); - xhpcSms.setContent(content); + xhpcSms.setContent(neededParam.get("templateContent")); xhpcSms.setCreateTime(new Date()); - xhpcSms.setRemark(req); - String ok = json.getString("ok"); - if("true".equals(ok)){ - REDIS.setCacheObject(pvToken,random,300L, TimeUnit.SECONDS); + xhpcSms.setRemark(neededParam.get("jsonResult")); + + //判断发送结果 + String statusCode = neededParam.get("statusCode"); + if (statusCode.equals("OK")) { + REDIS.setCacheObject(pvToken, random, 300L, TimeUnit.SECONDS); //1分钟有效时间设置,防止用户频繁调用 - REDIS.setCacheObject(token,random,60L, TimeUnit.SECONDS); + REDIS.setCacheObject(token, random, 60L, TimeUnit.SECONDS); xhpcSms.setStatus(0); xhpcSmsMapper.addXhpcSms(xhpcSms); return AjaxResult.success(); - }else{ + } else { xhpcSms.setStatus(1); xhpcSmsMapper.addXhpcSms(xhpcSms); - return AjaxResult.error(1012,"服务器繁忙,请稍后再试"); + return AjaxResult.error(1012, "服务器繁忙,请稍后再试"); } } catch (Exception e) { //e.printStackTrace(); @@ -105,16 +116,6 @@ public class XhpcSmsServiceImpl implements IXhpcSmsService{ } } - private static HashMap assembleSmsReq(String phone, String content) { - HashMap params = new HashMap<>(); - params.put("account", ACCOUNT); - params.put("password", PASSWD); - params.put("content", content); - params.put("mobiles", phone); - params.put("productId", PRODUCTLD); - return params; - } - private String getRandom(){ Random rnd = new Random(); int i = rnd.nextInt(999999); @@ -125,20 +126,28 @@ public class XhpcSmsServiceImpl implements IXhpcSmsService{ } @Override - public void sendNotice(String phone, String content) { + public void sendNotice(String phone, String signatureName, String templateId, Map paramMap) { XhpcSms xhpcSms = new XhpcSms(); try { - String req = HttpUtils.postFormData(URL,null,assembleSmsReq(phone,content)); - JSONObject json = JSONObject.parseObject(req); + + //使用阿里云发送通知短信 + Map neededParam = aliyunSmsNotice(phone, signatureName, templateId, paramMap); + + //获取模板内容 + String templateContent = neededParam.get("templateContent"); + + //封装信息 xhpcSms.setPhone(phone); - xhpcSms.setContent(content); + xhpcSms.setContent(templateContent); xhpcSms.setCreateTime(new Date()); - xhpcSms.setRemark(req); - String ok = json.getString("ok"); - if("true".equals(ok)) { + xhpcSms.setRemark(neededParam.get("jsonResult")); + + //判断发送结果 + String statusCode = neededParam.get("statusCode"); + if ("OK".equals(statusCode)) { xhpcSms.setStatus(0); - }else { + } else { xhpcSms.setStatus(1); } } catch (Exception e) { @@ -152,14 +161,67 @@ public class XhpcSmsServiceImpl implements IXhpcSmsService{ for (int i = 0; i < 50; i++) { Random rnd = new Random(); int j = rnd.nextInt(999999); - System.out.println("number>> " +j); - if(j<100000){ - j=j+100000; + System.out.println("number>> " + j); + if (j < 100000) { + j = j + 100000; } - System.out.println("number " +Long.valueOf(j)); + System.out.println("number " + Long.valueOf(j)); } } + /** + * 使用阿里云服务发送通知短信 + * + * @param phone + * @param signatureName + * @param templateId + * @param paramMap 模板参数集合 + * @return + * @throws Exception + */ + public Map aliyunSmsNotice(String phone, String signatureName, String templateId, Map paramMap) throws Exception { + //调用阿里云API发送请求 + Client client = SmsUtil.createClient(accessKeyId, accessKeySecret); + SendSmsRequest sendSmsRequest = new SendSmsRequest(); + sendSmsRequest.setPhoneNumbers(phone); + sendSmsRequest.setSignName(signatureName); + sendSmsRequest.setTemplateCode(templateId); + //添加模板参数 + String templateParam = JSONUtil.toJsonStr(paramMap); + sendSmsRequest.setTemplateParam(templateParam); + SendSmsResponse sendSmsResponse = client.sendSms(sendSmsRequest); + + //获取发送结果状态码 + String statusCode = sendSmsResponse.getBody().getCode(); + //获取短信的Biz号 + String bizId = sendSmsResponse.getBody().getBizId(); + //获取短信的发送日期,并将其转换为yyyyMMdd的格式 + String date = sendSmsResponse.getHeaders().get("date"); + Date realDate = new Date(date); + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); + String formatData = sdf.format(realDate); + + //获取所发送的模板信息 + QuerySendDetailsRequest querySendDetailsRequest = new QuerySendDetailsRequest(); + querySendDetailsRequest.setPhoneNumber(phone); + querySendDetailsRequest.setBizId(bizId); + querySendDetailsRequest.setSendDate(formatData); + querySendDetailsRequest.setCurrentPage(1L); + querySendDetailsRequest.setPageSize(10L); + String templateContent = client.querySendDetails(querySendDetailsRequest).getBody().getSmsSendDetailDTOs().getSmsSendDetailDTO().get(0).getContent(); + + //获取阿里云的返回值json字符串 + SendSmsResponseBody body = sendSmsResponse.getBody(); + String jsonResult = JSONUtil.toJsonStr(body); + + //存放后面需要使用的返回值 + HashMap valueParam = new HashMap<>(); + valueParam.put("statusCode", statusCode); + valueParam.put("templateContent", templateContent); + valueParam.put("jsonResult", jsonResult); + return valueParam; + } + } diff --git a/xhpc-modules/xhpc-general/src/main/java/com/xhpc/general/util/sms/SmsUtil.java b/xhpc-modules/xhpc-general/src/main/java/com/xhpc/general/util/sms/SmsUtil.java new file mode 100644 index 00000000..450f2e77 --- /dev/null +++ b/xhpc-modules/xhpc-general/src/main/java/com/xhpc/general/util/sms/SmsUtil.java @@ -0,0 +1,53 @@ +package com.xhpc.general.util.sms; + +import com.aliyun.dysmsapi20170525.models.SendSmsRequest; +import com.aliyun.teaopenapi.models.Config; + +/** + * @Author WH + * @Date 2021/10/25 16:16 + * @Description 使用阿里云提供SDK进行短信发送 + * @Param + * @Return + * @Since version-1.0 + */ +public class SmsUtil { + + private static String accessKeyId = "LTAI5tBWjnuQGxGicnThwMF1"; + private static String accessKeySecret = "b0WNtFYtWyTEkZzcr2WOAPoZg6w2Xu"; + + /** + * 使用AK&SK初始化账号Client + * + * @param accessKeyId + * @param accessKeySecret + * @return Client + * @throws Exception + */ + public static com.aliyun.dysmsapi20170525.Client createClient(String accessKeyId, String accessKeySecret) throws Exception { + + Config config = new Config() + // 您的AccessKey ID + .setAccessKeyId(accessKeyId) + // 您的AccessKey Secret + .setAccessKeySecret(accessKeySecret); + // 访问的域名 + config.endpoint = "dysmsapi.aliyuncs.com"; + return new com.aliyun.dysmsapi20170525.Client(config); + } + + public static void main(String[] args_) throws Exception { + + java.util.List args = java.util.Arrays.asList(args_); + com.aliyun.dysmsapi20170525.Client client = SmsUtil.createClient(accessKeyId, accessKeySecret); + SendSmsRequest sendSmsRequest = new SendSmsRequest() + .setPhoneNumbers("13060166032") + .setSignName("小华充电") + .setTemplateCode("SMS_226935795") + .setTemplateParam("{\"money\":\"5\"}"); + // 复制代码运行请自行打印 API 的返回值 + client.sendSms(sendSmsRequest); + } + +} + diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcHistoryOrderServiceImpl.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcHistoryOrderServiceImpl.java index 006a2f21..5781d21a 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcHistoryOrderServiceImpl.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcHistoryOrderServiceImpl.java @@ -377,11 +377,16 @@ public class XhpcHistoryOrderServiceImpl implements IXhpcHistoryOrderService { //发送短信 if(user.get("phone") !=null){ if("1".equals(xhpcChargingPile.get("type").toString())){ + HashMap paramMap = new HashMap<>(); + paramMap.put("elec", xhpcChargeOrder.getEndSoc()); + paramMap.put("sumMoney", actPrice.toString()); String content = "【小华停止充电】尊敬的用户,你的爱车已停止充电,电量为:" + xhpcChargeOrder.getEndSoc() + "%,总费用为:" + actPrice + "元,充电费用明细,请查询小华充电小程序,谢谢。"; - smsService.sendNotice(user.get("phone").toString(),content); - }else{ + smsService.sendNotice(user.get("phone").toString(), content, paramMap); + }else { + HashMap paramMap = new HashMap<>(); + paramMap.put("sumMoney", actPrice.toString()); String content = "【小华停止充电】尊敬的用户,你的爱车已停止充电,总费用为:" + actPrice + "元,充电费用明细,请查询小华充电小程序,谢谢。"; - smsService.sendNotice(user.get("phone").toString(),content); + smsService.sendNotice(user.get("phone").toString(), content, paramMap); } } } diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcRealTimeOrderServiceImpl.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcRealTimeOrderServiceImpl.java index 4400f190..9848f1c2 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcRealTimeOrderServiceImpl.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcRealTimeOrderServiceImpl.java @@ -383,11 +383,16 @@ public class XhpcRealTimeOrderServiceImpl implements IXhpcRealTimeOrderService { //发送短信 if(user.get("phone") !=null){ if("1".equals(xhpcChargingPile.get("type").toString())){ + HashMap paramMap = new HashMap<>(); + paramMap.put("elec", xhpcChargeOrder.getEndSoc()); + paramMap.put("sumMoney", actPrice.toString()); String content = "【小华停止充电】尊敬的用户,你的爱车已停止充电,电量为:" + xhpcChargeOrder.getEndSoc() + "%,总费用为:" + actPrice + "元,充电费用明细,请查询小华充电小程序,谢谢。"; - smsService.sendNotice(user.get("phone").toString(),content); - }else{ + smsService.sendNotice(user.get("phone").toString(), content, paramMap); + }else { + HashMap paramMap = new HashMap<>(); + paramMap.put("sumMoney", actPrice.toString()); String content = "【小华停止充电】尊敬的用户,你的爱车已停止充电,总费用为:" + actPrice + "元,充电费用明细,请查询小华充电小程序,谢谢。"; - smsService.sendNotice(user.get("phone").toString(),content); + smsService.sendNotice(user.get("phone").toString(), content, paramMap); } } } diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RealtimeDataLogic.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RealtimeDataLogic.java index 5f81180d..150f1ddf 100644 --- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RealtimeDataLogic.java +++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RealtimeDataLogic.java @@ -21,6 +21,7 @@ import org.springframework.stereotype.Component; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -144,9 +145,11 @@ public class RealtimeDataLogic implements ServiceLogic { if (alerted == null && tel != null) { R r = chargingController.nativeStopCharging(pileNo, gunId, default_version); if (r.getCode() == 200) { + HashMap paramMap = new HashMap<>(); + paramMap.put("battery", stopSoc.toString()); smsService.sendNotice(tel, "【小华充电】尊敬的用户,你的车辆已充电达至设定的SOC(" .concat(stopSoc.toString()) - .concat("%)已自动停止充电,请您尽快将车辆挪走以方便他人使用充电桩,谢谢合作。")); + .concat("%)已自动停止充电,请您尽快将车辆挪走以方便他人使用充电桩,谢谢合作。"), paramMap); cacheOrder.put("socalerted", "true"); } } @@ -155,7 +158,9 @@ public class RealtimeDataLogic implements ServiceLogic { String alerted = (String) cacheOrder.get("lt5alerted"); String tel = (String) cacheOrder.get("tel"); if (alerted == null && tel != null) { - smsService.sendNotice(tel, "【小华充电】尊敬的用户,你的账户余额小于5元,为不影响您的正常充电,请您尽快充值交费,谢谢。"); + HashMap paramMap = new HashMap<>(); + paramMap.put("money", "5"); + smsService.sendNotice(tel, "【小华充电】尊敬的用户,你的账户余额小于5元,为不影响您的正常充电,请您尽快充值交费,谢谢。", paramMap); cacheOrder.put("lt5alerted", "true"); } }