Commit 4c95c64e by zhangxingmin

Merge remote-tracking branch 'origin/test' into test

parents ecd9e6a6 f7e48e44
......@@ -16,10 +16,7 @@ import com.yd.csf.api.dto.PolicyExcelDTO;
import com.yd.csf.api.dto.PolicyFollowDTO;
import com.yd.csf.api.listener.PolicyDataListener;
import com.yd.csf.service.common.ErrorCode;
import com.yd.csf.service.dto.PolicyFollowAddRequest;
import com.yd.csf.service.dto.PolicyFollowDeleteRequest;
import com.yd.csf.service.dto.PolicyFollowQueryRequest;
import com.yd.csf.service.dto.PolicyFollowUpdateRequest;
import com.yd.csf.service.dto.*;
import com.yd.csf.service.model.*;
import com.yd.csf.service.service.*;
import com.yd.csf.service.vo.PolicyFollowVO;
......@@ -126,11 +123,11 @@ public class ApiPolicyFollowController {
for (PolicyFollowDTO policyFollow : list) {
policyFollowList.add(policyFollow.getPolicyFollow());
policyBrokerList.addAll(policyFollow.getBrokerList());
policyList.add(policyFollow.getPolicy());
// policyList.add(policyFollow.getPolicy());
}
policyFollowService.saveBatch(policyFollowList);
policyService.saveBatch(policyList);
// policyService.saveBatch(policyList);
policyBrokerService.saveBatch(policyBrokerList);
// 获取当前登录用户的ID
......@@ -204,19 +201,19 @@ public class ApiPolicyFollowController {
// 转换为PolicyBroker对象
List<PolicyBroker> policyBrokerList = new ArrayList<>();
if (StringUtils.isNotBlank(policyExcelDTO.getBrokerName1())) {
policyBrokerList.add(getPolicyBroker(policyExcelDTO.getBrokerName1(), policyExcelDTO.getTeam1(), policyBizId, policyNo));
policyBrokerList.add(getPolicyBroker(policyExcelDTO.getBrokerName1(), policyExcelDTO.getTeam1(), policyExcelDTO.getBrokerRatio1(), policyBizId, policyNo));
}
if (StringUtils.isNotBlank(policyExcelDTO.getBrokerName2())) {
policyBrokerList.add(getPolicyBroker(policyExcelDTO.getBrokerName2(), policyExcelDTO.getTeam2(), policyBizId, policyNo));
policyBrokerList.add(getPolicyBroker(policyExcelDTO.getBrokerName2(), policyExcelDTO.getTeam2(), policyExcelDTO.getBrokerRatio2(), policyBizId, policyNo));
}
if (StringUtils.isNotBlank(policyExcelDTO.getBrokerName3())) {
policyBrokerList.add(getPolicyBroker(policyExcelDTO.getBrokerName3(), policyExcelDTO.getTeam3(), policyBizId, policyNo));
policyBrokerList.add(getPolicyBroker(policyExcelDTO.getBrokerName3(), policyExcelDTO.getTeam3(), policyExcelDTO.getBrokerRatio3(), policyBizId, policyNo));
}
if (StringUtils.isNotBlank(policyExcelDTO.getBrokerName4())) {
policyBrokerList.add(getPolicyBroker(policyExcelDTO.getBrokerName4(), policyExcelDTO.getTeam4(), policyBizId, policyNo));
policyBrokerList.add(getPolicyBroker(policyExcelDTO.getBrokerName4(), policyExcelDTO.getTeam4(), policyExcelDTO.getBrokerRatio4(), policyBizId, policyNo));
}
if (StringUtils.isNotBlank(policyExcelDTO.getBrokerName5())) {
policyBrokerList.add(getPolicyBroker(policyExcelDTO.getBrokerName5(), policyExcelDTO.getTeam5(), policyBizId, policyNo));
policyBrokerList.add(getPolicyBroker(policyExcelDTO.getBrokerName5(), policyExcelDTO.getTeam5(), policyExcelDTO.getBrokerRatio5(), policyBizId, policyNo));
}
// 转换为PolicyFollowDTO对象
......@@ -229,12 +226,13 @@ public class ApiPolicyFollowController {
return policyFollowDTOList;
}
private PolicyBroker getPolicyBroker(String brokerName, String team, String policyBizId, String policyNo) {
private PolicyBroker getPolicyBroker(String brokerName, String team, String brokerRatio, String policyBizId, String policyNo) {
PolicyBroker policyBroker = new PolicyBroker();
policyBroker.setPolicyBizId(policyBizId);
policyBroker.setPolicyNo(policyNo);
policyBroker.setBrokerName(brokerName);
policyBroker.setTeam(team);
policyBroker.setBrokerRatio(brokerRatio);
return policyBroker;
}
......@@ -255,6 +253,22 @@ public class ApiPolicyFollowController {
}
/**
* 保存到保单库
*
* @param addToPolicyRequest
* @param request
* @return
*/
@Operation(summary = "保存到保单库")
@PostMapping("/addToPolicy")
public Result<Boolean> addToPolicy(@RequestBody AddToPolicyRequest addToPolicyRequest, HttpServletRequest request) {
if (StringUtils.isBlank(addToPolicyRequest.getPolicyBizId())) {
return Result.fail(ErrorCode.PARAMS_ERROR.getCode(), ErrorCode.PARAMS_ERROR.getMessage());
}
return Result.success(policyFollowService.addToPolicy(addToPolicyRequest));
}
/**
* 删除新单跟进
*
* @param deleteRequest
......
......@@ -67,27 +67,42 @@ public class PolicyExcelDTO {
@ExcelProperty("所属团队1")
private String team1;
@ExcelProperty("介绍费占比1")
private String brokerRatio1;
@ExcelProperty("转介人2")
private String brokerName2;
@ExcelProperty("所属团队2")
private String team2;
@ExcelProperty("介绍费占比2")
private String brokerRatio2;
@ExcelProperty("转介人3")
private String brokerName3;
@ExcelProperty("所属团队3")
private String team3;
@ExcelProperty("介绍费占比3")
private String brokerRatio3;
@ExcelProperty("转介人4")
private String brokerName4;
@ExcelProperty("所属团队4")
private String team4;
@ExcelProperty("介绍费占比4")
private String brokerRatio4;
@ExcelProperty("转介人5")
private String brokerName5;
@ExcelProperty("所属团队5")
private String team5;
@ExcelProperty("介绍费占比5")
private String brokerRatio5;
}
package com.yd.csf.service.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
@Data
public class AddToPolicyRequest implements Serializable {
/**
* 新单编号
*/
@Schema(description = "新单编号", requiredMode = Schema.RequiredMode.REQUIRED)
private String policyBizId;
private static final long serialVersionUID = 1L;
}
package com.yd.csf.service.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
@Data
public class PolicyBrokerDto implements Serializable {
/**
* 转介人名称
*/
@Schema(description = "转介人名称")
private String brokerName;
/**
* 转介人业务ID
*/
@Schema(description = "转介人业务ID")
private String brokerBizId;
/**
* 所属团队
*/
@Schema(description = "所属团队")
private String team;
/**
* 所属团队业务id
*/
@Schema(description = "所属团队业务id")
private String teamBizId;
/**
* 转介人比例
*/
@Schema(description = "转介人比例")
private String brokerRatio;
/**
* 备注
*/
@Schema(description = "备注")
private String remark;
private static final long serialVersionUID = 1L;
}
package com.yd.csf.service.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yd.csf.service.dto.PolicyBrokerDto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@Data
public class PolicyFollowUpdateRequest {
......@@ -152,6 +154,12 @@ public class PolicyFollowUpdateRequest {
private Object initialPremium;
/**
* 转介人列表
*/
@Schema(description = "转介人列表")
private List<PolicyBrokerDto> brokerList;
/**
* 备注
*/
@Schema(description = "备注")
......
......@@ -51,6 +51,11 @@ public class PolicyBroker implements Serializable {
*/
private String teamBizId;
/**
* 介绍费占比
*/
private String brokerRatio;
/**
* 通用备注
*/
......
......@@ -3,6 +3,7 @@ package com.yd.csf.service.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yd.csf.service.dto.AddToPolicyRequest;
import com.yd.csf.service.dto.PolicyFollowAddRequest;
import com.yd.csf.service.dto.PolicyFollowQueryRequest;
import com.yd.csf.service.dto.PolicyFollowUpdateRequest;
......@@ -29,4 +30,6 @@ public interface PolicyFollowService extends IService<PolicyFollow> {
PolicyFollowVO getPolicyFollowVO(PolicyFollow policyFollow);
Map<String, Object> addPolicyFollow(PolicyFollowAddRequest policyFollowAddRequest);
Boolean addToPolicy(AddToPolicyRequest addToPolicyRequest);
}
......@@ -5,13 +5,13 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yd.auth.core.dto.AuthUserDto;
import com.yd.auth.core.utils.SecurityUtil;
import com.yd.common.enums.CommonEnum;
import com.yd.common.exception.BusinessException;
import com.yd.common.utils.RandomStringGenerator;
import com.yd.csf.service.common.ErrorCode;
import com.yd.csf.service.dto.PolicyFollowAddRequest;
import com.yd.csf.service.dto.PolicyFollowQueryRequest;
import com.yd.csf.service.dto.PolicyFollowUpdateRequest;
import com.yd.csf.service.dto.*;
import com.yd.csf.service.model.Policy;
import com.yd.csf.service.model.PolicyBroker;
import com.yd.csf.service.model.PolicyFollow;
......@@ -95,7 +95,7 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
List<String> policyBizIdList = policyFollowVOList.stream().map(PolicyFollowVO::getPolicyBizId).collect(Collectors.toList());
if (CollUtil.isNotEmpty(policyBizIdList)) {
// 转介人业务id列表 => 转介人列表
List<PolicyBroker> policyBrokerList = policyBrokerService.list(new LambdaQueryWrapper<PolicyBroker>().in(PolicyBroker::getPolicyBizId, policyBizIdList));
List<PolicyBroker> policyBrokerList = policyBrokerService.list(new QueryWrapper<PolicyBroker>().in("policy_biz_id", policyBizIdList));
// 转介人列表 => 转介人业务id列表
Map<String, List<PolicyBroker>> brokerMap = policyBrokerList.stream().collect(Collectors.groupingBy(PolicyBroker::getPolicyBizId));
// 转介人列表 => 封装转介人列表
......@@ -109,6 +109,7 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean updatePolicyFollow(PolicyFollowUpdateRequest policyFollowUpdateRequest) {
if (policyFollowUpdateRequest == null || ObjectUtils.isEmpty(policyFollowUpdateRequest.getPolicyBizId())) {
throw new BusinessException(ErrorCode.PARAMS_ERROR.getCode(), ErrorCode.PARAMS_ERROR.getMessage());
......@@ -118,7 +119,32 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
if (policyFollow == null) {
throw new BusinessException(ErrorCode.NOT_FOUND_ERROR.getCode(), ErrorCode.NOT_FOUND_ERROR.getMessage());
}
BeanUtils.copyProperties(policyFollowUpdateRequest, policyFollow, "policyBizId");
BeanUtils.copyProperties(policyFollowUpdateRequest, policyFollow, "id", "policyBizId");
// 获取当前登录用户
AuthUserDto currentLoginUser = SecurityUtil.getCurrentLoginUser();
String loginUserId = currentLoginUser.getId().toString();
policyFollow.setUpdaterId(loginUserId);
policyFollow.setUpdateTime(new Date());
// 先删除原有的转介人
policyBrokerService.remove(new QueryWrapper<PolicyBroker>().eq("policy_biz_id", policyBizId));
// 保存转介人
List<PolicyBrokerDto> brokerList = policyFollowUpdateRequest.getBrokerList();
List<PolicyBroker> policyBrokerList = brokerList.stream().map(policyBrokerDto -> {
PolicyBroker policyBroker = new PolicyBroker();
BeanUtils.copyProperties(policyBrokerDto, policyBroker);
policyBroker.setPolicyBizId(policyBizId);
policyBroker.setCreatorId(loginUserId);
policyBroker.setCreateTime(new Date());
policyBroker.setUpdaterId(loginUserId);
policyBroker.setUpdateTime(new Date());
return policyBroker;
}).collect(Collectors.toList());
if (CollUtil.isNotEmpty(policyBrokerList)) {
policyBrokerService.saveBatch(policyBrokerList);
}
return updateById(policyFollow);
}
......@@ -165,6 +191,42 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
return Collections.singletonMap("policyBizId", policyBizId);
}
@Override
public Boolean addToPolicy(AddToPolicyRequest addToPolicyRequest) {
String policyBizId = addToPolicyRequest.getPolicyBizId();
PolicyFollow policyFollow = getByPolicyBizId(policyBizId);
if (policyFollow == null) {
throw new BusinessException(ErrorCode.NOT_FOUND_ERROR.getCode(), "Policy biz id not found");
}
// 获取当前登录用户
AuthUserDto currentLoginUser = SecurityUtil.getCurrentLoginUser();
String loginUserId = currentLoginUser.getId().toString();
// 保存到保单库
Policy policy = policyService.getOne(new QueryWrapper<Policy>().eq("policy_biz_id", policyBizId));
if (policy != null) {
// 更新
BeanUtils.copyProperties(policyFollow, policy, "id");
policy.setUpdaterId(loginUserId);
policy.setUpdateTime(new Date());
return policyService.updateById(policy);
} else {
// 不存在则创建
policy = new Policy();
BeanUtils.copyProperties(policyFollow, policy, "id");
policy.setId(null);
policy.setPolicyBizId(policyBizId);
policy.setCreatorId(loginUserId);
policy.setCreateTime(new Date());
policy.setUpdaterId(loginUserId);
policy.setUpdateTime(new Date());
return policyService.save(policy);
}
}
}
......
......@@ -12,6 +12,7 @@
<result property="brokerBizId" column="broker_biz_id" />
<result property="team" column="team" />
<result property="teamBizId" column="team_biz_id" />
<result property="brokerRatio" column="broker_ratio" />
<result property="remark" column="remark" />
<result property="isDeleted" column="is_deleted" />
<result property="creatorId" column="creator_id" />
......@@ -21,7 +22,7 @@
</resultMap>
<sql id="Base_Column_List">
id,policy_biz_id,policy_no,broker_name,broker_biz_id,team,
id,policy_biz_id,policy_no,broker_name,broker_biz_id,team,broker_ratio,
team_biz_id,remark,is_deleted,creator_id,updater_id,
create_time,update_time
</sql>
......
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