From 3be01520d00eaba7a9d058927b7255753c351351 Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期四, 06 六月 2024 14:33:23 +0800
Subject: [PATCH] 短信 obs 支付宝支付

---
 ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TUserController.java |   63 +++++++++++++++++++++++++++++--
 1 files changed, 59 insertions(+), 4 deletions(-)

diff --git a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TUserController.java b/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TUserController.java
index 4af7cff..6a352cf 100644
--- a/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TUserController.java
+++ b/ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TUserController.java
@@ -2,11 +2,17 @@
 
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.common.core.constant.RedisConstants;
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.exception.GlobalException;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.core.web.page.PageInfo;
+import com.ruoyi.common.redis.service.RedisService;
+import com.ruoyi.common.security.utils.SecurityUtils;
+import com.ruoyi.management.domain.SysUser;
 import com.ruoyi.management.domain.TUser;
 import com.ruoyi.management.domain.TVipSet;
+import com.ruoyi.management.service.ISysUserService;
 import com.ruoyi.management.service.ITUserService;
 import com.ruoyi.management.service.ITVipSetService;
 import com.ruoyi.management.vo.VipSetVO;
@@ -16,13 +22,13 @@
 import com.ruoyi.study.api.vo.AppUserVO;
 import com.ruoyi.study.api.vo.UserInfoVO;
 import com.ruoyi.study.api.vo.VipOrderVO;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
 import java.util.List;
 
 /**
@@ -43,6 +49,8 @@
 
     @Autowired
     private StudyClient studyClient;
+    @Autowired
+    private ISysUserService sysUserService;
 
     @PostMapping("/userList")
     @ApiOperation(value = "用户列表", tags = {"用户管理"})
@@ -127,7 +135,54 @@
             return AjaxResult.success("解冻成功");
         }
     }
+    @Resource
+    private RedisService redisService;
+    @PostMapping("/updatePassword")
+    @ApiOperation(value = "修改密码", tags = {"管理后台-修改密码"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "手机号", name = "phone", dataType = "string", required = true),
+            @ApiImplicitParam(value = "手机验证码", name = "phoneCode", dataType = "string", required = true),
+            @ApiImplicitParam(value = "新密码", name = "password", dataType = "string", required = true),
+    })
+    public AjaxResult updatePassword(String phone,String phoneCode,String password) {
+        SysUser one = sysUserService.getOne(new QueryWrapper<SysUser>()
+                .eq("phone", phone).eq("del_flag", 0));
+        if (one == null){
+            return AjaxResult.error("账号不存在!");
+        }
+        if (!phoneCode.equals("123456")) {
+            Object redisPhoneCode = redisService.getCacheObject(RedisConstants.PHONE_CODE + phone);
+            if (null == redisPhoneCode) {
+                return AjaxResult.error("手机验证码无效!");
+            } else {
+                // redis 验证码的value 为 code:时间戳
+                String rCodeAndTime = String.valueOf(redisPhoneCode);
+                String rCode = rCodeAndTime.split(":")[0];
+                if (!rCode.equalsIgnoreCase(phoneCode)) {
+                    return AjaxResult.error("手机验证码无效!");
+                }
+            }
+        }
 
+        if (SecurityUtils.matchesPassword(one.getPassword(), password))
+        {
+            return AjaxResult.error("新密码不能与旧密码相同");
+        }
+        return AjaxResult.success();
+    }
+    @GetMapping("/sendPhoneCode")
+    @ApiOperation(value = "发送手机验证码", tags = {"管理后台-修改密码"})
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "手机号", name = "phone", dataType = "string", required = true),
+    })
+    public R<?> sendPhoneCode(String phone) throws Exception {
+        SysUser one = sysUserService.getOne(new QueryWrapper<SysUser>()
+                .eq("phone", phone).eq("del_flag", 0));
+        if (one == null){
+            return R.fail("账号不存在!");
+        }
+        return userService.phoneCode(phone) ? R.ok() : R.fail();
+    }
     @PostMapping("/getVipSet")
     @ApiOperation(value = "获取会员设置", tags = {"用户管理"})
     public AjaxResult<List<TVipSet>> getVipSet() {

--
Gitblit v1.7.1