完善tao订单消息
This commit is contained in:
parent
6e0aab290d
commit
2eed185f18
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -6,6 +6,7 @@ import com.qihang.common.common.ResultVo;
|
|||
import com.qihang.common.common.ResultVoEnum;
|
||||
import com.qihang.common.enums.EnumShopType;
|
||||
import com.qihang.common.enums.JdOrderStateEnum;
|
||||
import com.qihang.common.enums.TaoOrderStateEnum;
|
||||
import com.qihang.common.utils.DateUtils;
|
||||
import com.qihang.common.utils.StringUtils;
|
||||
import com.qihang.oms.domain.*;
|
||||
|
|
@ -162,6 +163,42 @@ public class OOrderServiceImpl extends ServiceImpl<OOrderMapper, OOrder>
|
|||
if(oOrders == null || oOrders.isEmpty()) {
|
||||
// 新增订单
|
||||
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()));
|
||||
if(taoOrderItems!=null && taoOrderItems.size()>0) {
|
||||
|
|
@ -181,11 +218,48 @@ public class OOrderServiceImpl extends ServiceImpl<OOrderMapper, OOrder>
|
|||
// orderItem.setGoodsSpec(jdGoodsSkus.get(0).getSkuName());
|
||||
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{
|
||||
// 修改订单 (修改:)
|
||||
// 修改订单 (修改:)
|
||||
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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ public class OrderApiController {
|
|||
String appSecret = checkResult.getData().getAppSecret();
|
||||
|
||||
log.info("/**************增量更新tao订单,条件判断完成,开始更新。。。。。。****************/");
|
||||
Long pageSize = 10l;
|
||||
Long pageSize = 100l;
|
||||
Long pageIndex = 1l;
|
||||
|
||||
//第一次获取
|
||||
|
|
|
|||
|
|
@ -181,6 +181,7 @@ public class RefundApiController {
|
|||
//// tmallOrderRefund.setOrderStatus(item.getOrderStatus());
|
||||
// tmallOrderRefund.setReason(item.getReason());
|
||||
// tmallOrderRefund.setRefundFee(BigDecimal.valueOf(Double.parseDouble(item.getRefundFee())));
|
||||
|
||||
// tmallOrderRefund.setRefundId(item.getRefundId());
|
||||
// tmallOrderRefund.setStatus(item.getStatus());
|
||||
// tmallOrderRefund.setTid(item.getTid());
|
||||
|
|
|
|||
|
|
@ -9,8 +9,10 @@ import com.qihang.tao.domain.TaoOrder;
|
|||
import com.taobao.api.ApiException;
|
||||
import com.taobao.api.DefaultTaobaoClient;
|
||||
import com.taobao.api.TaobaoClient;
|
||||
import com.taobao.api.request.TopOaidDecryptRequest;
|
||||
import com.taobao.api.request.TradesSoldGetRequest;
|
||||
import com.taobao.api.request.TradesSoldIncrementGetRequest;
|
||||
import com.taobao.api.response.TopOaidDecryptResponse;
|
||||
import com.taobao.api.response.TradesSoldGetResponse;
|
||||
import com.taobao.api.response.TradesSoldIncrementGetResponse;
|
||||
import org.slf4j.Logger;
|
||||
|
|
@ -155,20 +157,61 @@ public class OrderApiHelper {
|
|||
|
||||
//组合的订单列表
|
||||
List<TaoOrder> orderList = new ArrayList<>();
|
||||
if(rsp.getTrades()!=null && !rsp.getTrades().isEmpty()) {
|
||||
TopOaidDecryptRequest req2 = new TopOaidDecryptRequest();
|
||||
List<TopOaidDecryptRequest.ReceiverQuery> list2 = new ArrayList<TopOaidDecryptRequest.ReceiverQuery>();
|
||||
TopOaidDecryptRequest.ReceiverQuery obj2 = new TopOaidDecryptRequest.ReceiverQuery();
|
||||
list2.add(obj2);
|
||||
obj2.setScene("1005");
|
||||
obj2.setSecretNoDays(15L);
|
||||
|
||||
//有数据
|
||||
for (var trade : rsp.getTrades()) {
|
||||
//组装订单
|
||||
orderList.add(OrderAssembleHelper.assembleOrder(trade));
|
||||
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()) {
|
||||
pageNo++;
|
||||
req.setPageNo(pageNo);
|
||||
rsp = client.execute(req, sessionKey);
|
||||
if(rsp.getTrades()!=null && !rsp.getTrades().isEmpty()) {
|
||||
TopOaidDecryptRequest req2 = new TopOaidDecryptRequest();
|
||||
List<TopOaidDecryptRequest.ReceiverQuery> list2 = new ArrayList<TopOaidDecryptRequest.ReceiverQuery>();
|
||||
TopOaidDecryptRequest.ReceiverQuery obj2 = new TopOaidDecryptRequest.ReceiverQuery();
|
||||
list2.add(obj2);
|
||||
obj2.setScene("1005");
|
||||
obj2.setSecretNoDays(15L);
|
||||
//有数据
|
||||
for (var trade : rsp.getTrades()) {
|
||||
//组装订单
|
||||
orderList.add(OrderAssembleHelper.assembleOrder(trade));
|
||||
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);
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package com.qihang.tao.openApi;
|
|||
import com.qihang.tao.domain.TaoOrder;
|
||||
import com.qihang.tao.domain.TaoOrderItem;
|
||||
import com.taobao.api.domain.Trade;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
|
|
@ -66,13 +67,13 @@ public class OrderAssembleHelper {
|
|||
orderItem.setTitle(item.getTitle());
|
||||
orderItem.setTid(trade.getTid());
|
||||
orderItem.setOid(item.getOid());
|
||||
orderItem.setTotalFee(BigDecimal.valueOf(Double.parseDouble(item.getTotalFee())));
|
||||
orderItem.setDiscountFee(BigDecimal.valueOf(Double.parseDouble(item.getDiscountFee())));
|
||||
orderItem.setAdjustFee(BigDecimal.valueOf(Double.parseDouble(item.getAdjustFee())));
|
||||
orderItem.setDivideOrderFee(Double.parseDouble(item.getDivideOrderFee()));
|
||||
orderItem.setPartMjzDiscount(Double.parseDouble(item.getPartMjzDiscount()));
|
||||
orderItem.setPayment(Double.parseDouble(item.getPayment()));
|
||||
orderItem.setPrice(BigDecimal.valueOf(Double.parseDouble(item.getPrice())));
|
||||
orderItem.setTotalFee(StringUtils.hasText(item.getTotalFee()) ? BigDecimal.valueOf(Double.parseDouble(item.getTotalFee())): BigDecimal.valueOf(0));
|
||||
orderItem.setDiscountFee(StringUtils.hasText(item.getDiscountFee()) ? BigDecimal.valueOf(Double.parseDouble(item.getDiscountFee())): BigDecimal.valueOf(0));
|
||||
orderItem.setAdjustFee(StringUtils.hasText(item.getAdjustFee()) ?BigDecimal.valueOf(Double.parseDouble(item.getAdjustFee())): BigDecimal.valueOf(0));
|
||||
orderItem.setDivideOrderFee( StringUtils.hasText(item.getDivideOrderFee()) ? Double.parseDouble(item.getDivideOrderFee()):0.0);
|
||||
orderItem.setPartMjzDiscount(StringUtils.hasText(item.getPartMjzDiscount()) ? Double.parseDouble(item.getPartMjzDiscount()):0.0);
|
||||
orderItem.setPayment(StringUtils.hasText(item.getPayment()) ? Double.parseDouble(item.getPayment()):0.0);
|
||||
orderItem.setPrice(StringUtils.hasText(item.getPrice()) ? BigDecimal.valueOf(Double.parseDouble(item.getPrice())): BigDecimal.valueOf(0));
|
||||
orderItem.setPicPath(item.getPicPath());
|
||||
orderItem.setNumIid(item.getNumIid());
|
||||
orderItem.setSkuId(item.getSkuId());
|
||||
|
|
@ -100,6 +101,7 @@ public class OrderAssembleHelper {
|
|||
order.setItems(items);
|
||||
return order;
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue