From bda92676f15f17ce5526f41c39ddcead98a76d44 Mon Sep 17 00:00:00 2001 From: Owen <595466820@qq.com> Date: Thu, 6 Mar 2025 18:03:53 +0800 Subject: [PATCH] =?UTF-8?q?Fix:=E8=81=94=E9=80=9A=E7=94=B5=E4=BF=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/haoka/api/ApiLianTongService.java | 5 ++ .../api/models/OrderApiCreateResp.java | 2 + .../api/strategy/LianTongApiDealStrategy.java | 74 +++++++++++++++++++ 3 files changed, 81 insertions(+) diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/api/ApiLianTongService.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/api/ApiLianTongService.java index 91a08456b7..956bbe181a 100644 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/api/ApiLianTongService.java +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/api/ApiLianTongService.java @@ -118,6 +118,11 @@ public class ApiLianTongService extends ApiConfigService { return zopClient.execute(request); } + public KingAutoNumSyncResponse lianTongOrderAutoNumSyn(Long haokaSuperiorApiId,KingAutoNumSyncRequest request) { + ZopClient zopClient = this.lianTongZopClient(haokaSuperiorApiId); + return zopClient.execute(request); + } + /** * @param type 消息类型:3-下单消息;4-订单状态变更消息 diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/models/OrderApiCreateResp.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/models/OrderApiCreateResp.java index a8b2a85131..e35043ffe0 100644 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/models/OrderApiCreateResp.java +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/models/OrderApiCreateResp.java @@ -59,4 +59,6 @@ public class OrderApiCreateResp extends BaseDO { * 生产商ID */ private Long producerId; + + private String planMobileProduced; } diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/strategy/LianTongApiDealStrategy.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/strategy/LianTongApiDealStrategy.java index 8bbe600a13..65360c5511 100644 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/strategy/LianTongApiDealStrategy.java +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/strategy/LianTongApiDealStrategy.java @@ -6,9 +6,11 @@ import cn.iocoder.yudao.module.haoka.api.hainandianxin.HaiNanDianXinApi; import cn.iocoder.yudao.module.haoka.api.liantong.LianTongApiUtil; import cn.iocoder.yudao.module.haoka.api.liantong.area.LianTongArea; import cn.iocoder.yudao.module.haoka.api.liantong.area.LianTongAreaUtils; +import cn.iocoder.yudao.module.haoka.api.liantong.model.request.KingAutoNumSyncRequest; import cn.iocoder.yudao.module.haoka.api.liantong.model.request.KingIdentityCustV2Request; import cn.iocoder.yudao.module.haoka.api.liantong.model.request.KingOrderSyncV2Request; import cn.iocoder.yudao.module.haoka.api.liantong.model.request.KingPreOrderSyncRequest; +import cn.iocoder.yudao.module.haoka.api.liantong.model.response.KingAutoNumSyncResponse; import cn.iocoder.yudao.module.haoka.api.liantong.model.response.KingIdentityCustV2Response; import cn.iocoder.yudao.module.haoka.api.liantong.model.response.KingOrderSyncResponse; import cn.iocoder.yudao.module.haoka.api.liantong.model.response.KingPreOrderSyncResponse; @@ -159,6 +161,78 @@ public class LianTongApiDealStrategy implements ApiDealStrategy { return ApiDealResp.ok(superApiResponse); } + + + + + // 自动选号接口----开始 + if (StringUtils.isEmpty(param.getPlanMobile())) { + KingAutoNumSyncRequest autoNumSyncRequest = new KingAutoNumSyncRequest(); + + // 填充参数到 autoNumSyncRequest + autoNumSyncRequest.setOrderId(param.getId().toString()); // 订单ID + autoNumSyncRequest.setGoodsId(skuConfigVO.getSuperiorCode()); // 商品ID + autoNumSyncRequest.setCertName(param.getIdCardName()); // 入网人姓名 + autoNumSyncRequest.setCertNo(param.getIdCardNum()); // 入网人身份证号码 + autoNumSyncRequest.setContactNum(param.getAddressMobile()); // 联系电话 + autoNumSyncRequest.setPostProvinceCode(receiveAddress.getProvinceCode()); // 收货省份 + autoNumSyncRequest.setPostCityCode(receiveAddress.getCityCode()); // 收货地市 + autoNumSyncRequest.setPostDistrictCode(receiveAddress.getDistrictCode()); // 收货区县 + autoNumSyncRequest.setPostAddr(param.getAddress()); // 详细地址 + autoNumSyncRequest.setChannel(apiLianTongService.getConfigValue(haokaSuperiorApiId, LianTongApiUtil.KEY_channel)); // 触点编码 + autoNumSyncRequest.setCreateTime(format); // 订单创建时间 + autoNumSyncRequest.setUpdateTime(format); // 订单更新时间 + + // 如果有其他需要填充的字段,可以根据业务需求继续填充 + if (skuConfigVO != null && StringUtils.isNotEmpty(skuConfigVO.getConfig())) { + String config = skuConfigVO.getConfig(); + JSONObject configs = JSON.parseObject(config); + autoNumSyncRequest.setResourceId(configs.getString("ApiPrefix_resourceId")); // 资源ID + autoNumSyncRequest.setPageUrl(configs.getString("ApiPrefix_pageUrl")); // 下单链接 + autoNumSyncRequest.setReferrerCode(configs.getString("ApiPrefix_referrerCode")); // 发展人编码 + autoNumSyncRequest.setIsOpenCF(configs.getString("ApiPrefix_isOpenCF")); // 开通呼转服务字段 + autoNumSyncRequest.setCustIp(configs.getString("ApiPrefix_custIp")); // 客户IP + autoNumSyncRequest.setLaunchPlatform(configs.getString("ApiPrefix_launchPlatform")); // 投放平台 + } + + logVO.setParam(JSON.toJSONString(autoNumSyncRequest)); + KingAutoNumSyncResponse kingAutoNumSyncResponse = apiLianTongService.lianTongOrderAutoNumSyn(haokaSuperiorApiId, autoNumSyncRequest); + logVO.setResponse(JSON.toJSONString(kingAutoNumSyncResponse)); + + // 解析 kingAutoNumSyncResponse + if (!"0000".equals(kingAutoNumSyncResponse.getRspCode())) { + superApiResponse.setOrderStatusCode("0"); + superApiResponse.setSupplierOrderStatusDesc(kingAutoNumSyncResponse.getRspDesc()); + return ApiDealResp.ok(superApiResponse); + } + + // 处理返回结果 + String body = kingAutoNumSyncResponse.getBody(); + if (StringUtils.isNotEmpty(body)) { + JSONObject jsonObject = JSON.parseObject(body); + superApiResponse.setOrderCreateResponse(JSON.toJSONString(body)); + superApiResponse.setOrderStatusCode("500"); + superApiResponse.setSupplierOrderId(jsonObject.getString("orderNo")); + superApiResponse.setPlanMobileProduced(jsonObject.getString("preNumber")); + } + + return ApiDealResp.ok(superApiResponse); + } +// 自动选号接口结束 + + + + + + + + + + + + + + // 2、提交预订单 得到token lianTongPreOrderSync KingPreOrderSyncRequest preOrder = new KingPreOrderSyncRequest(); preOrder.setGoodsId(skuConfigVO.getSuperiorCode());