|
|
@@ -337,19 +337,29 @@ public class ThirdPartyChargingServiceImpl implements ThirdPartyChargingService
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- // 数据发生变化,插入新记录
|
|
|
- Long policyId = insertNewPricePolicy(pricePolicyVO);
|
|
|
+ // 数据发生变化
|
|
|
+ Long policyId;
|
|
|
+ if (latestPolicy != null) {
|
|
|
+ // 已存在记录,执行更新
|
|
|
+ policyId = updatePricePolicy(latestPolicy, pricePolicyVO);
|
|
|
+ log.info("价格策略信息保存成功(更新记录) - equipBizSeq: {}, connectorId: {}, policyId: {}",
|
|
|
+ pricePolicyVO.getEquipBizSeq(), pricePolicyVO.getConnectorID(), policyId);
|
|
|
+ } else {
|
|
|
+ // 不存在记录,执行新增
|
|
|
+ policyId = insertNewPricePolicy(pricePolicyVO);
|
|
|
+ log.info("价格策略信息保存成功(新增记录) - equipBizSeq: {}, connectorId: {}, policyId: {}",
|
|
|
+ pricePolicyVO.getEquipBizSeq(), pricePolicyVO.getConnectorID(), policyId);
|
|
|
+ }
|
|
|
|
|
|
- // 保存价格策略明细
|
|
|
+ // 保存价格策略明细(先删除旧的,再插入新的)
|
|
|
+ policyInfoMapper.delete(Wrappers.<ThirdPartyPolicyInfo>lambdaQuery()
|
|
|
+ .eq(ThirdPartyPolicyInfo::getPricePolicyId, policyId));
|
|
|
if (!CollectionUtils.isEmpty(pricePolicyVO.getPolicyInfos())) {
|
|
|
for (ChargingPricePolicyVO.PolicyInfo policyInfo : pricePolicyVO.getPolicyInfos()) {
|
|
|
savePolicyInfoDetail(policyInfo, policyId);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- log.info("价格策略信息保存成功(新增记录) - equipBizSeq: {}, connectorId: {}, policyId: {}",
|
|
|
- pricePolicyVO.getEquipBizSeq(), pricePolicyVO.getConnectorID(), policyId);
|
|
|
-
|
|
|
} catch (Exception e) {
|
|
|
log.error("保存价格策略信息失败 - equipBizSeq: {}, connectorId: {}",
|
|
|
pricePolicyVO.getEquipBizSeq(), pricePolicyVO.getConnectorID(), e);
|
|
|
@@ -472,6 +482,19 @@ public class ThirdPartyChargingServiceImpl implements ThirdPartyChargingService
|
|
|
return entity.getId();
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 更新价格策略记录
|
|
|
+ */
|
|
|
+ private Long updatePricePolicy(ThirdPartyEquipmentPricePolicy existingPolicy, ChargingPricePolicyVO pricePolicyVO) {
|
|
|
+ existingPolicy.setSuccStat(pricePolicyVO.getSuccStat());
|
|
|
+ existingPolicy.setFailReason(pricePolicyVO.getFailReason());
|
|
|
+ existingPolicy.setSumPeriod(pricePolicyVO.getSumPeriod());
|
|
|
+
|
|
|
+ pricePolicyMapper.updateById(existingPolicy);
|
|
|
+
|
|
|
+ return existingPolicy.getId();
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 保存价格策略明细
|
|
|
*/
|