Commit 9f41992f by jianan

前端对接问题修复53

parent 94c76e8d
......@@ -149,7 +149,7 @@ public class ApiCommissionController {
.eq(Commission::getReconciliationYearMonth, reconciliationYearMonth));
// 数据处理
List<Commission> entities = processData(dataList, loginUserId);
List<Commission> entities = processData(dataList, loginUserId, reconciliationYearMonth);
// // 转换为 VO
// List<CommissionVO> commissionVOList = commissionService.getCommissionList(entities);
......@@ -209,12 +209,13 @@ public class ApiCommissionController {
/**
* 1.处理导入的数据
*/
private List<Commission> processData(List<CommissionExcelDTO> dataList, String loginUserId) {
private List<Commission> processData(List<CommissionExcelDTO> dataList, String loginUserId, String reconciliationYearMonth) {
List<Commission> entities = new ArrayList<>();
for (CommissionExcelDTO data : dataList) {
// 数据验证
Commission entity = CommissionExcelDTO.convertToEntityNew(data, loginUserId);
entity.setCommissionBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_COMMISSION.getCode()));
entity.setReconciliationYearMonth(reconciliationYearMonth);
entities.add(entity);
}
......
......@@ -6,6 +6,8 @@ import com.yd.csf.service.dto.*;
import com.yd.csf.service.model.Policy;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yd.csf.service.vo.PolicyVO;
import java.util.Collection;
import java.util.List;
import java.util.Map;
......@@ -28,5 +30,7 @@ public interface PolicyService extends IService<Policy> {
List<QueryPolicyAndBrokerDto> queryPolicyBrokerList(String policyNo);
List<Map<String, Object>> getPolicyProductInfo(List<String> productLaunchBizIdList);
List<PolicyProductInfo> getPolicyProductInfo(List<String> productLaunchBizIdList);
Map<String, PolicyProductInfo> getPolicyProductInfoMap(Collection<String> productLaunchBizIdList);
}
......@@ -38,6 +38,7 @@ import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
......@@ -183,7 +184,7 @@ public class PolicyServiceImpl extends ServiceImpl<PolicyMapper, Policy>
}
@Override
public List<Map<String, Object>> getPolicyProductInfo(List<String> productLaunchBizIdList) {
public List<PolicyProductInfo> getPolicyProductInfo(List<String> productLaunchBizIdList) {
ApiRelProjectProductLaunchPageRequest pageRequest = new ApiRelProjectProductLaunchPageRequest();
pageRequest.setProductLaunchBizIdList(productLaunchBizIdList);
pageRequest.setPageNo(1);
......@@ -201,7 +202,7 @@ public class PolicyServiceImpl extends ServiceImpl<PolicyMapper, Policy>
// 直接使用Map来处理数据,避免复杂的类型转换
Object data = result.getData();
List<Map<String, Object>> policyProductInfoList = new ArrayList<>();
List<PolicyProductInfo> policyProductInfoList = new ArrayList<>();
// 将数据转换为JSONObject进行解析
JSONObject jsonObject = JSONUtil.parseObj(data);
......@@ -212,20 +213,20 @@ public class PolicyServiceImpl extends ServiceImpl<PolicyMapper, Policy>
for (int i = 0; i < recordsArray.size(); i++) {
JSONObject record = recordsArray.getJSONObject(i);
Map<String, Object> infoMap = new HashMap<>();
infoMap.put("productLaunchBizId", record.getStr("productLaunchBizId"));
infoMap.put("productName", record.getStr("productName"));
infoMap.put("title", record.getStr("title"));
infoMap.put("shortTitle", record.getStr("shortTitle"));
infoMap.put("status", record.getStr("status"));
PolicyProductInfo productInfo = new PolicyProductInfo();
productInfo.setProductLaunchBizId(record.getStr("productLaunchBizId"));
productInfo.setProductName(record.getStr("productName"));
productInfo.setTitle(record.getStr("title"));
productInfo.setShortTitle(record.getStr("shortTitle"));
productInfo.setStatus(record.getStr("status"));
// 解析自定义属性
JSONArray attributeSettingArray = record.getJSONArray("apiAttributeSettingDtoList");
if (attributeSettingArray != null) {
getInfoFromJsonArray(attributeSettingArray, infoMap);
getInfoFromJsonArray(attributeSettingArray, productInfo);
}
policyProductInfoList.add(infoMap);
policyProductInfoList.add(productInfo);
}
}
......@@ -237,10 +238,22 @@ public class PolicyServiceImpl extends ServiceImpl<PolicyMapper, Policy>
}
}
@Override
public Map<String, PolicyProductInfo> getPolicyProductInfoMap(Collection<String> productLaunchBizIdList) {
// 校验参数
if (CollectionUtils.isEmpty(productLaunchBizIdList)) {
return Collections.emptyMap();
}
List<PolicyProductInfo> policyProductInfoList = getPolicyProductInfo(new ArrayList<>(productLaunchBizIdList));
return policyProductInfoList.stream()
.collect(Collectors.toMap(PolicyProductInfo::getProductLaunchBizId, Function.identity()));
}
/**
* 从JSON数组中解析自定义属性
*/
private void getInfoFromJsonArray(JSONArray attributeSettingArray, Map<String, Object> infoMap) {
private void getInfoFromJsonArray(JSONArray attributeSettingArray, PolicyProductInfo productInfo) {
if (attributeSettingArray == null || attributeSettingArray.isEmpty()) {
return;
}
......@@ -253,22 +266,21 @@ public class PolicyServiceImpl extends ServiceImpl<PolicyMapper, Policy>
// 根据属性名称设置对应的字段
switch (name) {
case "保险公司":
infoMap.put("insuranceCompany", value);
infoMap.put("insuranceCompanyBizId", attribute.getStr("fieldValueBizId"));
productInfo.setInsuranceCompany(value);
productInfo.setInsuranceCompanyBizId(attribute.getStr("fieldValueBizId"));
break;
case "对账公司":
infoMap.put("reconciliationCompany", value);
infoMap.put("reconciliationCompanyBizId", attribute.getStr("fieldValueBizId"));
productInfo.setReconciliationCompany(value);
productInfo.setReconciliationCompanyBizId(attribute.getStr("fieldValueBizId"));
break;
case "产品计划类型":
infoMap.put("productPlanType", value);
productInfo.setProductPlanType(value);
break;
case "是否区分吸烟":
infoMap.put("isSmokingDistinguish", value);
productInfo.setIsSmokingDistinguish(value);
break;
default:
// 其他自定义属性
infoMap.put(name, value);
break;
}
}
......
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