diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/api/hunandianxin/HaiNanDxInfo.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/api/hunandianxin/HaiNanDxInfo.java index 8d776f2115..86a8d3d5bc 100644 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/api/hunandianxin/HaiNanDxInfo.java +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/api/hunandianxin/HaiNanDxInfo.java @@ -4,6 +4,9 @@ import com.alibaba.fastjson.JSONObject; import lombok.AllArgsConstructor; import lombok.Data; +import java.text.SimpleDateFormat; +import java.util.Date; + @Data public class HaiNanDxInfo { @Data @@ -70,34 +73,34 @@ public class HaiNanDxInfo { // 接口2、同步订单信息给BPS:syn.orderinfo.SynJdServiceOrder @Data public static class SyncOrderParam { - private String serviceOrderOutOrderId; // 提交订单ID - private String serviceOrderSubmitTime; // 提交时间 - private String serviceOrderCusName; // 客户入网姓名 - private String serviceOrderCusCardNo; // 客户入网身份证 - private String serviceOrderCusAccPhone;// 客户预占号码 - private String serviceOrderSalesNumber;// 入网所选套餐ID - private String serviceOrderCpsRefereePeople; // CPS1 - private String serviceOrderRefereePeople; // CPS2 - private String serviceOrderReceiverName; - private String serviceOrderReceiverProvCode; - private String serviceOrderReceiverCityCode; - private String serviceOrderReceiverDistrictCode; - private String serviceOrderReceiverAddress; - - private String serviceOrderSource; - - // serviceOrderCardPic1 否 string 入网身份图片信息 - private String serviceOrderPayStatus; // 否 string 支付状态:1 已支付, -1 未支付 - private String serviceOrderPayPrice; // 否 string 支付金额(X元预存) - private String serviceOrderPayTranid; // 否 string 短信验证流水号 - private String serviceOrderPayOrderid; // 否 string 支付订单号(号百流水号) - private String serviceOrderCardPic1; // 否 string 入网身份图片信息 - private String serviceOrderActivationReferee; // 否 string 推荐人工号 - private String fingerNum; // 否 string 指纹编码,由js前端获取 - private String installAddress; // 否 string 装机地址 - private String serviceOrderPhoneCellCode; // 否 string 号码归属地 如:0731 - private String tbBusOppBroadBusAcc; // 否 string 预受理单号 (或销售员编码,校园编码) - private String serviceOrderRemark; // 否 string 专属优惠 + private String serviceOrderOutOrderId = ""; // 提交订单ID + private String serviceOrderSubmitTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); // 提交时间 + private String serviceOrderCusName = ""; // 客户入网姓名 + private String serviceOrderCusCardNo = ""; // 客户入网身份证 + private String serviceOrderCusAccPhone = ""; // 客户预占号码 + private String serviceOrderSalesNumber = ""; // 入网所选套餐ID + private String serviceOrderCusContactPhone = ""; // 客户联系电话 + private String serviceOrderIccid = ""; // ICCID + private String serviceOrderPhoneCellcore = ""; // 号码归属地 + private String serviceOrderReceiverName = ""; // 收货人姓名 + private String serviceOrderReceiverProvCode = ""; // 收货人省份 + private String serviceOrderReceiverCityCode = ""; // 收货人城市 + private String serviceOrderReceiverDistrictCode = ""; // 收货人区县 + private String serviceOrderReceiverAddress = ""; // 收货人详细地址 + private String serviceOrderType = ""; // 订单类型 + private String serviceOrderSource = ""; // 订单来源 + private String serviceOrderCpsRefereePeople = ""; // CPS1 + private String serviceOrderRefereePeople = ""; // CPS2 + private String serviceOrderPayMethod = ""; // 支付方式 + private String serviceOrderPayStatus = ""; // 支付状态:1 已支付, -1 未支付 + private String serviceOrderPayTranid = ""; // 短信验证流水号 + private String serviceOrderPayOrderid = ""; // 支付订单号(号百流水号) + private String serviceOrderCardPic1 = ""; // 入网身份图片信息 + private String serviceOrderActivationReferee = ""; // 推荐人工号 + private String fingerNum = ""; // 指纹编码,由js前端获取 + private String installAddress = ""; // 装机地址 + private String tbBusOppBroadBusAcc = ""; // 预受理单号 (或销售员编码,校园编码) + private String serviceOrderRemark = ""; // 专属优惠g 专属优惠 } 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 12d308f171..5925da0ec3 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 @@ -47,6 +47,13 @@ public class HuNanDxApiDealStrategy implements ApiDealStrategy { return haoKaAddressService.getAddress(code); } + private String defaultString(String value) { + if (value == null) { + return ""; + } + return value; + } + @Override public ApiDealResp createOrder(final SuperiorApiLogSaveReqVO logVO, OrderApiCreateParam param) throws Exception { OnSaleProductPreOrderRespVO preProduct = onSaleProductService.getOnSaleProductPreOrder(param.getOnSaleProductId()); @@ -54,7 +61,7 @@ public class HuNanDxApiDealStrategy implements ApiDealStrategy { return ApiDealResp.failed("商品下架或者不存在"); } SuperiorApiDO superiorApi = superiorApiService.getSuperiorApi(param.getSuperiorApiId()); - final SuperiorProductConfigDO skuConfigVO = superiorProductConfigService.getById(param.getSuperiorProductConfigId()); + final SuperiorProductConfigDO skuConfigVO = superiorProductConfigService.getById(param.getSuperiorProductConfigId()); if (skuConfigVO == null) { return ApiDealResp.failed("商品对接上游配置不存在"); } @@ -101,7 +108,7 @@ public class HuNanDxApiDealStrategy implements ApiDealStrategy { orderParam.setServiceOrderCusName(param.getIdCardName()); orderParam.setServiceOrderCusCardNo(param.getIdCardNum()); orderParam.setServiceOrderCusAccPhone(param.getPlanMobile()); - orderParam.setServiceOrderCusAccPhone(param.getAddressMobile()); + orderParam.setServiceOrderCusContactPhone(param.getAddressMobile()); orderParam.setServiceOrderSalesNumber(skuConfigVO.getSuperiorCode()); orderParam.setServiceOrderReceiverProvCode(addressProvince.getName()); orderParam.setServiceOrderReceiverCityCode(addressCity.getName()); @@ -117,15 +124,35 @@ public class HuNanDxApiDealStrategy implements ApiDealStrategy { if (StringUtils.isNotEmpty(skuConfigVO.getConfig())) { String config = skuConfigVO.getConfig(); JSONObject configs = JSON.parseObject(config); - cardQualificationParam.setServiceOrderSource(configs.getString("ApiPrefix_serviceOrderSource")); + String string = configs.getString("ApiPrefix_serviceOrderSource"); + + cardQualificationParam.setServiceOrderSource(string); orderParam.setServiceOrderSource(configs.getString("ApiPrefix_serviceOrderSource")); + String string1 = configs.getString("ApiPrefix_serviceOrderType"); + orderParam.setServiceOrderType(string1!=null?string1:configs.getString("ApiPrefix_serviceOrderSource")); +// 补充其他字段,如果 configs.getString 返回 null,则填入 "" + orderParam.setServiceOrderIccid(defaultString(configs.getString("ApiPrefix_serviceOrderIccid"))); + orderParam.setServiceOrderPhoneCellcore(defaultString(configs.getString("ApiPrefix_serviceOrderPhoneCellcore"))); + orderParam.setServiceOrderReceiverName(defaultString(configs.getString("ApiPrefix_serviceOrderReceiverName"))); + orderParam.setServiceOrderCpsRefereePeople(defaultString(configs.getString("ApiPrefix_serviceOrderCpsRefereePeople"))); + orderParam.setServiceOrderRefereePeople(defaultString(configs.getString("ApiPrefix_serviceOrderRefereePeople"))); + orderParam.setServiceOrderPayMethod(defaultString(configs.getString("ApiPrefix_serviceOrderPayMethod"))); + orderParam.setServiceOrderPayStatus(defaultString(configs.getString("ApiPrefix_serviceOrderPayStatus"))); + orderParam.setServiceOrderPayTranid(defaultString(configs.getString("ApiPrefix_serviceOrderPayTranid"))); + orderParam.setServiceOrderPayOrderid(defaultString(configs.getString("ApiPrefix_serviceOrderPayOrderid"))); + orderParam.setServiceOrderCardPic1(defaultString(configs.getString("ApiPrefix_serviceOrderCardPic1"))); + orderParam.setServiceOrderActivationReferee(defaultString(configs.getString("ApiPrefix_serviceOrderActivationReferee"))); + orderParam.setFingerNum(defaultString(configs.getString("ApiPrefix_fingerNum"))); + orderParam.setInstallAddress(defaultString(configs.getString("ApiPrefix_installAddress"))); + orderParam.setTbBusOppBroadBusAcc(defaultString(configs.getString("ApiPrefix_tbBusOppBroadBusAcc"))); + orderParam.setServiceOrderRemark(defaultString(configs.getString("ApiPrefix_serviceOrderRemark"))); } HaiNanDxInfo.ResponseInfo checked = - apiHuNanDXService.checkInternetCardQualification(logVO, haokaSuperiorApiId,cardQualificationParam); + apiHuNanDXService.checkInternetCardQualification(logVO, haokaSuperiorApiId, cardQualificationParam); OrderApiCreateResp superApiResponse = new OrderApiCreateResp(); if (!"00000".equals(checked.getRes_code())) { logVO.setResponse(JSON.toJSONString(checked)); @@ -163,75 +190,75 @@ public class HuNanDxApiDealStrategy implements ApiDealStrategy { } - HaiNanDxInfo.NeedSignQueryParam needSignQueryParam = new HaiNanDxInfo.NeedSignQueryParam<>(); - // 预占 1 - { - needSignQueryParam.setData(possessParam); - needSignQueryParam.setApiName("num.accept.possessNumber2To3"); - HaiNanDxInfo.ResponseInfo possessResponse = apiHuNanDXService.possessPhoneNumber(logVO,haokaSuperiorApiId, needSignQueryParam); - if (!"00000".equals(possessResponse.getRes_code())) { - logVO.setResponse(JSON.toJSONString(possessResponse)); -// return ApiDealResp.failed(checked.getRes_message()); - - superApiResponse.setOrderStatusCode("0"); - superApiResponse.setSupplierOrderStatusDesc(checked.getRes_message()); - return ApiDealResp.ok(superApiResponse); - } - JSONObject result = possessResponse.getResult(); - if (result == null || result.getJSONObject("respData") == null) { - logVO.setResponse(JSON.toJSONString(possessResponse)); -// return ApiDealResp.failed(checked.getRes_message()); - - superApiResponse.setOrderStatusCode("0"); - superApiResponse.setSupplierOrderStatusDesc(checked.getRes_message()); - return ApiDealResp.ok(superApiResponse); - } - if (!"0000".equals(result.getJSONObject("respData").getString("respCode"))) { - logVO.setResponse(result.getJSONObject("respData").getString("respDesc")); -// return ApiDealResp.failed(checked.getRes_message()); - - superApiResponse.setOrderStatusCode("0"); - superApiResponse.setSupplierOrderStatusDesc(checked.getRes_message()); - return ApiDealResp.ok(superApiResponse); - } - } - - // 正式占用 - { - needSignQueryParam.setData(possessParam); - needSignQueryParam.setApiName("num.accept.possessNumber3To5"); - HaiNanDxInfo.ResponseInfo possessResponse = apiHuNanDXService.possessPhoneNumber(logVO, haokaSuperiorApiId,needSignQueryParam); - if (!"00000".equals(possessResponse.getRes_code())) { - logVO.setResponse(JSON.toJSONString(possessResponse)); -// return ApiDealResp.failed(checked.getRes_message()); - - superApiResponse.setOrderStatusCode("0"); - superApiResponse.setSupplierOrderStatusDesc(checked.getRes_message()); - return ApiDealResp.ok(superApiResponse); - } - JSONObject result = possessResponse.getResult(); - if (result == null || result.getJSONObject("respData") == null) { - logVO.setResponse(JSON.toJSONString(possessResponse)); -// return ApiDealResp.failed(checked.getRes_message()); - - superApiResponse.setOrderStatusCode("0"); - superApiResponse.setSupplierOrderStatusDesc(checked.getRes_message()); - return ApiDealResp.ok(superApiResponse); - } - if (!"0000".equals(result.getJSONObject("respData").getString("respCode"))) { - logVO.setResponse(result.getJSONObject("respData").getString("respDesc")); -// return ApiDealResp.failed(checked.getRes_message()); - - superApiResponse.setOrderStatusCode("0"); - superApiResponse.setSupplierOrderStatusDesc(result.getJSONObject("respData").getString("respDesc")); - return ApiDealResp.ok(superApiResponse); - } - } + // HaiNanDxInfo.NeedSignQueryParam needSignQueryParam = new HaiNanDxInfo.NeedSignQueryParam<>(); +// // 预占 1 +// { +// needSignQueryParam.setData(possessParam); +// needSignQueryParam.setApiName("num.accept.possessNumber2To3"); +// HaiNanDxInfo.ResponseInfo possessResponse = apiHuNanDXService.possessPhoneNumber(logVO,haokaSuperiorApiId, needSignQueryParam); +// if (!"00000".equals(possessResponse.getRes_code())) { +// logVO.setResponse(JSON.toJSONString(possessResponse)); +//// return ApiDealResp.failed(checked.getRes_message()); +// +// superApiResponse.setOrderStatusCode("0"); +// superApiResponse.setSupplierOrderStatusDesc(checked.getRes_message()); +// return ApiDealResp.ok(superApiResponse); +// } +// JSONObject result = possessResponse.getResult(); +// if (result == null || result.getJSONObject("respData") == null) { +// logVO.setResponse(JSON.toJSONString(possessResponse)); +//// return ApiDealResp.failed(checked.getRes_message()); +// +// superApiResponse.setOrderStatusCode("0"); +// superApiResponse.setSupplierOrderStatusDesc(checked.getRes_message()); +// return ApiDealResp.ok(superApiResponse); +// } +// if (!"0000".equals(result.getJSONObject("respData").getString("respCode"))) { +// logVO.setResponse(result.getJSONObject("respData").getString("respDesc")); +//// return ApiDealResp.failed(checked.getRes_message()); +// +// superApiResponse.setOrderStatusCode("0"); +// superApiResponse.setSupplierOrderStatusDesc(checked.getRes_message()); +// return ApiDealResp.ok(superApiResponse); +// } +// } +// +// // 正式占用 +// { +// needSignQueryParam.setData(possessParam); +// needSignQueryParam.setApiName("num.accept.possessNumber3To5"); +// HaiNanDxInfo.ResponseInfo possessResponse = apiHuNanDXService.possessPhoneNumber(logVO, haokaSuperiorApiId,needSignQueryParam); +// if (!"00000".equals(possessResponse.getRes_code())) { +// logVO.setResponse(JSON.toJSONString(possessResponse)); +//// return ApiDealResp.failed(checked.getRes_message()); +// +// superApiResponse.setOrderStatusCode("0"); +// superApiResponse.setSupplierOrderStatusDesc(checked.getRes_message()); +// return ApiDealResp.ok(superApiResponse); +// } +// JSONObject result = possessResponse.getResult(); +// if (result == null || result.getJSONObject("respData") == null) { +// logVO.setResponse(JSON.toJSONString(possessResponse)); +//// return ApiDealResp.failed(checked.getRes_message()); +// +// superApiResponse.setOrderStatusCode("0"); +// superApiResponse.setSupplierOrderStatusDesc(checked.getRes_message()); +// return ApiDealResp.ok(superApiResponse); +// } +// if (!"0000".equals(result.getJSONObject("respData").getString("respCode"))) { +// logVO.setResponse(result.getJSONObject("respData").getString("respDesc")); +//// return ApiDealResp.failed(checked.getRes_message()); +// +// superApiResponse.setOrderStatusCode("0"); +// superApiResponse.setSupplierOrderStatusDesc(result.getJSONObject("respData").getString("respDesc")); +// return ApiDealResp.ok(superApiResponse); +// } +// } // 下单 - HaiNanDxInfo.ResponseInfo responseInfo = apiHuNanDXService.syncOrder(logVO,haokaSuperiorApiId, orderParam); + HaiNanDxInfo.ResponseInfo responseInfo = apiHuNanDXService.syncOrder(logVO, haokaSuperiorApiId, orderParam); if (!"00000".equals(responseInfo.getRes_code())) { logVO.setResponse(JSON.toJSONString(responseInfo)); @@ -274,7 +301,7 @@ public class HuNanDxApiDealStrategy implements ApiDealStrategy { return ApiDealResp.failed("商品下架或者不存在"); } SuperiorApiDO superiorApi = superiorApiService.getSuperiorApi(param.getSuperiorApiId()); - final SuperiorProductConfigDO skuConfigVO = superiorProductConfigService.getById(param.getSuperiorProductConfigId()); + final SuperiorProductConfigDO skuConfigVO = superiorProductConfigService.getById(param.getSuperiorProductConfigId()); if (skuConfigVO == null) { return ApiDealResp.failed("商品对接上游配置不存在"); } @@ -284,7 +311,7 @@ public class HuNanDxApiDealStrategy implements ApiDealStrategy { try { HaiNanDxInfo.QueryOrderParam queryParam = new HaiNanDxInfo.QueryOrderParam(); queryParam.setOutId(param.getId().toString()); - HaiNanDxInfo.ResponseInfo responseInfo = apiHuNanDXService.queryOrder(logVO,haokaSuperiorApiId, queryParam); + HaiNanDxInfo.ResponseInfo responseInfo = apiHuNanDXService.queryOrder(logVO, haokaSuperiorApiId, queryParam); logVO.setResponse(JSON.toJSONString(responseInfo)); OrderApiQueryResp orderApiQueryResp = new OrderApiQueryResp(); if (responseInfo.getResult() == null) { @@ -321,13 +348,13 @@ public class HuNanDxApiDealStrategy implements ApiDealStrategy { // return ApiDealResp.failed("tbBusOppOrderThState null"); orderApiQueryResp.setOrderStatusCode("0"); - orderApiQueryResp.setSupplierOrderStatusDesc("状态为:"+string+",状态说明:0待确认,1生产,2作废,3同步失败,4待下单,5待转业务单,8业务单挂起状态"); + orderApiQueryResp.setSupplierOrderStatusDesc("状态为:" + string + ",状态说明:0待确认,1生产,2作废,3同步失败,4待下单,5待转业务单,8业务单挂起状态"); return ApiDealResp.ok(orderApiQueryResp); } orderApiQueryResp.setData(responseInfo); orderApiQueryResp.setOrderStatusCode("470"); - orderApiQueryResp.setSupplierOrderStatusDesc("状态为:"+string+",状态说明:0待确认,1生产,2作废,3同步失败,4待下单,5待转业务单,8业务单挂起状态"); + orderApiQueryResp.setSupplierOrderStatusDesc("状态为:" + string + ",状态说明:0待确认,1生产,2作废,3同步失败,4待下单,5待转业务单,8业务单挂起状态"); return ApiDealResp.ok(orderApiQueryResp); } catch (Exception e) { return ApiDealResp.failed(e.getMessage());