1
zj
2025-09-21 2785d374a827a732ae74e8ef520369cfcb76eaf6
ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/UserPolicyServiceImpl.java
@@ -1,7 +1,9 @@
package com.ruoyi.im.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.im.comm.Result;
import com.ruoyi.im.service.InsuranceProductService;
import com.ruoyi.im.service.UserPolicyService;
@@ -16,6 +18,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.text.ParseException;
import java.util.Date;
import java.util.Random;
import java.util.concurrent.atomic.AtomicLong;
@@ -31,11 +34,16 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Result purchaseApplication(UserPolicyDto dto) {
        UserAccount userAccount = userAccountService.getById(dto.getUserId());
    public Result purchaseApplication(UserPolicyDto dto) throws ParseException {
        UserAccount userAccount = userAccountService.getOne(new LambdaQueryWrapper<UserAccount>()
                .eq(UserAccount::getAccount,dto.getAccount()));
        if(ObjectUtil.isEmpty(userAccount)){
            return Result.error("请重新登录,未查询到你的信息!");
        }
        if(userAccount.getKycStatus() == 0){
            return Result.error("请先实名认证");
        }
        // 验证手机号
        boolean isPhoneValid = ValidatorUtil.isValidPhone(dto.getPhone());
        if(!isPhoneValid){
@@ -58,7 +66,7 @@
        userPolicy.setTerm(insuranceProduct.getTerm());
        userPolicy.setName(dto.getName());
        userPolicy.setGender(dto.getGender());
        userPolicy.setBirthDate(dto.getBirthDate());
        userPolicy.setBirthDate(DateUtils.parseDate(dto.getBirthDate(),"yyyy-MM-dd HH:mm:ss"));
        userPolicy.setOccupation(dto.getOccupation());
        userPolicy.setIdCard(dto.getIdCard());
        userPolicy.setPhone(dto.getPhone());