huwhois 4 years ago
parent
commit
f4ac6266fc

+ 1 - 1
src/main/java/io/renren/modules/admin/entity/MemberEntity.java

28
    /**
28
    /**
29
     * 
29
     * 
30
     */
30
     */
31
    @TableId(value = "id")
31
    @TableId
32
    private Long id;
32
    private Long id;
33
    /**
33
    /**
34
     * 名字
34
     * 名字

+ 18 - 17
src/main/java/io/renren/modules/app/controller/AppLoginController.java

9
package io.renren.modules.app.controller;
9
package io.renren.modules.app.controller;
10
10
11
import io.renren.common.utils.R;
11
import io.renren.common.utils.R;
12
import io.renren.common.validator.Assert;
12
import io.renren.common.validator.ValidatorUtils;
13
import io.renren.common.validator.ValidatorUtils;
13
import io.renren.modules.app.entity.UserEntity;
14
import io.renren.modules.app.entity.UserEntity;
14
import io.renren.modules.app.form.LoginForm;
15
import io.renren.modules.app.form.LoginForm;
15
import io.renren.modules.app.service.SmsCodeService;
16
import io.renren.modules.app.service.SmsCodeService;
16
import io.renren.modules.app.service.UserService;
17
import io.renren.modules.app.service.UserService;
17
import io.renren.modules.app.utils.JwtUtils;
18
import io.renren.modules.app.utils.JwtUtils;
18
import io.swagger.annotations.Api;
19
import io.swagger.annotations.ApiOperation;
20
import org.springframework.beans.factory.annotation.Autowired;
19
import org.springframework.beans.factory.annotation.Autowired;
21
import org.springframework.web.bind.annotation.PostMapping;
20
import org.springframework.web.bind.annotation.PostMapping;
22
import org.springframework.web.bind.annotation.RequestBody;
21
import org.springframework.web.bind.annotation.RequestBody;
33
 */
32
 */
34
@RestController
33
@RestController
35
@RequestMapping("/app")
34
@RequestMapping("/app")
36
@Api("APP登录接口")
37
public class AppLoginController {
35
public class AppLoginController {
38
    @Autowired
36
    @Autowired
39
    private SmsCodeService smsCodeService;
37
    private SmsCodeService smsCodeService;
45
    /**
43
    /**
46
     * 登录
44
     * 登录
47
     */
45
     */
48
    // @PostMapping("login")
49
    // @ApiOperation("登录")
50
    // public R login(@RequestBody LoginForm form){
51
    //     //表单校验
52
    //     ValidatorUtils.validateEntity(form);
46
    @PostMapping("login")
47
    public R login(@RequestBody LoginForm form){
48
        //表单校验
49
        ValidatorUtils.validateEntity(form);
53
50
54
    //     //用户登录
55
    //     long userId = userService.login(form);
51
        smsCodeService.validate(form.getUuid(), form.getCode(), form.getPhone());
56
52
57
    //     //生成token
58
    //     String token = jwtUtils.generateToken(userId);
53
        //用户登录
54
        UserEntity user =  userService.queryByPhone(form.getPhone());
55
        Assert.isNull(user, "手机号错误");
56
        long userId = user.getUserId();
59
57
60
    //     Map<String, Object> map = new HashMap<>();
61
    //     map.put("token", token);
62
    //     map.put("expire", jwtUtils.getExpire());
58
        //生成token
59
        String token = jwtUtils.generateToken(userId);
63
60
64
    //     return R.ok(map);
65
    // }
61
        Map<String, Object> map = new HashMap<>();
62
        map.put("token", token);
63
        map.put("expire", jwtUtils.getExpire());
64
65
        return R.ok(map);
66
    }
66
67
67
    @PostMapping("mobilecode")
68
    @PostMapping("mobilecode")
68
    public R mobileCode(@RequestBody Map<String, Object> params) {
69
    public R mobileCode(@RequestBody Map<String, Object> params) {

+ 1 - 1
src/main/java/io/renren/modules/app/entity/UserEntity.java

31
	/**
31
	/**
32
	 * 用户ID
32
	 * 用户ID
33
	 */
33
	 */
34
	@TableId
34
	@TableId(value = "id")
35
	private Long userId;
35
	private Long userId;
36
	/**
36
	/**
37
     * 名字
37
     * 名字

+ 0 - 2
src/main/java/io/renren/modules/app/form/LoginForm.java

29
29
30
    @NotBlank(message="手机号不能为空")
30
    @NotBlank(message="手机号不能为空")
31
    private String phone;
31
    private String phone;
32
    @NotBlank(message="密码不能为空")
33
    private String password;
34
    @NotBlank(message="短信验证码不能为空")
32
    @NotBlank(message="短信验证码不能为空")
35
    private String code;
33
    private String code;
36
    private String uuid;
34
    private String uuid;

+ 3 - 1
src/main/java/io/renren/modules/app/service/SmsCodeService.java

1
package io.renren.modules.app.service;
1
package io.renren.modules.app.service;
2
2
3
import com.baomidou.mybatisplus.extension.service.IService;
3
import com.baomidou.mybatisplus.extension.service.IService;
4
5
import io.renren.common.exception.RRException;
4
import io.renren.modules.app.entity.SmsCodeEntity;
6
import io.renren.modules.app.entity.SmsCodeEntity;
5
7
6
/**
8
/**
22
     * @param code  验证码
24
     * @param code  验证码
23
     * @return  true:成功  false:失败
25
     * @return  true:成功  false:失败
24
     */
26
     */
25
    boolean validate(String uuid, String code, String phone);
27
    void validate(String uuid, String code, String phone) throws RRException;
26
}
28
}

+ 4 - 4
src/main/java/io/renren/modules/app/service/impl/SmsCodeServiceImpl.java

45
    }
45
    }
46
46
47
    @Override
47
    @Override
48
    public boolean validate(String uuid, String code, String phone) {
48
    public void validate(String uuid, String code, String phone)  throws RRException{
49
        SmsCodeEntity smsCodeEntity = this.getOne(new QueryWrapper<SmsCodeEntity>().eq("uuid", uuid));
49
        SmsCodeEntity smsCodeEntity = this.getOne(new QueryWrapper<SmsCodeEntity>().eq("uuid", uuid));
50
        if (smsCodeEntity == null) {
50
        if (smsCodeEntity == null) {
51
            return false;
51
            throw new RRException("验证码不正确");
52
        }
52
        }
53
53
54
        if (smsCodeEntity.getCode().equalsIgnoreCase(code) && smsCodeEntity.getPhone().equalsIgnoreCase(phone)
54
        if (smsCodeEntity.getCode().equalsIgnoreCase(code) && smsCodeEntity.getPhone().equalsIgnoreCase(phone)
55
                && smsCodeEntity.getExpireTime().getTime() >= System.currentTimeMillis()) {
55
                && smsCodeEntity.getExpireTime().getTime() >= System.currentTimeMillis()) {
56
            // 删除验证码
56
            // 删除验证码
57
            this.removeById(uuid);
57
            this.removeById(uuid);
58
            return true;
58
        } else {
59
            throw new RRException("验证码不正确");
59
        }
60
        }
60
        return false;
61
    }
61
    }
62
}
62
}