完善tao订单消息

This commit is contained in:
Richie 2024-03-16 23:50:23 +08:00
parent 6e0aab290d
commit 2eed185f18
6 changed files with 224 additions and 16 deletions

View File

@ -0,0 +1,88 @@
package com.qihang.common.enums;
/**
* 描述
* 京东订单状态
*
* @author qlp
* @date 2019-09-18 19:44
*/
public enum TaoOrderStateEnum {
/**
* 交易状态
* 可选值:
* * TRADE_NO_CREATE_PAY(没有创建支付宝交易)
* * WAIT_BUYER_PAY(等待买家付款)
* * SELLER_CONSIGNED_PART(卖家部分发货)
* * WAIT_SELLER_SEND_GOODS(等待卖家发货,:买家已付款)
* * WAIT_BUYER_CONFIRM_GOODS(等待买家确认收货,:卖家已发货)
* * TRADE_BUYER_SIGNED(买家已签收,货到付款专用)
* * TRADE_FINISHED(交易成功)
* * TRADE_CLOSED(付款以后用户退款成功交易自动关闭)
* * TRADE_CLOSED_BY_TAOBAO(付款以前卖家或买家主动关闭交易)
* * PAY_PENDING(国际信用卡支付付款确认中)
* * WAIT_PRE_AUTH_CONFIRM(0元购合约中)
* * PAID_FORBID_CONSIGN(拼团中订单或者发货强管控的订单已付款但禁止发货)
*/
WAIT_SELLER_SEND_GOODS("等待发货","WAIT_SELLER_SEND_GOODS", 1),
WAIT_BUYER_CONFIRM_GOODS("等待买家确认收货","WAIT_BUYER_CONFIRM_GOODS", 2),
TRADE_FINISHED("交易成功", "TRADE_FINISHED",3),
WAIT_BUYER_PAY("等待买家付款", "WAIT_BUYER_PAY",21),
TRADE_BUYER_SIGNED("买家已签收,货到付款专用", "TRADE_BUYER_SIGNED",25),
PAID_FORBID_CONSIGN("拼团中订单或者发货强管控的订单,已付款但禁止发货", "PAID_FORBID_CONSIGN",29),
TRADE_CLOSED("交易关闭", "TRADE_CLOSED",11),
TRADE_CLOSED_BY_TAOBAO ("交易关闭", "TRADE_CLOSED_BY_TAOBAO",11);
private String name;
private String code;
private int index;
// 构造方法
private TaoOrderStateEnum(String name, String code, int index) {
this.name = name;
this.code = code;
this.index = index;
}
// 普通方法
public static String getName(int index) {
for (TaoOrderStateEnum c : TaoOrderStateEnum.values()) {
if (c.getIndex() == index) {
return c.name;
}
}
return null;
}
// get set 方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public int getIndex() {
return index;
}
public static int getIndex(String code) {
for (TaoOrderStateEnum c : TaoOrderStateEnum.values()) {
if (c.getCode().equals(code)) {
return c.index;
}
}
return -1;
}
public void setIndex(int index) {
this.index = index;
}
}

View File

@ -6,6 +6,7 @@ import com.qihang.common.common.ResultVo;
import com.qihang.common.common.ResultVoEnum; import com.qihang.common.common.ResultVoEnum;
import com.qihang.common.enums.EnumShopType; import com.qihang.common.enums.EnumShopType;
import com.qihang.common.enums.JdOrderStateEnum; import com.qihang.common.enums.JdOrderStateEnum;
import com.qihang.common.enums.TaoOrderStateEnum;
import com.qihang.common.utils.DateUtils; import com.qihang.common.utils.DateUtils;
import com.qihang.common.utils.StringUtils; import com.qihang.common.utils.StringUtils;
import com.qihang.oms.domain.*; import com.qihang.oms.domain.*;
@ -162,6 +163,42 @@ public class OOrderServiceImpl extends ServiceImpl<OOrderMapper, OOrder>
if(oOrders == null || oOrders.isEmpty()) { if(oOrders == null || oOrders.isEmpty()) {
// 新增订单 // 新增订单
OOrder insert = new OOrder(); OOrder insert = new OOrder();
insert.setOrderNum(orderId);
insert.setShopType(EnumShopType.TAO.getIndex());
insert.setShopId(taoOrder.getShopId());
String buyerMemo = "";
if(org.springframework.util.StringUtils.hasText(taoOrder.getBuyerMessage())){
buyerMemo += taoOrder.getBuyerMessage();
}
if(org.springframework.util.StringUtils.hasText(taoOrder.getBuyerMemo())){
buyerMemo += taoOrder.getBuyerMemo();
}
insert.setBuyerMemo(buyerMemo);
insert.setSellerMemo(taoOrder.getSellerMemo());
// 状态
int orderStatus = TaoOrderStateEnum.getIndex(taoOrder.getStatus());
if (orderStatus == 11) {
insert.setRefundStatus(2);
} else if (orderStatus == -1) {
insert.setRefundStatus(-1);
} else {
insert.setRefundStatus(1);
}
insert.setOrderStatus(orderStatus);
insert.setGoodsAmount(taoOrder.getTotalFee());
insert.setAmount(taoOrder.getPayment().doubleValue());
insert.setReceiverName(taoOrder.getReceiverName());
insert.setReceiverMobile(taoOrder.getReceiverMobile());
insert.setAddress(taoOrder.getReceiverAddress());
insert.setProvince(taoOrder.getReceiverState());
insert.setCity(taoOrder.getReceiverCity());
insert.setTown(taoOrder.getReceiverDistrict());
insert.setOrderTime(taoOrder.getCreated() );
insert.setShipType(0);
insert.setCreateTime(new Date());
insert.setCreateBy("ORDER_MESSAGE");
orderMapper.insert(insert);
List<TaoOrderItem> taoOrderItems = taoOrderItemMapper.selectList(new LambdaQueryWrapper<TaoOrderItem>().eq(TaoOrderItem::getTid, taoOrder.getTid())); List<TaoOrderItem> taoOrderItems = taoOrderItemMapper.selectList(new LambdaQueryWrapper<TaoOrderItem>().eq(TaoOrderItem::getTid, taoOrder.getTid()));
if(taoOrderItems!=null && taoOrderItems.size()>0) { if(taoOrderItems!=null && taoOrderItems.size()>0) {
@ -181,11 +218,48 @@ public class OOrderServiceImpl extends ServiceImpl<OOrderMapper, OOrder>
// orderItem.setGoodsSpec(jdGoodsSkus.get(0).getSkuName()); // orderItem.setGoodsSpec(jdGoodsSkus.get(0).getSkuName());
orderItem.setSkuNum(taoGoodsSku.get(0).getOuterId()); orderItem.setSkuNum(taoGoodsSku.get(0).getOuterId());
} }
orderItem.setSkuId(item.getSkuId());
orderItem.setErpGoodsId(erpGoodsId);
orderItem.setErpSkuId(erpSkuId);
orderItem.setGoodsImg(item.getPicPath());
orderItem.setGoodsSpec(item.getSkuPropertiesName());
orderItem.setGoodsTitle(item.getTitle());
orderItem.setGoodsPrice(item.getPrice().doubleValue());
orderItem.setItemAmount(item.getPayment());
orderItem.setQuantity(item.getNum());
if(orderStatus == 11){
orderItem.setRefundStatus(2);
orderItem.setRefundCount(item.getNum());
}else if (orderStatus == -1) {
}else{
orderItem.setRefundStatus(1);
orderItem.setRefundCount(0);
}
orderItem.setCreateTime(new Date());
orderItem.setCreateBy("ORDER_MESSAGE");
orderItemMapper.insert(orderItem);
} }
} }
}else{ }else{
// 修改订单 (修改) // 修改订单 (修改)
// 修改订单 (修改)
OOrder update = new OOrder();
update.setId(oOrders.get(0).getId());
// 状态
int orderStatus = TaoOrderStateEnum.getIndex(taoOrder.getStatus());
if (orderStatus == 11) {
update.setRefundStatus(2);
} else if (orderStatus == -1) {
update.setRefundStatus(-1);
} else {
update.setRefundStatus(1);
}
update.setOrderStatus(orderStatus);
update.setUpdateTime(new Date());
update.setUpdateBy("ORDER_MESSAGE");
orderMapper.updateById(update);
} }
return null; return null;
} }

View File

@ -56,7 +56,7 @@ public class OrderApiController {
String appSecret = checkResult.getData().getAppSecret(); String appSecret = checkResult.getData().getAppSecret();
log.info("/**************增量更新tao订单条件判断完成开始更新。。。。。。****************/"); log.info("/**************增量更新tao订单条件判断完成开始更新。。。。。。****************/");
Long pageSize = 10l; Long pageSize = 100l;
Long pageIndex = 1l; Long pageIndex = 1l;
//第一次获取 //第一次获取

View File

@ -181,6 +181,7 @@ public class RefundApiController {
//// tmallOrderRefund.setOrderStatus(item.getOrderStatus()); //// tmallOrderRefund.setOrderStatus(item.getOrderStatus());
// tmallOrderRefund.setReason(item.getReason()); // tmallOrderRefund.setReason(item.getReason());
// tmallOrderRefund.setRefundFee(BigDecimal.valueOf(Double.parseDouble(item.getRefundFee()))); // tmallOrderRefund.setRefundFee(BigDecimal.valueOf(Double.parseDouble(item.getRefundFee())));
// tmallOrderRefund.setRefundId(item.getRefundId()); // tmallOrderRefund.setRefundId(item.getRefundId());
// tmallOrderRefund.setStatus(item.getStatus()); // tmallOrderRefund.setStatus(item.getStatus());
// tmallOrderRefund.setTid(item.getTid()); // tmallOrderRefund.setTid(item.getTid());

View File

@ -9,8 +9,10 @@ import com.qihang.tao.domain.TaoOrder;
import com.taobao.api.ApiException; import com.taobao.api.ApiException;
import com.taobao.api.DefaultTaobaoClient; import com.taobao.api.DefaultTaobaoClient;
import com.taobao.api.TaobaoClient; import com.taobao.api.TaobaoClient;
import com.taobao.api.request.TopOaidDecryptRequest;
import com.taobao.api.request.TradesSoldGetRequest; import com.taobao.api.request.TradesSoldGetRequest;
import com.taobao.api.request.TradesSoldIncrementGetRequest; import com.taobao.api.request.TradesSoldIncrementGetRequest;
import com.taobao.api.response.TopOaidDecryptResponse;
import com.taobao.api.response.TradesSoldGetResponse; import com.taobao.api.response.TradesSoldGetResponse;
import com.taobao.api.response.TradesSoldIncrementGetResponse; import com.taobao.api.response.TradesSoldIncrementGetResponse;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -155,20 +157,61 @@ public class OrderApiHelper {
//组合的订单列表 //组合的订单列表
List<TaoOrder> orderList = new ArrayList<>(); List<TaoOrder> orderList = new ArrayList<>();
//有数据 if(rsp.getTrades()!=null && !rsp.getTrades().isEmpty()) {
for (var trade : rsp.getTrades()) { TopOaidDecryptRequest req2 = new TopOaidDecryptRequest();
//组装订单 List<TopOaidDecryptRequest.ReceiverQuery> list2 = new ArrayList<TopOaidDecryptRequest.ReceiverQuery>();
orderList.add(OrderAssembleHelper.assembleOrder(trade)); TopOaidDecryptRequest.ReceiverQuery obj2 = new TopOaidDecryptRequest.ReceiverQuery();
list2.add(obj2);
obj2.setScene("1005");
obj2.setSecretNoDays(15L);
//有数据
for (var trade : rsp.getTrades()) {
//组装订单
TaoOrder taoOrder = OrderAssembleHelper.assembleOrder(trade);
obj2.setOaid(trade.getOaid());
obj2.setTid(trade.getTid().toString());
req2.setQueryList(list2);
TopOaidDecryptResponse rsp2 = client.execute(req2, sessionKey);
// System.out.println(rsp2.getBody());
if (rsp2.getReceiverList() != null && !rsp2.getReceiverList().isEmpty()) {
taoOrder.setReceiverName(rsp2.getReceiverList().get(0).getName());
taoOrder.setReceiverAddress(rsp2.getReceiverList().get(0).getAddressDetail());
taoOrder.setReceiverMobile(rsp2.getReceiverList().get(0).getMobile());
}
orderList.add(taoOrder);
}
} }
// 有分页继续拉取 // 有分页继续拉取
while (rsp.getHasNext()) { while (rsp.getHasNext()) {
pageNo++; pageNo++;
req.setPageNo(pageNo); req.setPageNo(pageNo);
rsp = client.execute(req, sessionKey); rsp = client.execute(req, sessionKey);
//有数据 if(rsp.getTrades()!=null && !rsp.getTrades().isEmpty()) {
for (var trade : rsp.getTrades()) { TopOaidDecryptRequest req2 = new TopOaidDecryptRequest();
//组装订单 List<TopOaidDecryptRequest.ReceiverQuery> list2 = new ArrayList<TopOaidDecryptRequest.ReceiverQuery>();
orderList.add(OrderAssembleHelper.assembleOrder(trade)); TopOaidDecryptRequest.ReceiverQuery obj2 = new TopOaidDecryptRequest.ReceiverQuery();
list2.add(obj2);
obj2.setScene("1005");
obj2.setSecretNoDays(15L);
//有数据
for (var trade : rsp.getTrades()) {
//组装订单
TaoOrder taoOrder = OrderAssembleHelper.assembleOrder(trade);
obj2.setOaid(trade.getOaid());
obj2.setTid(trade.getTid().toString());
req2.setQueryList(list2);
TopOaidDecryptResponse rsp2 = client.execute(req2, sessionKey);
// System.out.println(rsp2.getBody());
if (rsp2.getReceiverList() != null && !rsp2.getReceiverList().isEmpty()) {
taoOrder.setReceiverName(rsp2.getReceiverList().get(0).getName());
taoOrder.setReceiverAddress(rsp2.getReceiverList().get(0).getAddressDetail());
taoOrder.setReceiverMobile(rsp2.getReceiverList().get(0).getMobile());
}
orderList.add(taoOrder);
}
} }
} }
// return new ApiResult(orderList.size(), orderList); // return new ApiResult(orderList.size(), orderList);

View File

@ -3,6 +3,7 @@ package com.qihang.tao.openApi;
import com.qihang.tao.domain.TaoOrder; import com.qihang.tao.domain.TaoOrder;
import com.qihang.tao.domain.TaoOrderItem; import com.qihang.tao.domain.TaoOrderItem;
import com.taobao.api.domain.Trade; import com.taobao.api.domain.Trade;
import org.springframework.util.StringUtils;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
@ -66,13 +67,13 @@ public class OrderAssembleHelper {
orderItem.setTitle(item.getTitle()); orderItem.setTitle(item.getTitle());
orderItem.setTid(trade.getTid()); orderItem.setTid(trade.getTid());
orderItem.setOid(item.getOid()); orderItem.setOid(item.getOid());
orderItem.setTotalFee(BigDecimal.valueOf(Double.parseDouble(item.getTotalFee()))); orderItem.setTotalFee(StringUtils.hasText(item.getTotalFee()) ? BigDecimal.valueOf(Double.parseDouble(item.getTotalFee())): BigDecimal.valueOf(0));
orderItem.setDiscountFee(BigDecimal.valueOf(Double.parseDouble(item.getDiscountFee()))); orderItem.setDiscountFee(StringUtils.hasText(item.getDiscountFee()) ? BigDecimal.valueOf(Double.parseDouble(item.getDiscountFee())): BigDecimal.valueOf(0));
orderItem.setAdjustFee(BigDecimal.valueOf(Double.parseDouble(item.getAdjustFee()))); orderItem.setAdjustFee(StringUtils.hasText(item.getAdjustFee()) ?BigDecimal.valueOf(Double.parseDouble(item.getAdjustFee())): BigDecimal.valueOf(0));
orderItem.setDivideOrderFee(Double.parseDouble(item.getDivideOrderFee())); orderItem.setDivideOrderFee( StringUtils.hasText(item.getDivideOrderFee()) ? Double.parseDouble(item.getDivideOrderFee()):0.0);
orderItem.setPartMjzDiscount(Double.parseDouble(item.getPartMjzDiscount())); orderItem.setPartMjzDiscount(StringUtils.hasText(item.getPartMjzDiscount()) ? Double.parseDouble(item.getPartMjzDiscount()):0.0);
orderItem.setPayment(Double.parseDouble(item.getPayment())); orderItem.setPayment(StringUtils.hasText(item.getPayment()) ? Double.parseDouble(item.getPayment()):0.0);
orderItem.setPrice(BigDecimal.valueOf(Double.parseDouble(item.getPrice()))); orderItem.setPrice(StringUtils.hasText(item.getPrice()) ? BigDecimal.valueOf(Double.parseDouble(item.getPrice())): BigDecimal.valueOf(0));
orderItem.setPicPath(item.getPicPath()); orderItem.setPicPath(item.getPicPath());
orderItem.setNumIid(item.getNumIid()); orderItem.setNumIid(item.getNumIid());
orderItem.setSkuId(item.getSkuId()); orderItem.setSkuId(item.getSkuId());
@ -100,6 +101,7 @@ public class OrderAssembleHelper {
order.setItems(items); order.setItems(items);
return order; return order;
}catch (Exception e){ }catch (Exception e){
e.printStackTrace();
return null; return null;
} }
} }