Your Name преди 2 години
родител
ревизия
934bb73686

+ 22
- 0
src/main/java/com/example/civilizedcity/controller/CommController.java Целия файл

1
+package com.example.civilizedcity.controller;
2
+
3
+
4
+import com.example.civilizedcity.common.BaseController;
5
+import com.example.civilizedcity.common.ResponseBean;
6
+import io.swagger.annotations.Api;
7
+import io.swagger.annotations.ApiOperation;
8
+import io.swagger.annotations.ApiParam;
9
+import org.springframework.web.bind.annotation.*;
10
+
11
+@Api(tags ="通用")
12
+@RestController
13
+@RequestMapping("/")
14
+public class CommController extends BaseController {
15
+
16
+    @GetMapping("/ma/captcha")
17
+    @ApiOperation(value="获取验证码", notes = "获取验证码", httpMethod = "GET", response = ResponseBean.class)
18
+    public ResponseBean getCaptcha(@ApiParam("手机号码") @RequestParam("phone") String phone) throws Exception {
19
+
20
+        return ResponseBean.success("success");
21
+    }
22
+}

+ 28
- 1
src/main/java/com/example/civilizedcity/controller/WxMaController.java Целия файл

11
 import com.example.civilizedcity.config.WxMaUitl;
11
 import com.example.civilizedcity.config.WxMaUitl;
12
 import com.example.civilizedcity.entity.SysUser;
12
 import com.example.civilizedcity.entity.SysUser;
13
 import com.example.civilizedcity.entity.TaPerson;
13
 import com.example.civilizedcity.entity.TaPerson;
14
-import com.example.civilizedcity.entity.TaPersonReflect;
14
+import com.example.civilizedcity.service.SysLoginService;
15
 import com.example.civilizedcity.service.SysUserDutyService;
15
 import com.example.civilizedcity.service.SysUserDutyService;
16
 import com.example.civilizedcity.service.TaPersonReflectService;
16
 import com.example.civilizedcity.service.TaPersonReflectService;
17
+import com.example.civilizedcity.vo.WxChangePwd;
17
 import com.example.civilizedcity.vo.LoginParam;
18
 import com.example.civilizedcity.vo.LoginParam;
18
 import io.swagger.annotations.Api;
19
 import io.swagger.annotations.Api;
19
 import io.swagger.annotations.ApiOperation;
20
 import io.swagger.annotations.ApiOperation;
40
     @Autowired
41
     @Autowired
41
     SysUserDutyService sysUserDutyService;
42
     SysUserDutyService sysUserDutyService;
42
 
43
 
44
+    @Autowired
45
+    SysLoginService sysLoginService;
46
+
43
 
47
 
44
 //    private boolean checkLoginParam(LoginParam loginParam) {
48
 //    private boolean checkLoginParam(LoginParam loginParam) {
45
 //        return !StringUtils.isEmpty(loginParam.getCode())
49
 //        return !StringUtils.isEmpty(loginParam.getCode())
184
         return ResponseBean.success(taPerson);
188
         return ResponseBean.success(taPerson);
185
     }
189
     }
186
 
190
 
191
+    @PostMapping("/change-password")
192
+    @ApiOperation(value="修改密码", notes = "修改密码", httpMethod = "POST", response = ResponseBean.class)
193
+    public ResponseBean changePassword(@ApiParam("修改密码") @RequestBody WxChangePwd wxChangePwd) throws Exception {
194
+
195
+        if (StringUtils.isEmpty(wxChangePwd.getPhone())
196
+            || StringUtils.isEmpty(wxChangePwd.getCaptcha())
197
+            || StringUtils.isEmpty(wxChangePwd.getPassword())
198
+        ) {
199
+            return ResponseBean.error("修改密码参数部分为空");
200
+        }
201
+
202
+        // TODO 校验验证码
203
+
204
+        SysUser user = sysUserService.getExistBy("phone", wxChangePwd.getPhone(), false, true);
205
+        if (null == user) {
206
+            return ResponseBean.error("当前手机号不存在");
207
+        }
208
+
209
+        sysLoginService.changePassword(user, wxChangePwd);
210
+
211
+        return ResponseBean.success("success");
212
+    }
213
+
187
 }
214
 }

+ 2
- 0
src/main/java/com/example/civilizedcity/mapper/SysLoginMapper.java Целия файл

15
     SysLogin getByAccount(@Param("account") String account);
15
     SysLogin getByAccount(@Param("account") String account);
16
 
16
 
17
      SysLogin getByUserAndPassword(@Param("userId") String userId, @Param("password") String password);
17
      SysLogin getByUserAndPassword(@Param("userId") String userId, @Param("password") String password);
18
+
19
+     int updatePassword(@Param("userId") String userId, @Param("password") String password);
18
  }
20
  }

+ 6
- 3
src/main/java/com/example/civilizedcity/service/SysLoginService.java Целия файл

2
 
2
 
3
 import com.baomidou.mybatisplus.extension.service.IService;
3
 import com.baomidou.mybatisplus.extension.service.IService;
4
 import com.example.civilizedcity.entity.SysLogin;
4
 import com.example.civilizedcity.entity.SysLogin;
5
+import com.example.civilizedcity.entity.SysUser;
6
+import com.example.civilizedcity.vo.WxChangePwd;
5
 
7
 
6
- /**
8
+/**
7
  * 系统账户表;(sys_login)表服务接口
9
  * 系统账户表;(sys_login)表服务接口
8
  * @author : http://njyunzhi.com
10
  * @author : http://njyunzhi.com
9
  * @date : 2022-12-12
11
  * @date : 2022-12-12
10
  */
12
  */
11
 public interface SysLoginService extends IBaseService<SysLogin> {
13
 public interface SysLoginService extends IBaseService<SysLogin> {
12
-    
13
-}
14
+
15
+     boolean changePassword(SysUser user, WxChangePwd wxChangePwd);
16
+ }

+ 15
- 2
src/main/java/com/example/civilizedcity/service/impl/SysLoginServiceImpl.java Целия файл

1
 package com.example.civilizedcity.service.impl;
1
 package com.example.civilizedcity.service.impl;
2
 
2
 
3
+import com.example.civilizedcity.common.EncryptUtils;
4
+import com.example.civilizedcity.entity.SysUser;
5
+import com.example.civilizedcity.vo.WxChangePwd;
3
 import org.springframework.beans.factory.annotation.Autowired;
6
 import org.springframework.beans.factory.annotation.Autowired;
4
 import org.springframework.stereotype.Service;
7
 import org.springframework.stereotype.Service;
5
 import com.example.civilizedcity.entity.SysLogin;
8
 import com.example.civilizedcity.entity.SysLogin;
6
 import com.example.civilizedcity.mapper.SysLoginMapper;
9
 import com.example.civilizedcity.mapper.SysLoginMapper;
7
 import com.example.civilizedcity.service.SysLoginService;
10
 import com.example.civilizedcity.service.SysLoginService;
8
- /**
11
+
12
+/**
9
  * 系统账户表;(sys_login)表服务实现类
13
  * 系统账户表;(sys_login)表服务实现类
14
+ *
10
  * @author : http://www.chiner.pro
15
  * @author : http://www.chiner.pro
11
  * @date : 2022-12-12
16
  * @date : 2022-12-12
12
  */
17
  */
13
 @Service
18
 @Service
14
 public class SysLoginServiceImpl extends BaseServiceImpl<SysLoginMapper, SysLogin> implements SysLoginService {
19
 public class SysLoginServiceImpl extends BaseServiceImpl<SysLoginMapper, SysLogin> implements SysLoginService {
15
-    
20
+
21
+    @Override
22
+    public boolean changePassword(SysUser user, WxChangePwd wxChangePwd) {
23
+
24
+        String pwd = EncryptUtils.md5(wxChangePwd.getPassword(), user.getUserId());
25
+        baseMapper.updatePassword(user.getUserId(), pwd);
26
+
27
+        return false;
28
+    }
16
 }
29
 }

+ 20
- 0
src/main/java/com/example/civilizedcity/vo/WxChangePwd.java Целия файл

1
+package com.example.civilizedcity.vo;
2
+
3
+
4
+import io.swagger.annotations.ApiModel;
5
+import io.swagger.annotations.ApiModelProperty;
6
+import lombok.Data;
7
+
8
+@ApiModel(description = "修改密码")
9
+@Data
10
+public class WxChangePwd {
11
+
12
+    @ApiModelProperty("手机号")
13
+    String phone;
14
+
15
+    @ApiModelProperty("验证码")
16
+    String captcha;
17
+
18
+    @ApiModelProperty("密码")
19
+    String password;
20
+}

+ 2
- 0
src/main/resources/application.yml Целия файл

28
       - "/static/**"
28
       - "/static/**"
29
       - "/**/login"
29
       - "/**/login"
30
       - "/**/signin"
30
       - "/**/signin"
31
+      - "/ma/captcha"
32
+      - "/ma/change-password"
31
 
33
 
32
 wx:
34
 wx:
33
   miniapp:
35
   miniapp:

+ 8
- 0
src/main/resources/mapper/SysLoginMapper.xml Целия файл

2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
 
3
 
4
 <mapper namespace="com.example.civilizedcity.mapper.SysLoginMapper">
4
 <mapper namespace="com.example.civilizedcity.mapper.SysLoginMapper">
5
+    <update id="updatePassword">
6
+        UPDATE sys_login t
7
+        SET t.`password` = #{password}
8
+        WHERE
9
+            t.user_id = #{userId}
10
+          AND t.`status` &gt; -1
11
+          AND t.`password` IS NOT NULL
12
+    </update>
5
 
13
 
6
     <select id="getByAccount" resultType="com.example.civilizedcity.entity.SysLogin">
14
     <select id="getByAccount" resultType="com.example.civilizedcity.entity.SysLogin">
7
         SELECT
15
         SELECT