|
@@ -18,6 +18,7 @@ import com.miaxis.common.constant.SmsTemplateConstants;
|
|
|
import com.miaxis.common.core.domain.Response;
|
|
|
import com.miaxis.common.core.domain.entity.SysUser;
|
|
|
import com.miaxis.common.core.domain.entity.UserInfo;
|
|
|
+import com.miaxis.common.exception.CustomException;
|
|
|
import com.miaxis.common.utils.DateUtils;
|
|
|
import com.miaxis.common.utils.RedisPrefixUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -102,20 +103,21 @@ public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo> i
|
|
|
*/
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public Response modifyPhoneNumber(String smsCodeType,String phone,String verificationCode,SysUser user) {
|
|
|
+ public Response modifyPhoneNumber(String phone,String verificationCode,SysUser user) {
|
|
|
|
|
|
//生成短信缓存前缀
|
|
|
- Map<String, String> map = RedisPrefixUtils.smsRedisPrefix(smsCodeType,phone);
|
|
|
+ String smsKeyPrefix = RedisPrefixUtils.getSmsKeyPrefix("modify", phone);
|
|
|
+ String smsKeyCountPrefix = RedisPrefixUtils.getSmsKeyCountPrefix("modify", phone);
|
|
|
|
|
|
//查看验证码是否过期
|
|
|
- if (redisTemplate.hasKey(map.get("smsKeyCountPrefix")) &&
|
|
|
- !redisTemplate.hasKey(map.get("keyPrefix"))){
|
|
|
- return Response.error(500,"验证码已过期,请重新验证!");
|
|
|
+ if (redisTemplate.hasKey(smsKeyCountPrefix) &&
|
|
|
+ !redisTemplate.hasKey(smsKeyPrefix)){
|
|
|
+ throw new CustomException("验证码已过期,请重新验证!");
|
|
|
}
|
|
|
//比对缓存中的验证码
|
|
|
- String smsCodeValue = redisTemplate.opsForValue().get(map.get("keyPrefix")).toString();
|
|
|
+ String smsCodeValue = redisTemplate.opsForValue().get(smsKeyPrefix).toString();
|
|
|
if (!verificationCode.equals(smsCodeValue)){
|
|
|
- return Response.error(500,"验证码错误,请重新输入");
|
|
|
+ throw new CustomException("验证码错误,请重新输入!");
|
|
|
}
|
|
|
|
|
|
UserInfo userInfo = new UserInfo();
|
|
@@ -135,102 +137,98 @@ public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo> i
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public Response saveUserInformation(UserDto userDto) {
|
|
|
- try {
|
|
|
|
|
|
- //生成短信缓存前缀
|
|
|
- Map<String, String> map = RedisPrefixUtils.smsRedisPrefix(userDto.getSmsCodeType(), userDto.getMobile());
|
|
|
+ //生成短信缓存前缀
|
|
|
+ String smsKeyPrefix = RedisPrefixUtils.getSmsKeyPrefix("signUp", userDto.getMobile());
|
|
|
+ String smsKeyCountPrefix = RedisPrefixUtils.getSmsKeyCountPrefix("signUp", userDto.getMobile());
|
|
|
|
|
|
- //查看验证码是否过期
|
|
|
- if (redisTemplate.hasKey(map.get("smsKeyCountPrefix")) &&
|
|
|
- !redisTemplate.hasKey(map.get("keyPrefix"))){
|
|
|
- return Response.error(500,"验证码已过期,请重新验证!");
|
|
|
- }
|
|
|
- //比对缓存中的验证码
|
|
|
- String smsCodeValue = redisTemplate.opsForValue().get(map.get("keyPrefix")).toString();
|
|
|
- if (!userDto.getVerificationCode().equals(smsCodeValue)){
|
|
|
- return Response.error(500,"验证码错误,请重新输入");
|
|
|
- }
|
|
|
+ //查看验证码是否过期
|
|
|
+ if (redisTemplate.hasKey(smsKeyCountPrefix) &&
|
|
|
+ !redisTemplate.hasKey(smsKeyPrefix)){
|
|
|
+ throw new CustomException("验证码已过期,请重新验证!");
|
|
|
+ }
|
|
|
+ //比对缓存中的验证码
|
|
|
+ String smsCodeValue = redisTemplate.opsForValue().get(smsKeyPrefix).toString();
|
|
|
+ if (!userDto.getVerificationCode().equals(smsCodeValue)){
|
|
|
+ throw new CustomException("验证码错误,请重新输入!");
|
|
|
+ }
|
|
|
|
|
|
- UserInfo userInfo = new UserInfo();
|
|
|
- //用户信息表
|
|
|
- userInfo.setName(userDto.getName());
|
|
|
- userInfo.setSex(userDto.getSex());
|
|
|
- userInfo.setSfzmlx(1l);
|
|
|
- userInfo.setIdCard(userDto.getIdCard());
|
|
|
- userInfo.setMobile(userDto.getMobile());
|
|
|
- userInfo.setInscode(userDto.getInscode());
|
|
|
- userInfo.setPxcx(userDto.getPxcx());
|
|
|
- userInfo.setSchoolClassTypeId(userDto.getSchoolClassTypeId());
|
|
|
- userInfo.setCoachnum(userDto.getCoachnum());
|
|
|
- userInfo.setStatus(0);
|
|
|
- userInfoMapper.insert(userInfo);
|
|
|
-
|
|
|
-
|
|
|
- //用户报名信息表
|
|
|
- UserRegister userRegister = new UserRegister();
|
|
|
- userRegister.setUserId(userInfo.getId());
|
|
|
- userRegister.setInscode(userDto.getInscode());
|
|
|
- userRegister.setBmcx(userDto.getPxcx());
|
|
|
- userRegister.setCoachnum(userDto.getCoachnum());
|
|
|
- userRegister.setClassId(userDto.getSchoolClassTypeId());
|
|
|
- userRegisterMapper.insert(userRegister);
|
|
|
-
|
|
|
- //报名缴费信息
|
|
|
- UserPay userPay = new UserPay();
|
|
|
- userPay.setUserId(userInfo.getId());
|
|
|
- userPay.setPrice(userDto.getSchoolClassTypePrice());
|
|
|
- userPay.setPayType(4l);
|
|
|
- userPay.setPayStatus(0l);
|
|
|
- userPayMapper.insert(userPay);
|
|
|
-
|
|
|
- //用户图片信息
|
|
|
- List<UserImages> userImagesList = new ArrayList<>();
|
|
|
- for (int i = 0; i < 3; i++) {
|
|
|
- UserImages userImages = new UserImages();
|
|
|
- userImages.setUserId(userInfo.getId());
|
|
|
- switch(i){
|
|
|
- case 0 :
|
|
|
- userImages.setFileUrl(userDto.getIdCardFrontUrl());
|
|
|
- userImages.setFilePath(userDto.getIdCardFrontPath());
|
|
|
- userImages.setImageType(1l);
|
|
|
- userImagesList.add(userImages);
|
|
|
- break;
|
|
|
- case 1 :
|
|
|
- userImages.setFileUrl(userDto.getIdCardReverseUrl());
|
|
|
- userImages.setFilePath(userDto.getIdCardReversePath());
|
|
|
- userImages.setImageType(2l);
|
|
|
- userImagesList.add(userImages);
|
|
|
- break;
|
|
|
- case 2 :
|
|
|
- userImages.setFileUrl(userDto.getFacesUrl());
|
|
|
- userImages.setFilePath(userDto.getFacesPath());
|
|
|
- userImages.setImageType(3l);
|
|
|
- userImagesList.add(userImages);
|
|
|
- break;
|
|
|
- default :
|
|
|
- break;
|
|
|
- }
|
|
|
+ UserInfo userInfo = new UserInfo();
|
|
|
+ //用户信息表
|
|
|
+ userInfo.setName(userDto.getName());
|
|
|
+ userInfo.setSex(userDto.getSex());
|
|
|
+ userInfo.setSfzmlx(1l);
|
|
|
+ userInfo.setIdCard(userDto.getIdCard());
|
|
|
+ userInfo.setMobile(userDto.getMobile());
|
|
|
+ userInfo.setInscode(userDto.getInscode());
|
|
|
+ userInfo.setPxcx(userDto.getPxcx());
|
|
|
+ userInfo.setSchoolClassTypeId(userDto.getSchoolClassTypeId());
|
|
|
+ userInfo.setCoachnum(userDto.getCoachnum());
|
|
|
+ userInfo.setStatus(0);
|
|
|
+ userInfoMapper.insert(userInfo);
|
|
|
+
|
|
|
+
|
|
|
+ //用户报名信息表
|
|
|
+ UserRegister userRegister = new UserRegister();
|
|
|
+ userRegister.setUserId(userInfo.getId());
|
|
|
+ userRegister.setInscode(userDto.getInscode());
|
|
|
+ userRegister.setBmcx(userDto.getPxcx());
|
|
|
+ userRegister.setCoachnum(userDto.getCoachnum());
|
|
|
+ userRegister.setClassId(userDto.getSchoolClassTypeId());
|
|
|
+ userRegisterMapper.insert(userRegister);
|
|
|
+
|
|
|
+ //报名缴费信息
|
|
|
+ UserPay userPay = new UserPay();
|
|
|
+ userPay.setUserId(userInfo.getId());
|
|
|
+ userPay.setPrice(userDto.getSchoolClassTypePrice());
|
|
|
+ userPay.setPayType(4l);
|
|
|
+ userPay.setPayStatus(0l);
|
|
|
+ userPayMapper.insert(userPay);
|
|
|
+
|
|
|
+ //用户图片信息
|
|
|
+ List<UserImages> userImagesList = new ArrayList<>();
|
|
|
+ for (int i = 0; i < 3; i++) {
|
|
|
+ UserImages userImages = new UserImages();
|
|
|
+ userImages.setUserId(userInfo.getId());
|
|
|
+ switch(i){
|
|
|
+ case 0 :
|
|
|
+ userImages.setFileUrl(userDto.getIdCardFrontUrl());
|
|
|
+ userImages.setFilePath(userDto.getIdCardFrontPath());
|
|
|
+ userImages.setImageType(1l);
|
|
|
+ userImagesList.add(userImages);
|
|
|
+ break;
|
|
|
+ case 1 :
|
|
|
+ userImages.setFileUrl(userDto.getIdCardReverseUrl());
|
|
|
+ userImages.setFilePath(userDto.getIdCardReversePath());
|
|
|
+ userImages.setImageType(2l);
|
|
|
+ userImagesList.add(userImages);
|
|
|
+ break;
|
|
|
+ case 2 :
|
|
|
+ userImages.setFileUrl(userDto.getFacesUrl());
|
|
|
+ userImages.setFilePath(userDto.getFacesPath());
|
|
|
+ userImages.setImageType(3l);
|
|
|
+ userImagesList.add(userImages);
|
|
|
+ break;
|
|
|
+ default :
|
|
|
+ break;
|
|
|
}
|
|
|
- userImagesService.saveBatch(userImagesList);
|
|
|
-
|
|
|
- return Response.success(userInfo);
|
|
|
- }catch (Exception e){
|
|
|
- throw new RuntimeException(e);
|
|
|
}
|
|
|
+ userImagesService.saveBatch(userImagesList);
|
|
|
+
|
|
|
+ return Response.success(userInfo);
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 注册报名获取短信验证码
|
|
|
- * @param type
|
|
|
* @param phone
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
- public Response sendSignUpVerificationCode(String type, String phone) {
|
|
|
+ public Response sendSignUpVerificationCode(String phone) {
|
|
|
SmsParameter smsParameter = new SmsParameter();
|
|
|
smsParameter.setPhone(phone);
|
|
|
- smsParameter.setType(type);
|
|
|
+ smsParameter.setType("signUp");
|
|
|
|
|
|
return smsService.sendVerificationCode(smsParameter);
|
|
|
}
|
|
@@ -239,19 +237,18 @@ public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo> i
|
|
|
/**
|
|
|
* 修改手机号获取短信验证码
|
|
|
* @param user
|
|
|
- * @param type
|
|
|
* @param phone
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
- public Response sendModifyVerificationCode(SysUser user, String type, String phone) {
|
|
|
+ public Response sendModifyVerificationCode(SysUser user, String phone) {
|
|
|
if (user.getPhonenumber().equals(phone)){
|
|
|
- return Response.error(500,"该手机号与当前绑定的手机号相同");
|
|
|
+ throw new CustomException("该手机号与当前绑定的手机号相同!");
|
|
|
}
|
|
|
|
|
|
SmsParameter smsParameter = new SmsParameter();
|
|
|
smsParameter.setPhone(phone);
|
|
|
- smsParameter.setType(type);
|
|
|
+ smsParameter.setType("modify");
|
|
|
|
|
|
return smsService.sendVerificationCode(smsParameter);
|
|
|
}
|