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