Commit 560d28d1 by jianan

新单跟进25

parent c244e97b
......@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yd.common.enums.ResultCode;
import com.yd.common.result.Result;
import com.yd.csf.service.dto.PolicyBeneficiaryListUpdateRequest;
import com.yd.csf.service.dto.PolicyBeneficiaryQueryRequest;
import com.yd.csf.service.dto.PolicyBeneficiaryUpdateRequest;
import com.yd.csf.service.dto.PolicyBeneficiaryAddRequest;
......@@ -93,6 +94,21 @@ public class ApiPolicyBeneficiaryController {
}
/**
* 受益人列表整体更新
*
* @param policyBeneficiaryUpdateRequest
* @return
*/
@PostMapping("/update/list")
@Operation(summary = "更新保单受益人列表信息")
public Result<Boolean> updatePolicyBeneficiaryList(@RequestBody PolicyBeneficiaryListUpdateRequest policyBeneficiaryUpdateRequest) {
if (policyBeneficiaryUpdateRequest == null || StringUtils.isBlank(policyBeneficiaryUpdateRequest.getPolicyBizId())) {
return Result.fail(ResultCode.PARAMS_ERROR.getCode(), "policyBizId不能为空");
}
return Result.success(policyBeneficiaryService.updatePolicyBeneficiaryList(policyBeneficiaryUpdateRequest));
}
/**
* 根据 policyBeneficiaryBizId 获取保单受益人(封装类)
*
* @param policyBeneficiaryBizId
......
package com.yd.csf.service.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class PolicyBeneficiaryListUpdateRequest implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 保单BizId
*/
@Schema(description = "保单BizId", requiredMode = Schema.RequiredMode.REQUIRED)
private String policyBizId;
/**
* 保单受益人列表
*/
@Schema(description = "保单受益列表", requiredMode = Schema.RequiredMode.REQUIRED)
private List<PolicyBeneficiaryAddRequest> policyBeneficiaryList;
}
package com.yd.csf.service.service;
import com.yd.csf.service.dto.PolicyBeneficiaryAddRequest;
import com.yd.csf.service.dto.PolicyBeneficiaryListUpdateRequest;
import com.yd.csf.service.dto.PolicyBeneficiaryUpdateRequest;
import com.yd.csf.service.model.PolicyBeneficiary;
import com.baomidou.mybatisplus.extension.service.IService;
......@@ -19,4 +20,6 @@ public interface PolicyBeneficiaryService extends IService<PolicyBeneficiary> {
PolicyBeneficiary getByBizId(String policyBeneficiaryBizId);
Boolean updatePolicyBeneficiary(PolicyBeneficiaryUpdateRequest policyUpdateRequest);
Boolean updatePolicyBeneficiaryList(PolicyBeneficiaryListUpdateRequest policyBeneficiaryUpdateRequest);
}
......@@ -6,13 +6,16 @@ import com.yd.common.enums.ResultCode;
import com.yd.common.exception.BusinessException;
import com.yd.common.utils.RandomStringGenerator;
import com.yd.csf.service.dto.PolicyBeneficiaryAddRequest;
import com.yd.csf.service.dto.PolicyBeneficiaryListUpdateRequest;
import com.yd.csf.service.dto.PolicyBeneficiaryUpdateRequest;
import com.yd.csf.service.model.PolicyAdditional;
import com.yd.csf.service.model.PolicyBeneficiary;
import com.yd.csf.service.service.PolicyBeneficiaryService;
import com.yd.csf.service.dao.PolicyBeneficiaryMapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Collections;
import java.util.Date;
......@@ -72,6 +75,30 @@ public class PolicyBeneficiaryServiceImpl extends ServiceImpl<PolicyBeneficiaryM
// 更新数据库
return this.updateById(policyBeneficiary);
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean updatePolicyBeneficiaryList(PolicyBeneficiaryListUpdateRequest policyBeneficiaryUpdateRequest) {
// 校验请求参数
if (policyBeneficiaryUpdateRequest == null || StringUtils.isEmpty(policyBeneficiaryUpdateRequest.getPolicyBizId())) {
throw new BusinessException(ResultCode.PARAMS_ERROR.getCode(), ResultCode.PARAMS_ERROR.getMessage());
}
// 先删除旧的受益人
this.remove(new QueryWrapper<PolicyBeneficiary>().eq("policy_biz_id", policyBeneficiaryUpdateRequest.getPolicyBizId()));
// 批量插入新的受益人
if (policyBeneficiaryUpdateRequest.getPolicyBeneficiaryList() != null && !policyBeneficiaryUpdateRequest.getPolicyBeneficiaryList().isEmpty()) {
this.saveBatch(policyBeneficiaryUpdateRequest.getPolicyBeneficiaryList().stream().map(beneficiaryAddRequest -> {
PolicyBeneficiary beneficiary = new PolicyBeneficiary();
BeanUtils.copyProperties(beneficiaryAddRequest, beneficiary);
beneficiary.setPolicyBeneficiaryBizId(RandomStringGenerator.generateBizId16("policy_beneficiary"));
beneficiary.setPolicyBizId(policyBeneficiaryUpdateRequest.getPolicyBizId());
beneficiary.setCreateTime(new Date());
beneficiary.setUpdateTime(new Date());
return beneficiary;
}).collect(java.util.stream.Collectors.toList()));
}
return true;
}
}
......
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