diff --git a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserShipperApplicationService.java b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserShipperApplicationService.java index f8571b498..feadc1005 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserShipperApplicationService.java +++ b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserShipperApplicationService.java @@ -1604,6 +1604,7 @@ public class UserShipperApplicationService { // 根据查询结果同步数据 com.alibaba.fastjson.JSONObject dataJson = resultJson.getJSONObject("data"); if (dataJson != null) { + // 同步额度数据(limitdatas) com.alibaba.fastjson.JSONArray limitdatas = dataJson.getJSONArray("limitdatas"); if (limitdatas != null && !limitdatas.isEmpty()) { com.alibaba.fastjson.JSONObject limitData = limitdatas.getJSONObject(0); @@ -1612,34 +1613,37 @@ public class UserShipperApplicationService { userShipperEntity1.setAuthorizedUsedAmount(limitData.getBigDecimal("nengrossmny")); userShipperEntity1.setSettlementCurrency(limitData.getString("currencycode")); userShipperEntity1.setCreditAmount(limitData.getBigDecimal("nbalancemny")); - - //关联明细表:同步agreedaydatas到agreement_details - com.alibaba.fastjson.JSONArray agreedaydatas = dataJson.getJSONArray("agreedaydatas"); - if (agreedaydatas != null && !agreedaydatas.isEmpty()) { - // 先删除该货主已有的协议明细,避免重复 - agreementDetailsMapper.delete(new LambdaQueryWrapper() - .eq(AgreementDetails::getShipperId, userShipperEntity1.getShipperId())); - int i; - for ( i = 0; i < agreedaydatas.size(); i++) { - com.alibaba.fastjson.JSONObject agreeItem = agreedaydatas.getJSONObject(i); - AgreementDetails agreementDetails = new AgreementDetails(); - agreementDetails.setShipperId(userShipperEntity1.getShipperId()); - agreementDetails.setOrgcode(agreeItem.getString("orgcode")); - agreementDetails.setCode(agreeItem.getString("code")); - agreementDetails.setPday(agreeItem.getString("pday")); - agreementDetails.setPname(agreeItem.getString("pname")); - agreementDetails.setPtypename(agreeItem.getString("ptypename")); - agreementDetails.setPcode(agreeItem.getString("pcode")); - agreementDetails.setPtype(agreeItem.getString("ptype")); - agreementDetailsMapper.insert(agreementDetails); - } - userShipperEntity1.setAgreementCount(i); - userShipperMapper.updateById(userShipperEntity1); - log.info("同步协议明细成功,custcode={},shipperId={},共{}条", userShipperEntity1.getCustomerNcCode(), userShipperEntity1.getShipperId(), agreedaydatas.size()); - } + userShipperMapper.updateById(userShipperEntity1); log.info("更新货主额度同步成功,custcode={},shipperId={}", userShipperEntity1.getCustomerNcCode(), userShipperEntity1.getShipperId()); } else { - log.info("赊销额度查询无limitdatas返回,跳过更新,custcode={}", userShipperEntity1.getCustomerNcCode()); + log.info("赊销额度查询无limitdatas返回,跳过额度更新,custcode={}", userShipperEntity1.getCustomerNcCode()); + } + + // 同步协议明细(agreedaydatas),与limitdatas独立 + com.alibaba.fastjson.JSONArray agreedaydatas = dataJson.getJSONArray("agreedaydatas"); + if (agreedaydatas != null && !agreedaydatas.isEmpty()) { + // 先删除该货主已有的协议明细,避免重复 + agreementDetailsMapper.delete(new LambdaQueryWrapper() + .eq(AgreementDetails::getShipperId, userShipperEntity1.getShipperId())); + int i; + for (i = 0; i < agreedaydatas.size(); i++) { + com.alibaba.fastjson.JSONObject agreeItem = agreedaydatas.getJSONObject(i); + AgreementDetails agreementDetails = new AgreementDetails(); + agreementDetails.setShipperId(userShipperEntity1.getShipperId()); + agreementDetails.setOrgcode(agreeItem.getString("orgcode")); + agreementDetails.setCode(agreeItem.getString("code")); + agreementDetails.setPday(agreeItem.getString("pday")); + agreementDetails.setPname(agreeItem.getString("pname")); + agreementDetails.setPtypename(agreeItem.getString("ptypename")); + agreementDetails.setPcode(agreeItem.getString("pcode")); + agreementDetails.setPtype(agreeItem.getString("ptype")); + agreementDetailsMapper.insert(agreementDetails); + } + userShipperEntity1.setAgreementCount(i); + userShipperMapper.updateById(userShipperEntity1); + log.info("同步协议明细成功,custcode={},shipperId={},共{}条", userShipperEntity1.getCustomerNcCode(), userShipperEntity1.getShipperId(), agreedaydatas.size()); + } else { + log.info("赊销额度查询无agreedaydatas返回,跳过协议明细同步,custcode={}", userShipperEntity1.getCustomerNcCode()); } } else { log.info("赊销额度查询无data返回,跳过更新,custcode={}", userShipperEntity1.getCustomerNcCode());