From 4258bb05a411fcfa0c251168958e93e64559957d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=AF=E8=88=AA?= Date: Wed, 13 Mar 2024 18:22:56 +0845 Subject: [PATCH] =?UTF-8?q?=E6=8B=BC=E5=A4=9A=E5=A4=9Aapi=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dou-api/src/main/resources/application.yml | 4 +- jd-api/src/main/resources/application.yaml | 4 +- oms-api/src/main/resources/application.yml | 4 +- .../controller/AjaxOrderPddController.java | 964 ++++++++++++++++++ .../controller/AjaxRefundPddController.java | 768 ++++++++++++++ .../com/qihang/pdd/controller/DouRequest.java | 49 + .../pdd/controller/OrderPddController.java | 354 +++++++ .../controller/OrderPrintPddController.java | 416 ++++++++ .../qihang/pdd/controller/PddApiUtils.java | 34 + .../pdd/controller/PddOAuthController.java | 97 ++ .../pdd/controller/PddSocketController.java | 391 +++++++ .../pdd/controller/RefundPddController.java | 158 +++ pdd-api/src/main/resources/application.yml | 4 +- sys-api/src/main/resources/application.yaml | 6 +- 14 files changed, 3247 insertions(+), 6 deletions(-) create mode 100644 pdd-api/src/main/java/com/qihang/pdd/controller/AjaxOrderPddController.java create mode 100644 pdd-api/src/main/java/com/qihang/pdd/controller/AjaxRefundPddController.java create mode 100644 pdd-api/src/main/java/com/qihang/pdd/controller/DouRequest.java create mode 100644 pdd-api/src/main/java/com/qihang/pdd/controller/OrderPddController.java create mode 100644 pdd-api/src/main/java/com/qihang/pdd/controller/OrderPrintPddController.java create mode 100644 pdd-api/src/main/java/com/qihang/pdd/controller/PddApiUtils.java create mode 100644 pdd-api/src/main/java/com/qihang/pdd/controller/PddOAuthController.java create mode 100644 pdd-api/src/main/java/com/qihang/pdd/controller/PddSocketController.java create mode 100644 pdd-api/src/main/java/com/qihang/pdd/controller/RefundPddController.java diff --git a/dou-api/src/main/resources/application.yml b/dou-api/src/main/resources/application.yml index 642e49b6..4ce5e8e3 100644 --- a/dou-api/src/main/resources/application.yml +++ b/dou-api/src/main/resources/application.yml @@ -1,9 +1,11 @@ spring: cloud: nacos: - serverAddr: 127.0.0.1:8848 +# serverAddr: 127.0.0.1:8848 discovery: server-addr: 127.0.0.1:8848 + config: + server-addr: 127.0.0.1:8848 config: import: - nacos:qihang-oms.yaml?refresh=true diff --git a/jd-api/src/main/resources/application.yaml b/jd-api/src/main/resources/application.yaml index e07d4095..7874fc9e 100644 --- a/jd-api/src/main/resources/application.yaml +++ b/jd-api/src/main/resources/application.yaml @@ -1,9 +1,11 @@ spring: cloud: nacos: - serverAddr: 127.0.0.1:8848 +# serverAddr: 127.0.0.1:8848 discovery: server-addr: 127.0.0.1:8848 + config: + server-addr: 127.0.0.1:8848 config: import: - nacos:qihang-oms.yaml?refresh=true diff --git a/oms-api/src/main/resources/application.yml b/oms-api/src/main/resources/application.yml index 93bbea98..d75c5178 100644 --- a/oms-api/src/main/resources/application.yml +++ b/oms-api/src/main/resources/application.yml @@ -1,9 +1,11 @@ spring: cloud: nacos: - serverAddr: 127.0.0.1:8848 +# serverAddr: 127.0.0.1:8848 discovery: server-addr: 127.0.0.1:8848 + config: + server-addr: 127.0.0.1:8848 config: import: - nacos:qihang-oms.yaml?refresh=true diff --git a/pdd-api/src/main/java/com/qihang/pdd/controller/AjaxOrderPddController.java b/pdd-api/src/main/java/com/qihang/pdd/controller/AjaxOrderPddController.java new file mode 100644 index 00000000..11c828f1 --- /dev/null +++ b/pdd-api/src/main/java/com/qihang/pdd/controller/AjaxOrderPddController.java @@ -0,0 +1,964 @@ +package com.qihang.pdd.controller; + +import com.pdd.pop.sdk.common.util.JsonUtil; +import com.pdd.pop.sdk.http.PopClient; +import com.pdd.pop.sdk.http.PopHttpClient; +import com.pdd.pop.sdk.http.api.pop.request.PddOrderListGetRequest; +import com.pdd.pop.sdk.http.api.pop.response.PddOrderListGetResponse; +import com.qihang.common.common.ApiResult; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +@RequestMapping("/pdd_api") +@RestController +public class AjaxOrderPddController { + private static Logger log = LoggerFactory.getLogger(AjaxOrderPddController.class); + @Autowired + private ServerConfig serverConfig; + @Autowired + private IShopService shopService; + @Autowired + private IPddOrderService pddOrderService; + + /** + * 接口拉取订单 + * + * @param reqData + * @param + * @return + * @throws Exception + */ + @RequestMapping(value = "/order/pull_order", method = RequestMethod.GET) + public ApiResult getOrderList(DouRequest reqData) + throws Exception { + Integer updType = reqData.getUpdType();//更新类型0拉取新订单1更新订单 + String startDate = reqData.getStartDate();//reqData.getString("startTime"); + String endDate = reqData.getEndDate();//reqData.getString("endTime"); + + Long shopId = reqData.getShopId();// 拼多多shopId + var shop = shopService.selectShopById(shopId); + if(shop == null) return new ApiResult<>(EnumResultVo.Fail.getIndex(), "店铺不存在!"); + String appKey = shop.getAppkey(); + String appSercet = shop.getAppSercet(); + if(!StringUtils.hasText(appKey) || !StringUtils.hasText(appSercet)) return new ApiResult<>(EnumResultVo.Fail.getIndex(), "参数错误:请设置appkey和serecet"); + +// String clientId = DataConfigObject.getInstance().getPddClientId(); +// String clientSecret = DataConfigObject.getInstance().getPddClientSecret(); +// var shop = shopService.getShop(shopId); + // var settingEntity = thirdSettingService.getEntity(shop.getType()); + ShopApiParams params = new ShopApiParams(); + params.setAppKey(shop.getAppkey()); + params.setAppSecret(shop.getAppSercet()); + params.setAccessToken(shop.getSessionKey()); + params.setTokenRequestUrl(serverConfig.getUrl()+"/pdd_api2/oauth"); + params.setApiRequestUrl(shop.getApiRequestUrl()); + + String accessToken = shop.getSessionKey(); + if(!StringUtils.hasText(accessToken)) return new ApiResult<>(EnumResultVo.TokenFail.getIndex(), "参数错误:accessToken为空",params); + // 获取店铺信息,判断店铺是否一致 + var shopResult = PddApiUtils.getShopInfo(appKey, appSercet, accessToken); + if (shopResult.getCode() != EnumResultVo.SUCCESS.getIndex()) + return new ApiResult<>(shopResult.getCode(), shopResult.getMsg(),params); + + if (shopResult.getData().getMallId().longValue() != shop.getSellerUserId().longValue()) { + return new ApiResult<>(EnumResultVo.TokenFail.getIndex(), "该店铺不是授权店铺",params); + } + + ApiResult result = null;// 返回结果 + + Long endTime = System.currentTimeMillis() / 1000;// 订单更新结束时间(默认值) + Long startTime = endTime - 60 * 60 * 24 + 10;// 订单更新开始时间(默认值) + + // 查询上次更新时间 + /*String startTime_ = orderPddService.getPddUpTodate(shopId); + if (!StringUtils.isEmpty(startTime_)) + startTime = DateUtil.dateTimeToStamp(startTime_).longValue();*/ + + if (!StringUtils.isEmpty(startDate)) { + // 选择了开始日期,从开始时间直接循环更新到结束时间,如果选择的时间大于数据库订单最后的时间,那么就用数据库的订单时间 + Long startTimeTmp = DateUtil.dateTimeToStamp(startDate).longValue(); + if (startTimeTmp < startTime) + startTime = startTimeTmp; + + // 如果选择的结束时间不为空,就用选择的时间 + if (!StringUtils.isEmpty(endDate)) + endTime = DateUtil.dateTimeToStamp(endDate).longValue(); + } + + /* + * if (StringUtils.isEmpty(startDate)) { //没有选择开始日期 var pullOrderLog = + * salesOrderService.getErpOrderPullLogByShopId(shopId, 1); if (pullOrderLog != + * null) { startTime = pullOrderLog.getEndTime() - 60 * 10; } else { return new + * ApiResult<>(EnumResultVo.ParamsError.getIndex(), "请选择开始拉取时间"); } } else { + * //选择了开始日期,从开始时间直接循环更新到结束时间 startTime = + * DateUtil.dateToStamp(startDate).longValue(); if + * (StringUtils.isEmpty(endDate)) endTime = System.currentTimeMillis() / 1000; + * else endTime = DateUtil.dateTimeToStamp(endDate + " 23:59:00").longValue(); } + */ + + long kaishidaojiesu = endTime - startTime; + long forSize = (kaishidaojiesu % (60 * 60 * 24) == 0) ? kaishidaojiesu / (60 * 60 * 24) + : kaishidaojiesu / (60 * 60 * 24) + 1;// 计算需要循环的次数 + + log.info("开始循环更新拼多多订单。开始时间:" + DateUtil.unixTimeStampToDate(startTime) + "结束时间:" + + DateUtil.unixTimeStampToDate(endTime) + "总共循环" + forSize); + int updCount = 0; + int insertCount = 0; + int failCount = 0; + // int pageIndex = 1; + int pageSize = 100; + + for (int i = 0; i < forSize; i++) { + Long startTime1 = startTime + i * 60 * 60 * 24; + Long endTime1 = startTime1 + 60 * 60 * 24; + if (endTime1 > endTime) + endTime1 = endTime; + int pageIndex = 1; + + result = this.pullPddOrder(appKey, appSercet, accessToken, pageIndex, pageSize, startTime1, endTime1, + shopId); + pageIndex++; + log.info("开始循环" + i + "。开始时间:" + DateUtil.unixTimeStampToDate(startTime1) + "结束时间:" + + DateUtil.unixTimeStampToDate(endTime1) + "。"); + // log.info("开始更新第"+pageIndex+"页"); + if (result.getCode() == 0) { + updCount += result.getData().getUpdCount(); + insertCount += result.getData().getAddCount(); + failCount += result.getData().getFailCount(); + // log.info("查询到数据:"+result.getData().getTotalRecords()); + } else if (result.getCode() > 0) + return new ApiResult<>(result.getCode(), result.getMsg()); + // 计算总页数 + int totalPage = (result.getData().getTotalRecords() % pageSize == 0) + ? result.getData().getTotalRecords() / pageSize + : (result.getData().getTotalRecords() / pageSize) + 1; + log.info("开始循环" + i + "。查询到" + result.getData().getTotalRecords() + "条数据,总共:" + totalPage + "页"); + while (pageIndex <= totalPage) { + + // log.info("开始更新第"+pageIndex+"页"); + // log.info("查询到数据:"+result.getData().getTotalRecords()); + result = this.pullPddOrder(appKey, appSercet, accessToken, pageIndex, pageSize, startTime1, + endTime1, shopId); + if (result.getCode() == 0) { + updCount += result.getData().getUpdCount(); + insertCount += result.getData().getAddCount(); + failCount += result.getData().getFailCount(); + } + pageIndex++; + } + // pageIndex = 1; + + } + + ErpSalesPullCountResp resp = new ErpSalesPullCountResp();// 返回结果 + resp.setStartTime(DateUtil.unixTimeStampToDate(startTime)); + resp.setEndTime(DateUtil.unixTimeStampToDate(endTime)); + resp.setAddCount(insertCount); + resp.setFailCount(failCount); + resp.setUpdCount(updCount); + log.info("更新完成,结果:" + JsonUtil.transferToJson(resp)); + /* + * try { //添加更新日志 salesOrderService.addErpSalesPullOrderLog(startTime, endTime, + * shopId, result.getData().getAddCount(), result.getData().getFailCount(), + * result.getData().getUpdCount(), updType); } catch (Exception e) { + * log.info("添加更新日志错误"); } + */ + if (result.getCode() == 0) + return new ApiResult<>(EnumResultVo.SUCCESS.getIndex(), "SUCCESS", resp); + else + return new ApiResult<>(result.getCode(), result.getMsg()); + } + + /** + * 拉取拼多多接口订单 + * + * @param pageNo + * @param pageSize + * @param startTime + * @param endTime + * @param shopId + * @return + * @throws Exception + */ + private ApiResult pullPddOrder( String clientId,String clientSecret,String accessToken,Integer pageNo, Integer pageSize, Long startTime, Long endTime, Long shopId) throws Exception { + PopClient client = new PopHttpClient(clientId, clientSecret); + + // 调取拼多多接口 pdd.order.list.get 订单列表查询接口(根据成交时间) + PddOrderListGetRequest pddOrderListGetRequest = new PddOrderListGetRequest(); + pddOrderListGetRequest.setOrderStatus(5);// 发货状态,1:待发货,2:已发货待签收,3:已签收 5:全部 + pddOrderListGetRequest.setRefundStatus(5);// 售后状态 1:无售后或售后关闭,2:售后处理中,3:退款中,4: 退款成功 5:全部 + + // 开始时间 结束时间不能超过24小时 + pddOrderListGetRequest.setStartConfirmAt(startTime); + pddOrderListGetRequest.setEndConfirmAt(endTime); + pddOrderListGetRequest.setPage(pageNo); + pddOrderListGetRequest.setPageSize(pageSize); + + ErpSalesPullCountResp resp = new ErpSalesPullCountResp(); + resp.setStartTime(DateUtil.unixTimeStampToDate(startTime)); + resp.setEndTime(DateUtil.unixTimeStampToDate(endTime)); + + Integer addCount = 0, updCount = 0, failCount = 0; + log.info("开始更新第" + pageNo + "页。。。。。。。"); + PddOrderListGetResponse pddOrderListGetResponse = client.syncInvoke(pddOrderListGetRequest, accessToken); + if (pddOrderListGetResponse.getErrorResponse() != null) { + if (pddOrderListGetResponse.getErrorResponse().getErrorCode().intValue() == 10019) { + return new ApiResult<>(EnumResultVo.TokenFail.getIndex(), "Token过期"); + } else + return new ApiResult<>(EnumResultVo.SystemException.getIndex(), + "接口调用失败:" + pddOrderListGetResponse.getErrorResponse().getErrorMsg()); + } else { + // 获取到了数据 + log.info("第" + pageNo + "页。获取到" + pddOrderListGetResponse.getOrderListGetResponse().getOrderList().size() + + "条数据"); + if (pddOrderListGetResponse.getOrderListGetResponse().getTotalCount() > 0) { + for (var item : pddOrderListGetResponse.getOrderListGetResponse().getOrderList()) { + // if(item.getOrderSn().equals("210629-025663970220736")){ + // String s= item.getOrderSn(); + // } + PddOrder pddEntity = new PddOrder(); + + /*pddEntity.setBuyer_memo(item.getBuyerMemo()); + pddEntity.setCapital_free_discount(item.getCapitalFreeDiscount()); + pddEntity.setCity(item.getCity()); + pddEntity.setConfirm_status(item.getConfirmStatus()); + pddEntity.setConfirm_time(item.getConfirmTime()); + pddEntity.setCountry(item.getCountry()); + pddEntity.setCreated_time(item.getCreatedTime()); + pddEntity.setDiscount_amount(item.getDiscountAmount()); + pddEntity.setFree_sf(item.getFreeSf()); + pddEntity.setGoods_amount(item.getGoodsAmount()); + pddEntity.setGroup_status(item.getGroupStatus()); + pddEntity.setIs_lucky_flag(item.getIsLuckyFlag()); + pddEntity.setOrderSn(item.getOrderSn()); + pddEntity.setOrder_status(item.getOrderStatus());// 订单发货状态,1:待发货,2:已发货待签收,3:已签收 0:异常 + pddEntity.setPay_amount(item.getPayAmount()); + pddEntity.setPay_no(item.getPayNo()); + pddEntity.setPay_time(item.getPayTime()); + pddEntity.setPay_type(item.getPayType()); + pddEntity.setPlatform_discount(item.getPlatformDiscount()); + pddEntity.setPostage(item.getPostage()); + pddEntity.setProvince(item.getProvince()); + pddEntity.setReceive_time(item.getReceiveTime()); + pddEntity.setLast_ship_time(item.getLastShipTime()); + + pddEntity.setReceiver_name(item.getReceiverName()); + pddEntity.setReceiver_phone(item.getReceiverPhone()); + pddEntity.setAddress(item.getAddress()); + pddEntity.setNameKey(extractIndex(item.getReceiverName())); + pddEntity.setPhoneKey(extractIndex(item.getReceiverPhone())); + pddEntity.setAddressKey(extractIndex(item.getAddress())); + + pddEntity.setRefund_status(item.getRefundStatus());// 订单售后状态,1:无售后或售后关闭,2:售后处理中,3:退款中,4:退款成功,0:异常 + pddEntity.setAfter_sales_status(item.getAfterSalesStatus());// 售后状态 0:无售后 2:买家申请退款,待商家处理 + // 3:退货退款,待商家处理 4:商家同意退款,退款中 + // 5:平台同意退款,退款中 6:驳回退款,待买家处理 + // 7:已同意退货退款,待用户发货 8:平台处理中 9:平台拒绝退款,退款关闭 + // 10:退款成功 11:买家撤销 12:买家逾期未处理,退款失败 + // 13:买家逾期,超过有效期 14:换货补寄待商家处理 + // 15:换货补寄待用户处理 16:换货补寄成功 17:换货补寄失败 + // 18:换货补寄待用户确认完成 21:待商家同意维修 22:待用户确认发货 + // 24:维修关闭 25:维修成功 27:待用户确认收货 + // 31:已同意拒收退款,待用户拒收 32:补寄待商家发货 + + pddEntity.setRemark(item.getRemark()); + pddEntity.setSeller_discount(item.getSellerDiscount()); + pddEntity.setShipping_time(item.getShippingTime()); + pddEntity.setTown(item.getTown()); + pddEntity.setTracking_number(item.getTrackingNumber()); + pddEntity.setTradeType(item.getTradeType()); + pddEntity.setUpdated_at(item.getUpdatedAt()); + pddEntity.setOrderConfirmTime(DateUtil.strToLongGo(item.getConfirmTime())); + + List items = new ArrayList<>(); + // items + for (var it : item.getItemList()) { + PddOrderItem pddItem = new PddOrderItem(); + pddItem.setGoodsImg(it.getGoodsImg()); + pddItem.setGoodsName(it.getGoodsName()); + pddItem.setGoodsNum(it.getOuterGoodsId()); + pddItem.setGoodsPrice(it.getGoodsPrice()); + pddItem.setGoodsSpec(it.getGoodsSpec()); + pddItem.setGoodsSpecNum(it.getOuterId()); + pddItem.setQuantity(it.getGoodsCount()); + items.add(pddItem); + } + pddEntity.setItems(items); + + // 开始写入数据库 + var result = orderPddService.insertOrder(pddEntity, shopId); + // log.info("订单处理:" + + // item.getOrderSn()+"【结果:"+result.getCode()+"】"+result.getMsg()); + if (result.getCode() == EnumResultVo.Exist.getIndex()) { + updCount += 1; + } else if (result.getCode() == EnumResultVo.SUCCESS.getIndex()) { + addCount += 1; + } else { + failCount += 1; + }*/ + resp.setAddCount(addCount); + resp.setUpdCount(updCount); + resp.setFailCount(failCount); + } + + resp.setTotalRecords(pddOrderListGetResponse.getOrderListGetResponse().getTotalCount()); + } else + resp.setTotalRecords(0); + } + return new ApiResult<>(EnumResultVo.SUCCESS.getIndex(), "SUCCESS", resp); + } + + +// /** +// * 更新订单状态(根据订单号) +// * +// * @param reqData +// * @param req +// * @return +// * @throws Exception +// */ +// @RequestMapping(value = "/pull_order_status", method = RequestMethod.POST) +// public ApiResult updOrderStatus(@RequestBody DataRow reqData, HttpServletRequest req) +// throws Exception { +// // String startDate = reqData.getString("startTime"); +// // String endDate = reqData.getString("endTime"); +// log.info("开始接口更新订单状态"); +// Integer shopId = reqData.getInt("shopId");// 拼多多shopId +// String orderS = reqData.getString("orderS");// +// +// ApiResult result = null;// 返回结果 +// +// String clientId = DataConfigObject.getInstance().getPddClientId(); +// String clientSecret = DataConfigObject.getInstance().getPddClientSecret(); +// var shop = shopService.getShop(shopId); +// // var settingEntity = thirdSettingService.getEntity(shop.getType()); +// +// String accessToken = shop.getSessionKey();// settingEntity.getAccess_token(); +// PopClient client = new PopHttpClient(clientId, clientSecret); +// +// PddOrderStatusGetRequest request = new PddOrderStatusGetRequest(); +// request.setOrderSns(orderS); +// PddOrderStatusGetResponse response = client.syncInvoke(request, accessToken); +// // System.out.println(JsonUtil.transferToJson(response)); +// // 更新订单状态 +// if (response.getErrorResponse() != null) { +// if (response.getErrorResponse().getErrorCode().intValue() == 10019) { +// return new ApiResult<>(EnumResultVo.TokenFail.getIndex(), "Token过期"); +// } else +// return new ApiResult<>(EnumResultVo.SystemException.getIndex(), +// "接口调用失败:" + response.getErrorResponse().getErrorMsg()); +// } else { +// // 获取到了数据 +// if (response.getOrderStatusGetResponse().getOrderStatusList().size() > 0) { +// for (var item : response.getOrderStatusGetResponse().getOrderStatusList()) { +// orderPddService.updPddOrderStatus(item.getOrderSn(), item.getOrderStatus(), item.getRefundStatus()); +// log.info("更新订单状态:" + JsonUtil.transferToJson(item)); +// } +// } +// +// log.info("更新订单状态 完成"); +// return new ApiResult<>(EnumResultVo.SUCCESS.getIndex(), "SUCCESS"); +// +// } +// } +// +// @RequestMapping(value = "/pull_order_status_all", method = RequestMethod.POST) +// public ApiResult updOrderStatusAll(@RequestBody DataRow reqData, HttpServletRequest req) +// throws Exception { +// log.info("开始接口更新订单状态ALL"); +// Integer shopId = reqData.getInt("shopId");// 拼多多shopId +// var shop = shopService.getShop(shopId); +// String clientId = DataConfigObject.getInstance().getPddClientId(); +// String clientSecret = DataConfigObject.getInstance().getPddClientSecret(); +// // 获取店铺信息,判断店铺是否一致 +// var shopResult = PddApiUtils.getShopInfo(clientId, clientSecret, shop.getSessionKey()); +// if (shopResult.getCode() != EnumResultVo.SUCCESS.getIndex()) +// return new ApiResult<>(shopResult.getCode(), shopResult.getMsg()); +// +// if (shopResult.getData().getMallId().longValue() != shop.getSellerUserId().longValue()) { +// return new ApiResult<>(EnumResultVo.TokenFail.getIndex(), "该店铺不是授权店铺"); +// } +// +// String orderStatus = reqData.getString("orderStatus"); +// String refundStatusStr = reqData.getString("refundStatus"); +// Integer status = null; +// Integer refundStatus = null; +// if (!StringUtils.isEmpty(orderStatus)) { +// try { +// status = Integer.parseInt(orderStatus); +// } catch (Exception e) { +// } +// } +// if (!StringUtils.isEmpty(refundStatusStr)) { +// try { +// refundStatus = Integer.parseInt(refundStatusStr); +// } catch (Exception e) { +// } +// } +// +// Integer pageIndex = 1; +// Integer pageSize = 50; +// +// // 查询订单 +// var result = orderPddService.getOrderListByStatus(pageIndex, pageSize, shopId, status, refundStatus); +// log.info("查询到" + result.getTotalPage() + "页需要更新,总共" + result.getTotalSize() + "条记录"); +// +// String orderS = ""; +// for (var o : result.getList()) { +// orderS += o.getOrderSn() + ","; +// } +// log.info("开始更新第1页"); +// upd(shopId, orderS); +// +// while (result.isHasNextPage()) { +// pageIndex++; +// log.info("开始更新第" + pageIndex + "页"); +// result = orderPddService.getOrderListByStatus(pageIndex, pageSize, shopId, status, refundStatus); +// +// String orderS1 = ""; +// for (var o : result.getList()) { +// orderS1 += o.getOrderSn() + ","; +// } +// upd(shopId, orderS1); +// } +// log.info("已更新" + pageIndex + "页,总计:" + result.getTotalSize() + "条,更新完成"); +// return new ApiResult<>(EnumResultVo.SUCCESS.getIndex(), "SUCCESS"); +// } + +// private ApiResult upd(Integer shopId, String orderS) throws Exception { +// String clientId = DataConfigObject.getInstance().getPddClientId(); +// String clientSecret = DataConfigObject.getInstance().getPddClientSecret(); +// var shop = shopService.getShop(shopId); +// // var settingEntity = thirdSettingService.getEntity(shop.getType()); +// +// String accessToken = shop.getSessionKey();// settingEntity.getAccess_token(); +// PopClient client = new PopHttpClient(clientId, clientSecret); +// +// PddOrderStatusGetRequest request = new PddOrderStatusGetRequest(); +// request.setOrderSns(orderS); +// PddOrderStatusGetResponse response = client.syncInvoke(request, accessToken); +// // System.out.println(JsonUtil.transferToJson(response)); +// // 更新订单状态 +// if (response.getErrorResponse() != null) { +// if (response.getErrorResponse().getErrorCode().intValue() == 10019) { +// return new ApiResult<>(EnumResultVo.TokenFail.getIndex(), "Token过期"); +// } else +// return new ApiResult<>(EnumResultVo.SystemException.getIndex(), +// "接口调用失败:" + response.getErrorResponse().getErrorMsg()); +// } else { +// // 获取到了数据 +// if (response.getOrderStatusGetResponse().getOrderStatusList().size() > 0) { +// for (var item : response.getOrderStatusGetResponse().getOrderStatusList()) { +// orderPddService.updPddOrderStatus(item.getOrderSn(), item.getOrderStatus(), item.getRefundStatus()); +// log.info("更新订单状态:" + JsonUtil.transferToJson(item)); +// } +// } +// +// log.info("更新订单状态 完成"); +// return new ApiResult<>(EnumResultVo.SUCCESS.getIndex(), "SUCCESS"); +// +// } +// } + +// /** +// * 重复打印 +// * +// * @param reqData +// * @return +// * @throws Exception +// */ +// @RequestMapping(value = "/pdd_order_repeat_print", method = RequestMethod.POST) +// public ApiResult pdd_order_repeat_print(@RequestBody DataRow reqData) throws Exception { +// if (StringUtils.isEmpty(reqData.get("printName"))) +// return new ApiResult<>(EnumResultVo.ParamsError.getIndex(), "请选择打印机"); +// var orders = orderPddService.getPrintOrderRepeat(reqData.getString("orderNo")); +// if (orders.size() == 0) +// return new ApiResult<>(EnumResultVo.ParamsError.getIndex(), "订单物流打印信息不存在"); +// Integer total = 0; +// StringBuilder sb = new StringBuilder(""); +// for (var order : orders) { +// total += order.getQuantity(); +// sb.append(order.getGoodsSpecNum()); +// sb.append("(" + order.getGoodsSpec() + ")"); +// sb.append(order.getQuantity()).append("件"); +// sb.append("[" + order.getLocationNumber() + "]").append("\\n"); +// } +// var shop = shopService.getShop(orders.get(0).getShopId()); +// StringBuilder remark = new StringBuilder("【" + shop.getNickName() + "】").append("订单:").append(orders.size()) +// .append("商品:").append(total).append("件").append("\\n"); +// +// if (!StringUtils.isEmpty(orders.get(0).getEncryptedData())) { +// // templateUrl=EnumPddPrintCompany.getValueByName(orders.get(0).getTrackingCompany()); +// remark.append(sb.toString()).append("备注:").append(orders.get(0).getRemark()); +// String taskId = orders.get(0).getTrackingNumber() + "_" + OrderNumberUtils.getOrderIdByTime(); +// StringBuilder printStr = new StringBuilder( +// "{\"ERPId\":303379400,\"cmd\":\"print\",\"requestID\":\"90E06437\",\"task\":{\"documents\":[{\"contents\":[{\"addData\":{\"sender\":{\"address\":{\"city\":\"东莞市\",\"detail\":\"聚新二路42号华衣云商科技\",\"district\":\"大朗镇\",\"province\":\"广东省\"},\"mobile\":\"13018605585\",\"name\":\"杨辉\"}},"); +// printStr.append("\"encryptedData\": \"").append(orders.get(0).getEncryptedData()).append("\","); +// printStr.append("\"signature\": \"").append(orders.get(0).getSignature()).append("\","); +// printStr.append( +// "\"templateUrl\":\"http://pinduoduoimg.yangkeduo.com/print_template/2019-08-01/4f0d85f35ca5729ad7df47314c990c31.xml\",\"userid\":\"593374804\",\"ver\":\"3\"},"); +// // printStr.append("\"templateUrl\": +// // \"").append("https://commfile.pddpic.com/galerie-go/logistics/9238dbb5-1c4e-445e-bac6-45a6832b4e47.xml").append("\",\"userid\":\"593374804\",\"ver\":\"3\"},"); +// printStr.append("{\"data\":{\"height\":120,\"list\":[{\"fontSize\":29,\"height\":120,\"left\":2.08,"); +// printStr.append("\"text\": \"").append(remark.toString()).append("\","); +// printStr.append( +// "\"top\":10,\"width\":600}],\"waterdata\":{\"text\":\"\"},\"width\":560},\"templateURL\":\"http://pinduoduoimg.yangkeduo.com/logistics/2019-07-14/5d7e8b5969d954539fcfba3268bbeb3a.xml\"}],"); +// // printStr.append("\"top\":10,\"width\":413.52}],\"waterdata\":{\"text\":\"\"},\"width\":560},\"templateURL\":\"").append("https://commfile.pddpic.com/galerie-go/logistics/9238dbb5-1c4e-445e-bac6-45a6832b4e47.xml").append("\"}],"); +// printStr.append("\"documentID\": \"").append(taskId).append("\"}],"); +// printStr.append("\"notifyType\": [\"print\"],\"preview\": false,\"previewType\": \"image\","); +// printStr.append("\"printer\": \"").append(reqData.getString("printName")).append("\","); +// printStr.append("\"taskID\": \"").append(taskId).append("\"},"); +// printStr.append("\"version\": \"1.0\"}"); +// return new ApiResult<>(EnumResultVo.SUCCESS.getIndex(), "成功", printStr.toString()); +// } +// return new ApiResult<>(EnumResultVo.ParamsError.getIndex(), "没有原始打单数据"); +// +// } +// +// @RequestMapping(value = "/pdd_order_print", method = RequestMethod.POST) +// public ApiResult pdd_order_print(@RequestBody DataRow reqData) throws Exception { +// if (StringUtils.isEmpty(reqData.get("printName"))) +// return new ApiResult<>(EnumResultVo.ParamsError.getIndex(), "请选择打印机"); +// var orders = orderPddService.getPrintOrderRepeatNumber(reqData.getString("trackingNumber")); +// if (orders.size() == 0) +// return new ApiResult<>(EnumResultVo.ParamsError.getIndex(), "订单物流打印信息不存在"); +// Integer total = 0; +// StringBuilder sb = new StringBuilder(""); +// for (var order : orders) { +// total += order.getQuantity(); +// sb.append(order.getGoodsSpecNum()); +// sb.append("(" + order.getGoodsSpec() + ")"); +// sb.append(order.getQuantity()).append("件,"); +// sb.append("[" + order.getLocationNumber() + "]").append("\\n"); +// } +// var shop = shopService.getShop(orders.get(0).getShopId()); +// StringBuilder remark = new StringBuilder("【" + shop.getNickName() + "】").append("订单:").append(orders.size()) +// .append("商品:").append(total).append("件").append("\\n"); +// +// if (!StringUtils.isEmpty(orders.get(0).getEncryptedData())) { +// // String +// // templateUrl=EnumPddPrintCompany.getValueByName(orders.get(0).getTrackingCompany()); +// remark.append(sb.toString()).append("备注:").append(orders.get(0).getRemark()); +// String taskId = orders.get(0).getTrackingNumber() + "_" + OrderNumberUtils.getOrderIdByTime(); +// StringBuilder printStr = new StringBuilder( +// "{\"ERPId\":303379400,\"cmd\":\"print\",\"requestID\":\"90E06437\",\"task\":{\"documents\":[{\"contents\":[{\"addData\":{\"sender\":{\"address\":{\"city\":\"东莞市\",\"detail\":\"聚新二路42号华衣云商科技\",\"district\":\"大朗镇\",\"province\":\"广东省\"},\"mobile\":\"13018605585\",\"name\":\"杨辉\"}},"); +// printStr.append("\"encryptedData\": \"").append(orders.get(0).getEncryptedData()).append("\","); +// printStr.append("\"signature\": \"").append(orders.get(0).getSignature()).append("\","); +// printStr.append( +// "\"templateUrl\":\"http://pinduoduoimg.yangkeduo.com/print_template/2019-08-01/4f0d85f35ca5729ad7df47314c990c31.xml\",\"userid\":\"593374804\",\"ver\":\"3\"},"); +// // printStr.append("\"templateUrl\": +// // \"").append("http://pinduoduoimg.yangkeduo.com/print_template/2019-08-01/4f0d85f35ca5729ad7df47314c990c31.xml").append("\",\"userid\":\"593374804\",\"ver\":\"3\"},"); +// printStr.append("{\"data\":{\"height\":120,\"list\":[{\"fontSize\":29,\"height\":120,\"left\":2.08,"); +// printStr.append("\"text\": \"").append(remark.toString()).append("\","); +// printStr.append( +// "\"top\":10,\"width\":600}],\"waterdata\":{\"text\":\"\"},\"width\":560},\"templateURL\":\"http://pinduoduoimg.yangkeduo.com/logistics/2019-07-14/5d7e8b5969d954539fcfba3268bbeb3a.xml\"}],"); +// // printStr.append("\"top\":10,\"width\":413.52}],\"waterdata\":{\"text\":\"\"},\"width\":560},\"templateURL\":\"").append("http://pinduoduoimg.yangkeduo.com/print_template/2019-08-01/4f0d85f35ca5729ad7df47314c990c31.xml").append("\"}],"); +// printStr.append("\"documentID\": \"").append(taskId).append("\"}],"); +// printStr.append("\"notifyType\": [\"print\"],\"preview\": false,\"previewType\": \"image\","); +// printStr.append("\"printer\": \"").append(reqData.getString("printName")).append("\","); +// printStr.append("\"taskID\": \"").append(taskId).append("\"},"); +// printStr.append("\"version\": \"1.0\"}"); +// for (var order : orders) { +// orderPddService.updPddOrderResult(order.getOrderId(), "打印成功", 1, DateUtil.getCurrentDateTime()); +// } +// return new ApiResult<>(EnumResultVo.SUCCESS.getIndex(), "成功", printStr.toString()); +// } +// return new ApiResult<>(EnumResultVo.ParamsError.getIndex(), "没有原始打单数据"); +// +// } +// +// @RequestMapping(value = "/pdd_order_print_code", method = RequestMethod.POST) +// public ApiResult testPddPrint(@RequestBody DataRow reqData) throws Exception { +// if (StringUtils.isEmpty(reqData.get("company"))) +// return new ApiResult<>(EnumResultVo.ParamsError.getIndex(), "请选择快递公司"); +// +// String clientId = DataConfigObject.getInstance().getPddClientId(); +// String clientSecret = DataConfigObject.getInstance().getPddClientSecret(); +// +// PopClient client = new PopHttpClient(clientId, clientSecret); +// // 使用东方概念旗舰店授权打单,所有要用东方概念旗舰店accessToken获取电子面单 +// /* +// * var dfgnShop = shopService.getShop(5); //检查获取单号的token是否过期 String accessToken5 +// * = dfgnShop.getSessionKey(); PddOrderStatusGetRequest request5 = new +// * PddOrderStatusGetRequest(); request5.setOrderSns(""); +// * PddOrderStatusGetResponse response5 = client.syncInvoke(request5, +// * accessToken5); +// * +// * if (response5.getErrorResponse() != null && +// * response5.getErrorResponse().getErrorCode() ==10019) { return new +// * ApiResult<>(EnumResultVo.TokenFail.getIndex(),"东方符号店铺token过期","5"); } +// * +// * var checkTokenResult = +// * PddApiUtils.getShopInfo(clientId,clientSecret,accessToken5); +// * if(checkTokenResult.getData().getMallId().longValue() != 593374804L){ return +// * new ApiResult<>(EnumResultVo.TokenFail.getIndex(),"东方符号店铺token过期","5"); } +// */ +// Integer shopId = reqData.getInt("shopId"); +// var shop = shopService.getShop(shopId); +// synchronized (this) { +// var orders = (ArrayList) reqData.getObject("orders"); +// for (var orderSn : orders) { +// // 查询需要打印的订单 +// var printOrderRes = orderPddService.getPrintOrderList(String.valueOf(orderSn), +// reqData.getInt("isHebing"), reqData.getString("goodsNum")); +// if (printOrderRes.getCode() > 0) { +// log.info("订单不符号打印条件:" + printOrderRes.getMsg()); +// continue; +// } +// var orderList = printOrderRes.getData().getOrders(); +// System.out.println("订单数:" + orderList.size()); +// String accessToken = shop.getSessionKey();// settingEntity.getAccess_token(); +// PddOrderStatusGetRequest request = new PddOrderStatusGetRequest(); +// +// StringBuilder orderSns = new StringBuilder(); +// for (var order : orderList) { +// orderSns.append(order.getOrderSn()).append(","); +// } +// request.setOrderSns(orderSns.toString()); +// +// PddOrderStatusGetResponse response = client.syncInvoke(request, accessToken); +// +// // 检查订单状态是否存在退款 +// if (response.getErrorResponse() != null) { +// if (response.getErrorResponse().getErrorCode() == 10019) { +// return new ApiResult<>(EnumResultVo.TokenFail.getIndex(), "token过期", shopId.toString()); +// } else { +// log.error("拼多多订单打印接口请求错误:" + orderSns.toString() + response.getErrorResponse().getErrorMsg()); +// continue; +// } +// } +// +// for (var o : response.getOrderStatusGetResponse().getOrderStatusList()) { +// if (o.getOrderStatus().intValue() != 1 || o.getRefundStatus().intValue() != 1) { +// orderPddService.updPddOrderStatus(o.getOrderSn(), o.getOrderStatus(), o.getRefundStatus()); +// continue; +// } +// } +// +// String encryptedData = ""; +// String signature = ""; +// String billCode = ""; +// var printRes = getPddPrint(orderList, reqData.getString("company")); +// if (!StringUtils.isEmpty(printRes.getJSONObject("error"))) { +// orderList.forEach(o -> orderPddService.updPddOrderResult(o.getOrderId(), +// printRes.getJSONObject("error").getString("sub_msg"), 0, null)); +// continue; +// } +// if (!StringUtils.isEmpty(printRes.getString("waybill_code"))) { +// encryptedData = printRes.getString("encryptedData"); +// signature = printRes.getString("signature"); +// billCode = printRes.getString("waybill_code"); +// // 3.更新库存确认到仓库 +// for (var o : orderList) { +// String company = EnumPddPrintCompany.getName(reqData.getString("company")); +// var result = orderPddService.updPddOrderPrint(o, company, billCode, encryptedData, signature); +// log.info("拼多多订单:" + o.getOrderSn() + "物流:" + billCode + "结果:" + result.getMsg()); +// } +// } +// } +// return new ApiResult<>(EnumResultVo.SUCCESS.getIndex(), "订单取号完成"); +// } +// +// } +// +// public JSONObject getPddPrint(List orders, String company) throws Exception { +// String clientId = DataConfigObject.getInstance().getPddClientId(); +// String clientSecret = DataConfigObject.getInstance().getPddClientSecret(); +// +// PopClient client = new PopHttpClient(clientId, clientSecret); +// var order = orders.get(0); +// var dfgnShop = shopService.getShop(order.getShopId());// 固定使用东方概念旗舰店accessToken +// String accessToken = dfgnShop.getSessionKey();// thirdSettingService.getEntity(5).getAccess_token(); +// +// PddWaybillGetRequest request = new PddWaybillGetRequest(); +// +// PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequest paramWaybillCloudPrintApplyNewRequest = new PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequest(); +// paramWaybillCloudPrintApplyNewRequest.setNeedEncrypt(false); +// +// PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestSender sender = new PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestSender(); +// +// PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestSenderAddress address = new PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestSenderAddress(); +// +// address.setProvince("广东省"); +// address.setCity("东莞市"); +// address.setDistrict("大朗镇"); +// // 百货店地址 +// if(order.getShopId()==18){ +// address.setDetail(company.equals("JTSD") ? "聚新2路42号" : "聚新二路42号华衣云商科技"); +// } +// // 东方店地址 +// if(order.getShopId()==5){ +// address.setDetail("聚新二路42号华衣云商科技"); +// } +// +// sender.setAddress(address); +// sender.setMobile("15920623872"); +// sender.setName("胡生"); +// sender.setPhone("15920623872"); +// +// paramWaybillCloudPrintApplyNewRequest.setSender(sender); +// List tradeOrderInfoDtos = new ArrayList<>(); +// +// PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestTradeOrderInfoDtosItem item = new PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestTradeOrderInfoDtosItem(); +// // item.setLogisticsServices("{ "SVC-COD": { "value": "200" } }"); +// item.setObjectId("str"); +// +// PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestTradeOrderInfoDtosItemOrderInfo orderInfo = new PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestTradeOrderInfoDtosItemOrderInfo(); +// orderInfo.setOrderChannelsType("PDD"); +// List tradeOrderList = new ArrayList(); +// orders.forEach(i -> tradeOrderList.add(i.getOrderSn())); +// // tradeOrderList.add(order.getOrderSn()); +// orderInfo.setTradeOrderList(tradeOrderList); +// item.setOrderInfo(orderInfo); +// +// PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestTradeOrderInfoDtosItemPackageInfo packageInfo = new PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestTradeOrderInfoDtosItemPackageInfo(); +// packageInfo.setGoodsDescription("str"); +// packageInfo.setId("str"); +// List items = new ArrayList<>(); +// +// PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestTradeOrderInfoDtosItemPackageInfoItemsItem item1 = new PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestTradeOrderInfoDtosItemPackageInfoItemsItem(); +// item1.setCount(1); +// item1.setName("衣服"); +// items.add(item1); +// packageInfo.setItems(items); +// packageInfo.setPackagingDescription(""); +// packageInfo.setTotalPackagesCount(0); +// packageInfo.setVolume(0L); +// packageInfo.setWeight(0L); +// item.setPackageInfo(packageInfo); +// +// PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestTradeOrderInfoDtosItemRecipient recipient = new PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestTradeOrderInfoDtosItemRecipient(); +// +// PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestTradeOrderInfoDtosItemRecipientAddress address1 = new PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestTradeOrderInfoDtosItemRecipientAddress(); +// address1.setCountry("中国"); +// address1.setProvince(order.getProvince()); +// address1.setCity(order.getCity()); +// address1.setDistrict(order.getTown()); +// address1.setDetail(order.getAddress()); +// // address.setTown(); +// recipient.setAddress(address1); +// recipient.setMobile(order.getReceiverPhone()); +// recipient.setName(order.getReceiverName()); +// recipient.setPhone(order.getReceiverPhone()); +// item.setRecipient(recipient); +// item.setTemplateUrl(EnumPddPrintCompany.getValue(company)); +// item.setUserId(0L); +// tradeOrderInfoDtos.add(item); +// paramWaybillCloudPrintApplyNewRequest.setTradeOrderInfoDtos(tradeOrderInfoDtos); +// paramWaybillCloudPrintApplyNewRequest.setWpCode(company); +// request.setParamWaybillCloudPrintApplyNewRequest(paramWaybillCloudPrintApplyNewRequest); +// try { +// JSONObject resObj = new JSONObject(); +// +// // log.info(JsonUtil.transferToJson(request)); +// +// PddWaybillGetResponse response = client.syncInvoke(request, accessToken); +// String jsonStr = JsonUtil.transferToJson(response); +// var res = JSONObject.parseObject(jsonStr); +// if (!StringUtils.isEmpty(res.getJSONObject("error_response"))) { +// resObj.put("error", res.getJSONObject("error_response")); +// return resObj; +// } +// // log.info("获取面单密文结果:"+res); +// var resObjs = res.getJSONObject("pdd_waybill_get_response").getJSONArray("modules"); +// for (int i = 0; i < resObjs.size(); i++) { +// resObj = JSONObject.parseObject(resObjs.getJSONObject(i).getString("print_data")); +// resObj.put("waybill_code", resObjs.getJSONObject(i).getString("waybill_code")); +// } +// // String +// // resJsonStr="{\"pdd_waybill_get_response\":{\"modules\":[{\"object_id\":\"str\",\"print_data\":\"{\\\"encryptedData\\\":\\\"a67d4819d0cd21554e9437e0bc2caa629864b0effd1aec65833023f78e93733ca9eec3468dc487b24682b9d64f176ca6bb3f602c2b383571c725bae8ff84957579b574f231f3f4bff51447906ce0566b74210e61bb9379a1ad3647cd9c5648fc1e2a627dde855be135aeadb4dffd020554bf84a05f39d50f49bf8875895fc79ec23933bbf375987929f129b6bd30521b8259c104e564a45b5d2c4d3ccd45aa9dae43e27c34c91c6be269d3028ff1f579a866bed94696a9d697851edb30ee8411975486bc993fee8c4cad2525e0e33638978c8fcb8dea75a1d05d2b586ff0174bc18a3a0680e0ae48d73444fc440fb55f7b2a0485f4d2d7396601ba9ea295d895023b4d2299cb87cca5be2a147bc62f078e716dcce4f563215d8098b6eefe7df465c05a88f80098f6175441f711f5ca193c60b61435c58c5d32fa6a39b9b8a3699c4411dca8921be94ba5fd5de113a76c34eb0bad6fcbbfcfe4eacd400a1ff63e51d603c8aaada8969165607d149c0e6bcf724924fcacc9248818a219719e2c46199ced5ada6f6b42a2c3555fddcfe2fb5309cae5dca4a0c5d389ecee8bcf66062ff3aa7c09ee6aa9ebfa86139a7a4adce21cceb4729e0a448f762f6d5b379790093943651240f93932eb106d25341df44bb4dfb2e9b5ed3c827a6c063585cf2fbd9b5886886efea7ac89fb734130da262a22b282c8a8bbddc2d79fcd35814e3fa24c3538dac9bbdb096054263f7f2541191c0b1aa5207f8be1ae1292aea443d3fabf1fb837b58758738eebe494941af774ace3ac436420fc4c15b41b97c5553c1483ecfb87c3691e80f0d30e75d4339bc7e5d9de6ccf3e65d1008ba61d6803b0e8b874ab353ccb368536cc35b4ddde1f43d509ee8146ffd6b7a4841299dba4512af7b533a44fcabce1224c91ca9785659abf2f5f4f8dd2ccc6c264f7ed25587ab5b023ae2089e748bdf34eca6948198d366e879863b41cfe558bd0ce9f6c5361c1ea29d905e5e73b42f945e573cd9b519f17629fa8134a8dd4cdfd48aac911ea2140ece7269d71e8230ab6fff4ab9f08771f849cf3eb3a34f41743fd7b4f3e5532c6fc98a38cd63f7a48750d056fd25fad54f31ce2e8c3f4a679baf83f18202280c8069fe3c5c942cc5d95412b9ca707c62c0ba3c19f88bd4c518a6bdfda6670cf84a7ab6b23d4a8bb996fc9c6d8dc65318a82e5e637eb2aa2a91e3a146f01fecb2d02f6e768c90f72296d56563e9cf1e7d6d377ffcd7817c00d9db2e5abc93e515b23218e92df1f23e774580caee71824adfcc4a7d3c36f9113954f03eb84b7acecee2eb77d38935af1ec1ff0f7a5c965616166a5d9f427b5f5d497f83dfe67acb745f1e887e9c2af61f79fa802293e18a7d6a1f4666ff4913249f708623d5b619e7824c199474395b26cc26613b74d00a653ec4d3bcb580629a1716610a5341242ffbc10b176cddd186aa336f9cbe3fbaa2e9904c52c9e92da89f36539aba33e8883dd4b2b0792b8c93ec80508fb476d96fa689c3171135a3c03ee17c5e7f20387b2948bc4b9c371c1bbe57f4efa3b75054d77e191bcb8339c61c7d4efac045455da183eed3e331ec26fcc60e768f5\\\",\\\"signature\\\":\\\"g/C/uwNK5sTXC07e9z4KGoykKqoEuAL/txQtIGKCM6UMBkY1WmTpM43T8ylaoq0nsa3pEQBoWuu1QreS7kUAXU8egugpr8PMGnVg5plrDkAa/zaOAV+8q8xv3dR/7vU/VBmCWcR3z3dmlRBXNomyW6KNmXTeH1vh3tQPtPllho4=\\\",\\\"templateUrl\\\":\\\"https://file-link.pinduoduo.com/jtsd_one\\\",\\\"ver\\\":\\\"3\\\"}\",\"waybill_code\":\"JT5049988959708\"}]}}"; +// /* +// * var resObjs= +// * JSONObject.parseObject(resJsonStr).getJSONObject("pdd_waybill_get_response"). +// * getJSONArray("modules"); for(int i=0;i pdd_order_print_select_hebing(@RequestBody DataRow reqData) throws Exception { +// if (StringUtils.isEmpty(reqData.get("company"))) +// return new ApiResult<>(EnumResultVo.ParamsError.getIndex(), "请选择快递公司"); +// var orders = (ArrayList) reqData.getObject("orders"); +// if (orders.isEmpty()) +// return new ApiResult<>(EnumResultVo.ParamsError.getIndex(), "请选择需要发货的订单"); +// +// String clientId = DataConfigObject.getInstance().getPddClientId(); +// String clientSecret = DataConfigObject.getInstance().getPddClientSecret(); +// +// PopClient client = new PopHttpClient(clientId, clientSecret); +// // 检查获取单号的token是否过期 +///* var dfgnShop = shopService.getShop(5); +// String accessToken5 = dfgnShop.getSessionKey(); +// PddOrderStatusGetRequest request5 = new PddOrderStatusGetRequest(); +// request5.setOrderSns(""); +// PddOrderStatusGetResponse response5 = client.syncInvoke(request5, accessToken5); +// +// if (response5.getErrorResponse() != null && response5.getErrorResponse().getErrorCode() == 10019) { +// return new ApiResult<>(EnumResultVo.TokenFail.getIndex(), "东方符号店铺token过期", "5"); +// } +// +// var checkTokenResult = PddApiUtils.getShopInfo(clientId, clientSecret, accessToken5); +// if (checkTokenResult.getData().getMallId().longValue() != 593374804L) { +// return new ApiResult<>(EnumResultVo.TokenFail.getIndex(), "东方符号店铺token过期", "5"); +// }*/ +// +// Integer shopId = reqData.getInt("shopId"); +// var shop = shopService.getShop(shopId); +// +// var printOrders = orderPddService.getPrintOrderSelectList(orders); +// +// String accessToken = shop.getSessionKey();// settingEntity.getAccess_token(); +// PddOrderStatusGetRequest request = new PddOrderStatusGetRequest(); +// +// StringBuilder orderSns = new StringBuilder(); +// for (var order : printOrders.getData()) { +// orderSns.append(order.getOrderSn()).append(","); +// } +// request.setOrderSns(orderSns.toString()); +// +// PddOrderStatusGetResponse response = client.syncInvoke(request, accessToken); +// +// // 检查订单状态是否存在退款 +// if (response.getErrorResponse() != null) { +// if (response.getErrorResponse().getErrorCode() == 10019) { +// return new ApiResult<>(EnumResultVo.TokenFail.getIndex(), "token过期", shopId.toString()); +// } else { +// return new ApiResult<>(EnumResultVo.Fail.getIndex(), +// "拼多多接口请求错误" + response.getErrorResponse().getErrorMsg()); +// } +// } +// +// for (var o : response.getOrderStatusGetResponse().getOrderStatusList()) { +// if (o.getOrderStatus().intValue() != 1 || o.getRefundStatus().intValue() != 1) { +// orderPddService.updPddOrderStatus(o.getOrderSn(), o.getOrderStatus(), o.getRefundStatus()); +// return new ApiResult<>(EnumResultVo.SystemException.getIndex(), orderSns.toString() + "订单状态已发货或已申请退款"); +// } +// } +// +// var checkRes = orderPddService.checkPrint(printOrders.getData()); +// +// if (checkRes.getCode() > 0) +// return new ApiResult<>(checkRes.getCode(), checkRes.getMsg()); +// // 取电子面单号 +// var printRes = getPddPrint(printOrders.getData(), reqData.getString("company")); +// if (!StringUtils.isEmpty(printRes.getJSONObject("error"))) { +// printOrders.getData().forEach(o -> orderPddService.updPddOrderResult(o.getOrderId(), +// printRes.getJSONObject("error").getString("sub_msg"), 0, null)); +// return new ApiResult<>(EnumResultVo.ParamsError.getIndex(), +// orderSns.toString() + printRes.getJSONObject("error").getString("sub_msg")); +// } +// String billCode = ""; +// String encryptedData = ""; +// String signature = ""; +// if (!StringUtils.isEmpty(printRes.getString("waybill_code"))) { +// billCode = printRes.getString("waybill_code"); +// encryptedData = printRes.getString("encryptedData"); +// signature = printRes.getString("signature"); +// // 3.更新库存确认到仓库 +// for (var o : printOrders.getData()) { +// var result = orderPddService.updPddOrderPrint(o, +// EnumPddPrintCompany.getName(reqData.getString("company")), billCode, encryptedData, signature); +// log.info("拼多多订单:" + o.getOrderSn() + "物流:" + billCode + "结果:" + result.getMsg()); +// } +// } +// return new ApiResult<>(EnumResultVo.SUCCESS.getIndex(), "订单取号完成"); +// } +// +// @RequestMapping(value = "/pdd_order_send", method = RequestMethod.POST) +// public ApiResult pdd_order_send(@RequestBody DataRow reqData) throws Exception { +// String clientId = DataConfigObject.getInstance().getPddClientId(); +// String clientSecret = DataConfigObject.getInstance().getPddClientSecret(); +// var shop = shopService.getShop(reqData.getInt("shopId")); +// +// PopClient client = new PopHttpClient(clientId, clientSecret); +// +// String accessToken = shop.getSessionKey(); +// // 获取店铺信息,判断店铺是否一致 +// var shopResult = PddApiUtils.getShopInfo(clientId, clientSecret, accessToken); +// if (shopResult.getCode() != EnumResultVo.SUCCESS.getIndex()) +// return new ApiResult<>(shopResult.getCode(), shopResult.getMsg()); +// +// if (shopResult.getData().getMallId().longValue() != shop.getSellerUserId().longValue()) { +// return new ApiResult<>(EnumResultVo.TokenFail.getIndex(), "该店铺不是授权店铺"); +// } +// +// var orders = (ArrayList) reqData.getObject("orders"); +// if (orders.isEmpty()) +// return new ApiResult<>(EnumResultVo.ParamsError.getIndex(), "请选择需要发货的订单"); +// for (var orderNo : orders) { +// var order = orderPddService.getOrder((String) orderNo); +// PddLogisticsOnlineSendRequest request = new PddLogisticsOnlineSendRequest(); +// request.setLogisticsId(orderPddService.getPddLogisticsCompanyId(order.getTracking_company()).longValue());// 快递公司编号 +// request.setOrderSn(order.getOrderSn());// 订单编号 +// request.setTrackingNumber(order.getTracking_number());// 快递公司单号 +// PddLogisticsOnlineSendResponse response = client.syncInvoke(request, accessToken); +// if (!StringUtils.isEmpty(response.getErrorResponse())) { +// orderPddService.updPddOrderResult(order.getId(), response.getErrorResponse().getErrorMsg(), 1, null); +// continue; +// } +// if (response.getLogisticsOnlineSendResponse().getIsSuccess()) { +// var result = orderPddService.orderSend(order); +// log.info("PDD订单发货:" + result.getMsg()); +// } +// } +// return new ApiResult<>(EnumResultVo.SUCCESS.getIndex(), "成功"); +// } +// +// /** +// * 回收单号 +// * +// * @param reqData +// * @return +// */ +// @RequestMapping(value = "/pdd_cancel_print", method = RequestMethod.POST) +// public ApiResult pdd_cancel_print(@RequestBody DataRow reqData) { +// String clientId = DataConfigObject.getInstance().getPddClientId(); +// String clientSecret = DataConfigObject.getInstance().getPddClientSecret(); +// PopClient client = new PopHttpClient(clientId, clientSecret); +// // 固定使用东方概念旗舰店accessToken +// var dfgnShop = shopService.getShop(18); +// String accessToken = dfgnShop.getSessionKey(); +// var orders = orderPddService.getPrintOrderRepeat(reqData.getString("orderNo")); +// try { +// // 取消电子面单 +// PddWaybillCancelRequest request = new PddWaybillCancelRequest(); +// request.setWaybillCode(orders.get(0).getTrackingNumber()); +// request.setWpCode(EnumPddPrintCompany.getIndexByName(orders.get(0).getTrackingCompany())); +// PddWaybillCancelResponse response = client.syncInvoke(request, accessToken); +// String jsonStr = JsonUtil.transferToJson(response); +// var res = JSONObject.parseObject(jsonStr); +// if (!StringUtils.isEmpty(res.getJSONObject("error_response"))) { +// return new ApiResult<>(EnumResultVo.ParamsError.getIndex(), +// res.getJSONObject("error_response").getString("sub_msg")); +// } +// if (!StringUtils.isEmpty(res.getJSONObject("pdd_waybill_cancel_response"))) { +// if (res.getJSONObject("pdd_waybill_cancel_response").getBoolean("cancel_result")) { +// for (var order : orders) { +// orderPddService.cancelOrderPrint(order.getOrderId()); +// } +// return new ApiResult<>(EnumResultVo.SUCCESS.getIndex(), "成功"); +// } else +// return new ApiResult<>(EnumResultVo.ParamsError.getIndex(), "取消电子面单失败"); +// } +// } catch (Exception e) { +// return new ApiResult<>(EnumResultVo.ParamsError.getIndex(), "系统异常"); +// } +// return new ApiResult<>(EnumResultVo.ParamsError.getIndex(), "取消电子面单失败"); +// +// } +// + + +} diff --git a/pdd-api/src/main/java/com/qihang/pdd/controller/AjaxRefundPddController.java b/pdd-api/src/main/java/com/qihang/pdd/controller/AjaxRefundPddController.java new file mode 100644 index 00000000..9dae04e5 --- /dev/null +++ b/pdd-api/src/main/java/com/qihang/pdd/controller/AjaxRefundPddController.java @@ -0,0 +1,768 @@ +package com.qihang.pdd.controller;//package com.qihang.erp.api.controller.pdd; +// +//import com.alibaba.fastjson.JSON; +//import com.b2c.common.api.ApiResult; +//import com.b2c.common.api.ApiResultEnum; +//import com.b2c.common.utils.DateUtil; +//import com.b2c.common.utils.JsonUtil; +//import com.b2c.entity.DataRow; +//import com.b2c.entity.enums.EnumPddLogistics; +//import com.b2c.entity.erp.ErpPullOrderLogEntity; +//import com.b2c.entity.erp.vo.ErpSalesPullCountResp; +//import com.b2c.entity.pdd.OrderPddEntity; +//import com.b2c.entity.pdd.OrderPddItemEntity; +//import com.b2c.entity.pdd.RefundPddEntity; +//import com.b2c.entity.result.EnumResultVo; +//import com.b2c.oms.DataConfigObject; +//import com.b2c.service.ShopService; +//import com.b2c.service.erp.ErpSalesOrderService; +//import com.b2c.service.oms.OrderPddRefundService; +//import com.b2c.service.oms.OrderPddService; +//import com.b2c.service.oms.SysThirdSettingService; +//import com.pdd.pop.sdk.http.PopClient; +//import com.pdd.pop.sdk.http.PopHttpClient; +//import com.pdd.pop.sdk.http.api.pop.request.PddOrderInformationGetRequest; +//import com.pdd.pop.sdk.http.api.pop.request.PddRefundInformationGetRequest; +//import com.pdd.pop.sdk.http.api.pop.request.PddRefundListIncrementGetRequest; +//import com.pdd.pop.sdk.http.api.pop.response.PddOrderInformationGetResponse; +//import com.pdd.pop.sdk.http.api.pop.response.PddRefundInformationGetResponse; +//import com.pdd.pop.sdk.http.api.pop.response.PddRefundListIncrementGetResponse; +//import org.slf4j.Logger; +//import org.slf4j.LoggerFactory; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.ui.Model; +//import org.springframework.util.StringUtils; +//import org.springframework.web.bind.annotation.RequestBody; +//import org.springframework.web.bind.annotation.RequestMapping; +//import org.springframework.web.bind.annotation.RequestMethod; +//import org.springframework.web.bind.annotation.RestController; +// +//import javax.servlet.http.HttpServletRequest; +//import java.util.ArrayList; +//import java.util.List; +// +//@RequestMapping("/ajax_pdd") +//@RestController +//public class AjaxRefundPddController { +// private static Logger log = LoggerFactory.getLogger(AjaxRefundPddController.class); +// +// @Autowired +// private SysThirdSettingService thirdSettingService; +// @Autowired +// private OrderPddService orderPddService; +// @Autowired +// private ErpSalesOrderService salesOrderService; +// +// @Autowired +// private OrderPddRefundService refundService; +// +// @Autowired +// private ShopService shopService; +// /** +// * pdd退货订单更新 +// * @param model +// * @param req +// * @return +// * @throws Exception +// */ +// @RequestMapping(value = "/pull_refund") +// public ApiResult getOrderList(Model model,@RequestBody DataRow data, HttpServletRequest req) throws Exception { +// String startDate = data.getString("startTime"); +// String endDate = data.getString("endTime"); +// Integer shopId = data.getInt("shopId");//拼多多shopId +// +// String clientId = DataConfigObject.getInstance().getPddClientId(); +// String clientSecret = DataConfigObject.getInstance().getPddClientSecret(); +// +// var shop = shopService.getShop(shopId); +// +// ErpSalesPullCountResp resp=new ErpSalesPullCountResp();//返回结果 +// +// // var settingEntity = thirdSettingService.getEntity(shop.getType()); +// +// +// +// Long startTime = 0L; +// Long endTime = System.currentTimeMillis() / 1000; +// if(StringUtils.isEmpty(startDate)) { +// //没有选择开始日期 +// ErpPullOrderLogEntity pullOrderLog = null;//salesOrderService.getErpOrderPullLogByShopId(shopId, 1); +// if (pullOrderLog != null) { +// startTime = pullOrderLog.getEndTime() - 60 * 10; +//// endTime = startTime + 60 * 30; +//// if (endTime > System.currentTimeMillis() / 1000) { +//// //如果结束时间大于当前时间,那么将开始时间和结算时间改成当前24小时内 +//// endTime = System.currentTimeMillis() / 1000; +//// startTime = endTime - 60 * 60 * 24; +//// } +// }else{ +// startTime = endTime - 60 * 60 * 24;//(24小时前) +// // return new ApiResult<>(EnumResultVo.ParamsError.getIndex(), "请选择开始拉取时间"); +// } +// }else { +// //选择了开始日期,从开始时间直接循环更新到结束时间 +//// startTime = DateUtil.dateToStamp(startDate).longValue(); +// startTime = DateUtil.dateTimeToStamp(startDate).longValue(); +// +// if(StringUtils.isEmpty(endDate)) endTime = System.currentTimeMillis() / 1000; +// else +// endTime = DateUtil.dateTimeToStamp(endDate).longValue(); +//// endTime = DateUtil.dateTimeToStamp(endDate+" 23:59:00").longValue(); +//// startTime = 1587966628L;endTime = startTime + 60 * 30; +// } +// +// /****************循环更新,直到结束,30分钟一次****************/ +// +// long kaishidaojiesu = endTime - startTime; +// long forSize = (kaishidaojiesu % 1800 == 0)?kaishidaojiesu / 1800 : kaishidaojiesu / 1800 +1;//计算需要循环的次数 +// log.info("开始循环更新拼多多退货。开始时间:"+DateUtil.unixTimeStampToDate(startTime)+"结束时间:"+DateUtil.unixTimeStampToDate(endTime)+"总共循环"+forSize); +// int updCount = 0; +// int insertCount = 0; +// int failCount = 0; +// +// //开始循环更新 +// PopClient client = new PopHttpClient(clientId, clientSecret); +// for(int i=0;i(EnumResultVo.TokenFail.getIndex(), "Token过期"); +// } else { +// log.info("更新失败:"+response.getErrorResponse().getErrorMsg()); +// return new ApiResult<>(EnumResultVo.SystemException.getIndex(), "接口调用失败:" + response.getErrorResponse().getErrorMsg()); +// } +// } else { +// //获取到了数据 +// if (response.getRefundIncrementGetResponse().getTotalCount() == 0) { +// //return new ApiResult<>(EnumResultVo.SUCCESS.getIndex(), "获取到0条数据"); +// } else { +// //开始处理订单数据 +// for (var item : response.getRefundIncrementGetResponse().getRefundList()) { +// +// RefundPddEntity entity = new RefundPddEntity(); +// entity.setAfter_sale_reason(item.getAfterSaleReason()); +// entity.setAfter_sales_status(item.getAfterSalesStatus()); +// entity.setAfter_sales_type(item.getAfterSalesType()); +// entity.setConfirm_time(DateUtil.strToLongGo(item.getConfirmTime())); +// entity.setCreated_time(DateUtil.strToLongGo(item.getCreatedTime())); +// entity.setDiscount_amount(Double.parseDouble(item.getDiscountAmount())); +// entity.setGoods_id(0); +// entity.setGoods_number(item.getOuterGoodsId()); +// entity.setSkuNumber(item.getOuterId()); +// entity.setGoods_image(item.getGoodImage()); +// entity.setGoods_name(item.getGoodsName()); +// entity.setGoods_price(Double.parseDouble(item.getGoodsPrice())); +// entity.setSkuInfo(""); +// entity.setId(item.getId()); +// entity.setOrder_amount(Double.parseDouble(item.getOrderAmount())); +// entity.setOrder_sn(item.getOrderSn()); +// entity.setQuantity(Integer.parseInt(item.getGoodsNumber())); +// entity.setRefund_amount(Double.parseDouble(item.getRefundAmount())); +// entity.setShopId(shopId); +// entity.setTracking_number(item.getTrackingNumber()); +// entity.setUpdated_time(item.getUpdatedTime()); +// var result = orderPddService.editRefundPddOrder(entity); +// log.info("开始处理退货单{refundId:"+item.getId()+",status:"+item.getAfterSalesStatus()+"},处理结果:"+result.getMsg()); +// if (result.getCode() == EnumResultVo.DataExist.getIndex()) { +// updCount++;//修改 +// } else if (result.getCode() == EnumResultVo.SUCCESS.getIndex()) { +// insertCount++; +// } else { +// failCount++; +// } +// } +// } +// +// } +// +// } +// resp.setStartTime(DateUtil.unixTimeStampToDate(startTime)); +// resp.setEndTime(DateUtil.unixTimeStampToDate(endTime)); +// resp.setAddCount(insertCount); +// resp.setFailCount(failCount); +// resp.setUpdCount(updCount); +// salesOrderService.addErpSalesPullOrderLog(startTime, endTime, shopId, insertCount, failCount, updCount, 1); +// log.info("退货订单处理完成。"+ JsonUtil.objToString(resp)); +// return new ApiResult<>(EnumResultVo.SUCCESS.getIndex(), "SUCCESS",resp); +// } +// +// /** +// * 更新退款订单 +// * @param model +// * @param data +// * @param req +// * @return +// * @throws Exception +// */ +// @RequestMapping(value = "/upd_refund_by_id") +// public ApiResult updRefundById(Model model, @RequestBody DataRow data, HttpServletRequest req) throws Exception { +// Long refId = data.getLong("id"); +// if (refId == null || refId <= 0) { +// return new ApiResult<>(EnumResultVo.ParamsError.getIndex(), "参数错误,缺少id"); +// } +// Integer shopId = data.getInt("shopId"); +// if (shopId == null || shopId <= 0) { +// return new ApiResult<>(EnumResultVo.ParamsError.getIndex(), "参数错误,缺少shopId"); +// } +// +// var refund = refundService.getEntityById(refId); +// if(refund == null) return new ApiResult<>(EnumResultVo.ParamsError.getIndex(), "参数错误,不存在refund"); +// +// log.info("/***********开始更新拼多多退货"+refId+"***********/"); +// +// String clientId = DataConfigObject.getInstance().getPddClientId(); +// String clientSecret = DataConfigObject.getInstance().getPddClientSecret(); +//// Integer shopId = 5;//拼多多shopId +// var shop = shopService.getShop(shopId); +// +//// ErpSalesPullCountResp resp=new ErpSalesPullCountResp();//返回结果 +// +// var settingEntity = thirdSettingService.getEntity(shop.getType()); +// PopClient client = new PopHttpClient(clientId, clientSecret); +// +// PddRefundInformationGetRequest request = new PddRefundInformationGetRequest(); +// request.setAfterSalesId(refId); +// request.setOrderSn(refund.getOrder_sn()); +// PddRefundInformationGetResponse response = client.syncInvoke(request, shop.getSessionKey()); +// +// if (response.getErrorResponse() != null) { +// if (response.getErrorResponse().getErrorCode().intValue() == 10019) { +// //token过期 +// return new ApiResult<>(EnumResultVo.TokenFail.getIndex(), "Token过期"); +// } else { +// return new ApiResult<>(EnumResultVo.SystemException.getIndex(), "接口调用失败:" + response.getErrorResponse().getErrorMsg()); +// } +// }else { +// +// //获取到了数据 +// RefundPddEntity entity = new RefundPddEntity(); +// entity.setAfter_sale_reason(response.getAfterSalesReason()); +// entity.setAfter_sales_status(response.getAfterSalesStatus()); +// entity.setAfter_sales_type(response.getAfterSalesType()); +// entity.setId(response.getId()); +// entity.setRefund_amount(Double.parseDouble((response.getRefundAmount() / 100)+"")); +// entity.setShippingStatus(response.getShippingStatus()); +// entity.setTracking_number(response.getExpressNo()); +// entity.setTracking_company(response.getShippingName()); +// entity.setDescribe(response.getRemark()); +// +// var result = orderPddService.updRefundPddOrder(entity); +// } +// return new ApiResult<>(EnumResultVo.SUCCESS.getIndex(), "SUCCESS"); +//// +//// PddRefundListIncrementGetRequest request = new PddRefundListIncrementGetRequest(); +//// request.setAfterSalesStatus(1); +//// request.setAfterSalesType(1); +//// +//// Long startTime=0L; +//// Long endTime=System.currentTimeMillis() / 1000; +//// var pullOrderLog=salesOrderService.getErpOrderPullLogByShopId(shopId,1); +//// if(pullOrderLog!=null){ +//// startTime=pullOrderLog.getEndTime() - 60 * 10; +//// endTime = startTime + 60 * 30; +//// }else startTime=endTime-60 * 29; +//// +//// startTime = 1587966628L; +//// endTime = startTime + 60 * 30; +//// +//// request.setStartUpdatedAt(startTime);//1586239200L +//// request.setEndUpdatedAt(endTime);//1586241000L +//// +//// request.setPage(1); +//// request.setPageSize(100); +//// +//// PddRefundListIncrementGetResponse response = client.syncInvoke(request, settingEntity.getAccess_token()); +//// +//// int updCount = 0; +//// int insertCount = 0; +//// int failCount=0; +//// +//// if (response.getErrorResponse() != null) { +//// if (response.getErrorResponse().getErrorCode().intValue() == 10019) { +//// //token过期 +//// return new ApiResult<>(EnumResultVo.TokenFail.getIndex(), "Token过期"); +//// } else { +//// return new ApiResult<>(EnumResultVo.SystemException.getIndex(), "接口调用失败:" + response.getErrorResponse().getErrorMsg()); +//// } +//// } else { +//// //获取到了数据 +//// if (response.getRefundIncrementGetResponse().getTotalCount() == 0) { +//// //return new ApiResult<>(EnumResultVo.SUCCESS.getIndex(), "获取到0条数据"); +//// } else { +//// //开始处理订单数据 +//// for (var item : response.getRefundIncrementGetResponse().getRefundList()) { +//// RefundPddEntity entity = new RefundPddEntity(); +//// entity.setAfter_sale_reason(item.getAfterSaleReason()); +//// entity.setAfter_sales_status(item.getAfterSalesStatus()); +//// entity.setAfter_sales_type(item.getAfterSalesType()); +//// entity.setConfirm_time(DateUtil.strToLongGo(item.getConfirmTime())); +//// entity.setCreated_time(DateUtil.strToLongGo(item.getCreatedTime())); +//// entity.setDiscount_amount(Double.parseDouble(item.getDiscountAmount())); +//// entity.setGoods_id(0); +//// entity.setGoods_number(item.getOuterGoodsId()); +//// entity.setSkuNumber(item.getOuterId()); +//// entity.setGoods_image(item.getGoodImage()); +//// entity.setGoods_name(item.getGoodsName()); +//// entity.setGoods_price(Double.parseDouble(item.getGoodsPrice())); +//// entity.setSkuInfo(""); +//// entity.setId(item.getId()); +//// entity.setOrder_amount(Double.parseDouble(item.getOrderAmount())); +//// entity.setOrder_sn(item.getOrderSn()); +//// entity.setQuantity(Integer.parseInt(item.getGoodsNumber())); +//// entity.setRefund_amount(Double.parseDouble(item.getRefundAmount())); +//// entity.setShopId(shopId); +//// entity.setTracking_number(item.getTrackingNumber()); +//// entity.setUpdated_time(item.getUpdatedTime()); +//// var result = orderPddService.editRefundPddOrder(entity); +//// if (result.getCode() == EnumResultVo.DataExist.getIndex()){ +//// updCount++;//修改 +//// } else if (result.getCode() == EnumResultVo.SUCCESS.getIndex()){ +//// insertCount ++; +//// }else{ +//// failCount++; +//// } +//// } +//// } +//// resp.setStartTime(DateUtil.unixTimeStampToDate(startTime)); +//// resp.setEndTime(DateUtil.unixTimeStampToDate(endTime)); +//// resp.setAddCount(insertCount); +//// resp.setFailCount(failCount); +//// resp.setUpdCount(updCount); +//// +//// salesOrderService.addErpSalesPullOrderLog(startTime,endTime,shopId,insertCount,failCount,updCount,1); +//// } +//// +//// return new ApiResult<>(EnumResultVo.SUCCESS.getIndex(), "SUCCESS",resp); +// } +// +// +// /** +// * 批量更新未处理的退货订单 +// * @param model +// * @param data +// * @param req +// * @return +// * @throws Exception +// */ +// @RequestMapping(value = "/upd_refund_by_audit") +// public ApiResult updRefundByAudit(Model model, @RequestBody DataRow data, HttpServletRequest req) throws Exception { +// Integer shopId = data.getInt("shopId"); +// if (shopId == null || shopId <= 0) { +// return new ApiResult<>(EnumResultVo.ParamsError.getIndex(), "参数错误,缺少shopId"); +// } +// var refundList = refundService.getList(1, 20000, null, null, null,0,shopId,3,null,null,null); +// +// +// log.info("/***********开始更新拼多多退货,总共"+refundList.getTotalSize()+"条***********/"); +// +// String clientId = DataConfigObject.getInstance().getPddClientId(); +// String clientSecret = DataConfigObject.getInstance().getPddClientSecret(); +//// Integer shopId = 5;//拼多多shopId +// var shop = shopService.getShop(shopId); +// +//// ErpSalesPullCountResp resp=new ErpSalesPullCountResp();//返回结果 +// +// var settingEntity = thirdSettingService.getEntity(shop.getType()); +// PopClient client = new PopHttpClient(clientId, clientSecret); +// int total=0; +// for (var refund:refundList.getList()) { +// total++; +// PddRefundInformationGetRequest request = new PddRefundInformationGetRequest(); +// request.setAfterSalesId(refund.getId()); +// request.setOrderSn(refund.getOrder_sn()); +// PddRefundInformationGetResponse response = client.syncInvoke(request,shop.getSessionKey()); +// +// if (response.getErrorResponse() != null) { +// if (response.getErrorResponse().getErrorCode().intValue() == 10019) { +// //token过期 +// return new ApiResult<>(EnumResultVo.TokenFail.getIndex(), "Token过期"); +// } else { +// return new ApiResult<>(EnumResultVo.SystemException.getIndex(), "接口调用失败:" + response.getErrorResponse().getErrorMsg()); +// } +// }else { +// log.info("更新退货订单"+refund.getId()+",订单号"+refund.getOrder_sn()+"状态"+response.getAfterSalesStatus()); +// //获取到了数据 +// RefundPddEntity entity = new RefundPddEntity(); +// entity.setAfter_sale_reason(response.getAfterSalesReason()); +// entity.setAfter_sales_status(response.getAfterSalesStatus()); +// entity.setAfter_sales_type(response.getAfterSalesType()); +// entity.setId(response.getId()); +// entity.setRefund_amount(Double.parseDouble((response.getRefundAmount() / 100)+"")); +// entity.setShippingStatus(response.getShippingStatus()); +// entity.setTracking_number(response.getExpressNo()); +// entity.setTracking_company(response.getShippingName()); +// entity.setDescribe(response.getRemark()); +// +// var result = orderPddService.updRefundPddOrder(entity); +// } +// } +// +// log.info("更新退货订单完成,总共更新"+total); +// return new ApiResult<>(EnumResultVo.SUCCESS.getIndex(), "更新退货订单完成,总共更新"+total); +// } +// +// +// +// +// +// /** +// * 确认到仓库 +// * +// * @param req +// * @return +// */ +// @RequestMapping(value = "/confirm_refund", method = RequestMethod.POST) +// public ApiResult reviewRefund(@RequestBody DataRow data, HttpServletRequest req) throws Exception { +// Long refId = data.getLong("id"); +// if(refId == null || refId<=0){ +// return new ApiResult<>(EnumResultVo.ParamsError.getIndex(), "参数错误,缺少id"); +// } +//// if (StringUtils.isEmpty(data.getString("companyCode"))) +//// return new ApiResult<>(EnumResultVo.ParamsError.getIndex(), "请选择快递公司"); +//// if (StringUtils.isEmpty(data.getString("code"))) +//// return new ApiResult<>(EnumResultVo.ParamsError.getIndex(), "请输入快递单号"); +// +// var detail = refundService.getEntityById(refId); +// if(detail == null) return new ApiResult<>(EnumResultVo.ParamsError.getIndex(), "退货不存在"); +// if(detail.getAfter_sales_type().intValue()!=3 && detail.getAuditStatus().intValue()!=0) return new ApiResult<>(EnumResultVo.SystemException.getIndex(), "已经处理过了"); +// if(StringUtils.isEmpty(detail.getTracking_number())) return new ApiResult<>(EnumResultVo.SystemException.getIndex(), "还没有物流信息,请更新退货订单"); +// +// var result = refundService.confirmRefund(refId); +///* if(result.getMsg().equals("订单不存在")){ +// DataRow reqData=new DataRow(); +// reqData.set("shopId",detail.getShopId()); +// reqData.set("orderSn",detail.getOrder_sn()); +// var results = upd_pdd_order_by_num_(reqData); +// return new ApiResult<>(results.getCode(),results.getMsg().equals("更新成功") ? "订单拉取成功,请重新确认" : "订单拉取失败原因:"+results.getMsg()); +// }*/ +// return new ApiResult<>(result.getCode(), result.getMsg()); +//// return new ApiResult<>(EnumResultVo.SystemException.getIndex(), "未实现"); +// } +// +// /** +// * 订单拦截 +// * @param data +// * @param req +// * @return +// */ +// @RequestMapping(value = "/order_intercept", method = RequestMethod.POST) +// public ApiResult orderIntercept(@RequestBody DataRow data, HttpServletRequest req) throws Exception { +// String orderSn = data.getString("orderSn"); +// if(StringUtils.isEmpty(orderSn)){ +// return new ApiResult<>(EnumResultVo.ParamsError.getIndex(), "参数错误,缺少orderSn"); +// } +// Integer shopId = data.getInt("shopId"); +// if(shopId == null || shopId<=0){ +// return new ApiResult<>(EnumResultVo.ParamsError.getIndex(), "参数错误,缺少shopId"); +// } +// +// +// RefundPddEntity refund = refundService.getEntityByOrderSn(orderSn); +// if(refund==null){ +// //本地库没有退货单,去拼多多接口拉取 +// log.info("/***********开始拉取拼多多退货,"+orderSn+"***********/"); +// String clientId = DataConfigObject.getInstance().getPddClientId(); +// String clientSecret = DataConfigObject.getInstance().getPddClientSecret(); +// var shop = shopService.getShop(shopId); +// var settingEntity = thirdSettingService.getEntity(shop.getType()); +// PopClient client = new PopHttpClient(clientId, clientSecret); +// +//// PddRefundInformationGetRequest request = new PddRefundInformationGetRequest(); +//// request.setOrderSn(orderSn); +//// PddRefundInformationGetResponse response = client.syncInvoke(request, settingEntity.getAccess_token()); +// PddRefundListIncrementGetRequest request = new PddRefundListIncrementGetRequest(); +// request.setAfterSalesStatus(1); +// request.setAfterSalesType(1); +// request.setStartUpdatedAt(1586239200L);//1586239200L +// request.setEndUpdatedAt(1586241000L);//1586241000L +// request.setPage(1); +// request.setPageSize(100); +// request.setOrderSn(orderSn); +// +// PddRefundListIncrementGetResponse response = client.syncInvoke(request,shop.getSessionKey()); +// +// if (response.getErrorResponse() != null) { +// if (response.getErrorResponse().getErrorCode().intValue() == 10019) { +// //token过期 +// return new ApiResult<>(EnumResultVo.TokenFail.getIndex(), "Token过期"); +// } +// else { +// return new ApiResult<>(EnumResultVo.SystemException.getIndex(), "接口调用失败:" + response.getErrorResponse().getErrorMsg()); +// } +// }else { +// log.info("从拼多多拉取到退货订单,开始处理退货订单"); +// if(response.getRefundIncrementGetResponse().getTotalCount() > 0) { +// for (var item : response.getRefundIncrementGetResponse().getRefundList()) { +// RefundPddEntity entity = new RefundPddEntity(); +// entity.setAfter_sale_reason(item.getAfterSaleReason()); +// entity.setAfter_sales_status(item.getAfterSalesStatus()); +// entity.setAfter_sales_type(item.getAfterSalesType()); +// entity.setConfirm_time(DateUtil.strToLongGo(item.getConfirmTime())); +// entity.setCreated_time(DateUtil.strToLongGo(item.getCreatedTime())); +// entity.setDiscount_amount(Double.parseDouble(item.getDiscountAmount())); +// entity.setGoods_id(0); +// entity.setGoods_number(item.getOuterGoodsId()); +// entity.setSkuNumber(item.getOuterId()); +// entity.setGoods_image(item.getGoodImage()); +// entity.setGoods_name(item.getGoodsName()); +// entity.setGoods_price(Double.parseDouble(item.getGoodsPrice())); +// entity.setSkuInfo(""); +// entity.setId(item.getId()); +// entity.setOrder_amount(Double.parseDouble(item.getOrderAmount())); +// entity.setOrder_sn(item.getOrderSn()); +// entity.setQuantity(Integer.parseInt(item.getGoodsNumber())); +// entity.setRefund_amount(Double.parseDouble(item.getRefundAmount())); +// entity.setShopId(shopId); +// entity.setTracking_number(item.getTrackingNumber()); +// entity.setUpdated_time(item.getUpdatedTime()); +// +// refund = new RefundPddEntity(); +// refund.setId(entity.getId()); +// orderPddService.editRefundPddOrder(entity); +// } +// }else{ +// var order = orderPddService.getOrder(orderSn); +// var goods = order.getItems().get(0); +// Long refundId = refundService.getRefundIdMin() - 1; +// RefundPddEntity entity = new RefundPddEntity(); +// entity.setAfter_sale_reason("订单拦截"); +// entity.setAfter_sales_status(3); +// entity.setAfter_sales_type(9); +// entity.setConfirm_time(0l); +// entity.setCreated_time(System.currentTimeMillis() / 1000); +// entity.setDiscount_amount(0.0); +// entity.setGoods_id(0); +// entity.setGoods_number(goods.getGoodsNum()); +// entity.setSkuNumber(goods.getGoodsSpecNum()); +// entity.setGoods_image(goods.getGoodsImg()); +// entity.setGoods_name(goods.getGoodsName()); +// entity.setGoods_price(goods.getGoodsPrice()); +// entity.setSkuInfo(goods.getGoodsSpec()); +// entity.setId(refundId); +// entity.setOrder_amount(order.getPay_amount()); +// entity.setOrder_sn(orderSn); +// entity.setQuantity(goods.getQuantity()); +// entity.setRefund_amount(order.getPay_amount()); +// entity.setShopId(shopId); +// entity.setTracking_number(order.getTracking_number()); +// entity.setUpdated_time(""); +// refund = new RefundPddEntity(); +// refund.setId(entity.getId()); +// orderPddService.editRefundPddOrder(entity); +// } +// +// } +// } +// +// //更新快递信息到退货数据中 +// var result = orderPddService.interceptOrder(orderSn,refund.getId()); +// log.info("拦截订单,结果:"+ JSON.toJSONString(result)); +// if(result.getCode() == EnumResultVo.SUCCESS.getIndex()){ +// //拦截成功,开始推送到仓库 +// var result1 = refundService.confirmRefund(result.getData()); +// log.info("拦截成功,推送到仓库。推送结果:"+ JSON.toJSONString(result1)); +// return new ApiResult<>(result1.getCode(), result1.getMsg()); +// } +// +// return new ApiResult<>(ApiResultEnum.SystemException, "系统异常"); +// } +// /** +// * 标记已处理 +// * +// * @param req +// * @return +// */ +// @RequestMapping(value = "/sign_refund", method = RequestMethod.POST) +// public ApiResult signRefund(@RequestBody DataRow data, HttpServletRequest req) { +// Long refId = data.getLong("id"); +// if(refId == null || refId<=0){ +// return new ApiResult<>(EnumResultVo.ParamsError.getIndex(), "参数错误,缺少id"); +// } +// +//// if (StringUtils.isEmpty(data.getString("companyCode"))) +//// return new ApiResult<>(EnumResultVo.ParamsError.getIndex(), "请选择快递公司"); +//// if (StringUtils.isEmpty(data.getString("code"))) +//// return new ApiResult<>(EnumResultVo.ParamsError.getIndex(), "请输入快递单号"); +// +//// var detail = refundService.getEntityById(refId); +//// if(detail == null) return new ApiResult<>(EnumResultVo.ParamsError.getIndex(), "退货不存在"); +//// if(detail.getAfter_sales_type().intValue()!=3 && detail.getAuditStatus().intValue()!=0) return new ApiResult<>(EnumResultVo.SystemException.getIndex(), "已经处理过了"); +//// if(StringUtils.isEmpty(detail.getTracking_number())) return new ApiResult<>(EnumResultVo.SystemException.getIndex(), "还没有物流信息,请更新退货订单"); +// +//// var result = refundService.confirmRefund(refId); +//// return new ApiResult<>(result.getCode(), result.getAuditStatustMsg()); +// refundService.signRefund(refId); +// return new ApiResult<>(ApiResultEnum.SUCCESS, "SUCCESS"); +// } +// +// @RequestMapping(value = "/refund_apply_pdd_submit", method = RequestMethod.POST) +// public ApiResult addOrderCancel(HttpServletRequest request) { +///* String logisticsCompany=""; +// if(!StringUtils.isEmpty(request.getParameter("logisticsCompany"))){ +// logisticsCompany=request.getParameter("logisticsCompany"); +// } +// String logisticsCode=""; +// if(!StringUtils.isEmpty(request.getParameter("logisticsCode"))){ +// logisticsCode=request.getParameter("logisticsCode"); +// } +// Long orderId = Long.parseLong(request.getParameter("order_id")); +// ErpSalesOrderRefundReq applyVo=new ErpSalesOrderRefundReq(); +// applyVo.setOrderId(orderId); +// applyVo.setLogisticsCompany(logisticsCompany); +// applyVo.setLogisticsCode(logisticsCode); +// List itemVoList = new ArrayList<>(); +// +// String[] idDataArr = request.getParameterValues("item[]"); +// String[] nums = request.getParameterValues("count[]"); +// //循环查找选中的item +// for (int i = 0; i < idDataArr.length; i++) { +// String[] idData = idDataArr[i].split(":"); +// ErpSalesOrderItemEntity itemVo = new ErpSalesOrderItemEntity(); +// itemVo.setId(Long.parseLong(idData[1])); +// itemVo.setRefundCount(Integer.parseInt(nums[Integer.parseInt(idData[0])])); +// itemVoList.add(itemVo); +// } +// applyVo.setItems(itemVoList); +// +// var result= refundService.addPddOrderRefund(applyVo); +// return new ApiResult<>(result.getCode(), result.getMsg());*/ +// +// return new ApiResult<>(EnumResultVo.SUCCESS.getIndex(), "功能暂时禁用"); +// +// } +// @RequestMapping(value = "/upd_pdd_order_by_num", method = RequestMethod.POST) +// public ApiResult upd_pdd_order_by_num(@RequestBody DataRow data, HttpServletRequest req) throws Exception{ +// if(StringUtils.isEmpty(data.get("orderSn")))return new ApiResult<>(ApiResultEnum.ParamsError,"订单号不能为空"); +// var result = upd_pdd_order_by_num_(data); +// return new ApiResult<>(result.getCode(), result.getMsg()); +// +// } +// +// public ApiResult upd_pdd_order_by_num_(DataRow data) throws Exception{ +// var shop = shopService.getShop(data.getInt("shopId")); +// String clientId = DataConfigObject.getInstance().getPddClientId(); +// String clientSecret = DataConfigObject.getInstance().getPddClientSecret(); +// PopClient client = new PopHttpClient(clientId, clientSecret); +// PddOrderInformationGetRequest pddOrderRequest=new PddOrderInformationGetRequest(); +// pddOrderRequest.setOrderSn(data.getString("orderSn").trim()); +// PddOrderInformationGetResponse pddOrderResponse = client.syncInvoke(pddOrderRequest,shop.getSessionKey()); +// if(!StringUtils.isEmpty(pddOrderResponse.getErrorResponse())){ +// return new ApiResult<>(ApiResultEnum.Fail, pddOrderResponse.getErrorResponse().getErrorMsg()); +// } +// var item = pddOrderResponse.getOrderInfoGetResponse().getOrderInfo(); +// String company=StringUtils.isEmpty(item.getLogisticsId()) ? "" : EnumPddLogistics.getName(item.getLogisticsId().intValue()); +// OrderPddEntity pddEntity = new OrderPddEntity(); +// pddEntity.setOrder_status(item.getOrderStatus()); +// pddEntity.setOrderSn(item.getOrderSn().trim()); +// pddEntity.setShipping_time(item.getShippingTime()); +// pddEntity.setTracking_company(company); +// pddEntity.setTracking_number(item.getTrackingNumber()); +// pddEntity.setProvince(item.getProvince()); +// pddEntity.setCity(item.getCity()); +// pddEntity.setTown(item.getTown()); +// pddEntity.setShopId(shop.getId()); +// +// pddEntity.setAddress(item.getAddress()); +// pddEntity.setAfter_sales_status(item.getAfterSalesStatus()); +// pddEntity.setBuyer_memo(item.getBuyerMemo()); +// pddEntity.setCapital_free_discount(item.getCapitalFreeDiscount()); +// pddEntity.setConfirm_status(item.getConfirmStatus()); +// pddEntity.setConfirm_time(item.getConfirmTime()); +// pddEntity.setCountry(item.getCountry()); +// pddEntity.setCreated_time(item.getCreatedTime()); +// pddEntity.setDiscount_amount(item.getDiscountAmount()); +// pddEntity.setFree_sf(item.getFreeSf()); +// pddEntity.setGoods_amount(item.getGoodsAmount()); +// pddEntity.setGroup_status(item.getGroupStatus()); +// pddEntity.setIs_lucky_flag(item.getIsLuckyFlag()); +// pddEntity.setPay_amount(item.getPayAmount()); +// pddEntity.setPay_no(item.getPayNo()); +// pddEntity.setPay_time(item.getPayTime()); +// pddEntity.setPay_type(item.getPayType()); +// pddEntity.setPlatform_discount(item.getPlatformDiscount()); +// pddEntity.setPostage(item.getPostage()); +// pddEntity.setReceive_time(item.getReceiveTime()); +// pddEntity.setReceiver_name(item.getReceiverName()); +// pddEntity.setReceiver_phone(item.getReceiverPhone()); +// pddEntity.setRefund_status(item.getRefundStatus()); +// pddEntity.setRemark(item.getRemark()); +// pddEntity.setSeller_discount(item.getSellerDiscount()); +// pddEntity.setTradeType(item.getTradeType()); +// pddEntity.setUpdated_at(item.getUpdatedAt()); +// pddEntity.setOrderConfirmTime(DateUtil.strToLongGo(item.getConfirmTime())); +// pddEntity.setExcelLogId(0); +// +// +// List items = new ArrayList<>(); +// for (var it: item.getItemList()) { +// OrderPddItemEntity pddItem = new OrderPddItemEntity(); +// pddItem.setGoodsImg(it.getGoodsImg()); +// pddItem.setGoodsName(it.getGoodsName()); +// pddItem.setGoodsNum(it.getOuterGoodsId()); +// pddItem.setGoodsPrice(it.getGoodsPrice()); +// pddItem.setGoodsSpec(it.getGoodsSpec()); +// pddItem.setGoodsSpecNum(it.getOuterId()); +// pddItem.setQuantity(it.getGoodsCount()); +// items.add(pddItem); +// } +// pddEntity.setItems(items); +// //开始写入数据库 +// orderPddService.insertOrder(pddEntity,data.getInt("shopId")); +// +// PddRefundListIncrementGetRequest request = new PddRefundListIncrementGetRequest(); +// request.setAfterSalesStatus(1); +// request.setAfterSalesType(1); +// request.setStartUpdatedAt(1586239200L);// +// request.setEndUpdatedAt(1586241000L);// +// request.setPage(1); +// request.setPageSize(100); +// request.setOrderSn(data.getString("orderSn")); +// +// PddRefundListIncrementGetResponse response = client.syncInvoke(request, shop.getSessionKey()); +// +// if(!StringUtils.isEmpty(response.getErrorResponse())){ +// return new ApiResult<>(ApiResultEnum.Fail, response.getErrorResponse().getErrorMsg()); +// } +// //开始处理订单数据 +// var ritem = response.getRefundIncrementGetResponse().getRefundList().get(0); +// RefundPddEntity entity = new RefundPddEntity(); +// entity.setAfter_sale_reason(ritem.getAfterSaleReason()); +// entity.setAfter_sales_status(ritem.getAfterSalesStatus()); +// entity.setAfter_sales_type(ritem.getAfterSalesType()); +// entity.setConfirm_time(DateUtil.strToLongGo(ritem.getConfirmTime())); +// entity.setCreated_time(DateUtil.strToLongGo(ritem.getCreatedTime())); +// entity.setDiscount_amount(Double.parseDouble(ritem.getDiscountAmount())); +// entity.setGoods_id(0); +// entity.setGoods_number(ritem.getOuterGoodsId()); +// entity.setSkuNumber(ritem.getOuterId()); +// entity.setGoods_image(ritem.getGoodImage()); +// entity.setGoods_name(ritem.getGoodsName()); +// entity.setGoods_price(Double.parseDouble(ritem.getGoodsPrice())); +// entity.setSkuInfo(""); +// entity.setId(ritem.getId()); +// entity.setOrder_amount(Double.parseDouble(ritem.getOrderAmount())); +// entity.setOrder_sn(ritem.getOrderSn()); +// entity.setQuantity(Integer.parseInt(ritem.getGoodsNumber())); +// entity.setRefund_amount(Double.parseDouble(ritem.getRefundAmount())); +// entity.setShopId(shop.getId()); +// entity.setTracking_number(ritem.getTrackingNumber()); +// entity.setUpdated_time(ritem.getUpdatedTime()); +// entity.setAuditStatus(0); +// var result = orderPddService.editRefundPddOrder(entity); +// return new ApiResult<>(result.getCode(), result.getMsg()); +// } +//} diff --git a/pdd-api/src/main/java/com/qihang/pdd/controller/DouRequest.java b/pdd-api/src/main/java/com/qihang/pdd/controller/DouRequest.java new file mode 100644 index 00000000..6f3b5cd3 --- /dev/null +++ b/pdd-api/src/main/java/com/qihang/pdd/controller/DouRequest.java @@ -0,0 +1,49 @@ +package com.qihang.pdd.controller; + +public class DouRequest { + private Long shopId;//店铺Id + private Long orderId;//订单id + private Integer updType;//更新类型0拉取新订单1更新订单 + private String startDate; + private String endDate; + + public String getStartDate() { + return startDate; + } + + public void setStartDate(String startDate) { + this.startDate = startDate; + } + + public String getEndDate() { + return endDate; + } + + public void setEndDate(String endDate) { + this.endDate = endDate; + } + + public Integer getUpdType() { + return updType; + } + + public void setUpdType(Integer updType) { + this.updType = updType; + } + + public Long getOrderId() { + return orderId; + } + + public void setOrderId(Long orderId) { + this.orderId = orderId; + } + + public Long getShopId() { + return shopId; + } + + public void setShopId(Long shopId) { + this.shopId = shopId; + } +} diff --git a/pdd-api/src/main/java/com/qihang/pdd/controller/OrderPddController.java b/pdd-api/src/main/java/com/qihang/pdd/controller/OrderPddController.java new file mode 100644 index 00000000..be9710ac --- /dev/null +++ b/pdd-api/src/main/java/com/qihang/pdd/controller/OrderPddController.java @@ -0,0 +1,354 @@ +package com.qihang.pdd.controller;//package com.qihang.erp.api.controller.pdd; +// +// +//import com.b2c.common.api.ApiResult; +//import com.b2c.common.api.ApiResultEnum; +//import com.b2c.common.utils.DateUtil; +//import com.b2c.entity.datacenter.DcTmallOrderEntity; +//import com.b2c.entity.pdd.OrderPddEntity; +//import com.b2c.entity.pdd.OrderPddItemEntity; +//import com.b2c.entity.result.ResultVo; +//import com.b2c.oms.DataConfigObject; +//import com.b2c.oms.request.OrderConfirmReq; +//import com.b2c.repository.utils.OrderNumberUtils; +//import com.b2c.service.ShopService; +//import com.b2c.service.erp.ErpGoodsService; +//import com.b2c.service.oms.OrderPddService; +//import com.b2c.service.oms.SysThirdSettingService; +//import org.slf4j.Logger; +//import org.slf4j.LoggerFactory; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.stereotype.Controller; +//import org.springframework.ui.Model; +//import org.springframework.util.StringUtils; +//import org.springframework.web.bind.annotation.*; +// +//import javax.servlet.http.HttpServletRequest; +//import java.math.BigDecimal; +//import java.util.ArrayList; +//import java.util.List; +// +///** +// * 描述: +// * +// * @author qlp +// * @date 2019-11-13 14:44 +// */ +//@RequestMapping("/pdd") +//@Controller +//public class OrderPddController { +// @Autowired +// private ShopService shopService; +// @Autowired +// private OrderPddService orderPddService; +// @Autowired +// private ErpGoodsService erpGoodsService; +// @Autowired +// private SysThirdSettingService thirdSettingService; +// private static Logger log = LoggerFactory.getLogger(OrderPddController.class); +// /** +// * 订单列表 +// * @param model +// * @param shopId +// * @param request +// * @return +// */ +// @RequestMapping("/orderList") +// public String orderList(Model model, @RequestParam Integer shopId, HttpServletRequest request){ +// //查询店铺信息 +// var shop = shopService.getShop(shopId); +// model.addAttribute("shop",shop); +// +// String orderNum=""; +// if (!StringUtils.isEmpty(request.getParameter("orderNum"))) +// {orderNum = request.getParameter("orderNum"); model.addAttribute("orderNum",orderNum);} +// +// String goodsSpecNum=""; +// if (!StringUtils.isEmpty(request.getParameter("goodsSpecNum"))) {goodsSpecNum = request.getParameter("goodsSpecNum"); model.addAttribute("goodsSpecNum",goodsSpecNum);} +// String trackingNumber=""; +// if (!StringUtils.isEmpty(request.getParameter("trackingNumber"))) {trackingNumber = request.getParameter("trackingNumber"); model.addAttribute("trackingNumber",trackingNumber);} +// +// +// Integer status = null; +// if (!StringUtils.isEmpty(request.getParameter("status"))) { +// try { +// status = Integer.parseInt(request.getParameter("status")); +// model.addAttribute("status",status); +// }catch (Exception e){} +// } +// Integer refundStatus = null; +// if (!StringUtils.isEmpty(request.getParameter("refundStatus"))) { +// try { +// refundStatus = Integer.parseInt(request.getParameter("refundStatus")); +// model.addAttribute("refundStatus",refundStatus); +// }catch (Exception e){} +// } +// if(status!=null && status.intValue() == 1){ +// if(refundStatus == null){ +// refundStatus = 1; +// model.addAttribute("refundStatus",refundStatus); +// } +// } +// +// Integer orderBy = 2; +// if (!StringUtils.isEmpty(request.getParameter("orderBy"))) { +// try { +// orderBy = Integer.parseInt(request.getParameter("orderBy")); +// +// }catch (Exception e){} +// } +// model.addAttribute("orderBy",orderBy); +// Integer startTime = null; +// if (!StringUtils.isEmpty(request.getParameter("startTime"))){ +//// startTime = DateUtil.dateToStamp(request.getParameter("startTime")) ; +// startTime = DateUtil.dateTimeToStamp(request.getParameter("startTime")) ; +// model.addAttribute("startTime",request.getParameter("startTime")); +// } +// +// Integer endTime=null; +// if (!StringUtils.isEmpty(request.getParameter("endTime"))) { +// endTime = DateUtil.dateTimeToStamp(request.getParameter("endTime") );//+ " 23:59:59" +// model.addAttribute("endTime",request.getParameter("endTime")); +// } +// +// Integer pageIndex = 1, pageSize = DataConfigObject.getInstance().getPageSize(); +// if (!StringUtils.isEmpty(request.getParameter("page"))) { +// pageIndex = Integer.parseInt(request.getParameter("page")); +// } +// +// //查询订单 +// var result = orderPddService.getOrderViewList(pageIndex,pageSize,orderNum,goodsSpecNum,status,refundStatus,shopId,startTime,endTime,null,orderBy,trackingNumber); +//// var result = orderPddService.getOrderListAndItem(pageIndex, pageSize, orderNum, status, shopId, null, startTime, endTime,null); +// model.addAttribute("pageIndex", pageIndex); +// model.addAttribute("pageSize", pageSize); +// model.addAttribute("totalSize", result.getTotalSize()); +// model.addAttribute("lists", result.getList()); +// +// model.addAttribute("menuId","order_list"); +// +// +// return "v3/order_list_pdd"; +// } +// +// +// /** +// * 订单详情 +// * +// * @param model +// * @param id +// * @param shopId +// * @param request +// * @return +// */ +// @RequestMapping(value = "/orderDetail", method = RequestMethod.GET) +// public String orderDetailTmall(Model model, @RequestParam Long id,@RequestParam Integer shopId, HttpServletRequest request) { +// +// OrderPddEntity orderDetail = orderPddService.getOrderDetailAndItemsById(id); +// +// model.addAttribute("orderVo", orderDetail); +// +// //查询店铺信息 +// var shop = shopService.getShop(shopId); +// model.addAttribute("shop", shop); +// model.addAttribute("menuId", "order_list"); +// +// return "v3/order_detail_pdd"; +// } +// +// /** +// * 确定订单 +// * @param model +// * @param orderId +// * @param request +// * @return +// */ +// @RequestMapping(value = "/order_confirm", method = RequestMethod.GET) +// public String orderConfirmGet(Model model, @RequestParam Long orderId,HttpServletRequest request) { +// var order = orderPddService.getOrderDetailAndItemsById(orderId); +// if (order == null) { +// model.addAttribute("error", "没有找到订单"); +// model.addAttribute("orderVo", new DcTmallOrderEntity()); +// +// } else { +// model.addAttribute("orderVo", order); +//// model.addAttribute("clientId", order.getClientUserId() != null ? order.getClientUserId() : 0); +// } +// +// +// return "v3/order_confirm_pdd"; +// } +// +// /** +// * 订单确认(进入仓库) +// * +// * @param req +// * @return +// */ +// @ResponseBody +// @RequestMapping(value = "/order_confirm_post", method = RequestMethod.POST) +// public ApiResult confirmOrder(@RequestBody OrderConfirmReq req, HttpServletRequest request) { +// if (req.getOrderId() == null || req.getOrderId() <= 0) +// return new ApiResult<>(ApiResultEnum.ParamsError.getIndex(), "参数错误,缺少orderId"); +// if (StringUtils.isEmpty(req.getReceiver())) +// return new ApiResult<>(ApiResultEnum.ParamsError.getIndex(), "参数错误,缺少receiver"); +// if (StringUtils.isEmpty(req.getMobile())) +// return new ApiResult<>(ApiResultEnum.ParamsError.getIndex(), "参数错误,缺少mobile"); +// if (StringUtils.isEmpty(req.getAddress())) +// return new ApiResult<>(ApiResultEnum.ParamsError.getIndex(), "参数错误,缺少address"); +// +// var order = orderPddService.getOrderDetailAndItemsById(req.getOrderId()); +// +//// Integer shopId = order.getShopId();//拼多多shopId +//// String clientId = DataConfigObject.getInstance().getPddClientId(); +//// String clientSecret = DataConfigObject.getInstance().getPddClientSecret(); +//// var shop = shopService.getShop(shopId); +//// var settingEntity = thirdSettingService.getEntity(shop.getType()); +//// PopClient client = new PopHttpClient(clientId, clientSecret); +//// PddOrderInformationGetRequest pddOrderRequest=new PddOrderInformationGetRequest(); +//// pddOrderRequest.setOrderSn(order.getOrderSn()); +//// Integer pddOrderStatus=1; +//// try { +//// PddOrderInformationGetResponse pddOrderResponse = client.syncInvoke(pddOrderRequest, settingEntity.getAccess_token()); +//// if(!StringUtils.isEmpty(pddOrderResponse.getErrorResponse())){ +//// return new ApiResult<>(ApiResultEnum.ParamsError.getIndex(),pddOrderResponse.getErrorResponse().getErrorMsg()); +//// } +//// pddOrderStatus = pddOrderResponse.getOrderInfoGetResponse().getOrderInfo().getOrderStatus(); +//// }catch (Exception e){ +//// return new ApiResult<>(ApiResultEnum.ParamsError.getIndex(), "拼多多接口查询订单状态异常"); +//// } +// log.info("/**********************订单状态判断" + order.getOrder_status() + "**********************/"); +// if (order == null) +// return new ApiResult<>(404, "订单不存在");//检查是否已经确认 +// else if (order.getAuditStatus().intValue() > 0) +// return new ApiResult<>(501, "订单已经确认过了"); +//// else if (pddOrderStatus != EnumPddOrderStatus.WaitSend.getIndex()) +//// return new ApiResult<>(402, "订单不是发货中的状态,不能操作"); +// else if(order.getAfter_sales_status() != 0){ +// return new ApiResult<>(409, "订单已退款,不能操作"); +// } +// log.info("/**********************开始确认订单" + req.getOrderId() + "**********************/"); +// synchronized (this) { +// //确认订单,加入到仓库系统待发货订单列表 +// ResultVo result = orderPddService.orderConfirmAndJoinDeliveryQueueForPdd(req.getOrderId(), req.getReceiver(), req.getMobile(), req.getAddress(), req.getSellerMemo()); +// +// log.info("/**********************确认订单完成" + result + "**********************/"); +// return new ApiResult<>(result.getCode(), result.getMsg()); +// } +// } +// +// /** +// * 创建订单 +// * @param model +// * @param shopId +// * @param request +// * @return +// */ +// @RequestMapping("/order_create") +// public String orderCreate(Model model,@RequestParam Integer shopId, HttpServletRequest request){ +// model.addAttribute("orderNumber",OrderNumberUtils.getOrderIdByTime()); +// model.addAttribute("menuId", "order_create"); +// return "v3/order_create_pdd"; +// } +// /** +// * pdd创建订单 +// * @param model +// * @param request +// * @return +// */ +// @RequestMapping(value = "/order_create", method = RequestMethod.POST) +// public String postSystemOrder(Model model, HttpServletRequest request) { +// model.addAttribute("menuId", "order_create"); +// /***商品信息****/ +// String[] specNumber = request.getParameterValues("specNumber");//规格编码组合 +// String[] goodsNumber = request.getParameterValues("goodsNumber");//商品编码组合 +// String[] goodsId = request.getParameterValues("goodsId");//商品id组合 +// String[] specsId = request.getParameterValues("specId");//商品规格id组合 +// String[] quantitys = request.getParameterValues("quantity");//数量组合 +// String[] prices = request.getParameterValues("note");//商品价格 +// +// String orderNumber = request.getParameter("orderNumber"); +// //收件人信息 +// String contactMobile = request.getParameter("contactMobile"); +// String contactPerson = request.getParameter("contactPerson"); +// String area = request.getParameter("area"); +// String address = request.getParameter("address"); +// Integer saleType = Integer.parseInt(request.getParameter("saleType")); +// String shippingFee= StringUtils.isEmpty(request.getParameter("shippingFee")) ? "0" :request.getParameter("shippingFee"); +// String sellerMemo = request.getParameter("sellerMemo"); +// +// String[] areaNameArray = area.split(" "); +// +// String provinceName = ""; +// if (areaNameArray.length > 0) provinceName = areaNameArray[0]; +// String cityName = ""; +// if (areaNameArray.length > 1) cityName = areaNameArray[1]; +// String districtName = ""; +// if (areaNameArray.length > 2) districtName = areaNameArray[2]; +// +// OrderPddEntity pddEntity = new OrderPddEntity(); +// +// List items = new ArrayList<>(); +// double goodsTotalAmount = 0;//商品总价 +// for (int i = 0,n=goodsId.length;i result = orderService.getWaitPrintOrderList(pageIndex, pageSize, printStatus, startTime, endTime,shopId); +// //var result = pddService.getOrderViewListPrintWdy(shopId,pageIndex,pageSize,orderNum,goodsNum,goodsSpecNum,0,startTime,endTime); +// var result = pddService.getOrderViewList(pageIndex,pageSize,orderNum,goodsSpecNum,null,shopId,startTime,endTime,0,1,"",goodsNum); +// +// model.addAttribute("list", result.getList()); +// model.addAttribute("totalSize", result.getTotalSize()); +// +// model.addAttribute("menuId","print_order_list"); +// return "fahuo/order_fahuo_pdd"; +// } +// @RequestMapping(value = "/order_fahuo_pdd_hebing", method = RequestMethod.GET) +// public String order_fahuo_pdd_hebing(Model model, HttpServletRequest request) { +// Integer printStatus = 0; +// if (!StringUtils.isEmpty(request.getParameter("print"))) { +// printStatus = Integer.parseInt(request.getParameter("print")); +// } +// Integer startTime = 0; +// Integer endTime = 0; +// String date = request.getParameter("date"); +// if (StringUtils.isEmpty(date) == false) { +// //时间筛选了2020-02-07 - 2020-02-14 +// String[] st = date.split(" - "); +// if (st.length > 0) { +// startTime = DateUtil.dateToStamp(st[0]); +// } +// if (st.length > 1) { +// endTime = DateUtil.dateTimeToStamp(st[1] + " 23:59:59"); +// } +// +// } +// String goodsNum=""; +// if (!StringUtils.isEmpty(request.getParameter("goodsNum"))) { +// goodsNum = request.getParameter("goodsNum"); +// model.addAttribute("goodsNum",goodsNum); +// } +// Integer shopId=18; +// if(!StringUtils.isEmpty(request.getParameter("shopId"))){ +// shopId= Integer.parseInt(request.getParameter("shopId")); +// } +// Integer isHebing=1; +// model.addAttribute("printStatus", printStatus); +// model.addAttribute("isHebing",isHebing); +// model.addAttribute("goodsNum",goodsNum); +// model.addAttribute("shopId",shopId); +// var result = pddService.getPddOrderHebing(shopId,printStatus,goodsNum); +// +// model.addAttribute("list", result); +// model.addAttribute("totalSize", result.size()); +// +// model.addAttribute("menuId","print_order_list"); +// return "fahuo/order_fahuo_pdd_hebing"; +// } +// @RequestMapping(value = "/order_fahuo_pdd_code", method = RequestMethod.GET) +// public String order_fahuo_pdd_code(Model model, HttpServletRequest request) { +// var result = pddService.getPddOrderCodePrint(null); +// +// model.addAttribute("list", result); +// model.addAttribute("totalSize", result.size()); +// model.addAttribute("printStatus",2); +// model.addAttribute("isHebing",0); +// +// return "fahuo/order_fahuo_pdd_code"; +// } +// +// @RequestMapping(value = "/order_fahuo_pdd_ydd", method = RequestMethod.GET) +// public String order_fahuo_pdd_ydd(Model model, HttpServletRequest request) { +// Integer pageIndex = 1; +// Integer pageSize = 100; +// +// if (StringUtils.isEmpty(request.getParameter("page")) == false) { +// try { +// pageIndex = Integer.parseInt(request.getParameter("page")); +// } catch (Exception e) { +// } +// } +// String trackingNumber=""; +// Integer status=1; +// if (!StringUtils.isEmpty(request.getParameter("trackingNumber"))) { +// trackingNumber = request.getParameter("trackingNumber"); +// status=null; +// } +// String printStartTime=""; +// String printEndTime=""; +// if (!StringUtils.isEmpty(request.getParameter("printStartTime"))) { +// printStartTime = request.getParameter("printStartTime"); +// } +// if (!StringUtils.isEmpty(request.getParameter("printEndTime"))) { +// printEndTime = request.getParameter("printEndTime"); +// } +// Integer shopId=null; +// if(!StringUtils.isEmpty(request.getParameter("shopId"))){ +// shopId=Integer.parseInt(request.getParameter("shopId")); +// } +// +// model.addAttribute("shopId",shopId); +// var result=pddService.getOrderViewListByPrint(pageIndex,pageSize,shopId,1,trackingNumber,printStartTime,printEndTime); +// model.addAttribute("printStatus",1); +// model.addAttribute("isHebing",0); +// model.addAttribute("trackingNumber",trackingNumber); +// model.addAttribute("list", result.getList()); +// model.addAttribute("totalSize", result.getTotalSize()); +// model.addAttribute("printStartTime",printStartTime); +// model.addAttribute("printEndTime",printEndTime); +// +// model.addAttribute("menuId","print_order_list"); +// return "fahuo/order_fahuo_pdd_ydd"; +// } +// @RequestMapping(value = "/test", method = RequestMethod.GET) +// public void test() throws Exception{ +// String clientId = "dc953bcf16d24b27abf3e64a59e1ecd1"; +// String clientSecret = "de296599e194a08cbfbb2b3b340e11fec7a1bacc"; +// PopClient client = new PopHttpClient(clientId, clientSecret); +// +///* PddCloudprintStdtemplatesGetRequest request2 = new PddCloudprintStdtemplatesGetRequest(); +// PddCloudprintStdtemplatesGetResponse response2 = client.syncInvoke(request2); +// System.out.println(JsonUtil.transferToJson(response2));*/ +// PddWaybillSearchRequest request = new PddWaybillSearchRequest(); +// PddWaybillSearchResponse response = client.syncInvoke(request, "1d8739f5222942288d7d39fb4e29f1e4e279be81"); +// System.out.println(JsonUtil.transferToJson(response)); +// +// } +// +// @RequestMapping(value = "/order_print", method = RequestMethod.GET) +// public void testPddPrint() throws Exception{ +// String clientId = "dc953bcf16d24b27abf3e64a59e1ecd1"; +// String clientSecret = "de296599e194a08cbfbb2b3b340e11fec7a1bacc"; +// String accessToken = "bbaf1f7176d04785bae3809d309cb3215da6ca2f"; +// PopClient client = new PopHttpClient(clientId, clientSecret); +// PddWaybillGetRequest request = new PddWaybillGetRequest(); +// +// var order = pddService.getOrder("210617-119055350582012"); +// +// PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequest paramWaybillCloudPrintApplyNewRequest = new PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequest(); +// paramWaybillCloudPrintApplyNewRequest.setNeedEncrypt(false); +// +// PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestSender sender = new PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestSender(); +// +// PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestSenderAddress address = new PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestSenderAddress(); +// //东方店铺发货地址 +///* address.setCity("东莞市"); +// address.setDetail("聚新二路42号华衣云商科技"); +// address.setDistrict("大朗镇"); +// address.setProvince("广东省"); +// sender.setAddress(address); +// sender.setMobile("15920623872"); +// sender.setName("胡生"); +// sender.setPhone("15920623872");*/ +// //百货店发货地址 +// address.setProvince("广东省"); +// address.setCity("东莞市"); +// address.setDistrict("大朗镇"); +// address.setDetail("聚新2路42号"); +// sender.setName("胡生"); +// sender.setPhone("15920623872"); +// paramWaybillCloudPrintApplyNewRequest.setSender(sender); +// List tradeOrderInfoDtos = new ArrayList<>(); +// +// PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestTradeOrderInfoDtosItem item = new PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestTradeOrderInfoDtosItem(); +// //item.setLogisticsServices("{ "SVC-COD": { "value": "200" } }"); +// item.setObjectId("str"); +// +// PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestTradeOrderInfoDtosItemOrderInfo orderInfo = new PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestTradeOrderInfoDtosItemOrderInfo(); +// orderInfo.setOrderChannelsType("PDD"); +// List tradeOrderList = new ArrayList(); +// tradeOrderList.add(order.getOrderSn()); +// orderInfo.setTradeOrderList(tradeOrderList); +// item.setOrderInfo(orderInfo); +// +// PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestTradeOrderInfoDtosItemPackageInfo packageInfo = new PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestTradeOrderInfoDtosItemPackageInfo(); +// packageInfo.setGoodsDescription("str"); +// packageInfo.setId("str"); +// List items = new ArrayList<>(); +// +// PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestTradeOrderInfoDtosItemPackageInfoItemsItem item1 = new PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestTradeOrderInfoDtosItemPackageInfoItemsItem(); +// item1.setCount(1); +// item1.setName("衣服"); +// items.add(item1); +// packageInfo.setItems(items); +// packageInfo.setPackagingDescription(""); +// packageInfo.setTotalPackagesCount(0); +// packageInfo.setVolume(0L); +// packageInfo.setWeight(0L); +// item.setPackageInfo(packageInfo); +// +// PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestTradeOrderInfoDtosItemRecipient recipient = new PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestTradeOrderInfoDtosItemRecipient(); +// +// PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestTradeOrderInfoDtosItemRecipientAddress address1 = new PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestTradeOrderInfoDtosItemRecipientAddress(); +// address1.setCountry(order.getCountry()); +// address1.setProvince(order.getProvince()); +// address1.setCity(order.getCity()); +// address1.setDistrict(order.getTown()); +// address1.setDetail(order.getAddress()); +// //address.setTown(); +// recipient.setAddress(address1); +// recipient.setMobile(order.getReceiver_phone()); +// recipient.setName(order.getReceiver_name()); +// recipient.setPhone(order.getReceiver_phone()); +// item.setRecipient(recipient); +// item.setTemplateUrl("https://file-link.pinduoduo.com/jtsd_one"); +// item.setUserId(0L); +// tradeOrderInfoDtos.add(item); +// paramWaybillCloudPrintApplyNewRequest.setTradeOrderInfoDtos(tradeOrderInfoDtos); +// paramWaybillCloudPrintApplyNewRequest.setWpCode("JTSD"); +// request.setParamWaybillCloudPrintApplyNewRequest(paramWaybillCloudPrintApplyNewRequest); +// try { +// PddWaybillGetResponse response = client.syncInvoke(request, accessToken); +// String jsonStr =JsonUtil.transferToJson(response); +// System.out.println("res0:"+jsonStr); +// var resObjs= JSONObject.parseObject(jsonStr).getJSONObject("pdd_waybill_get_response").getJSONArray("modules"); +// +// PddCloudprintCmdprintRenderRequest requestP = new PddCloudprintCmdprintRenderRequest(); +// +// PddCloudprintCmdprintRenderRequest.Request request1 = new PddCloudprintCmdprintRenderRequest.Request(); +// //目前暂未对这两个字段进行校验,服务商可以传入与服务相关的固定值。 +// request1.setClientSideId("PC_PRINT"); +// request1.setClientType("PC"); +// +// PddCloudprintCmdprintRenderRequest.RequestConfig config = new PddCloudprintCmdprintRenderRequest.RequestConfig(); +// config.setHorizontalOffset((double) 0.0); +// config.setNeedBottomLogo(false); +// config.setNeedMiddleLogo(false); +// config.setNeedTopLogo(false); +// config.setOrientation("str"); +// config.setVerticalOffset((double) 0.0); +// request1.setConfig(config); +// +// PddCloudprintCmdprintRenderRequest.RequestDocument document = new PddCloudprintCmdprintRenderRequest.RequestDocument(); +// List contents = new ArrayList<>(); +// +// String printStr=""; +// for(int i=0;i contents = new ArrayList<>(); +//// +//// String resJsonStr="{\"pdd_waybill_get_response\":{\"modules\":[{\"object_id\":\"str\",\"print_data\":\"{\\\"encryptedData\\\":\\\"a67d4819d0cd21554e9437e0bc2caa629864b0effd1aec65833023f78e93733ca9eec3468dc487b24682b9d64f176ca6bb3f602c2b383571c725bae8ff84957579b574f231f3f4bff51447906ce0566b74210e61bb9379a1ad3647cd9c5648fc1e2a627dde855be135aeadb4dffd020554bf84a05f39d50f49bf8875895fc79ec23933bbf375987929f129b6bd30521b8259c104e564a45b5d2c4d3ccd45aa9dae43e27c34c91c6be269d3028ff1f579a866bed94696a9d697851edb30ee8411975486bc993fee8c4cad2525e0e33638978c8fcb8dea75a1d05d2b586ff0174bc18a3a0680e0ae48d73444fc440fb55f7b2a0485f4d2d7396601ba9ea295d895023b4d2299cb87cca5be2a147bc62f078e716dcce4f563215d8098b6eefe7df465c05a88f80098f6175441f711f5ca193c60b61435c58c5d32fa6a39b9b8a3699c4411dca8921be94ba5fd5de113a76c34eb0bad6fcbbfcfe4eacd400a1ff63e51d603c8aaada8969165607d149c0e6bcf724924fcacc9248818a219719e2c46199ced5ada6f6b42a2c3555fddcfe2fb5309cae5dca4a0c5d389ecee8bcf66062ff3aa7c09ee6aa9ebfa86139a7a4adce21cceb4729e0a448f762f6d5b379790093943651240f93932eb106d25341df44bb4dfb2e9b5ed3c827a6c063585cf2fbd9b5886886efea7ac89fb734130da262a22b282c8a8bbddc2d79fcd35814e3fa24c3538dac9bbdb096054263f7f2541191c0b1aa5207f8be1ae1292aea443d3fabf1fb837b58758738eebe494941af774ace3ac436420fc4c15b41b97c5553c1483ecfb87c3691e80f0d30e75d4339bc7e5d9de6ccf3e65d1008ba61d6803b0e8b874ab353ccb368536cc35b4ddde1f43d509ee8146ffd6b7a4841299dba4512af7b533a44fcabce1224c91ca9785659abf2f5f4f8dd2ccc6c264f7ed25587ab5b023ae2089e748bdf34eca6948198d366e879863b41cfe558bd0ce9f6c5361c1ea29d905e5e73b42f945e573cd9b519f17629fa8134a8dd4cdfd48aac911ea2140ece7269d71e8230ab6fff4ab9f08771f849cf3eb3a34f41743fd7b4f3e5532c6fc98a38cd63f7a48750d056fd25fad54f31ce2e8c3f4a679baf83f18202280c8069fe3c5c942cc5d95412b9ca707c62c0ba3c19f88bd4c518a6bdfda6670cf84a7ab6b23d4a8bb996fc9c6d8dc65318a82e5e637eb2aa2a91e3a146f01fecb2d02f6e768c90f72296d56563e9cf1e7d6d377ffcd7817c00d9db2e5abc93e515b23218e92df1f23e774580caee71824adfcc4a7d3c36f9113954f03eb84b7acecee2eb77d38935af1ec1ff0f7a5c965616166a5d9f427b5f5d497f83dfe67acb745f1e887e9c2af61f79fa802293e18a7d6a1f4666ff4913249f708623d5b619e7824c199474395b26cc26613b74d00a653ec4d3bcb580629a1716610a5341242ffbc10b176cddd186aa336f9cbe3fbaa2e9904c52c9e92da89f36539aba33e8883dd4b2b0792b8c93ec80508fb476d96fa689c3171135a3c03ee17c5e7f20387b2948bc4b9c371c1bbe57f4efa3b75054d77e191bcb8339c61c7d4efac045455da183eed3e331ec26fcc60e768f5\\\",\\\"signature\\\":\\\"g/C/uwNK5sTXC07e9z4KGoykKqoEuAL/txQtIGKCM6UMBkY1WmTpM43T8ylaoq0nsa3pEQBoWuu1QreS7kUAXU8egugpr8PMGnVg5plrDkAa/zaOAV+8q8xv3dR/7vU/VBmCWcR3z3dmlRBXNomyW6KNmXTeH1vh3tQPtPllho4=\\\",\\\"templateUrl\\\":\\\"https://file-link.pinduoduo.com/jtsd_one\\\",\\\"ver\\\":\\\"3\\\"}\",\"waybill_code\":\"JT5049988959708\"}]}}"; +//// var resObjs= JSONObject.parseObject(resJsonStr).getJSONObject("pdd_waybill_get_response").getJSONArray("modules"); +//// String printStr=""; +//// for(int i=0;i getShopInfo(String clientId, String clientSecret, String accessToken) throws Exception { + + PopClient client = new PopHttpClient(clientId, clientSecret); + + PddMallInfoGetRequest request = new PddMallInfoGetRequest(); + PddMallInfoGetResponse response = client.syncInvoke(request, accessToken); + if (response.getErrorResponse() == null) { + return new ApiResult<>(EnumResultVo.SUCCESS.getIndex(), "SUCCESS", response.getMallInfoGetResponse()); + } else if (response.getErrorResponse().getErrorCode().intValue() == 10019) { + return new ApiResult<>(EnumResultVo.TokenFail.getIndex(), "Token过期"); + }else + return new ApiResult<>(EnumResultVo.Fail.getIndex(), "接口调用失败:"+response.getErrorResponse().getErrorMsg()); + + } +} diff --git a/pdd-api/src/main/java/com/qihang/pdd/controller/PddOAuthController.java b/pdd-api/src/main/java/com/qihang/pdd/controller/PddOAuthController.java new file mode 100644 index 00000000..92df0b51 --- /dev/null +++ b/pdd-api/src/main/java/com/qihang/pdd/controller/PddOAuthController.java @@ -0,0 +1,97 @@ +package com.qihang.pdd.controller; + + +import com.pdd.pop.sdk.http.PopAccessTokenClient; +import com.pdd.pop.sdk.http.token.AccessTokenResponse; +import com.qihang.erp.api.service.IShopService; +import com.zhijian.core.config.ServerConfig; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import javax.servlet.http.HttpServletRequest; +import java.io.IOException; + +@RequestMapping("/pdd_api2") +@Controller +public class PddOAuthController { + @Autowired + private IShopService shopService; + @Autowired + private ServerConfig serverConfig; + private static Logger log = LoggerFactory.getLogger(PddOAuthController.class); + + @RequestMapping("/oauth") + public String oauth(HttpServletRequest req) { + String returnUrl = serverConfig.getUrl() + "/pdd_api/getToken&state="+req.getParameter("shopId"); + var shop = shopService.selectShopById(Long.parseLong(req.getParameter("shopId"))); + + String appKey = shop.getAppkey(); + String appSercet = shop.getAppSercet(); + + String url = "https://mms.pinduoduo.com/open.html?response_type=code&client_id=" + appKey + "&redirect_uri=" + returnUrl; + return "redirect:" + url; + } + + @RequestMapping("/getToken") + public String getToken(HttpServletRequest req) throws IOException, InterruptedException { + log.info("/**********获取拼多多授权token*********/"); + String code = req.getParameter("code"); + + Long shopId =Long.parseLong(req.getParameter("state")); + var shop = shopService.selectShopById(shopId); + String appKey = shop.getAppkey(); + String appSercet = shop.getAppSercet(); + PopAccessTokenClient accessTokenClient = new PopAccessTokenClient(appKey, appSercet); + + // 生成AccessToken + try { + AccessTokenResponse response = accessTokenClient.generate(code); + if(response.getErrorResponse()!=null){ + log.info("/***************获取拼多多授权token错误:"+response.getErrorResponse().getErrorMsg()+"**************/"); + }else{ + //保存accessToken + System.out.println(shopId +"--token:" + response.getAccessToken()+",thirdId:"+response.getOwnerId()+",shopId:"+shopId); + + shopService.updateSessionKey(shopId,Long.parseLong(response.getOwnerId()),response.getAccessToken()); + +// thirdSettingService.updateEntity(shopId, response.getAccessToken(), response.getRefreshToken(), response.getExpiresIn(),response.getOwnerId()); + return "redirect:/pdd/getTokenSuccess?mallId="+response.getOwnerId(); +/* String state = req.getParameter("state"); + if (state.equalsIgnoreCase("GETORDERLIST")) { + //获取订单list + return "redirect:/shop/shop_list"; + } else if (state.equalsIgnoreCase("DCGOODSLIST")) { + //商品list + return "redirect:/goods/pdd_list"; + }*/ + } + } catch (Exception e) { + + e.printStackTrace(); + + } + return "redirect:/"; + } + + /** + * 获取授权成功 + * @param req + * @param model + * @return + */ + @RequestMapping("/getTokenSuccess") + public String getTokeSuccess(HttpServletRequest req, @RequestParam Long mallId, Model model){ + var shop = shopService.selectShopById(mallId); + model.addAttribute("shop",shop); + model.addAttribute("shopId",shop.getId()); + return "get_token_success"; + } + + + +} diff --git a/pdd-api/src/main/java/com/qihang/pdd/controller/PddSocketController.java b/pdd-api/src/main/java/com/qihang/pdd/controller/PddSocketController.java new file mode 100644 index 00000000..d52a6158 --- /dev/null +++ b/pdd-api/src/main/java/com/qihang/pdd/controller/PddSocketController.java @@ -0,0 +1,391 @@ +package com.qihang.pdd.controller;//package com.qihang.erp.api.controller.pdd; +// +//import com.alibaba.fastjson.JSON; +//import com.alibaba.fastjson.JSONObject; +//import com.b2c.common.jdbc.DbUtil; +//import com.b2c.common.utils.DateUtil; +//import com.b2c.oms.DataConfigObject; +//import com.b2c.oms.PddWsClient; +//import com.b2c.service.oms.OrderPddService; +//import com.pdd.pop.sdk.common.util.JsonUtil; +//import com.pdd.pop.sdk.http.PopClient; +//import com.pdd.pop.sdk.http.PopHttpClient; +//import com.pdd.pop.sdk.http.api.pop.request.PddPmcUserGetRequest; +//import com.pdd.pop.sdk.http.api.pop.request.PddPmcUserPermitRequest; +//import com.pdd.pop.sdk.http.api.pop.response.PddPmcUserGetResponse; +//import com.pdd.pop.sdk.http.api.pop.response.PddPmcUserPermitResponse; +//import com.pdd.pop.sdk.message.MessageHandler; +//import com.pdd.pop.sdk.message.WsClient; +//import com.pdd.pop.sdk.message.model.Message; +//import org.slf4j.Logger; +//import org.slf4j.LoggerFactory; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.stereotype.Controller; +//import org.springframework.ui.Model; +//import org.springframework.web.bind.annotation.RequestMapping; +//import org.springframework.web.bind.annotation.ResponseBody; +// +//import java.io.IOException; +//import java.sql.*; +// +//@Controller +//public class PddSocketController { +// +// private static Logger log = LoggerFactory.getLogger(PddSocketController.class); +// +// @Autowired +// private OrderPddService orderPddService; +// +// @RequestMapping("/pddSockettest") +// @ResponseBody +// public String pddSoceketTest() throws Exception { +// String clientId = "dc953bcf16d24b27abf3e64a59e1ecd1"; +// String clientSecret = "de296599e194a08cbfbb2b3b340e11fec7a1bacc"; +// PopClient client = new PopHttpClient(clientId, clientSecret); +// +// +//// Connection conn = null; +//// Statement stmt = null; +//// ResultSet rs = null; +//// try{ +//// String jdbcUrl = DataConfigObject.getInstance().getJdbcURL(); +//// String jdbcUser= DataConfigObject.getInstance().getJdbcUSER(); +//// String jdbcPwd = DataConfigObject.getInstance().getJdbcPASSWORD(); +//// DbUtil dbUtil = new DbUtil(jdbcUrl,jdbcUser,jdbcPwd); +//// conn = dbUtil.getConnection(); +//// } +//// catch (Exception e){ +//// log.info("数据库链接异常"); +//// } +//// String sql = "insert into dc_pdd_message (mall_id,type,content) value(?,?,?)"; +//// if(conn != null) { +//// try { +//// log.info("开始数据库操作"); +//// PreparedStatement pst = conn.prepareStatement(sql); +//// //为占位符设置具体内容 +//// pst.setLong(1, 1); +//// pst.setString(2, "pdd_trade_TradeConfirmed"); +//// pst.setString(3," {\"content\":\"{\\\"mall_id\\\":171504183,\\\"refund_fee\\\":1990,\\\"bill_type\\\":1,\\\"modified\\\":1625637425016,\\\"refund_id\\\":7381745730,\\\"operation\\\":1000,\\\"tid\\\":\\\"210707-339507978993455\\\"}\",\"mallID\":171504183,\"type\":\"pdd_refund_RefundCreated\"}"); +//// +//// var dataResult = pst.executeUpdate(); +//// log.info("数据插入成功"+dataResult); +////// //3.操作数据库,实现增删改查 +////// stmt = conn.createStatement(); +////// rs = stmt.executeQuery("insert into user_name, age FROM imooc_goddess"); +////// //如果有数据,rs.next()返回true +////// while (rs.next()) { +////// System.out.println(rs.getString("user_name") + " 年龄:" + rs.getInt("age")); +////// } +//// } catch (Exception e) { +//// if (rs != null && !rs.isClosed()) { +//// rs.close(); +//// log.info("ResultSet is close " + rs.isClosed()); +//// } +//// if (stmt != null && !stmt.isClosed()) { +//// stmt.close(); +//// log.info("Statement is close " + stmt.isClosed()); +//// } +//// if (conn != null && !conn.isClosed()) { +//// conn.close(); +//// log.info("Connection is close " + conn.isClosed()); +//// } +//// } +//// } +// +// +// +//// String accessToken = "8386f04e132d486fa3eec27481614e43f4fabe66"; +//// PddPmcUserPermitRequest request1 = new PddPmcUserPermitRequest(); +//// request1.setTopics("pdd_trade_TradeConfirmed"); +//// PddPmcUserPermitResponse response1 = client.syncInvoke(request1, accessToken); +//// System.out.println(JsonUtil.transferToJson(response1)); +// +// +// PddPmcUserGetRequest request = new PddPmcUserGetRequest(); +// request.setOwnerId("171504183"); +// PddPmcUserGetResponse response = client.syncInvoke(request); +// System.out.println(JsonUtil.transferToJson(response)); +// +// return JsonUtil.transferToJson(response); +// } +// +// @RequestMapping("/pddSocket") +// @ResponseBody +// public String pddSocket(Model model) throws Exception { +// +// +// log.info("开启拼多多消息长连接"); +// String clientId = "dc953bcf16d24b27abf3e64a59e1ecd1"; +// String clientSecret = "de296599e194a08cbfbb2b3b340e11fec7a1bacc"; +// String accessToken = "5f3ed4cddf99491e883bc6dfd867bed3b1ec90a4"; +// String accessToken1 = "c99a5f0233e44b93bcf8ebd9cd02313f95c56cf2"; +// PopClient client = new PopHttpClient(clientId, clientSecret); +// +// +// +// +// +// PddPmcUserPermitRequest request = new PddPmcUserPermitRequest(); +//// request.setTopics("pdd_trade_TradeConfirmed,pdd_refund_RefundCreated"); +// request.setTopics("pdd_trade_TradeConfirmed,pdd_refund_RefundCreated,pdd_refund_RefundBuyerReturnGoods"); +// +// PddPmcUserPermitResponse response = client.syncInvoke(request, accessToken); +// System.out.println(JsonUtil.transferToJson(response)); +// +// PddPmcUserPermitResponse response1 = client.syncInvoke(request, accessToken1); +// System.out.println(JsonUtil.transferToJson(response1)); +// +// String jdbcUrl = DataConfigObject.getInstance().getJdbcURL(); +// String jdbcUser= DataConfigObject.getInstance().getJdbcUSER(); +// String jdbcPwd = DataConfigObject.getInstance().getJdbcPASSWORD(); +// +// +// +// +// +// WsClient ws = PddWsClient.getInstance().getWsClient(); +// ws.setMessageHandler(new MessageHandler() { +// @Override +// public void onMessage(Message message) throws InterruptedException, IOException { +// log.info("拼多多新消息:" + JSON.toJSONString(message)); +// DbUtil dbUtil = null; +// Connection conn = null; +// Statement stmt = null; +// +// try{ +// dbUtil =new DbUtil(jdbcUrl,jdbcUser,jdbcPwd); +// conn = DbUtil.getConnection(); +// stmt = conn.createStatement(); +// }catch (Exception e){ +// conn = null; +// stmt = null; +// log.info("数据库连接池初始化错误"); +// } +// if (message.getType().equals("pdd_refund_RefundCreated")) { +// //新退货订单,插入退货表 +//// log.info("接收到拼多多新退款,插入退货表:" ); +// Integer shopId = 0; +// if(message.getMallID().longValue() == 171504183L){ +// shopId = 18; +// } else if(message.getMallID().longValue() == 593374804L){ +// shopId = 5; +// } +// JSONObject jsonObject = JSON.parseObject(message.getContent()); +// Long refundId = jsonObject.getLong("refund_id"); +// Integer billType = jsonObject.getInteger("bill_type"); +// Long refundFee = jsonObject.getLong("refund_fee"); +// Integer operation=jsonObject.getInteger("operation"); +// String orderSn = jsonObject.getString("tid"); +// Long modified = jsonObject.getLong("modified"); +// String sql = "SELECT count(0) FROM dc_pdd_refund WHERE id="+refundId;//查询 +// +// try { +// if(stmt == null){ +// log.info("链接断开了"); +// } +// ResultSet rs = stmt.executeQuery(sql); +// int isExist = 0; +// //如果有数据,rs.next()返回true +// if(rs.next()){ +// isExist = rs.getInt(1); +// } +// if(isExist > 0){ +// log.info(refundId + "存在,不操作"); +// }else{ +// //插入数据,简单数据 +// StringBuilder sb = new StringBuilder(); +// sb.append("INSERT INTO dc_pdd_refund SET id="+refundId); +// sb.append(",order_sn='"+orderSn+"'"); +// sb.append(",shopId="+shopId); +// sb.append(",after_sales_type=0"); +// sb.append(",after_sales_status=0"); +// sb.append(",after_sale_reason=''"); +// sb.append(",confirm_time=0"); +// sb.append(",created_time=0"); +// sb.append(",discount_amount=0"); +// sb.append(",order_amount=0"); +// sb.append(",refund_amount="+refundFee.doubleValue() / 100); +// sb.append(",quantity=0"); +// sb.append(",goods_price=0"); +// sb.append(",updated_time='"+DateUtil.getCurrentDateTime()+"'"); +// sb.append(",auditStatus=-9"); +// +// +// int r = stmt.executeUpdate(sb.toString()); +//// log.info(refundId+"新增成功"); +// log.info("处理拼多多新退款消息:{refundId:" + refundId + ",order_sn:" + orderSn + "},添加成功"); +// } +// if(rs.isClosed()==false) rs.close(); +// +// } catch (SQLException e) { +// e.printStackTrace(); +// }finally { +// try { +// if(stmt!=null && stmt.isClosed()==false ) stmt.close(); +// if (conn != null && conn.isClosed()) conn.close(); +// }catch (Exception ee){} +// } +// +//// RefundPddEntity refundPdd = new RefundPddEntity(); +//// refundPdd.setId(refundId); +//// refundPdd.setShopId(shopId); +//// refundPdd.setAfter_sales_type(billType+1); +//// refundPdd.setAfter_sales_status(2); +//// refundPdd.setAfter_sale_reason(operation+""); +//// refundPdd.setAuditStatus(-9);//带拉取状态 +//// refundPdd.setConfirm_time(0L); +//// refundPdd.setCreated_time(modified); +//// refundPdd.setDescribe(""); +//// refundPdd.setDiscount_amount(0.0); +//// refundPdd.setGoods_id(0); +//// refundPdd.setGoods_image(""); +//// refundPdd.setGoods_name(""); +//// refundPdd.setGoods_number(""); +//// refundPdd.setGoods_price(0.0); +//// refundPdd.setOrder_amount(0.0); +//// refundPdd.setOrder_sn(orderSn); +//// refundPdd.setQuantity(0); +//// refundPdd.setRefund_amount(refundFee.doubleValue() / 100); +//// refundPdd.setShippingStatus(0); +//// refundPdd.setSkuId(0); +//// refundPdd.setSkuInfo(""); +//// refundPdd.setSkuNumber(""); +//// refundPdd.setTracking_company(""); +//// refundPdd.setTracking_number(""); +//// refundPdd.setUpdated_time(DateUtil.getCurrentDateTime()); +//// var result = orderPddService.editRefundPddOrder(refundPdd); +//// log.info("开始处理退货单消息:{refundId:"+refundId+",status:"+operation+"},处理结果:"+result.getMsg()); +// +// }else if (message.getType().equals("pdd_trade_TradeConfirmed")){ +//// log.info("接收到拼多多新订单,插入订单表:" ); +// try { +// Integer shopId = 0; +// if (message.getMallID().longValue() == 171504183L) { +// shopId = 18; +// } else if(message.getMallID().longValue() == 593374804L){ +// shopId = 5; +// } +// //{"content":"{\"mall_id\":171504183,\"tid\":\"210822-038440825871540\"}","mallID":171504183,"type":"pdd_trade_TradeConfirmed"} +// JSONObject jsonObject = JSON.parseObject(message.getContent()); +// String tid = jsonObject.getString("tid"); +// String sql = "SELECT COUNT(0) FROM dc_pdd_orders WHERE order_sn=" + tid + " and shopId =" + shopId; +// ResultSet rs = stmt.executeQuery(sql); +// int isExist = 0; +// //如果有数据,rs.next()返回true +// if (rs.next()) { +// isExist = rs.getInt(1); +// } +// if (isExist > 0) { +// log.info(tid + "存在,不操作"); +// } else { +// +// // 开始写入数据库 +// /*****1、添加order*****/ +// StringBuilder orderInsertSQL = new StringBuilder(); +// orderInsertSQL.append("INSERT INTO dc_pdd_orders"); +// orderInsertSQL.append(" SET "); +// orderInsertSQL.append(" order_sn='"+tid+"'"); +// orderInsertSQL.append(",shopId="+shopId); +// orderInsertSQL.append(",trade_type=0,"); +// orderInsertSQL.append(" confirm_status=0,"); +// orderInsertSQL.append(" free_sf=0,"); +// orderInsertSQL.append(" group_status=0,"); +// orderInsertSQL.append(" capital_free_discount=0.0,"); +// orderInsertSQL.append(" seller_discount=0.0,"); +// orderInsertSQL.append(" platform_discount=0.0,"); +// orderInsertSQL.append(" updated_at='"+DateUtil.getCurrentDateTime()+"'"); +// orderInsertSQL.append(",refund_status=0,"); +// orderInsertSQL.append(" is_lucky_flag=0,"); +// orderInsertSQL.append(" order_status=0,"); +// orderInsertSQL.append(" postage=0.0,"); +// orderInsertSQL.append(" discount_amount=0.0,"); +// orderInsertSQL.append(" goods_amount=0.0,"); +// orderInsertSQL.append(" pay_amount=0.0,"); +// orderInsertSQL.append(" after_sales_status=0,"); +// orderInsertSQL.append(" order_confirm_time=0, "); +// orderInsertSQL.append(" auditStatus=-9 "); +// +// PreparedStatement pst = conn.prepareStatement(orderInsertSQL.toString(),Statement.RETURN_GENERATED_KEYS); +// pst.executeUpdate(); +// ResultSet rs1 = pst.getGeneratedKeys(); +// Long orderId = 0l; +// if(rs1.next()){ +// orderId= rs1.getLong(1); +// } +// +//// int r = stmt.executeUpdate(orderInsertSQL.toString()); +// +//// var result = orderPddService.insertOrderForMessage(shopId, tid); +// +// log.info("处理拼多多新订单消息:{tid:" + tid + ",id:" + orderId + "},添加成功"); +// +// if(rs.isClosed()==false) rs.close(); +// if(rs1.isClosed()==false) rs1.close(); +// } +// +// }catch (Exception e){ +// log.info("处理拼多多新订单消息错误"+e.getMessage()); +// } finally { +// try { +// if(stmt!=null && stmt.isClosed()==false ) stmt.close(); +// if (conn != null && conn.isClosed()) conn.close(); +// }catch (Exception ee){} +// } +// }else if (message.getType().equals("pdd_refund_RefundBuyerReturnGoods")) { +// log.info("----------------------------------------------------------"); +// log.info("接收到拼多多退货订单买家发货消息"+JSON.toJSONString(message)); +// } +// } +// }); +//// ); +//// WsClient ws = new WsClient( +//// "wss://message-api.pinduoduo.com", clientId, +//// clientSecret, new MessageHandler() { +//// @Override +//// public void onMessage(Message message) throws InterruptedException { +//// log.info("接收拼多多消息中"); +//// try { +//// //业务处理 +//// Long mallId = message.getMallID(); +////// String tid = message.getContent(); +//// +//// if(message.getType().equals("pdd_refund_RefundCreated")){ +//// //新退货订单 +//// log.info("接收到拼多多新退款:" + JSON.toJSONString(message)); +//// } +//// +//// if(message.getType().equals("pdd_trade_TradeConfirmed")){ +//// //新退货订单 +//// log.info("接收到拼多多新订单:" + JSON.toJSONString(message)); +//// } +//// +//// }catch (Exception e){ +//// log.info("异常"); +//// } +//// } +//// }); +//// ws.connect(); +//// ws.close(); +// Boolean isRu = PddWsClient.getInstance().getWsClient().isOnline(); +// if(isRu) return "OK"; +// else return "Error"; +// +// } +// +// @RequestMapping("/pddSocketClose") +// @ResponseBody +// public String pddSocketColse(Model model){ +// Boolean isRu = PddWsClient.getInstance().getWsClient().isOnline(); +// if(isRu) { +// log.info("运行中,手动关闭"); +// PddWsClient.getInstance().getWsClient().close(); +// return "运行中,手动关闭"; +// } +// else { +// log.info("关闭中"); +// return "关闭中"; +// } +// } +// +// +//} diff --git a/pdd-api/src/main/java/com/qihang/pdd/controller/RefundPddController.java b/pdd-api/src/main/java/com/qihang/pdd/controller/RefundPddController.java new file mode 100644 index 00000000..178e3a77 --- /dev/null +++ b/pdd-api/src/main/java/com/qihang/pdd/controller/RefundPddController.java @@ -0,0 +1,158 @@ +package com.qihang.pdd.controller;//package com.qihang.erp.api.controller.pdd; +// +//import com.b2c.common.utils.DateUtil; +//import com.b2c.oms.DataConfigObject; +//import com.b2c.service.ExpressCompanyService; +//import com.b2c.service.ShopService; +//import com.b2c.service.oms.OrderPddRefundService; +//import com.b2c.service.oms.OrderPddService; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.stereotype.Controller; +//import org.springframework.ui.Model; +//import org.springframework.util.StringUtils; +//import org.springframework.web.bind.annotation.RequestMapping; +//import org.springframework.web.bind.annotation.RequestMethod; +//import org.springframework.web.bind.annotation.RequestParam; +// +//import javax.servlet.http.HttpServletRequest; +// +///** +// * 描述: +// * +// * @author qlp +// * @date 2019-09-24 16:05 +// */ +//@RequestMapping("/pdd") +//@Controller +//public class RefundPddController { +// @Autowired +// private ShopService shopService; +// @Autowired +// private ExpressCompanyService expressCompanyService; +// @Autowired +// private OrderPddRefundService refundService; +// @Autowired +// private OrderPddService orderPddService; +// +// +// /** +// * 退货订单 +// * +// * @param model +// * @param request +// * @return +// */ +// @RequestMapping(value = "/refund_list", method = RequestMethod.GET) +// public String list(Model model, @RequestParam Integer shopId, HttpServletRequest request) { +// //查询店铺信息 +// var shop = shopService.getShop(shopId); +// model.addAttribute("shop",shop); +// model.addAttribute("shopId",shopId); +// Integer type = null; +// if (!StringUtils.isEmpty(request.getParameter("type"))) { +// try { +// type = Integer.parseInt(request.getParameter("type")); +// }catch (Exception e){} +// } +// model.addAttribute("menuId", "refund_list"); +// model.addAttribute("type", type); +// +// String page = request.getParameter("page"); +// Integer pageIndex = 1; +// Integer pageSize = DataConfigObject.getInstance().getPageSize(); +// +// Long refundId = 0l; +// String orderNum = ""; +// String logisticsCode = "";//退货物流单号 +// +// Integer startTime = 0; +// Integer endTime = 0; +// +// Integer status = null; +// Integer auditStatus = null; +// +// if (!StringUtils.isEmpty(page)) { +// pageIndex = Integer.parseInt(page); +// } +// +// if (!StringUtils.isEmpty(request.getParameter("orderNum"))) { +// orderNum = request.getParameter("orderNum"); +// model.addAttribute("orderNum",orderNum); +// } +// +// if (!StringUtils.isEmpty(request.getParameter("refundNum"))) { +// refundId = Long.parseLong(request.getParameter("refundNum")); +// model.addAttribute("refundNum",refundId); +// } +// +// +// if (!StringUtils.isEmpty(request.getParameter("logisticsCode"))) { +// logisticsCode = request.getParameter("logisticsCode"); +// model.addAttribute("logisticsCode",logisticsCode); +// } +// +// if (!StringUtils.isEmpty(request.getParameter("status"))) { +// status = Integer.parseInt(request.getParameter("status")); +// model.addAttribute("status",status); +// } +// if (!StringUtils.isEmpty(request.getParameter("auditStatus"))) { +// auditStatus = Integer.parseInt(request.getParameter("auditStatus")); +// model.addAttribute("auditStatus",auditStatus); +// } +// +// if (!StringUtils.isEmpty(request.getParameter("startTime"))) { +// startTime = DateUtil.dateToStamp(request.getParameter("startTime")); +// } +// if (!StringUtils.isEmpty(request.getParameter("endTime"))) { +// endTime = DateUtil.dateTimeToStamp(request.getParameter("endTime") + " 23:59:59"); +// } +// +// +// model.addAttribute("pageIndex", pageIndex); +// model.addAttribute("pageSize", pageSize); +// var result = refundService.getList(pageIndex, pageSize, refundId, orderNum, status,auditStatus,shopId,type,logisticsCode, startTime, endTime); +// model.addAttribute("orderNum",orderNum); +// model.addAttribute("totalSize", result.getTotalSize()); +// model.addAttribute("list", result.getList()); +// +// model.addAttribute("company", expressCompanyService.getExpressCompany()); +// +// return "v3/refund_list_pdd"; +// } +// +// +// /** +// * 退货详情 +// * +// * @param model +// * @param id +// * @param request +// * @return +// */ +// @RequestMapping(value = "/refund_detail", method = RequestMethod.GET) +// public String getOrderDetailYg(Model model, @RequestParam Long id, HttpServletRequest request) { +// model.addAttribute("menuId", "refund_list"); +// var detail = refundService.getEntityById(id); +// +// if(detail == null) return "redirect:/pdd/refund_list"; +// +// model.addAttribute("orderVo", detail); +// +// model.addAttribute("menuId", "refund_list"); +// +// return "v3/refund_detail_pdd"; +// } +// +// @RequestMapping(value = "/apply_refund_pdd", method = RequestMethod.GET) +// public String getOrderRefundOffline(Model model,@RequestParam Integer shopId, HttpServletRequest request) { +// //查询订单信息 +// Long orderId = Long.parseLong(request.getParameter("id")); +// var orderDetail = orderPddService.getOrderDetailAndItemsById(orderId); +// model.addAttribute("menuId", "refund_list"); +// model.addAttribute("items", orderDetail.getItems()); +// model.addAttribute("orderId", orderId); +// model.addAttribute("shopId", shopId); +// return "v3/order_apply_refund_pdd"; +// } +// +//} diff --git a/pdd-api/src/main/resources/application.yml b/pdd-api/src/main/resources/application.yml index 744e0bbd..3ecaa464 100644 --- a/pdd-api/src/main/resources/application.yml +++ b/pdd-api/src/main/resources/application.yml @@ -1,9 +1,11 @@ spring: cloud: nacos: - serverAddr: 127.0.0.1:8848 +# serverAddr: 127.0.0.1:8848 discovery: server-addr: 127.0.0.1:8848 + config: + server-addr: 127.0.0.1:8848 config: import: - nacos:qihang-oms.yaml?refresh=true diff --git a/sys-api/src/main/resources/application.yaml b/sys-api/src/main/resources/application.yaml index f9eb9203..f7a36015 100644 --- a/sys-api/src/main/resources/application.yaml +++ b/sys-api/src/main/resources/application.yaml @@ -12,12 +12,14 @@ spring: nacos: enabled: true nacos: - serverAddr: 127.0.0.1:8848 +# serverAddr: 127.0.0.1:8848 discovery: server-addr: 127.0.0.1:8848 usename: nacos passowrd: nacos -# gateway: + config: + server-addr: 127.0.0.1:8848 + # gateway: # discovery: # locator: # enabled: true # gateway 可以从 nacos 发现微服务