From 6b9db2b5b3bae2c557a605e33fc7b6f493b4a6b1 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期一, 26 八月 2024 16:02:05 +0800 Subject: [PATCH] 建桩申请 --- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/CodeController.java | 21 ++++++++++ ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/dto/TApplyChargingPileDTO.java | 15 +++++++ ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/MsgConstants.java | 4 ++ ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileController.java | 2 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/Constants.java | 8 +++- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java | 2 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java | 17 +++++++- ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/MsgUtil.java | 34 +++++++++++++++++ 8 files changed, 96 insertions(+), 7 deletions(-) diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/dto/TApplyChargingPileDTO.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/dto/TApplyChargingPileDTO.java new file mode 100644 index 0000000..bb30bf5 --- /dev/null +++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/dto/TApplyChargingPileDTO.java @@ -0,0 +1,15 @@ +package com.ruoyi.chargingPile.api.dto; + +import com.ruoyi.chargingPile.api.model.TApplyChargingPile; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "TApplyChargingPileDTO对象",description = "申请建桩") +public class TApplyChargingPileDTO extends TApplyChargingPile { + + @ApiModelProperty(value = "验证码") + private String code; + +} diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/Constants.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/Constants.java index 3a06693..ca886c7 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/Constants.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/Constants.java @@ -128,9 +128,13 @@ public static final String DATE_FORMATTER_TIME = "yyyy-MM-dd HH:mm:ss"; public static final String DATE_FORMATTER_DATE = "yyyy-MM-dd"; /** - * 后缀 + * 修改手机号后缀 */ - public static final String APPLET = "_applet"; + public static final String UPDATE_PHONE = "_updatePhone"; + /** + * 申请建桩后缀 + */ + public static final String APPLY_CHARGING = "_applyCharging"; /** * 定时任务违规的字符 */ diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/MsgConstants.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/MsgConstants.java index 4a04905..eb5769a 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/MsgConstants.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/MsgConstants.java @@ -11,6 +11,8 @@ public static final String SEND_URL = "http://112.35.1.155:1992/sms/tmpsubmit"; /** 更换手机号短信验证码 TEMPLATE_ID */ public static final String CODE_TEMPLATE_ID = "5bf3949463e54c03a25c6fce3ad48139"; + /** 建桩申请短信验证码 TEMPLATE_ID */ + public static final String APPLY_TEMPLATE_ID = "5bf3949463e54c03a25c6fce3ad48139"; /** 停车占位提醒 TEMPLATE_ID */ public static final String STOP_TEMPLATE_ID = "4940ce98a3f94f67aa9f5cd2d4e05cbd"; @@ -22,6 +24,8 @@ public static final String FAULT_TEMPLATE_ID = "37956469a14a47e484a747a1e7e462de"; /** 更换手机号短信验证码 AP_ID */ public static final String CODE_AP_ID = "GH123"; + /** 建桩短信验证码 AP_ID */ + public static final String APPLY_AP_ID = "JZ123"; /** 停车占位提醒 AP_ID */ public static final String STOP_AP_ID = "TC123"; 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 54eb150..14c12e1 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 @@ -49,6 +49,40 @@ return encode; } + /** + * 更换手机号:【签名】验证码:XXX,用于更换手机号。请勿转发。 + * @param phone 手机号 + * @param code 验证码 + * @return + */ + public static String applyCodeMsg(String phone,String code){ + SubmitTempletReq submitReq = new SubmitTempletReq(); + String[] paramss = {code}; + submitReq.setApId(MsgConstants.APPLY_AP_ID); + submitReq.setEcName(ecName); + submitReq.setSecretKey(secretKey); + submitReq.setParams(JSON.toJSONString(paramss)); + submitReq.setMobiles(phone); + submitReq.setAddSerial(""); + submitReq.setSign(sign); + submitReq.setTemplateId(MsgConstants.APPLY_TEMPLATE_ID); + StringBuffer stringBuffer = new StringBuffer(); + stringBuffer.append(submitReq.getEcName()); + stringBuffer.append(submitReq.getApId()); + stringBuffer.append(submitReq.getSecretKey()); + stringBuffer.append(submitReq.getTemplateId()); + stringBuffer.append(submitReq.getMobiles()); + stringBuffer.append(submitReq.getParams()); + stringBuffer.append(submitReq.getSign()); + stringBuffer.append(submitReq.getAddSerial()); + submitReq.setMac(MD5Util.getMD5(stringBuffer.toString())); + String reqText = JSON.toJSONString(submitReq); + //加密 + String encode = Base64.encodeBase64String(reqText.getBytes()); + System.err.println(encode); + return encode; + } + /** * 停车占位提醒:车辆已在3小时前完成充电,请及时取车,避免长时间占用充电资源。 diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java index d63cb99..1f5ac8c 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java @@ -615,7 +615,7 @@ @ApiOperation(value = "更换手机号", tags = {"小程序-用户管理-更换手机号"}) @PostMapping(value = "/user/updatePhone") public AjaxResult<String> updatePhone(@Validated @RequestBody UpdatePhoneDTO dto) { - String code = redisService.getCacheObject(dto.getPhone() + Constants.APPLET); + String code = redisService.getCacheObject(dto.getPhone() + Constants.UPDATE_PHONE); if(StringUtils.isEmpty(code)){ return AjaxResult.error("验证码已过期,请重新获取验证码!"); } 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 index 14b8403..0eaf607 100644 --- 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 @@ -42,7 +42,7 @@ return AjaxResult.error("该手机号已绑定账号"); } String code = MsgUtil.createCode(); - redisService.setCacheObject(phone+ Constants.APPLET,code,5L, TimeUnit.MINUTES); + redisService.setCacheObject(phone+ Constants.UPDATE_PHONE,code,5L, TimeUnit.MINUTES); String reqStr = MsgUtil.codeMsg(phone, code); String result = HttpUtils.post(MsgConstants.SEND_URL, reqStr); // 记录短信发送 @@ -50,4 +50,23 @@ return AjaxResult.success(result); } + /** + * 获取验证码 + * + * @param phone 手机号 + * @return 结果 + */ + @ApiOperation(value = "获取验证码",notes = "获取验证码",tags = {"申请建桩"}) + @GetMapping("getApplyCode") + public AjaxResult getApplyCode(@RequestParam("phone") String phone) + { + 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); + // 记录短信发送 + 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/TApplyChargingPileController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java index 376534d..8e85f92 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java @@ -11,15 +11,18 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.chargingPile.api.dto.ApplyChargingQuery; import com.ruoyi.chargingPile.api.dto.ApplyChargingRemarkDto; +import com.ruoyi.chargingPile.api.dto.TApplyChargingPileDTO; import com.ruoyi.chargingPile.api.model.TApplyChargingPile; import com.ruoyi.chargingPile.dto.TApplyChargingPileExportDto; import com.ruoyi.chargingPile.service.TApplyChargingPileService; import com.ruoyi.common.core.constant.Constants; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.log.enums.OperatorType; +import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.common.security.service.TokenService; import io.swagger.annotations.ApiOperation; import org.apache.commons.codec.CharEncoding; @@ -51,11 +54,13 @@ private final TApplyChargingPileService applyChargingPileService; private final TokenService tokenService; + private final RedisService redisService; @Autowired - public TApplyChargingPileController(TApplyChargingPileService applyChargingPileService, TokenService tokenService) { + public TApplyChargingPileController(TApplyChargingPileService applyChargingPileService, TokenService tokenService, RedisService redisService) { this.applyChargingPileService = applyChargingPileService; this.tokenService = tokenService; + this.redisService = redisService; } /** @@ -64,7 +69,15 @@ @Log(title = "建桩申请", businessType = BusinessType.INSERT,operatorType = OperatorType.MOBILE) @ApiOperation(tags = {"小程序-建桩申请"},value = "建桩申请") @PostMapping(value = "/add") - public AjaxResult<Boolean> add(@RequestBody TApplyChargingPile dto) { + public AjaxResult<Boolean> add(@RequestBody TApplyChargingPileDTO dto) { + // 验证验证码 + String code = redisService.getCacheObject(dto.getLandlordPhone() + Constants.APPLY_CHARGING); + if(StringUtils.isEmpty(code)){ + return AjaxResult.error("验证码已过期,请重新获取验证码!"); + } + if(!code.equals(dto.getCode())){ + return AjaxResult.error("验证码错误!"); + } // 用户id Long userId = tokenService.getLoginUserApplet().getUserId(); dto.setAppUserId(userId); diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileController.java index 0857bc3..b5de0af 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileController.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingPileController.java @@ -65,7 +65,7 @@ * 查询充电桩列表 */ @ApiOperation(tags = {"小程序-充电桩"},value = "通过站点id查询充电桩列表") - @PostMapping(value = "/list") + @GetMapping(value = "/list") @ApiImplicitParams({ @ApiImplicitParam(name = "siteId", value = "站点id") }) -- Gitblit v1.7.1