Fix:联通电信

This commit is contained in:
Owen 2025-03-06 18:03:53 +08:00
parent 866211675f
commit bda92676f1
3 changed files with 81 additions and 0 deletions

View File

@ -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-订单状态变更消息

View File

@ -59,4 +59,6 @@ public class OrderApiCreateResp extends BaseDO {
* 生产商ID
*/
private Long producerId;
private String planMobileProduced;
}

View File

@ -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());