Commit 94a20d0add5efd0e52b662e11c7af04b50ca1af8
1 parent
14200344
金蝶多对一费用项优化,应收单单据创建优化
Showing
18 changed files
with
415 additions
and
144 deletions
etrade-thirdparty/src/main/java/com/diligrp/etrade/thirdparty/demarcate/AbstractBasicHandler.java
... | ... | @@ -11,6 +11,7 @@ import com.diligrp.etrade.thirdparty.mapper.TransMapper; |
11 | 11 | import com.diligrp.etrade.thirdparty.type.BasicEnum; |
12 | 12 | import com.kingdee.bos.webapi.entity.IdentifyInfo; |
13 | 13 | import jakarta.annotation.Resource; |
14 | +import org.springframework.transaction.annotation.Transactional; | |
14 | 15 | import org.springframework.util.ObjectUtils; |
15 | 16 | |
16 | 17 | import java.util.Arrays; |
... | ... | @@ -53,6 +54,16 @@ public abstract class AbstractBasicHandler<T extends BaseSourceCo> implements Ty |
53 | 54 | recordMapper.recordTheMappingData(mapping); |
54 | 55 | } |
55 | 56 | |
57 | + @Transactional | |
58 | + protected void deleteMapping(Long marketId, String systemCode, Long systemDataId){ | |
59 | + var mapping = new MappingDto(); | |
60 | + mapping.setMarketId(marketId); | |
61 | + mapping.setBusiness(getType().code); | |
62 | + mapping.setSystemCode(systemCode); | |
63 | + mapping.setSystemDataId(systemDataId); | |
64 | + recordMapper.deleteTheMappingData(mapping); | |
65 | + } | |
66 | + | |
56 | 67 | /** |
57 | 68 | * 获取身份信息 |
58 | 69 | * | ... | ... |
etrade-thirdparty/src/main/java/com/diligrp/etrade/thirdparty/demarcate/AbstractBillHandler.java
1 | 1 | package com.diligrp.etrade.thirdparty.demarcate; |
2 | 2 | |
3 | -import com.diligrp.etrade.core.util.JsonUtils; | |
4 | 3 | import com.diligrp.etrade.thirdparty.component.TransferComponent; |
5 | 4 | import com.diligrp.etrade.thirdparty.domain.co.business.BaseBillCo; |
6 | 5 | import com.diligrp.etrade.thirdparty.domain.dto.BusinessDetailDto; |
7 | 6 | import com.diligrp.etrade.thirdparty.domain.dto.BusinessDto; |
8 | 7 | import com.diligrp.etrade.thirdparty.domain.dto.ClientDto; |
9 | -import com.diligrp.etrade.thirdparty.domain.model.FEntityDetail; | |
10 | 8 | import com.diligrp.etrade.thirdparty.error.ThirdPartyException; |
11 | 9 | import com.diligrp.etrade.thirdparty.mapper.TransMapper; |
12 | 10 | import com.diligrp.etrade.thirdparty.type.*; |
13 | -import com.diligrp.etrade.thirdparty.utils.PurchaseOrderApiUtils; | |
14 | 11 | import com.kingdee.bos.webapi.entity.IdentifyInfo; |
15 | 12 | import jakarta.annotation.Resource; |
16 | 13 | import org.springframework.util.ObjectUtils; |
17 | 14 | |
18 | -import java.math.BigDecimal; | |
19 | 15 | import java.util.ArrayList; |
20 | 16 | import java.util.HashMap; |
21 | 17 | import java.util.List; |
... | ... | @@ -53,6 +49,55 @@ public abstract class AbstractBillHandler<T extends BaseBillCo> implements TypeM |
53 | 49 | } |
54 | 50 | |
55 | 51 | /** |
52 | + * 处理 | |
53 | + * | |
54 | + * @param json JSON 格式 | |
55 | + * @param marketId 市场 ID | |
56 | + * @param systemCode 系统代码 | |
57 | + * @throws Exception 例外 | |
58 | + */ | |
59 | + public abstract void handle(String json, Long marketId, String systemCode) throws Exception; | |
60 | + | |
61 | + /** | |
62 | + * 获取动态数据 | |
63 | + * | |
64 | + * @param marketId 市场 ID | |
65 | + * @param systemCode 系统代码 | |
66 | + * @param dynamicType 动态型 | |
67 | + * @return {@link Map}<{@link String}, {@link BusinessDetailDto}> | |
68 | + */ | |
69 | + protected Map<String, BusinessDetailDto> getFilteredDynamicDataSingle(DynamicType dynamicType, Long marketId, String systemCode) { | |
70 | + var queryArrays = new String[]{ | |
71 | + BasicEnum.DEPARTMENT_TO_LOWER.code, | |
72 | + BasicEnum.CUSTOMER_TO_LOWER.code, | |
73 | + BasicEnum.FINANCIAL_CHANNEL_TYPE_TO_LOWER.code, | |
74 | + BasicEnum.FINANCIAL_BUSINESS_TYPE_TO_LOWER.code | |
75 | + }; | |
76 | + var dynamicParam = transMapper.getFixedWithQueryArrays(systemCode, dynamicType.code, marketId, SelectType.FIXED.getCode(), queryArrays); | |
77 | + Map<String, BusinessDetailDto> map = new HashMap<>(); | |
78 | + if (!ObjectUtils.isEmpty(dynamicParam)) { | |
79 | + dynamicParam.forEach(e -> map.computeIfAbsent(e.getCode(), k -> e)); | |
80 | + } | |
81 | + return map; | |
82 | + } | |
83 | + | |
84 | + /** | |
85 | + * 传输数据列表 | |
86 | + * | |
87 | + * @param ts 茨 | |
88 | + * @param marketId 市场 ID | |
89 | + * @param systemCode 系统代码 | |
90 | + */ | |
91 | + protected void transferDataListWithOutFeeItem(List<T> ts, Long marketId, String systemCode) { | |
92 | + ts.forEach(e -> { | |
93 | + DynamicType dynamicType = DynamicType.fromCode(e.getSystemDynamicCode()); | |
94 | + transfer(e, marketId, systemCode); | |
95 | + getFilteredDynamicDataSingle(dynamicType, marketId, systemCode).forEach((k, v) -> TRANSFER_FUNCTION_SINGLE_MAP.get(k).transferDynamic(e, v)); | |
96 | + getFilteredDynamicDataMulti(dynamicType, marketId, systemCode).forEach((k, v) -> TRANSFER_FUNCTION_MULTI_MAP.get(k).transferDynamic(e, v)); | |
97 | + }); | |
98 | + } | |
99 | + | |
100 | + /** | |
56 | 101 | * 转换动态配置部门 |
57 | 102 | * |
58 | 103 | * @param t t |
... | ... | @@ -180,22 +225,6 @@ public abstract class AbstractBillHandler<T extends BaseBillCo> implements TypeM |
180 | 225 | /** |
181 | 226 | * 传输数据列表 |
182 | 227 | * |
183 | - * @param ts 茨 | |
184 | - * @param marketId 市场 ID | |
185 | - * @param systemCode 系统代码 | |
186 | - */ | |
187 | - protected void transferDataListWithOutFeeItem(List<T> ts, Long marketId, String systemCode) { | |
188 | - ts.forEach(e -> { | |
189 | - DynamicType dynamicType = DynamicType.fromCode(e.getSystemDynamicCode()); | |
190 | - transfer(e, marketId, systemCode); | |
191 | - getFilteredDynamicDataSingle(dynamicType, marketId, systemCode).forEach((k, v) -> TRANSFER_FUNCTION_SINGLE_MAP.get(k).transferDynamic(e, v)); | |
192 | - getFilteredDynamicDataMulti(dynamicType, marketId, systemCode).forEach((k, v) -> TRANSFER_FUNCTION_MULTI_MAP.get(k).transferDynamic(e, v)); | |
193 | - }); | |
194 | - } | |
195 | - | |
196 | - /** | |
197 | - * 传输数据列表 | |
198 | - * | |
199 | 228 | * |
200 | 229 | * @param ts 茨 |
201 | 230 | * @param marketId 市场 ID |
... | ... | @@ -219,29 +248,6 @@ public abstract class AbstractBillHandler<T extends BaseBillCo> implements TypeM |
219 | 248 | * @param dynamicType 动态型 |
220 | 249 | * @return {@link Map}<{@link String}, {@link BusinessDetailDto}> |
221 | 250 | */ |
222 | - protected Map<String, BusinessDetailDto> getFilteredDynamicDataSingle(DynamicType dynamicType, Long marketId, String systemCode) { | |
223 | - var queryArrays = new String[]{ | |
224 | - BasicEnum.DEPARTMENT_TO_LOWER.code, | |
225 | - BasicEnum.CUSTOMER_TO_LOWER.code, | |
226 | - BasicEnum.FINANCIAL_CHANNEL_TYPE_TO_LOWER.code, | |
227 | - BasicEnum.FINANCIAL_BUSINESS_TYPE_TO_LOWER.code | |
228 | - }; | |
229 | - var dynamicParam = transMapper.getFixedWithQueryArrays(systemCode, dynamicType.code, marketId, SelectType.FIXED.getCode(), queryArrays); | |
230 | - Map<String, BusinessDetailDto> map = new HashMap<>(); | |
231 | - if (!ObjectUtils.isEmpty(dynamicParam)) { | |
232 | - dynamicParam.forEach(e -> map.computeIfAbsent(e.getCode(), k -> e)); | |
233 | - } | |
234 | - return map; | |
235 | - } | |
236 | - | |
237 | - /** | |
238 | - * 获取动态数据 | |
239 | - * | |
240 | - * @param marketId 市场 ID | |
241 | - * @param systemCode 系统代码 | |
242 | - * @param dynamicType 动态型 | |
243 | - * @return {@link Map}<{@link String}, {@link BusinessDetailDto}> | |
244 | - */ | |
245 | 251 | protected Map<String, List<BusinessDetailDto>> getFilteredDynamicDataMulti(DynamicType dynamicType, Long marketId, String systemCode) { |
246 | 252 | var queryArrays = new String[]{BasicEnum.CHARGE_ITEM_TO_LOWER.code}; |
247 | 253 | var dynamicParam = transMapper.getFixedWithQueryArrays(systemCode, dynamicType.code, marketId, SelectType.FIXED.getCode(), queryArrays); |
... | ... | @@ -262,51 +268,22 @@ public abstract class AbstractBillHandler<T extends BaseBillCo> implements TypeM |
262 | 268 | */ |
263 | 269 | protected void sendPurchaseOrder(List<T> ts, Long marketId, String systemCode) throws Exception { |
264 | 270 | var identifyInfo = getIdentifyInfo(marketId, systemCode); |
265 | - var util = new PurchaseOrderApiUtils(identifyInfo); | |
266 | 271 | for (T e : ts) { |
267 | 272 | var billId = e.getFBillTypeID().getFNUMBER(); |
268 | 273 | //获取单据类型 |
269 | 274 | String documentType = getDocumentType(marketId, systemCode, billId); |
275 | + if (ObjectUtils.isEmpty(documentType)) { | |
276 | + throw new ThirdPartyException("未配置业务映射"); | |
277 | + } | |
270 | 278 | var fixedBusinessType = e.getFixedBusinessType(); |
271 | 279 | //业务类型固定的情况下 |
272 | 280 | if (!ObjectUtils.isEmpty(fixedBusinessType)){ |
273 | 281 | e.getFBillTypeID().setFNUMBER(fixedBusinessType); |
274 | 282 | } |
275 | - if (ObjectUtils.isEmpty(documentType)) { | |
276 | - throw new ThirdPartyException("未配置业务映射"); | |
277 | - } | |
278 | - if (util.getPurchaseOrder(e.getFBillTypeID().getFNUMBER(), e.getF_ZDB_Text1(), getAllAmountFor(e), e.getF_ZDB_Text667())) { | |
279 | - util.createOnePurchaseOrder(JsonUtils.toJsonString(e), documentType); | |
280 | - } | |
283 | + BillType.getBillType(documentType).handle(e,identifyInfo); | |
281 | 284 | } |
282 | 285 | } |
283 | 286 | |
284 | - private IdentifyInfo getIdentifyInfo(Long marketId, String systemCode) { | |
285 | - var identifyInfo = new IdentifyInfo(); | |
286 | - ClientDto clientParam = transMapper.getClientParam(systemCode, marketId); | |
287 | - identifyInfo.setAppId(clientParam.getApplyId()); | |
288 | - identifyInfo.setUserName(clientParam.getUsername()); | |
289 | - identifyInfo.setServerUrl(clientParam.getServiceAddress()); | |
290 | - identifyInfo.setAppSecret(clientParam.getSecurityKey()); | |
291 | - identifyInfo.setdCID(clientParam.getDataCentreId()); | |
292 | - return identifyInfo; | |
293 | - } | |
294 | - | |
295 | - /** | |
296 | - * 获取 所有金额 | |
297 | - * | |
298 | - * @param e e | |
299 | - * @return {@link String} | |
300 | - */ | |
301 | - private String getAllAmountFor(T e) { | |
302 | - var allAmountFor = BigDecimal.ZERO; | |
303 | - for (FEntityDetail f : e.getFEntityDetail()) { | |
304 | - BigDecimal single = f.getFPrice().multiply(f.getFPriceQty()); | |
305 | - allAmountFor = allAmountFor.add(single); | |
306 | - } | |
307 | - return allAmountFor.toString(); | |
308 | - } | |
309 | - | |
310 | 287 | /** |
311 | 288 | * 获取文档类型 |
312 | 289 | * |
... | ... | @@ -315,29 +292,53 @@ public abstract class AbstractBillHandler<T extends BaseBillCo> implements TypeM |
315 | 292 | * @param billTypeId 账单类型 ID |
316 | 293 | * @return {@link String} |
317 | 294 | */ |
318 | - protected String getDocumentType(Long marketId, String systemCode, String billTypeId) { | |
295 | + private String getDocumentType(Long marketId, String systemCode, String billTypeId) { | |
319 | 296 | var res = transMapper.getMappingDict(BasicEnum.FINANCIAL_BUSINESS_TYPE_TO_LOWER.code, systemCode, marketId, billTypeId); |
320 | 297 | return ObjectUtils.isEmpty(res) ? null : res.getMapType(); |
321 | 298 | } |
322 | 299 | |
323 | - | |
300 | + /** | |
301 | + * 传递函数 Single | |
302 | + * | |
303 | + * @author zhangmeiyang | |
304 | + * @date 2024/11/20 | |
305 | + */ | |
324 | 306 | @FunctionalInterface |
325 | 307 | protected interface TransferFunctionSingle { |
308 | + /** | |
309 | + * Transfer Dynamic (传输动态) | |
310 | + * | |
311 | + * @param baseBillCo Base Bill 公司 | |
312 | + * @param data 数据 | |
313 | + */ | |
326 | 314 | void transferDynamic(BaseBillCo baseBillCo, BusinessDetailDto data); |
327 | 315 | } |
328 | 316 | |
329 | - @FunctionalInterface | |
330 | - protected interface TransferFunctionMulti { | |
331 | - void transferDynamic(BaseBillCo baseBillCo, List<BusinessDetailDto> data); | |
317 | + private IdentifyInfo getIdentifyInfo(Long marketId, String systemCode) { | |
318 | + var identifyInfo = new IdentifyInfo(); | |
319 | + ClientDto clientParam = transMapper.getClientParam(systemCode, marketId); | |
320 | + identifyInfo.setAppId(clientParam.getApplyId()); | |
321 | + identifyInfo.setUserName(clientParam.getUsername()); | |
322 | + identifyInfo.setServerUrl(clientParam.getServiceAddress()); | |
323 | + identifyInfo.setAppSecret(clientParam.getSecurityKey()); | |
324 | + identifyInfo.setdCID(clientParam.getDataCentreId()); | |
325 | + return identifyInfo; | |
332 | 326 | } |
333 | 327 | |
334 | 328 | /** |
335 | - * 处理 | |
329 | + * 传递函数 Multi | |
336 | 330 | * |
337 | - * @param json JSON 格式 | |
338 | - * @param marketId 市场 ID | |
339 | - * @param systemCode 系统代码 | |
340 | - * @throws Exception 例外 | |
331 | + * @author zhangmeiyang | |
332 | + * @date 2024/11/20 | |
341 | 333 | */ |
342 | - public abstract void handle(String json, Long marketId, String systemCode) throws Exception; | |
334 | + @FunctionalInterface | |
335 | + protected interface TransferFunctionMulti { | |
336 | + /** | |
337 | + * Transfer Dynamic (传输动态) | |
338 | + * | |
339 | + * @param baseBillCo Base Bill 公司 | |
340 | + * @param data 数据 | |
341 | + */ | |
342 | + void transferDynamic(BaseBillCo baseBillCo, List<BusinessDetailDto> data); | |
343 | + } | |
343 | 344 | } | ... | ... |
etrade-thirdparty/src/main/java/com/diligrp/etrade/thirdparty/exec/basic/BasicReceiver.java
... | ... | @@ -66,7 +66,7 @@ public class BasicReceiver extends AbstractReceiver { |
66 | 66 | } catch (Exception e) { |
67 | 67 | channel.basicAck(message.getMessageProperties().getDeliveryTag(), false); |
68 | 68 | if (msg.getRetryCount() > 3) { |
69 | - super.handleError(e.fillInStackTrace().getMessage(), msg.getData(), msg.getBasic().code, msg.getSystemCode(), msg.getMarketId()); | |
69 | + handleError(e.fillInStackTrace().getMessage(), msg.getData(), msg.getBasic().code, msg.getSystemCode(), msg.getMarketId()); | |
70 | 70 | LOG.error("基础数据重试队列消息处理失败:", e); |
71 | 71 | } else { |
72 | 72 | msg.setRetryCount(msg.getRetryCount() + 1); | ... | ... |
etrade-thirdparty/src/main/java/com/diligrp/etrade/thirdparty/exec/business/BusinessReceiver.java
... | ... | @@ -64,7 +64,7 @@ public class BusinessReceiver extends AbstractReceiver { |
64 | 64 | } catch (Exception e) { |
65 | 65 | channel.basicAck(message.getMessageProperties().getDeliveryTag(), false); |
66 | 66 | if (msg.getRetryCount() > 3) { |
67 | - super.handleError(e.fillInStackTrace().getMessage(), msg.getData(), msg.getBusiness().code, msg.getSystemCode(),msg.getMarketId()); | |
67 | + handleError(e.fillInStackTrace().getMessage(), msg.getData(), msg.getBusiness().code, msg.getSystemCode(),msg.getMarketId()); | |
68 | 68 | LOG.error("业务重试队列消息处理失败:",e); |
69 | 69 | }else{ |
70 | 70 | msg.setRetryCount(msg.getRetryCount() + 1); | ... | ... |
etrade-thirdparty/src/main/java/com/diligrp/etrade/thirdparty/handler/basic/BusinessTypeBasicHandler.java
... | ... | @@ -25,18 +25,22 @@ public class BusinessTypeBasicHandler extends AbstractBasicHandler<BusinessTypeC |
25 | 25 | List<BusinessTypeCo> businessTypeCos = JsonUtils.fromJsonString(json, new TypeReference<>() {}); |
26 | 26 | var utils = new BillTypeApiUtils(getIdentifyInfo(marketId, systemCode)); |
27 | 27 | for (BusinessTypeCo e : businessTypeCos) { |
28 | - super.transfer(e, marketId, systemCode); | |
29 | - MappingDto mappingData = super.getMappingData(marketId, systemCode, e.getSystemDataId()); | |
30 | - e.setFBILLTYPEID(ObjectUtils.isEmpty(mappingData) ? null : mappingData.getThirdPartyDataId()); | |
31 | - if (!ObjectUtils.isEmpty(mappingData)){ | |
32 | - utils.updateBillType(mappingData.getThirdPartyDataId(),JsonUtils.toJsonString(e)); | |
33 | - }else { | |
34 | - String billType = utils.createBillType(JsonUtils.toJsonString(e)); | |
35 | - super.recordMapping(marketId, systemCode, e.getSystemDataId(), billType); | |
36 | - } | |
28 | + transfer(e, marketId, systemCode); | |
29 | + MappingDto mappingData = getMappingData(marketId, systemCode, e.getSystemDataId()); | |
30 | + saveData(marketId, systemCode, e, mappingData, utils); | |
37 | 31 | } |
38 | 32 | } |
39 | 33 | |
34 | + private void saveData(Long marketId, String systemCode, BusinessTypeCo e, MappingDto mappingData, BillTypeApiUtils utils) throws Exception { | |
35 | + if (!ObjectUtils.isEmpty(mappingData)){ | |
36 | + e.setFBILLTYPEID(mappingData.getThirdPartyDataId()); | |
37 | + utils.updateBillType(mappingData.getThirdPartyDataId(), JsonUtils.toJsonString(e)); | |
38 | + return; | |
39 | + } | |
40 | + String billType = utils.createBillType(JsonUtils.toJsonString(e)); | |
41 | + recordMapping(marketId, systemCode, e.getSystemDataId(), billType); | |
42 | + } | |
43 | + | |
40 | 44 | @Override |
41 | 45 | public BasicEnum getType() { |
42 | 46 | return BasicEnum.FINANCIAL_BUSINESS_TYPE; | ... | ... |
etrade-thirdparty/src/main/java/com/diligrp/etrade/thirdparty/handler/basic/ChargeItemBasicHandler.java
... | ... | @@ -25,18 +25,36 @@ public class ChargeItemBasicHandler extends AbstractBasicHandler<ChargeItemCo> { |
25 | 25 | List<ChargeItemCo> chargeItemCos = JsonUtils.fromJsonString(json, new TypeReference<>(){}); |
26 | 26 | var utils =new FeeApiUtils(getIdentifyInfo(marketId, systemCode)); |
27 | 27 | for (ChargeItemCo e : chargeItemCos) { |
28 | - super.transfer(e, marketId, systemCode); | |
29 | - MappingDto mappingData = super.getMappingData(marketId, systemCode, e.getSystemDataId()); | |
30 | - e.setFEXPID(ObjectUtils.isEmpty(mappingData) ? null : Long.valueOf(mappingData.getThirdPartyDataId())); | |
28 | + transfer(e, marketId, systemCode); | |
29 | + ChargeItemCo existFee = utils.getFee(e.getFNumber(),e.getFGroup().getFNumber()); | |
30 | + MappingDto mappingData = getMappingData(marketId, systemCode, e.getSystemDataId()); | |
31 | + establishMappings(marketId, systemCode, e, existFee, mappingData, utils); | |
32 | + } | |
33 | + } | |
34 | + | |
35 | + private void establishMappings(Long marketId, String systemCode, ChargeItemCo e, ChargeItemCo existFee, MappingDto mappingData, FeeApiUtils utils) throws Exception { | |
36 | + if (ObjectUtils.isEmpty(existFee)){ //如果查询到jd上的费用项不存在 分为两种情况 1.新增映射 2.修改老的映射(但是修改了费用项编码) | |
31 | 37 | if (!ObjectUtils.isEmpty(mappingData)){ |
38 | + //mappingData存在表明存在旧映射关系,删除旧映射关系 | |
39 | + deleteMapping(mappingData.getMarketId(), mappingData.getSystemCode(), mappingData.getSystemDataId()); | |
40 | + } | |
41 | + String fee = utils.createFee(JsonUtils.toJsonString(e)); | |
42 | + recordMapping(marketId, systemCode, e.getSystemDataId(), fee); | |
43 | + //重做映射 | |
44 | + }else{ | |
45 | + //查询到jd费用项存在映射 分为两种情况 1.修改映射 2.新增多重映射 | |
46 | + if (ObjectUtils.isEmpty(mappingData)){ | |
47 | + //新增多重映射 | |
48 | + recordMapping(marketId, systemCode, e.getSystemDataId(), String.valueOf(existFee.getFEXPID())); | |
49 | + }else{ | |
50 | + //变更映射 | |
51 | + e.setFEXPID(Long.valueOf(mappingData.getThirdPartyDataId())); | |
32 | 52 | utils.updateFee(String.valueOf(mappingData.getThirdPartyDataId()),JsonUtils.toJsonString(e)); |
33 | - }else { | |
34 | - String fee = utils.createFee(JsonUtils.toJsonString(e)); | |
35 | - super.recordMapping(marketId, systemCode, e.getSystemDataId(), fee); | |
36 | 53 | } |
37 | 54 | } |
38 | 55 | } |
39 | 56 | |
57 | + | |
40 | 58 | @Override |
41 | 59 | public BasicEnum getType() { |
42 | 60 | return BasicEnum.CHARGE_ITEM; | ... | ... |
etrade-thirdparty/src/main/java/com/diligrp/etrade/thirdparty/handler/basic/ChargeItemGroupBasicHandler.java
... | ... | @@ -32,7 +32,7 @@ public class ChargeItemGroupBasicHandler extends AbstractBasicHandler<ChargeItem |
32 | 32 | List<ChargeItemGroupCo> chargeItemGroupCos = JsonUtils.fromJsonString(json, new TypeReference<>() { |
33 | 33 | }); |
34 | 34 | for (ChargeItemGroupCo e : chargeItemGroupCos) { |
35 | - super.transfer(e, marketId, systemCode); | |
35 | + transfer(e, marketId, systemCode); | |
36 | 36 | Long systemParentId = e.getFParentId(); |
37 | 37 | Long systemDataId = e.getSystemDataId(); |
38 | 38 | MappingDto parentMappingData = getMappingData(marketId, systemCode, systemParentId); | ... | ... |
etrade-thirdparty/src/main/java/com/diligrp/etrade/thirdparty/handler/basic/CustomerBasicHandler.java
... | ... | @@ -34,31 +34,35 @@ public class CustomerBasicHandler extends AbstractBasicHandler<CustomerCo> { |
34 | 34 | FGroup fGroup = new FGroup(); |
35 | 35 | transferCustomerGroup(fGroup, marketId, systemCode); |
36 | 36 | for (CustomerCo e : customerCos) { |
37 | - super.transfer(e, marketId, systemCode); | |
37 | + MappingDto mappingData = getMappingData(marketId, systemCode, e.getSystemDataId()); | |
38 | + transfer(e, marketId, systemCode); | |
38 | 39 | e.setFGroup(fGroup); |
39 | - MappingDto mappingData = super.getMappingData(marketId, systemCode, e.getSystemDataId()); | |
40 | - List<FT_BD_CUSTLOCATION> ftBdCustlocation = e.getFT_BD_CUSTLOCATION(); | |
41 | - var list = new ArrayList<FT_BD_CUSTLOCATION>(); | |
42 | - if (!ObjectUtils.isEmpty(ftBdCustlocation)){ | |
43 | - for (FT_BD_CUSTLOCATION ftBdCustLocation : ftBdCustlocation) { | |
44 | - ftBdCustLocation.setFCompanyType(F_COMPANY_TYPE); | |
45 | - String contact = contactUtils.createContact(JsonUtils.toJsonString(ftBdCustLocation)); | |
46 | - FContactId fContactId = new FContactId(); | |
47 | - fContactId.setFNUMBER(contact); | |
48 | - var item = new FT_BD_CUSTLOCATION(); | |
49 | - item.setFContactId(fContactId); | |
50 | - list.add(item); | |
51 | - } | |
52 | - } | |
53 | - e.setFT_BD_CUSTLOCATION(list); | |
54 | - e.setFCUSTID(ObjectUtils.isEmpty(mappingData) ? null : Long.valueOf(mappingData.getThirdPartyDataId())); | |
40 | + e.setFT_BD_CUSTLOCATION(getFtBdCustlocations(e, contactUtils)); | |
55 | 41 | if (!ObjectUtils.isEmpty(mappingData)){ |
42 | + e.setFCUSTID(Long.valueOf(mappingData.getThirdPartyDataId())); | |
56 | 43 | customerUtils.updateCustomer(String.valueOf(mappingData.getThirdPartyDataId()),JsonUtils.toJsonString(e)); |
57 | 44 | }else { |
58 | 45 | String billType = customerUtils.createCustomer(JsonUtils.toJsonString(e)); |
59 | - super.recordMapping(marketId, systemCode, e.getSystemDataId(), billType); | |
46 | + recordMapping(marketId, systemCode, e.getSystemDataId(), billType); | |
47 | + } | |
48 | + } | |
49 | + } | |
50 | + | |
51 | + private List<FT_BD_CUSTLOCATION> getFtBdCustlocations(CustomerCo e, ContactApiUtils contactUtils) throws Exception { | |
52 | + List<FT_BD_CUSTLOCATION> ftBdCustlocation = e.getFT_BD_CUSTLOCATION(); | |
53 | + var list = new ArrayList<FT_BD_CUSTLOCATION>(); | |
54 | + if (!ObjectUtils.isEmpty(ftBdCustlocation)){ | |
55 | + for (FT_BD_CUSTLOCATION ftBdCustLocation : ftBdCustlocation) { | |
56 | + ftBdCustLocation.setFCompanyType(F_COMPANY_TYPE); | |
57 | + String contact = contactUtils.createContact(JsonUtils.toJsonString(ftBdCustLocation)); | |
58 | + FContactId fContactId = new FContactId(); | |
59 | + fContactId.setFNUMBER(contact); | |
60 | + var item = new FT_BD_CUSTLOCATION(); | |
61 | + item.setFContactId(fContactId); | |
62 | + list.add(item); | |
60 | 63 | } |
61 | 64 | } |
65 | + return list; | |
62 | 66 | } |
63 | 67 | |
64 | 68 | @Override | ... | ... |
etrade-thirdparty/src/main/java/com/diligrp/etrade/thirdparty/handler/basic/DepartmentBasicHandler.java
... | ... | @@ -25,19 +25,23 @@ public class DepartmentBasicHandler extends AbstractBasicHandler<DepartmentCo> { |
25 | 25 | List<DepartmentCo> departmentCos = JsonUtils.fromJsonString(json, new TypeReference<>(){}); |
26 | 26 | var utils = new DepartmentApiUtils(getIdentifyInfo(marketId, systemCode)); |
27 | 27 | for (DepartmentCo e : departmentCos) { |
28 | - super.transfer(e, marketId, systemCode); | |
29 | - MappingDto mappingData = super.getMappingData(marketId, systemCode, e.getSystemDataId()); | |
30 | - e.setFDEPTID(ObjectUtils.isEmpty(mappingData) ? null : Long.valueOf(mappingData.getThirdPartyDataId())); | |
31 | - if (!ObjectUtils.isEmpty(mappingData)){ | |
32 | - utils.updateDepartment(String.valueOf(mappingData.getThirdPartyDataId()),JsonUtils.toJsonString(e)); | |
33 | - }else { | |
34 | - String department = utils.createDepartment(JsonUtils.toJsonString(e)); | |
35 | - super.recordMapping(marketId, systemCode, e.getSystemDataId(), department); | |
36 | - } | |
28 | + transfer(e, marketId, systemCode); | |
29 | + MappingDto mappingData = getMappingData(marketId, systemCode, e.getSystemDataId()); | |
30 | + saveData(marketId, systemCode, e, mappingData, utils); | |
37 | 31 | } |
38 | 32 | |
39 | 33 | } |
40 | 34 | |
35 | + private void saveData(Long marketId, String systemCode, DepartmentCo e, MappingDto mappingData, DepartmentApiUtils utils) throws Exception { | |
36 | + if (!ObjectUtils.isEmpty(mappingData)){ | |
37 | + e.setFDEPTID(Long.valueOf(mappingData.getThirdPartyDataId())); | |
38 | + utils.updateDepartment(String.valueOf(mappingData.getThirdPartyDataId()),JsonUtils.toJsonString(e)); | |
39 | + }else { | |
40 | + String department = utils.createDepartment(JsonUtils.toJsonString(e)); | |
41 | + recordMapping(marketId, systemCode, e.getSystemDataId(), department); | |
42 | + } | |
43 | + } | |
44 | + | |
41 | 45 | @Override |
42 | 46 | public BasicEnum getType() { |
43 | 47 | return BasicEnum.DEPARTMENT; | ... | ... |
etrade-thirdparty/src/main/java/com/diligrp/etrade/thirdparty/handler/basic/SettlementBasicHandler.java
... | ... | @@ -25,15 +25,19 @@ public class SettlementBasicHandler extends AbstractBasicHandler<SettlementCo> { |
25 | 25 | List<SettlementCo> settlementCos = JsonUtils.fromJsonString(json, new TypeReference<>() {}); |
26 | 26 | var utils = new SettleTypeApiUtils(getIdentifyInfo(marketId, systemCode)); |
27 | 27 | for (SettlementCo e : settlementCos) { |
28 | - super.transfer(e, marketId, systemCode); | |
29 | - MappingDto mappingData = super.getMappingData(marketId, systemCode, e.getSystemDataId()); | |
30 | - e.setFID(ObjectUtils.isEmpty(mappingData) ? null : Long.valueOf(mappingData.getThirdPartyDataId())); | |
31 | - if (!ObjectUtils.isEmpty(mappingData)){ | |
32 | - utils.updateSettleType(String.valueOf(mappingData.getThirdPartyDataId()),JsonUtils.toJsonString(e)); | |
33 | - }else { | |
34 | - String billType = utils.createSettleType(JsonUtils.toJsonString(e)); | |
35 | - super.recordMapping(marketId, systemCode, e.getSystemDataId(), billType); | |
36 | - } | |
28 | + transfer(e, marketId, systemCode); | |
29 | + MappingDto mappingData = getMappingData(marketId, systemCode, e.getSystemDataId()); | |
30 | + saveData(marketId, systemCode, e, mappingData, utils); | |
31 | + } | |
32 | + } | |
33 | + | |
34 | + private void saveData(Long marketId, String systemCode, SettlementCo e, MappingDto mappingData, SettleTypeApiUtils utils) throws Exception { | |
35 | + if (!ObjectUtils.isEmpty(mappingData)){ | |
36 | + e.setFID(Long.valueOf(mappingData.getThirdPartyDataId())); | |
37 | + utils.updateSettleType(String.valueOf(mappingData.getThirdPartyDataId()),JsonUtils.toJsonString(e)); | |
38 | + }else { | |
39 | + String billType = utils.createSettleType(JsonUtils.toJsonString(e)); | |
40 | + recordMapping(marketId, systemCode, e.getSystemDataId(), billType); | |
37 | 41 | } |
38 | 42 | } |
39 | 43 | ... | ... |
etrade-thirdparty/src/main/java/com/diligrp/etrade/thirdparty/mapper/RecordMapper.java
... | ... | @@ -25,4 +25,11 @@ public interface RecordMapper extends MybatisMapperSupport { |
25 | 25 | */ |
26 | 26 | @DataSource(DataSourceConstants.DS_KEY_MASTER) |
27 | 27 | void recordTheMappingData(@Param("mapping")MappingDto mapping); |
28 | + | |
29 | + | |
30 | + /** | |
31 | + * @param mapping | |
32 | + */ | |
33 | + @DataSource(DataSourceConstants.DS_KEY_MASTER) | |
34 | + void deleteTheMappingData(@Param("mapping")MappingDto mapping); | |
28 | 35 | } | ... | ... |
etrade-thirdparty/src/main/java/com/diligrp/etrade/thirdparty/type/BillType.java
0 → 100644
1 | +package com.diligrp.etrade.thirdparty.type; | |
2 | + | |
3 | +import com.diligrp.etrade.core.util.JsonUtils; | |
4 | +import com.diligrp.etrade.thirdparty.domain.co.business.BaseBillCo; | |
5 | +import com.diligrp.etrade.thirdparty.domain.model.FEntityDetail; | |
6 | +import com.diligrp.etrade.thirdparty.error.ThirdPartyException; | |
7 | +import com.diligrp.etrade.thirdparty.utils.PurchaseOrderApiUtils; | |
8 | +import com.diligrp.etrade.thirdparty.utils.ReceiptsOrderApiUtils; | |
9 | +import com.diligrp.etrade.thirdparty.utils.ReceiptsRefundOrderApiUtils; | |
10 | +import com.kingdee.bos.webapi.entity.IdentifyInfo; | |
11 | + | |
12 | +import java.math.BigDecimal; | |
13 | + | |
14 | +public enum BillType { | |
15 | + | |
16 | + RECEIVABLES("AR_receivable") { | |
17 | + @Override | |
18 | + public <T extends BaseBillCo> void handle(T t, IdentifyInfo identifyInfo) throws Exception { | |
19 | + var util = new PurchaseOrderApiUtils(identifyInfo); | |
20 | + boolean purchaseOrder = util.getPurchaseOrder(t.getFBillTypeID().getFNUMBER(), t.getF_ZDB_Text1(), getAllAmountFor(t), t.getF_ZDB_Text667()); | |
21 | + if (purchaseOrder) { | |
22 | + util.createOnePurchaseOrder(JsonUtils.toJsonString(t), this.value); | |
23 | + } | |
24 | + } | |
25 | + }, | |
26 | + RECEIPTS("AR_RECEIVEBILL") { | |
27 | + @Override | |
28 | + public <T extends BaseBillCo> void handle(T t, IdentifyInfo identifyInfo) throws Exception { | |
29 | + var util = new ReceiptsOrderApiUtils(identifyInfo); | |
30 | + boolean purchaseOrder = util.getReceiptsOrder(t.getFBillTypeID().getFNUMBER(), t.getF_ZDB_Text1(), getAllAmountFor(t), t.getF_ZDB_Text667()); | |
31 | + if (purchaseOrder) { | |
32 | + util.createOnePurchaseOrder(JsonUtils.toJsonString(t), this.value); | |
33 | + } | |
34 | + } | |
35 | + }, | |
36 | + RECEIPT_AND_REFUND_FORM("AR_REFUNDBILL") { | |
37 | + @Override | |
38 | + public <T extends BaseBillCo> void handle(T t, IdentifyInfo identifyInfo) throws Exception { | |
39 | + var util = new ReceiptsRefundOrderApiUtils(identifyInfo); | |
40 | + boolean purchaseOrder = util.getReceiptsRefundOrder(t.getFBillTypeID().getFNUMBER(), t.getF_ZDB_Text1(), getAllAmountFor(t), t.getF_ZDB_Text667()); | |
41 | + if (purchaseOrder) { | |
42 | + util.createOnePurchaseOrder(JsonUtils.toJsonString(t), this.value); | |
43 | + } | |
44 | + } | |
45 | + }, | |
46 | + ; | |
47 | + | |
48 | + public final String value; | |
49 | + | |
50 | + BillType(String value) { | |
51 | + this.value = value; | |
52 | + } | |
53 | + | |
54 | + public static BillType getBillType(String value) { | |
55 | + for (BillType type : BillType.values()) { | |
56 | + if (type.value.equals(value)) { | |
57 | + return type; | |
58 | + } | |
59 | + } | |
60 | + throw new ThirdPartyException("未实现的业务类型"); | |
61 | + } | |
62 | + | |
63 | + private static <T extends BaseBillCo> String getAllAmountFor(T e) { | |
64 | + var allAmountFor = BigDecimal.ZERO; | |
65 | + for (FEntityDetail f : e.getFEntityDetail()) { | |
66 | + BigDecimal single = f.getFPrice().multiply(f.getFPriceQty()); | |
67 | + allAmountFor = allAmountFor.add(single); | |
68 | + } | |
69 | + return allAmountFor.toString(); | |
70 | + } | |
71 | + | |
72 | + public abstract <T extends BaseBillCo> void handle(T t, IdentifyInfo identifyInfo) throws Exception; | |
73 | +} | ... | ... |
etrade-thirdparty/src/main/java/com/diligrp/etrade/thirdparty/utils/DepartmentApiUtils.java
... | ... | @@ -22,6 +22,17 @@ public class DepartmentApiUtils extends BaseApiUtils { |
22 | 22 | super(identifyInfo); |
23 | 23 | } |
24 | 24 | |
25 | + /** | |
26 | + * { | |
27 | + * "FormId": "BD_Department", | |
28 | + * "FieldKeys": "FDEPTID", | |
29 | + * "FilterString": "FNumber = '001'" | |
30 | + * } | |
31 | + * | |
32 | + * @param json | |
33 | + * @return | |
34 | + * @throws Exception | |
35 | + */ | |
25 | 36 | public String createDepartment(String json) throws Exception { |
26 | 37 | return save(createSendMessageWithAudit(json)); |
27 | 38 | } | ... | ... |
etrade-thirdparty/src/main/java/com/diligrp/etrade/thirdparty/utils/FeeApiUtils.java
1 | 1 | package com.diligrp.etrade.thirdparty.utils; |
2 | 2 | |
3 | +import com.diligrp.etrade.core.util.JsonUtils; | |
4 | +import com.diligrp.etrade.thirdparty.domain.co.basic.ChargeItemCo; | |
5 | +import com.diligrp.etrade.thirdparty.message.GeneralQueryMessage; | |
3 | 6 | import com.kingdee.bos.webapi.entity.IdentifyInfo; |
4 | 7 | import com.kingdee.bos.webapi.entity.OperateParam; |
5 | 8 | import com.kingdee.bos.webapi.entity.OperatorResult; |
6 | 9 | import org.slf4j.Logger; |
7 | 10 | import org.slf4j.LoggerFactory; |
8 | 11 | |
12 | +import java.util.List; | |
13 | + | |
9 | 14 | /** |
10 | 15 | * 费用 API 实用程序 |
11 | 16 | * |
... | ... | @@ -22,6 +27,25 @@ public class FeeApiUtils extends BaseApiUtils { |
22 | 27 | super(identifyInfo); |
23 | 28 | } |
24 | 29 | |
30 | + public ChargeItemCo getFee(String fNumber,String groupNumber) throws Exception { | |
31 | + var filterString = "FNumber = '%s' and FGroup.FNumber = '%s' ".formatted(fNumber,groupNumber); | |
32 | + var query = new GeneralQueryMessage(); | |
33 | + query.setFormId("BD_Expense"); | |
34 | + query.setFieldKeys("FEXPID,FNumber"); | |
35 | + query.setFilterString(filterString); | |
36 | + List<List<Object>> res = api.executeBillQuery(JsonUtils.toJsonString(query)); | |
37 | + log.info("费用项接口查回数据,json数据:{}", res); | |
38 | + if (res.isEmpty()){ | |
39 | + return null; | |
40 | + } | |
41 | + var feeId = String.valueOf(res.get(0).get(0)); | |
42 | + var FNumber = String.valueOf(res.get(0).get(1)); | |
43 | + ChargeItemCo chargeItemCo = new ChargeItemCo(); | |
44 | + chargeItemCo.setFEXPID(Long.valueOf(feeId)); | |
45 | + chargeItemCo.setFNumber(FNumber); | |
46 | + return chargeItemCo; | |
47 | + } | |
48 | + | |
25 | 49 | |
26 | 50 | public String createFee(String json) throws Exception { |
27 | 51 | return save(createSendMessageWithAudit(json)); | ... | ... |
etrade-thirdparty/src/main/java/com/diligrp/etrade/thirdparty/utils/PurchaseOrderApiUtils.java
... | ... | @@ -33,7 +33,7 @@ public class PurchaseOrderApiUtils extends BaseApiUtils { |
33 | 33 | query.setFieldKeys("FID"); |
34 | 34 | query.setFormId("AR_receivable"); |
35 | 35 | List<List<Object>> res = api.executeBillQuery(JsonUtils.toJsonString(query)); |
36 | - log.info("采购订单接口查回数据,json数据:{}", res); | |
36 | + log.info("应收单接口查回数据,json数据:{}", res); | |
37 | 37 | return res.isEmpty(); |
38 | 38 | } |
39 | 39 | |
... | ... | @@ -43,9 +43,9 @@ public class PurchaseOrderApiUtils extends BaseApiUtils { |
43 | 43 | } |
44 | 44 | |
45 | 45 | private void save(String json, String formId) throws Exception { |
46 | - log.info("采购订单接口json数据:{}", json); | |
46 | + log.info("应收单接口json数据:{}", json); | |
47 | 47 | String res = api.save(formId, json); |
48 | 48 | var repoRet = getRepoRet(res); |
49 | - log.info("采购订单接口已完成,{}", repoRet); | |
49 | + log.info("应收单接口已完成,{}", repoRet); | |
50 | 50 | } |
51 | 51 | } | ... | ... |
etrade-thirdparty/src/main/java/com/diligrp/etrade/thirdparty/utils/ReceiptsOrderApiUtils.java
0 → 100644
1 | +package com.diligrp.etrade.thirdparty.utils; | |
2 | + | |
3 | +import com.diligrp.etrade.core.util.JsonUtils; | |
4 | +import com.diligrp.etrade.thirdparty.message.GeneralQueryMessage; | |
5 | +import com.kingdee.bos.webapi.entity.IdentifyInfo; | |
6 | +import org.slf4j.Logger; | |
7 | +import org.slf4j.LoggerFactory; | |
8 | + | |
9 | +import java.util.List; | |
10 | + | |
11 | +/** | |
12 | + * 收款单 API 实用程序 | |
13 | + * | |
14 | + * @author zhangmeiyang | |
15 | + * @Author: zhangmeiyang | |
16 | + * @CreateTime: 2024-10-15 11:09 | |
17 | + * @Version: todo | |
18 | + * @date 2024/10/23 | |
19 | + */ | |
20 | +public class ReceiptsOrderApiUtils extends BaseApiUtils { | |
21 | + private static final Logger log = LoggerFactory.getLogger(ReceiptsOrderApiUtils.class); | |
22 | + | |
23 | + public ReceiptsOrderApiUtils(IdentifyInfo identifyInfo) { | |
24 | + super(identifyInfo); | |
25 | + } | |
26 | + | |
27 | + public boolean getReceiptsOrder(String FBillTypeID, String F_ZDB_text1,String allAmountFor,String F_ZDB_Text667 ) throws Exception { | |
28 | + String FilterString = """ | |
29 | + FBillTypeID.FNumber = '%s' and F_ZDB_text1 ='%s' and FALLAMOUNTFOR = '%s' and F_ZDB_Text667 = '%s' | |
30 | + """.formatted(FBillTypeID, F_ZDB_text1,allAmountFor,F_ZDB_Text667); | |
31 | + var query = new GeneralQueryMessage(); | |
32 | + query.setFilterString(FilterString); | |
33 | + query.setFieldKeys("FID"); | |
34 | + query.setFormId("AR_RECEIVEBILL"); | |
35 | + List<List<Object>> res = api.executeBillQuery(JsonUtils.toJsonString(query)); | |
36 | + log.info("收款单接口查回数据,json数据:{}", res); | |
37 | + return res.isEmpty(); | |
38 | + } | |
39 | + | |
40 | + | |
41 | + public void createOnePurchaseOrder(String json, String formId) throws Exception { | |
42 | + save(createSendMessageWithAudit(json), formId); | |
43 | + } | |
44 | + | |
45 | + private void save(String json, String formId) throws Exception { | |
46 | + log.info("收款单接口json数据:{}", json); | |
47 | + String res = api.save(formId, json); | |
48 | + var repoRet = getRepoRet(res); | |
49 | + log.info("收款单接口已完成,{}", repoRet); | |
50 | + } | |
51 | +} | ... | ... |
etrade-thirdparty/src/main/java/com/diligrp/etrade/thirdparty/utils/ReceiptsRefundOrderApiUtils.java
0 → 100644
1 | +package com.diligrp.etrade.thirdparty.utils; | |
2 | + | |
3 | +import com.diligrp.etrade.core.util.JsonUtils; | |
4 | +import com.diligrp.etrade.thirdparty.message.GeneralQueryMessage; | |
5 | +import com.kingdee.bos.webapi.entity.IdentifyInfo; | |
6 | +import org.slf4j.Logger; | |
7 | +import org.slf4j.LoggerFactory; | |
8 | + | |
9 | +import java.util.List; | |
10 | + | |
11 | +/** | |
12 | + * 收款单 API 实用程序 | |
13 | + * | |
14 | + * @author zhangmeiyang | |
15 | + * @Author: zhangmeiyang | |
16 | + * @CreateTime: 2024-10-15 11:09 | |
17 | + * @Version: todo | |
18 | + * @date 2024/10/23 | |
19 | + */ | |
20 | +public class ReceiptsRefundOrderApiUtils extends BaseApiUtils { | |
21 | + private static final Logger log = LoggerFactory.getLogger(ReceiptsRefundOrderApiUtils.class); | |
22 | + | |
23 | + public ReceiptsRefundOrderApiUtils(IdentifyInfo identifyInfo) { | |
24 | + super(identifyInfo); | |
25 | + } | |
26 | + | |
27 | + public boolean getReceiptsRefundOrder(String FBillTypeID, String F_ZDB_text1,String allAmountFor,String F_ZDB_Text667 ) throws Exception { | |
28 | + String FilterString = """ | |
29 | + FBillTypeID.FNumber = '%s' and F_ZDB_text1 ='%s' and FALLAMOUNTFOR = '%s' and F_ZDB_Text667 = '%s' | |
30 | + """.formatted(FBillTypeID, F_ZDB_text1,allAmountFor,F_ZDB_Text667); | |
31 | + var query = new GeneralQueryMessage(); | |
32 | + query.setFilterString(FilterString); | |
33 | + query.setFieldKeys("FID"); | |
34 | + query.setFormId("AR_REFUNDBILL"); | |
35 | + List<List<Object>> res = api.executeBillQuery(JsonUtils.toJsonString(query)); | |
36 | + log.info("收款退款单接口查回数据,json数据:{}", res); | |
37 | + return res.isEmpty(); | |
38 | + } | |
39 | + | |
40 | + | |
41 | + public void createOnePurchaseOrder(String json, String formId) throws Exception { | |
42 | + save(createSendMessageWithAudit(json), formId); | |
43 | + } | |
44 | + | |
45 | + private void save(String json, String formId) throws Exception { | |
46 | + log.info("收款收款退款单接口json数据:{}", json); | |
47 | + String res = api.save(formId, json); | |
48 | + var repoRet = getRepoRet(res); | |
49 | + log.info("收款收款退款单接口已完成,{}", repoRet); | |
50 | + } | |
51 | +} | ... | ... |
etrade-thirdparty/src/main/resources/com/diligrp/etrade/thirdparty/mapper/RecordMapper.xml
... | ... | @@ -31,4 +31,12 @@ |
31 | 31 | , #{mapping.thirdPartyDataId} |
32 | 32 | ) |
33 | 33 | </insert> |
34 | + <delete id="deleteTheMappingData"> | |
35 | + DELETE FROM `zr_etrade`.`tp_mapping_data` | |
36 | + WHERE 1=1 | |
37 | + AND market_id = #{mapping.marketId} | |
38 | + AND system_code = #{mapping.systemCode} | |
39 | + AND business = #{mapping.business} | |
40 | + AND system_data_id = #{mapping.systemDataId} | |
41 | + </delete> | |
34 | 42 | </mapper> | ... | ... |