diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/api/ApiGuangZhouDXService.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/api/ApiGuangZhouDXService.java index 5fdf350b72..64af94c337 100644 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/api/ApiGuangZhouDXService.java +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/api/ApiGuangZhouDXService.java @@ -13,32 +13,34 @@ import java.util.Map; @Service public class ApiGuangZhouDXService extends ApiConfigService { - public static final String Key_urlPrefix = "urlPrefix"; public static final String Key_publicKey = "publicKey"; - public static final String Path_createOrder = ""; + public static final String Key_createOrderUrl = "createOrderUrl"; + public static final String Key_queryOrderUrl = "queryOrderUrl"; - public String createOrder( final SuperiorApiLogSaveReqVO logVO , Long haokaSuperiorApiId ,GdOrderCreateRequestParam param) throws Exception { + public String createOrder(final SuperiorApiLogSaveReqVO logVO, Long haokaSuperiorApiId, GdOrderCreateRequestParam param) throws Exception { logVO.setHaokaSuperiorApiId(haokaSuperiorApiId); - Map devConfig = getDevConfig(haokaSuperiorApiId); - String urlPrefix = devConfig.get(Key_urlPrefix); String publicKey = devConfig.get(Key_publicKey); - String url = urlPrefix + Path_createOrder; + String url = devConfig.get(Key_createOrderUrl); + param.setUserIDNumber(devConfig.get("userIDNumber")); + param.setUserName(devConfig.get("userName")); + param.setAgentAccount(devConfig.get("agentAccount")); HttpResponse order = GdDxApi.createOrder(logVO, url, publicKey, param); return order.getBody(); } - public String queryOrder(final SuperiorApiLogSaveReqVO logVO, Long haokaSuperiorApiId , GdOrderQueryRequestParam param) throws Exception { + public String queryOrder(final SuperiorApiLogSaveReqVO logVO, Long haokaSuperiorApiId, GdOrderQueryRequestParam param) throws Exception { logVO.setHaokaSuperiorApiId(haokaSuperiorApiId); Map devConfig = getDevConfig(haokaSuperiorApiId); - String urlPrefix = devConfig.get(Key_urlPrefix); String publicKey = devConfig.get(Key_publicKey); - - HttpResponse order = GdDxApi.queryOrder(logVO, urlPrefix + Path_createOrder, publicKey, param); + String url = devConfig.get(Key_queryOrderUrl); + param.setUserIDNumber(devConfig.get("userIDNumber")); + param.setUserName(devConfig.get("userName")); + param.setAgentAccount(devConfig.get("agentAccount")); + HttpResponse order = GdDxApi.queryOrder(logVO, url, publicKey, param); return order.getBody(); - } } diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/schedule/HaokaLianTongUpdateOrderSchedule.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/schedule/HaokaLianTongUpdateOrderSchedule.java index 8b60b4cf2b..57566f75b0 100644 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/schedule/HaokaLianTongUpdateOrderSchedule.java +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/schedule/HaokaLianTongUpdateOrderSchedule.java @@ -1,17 +1,25 @@ package cn.iocoder.yudao.module.haoka.schedule; +import cn.hutool.core.util.ObjectUtil; import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; import cn.iocoder.yudao.framework.tenant.core.service.TenantFrameworkService; import cn.iocoder.yudao.module.haoka.api.ApiFrom; import cn.iocoder.yudao.module.haoka.api.ApiLianTongService; +import cn.iocoder.yudao.module.haoka.api.liantong.model.response.KingMessageGetResponse; import cn.iocoder.yudao.module.haoka.controller.admin.orders.vo.OrdersPageReqVO; +import cn.iocoder.yudao.module.haoka.controller.admin.superiorapilog.vo.SuperiorApiLogSaveReqVO; import cn.iocoder.yudao.module.haoka.dal.dataobject.orders.OrdersDO; +import cn.iocoder.yudao.module.haoka.dal.dataobject.superiorapi.SuperiorApiDO; import cn.iocoder.yudao.module.haoka.service.api.ApiDealStrategyService; import cn.iocoder.yudao.module.haoka.service.api.models.ApiDealResp; import cn.iocoder.yudao.module.haoka.service.api.models.OrderApiQueryResp; import cn.iocoder.yudao.module.haoka.service.orders.OrdersService; +import cn.iocoder.yudao.module.haoka.service.superiorapi.SuperiorApiService; +import cn.iocoder.yudao.module.haoka.service.superiorapilog.SuperiorApiLogService; +import cn.iocoder.yudao.module.haoka.utils.SnowflakeId; import com.alibaba.fastjson.JSON; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; @@ -20,6 +28,8 @@ import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; +import java.util.List; + @Slf4j @Component public class HaokaLianTongUpdateOrderSchedule { @@ -34,47 +44,20 @@ public class HaokaLianTongUpdateOrderSchedule { @Resource private TenantFrameworkService tenantFrameworkService; - @Resource - private ApiLianTongService apiLianTongService; - @Scheduled(cron = "0 */10 * * * ?") + + @Scheduled(cron = "0 */25 * * * ?") public void updateOrder() { String type = new String(); - log.info("开始-----------更新订单开始--------------------"); + log.info("开始-----------联通--更新订单开始--------------------"); tenantFrameworkService.getTenantIds().forEach((tenantId) -> { - log.info("开始-----------更新订单开始---------tenantId-----------{}",tenantId); - OrdersPageReqVO pageReqVO = new OrdersPageReqVO(); - TenantContextHolder.setTenantId(tenantId); - int pageNo = 0; - int pageSize = 100; - Long total = 100L; - while ((long) pageNo * pageSize < total) { - pageNo += 1; - pageReqVO.setPageNo(pageNo); - pageReqVO.setPageSize(pageSize); - - // 需要更新的订单过滤 todo - // pageReqVO.setStatus(Lists.asList(1)); - - PageResult ordersPage = ordersService.getOrdersPage(pageReqVO); - total = ordersPage.getTotal(); - for (OrdersDO ordersDO : ordersPage.getList()) { - updateOrderInfo(ordersDO); - } - } }); - log.info("结束-----------更新订单结束--------------------"); + log.info("结束-----------联通--更新订单结束--------------------"); } - private void updateOrderInfo(final OrdersDO ordersDO) { - log.info("更新前--:{}", JSON.toJSONString(ordersDO)); - ApiDealResp updateOrderInfo = apiDealStrategyService.getUpdateOrderInfo(ordersDO); - // todo 上游更新 - ordersService.updateById(ordersDO); - log.info("更新后--:{}", JSON.toJSONString(ordersDO)); - } + } diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/schedule/HaokaUpdateOrderSchedule.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/schedule/HaokaUpdateOrderSchedule.java index bf419ede71..11b07a4df9 100644 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/schedule/HaokaUpdateOrderSchedule.java +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/schedule/HaokaUpdateOrderSchedule.java @@ -1,17 +1,25 @@ package cn.iocoder.yudao.module.haoka.schedule; +import cn.hutool.core.util.ObjectUtil; import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; import cn.iocoder.yudao.framework.tenant.core.service.TenantFrameworkService; import cn.iocoder.yudao.module.haoka.api.ApiFrom; +import cn.iocoder.yudao.module.haoka.api.ApiLianTongService; +import cn.iocoder.yudao.module.haoka.api.liantong.model.response.KingMessageGetResponse; import cn.iocoder.yudao.module.haoka.controller.admin.orders.vo.OrdersPageReqVO; +import cn.iocoder.yudao.module.haoka.controller.admin.superiorapilog.vo.SuperiorApiLogSaveReqVO; import cn.iocoder.yudao.module.haoka.dal.dataobject.orders.OrdersDO; +import cn.iocoder.yudao.module.haoka.dal.dataobject.superiorapi.SuperiorApiDO; import cn.iocoder.yudao.module.haoka.service.api.ApiDealStrategyService; import cn.iocoder.yudao.module.haoka.service.api.models.ApiDealResp; import cn.iocoder.yudao.module.haoka.service.api.models.OrderApiQueryResp; import cn.iocoder.yudao.module.haoka.service.orders.OrdersService; +import cn.iocoder.yudao.module.haoka.service.superiorapi.SuperiorApiService; +import cn.iocoder.yudao.module.haoka.service.superiorapilog.SuperiorApiLogService; import com.alibaba.fastjson.JSON; import com.google.common.collect.Lists; import jakarta.annotation.Resource; @@ -21,6 +29,8 @@ import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; +import java.util.List; + @Slf4j @Component public class HaokaUpdateOrderSchedule { @@ -35,32 +45,60 @@ public class HaokaUpdateOrderSchedule { @Resource private TenantFrameworkService tenantFrameworkService; - @Scheduled(cron = "0 */10 * * * ?") + @Resource + private SuperiorApiService superiorApiService; + + + @Resource + protected SuperiorApiLogService superiorApiLogService; + + @Resource + private ApiLianTongService apiLianTongService; + + + @Scheduled(cron = "0 */22 * * * ?") public void updateOrder() { log.info("开始-----------更新订单开始--------------------"); tenantFrameworkService.getTenantIds().forEach((tenantId) -> { - log.info("开始-----------更新订单开始---------tenantId-----------{}",tenantId); - OrdersPageReqVO pageReqVO = new OrdersPageReqVO(); + log.info("开始-----------更新订单开始---------tenantId-----------{}", tenantId); TenantContextHolder.setTenantId(tenantId); - int pageNo = 0; - int pageSize = 100; - Long total = 100L; - while ((long) pageNo * pageSize < total) { - pageNo += 1; - pageReqVO.setPageNo(pageNo); - pageReqVO.setPageSize(pageSize); + // 通用查询跟新订单 + try { + OrdersPageReqVO pageReqVO = new OrdersPageReqVO(); + int pageNo = 0; + int pageSize = 100; + Long total = 100L; - // 需要更新的订单过滤 todo - // pageReqVO.setStatus(Lists.asList(1)); + while ((long) pageNo * pageSize < total) { + pageNo += 1; + pageReqVO.setPageNo(pageNo); + pageReqVO.setPageSize(pageSize); - PageResult ordersPage = ordersService.getOrdersPage(pageReqVO); - total = ordersPage.getTotal(); - for (OrdersDO ordersDO : ordersPage.getList()) { - updateOrderInfo(ordersDO); + // 需要更新的订单过滤 todo + // pageReqVO.setStatus(Lists.asList(1)); + + PageResult ordersPage = ordersService.getOrdersPage(pageReqVO); + total = ordersPage.getTotal(); + for (OrdersDO ordersDO : ordersPage.getList()) { + updateOrderInfo(ordersDO); + } } + + } catch (Exception e) { + log.error(e.getMessage()); } + + + // 联通查询消息队列跟新订单 + try { + updateLianTongOrderInfo(); + } catch (Exception e) { + log.error(e.getMessage()); + } + + }); log.info("结束-----------更新订单结束--------------------"); } @@ -73,4 +111,124 @@ public class HaokaUpdateOrderSchedule { ordersService.updateById(ordersDO); log.info("更新后--:{}", JSON.toJSONString(ordersDO)); } + + + /** + * 更新联通订单 + */ + private void updateLianTongOrderInfo() { + + + List list = superiorApiService.list(); + + if (list.isEmpty()) { + return; + } + for (SuperiorApiDO superiorApiDO : list) { + if (superiorApiDO.getApiFrom() != 1) { + break; + } + // if (superiorApiDO.getId() < 100) { + // break; + // } + final SuperiorApiLogSaveReqVO logVoSys = new SuperiorApiLogSaveReqVO(); + logVoSys.setHaokaOrderId(0L); + logVoSys.setHaokaSuperiorApiId(superiorApiDO.getId()); + logVoSys.setApiType(2); + try { + + // 消息类型:3-下单消息;4-订单状态变更消息 + getAndDealSuperiorMsg(superiorApiDO, "3"); + getAndDealSuperiorMsg(superiorApiDO, "4"); + + } catch (Exception e) { + logVoSys.setSuccess(false); + logVoSys.setInnerNote(e.getMessage()); + logVoSys.setErrorInfo(e.getMessage()); + } finally { + superiorApiLogService.createSuperiorApiLog(logVoSys); + } + } + } + + private void getAndDealSuperiorMsg(SuperiorApiDO superiorApiDO, String msgType) { + final SuperiorApiLogSaveReqVO logForOrderSys = new SuperiorApiLogSaveReqVO(); + logForOrderSys.setHaokaSuperiorApiId(superiorApiDO.getId()); + logForOrderSys.setApiType(2); + logForOrderSys.setParam(msgType); + logForOrderSys.setHaokaOrderId(2L); + + try { + + + KingMessageGetResponse msgResponse = apiLianTongService.lianTongMessageGet(superiorApiDO.getId(), msgType); + logForOrderSys.setResponse(JSON.toJSONString(msgResponse)); + + List msgList = msgResponse.getBody(); + if (ObjectUtil.isEmpty(msgList)) { + logForOrderSys.setSuccess(false); + logForOrderSys.setInnerNote(JSON.toJSONString(msgResponse.getRspDesc())); + return; + } + + + for (KingMessageGetResponse.KingMessageGetBody msg : msgList) { + final SuperiorApiLogSaveReqVO logForOrder = new SuperiorApiLogSaveReqVO(); + logForOrder.setHaokaSuperiorApiId(superiorApiDO.getId()); + logForOrder.setApiType(2); + logForOrder.setParam(msgType); + logForOrder.setResponse(JSON.toJSONString(msg)); + try { + String orderId = msg.getOrder(); + OrdersDO ordersDO = ordersService.getOne(new LambdaQueryWrapperX().eq(OrdersDO::getUpstreamOrderId, orderId)); + + if (ordersDO == null) { + logForOrder.setSuccess(false); + logForOrder.setErrorInfo("OrdersDO 本地不存在该订单"); + log.debug("OrdersDO 本地不存在该订单"); + break; + } + + /** + * 订单变更类型:1:激活,2:退单(激活前),3:转套餐(要根据产品id判断是否为享有特权的套餐),4:销户(激活后),6:首充数据同步, + * C1:开户完成,E0:发货,SX:未支付超期,AX:未支付用户取消,SX和AX状态目前仅支持3.27接口同步订单 + */ + + + // 物流单号 发货时必传 + String trackingNumber = msg.getTrackingNumber(); + + // 上游状态 要转换为本地状态 + String state = msg.getState(); + // todo XX ordersService.updateById(ordersDO); + + + // ordersDO.setStatus(????) + ordersService.updateById(ordersDO); + + // 日志 + logForOrder.setSuccess(true); + logForOrder.setHaokaOrderId(ordersDO.getId()); + + // 删除上游消息 + apiLianTongService.lianTongMessageDel(superiorApiDO.getId(), msgType, msg.getId()); + + } catch (Exception e) { + logForOrder.setSuccess(false); + logForOrder.setInnerNote(e.getMessage()); + logForOrder.setErrorInfo(e.getMessage()); + } finally { + superiorApiLogService.createSuperiorApiLog(logForOrder); + } + } + + } catch (Exception e) { + logForOrderSys.setSuccess(false); + logForOrderSys.setInnerNote(e.getMessage()); + logForOrderSys.setErrorInfo(e.getMessage()); + } finally { + superiorApiLogService.createSuperiorApiLog(logForOrderSys); + } + + } } diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/ApiDealServiceImpl.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/ApiDealServiceImpl.java index c498b3e0e6..45e62666af 100644 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/ApiDealServiceImpl.java +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/ApiDealServiceImpl.java @@ -80,6 +80,7 @@ public class ApiDealServiceImpl implements ApiDealStrategyService { logVO.setApiType(2); logVO.setHaokaOrderId(param.getId()); logVO.setHaokaProductId(param.getProductId()); + Boolean isSupport = true; try { OnSaleProductPreOrderRespVO onSaleProductPreOrder = onSaleProductService.getOnSaleProductPreOrder(param.getProductId()); if (onSaleProductPreOrder == null) { @@ -104,7 +105,8 @@ public class ApiDealServiceImpl implements ApiDealStrategyService { return ApiDealResp.failed(noneService); } ApiDealResp respApiDealResp = apiDealStrategy.queryOrder(param); - if (!respApiDealResp.getIsSupport()) { + isSupport = respApiDealResp.getIsSupport(); + if (!isSupport) { logVO.setSuccess(false); logVO.setInnerNote(respApiDealResp.getMsg()); } @@ -112,13 +114,16 @@ public class ApiDealServiceImpl implements ApiDealStrategyService { logVO.setSuccess(false); logVO.setInnerNote(respApiDealResp.getMsg()); } + return respApiDealResp; } catch (Exception e) { logVO.setSuccess(false); logVO.setErrorInfo(e.getMessage()); return ApiDealResp.failed(e.getMessage()); } finally { - superiorApiLogService.createSuperiorApiLog(logVO); + if (isSupport) { + superiorApiLogService.createSuperiorApiLog(logVO); + } } } @@ -136,7 +141,7 @@ public class ApiDealServiceImpl implements ApiDealStrategyService { param.setProductId(ordersDO.getProductId()); param.setPlanMobileProduced(ordersDO.getPlanMobileProduced()); - return this.queryOrder(new SuperiorApiLogSaveReqVO(),param); + return this.queryOrder(new SuperiorApiLogSaveReqVO(), param); // // 上游接口不支持根据订单ID查询 // if (!resp.getIsSupport()) { @@ -181,6 +186,6 @@ public class ApiDealServiceImpl implements ApiDealStrategyService { @Override public ApiDealStrategy getApiDealStrategy(Long apiFrom) { - return strategyMap.get(ApiFrom.fromId(apiFrom)); + return strategyMap.get(ApiFrom.fromId(apiFrom).getApiDealStrategy()); } } diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/strategy/GuangZhouDxApiDealStrategy.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/strategy/GuangZhouDxApiDealStrategy.java index 5908e92e53..b8221cd7c2 100644 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/strategy/GuangZhouDxApiDealStrategy.java +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/strategy/GuangZhouDxApiDealStrategy.java @@ -90,6 +90,9 @@ public class GuangZhouDxApiDealStrategy implements ApiDealStrategy { } String supplierOrderId = apiGuangZhouDXService.createOrder(logVO, haokaSuperiorApiId,createParam); + if (StringUtils.isEmpty(supplierOrderId)){ + return ApiDealResp.failed("广州电信同步订单接口:没有返回订单信息"); + } OrderApiCreateResp orderApiCreateResp = new OrderApiCreateResp(); orderApiCreateResp.setSupplierOrderId(supplierOrderId); @@ -107,6 +110,8 @@ public class GuangZhouDxApiDealStrategy implements ApiDealStrategy { Long haokaSuperiorApiId = preProduct.getSuperiorApiRespVO().getId(); logVO.setHaokaSuperiorApiId(haokaSuperiorApiId); GdOrderQueryRequestParam queryParam = new GdOrderQueryRequestParam(); + + queryParam.setOrderCode(param.getSupplierOrderId()); String responseInfo = apiGuangZhouDXService.queryOrder(logVO,haokaSuperiorApiId, queryParam); if (responseInfo == null) { diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/strategy/HaiNanDxApiDealStrategy.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/strategy/HaiNanDxApiDealStrategy.java index 8d03719476..27a69e7279 100644 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/strategy/HaiNanDxApiDealStrategy.java +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/strategy/HaiNanDxApiDealStrategy.java @@ -152,7 +152,7 @@ public class HaiNanDxApiDealStrategy implements ApiDealStrategy { OrderApiQueryResp orderApiQueryResp = new OrderApiQueryResp(); - // todo + // todo 转换本地订单状态 // orderApiQueryResp.setOrderStatusCode(); String statusCd = jsonObject.getString("statusCd"); String statusName = jsonObject.getString("statusName"); diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/strategy/HuNanDxApiDealStrategy.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/strategy/HuNanDxApiDealStrategy.java index c041495dfe..974c716a3b 100644 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/strategy/HuNanDxApiDealStrategy.java +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/api/strategy/HuNanDxApiDealStrategy.java @@ -229,6 +229,7 @@ public class HuNanDxApiDealStrategy implements ApiDealStrategy { OrderApiQueryResp orderApiQueryResp = new OrderApiQueryResp(); orderApiQueryResp.setData(responseInfo); + orderApiQueryResp.setOrderStatusCode(string); orderApiQueryResp.setSupplierOrderStatusDesc(string+"----说明:0待确认,1生产,2作废,3同步失败,4待下单,5待转业务单,8业务单挂起状态"); return ApiDealResp.ok(orderApiQueryResp); } catch (Exception e) { 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 d6165f43e1..f1a7f37d0c 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 @@ -194,9 +194,23 @@ public class LianTongApiDealStrategy implements ApiDealStrategy { if (!"0000".equals(response.getRspCode())) { return ApiDealResp.failed(response.getRspDesc()); } + // /** + // * 返回体,JSON字符串,包含字段 + // * 订单号:orderNo + // * 上传三照短链:shortUrl + // * 商城订单编码:mallOrderId【部分流程返回】 + // * 预占号码:preNumber + // * 例:{\"mallOrderId\":\"363067187203\",\"orderNo\":\"1962041937730469\",\"preNumber\":\"13104876751\",\"shortUrl\":\"https://uc.gtimg.cn/AjIxeJEl\"} + // */ + // private String body; OrderApiCreateResp orderApiCreateResp = new OrderApiCreateResp(); - orderApiCreateResp.setOrderCreateResponse(JSON.toJSONString(response)); + String body1 = response.getBody(); + orderApiCreateResp.setOrderCreateResponse(JSON.toJSONString(body1)); + JSONObject jsonObject = JSON.parseObject(body1); + + orderApiCreateResp.setSupplierOrderId(jsonObject.getString("orderNo")); + return ApiDealResp.ok(orderApiCreateResp); }