From 72d4afb7b0f12753846ffb9baf0d593635df55a3 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期二, 18 六月 2024 15:47:55 +0800
Subject: [PATCH] bug修改

---
 ruoyi-service/ruoyi-management/src/main/java/com/ruoyi/management/controller/TUserController.java |   77 +++++++++++++++++++++++++++++++++++---
 1 files changed, 70 insertions(+), 7 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 c12df85..fb71737 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,11 +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.stereotype.Controller;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
 import java.util.List;
 
 /**
@@ -41,6 +49,9 @@
 
     @Autowired
     private StudyClient studyClient;
+    @Autowired
+    private ISysUserService sysUserService;
+
     @PostMapping("/userList")
     @ApiOperation(value = "用户列表", tags = {"用户管理"})
     public AjaxResult<PageInfo<AppUserVO>> couponReceive(AppUserQuery query) {
@@ -111,6 +122,7 @@
 
         return AjaxResult.success(data);
     }
+
     @PostMapping("/freeze")
     @ApiOperation(value = "冻结/解冻", tags = {"用户管理"})
     public AjaxResult freeze(Integer id) {
@@ -118,10 +130,58 @@
         if (byId.getState() == 1) {
             studyClient.freeze(id);
             return AjaxResult.success("冻结成功");
-        }else {
+        } else {
             studyClient.freeze(id);
             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("phonenumber", 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("phonenumber", phone).eq("del_flag", 0));
+        if (one == null){
+            return R.fail("账号不存在!");
+        }
+        return userService.phoneCode(phone) ? R.ok() : R.fail();
     }
     @PostMapping("/getVipSet")
     @ApiOperation(value = "获取会员设置", tags = {"用户管理"})
@@ -129,37 +189,40 @@
         List<TVipSet> list = vipSetService.list(new QueryWrapper<TVipSet>().orderByAsc("amount"));
         return AjaxResult.success(list);
     }
+
     @PostMapping("/getVipSet1")
     @ApiOperation(value = "获取会员设置", tags = {"家长端"})
     public R<List<TVipSet>> getVipSet1() {
-        List<TVipSet> list = vipSetService.list(new QueryWrapper<TVipSet>().orderByAsc("amount"));
+        List<TVipSet> list = vipSetService.list(new QueryWrapper<TVipSet>()
+                .orderByAsc("time"));
         return R.ok(list);
     }
+
     @PostMapping("/setVipSet")
-    @ApiOperation(value = "获取会员设置", tags = {"用户管理"})
+    @ApiOperation(value = "保存会员设置", tags = {"用户管理"})
     public AjaxResult setVipSet(@RequestBody VipSetVO vo) {
-        String info = vo.getInfo();
         List<TVipSet> list = vo.getList();
         // 删除原有数据 重新保存
         vipSetService.remove(new QueryWrapper<TVipSet>());
         for (TVipSet tVipSet : list) {
-            tVipSet.setInfo(info);
             vipSetService.save(tVipSet);
         }
         return AjaxResult.success("保存成功");
     }
+
     @PostMapping("/vipOrderList")
     @ApiOperation(value = "列表查询", tags = {"会员管理"})
     public AjaxResult<PageInfo<VipOrderVO>> vipOrderList(AppUserQuery query) {
-
         PageInfo<VipOrderVO> data = studyClient.vipOrderList(query).getData();
         return AjaxResult.success(data);
     }
+
     @PostMapping("/vipBack")
     @ApiOperation(value = "会员退款", tags = {"会员管理"})
     public AjaxResult vipOrderList(Integer id) {
         studyClient.vipBack(id);
         return AjaxResult.success();
     }
+
 }
 

--
Gitblit v1.7.1