Commit ab0ec175 authored by 杨锐's avatar 杨锐

code review modify。

parent 7dc7cfff
......@@ -57,10 +57,7 @@ public class ModifyPhoneNoController implements IBaseController {
*/
@ApiOperation("app - 申请修改手机号Step_1")
@PostMapping("/step_1")
public JsonResult step1(@Valid @RequestBody Step1Req step1Req) throws ParseException {
if (!iIdCardService.isIdCardValid(step1Req.getIdCard())) {
throw new DataException("身份证件号格式错误");
}
public JsonResult step1(@Valid @RequestBody Step1Req step1Req) {
User user = getCurrentUserFromRedis();
if (user == null) {
return JsonResult.buildErrorStateResult("系统错误", null);
......
......@@ -19,7 +19,7 @@ public class AuditReq implements Serializable {
private static final long serialVersionUID = 9183603336718659105L;
@NotNull(message = "id不能为空")
private Long id;
@ApiModelProperty("申请状态 DONE 通过; NO_ALLOW 不通过;")
@ApiModelProperty("申请状态 1 通过; 2 不通过;")
@NotNull(message = "申请状态不能为空")
private ModifyPhoneNoApplyStatusEnum applyStatus;
@ApiModelProperty("申请状态补充原因")
......
......@@ -39,12 +39,12 @@ public class ModifyPhoneNoQueryReq extends Page implements Serializable {
/**
* 申请状态 0处理中; 1修改完成; 2不允许修改;
*/
@ApiModelProperty("申请状态 INIT 处理中; DONE 修改完成; NO_ALLOW 不允许修改;")
@ApiModelProperty("申请状态 0 处理中; 1 修改完成; 2 不允许修改;")
private ModifyPhoneNoApplyStatusEnum applyStatus;
/**
* 处理状态 0待人工处理 1待用户反馈结果 2已反馈
*/
@ApiModelProperty("处理状态 INIT 待人工处理; WAIT_4_USER_FEEDBACK 待用户反馈结果; DONE 已反馈;")
@ApiModelProperty("处理状态 0 待人工处理; 1 待用户反馈结果; 2 已反馈;")
private ModifyPhoneNoProcessingStatusEnum processingStatus;
}
......@@ -2,6 +2,7 @@ package cn.quantgroup.xyqb.controller.modifyphoneno.req;
import cn.quantgroup.xyqb.entity.ModifyPhoneNo;
import cn.quantgroup.xyqb.util.ValidationUtil;
import cn.quantgroup.xyqb.validator.IdCard;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
......@@ -35,6 +36,7 @@ public class Step1Req implements Serializable {
*/
@ApiModelProperty("注册人身份证件号")
@NotBlank(message = "注册人身份证件号不能为空")
@IdCard
private String idCard;
/**
......
......@@ -4,8 +4,6 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.NotNull;
/**
* common page
* <p>
......
......@@ -17,8 +17,6 @@ public interface IUserRepository extends JpaRepository<User, Long>, JpaSpecifica
User findByPhoneNo(String phoneNo);
User findFirstByPhoneNo(String phoneNo);
User findByUuid(String uuid);
/**
......
......@@ -76,7 +76,7 @@ public class ModifyPhoneNoServiceImpl implements IModifyPhoneNoService {
@AccessLimit(redisKey = "saveStep1")
@Transactional(rollbackFor = Exception.class)
public Long saveStep1(Long userId, Step1Req step1Req) {
allowModify(userId, step1Req.getName(), step1Req.getIdCard(), step1Req.getPrevPhoneNo(), step1Req.getCurPhoneNo(),
allowModify4Step1(userId, step1Req.getName(), step1Req.getIdCard(), step1Req.getPrevPhoneNo(), step1Req.getCurPhoneNo(),
step1Req.getSmsCode());
ModifyPhoneNo modifyPhoneNo = Step1Req.adapt(step1Req);
modifyPhoneNo.setUserId(userId);
......@@ -195,7 +195,7 @@ public class ModifyPhoneNoServiceImpl implements IModifyPhoneNoService {
modifyPhoneNo.setApplyStatusReason(auditReq.getApplyStatusReason());
}
if (ModifyPhoneNoApplyStatusEnum.DONE == auditReq.getApplyStatus()) {
allowModifyHttp(modifyPhoneNo.getUserId(), modifyPhoneNo.getName(), modifyPhoneNo.getIdCard(),
allowModify4Audit(modifyPhoneNo.getUserId(), modifyPhoneNo.getName(), modifyPhoneNo.getIdCard(),
modifyPhoneNo.getPrevPhoneNo(), modifyPhoneNo.getCurPhoneNo());
userService.modifyPhoneNo(modifyPhoneNo.getPrevPhoneNo(), modifyPhoneNo.getCurPhoneNo());
modifyPhoneNo.setApplyStatus(ModifyPhoneNoApplyStatusEnum.DONE.getType());
......@@ -219,34 +219,44 @@ public class ModifyPhoneNoServiceImpl implements IModifyPhoneNoService {
* @param smsCode 新手机号码短信验证码
* @return
*/
public void allowModify(Long userId, String name, String idCard, String prevPhoneNo, String curPhoneNo, String smsCode) {
public void allowModify4Step1(Long userId, String name, String idCard, String prevPhoneNo, String curPhoneNo, String smsCode) {
if (modifyPhoneNoRepository.findFirstByUserIdAndApplyStatus(userId, ModifyPhoneNoProcessingStatusEnum.INIT.getType()) != null) {
throw new DataException("已存在处理中的申请单,不支持再次更换。");
}
if (!smsService.verifyPhoneAndCode(curPhoneNo, smsCode)) {
throw new DataException("验证码不正确。");
}
allowModifyHttp(userId, name, idCard, prevPhoneNo, curPhoneNo);
allowModify4Audit(userId, name, idCard, prevPhoneNo, curPhoneNo);
}
/**
* @param userId user.id
*/
public void allowModifyHttp(Long userId, String name, String idCard, String prevPhoneNo, String curPhoneNo) {
public void allowModify4Audit(Long userId, String name, String idCard, String prevPhoneNo, String curPhoneNo) {
if (userDetailRepository.findByUserIdAndPhoneNoAndNameAndIdNo(userId, prevPhoneNo, name, idCard) == null) {
throw new DataException("信息填写有误,请重新填写。");
}
if (userRepository.findFirstByPhoneNo(curPhoneNo) != null) {
if (userRepository.findByPhoneNo(curPhoneNo) != null) {
throw new DataException("信息填写有误,请重新填写。");
}
log.info("allowModify userId = 【{}】", userId);
String res = httpService.get(apiHttps + "?userId=" + userId);
log.info("allowModify res = 【{}】", res);
if (StringUtils.isNotBlank(res)) {
if (StringUtils.isBlank(res)) {
throw new DataException("系统内部错误。");
} else {
try {
UserLoanStatusResp userLoanStatusResp = JSONObject.parseObject(res, UserLoanStatusResp.class);
if (userLoanStatusResp == null) {
throw new DataException("系统内部错误。");
}
if (!userLoanStatusResp.isSuccess() || !userLoanStatusResp.isData()) {
throw new DataException("用户存在订单,不支持修改。");
}
} catch (Exception e) {
log.error("allowModify4Audit e = 【{}】", e);
throw new DataException("系统内部错误。");
}
}
}
}
......@@ -19,32 +19,17 @@ import java.util.Date;
*/
public class DateUtils {
public static final String STANDARD_FORMAT = "yyyy-MM-dd HH:mm:ss";
public static final String YMD_FORMAT = "yyyy-MM-dd";
public static Date strToDate(String dateTimeStr, String formatStr) {
DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern(formatStr);
DateTime dateTime = dateTimeFormatter.parseDateTime(dateTimeStr);
return dateTime.toDate();
}
/**
* yyyy-MM-dd -> yyyy-MM-dd HH:mm:ss => yyyy-MM-dd 00:00:00
*
* @param date
* @param dateTimeStr
* @param formatStr
* @return
*/
public static String dateToStr(Date date, String formatStr) {
if (date == null) {
return StringUtils.EMPTY;
}
DateTime dateTime = new DateTime(date);
return dateTime.toString(formatStr);
}
public static int daysBetween(DateTime fromDate, DateTime toDate) {
return Days.daysBetween(fromDate, toDate).getDays();
public static Date strToDate(String dateTimeStr, String formatStr) {
DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern(formatStr);
DateTime dateTime = dateTimeFormatter.parseDateTime(dateTimeStr);
return dateTime.toDate();
}
/**
......@@ -63,8 +48,4 @@ public class DateUtils {
long now = System.currentTimeMillis();
return (timeStamp - now) / 1000;
}
public static void main(String[] args) {
System.out.println(dateToStr(strToDate("2019-11-06", DateUtils.YMD_FORMAT), "yyyy-MM-dd HH:mm:ss"));
}
}
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