Commit c1126ab2 authored by 杨锐's avatar 杨锐

code review done。

parent a0104e38
......@@ -2,13 +2,4 @@ package cn.quantgroup.xyqb.constant;
public class UserConstant {
public static final String USER_ERROR_OR_PASSWORD_ERROR = "帐号或密码错误";
/**
* 校验手机号
*/
public static final String MOBILE_PATTERN = "^(1[3-9])\\d{9}$";
/**
* 校验身份证号
*/
public static final String ID_CARD_PATTERN = "^(\\d{18,18}|\\d{15,15}|(\\d{17,17}[x|X]))$";
}
......@@ -7,7 +7,9 @@ import cn.quantgroup.xyqb.controller.modifyphoneno.req.Step1Req;
import cn.quantgroup.xyqb.controller.modifyphoneno.req.Step2Req;
import cn.quantgroup.xyqb.entity.ModifyPhoneNo;
import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.exception.DataException;
import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.service.auth.IIdCardService;
import cn.quantgroup.xyqb.service.user.IModifyPhoneNoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -16,6 +18,7 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.text.ParseException;
/**
* 用户手机号修改相关api
......@@ -32,6 +35,8 @@ public class ModifyPhoneNoController implements IBaseController {
@Resource
private IModifyPhoneNoService modifyPhoneNoService;
@Resource
private IIdCardService iIdCardService;
@ApiOperation("app - 查询用户手机号修改进度")
@GetMapping("/progress")
......@@ -40,7 +45,7 @@ public class ModifyPhoneNoController implements IBaseController {
if (user == null) {
return JsonResult.buildErrorStateResult("系统错误", null);
}
return JsonResult.buildSuccessResult(modifyPhoneNoService.progress(user.getId()));
return JsonResult.buildSuccessResultGeneric(modifyPhoneNoService.progress(user.getId()));
}
......@@ -52,12 +57,15 @@ public class ModifyPhoneNoController implements IBaseController {
*/
@ApiOperation("app - 申请修改手机号Step_1")
@PostMapping("/step_1")
public JsonResult step1(@Valid @RequestBody Step1Req step1Req) {
public JsonResult step1(@Valid @RequestBody Step1Req step1Req) throws ParseException {
if (!iIdCardService.isIdCardValid(step1Req.getIdCard())) {
throw new DataException("身份证件号格式错误");
}
User user = getCurrentUserFromRedis();
if (user == null) {
return JsonResult.buildErrorStateResult("系统错误", null);
}
return JsonResult.buildSuccessResult(modifyPhoneNoService.saveStep1(user.getId(), step1Req));
return JsonResult.buildSuccessResultGeneric(modifyPhoneNoService.saveStep1(user.getId(), step1Req));
}
/**
......@@ -81,7 +89,7 @@ public class ModifyPhoneNoController implements IBaseController {
@ApiOperation("后台客服处理功能 - 查询列表")
@GetMapping
public JsonResult<Page<ModifyPhoneNo>> list(@Valid ModifyPhoneNoQueryReq modifyPhoneNoQueryReq) {
return JsonResult.buildSuccessResult(modifyPhoneNoService.list(modifyPhoneNoQueryReq));
return JsonResult.buildSuccessResultGeneric(modifyPhoneNoService.list(modifyPhoneNoQueryReq));
}
/**
......
......@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* Date: 2019/11/4
......@@ -13,7 +14,9 @@ import javax.validation.constraints.NotNull;
* @author: yangrui
*/
@Data
public class AuditReq {
public class AuditReq implements Serializable {
private static final long serialVersionUID = 9183603336718659105L;
@NotNull(message = "id不能为空")
private Long id;
@ApiModelProperty("申请状态 DONE 通过; NO_ALLOW 不通过;")
......
......@@ -6,6 +6,8 @@ import cn.quantgroup.xyqb.controller.req.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* Date: 2019/11/5
* Time: 下午4:02
......@@ -13,8 +15,9 @@ import lombok.Data;
* @author: yangrui
*/
@Data
public class ModifyPhoneNoQueryReq extends Page {
public class ModifyPhoneNoQueryReq extends Page implements Serializable {
private static final long serialVersionUID = -5578450647474952863L;
/**
* 申请人旧手机号
*/
......
package cn.quantgroup.xyqb.controller.modifyphoneno.req;
import cn.quantgroup.xyqb.constant.UserConstant;
import cn.quantgroup.xyqb.entity.ModifyPhoneNo;
import cn.quantgroup.xyqb.util.ValidationUtil;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
......@@ -9,6 +9,7 @@ import org.hibernate.validator.constraints.NotBlank;
import org.springframework.beans.BeanUtils;
import javax.validation.constraints.Pattern;
import java.io.Serializable;
import java.util.Date;
/**
......@@ -18,8 +19,9 @@ import java.util.Date;
* @author: yangrui
*/
@Data
public class Step1Req {
public class Step1Req implements Serializable {
private static final long serialVersionUID = 3072182423041383540L;
/**
* 注册人真实姓名
*/
......@@ -33,7 +35,6 @@ public class Step1Req {
*/
@ApiModelProperty("注册人身份证件号")
@NotBlank(message = "注册人身份证件号不能为空")
@Pattern(regexp = UserConstant.ID_CARD_PATTERN, message = "身份证件号格式错误")
private String idCard;
/**
......@@ -41,7 +42,7 @@ public class Step1Req {
*/
@ApiModelProperty("当前手机号码")
@NotBlank(message = "当前手机号码不能为空")
@Pattern(regexp = UserConstant.MOBILE_PATTERN, message = "当前手机号码格式错误")
@Pattern(regexp = ValidationUtil.phoneRegExp, message = "当前手机号码格式错误")
private String prevPhoneNo;
/**
......@@ -49,7 +50,7 @@ public class Step1Req {
*/
@ApiModelProperty("新手机号码")
@NotBlank(message = "新手机号码不能为空")
@Pattern(regexp = UserConstant.MOBILE_PATTERN, message = "新手机号码格式错误")
@Pattern(regexp = ValidationUtil.phoneRegExp, message = "新手机号码格式错误")
private String curPhoneNo;
/**
......
......@@ -5,6 +5,7 @@ import lombok.Data;
import org.hibernate.validator.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* Date: 2019/11/4
......@@ -13,7 +14,9 @@ import javax.validation.constraints.NotNull;
* @author: yangrui
*/
@Data
public class Step2Req {
public class Step2Req implements Serializable {
private static final long serialVersionUID = 3199682428349201451L;
/**
*
*/
......
......@@ -5,6 +5,8 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* Date: 2019/11/5
* Time: 上午11:49
......@@ -15,7 +17,8 @@ import lombok.NoArgsConstructor;
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class UserLoanStatusResp {
public class UserLoanStatusResp implements Serializable {
private static final long serialVersionUID = 6325390529584723230L;
private boolean bizSuc;
private String businessCode;
private String code;
......
......@@ -3,6 +3,7 @@ package cn.quantgroup.xyqb.entity;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
/**
......@@ -14,7 +15,9 @@ import java.util.Date;
@Data
@Entity
@Table(name = "user_modify_phone_no")
public class ModifyPhoneNo {
public class ModifyPhoneNo implements Serializable {
private static final long serialVersionUID = -7797532159380593454L;
/**
* id
*/
......
......@@ -80,7 +80,7 @@ public class JsonResult<T> implements Serializable {
return new JsonResult<>(null, SUCCESS_CODE, null, SUCCESS_BUSSINESS_CODE);
}
public static<T> JsonResult<T> buildSuccessResult(T data) {
public static<T> JsonResult<T> buildSuccessResultGeneric(T data) {
return new JsonResult<>(null, SUCCESS_CODE, data, SUCCESS_BUSSINESS_CODE);
}
......
......@@ -19,7 +19,9 @@ import cn.quantgroup.xyqb.service.user.IUserService;
import cn.quantgroup.xyqb.util.DateUtils;
import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Lists;
import com.qiniu.util.Auth;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.domain.Page;
......@@ -59,7 +61,10 @@ public class ModifyPhoneNoServiceImpl implements IModifyPhoneNoService {
@Value("${api.https}")
public String apiHttps;
@Value("${qiniu.storage.accessKey}")
public String accessKey;
@Value("${qiniu.storage.secretKey}")
public String secretKey;
/**
* @param userId user.id
......@@ -145,7 +150,23 @@ public class ModifyPhoneNoServiceImpl implements IModifyPhoneNoService {
}
};
return modifyPhoneNoRepository.findAll(specification, pageable);
Page<ModifyPhoneNo> page = modifyPhoneNoRepository.findAll(specification, pageable);
List<ModifyPhoneNo> modifyPhoneNos = page.getContent();
if (CollectionUtils.isNotEmpty(modifyPhoneNos)) {
modifyPhoneNos.forEach(modifyPhoneNo -> {
Auth auth = Auth.create(accessKey, secretKey);
if (StringUtils.isNotBlank(modifyPhoneNo.getIdCardFaceUrl())) {
modifyPhoneNo.setIdCardFaceUrl(auth.privateDownloadUrl(modifyPhoneNo.getIdCardFaceUrl()));
}
if (StringUtils.isNotBlank(modifyPhoneNo.getIdCardRearUrl())) {
modifyPhoneNo.setIdCardRearUrl(auth.privateDownloadUrl(modifyPhoneNo.getIdCardRearUrl()));
}
if (StringUtils.isNotBlank(modifyPhoneNo.getIdCardHoldUrl())) {
modifyPhoneNo.setIdCardHoldUrl(auth.privateDownloadUrl(modifyPhoneNo.getIdCardHoldUrl()));
}
});
}
return page;
}
/**
......
......@@ -17,7 +17,7 @@ import java.util.regex.Pattern;
@Slf4j
public class ValidationUtil {
private static final String phoneRegExp = "^1[3456789][0-9]{9}$";
public static final String phoneRegExp = "^1[3456789][0-9]{9}$";
private static final String chineseNameRegExp = "^[\u4e00-\u9fff]+((\\.|·)[\u4e00-\u9fff]+){0,2}$";
private static final String chineseNameExtendRegExp = "^[\u4dae\u4e00-\u9fff]+((\\.|·)[\u4dae\u4e00-\u9fff]+){0,2}$";
private static final String ipv4RegExp = "^((2[0-4][0-9]|25[0-5]|[01]?[0-9][0-9]?)\\.){3}(2[0-4][0-9]|25[0-5]|[01]?[0-9][0-9]?)$";
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment