| | |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.text.ParseException; |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.Date; |
| | | import java.util.Random; |
| | | import java.util.concurrent.atomic.AtomicLong; |
| | |
| | | if(ObjectUtil.isEmpty(userAccount)){ |
| | | return Result.error("请重新登录,未查询到你的信息!"); |
| | | } |
| | | if(userAccount.getKycStatus() == 0){ |
| | | |
| | | if(userAccount.getKycStatus() == 2){ |
| | | return Result.error("请先实名认证"); |
| | | }else if(userAccount.getKycStatus() == 0){ |
| | | return Result.error("实名认证审核中,请耐心等等"); |
| | | } |
| | | |
| | | // 验证手机号 |
| | |
| | | if(!isPhoneValid){ |
| | | return Result.error("手机号格式不正确!"); |
| | | } |
| | | // 验证身份证 |
| | | boolean isIdCardValid = ValidatorUtil.isValidIdCard(dto.getIdCard()); |
| | | if(!isIdCardValid){ |
| | | return Result.error("身份证格式不正确!"); |
| | | // // 验证身份证 |
| | | // boolean isIdCardValid = ValidatorUtil.isValidIdCard(dto.getIdCard()); |
| | | // if(!isIdCardValid){ |
| | | // return Result.error("身份证格式不正确!"); |
| | | // } |
| | | long count = count(new LambdaQueryWrapper<UserPolicy>() |
| | | .eq(UserPolicy::getUserId, userAccount.getId()) |
| | | .eq(UserPolicy::getPolicyStatus, UserPolicy.PolicyStatus.ACTIVE) |
| | | .and(a-> a.eq(UserPolicy::getApprovalStatus, 0) |
| | | .or() |
| | | .eq(UserPolicy::getApprovalStatus, 1)) |
| | | |
| | | ); |
| | | if(count > 0){ |
| | | return Result.error("你已申购此保险,请勿重复申购"); |
| | | } |
| | | InsuranceProduct insuranceProduct = insuranceProductService.getById(dto.getProductId()); |
| | | if(ObjectUtil.isEmpty(insuranceProduct)){ |
| | | return Result.error("该产品停止购买或已下架!"); |
| | | } |
| | | UserPolicy userPolicy = new UserPolicy(); |
| | | userPolicy.setAccount(userAccount.getAccount()); |
| | | userPolicy.setProductName(insuranceProduct.getProductName()); |
| | | userPolicy.setUserId(userAccount.getId()); |
| | | userPolicy.setProductId(insuranceProduct.getId()); |
| | | userPolicy.setCoverageAmount(insuranceProduct.getCoverageAmount()); |
| | |
| | | userPolicy.setTerm(insuranceProduct.getTerm()); |
| | | userPolicy.setName(dto.getName()); |
| | | userPolicy.setGender(dto.getGender()); |
| | | userPolicy.setBirthDate(DateUtils.parseDate(dto.getBirthDate(),"yyyy-MM-dd HH:mm:ss")); |
| | | |
| | | userPolicy.setBirthDate(LocalDate.parse(dto.getBirthDate())); |
| | | |
| | | userPolicy.setOccupation(dto.getOccupation()); |
| | | userPolicy.setIdCard(dto.getIdCard()); |
| | | userPolicy.setPhone(dto.getPhone()); |