huwhois 4 years ago
parent
commit
3f02bd0c52

+ 38 - 0
src/main/java/io/renren/common/utils/AliyunSmsUtils.java

1
package io.renren.common.utils;
2
3
import com.aliyuncs.CommonRequest;
4
import com.aliyuncs.CommonResponse;
5
import com.aliyuncs.DefaultAcsClient;
6
import com.aliyuncs.IAcsClient;
7
import com.aliyuncs.exceptions.ClientException;
8
import com.aliyuncs.exceptions.ServerException;
9
import com.aliyuncs.http.MethodType;
10
import com.aliyuncs.profile.DefaultProfile;
11
12
public class AliyunSmsUtils {
13
        public static String sendSms(String...params) {
14
        DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "LTAI4G9gC4LEJaFNU6eSaB8W", "42mTm89pNQMVHALMWmIuFMfjf5GJFV");
15
        IAcsClient client = new DefaultAcsClient(profile);
16
17
        CommonRequest request = new CommonRequest();
18
        request.setSysMethod(MethodType.POST);
19
        request.setSysDomain("dysmsapi.aliyuncs.com");
20
        request.setSysVersion("2017-05-25");
21
        request.setSysAction("SendSms");
22
        request.putQueryParameter("RegionId", "cn-hangzhou");
23
        request.putQueryParameter("PhoneNumbers", params[0]);
24
        request.putQueryParameter("SignName", params[1]);
25
        request.putQueryParameter("TemplateCode", params[2]);
26
        request.putQueryParameter("TemplateParam", params[3]);
27
        CommonResponse response = new CommonResponse();
28
        try {
29
            response = client.getCommonResponse(request);
30
            // System.out.println(response.getData());
31
        } catch (ServerException e) {
32
            e.printStackTrace();
33
        } catch (ClientException e) {
34
            e.printStackTrace();
35
        }
36
        return response.getData();
37
    }
38
}

+ 13 - 0
src/main/java/io/renren/common/utils/ConfigConstant.java

19
     */
19
     */
20
    public final static String CLOUD_STORAGE_CONFIG_KEY = "CLOUD_STORAGE_CONFIG_KEY";
20
    public final static String CLOUD_STORAGE_CONFIG_KEY = "CLOUD_STORAGE_CONFIG_KEY";
21
21
22
    /**
23
     * 验证码过期时间
24
     */
25
    public final static int EXPIRE_TIME = 5;
26
27
    /**
28
     * 阿里云短信签名
29
     */
30
    public final static String SignName = "中国腐蚀与防护学会";
31
    /**
32
     * 阿里云短信模板id
33
     */
34
    public final static String TemplateCode = "SMS_202813596";
22
}
35
}

+ 13 - 70
src/main/java/io/renren/modules/admin/controller/PaperController.java

14
import org.springframework.web.bind.annotation.RequestParam;
14
import org.springframework.web.bind.annotation.RequestParam;
15
import org.springframework.web.bind.annotation.RestController;
15
import org.springframework.web.bind.annotation.RestController;
16
16
17
import io.renren.common.utils.MyUtils;
18
import io.renren.common.utils.PageUtils;
17
import io.renren.common.utils.PageUtils;
19
import io.renren.common.utils.R;
18
import io.renren.common.utils.R;
20
import io.renren.modules.admin.entity.PaperEntity;
19
import io.renren.modules.admin.entity.PaperEntity;
21
import io.renren.modules.admin.entity.PaperviewEntity;
20
import io.renren.modules.admin.entity.PaperviewEntity;
22
import io.renren.modules.admin.entity.AttendersEntity;
23
import io.renren.modules.admin.entity.AttendersviewEntity;
24
import io.renren.modules.admin.entity.MemberEntity;
25
import io.renren.modules.admin.service.AttendersService;
26
import io.renren.modules.admin.service.AttendersviewService;
27
import io.renren.modules.admin.service.MemberService;
28
import io.renren.modules.admin.service.PaperService;
21
import io.renren.modules.admin.service.PaperService;
29
import io.renren.modules.admin.service.PaperviewService;
22
import io.renren.modules.admin.service.PaperviewService;
30
23
41
    @Autowired
34
    @Autowired
42
    private PaperService paperService;
35
    private PaperService paperService;
43
    @Autowired
36
    @Autowired
44
    private AttendersService attendersService;
45
    @Autowired
46
    private AttendersviewService attendersviewService;
47
    @Autowired
48
    private MemberService memberService;
49
    @Autowired
50
    private PaperviewService paperviewService;
37
    private PaperviewService paperviewService;
51
38
52
    /**
39
    /**
79
     */
66
     */
80
    @PostMapping("/save")
67
    @PostMapping("/save")
81
    @RequiresPermissions("admin:paper:save")
68
    @RequiresPermissions("admin:paper:save")
82
    public R save(@RequestBody PaperviewEntity paperForm){
83
        Long meetingId = paperForm.getMeetingId();
84
        if (meetingId == null || meetingId == 0L) {
69
    public R save(@RequestBody PaperEntity paper){
70
        if (paper.getAttendersId() == null || paper.getAttendersId() == 0L) {
85
            return R.error("会议id不可为空");
71
            return R.error("会议id不可为空");
86
        }
72
        }
87
88
        if (paperForm.getAttendersId()==null || paperForm.getAttendersId()==0L) {
89
            String symbol = MyUtils.md5(paperForm.getTruename() + paperForm.getPhone());
90
91
            AttendersviewEntity attendersview = attendersviewService.getBySymbolAndMid(symbol, meetingId);
92
            
93
            if (attendersview==null) {
94
                MemberEntity member = memberService.saveMember(paperForm.getTruename(), paperForm.getPhone(), paperForm.getOrganization(), null);
95
96
                Long memberId = member.getId();
97
                // 存参会信息
98
                AttendersEntity attenders = new AttendersEntity();
99
                attenders.setMemberId(memberId);
100
                attenders.setMeetingId(meetingId);
101
                attendersService.save(attenders);
102
                paperForm.setAttendersId(attenders.getId());
103
            } else {
104
                paperForm.setAttendersId(attendersview.getId());
105
            }
106
        }
107
108
        PaperEntity paper = new PaperEntity();
109
        paper.setAttendersId(paperForm.getAttendersId());
110
        paper.setTitle(paperForm.getTitle());
111
        paper.setUrl(paperForm.getUrl());
112
        paper.setType(paperForm.getType());
113
        paper.setStatus(0);
114
        paper.setMoney(paperForm.getMoney());
115
        paper.setTax(paperForm.getTax());
116
        paper.setMail(paperForm.getMail());
117
        paper.setRemark(paperForm.getRemark());
118
        paper.setCreateTime(new Date());
73
        paper.setCreateTime(new Date());
119
120
        paperService.save(paper);
121
        
74
        boolean res = paperService.save(paper);
75
        if (!res) {
76
            return R.error("保存失败");
77
        }
122
        return R.ok();
78
        return R.ok();
123
    }
79
    }
124
80
127
     */
83
     */
128
    @RequestMapping("/update")
84
    @RequestMapping("/update")
129
    @RequiresPermissions("admin:paper:update")
85
    @RequiresPermissions("admin:paper:update")
130
    public R update(@RequestBody PaperviewEntity paperForm){
131
        Long meetingId = paperForm.getMeetingId();
132
        Long aid = paperForm.getAttendersId();
133
        if (meetingId == 0L || aid==0L) {
134
            return R.error("会议id不可为空, 参会名单id不能为空");
86
    public R update(@RequestBody PaperEntity paper){
87
        if (paper.getAttendersId() == null || paper.getAttendersId() == 0L) {
88
            return R.error("参会名单id不能为空");
89
        }
90
        boolean res = paperService.updateById(paper);
91
        if (!res) {
92
            return R.error("保存失败");
135
        }
93
        }
136
137
        PaperEntity paper = new PaperEntity();
138
        paper.setId(paperForm.getId());
139
        paper.setAttendersId(paperForm.getAttendersId());
140
        paper.setTitle(paperForm.getTitle());
141
        paper.setUrl(paperForm.getUrl());
142
        paper.setType(paperForm.getType());
143
        paper.setStatus(paperForm.getStatus());
144
        paper.setMoney(paperForm.getMoney());
145
        paper.setTax(paperForm.getTax());
146
        paper.setMail(paperForm.getMail());
147
        paper.setRemark(paperForm.getRemark());
148
149
		paperService.updateById(paper);
150
151
        return R.ok();
94
        return R.ok();
152
    }
95
    }
153
96

+ 0 - 1
src/main/java/io/renren/modules/admin/controller/ReportController.java

94
            scheduleService.updateById(schedule);
94
            scheduleService.updateById(schedule);
95
        }
95
        }
96
        
96
        
97
98
        return R.ok();
97
        return R.ok();
99
    }
98
    }
100
99

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

5
5
6
import io.renren.common.validator.group.AddGroup;
6
import io.renren.common.validator.group.AddGroup;
7
import io.renren.common.validator.group.UpdateGroup;
7
import io.renren.common.validator.group.UpdateGroup;
8
import io.renren.common.validator.Assert;
9
8
10
import java.io.Serializable;
9
import java.io.Serializable;
11
import java.util.Date;
10
import java.util.Date;
29
    /**
28
    /**
30
     * 
29
     * 
31
     */
30
     */
32
    @TableId
31
    @TableId(value = "id")
33
    private Long id;
32
    private Long id;
34
    /**
33
    /**
35
     * 名字
34
     * 名字
36
     */
35
     */
37
    @NotBlank(message="姓名不能为空", groups = {AddGroup.class, UpdateGroup.class})
36
    @NotBlank(message="姓名不能为空", groups = AddGroup.class)
38
    private String truename;
37
    private String truename;
39
    /**
38
    /**
40
     * 性别 1,男; 2,女
39
     * 性别 1,男; 2,女
51
    /**
50
    /**
52
     * 电话
51
     * 电话
53
     */
52
     */
54
    @NotBlank(message="电话不能为空", groups = {AddGroup.class, UpdateGroup.class})
53
    @NotBlank(message="电话不能为空", groups = AddGroup.class)
55
    private String phone;
54
    private String phone;
56
    /**
55
    /**
57
     * 邮箱
56
     * 邮箱

+ 24 - 1
src/main/java/io/renren/modules/app/controller/AppLoginController.java

8
8
9
package io.renren.modules.app.controller;
9
package io.renren.modules.app.controller;
10
10
11
12
import io.renren.common.utils.R;
11
import io.renren.common.utils.R;
13
import io.renren.common.validator.ValidatorUtils;
12
import io.renren.common.validator.ValidatorUtils;
13
import io.renren.modules.app.entity.UserEntity;
14
import io.renren.modules.app.form.LoginForm;
14
import io.renren.modules.app.form.LoginForm;
15
import io.renren.modules.app.service.SmsCodeService;
15
import io.renren.modules.app.service.UserService;
16
import io.renren.modules.app.service.UserService;
16
import io.renren.modules.app.utils.JwtUtils;
17
import io.renren.modules.app.utils.JwtUtils;
17
import io.swagger.annotations.Api;
18
import io.swagger.annotations.Api;
34
@RequestMapping("/app")
35
@RequestMapping("/app")
35
@Api("APP登录接口")
36
@Api("APP登录接口")
36
public class AppLoginController {
37
public class AppLoginController {
38
    @Autowired
39
    private SmsCodeService smsCodeService;
37
    @Autowired
40
    @Autowired
38
    private UserService userService;
41
    private UserService userService;
39
    @Autowired
42
    @Autowired
61
        return R.ok(map);
64
        return R.ok(map);
62
    }
65
    }
63
66
67
    @PostMapping("mobilecode")
68
    public R mobileCode(@RequestBody Map<String, Object> params) {
69
        String uuid = (String) params.get("uuid");
70
        String phone = (String) params.get("phone");
71
72
        UserEntity user = userService.queryByPhone(phone);
73
        if (user == null) {
74
            return R.error("手机号未注册");
75
        }
76
77
        String res = "";
78
        try {
79
            res = smsCodeService.getCode(uuid, phone);
80
        } catch (Exception e) {
81
            e.printStackTrace();
82
        }
83
        return R.ok(res);
84
    }
85
86
    
64
}
87
}

+ 11 - 10
src/main/java/io/renren/modules/app/controller/AppRegisterController.java

14
import io.renren.modules.app.entity.UserEntity;
14
import io.renren.modules.app.entity.UserEntity;
15
import io.renren.modules.app.form.RegisterForm;
15
import io.renren.modules.app.form.RegisterForm;
16
import io.renren.modules.app.service.UserService;
16
import io.renren.modules.app.service.UserService;
17
import io.swagger.annotations.Api;
18
import io.swagger.annotations.ApiOperation;
17
// import io.swagger.annotations.Api;
18
// import io.swagger.annotations.ApiOperation;
19
import org.apache.commons.codec.digest.DigestUtils;
19
import org.apache.commons.codec.digest.DigestUtils;
20
import org.springframework.beans.factory.annotation.Autowired;
20
import org.springframework.beans.factory.annotation.Autowired;
21
import org.springframework.web.bind.annotation.PostMapping;
21
// import org.springframework.web.bind.annotation.PostMapping;
22
import org.springframework.web.bind.annotation.RequestBody;
22
import org.springframework.web.bind.annotation.RequestBody;
23
import org.springframework.web.bind.annotation.RequestMapping;
24
import org.springframework.web.bind.annotation.RestController;
23
// import org.springframework.web.bind.annotation.RequestMapping;
24
// import org.springframework.web.bind.annotation.RestController;
25
// import io.renren.modules.app.service.SmsCodeService;
25
26
26
import java.util.Date;
27
import java.util.Date;
27
28
30
 *
31
 *
31
 * @author Mark sunlightcs@gmail.com
32
 * @author Mark sunlightcs@gmail.com
32
 */
33
 */
33
@RestController
34
@RequestMapping("/app")
35
@Api("APP注册接口")
34
// @RestController
35
// @RequestMapping("/app")
36
// @Api("APP注册接口")
36
public class AppRegisterController {
37
public class AppRegisterController {
37
    @Autowired
38
    @Autowired
38
    private UserService userService;
39
    private UserService userService;
39
40
40
    @PostMapping("register")
41
    @ApiOperation("注册")
41
    // @PostMapping("register")
42
    // @ApiOperation("注册")
42
    public R register(@RequestBody RegisterForm form){
43
    public R register(@RequestBody RegisterForm form){
43
        //表单校验
44
        //表单校验
44
        ValidatorUtils.validateEntity(form);
45
        ValidatorUtils.validateEntity(form);

+ 52 - 4
src/main/java/io/renren/modules/app/controller/AppTestController.java

8
8
9
package io.renren.modules.app.controller;
9
package io.renren.modules.app.controller;
10
10
11
12
import io.renren.common.utils.R;
11
import io.renren.common.utils.R;
12
import io.renren.common.utils.AliyunSmsUtils;
13
import io.renren.modules.app.annotation.Login;
13
import io.renren.modules.app.annotation.Login;
14
import io.renren.modules.app.annotation.LoginUser;
14
import io.renren.modules.app.annotation.LoginUser;
15
import io.renren.modules.app.entity.UserEntity;
15
import io.renren.modules.app.entity.UserEntity;
16
import io.swagger.annotations.Api;
16
import io.swagger.annotations.Api;
17
import io.swagger.annotations.ApiOperation;
17
import io.swagger.annotations.ApiOperation;
18
19
import java.util.UUID;
20
21
import org.springframework.beans.factory.annotation.Autowired;
18
import org.springframework.web.bind.annotation.GetMapping;
22
import org.springframework.web.bind.annotation.GetMapping;
23
import org.springframework.web.bind.annotation.PostMapping;
19
import org.springframework.web.bind.annotation.RequestAttribute;
24
import org.springframework.web.bind.annotation.RequestAttribute;
20
import org.springframework.web.bind.annotation.RequestMapping;
25
import org.springframework.web.bind.annotation.RequestMapping;
21
import org.springframework.web.bind.annotation.RestController;
26
import org.springframework.web.bind.annotation.RestController;
27
import io.renren.modules.app.service.SmsCodeService;
22
28
23
/**
29
/**
24
 * APP测试接口
30
 * APP测试接口
29
@RequestMapping("/app")
35
@RequestMapping("/app")
30
@Api("APP测试接口")
36
@Api("APP测试接口")
31
public class AppTestController {
37
public class AppTestController {
38
    @Autowired
39
    private SmsCodeService smsCodeService;
32
40
33
    @Login
41
    @Login
34
    @GetMapping("userInfo")
42
    @GetMapping("userInfo")
35
    @ApiOperation("获取用户信息")
43
    @ApiOperation("获取用户信息")
36
    public R userInfo(@LoginUser UserEntity user){
44
    public R userInfo(@LoginUser UserEntity user) {
37
        return R.ok().put("user", user);
45
        return R.ok().put("user", user);
38
    }
46
    }
39
47
40
    @Login
48
    @Login
41
    @GetMapping("userId")
49
    @GetMapping("userId")
42
    @ApiOperation("获取用户ID")
50
    @ApiOperation("获取用户ID")
43
    public R userInfo(@RequestAttribute("userId") Integer userId){
51
    public R userInfo(@RequestAttribute("userId") Integer userId) {
44
        return R.ok().put("userId", userId);
52
        return R.ok().put("userId", userId);
45
    }
53
    }
46
54
47
    @GetMapping("notToken")
55
    @GetMapping("notToken")
48
    @ApiOperation("忽略Token验证测试")
56
    @ApiOperation("忽略Token验证测试")
49
    public R notToken(){
57
    public R notToken() {
50
        return R.ok().put("msg", "无需token也能访问。。。");
58
        return R.ok().put("msg", "无需token也能访问。。。");
51
    }
59
    }
52
60
61
    @PostMapping("sendSmsTest")
62
    public R sendTest() {
63
        String[] params = new String[3];
64
65
        params[0] = "17611467373"; //
66
        params[1] = "中国腐蚀与防护学会"; // SignName (签名名称)
67
        params[2] = "SMS_196640221"; // TemplateCode(模板code)
68
69
        AliyunSmsUtils.sendSms(params);
70
        return R.ok();
71
    }
72
73
    @PostMapping("mobileCodeTest")
74
    public R mobileCodeTest() {
75
        String phone = "17611467373";
76
        String uuid = UUID.randomUUID().toString();
77
78
        String res = "";
79
        try {
80
            res = smsCodeService.getCode(uuid, phone);
81
        } catch (Exception e) {
82
            e.printStackTrace();
83
        }
84
        return R.ok(res);
85
    }
86
87
    @PostMapping("valmobileCodeTest")
88
    public R valMobileCodeTest() {
89
        String phone = "17611467373";
90
        String uuid = "2aada6ef-8cf8-4932-bc76-198cff8c8809";
91
        String code = "437964";
92
93
        try {
94
            smsCodeService.validate(uuid, code, phone);
95
            return R.ok();
96
        } catch (Exception e) {
97
            e.printStackTrace();
98
            return R.error();
99
        }
100
    }
53
}
101
}

+ 17 - 0
src/main/java/io/renren/modules/app/dao/SmsCodeDao.java

1
package io.renren.modules.app.dao;
2
3
import io.renren.modules.app.entity.SmsCodeEntity;
4
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5
import org.apache.ibatis.annotations.Mapper;
6
7
/**
8
 * 短信平台验证码
9
 * 
10
 * @author chenshun
11
 * @email sunlightcs@gmail.com
12
 * @date 2020-05-20 09:54:35
13
 */
14
@Mapper
15
public interface SmsCodeDao extends BaseMapper<SmsCodeEntity> {
16
	
17
}

+ 41 - 0
src/main/java/io/renren/modules/app/entity/SmsCodeEntity.java

1
package io.renren.modules.app.entity;
2
3
import com.baomidou.mybatisplus.annotation.IdType;
4
import com.baomidou.mybatisplus.annotation.TableId;
5
import com.baomidou.mybatisplus.annotation.TableName;
6
7
import java.io.Serializable;
8
import java.util.Date;
9
import lombok.Data;
10
11
/**
12
 * 短信平台验证码
13
 * 
14
 * @author chenshun
15
 * @email sunlightcs@gmail.com
16
 * @date 2020-05-20 09:54:35
17
 */
18
@Data
19
@TableName("sms_code")
20
public class SmsCodeEntity implements Serializable {
21
	private static final long serialVersionUID = 1L;
22
23
	/**
24
	 * uuid
25
	 */
26
	@TableId(type = IdType.INPUT)
27
	private String uuid;
28
	/**
29
	 * phone
30
	 */
31
	private String phone;
32
	/**
33
	 * code
34
	 */
35
	private String code;
36
	/**
37
	 * 过期时间
38
	 */
39
	private Date expireTime;
40
41
}

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

13
import lombok.Data;
13
import lombok.Data;
14
14
15
import java.io.Serializable;
15
import java.io.Serializable;
16
import java.util.Date;
17
16
17
import javax.validation.constraints.NotBlank;
18
import io.renren.common.validator.group.AddGroup;
19
import io.renren.common.validator.group.UpdateGroup;
18
20
19
/**
21
/**
20
 * 用户
22
 * 用户
22
 * @author Mark sunlightcs@gmail.com
24
 * @author Mark sunlightcs@gmail.com
23
 */
25
 */
24
@Data
26
@Data
25
@TableName("tb_user")
27
@TableName("member")
26
public class UserEntity implements Serializable {
28
public class UserEntity implements Serializable {
27
	private static final long serialVersionUID = 1L;
29
	private static final long serialVersionUID = 1L;
28
30
32
	@TableId
34
	@TableId
33
	private Long userId;
35
	private Long userId;
34
	/**
36
	/**
35
	 * 用户名
36
	 */
37
	private String username;
38
	/**
39
	 * 手机号
40
	 */
41
	private String mobile;
42
	/**
43
	 * 密码
44
	 */
45
	private String password;
46
	/**
47
	 * 创建时间
48
	 */
49
	private Date createTime;
50
37
     * 名字
38
     */
39
    @NotBlank(message="姓名不能为空", groups = {AddGroup.class, UpdateGroup.class})
40
    private String truename;
41
    /**
42
     * 性别 1,男; 2,女
43
     */
44
    private Integer sex;
45
    /**
46
     * 电话
47
     */
48
    @NotBlank(message="电话不能为空", groups = {AddGroup.class, UpdateGroup.class})
49
    private String phone;
50
    /**
51
     * 邮箱
52
     */
53
    private String email;
54
    /**
55
     * 备注
56
     */
57
    private String remark;
58
    /**
59
     * 
60
     */
61
    private String symbol;
51
}
62
}

+ 12 - 7
src/main/java/io/renren/modules/app/form/LoginForm.java

8
8
9
package io.renren.modules.app.form;
9
package io.renren.modules.app.form;
10
10
11
import io.swagger.annotations.ApiModel;
12
import io.swagger.annotations.ApiModelProperty;
13
import lombok.Data;
11
import lombok.Data;
14
12
15
import javax.validation.constraints.NotBlank;
13
import javax.validation.constraints.NotBlank;
20
 * @author Mark sunlightcs@gmail.com
18
 * @author Mark sunlightcs@gmail.com
21
 */
19
 */
22
@Data
20
@Data
23
@ApiModel(value = "登录表单")
24
public class LoginForm {
21
public class LoginForm {
25
    @ApiModelProperty(value = "手机号")
26
    @NotBlank(message="手机号不能为空")
27
    private String mobile;
22
    // @ApiModelProperty(value = "手机号")
23
    // @NotBlank(message="手机号不能为空")
24
    // private String mobile;
25
26
    // @ApiModelProperty(value = "密码")
27
    // @NotBlank(message="密码不能为空")
28
    // private String password;
28
29
29
    @ApiModelProperty(value = "密码")
30
    @NotBlank(message="手机号不能为空")
31
    private String phone;
30
    @NotBlank(message="密码不能为空")
32
    @NotBlank(message="密码不能为空")
31
    private String password;
33
    private String password;
34
    @NotBlank(message="短信验证码不能为空")
35
    private String code;
36
    private String uuid;
32
37
33
}
38
}

+ 26 - 0
src/main/java/io/renren/modules/app/service/SmsCodeService.java

1
package io.renren.modules.app.service;
2
3
import com.baomidou.mybatisplus.extension.service.IService;
4
import io.renren.modules.app.entity.SmsCodeEntity;
5
6
/**
7
 * 短信验证码
8
 *
9
 * @author chenshun
10
 * @email sunlightcs@gmail.com
11
 * @date 2020-05-20 09:54:35
12
 */
13
public interface SmsCodeService extends IService<SmsCodeEntity> {
14
    /**
15
     * 获取短信验证码
16
     */
17
    String getCode(String uuid, String phone) throws Exception;
18
19
    /**
20
     * 验证码效验
21
     * @param uuid  uuid
22
     * @param code  验证码
23
     * @return  true:成功  false:失败
24
     */
25
    boolean validate(String uuid, String code, String phone);
26
}

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

11
11
12
import com.baomidou.mybatisplus.extension.service.IService;
12
import com.baomidou.mybatisplus.extension.service.IService;
13
import io.renren.modules.app.entity.UserEntity;
13
import io.renren.modules.app.entity.UserEntity;
14
import io.renren.modules.app.form.LoginForm;
14
// import io.renren.modules.app.form.LoginForm;
15
15
16
/**
16
/**
17
 * 用户
17
 * 用户
20
 */
20
 */
21
public interface UserService extends IService<UserEntity> {
21
public interface UserService extends IService<UserEntity> {
22
22
23
	UserEntity queryByMobile(String mobile);
23
	UserEntity queryByPhone(String phone);
24
24
25
	/**
25
	/**
26
	 * 用户登录
26
	 * 用户登录
27
	 * @param form    登录表单
27
	 * @param form    登录表单
28
	 * @return        返回用户ID
28
	 * @return        返回用户ID
29
	 */
29
	 */
30
	long login(LoginForm form);
30
	// long login(LoginForm form);
31
}
31
}

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

1
package io.renren.modules.app.service.impl;
2
3
import org.springframework.stereotype.Service;
4
5
import java.util.Date;
6
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
7
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
8
import io.renren.common.exception.RRException;
9
import org.apache.commons.lang.StringUtils;
10
11
import io.renren.common.utils.ConfigConstant;
12
import io.renren.common.utils.DateUtils;
13
import io.renren.modules.app.dao.SmsCodeDao;
14
import io.renren.modules.app.entity.SmsCodeEntity;
15
import io.renren.modules.app.service.SmsCodeService;
16
import io.renren.common.utils.AliyunSmsUtils;
17
18
@Service("smsCodeService")
19
public class SmsCodeServiceImpl extends ServiceImpl<SmsCodeDao, SmsCodeEntity> implements SmsCodeService {
20
21
    @Override
22
    public String getCode(String uuid, String phone) {
23
        if (StringUtils.isBlank(uuid)) {
24
            throw new RRException("uuid不能为空");
25
        }
26
        // 生成数字验证码
27
        String code = String.valueOf((int) ((Math.random() * 9 + 1) * 100000));
28
        SmsCodeEntity smsCodeEntity = new SmsCodeEntity();
29
        smsCodeEntity.setUuid(uuid);
30
        smsCodeEntity.setPhone(phone);
31
        smsCodeEntity.setCode(code);
32
        smsCodeEntity.setExpireTime(DateUtils.addDateMinutes(new Date(), ConfigConstant.EXPIRE_TIME));
33
34
        String result = "";
35
        try {
36
            this.save(smsCodeEntity);
37
            // 发送验证码
38
            result = AliyunSmsUtils.sendSms(phone, ConfigConstant.SignName, ConfigConstant.TemplateCode,
39
                    "{\"code\":" + code + "}");
40
            System.out.println(result);
41
        } catch (Exception e) {
42
            e.printStackTrace();
43
        }
44
        return result;
45
    }
46
47
    @Override
48
    public boolean validate(String uuid, String code, String phone) {
49
        SmsCodeEntity smsCodeEntity = this.getOne(new QueryWrapper<SmsCodeEntity>().eq("uuid", uuid));
50
        if (smsCodeEntity == null) {
51
            return false;
52
        }
53
54
        if (smsCodeEntity.getCode().equalsIgnoreCase(code) && smsCodeEntity.getPhone().equalsIgnoreCase(phone)
55
                && smsCodeEntity.getExpireTime().getTime() >= System.currentTimeMillis()) {
56
            // 删除验证码
57
            this.removeById(uuid);
58
            return true;
59
        }
60
        return false;
61
    }
62
}

+ 16 - 16
src/main/java/io/renren/modules/app/service/impl/UserServiceImpl.java

11
11
12
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
12
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
13
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
13
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
14
import io.renren.common.exception.RRException;
15
import io.renren.common.validator.Assert;
14
// import io.renren.common.exception.RRException;
15
// import io.renren.common.validator.Assert;
16
import io.renren.modules.app.dao.UserDao;
16
import io.renren.modules.app.dao.UserDao;
17
import io.renren.modules.app.entity.UserEntity;
17
import io.renren.modules.app.entity.UserEntity;
18
import io.renren.modules.app.form.LoginForm;
18
// import io.renren.modules.app.form.LoginForm;
19
import io.renren.modules.app.service.UserService;
19
import io.renren.modules.app.service.UserService;
20
import org.apache.commons.codec.digest.DigestUtils;
20
// import org.apache.commons.codec.digest.DigestUtils;
21
import org.springframework.stereotype.Service;
21
import org.springframework.stereotype.Service;
22
22
23
23
25
public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements UserService {
25
public class UserServiceImpl extends ServiceImpl<UserDao, UserEntity> implements UserService {
26
26
27
	@Override
27
	@Override
28
	public UserEntity queryByMobile(String mobile) {
29
		return baseMapper.selectOne(new QueryWrapper<UserEntity>().eq("mobile", mobile));
28
	public UserEntity queryByPhone(String phone) {
29
		return baseMapper.selectOne(new QueryWrapper<UserEntity>().eq("phone", phone));
30
	}
30
	}
31
31
32
	@Override
33
	public long login(LoginForm form) {
34
		UserEntity user = queryByMobile(form.getMobile());
35
		Assert.isNull(user, "手机号或密码错误");
32
	// @Override
33
	// public long login(LoginForm form) {
34
	// 	UserEntity user = queryByPhone(form.getMobile());
35
	// 	Assert.isNull(user, "手机号或密码错误");
36
36
37
		//密码错误
38
		if(!user.getPassword().equals(DigestUtils.sha256Hex(form.getPassword()))){
39
			throw new RRException("手机号或密码错误");
40
		}
37
	// 	//密码错误
38
	// 	if(!user.getPassword().equals(DigestUtils.sha256Hex(form.getPassword()))){
39
	// 		throw new RRException("手机号或密码错误");
40
	// 	}
41
41
42
		return user.getUserId();
43
	}
42
	// 	return user.getUserId();
43
	// }
44
}
44
}