拼多多api代码

This commit is contained in:
启航 2024-03-13 18:22:56 +08:45
parent 4a5a3c529d
commit 4258bb05a4
14 changed files with 3247 additions and 6 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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<Object> 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<ErpSalesPullCountResp> 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<ErpSalesPullCountResp> 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<PddOrderItem> 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<ErpSalesPullCountResp> 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<ErpSalesPullCountResp> 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<ErpSalesPullCountResp> 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<String> 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<String> 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<String> 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<String> 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<OrderViewModel> 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<PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestTradeOrderInfoDtosItem> 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<String> tradeOrderList = new ArrayList<String>();
// 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<PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestTradeOrderInfoDtosItemPackageInfoItemsItem> 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<resObjs.size();i++) { resObj =
// * JSONObject.parseObject(resObjs.getJSONObject(i).getString("print_data"));
// * resObj.put("waybill_code",resObjs.getJSONObject(i).getString("waybill_code"))
// * ; }
// */
// return resObj;
// } catch (Exception e) {
// return null;
// }
// }
//
// @RequestMapping(value = "/pdd_order_print_select_hebing", method = RequestMethod.POST)
// public ApiResult<String> 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<String> 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<String> 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(), "取消电子面单失败");
//
// }
//
}

View File

@ -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<ErpSalesPullCountResp> 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<forSize;i++) {
// Long startTime1 = startTime + i*1800;
// Long endTime1 = startTime1 +1800;
//
// PddRefundListIncrementGetRequest request = new PddRefundListIncrementGetRequest();
// request.setAfterSalesStatus(1);
// request.setAfterSalesType(1);
// request.setStartUpdatedAt(startTime1);//1586239200L
// request.setEndUpdatedAt(endTime1);//1586241000L
// request.setPage(1);
// request.setPageSize(100);
//
// PddRefundListIncrementGetResponse response = client.syncInvoke(request, shop.getSessionKey());
//
// if (response.getErrorResponse() != null) {
// if (response.getErrorResponse().getErrorCode().intValue() == 10019) {
// log.info("更新失败Token过期");
// //token过期
// return new ApiResult<>(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<ErpSalesPullCountResp> 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<ErpSalesPullCountResp> 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<String> 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<String> 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<String> 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<Integer> 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<ErpSalesOrderItemEntity> 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<String> 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<String> 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<OrderPddItemEntity> 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());
// }
//}

View File

@ -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;
}
}

View File

@ -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<String> 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<Integer> 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<OrderPddItemEntity> items = new ArrayList<>();
// double goodsTotalAmount = 0;//商品总价
// for (int i = 0,n=goodsId.length;i<n;i++) {
// if(StringUtils.isEmpty(goodsId[i]))continue;
// OrderPddItemEntity pddItem = new OrderPddItemEntity();
// Integer specId=Integer.parseInt(specsId[i]);
// BigDecimal price = new BigDecimal(prices[i]);
// Integer count =Integer.parseInt(quantitys[i]);
// var spec = erpGoodsService.getSpecBySpecId(specId);
//
// goodsTotalAmount += price.doubleValue() * count;
//
// pddItem.setErpGoodsId(spec.getGoodsId());
// pddItem.setErpGoodsSpecId(spec.getId());
// pddItem.setGoodsImg(spec.getColorImage());
// pddItem.setGoodsName(spec.getGoodTitle());
// pddItem.setGoodsNum(goodsNumber[i]);
// pddItem.setGoodsPrice(price.doubleValue());
// pddItem.setGoodsSpec(spec.getColorValue()+","+spec.getSizeValue());
// pddItem.setGoodsSpecNum(specNumber[i]);
// pddItem.setQuantity(count);
// pddItem.setIsGift(saleType.intValue()==2 ? 1 : 0);
// items.add(pddItem);
// }
// pddEntity.setItems(items);
// double orderTotalAmount=goodsTotalAmount+Double.valueOf(shippingFee);
// pddEntity.setAddress(new StringBuilder(provinceName).append(cityName).append(districtName).append(address).toString());
// pddEntity.setAfter_sales_status(0);
// pddEntity.setBuyer_memo("");
// pddEntity.setCapital_free_discount(0d);
// pddEntity.setCity(cityName);
// pddEntity.setConfirm_status(1);
// pddEntity.setConfirm_time("");
// pddEntity.setCountry("中国");
// pddEntity.setCreated_time(DateUtil.getCurrentDateTime());
// pddEntity.setDiscount_amount(0d);
// pddEntity.setFree_sf(0);
// pddEntity.setGoods_amount(goodsTotalAmount);
// pddEntity.setGroup_status(1);
// pddEntity.setIs_lucky_flag(saleType);
// pddEntity.setOrderSn(orderNumber);
// pddEntity.setOrder_status(1);
// pddEntity.setPay_amount(orderTotalAmount);
// pddEntity.setPay_no("");
// pddEntity.setPay_time("0");
// pddEntity.setPay_type("");
// pddEntity.setPlatform_discount(0d);
// pddEntity.setPostage(Double.valueOf(shippingFee));
// pddEntity.setProvince(provinceName);
// pddEntity.setReceive_time("");
// pddEntity.setReceiver_name(contactPerson);
// pddEntity.setReceiver_phone(contactMobile);
// pddEntity.setRefund_status(0);
// pddEntity.setRemark(sellerMemo);
// pddEntity.setSeller_discount(0d);
// pddEntity.setShipping_time("");
// pddEntity.setTown("");
// pddEntity.setTracking_number("");
// pddEntity.setTradeType(0);
// pddEntity.setUpdated_at("");
// pddEntity.setOrderConfirmTime(System.currentTimeMillis() / 1000);
// orderPddService.orderCreatePdd(pddEntity);
// return "redirect:/pdd/orderList?shopId=5";
// }
//}

View File

@ -0,0 +1,416 @@
package com.qihang.pdd.controller;//package com.qihang.erp.api.controller.pdd;
//
//import com.alibaba.fastjson.JSONObject;
//import com.b2c.common.utils.DateUtil;
//import com.b2c.service.erp.ErpOrderService;
//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.PddCloudprintCmdprintRenderRequest;
//import com.pdd.pop.sdk.http.api.pop.request.PddWaybillGetRequest;
//import com.pdd.pop.sdk.http.api.pop.request.PddWaybillSearchRequest;
//import com.pdd.pop.sdk.http.api.pop.response.PddCloudprintCmdprintRenderResponse;
//import com.pdd.pop.sdk.http.api.pop.response.PddWaybillGetResponse;
//import com.pdd.pop.sdk.http.api.pop.response.PddWaybillSearchResponse;
//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.RequestMapping;
//import org.springframework.web.bind.annotation.RequestMethod;
//
//import javax.servlet.http.HttpServletRequest;
//import java.util.ArrayList;
//import java.util.List;
//
///**
// * 订单打印controller
// */
//@RequestMapping("/fahuo")
//@Controller
//public class OrderPrintPddController {
// @Autowired
// private ErpOrderService orderService;
// @Autowired
// private OrderPddService pddService;
// private static Logger log = LoggerFactory.getLogger(OrderPddController.class);
//
// @RequestMapping(value = "/order_pdd", method = RequestMethod.GET)
// public String getOrderStockOutList(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) {
// }
// }
//
// Integer startTime = 0;
// Integer endTime = 0;
// String startTimeTemp= request.getParameter("startTime");
// if (StringUtils.isEmpty(startTimeTemp) == false) {
// startTime = DateUtil.dateTimeToStamp(request.getParameter("startTime"));
// }
// String endTimeTemp = request.getParameter("endTime");
// if (StringUtils.isEmpty(endTimeTemp) == false) {
// endTime = DateUtil.dateTimeToStamp(request.getParameter("endTime"));
// }
// String goodsSpecNum="";
// if (!StringUtils.isEmpty(request.getParameter("goodsSpecNum"))) {goodsSpecNum = request.getParameter("goodsSpecNum"); model.addAttribute("goodsSpecNum",goodsSpecNum);}
// String orderNum="";
// if (!StringUtils.isEmpty(request.getParameter("orderNum")))
// {orderNum = request.getParameter("orderNum"); model.addAttribute("orderNum",orderNum);}
//
// String goodsNum="";
// if (!StringUtils.isEmpty(request.getParameter("goodsNum"))) {
// goodsNum = request.getParameter("goodsNum");
// }
// Integer shopId=18;
// if(!StringUtils.isEmpty(request.getParameter("shopId"))){
// shopId= Integer.parseInt(request.getParameter("shopId"));
// }
// //快递单状态
// //EnumErpOrderlogisticsPrintStatus printStatus = EnumErpOrderlogisticsPrintStatus.NotPrint;
// Integer printStatus = 0;
// if (!StringUtils.isEmpty(request.getParameter("print"))) {
// printStatus = Integer.parseInt(request.getParameter("print"));
// }
// // Integer isHebing = 0;
// model.addAttribute("printStatus", printStatus);
// model.addAttribute("pageIndex", pageIndex);
// model.addAttribute("pageSize", pageSize);
// model.addAttribute("shopId",shopId);
// model.addAttribute("isHebing",0);
// model.addAttribute("goodsNum",goodsNum);
//
// //PagingResponse<OrderWaitSendListVo> 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<PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestTradeOrderInfoDtosItem> 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<String> tradeOrderList = new ArrayList<String>();
// tradeOrderList.add(order.getOrderSn());
// orderInfo.setTradeOrderList(tradeOrderList);
// item.setOrderInfo(orderInfo);
//
// PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestTradeOrderInfoDtosItemPackageInfo packageInfo = new PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestTradeOrderInfoDtosItemPackageInfo();
// packageInfo.setGoodsDescription("str");
// packageInfo.setId("str");
// List<PddWaybillGetRequest.ParamWaybillCloudPrintApplyNewRequestTradeOrderInfoDtosItemPackageInfoItemsItem> 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<PddCloudprintCmdprintRenderRequest.RequestDocumentContentsItem> contents = new ArrayList<>();
//
// String printStr="";
// for(int i=0;i<resObjs.size();i++) {
// printStr=resObjs.getJSONObject(i).get("print_data").toString();
// }
// PddCloudprintCmdprintRenderRequest.RequestDocumentContentsItem itemP = new PddCloudprintCmdprintRenderRequest.RequestDocumentContentsItem();
// //item.setAddData("str");
// itemP.setEncrypted(false);
// itemP.setPrintData(printStr);
// //item.setSignature("str");
// //标准模板https://file-link.pinduoduo.com/jtsd_std
// //模板一https://file-link.pinduoduo.com/jtsd_one
// itemP.setTemplateUrl("https://file-link.pinduoduo.com/jtsd_one");
// //item.setVer("3");
// contents.add(itemP);
// document.setContents(contents);
// request1.setDocument(document);
// request1.setPrinterName("QR-386A");
// request1.setPrintCommandType("CPCL");
// //request1.setCmdEncoding("gzip_byte");
// requestP.setRequest(request1);
//
// PddCloudprintCmdprintRenderResponse responseP = client.syncInvoke(requestP, accessToken);
// System.out.println(JsonUtil.transferToJson(responseP));
//
// }catch (Exception e){
//
// }
// }
//// @RequestMapping(value = "/print_code", method = RequestMethod.GET)
//// public void printCode(){
//// String clientId = "dc953bcf16d24b27abf3e64a59e1ecd1";
//// String clientSecret = "de296599e194a08cbfbb2b3b340e11fec7a1bacc";
//// String accessToken = "50bb3b8f8a1a4fbdbc8da52e99b7beb31ab4a001";
//// PopClient client = new PopHttpClient(clientId, clientSecret);
////
//// PddCloudprintCmdprintRenderRequest request = new PddCloudprintCmdprintRenderRequest();
////
//// PddCloudprintCmdprintRenderRequest.Request request1 = new PddCloudprintCmdprintRenderRequest.Request();
//// request1.setClientSideId("wx8e023a4836a52f22");
//// request1.setClientType("weixin");
////
//// PddCloudprintCmdprintRenderRequest.RequestConfig config = new PddCloudprintCmdprintRenderRequest.RequestConfig();
////
//// config.setHorizontalOffset((double) 0.0);
//// config.setNeedBottomLogo(false);
//// config.setNeedMiddleLogo(false);
//// config.setNeedTopLogo(false);
//// config.setOrientation("normal");
//// config.setVerticalOffset((double) 0.0);
////
////// config.setHorizontalOffset((double) 0.0);
////// config.setNeedBottomLogo(false);
////// config.setNeedMiddleLogo(false);
////// config.setNeedTopLogo(false);
//// config.setOrientation("normal");
////// config.setVerticalOffset((double) 0.0);
////
//// request1.setConfig(config);
////
//// PddCloudprintCmdprintRenderRequest.RequestDocument document = new PddCloudprintCmdprintRenderRequest.RequestDocument();
//// List<PddCloudprintCmdprintRenderRequest.RequestDocumentContentsItem> 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<resObjs.size();i++) {
//// printStr=resObjs.getJSONObject(i).get("print_data").toString();
//// }
//// String str_="{\\\"data\\\":{\\\"list\\\":[{\\\"fontSize\\\":16,\\\"height\\\":22,\\\"left\\\":12,\\\"text\\\":\\\"测试店铺\\\",\\\"top\\\":2,\\\"width\\\":270},{\\\"fontSize\\\":16,\\\"height\\\":22,\\\"left\\\":322,\\\"text\\\":\\\"2019-07-25 08:23:67\\\",\\\"top\\\":2,\\\"width\\\":270},{\\\"fontSize\\\":16,\\\"height\\\":22,\\\"left\\\":12,\\\"text\\\":\\\"190321-254553812462731270\\\",\\\"top\\\":24,\\\"width\\\":270},{\\\"fontSize\\\":16,\\\"height\\\":22,\\\"left\\\":332,\\\"text\\\":\\\"高级发胶\\\",\\\"top\\\":24,\\\"width\\\":270},{\\\"fontSize\\\":16,\\\"height\\\":22,\\\"left\\\":12,\\\"text\\\":\\\"231000333\\\",\\\"top\\\":46,\\\"width\\\":270},{\\\"fontSize\\\":16,\\\"height\\\":22,\\\"left\\\":180,\\\"text\\\":\\\"黑色\\\",\\\"top\\\":46,\\\"width\\\":270},{\\\"fontSize\\\":16,\\\"height\\\":22,\\\"left\\\":340,\\\"text\\\":\\\"总计10件 8.8元\\\",\\\"top\\\":46,\\\"width\\\":270}],\\\"waterdata\\\":{\\\"left\\\":566,\\\"text\\\":\\\"1件\\\",\\\"top\\\":128}}}";
//// System.out.println(str_);
//// PddCloudprintCmdprintRenderRequest.RequestDocumentContentsItem item = new PddCloudprintCmdprintRenderRequest.RequestDocumentContentsItem();
//// //item.setAddData("str");
//// item.setEncrypted(false);
//// item.setPrintData(str_);
//// //item.setSignature("str");
//// //标准模板https://file-link.pinduoduo.com/jtsd_std
//// //模板一https://file-link.pinduoduo.com/jtsd_one
//// item.setTemplateUrl("https://file-link.pinduoduo.com/jtsd_one");
//// //item.setVer("3");
//// contents.add(item);
//// document.setContents(contents);
//// request1.setDocument(document);
//// request1.setPrinterName("FUJI XEROX DocuCentre S2110");//FUJI XEROX DocuCentre S2110
//// request1.setPrintCommandType("CPCL");
//// request1.setCmdEncoding("gzip_byte");
//// request.setRequest(request1);
//// try {
//// PddCloudprintCmdprintRenderResponse response = client.syncInvoke(request, accessToken);
//// System.out.println(JsonUtil.transferToJson(response));
//// }catch (Exception e){
////
//// }
////
//// }
//
//
//}

View File

@ -0,0 +1,34 @@
package com.qihang.pdd.controller;
import com.pdd.pop.sdk.http.PopClient;
import com.pdd.pop.sdk.http.PopHttpClient;
import com.pdd.pop.sdk.http.api.pop.request.PddMallInfoGetRequest;
import com.pdd.pop.sdk.http.api.pop.response.PddMallInfoGetResponse;
import com.qihang.erp.api.common.ApiResult;
import com.qihang.erp.api.common.EnumResultVo;
public class PddApiUtils {
/**
* 获取店铺信息原则上所有api调用之前都需要调用一下该方法
* @param clientId
* @param clientSecret
* @param accessToken
* @return
* @throws Exception
*/
public static ApiResult<PddMallInfoGetResponse.MallInfoGetResponse> 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());
}
}

View File

@ -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";
}
}

View File

@ -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 "关闭中";
// }
// }
//
//
//}

View File

@ -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";
// }
//
//}

View File

@ -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

View File

@ -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 发现微服务