优化tao订单拉取

This commit is contained in:
启航 2026-01-17 17:39:12 +08:00
parent a959a0c822
commit 668690957d
9 changed files with 145 additions and 69 deletions

Binary file not shown.

Binary file not shown.

View File

@ -98,7 +98,7 @@
<artifactId>open-sdk</artifactId> <artifactId>open-sdk</artifactId>
<version>1.0</version> <version>1.0</version>
<scope>system</scope> <scope>system</scope>
<systemPath>${project.basedir}/libs/open-sdk-2.1.7.jar</systemPath> <systemPath>${project.basedir}/libs/open-sdk-2.1.8.jar</systemPath>
</dependency> </dependency>
<dependency> <dependency>

View File

@ -71,39 +71,72 @@ public class OrderAssembleHelper {
order.setOaid(trade.getOaid()); order.setOaid(trade.getOaid());
List<TaoOrderItem> items = new ArrayList<>(); List<TaoOrderItem> items = new ArrayList<>();
for (var item : trade.getOrders()) { for (var item : trade.getOrders()) {
// TaoOrderItem orderItem = new TaoOrderItem();
// orderItem.setTitle(item.getTitle());
// orderItem.setTid(Long.parseLong(trade.getTid()));
// orderItem.setOid(Long.parseLong(item.getOid()));
// orderItem.setTotalFee(StringUtils.hasText(item.getTotal_fee()) ? BigDecimal.valueOf(Double.parseDouble(item.getTotal_fee())): BigDecimal.valueOf(0));
// orderItem.setDiscountFee(StringUtils.hasText(item.getDiscount_fee()) ? BigDecimal.valueOf(Double.parseDouble(item.getDiscount_fee())): BigDecimal.valueOf(0));
// orderItem.setAdjustFee(StringUtils.hasText(item.getAdjust_fee()) ?BigDecimal.valueOf(Double.parseDouble(item.getAdjust_fee())): BigDecimal.valueOf(0));
// orderItem.setDivideOrderFee( StringUtils.hasText(item.getDivide_order_fee()) ? Double.parseDouble(item.getDivide_order_fee()):null);
// orderItem.setPartMjzDiscount(StringUtils.hasText(item.getPart_mjz_discount()) ? Double.parseDouble(item.getPart_mjz_discount()):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.getPic_path());
// orderItem.setNumIid(item.getNum_iid()+"");
// orderItem.setSkuId(item.getSku_id());
//// orderItem.setOuterIid(item.getOuterIid());
// orderItem.setOuterSkuId(item.getOuter_sku_id());
// orderItem.setSkuPropertiesName(item.getSku_properties_name());
//// orderItem.setItemMealId(item.getItemMealId() == null ? "" : item.getItemMealId() + "");
//// orderItem.setItemMealName(item.getItemMealName());
// orderItem.setNum(item.getNum());
// orderItem.setRefundStatus(item.getRefund_status());
// orderItem.setStatus(item.getStatus());
//// orderItem.setBuyerRate(item.getBuyerRate() + "");
//// orderItem.setSellerRate(item.getSellerRate() + "");
//// orderItem.setRefundId(item.getRefundId());
// orderItem.setSellerType(item.getSeller_type());
// orderItem.setCid(item.getCid());
// orderItem.setEndTime(item.getEnd_time());
// orderItem.setConsignTime(item.getConsign_time());
// orderItem.setShippingType(item.getShipping_type());
// orderItem.setLogisticsCompany(item.getLogistics_company());
// orderItem.setInvoiceNo(item.getInvoice_no());
TaoOrderItem orderItem = new TaoOrderItem(); TaoOrderItem orderItem = new TaoOrderItem();
orderItem.setTitle(item.getTitle()); orderItem.setTitle(item.getTitle());
orderItem.setTid(Long.parseLong(trade.getTid())); orderItem.setTid(Long.parseLong(trade.getTid()));
orderItem.setOid(Long.parseLong(item.getOid())); orderItem.setOid(Long.parseLong(item.getOid()));
orderItem.setTotalFee(StringUtils.hasText(item.getTotal_fee()) ? BigDecimal.valueOf(Double.parseDouble(item.getTotal_fee())): BigDecimal.valueOf(0)); orderItem.setTotalFee(StringUtils.hasText(item.getTotalFee()) ? BigDecimal.valueOf(Double.parseDouble(item.getTotalFee())) : BigDecimal.valueOf(0));
orderItem.setDiscountFee(StringUtils.hasText(item.getDiscount_fee()) ? BigDecimal.valueOf(Double.parseDouble(item.getDiscount_fee())): BigDecimal.valueOf(0)); orderItem.setDiscountFee(StringUtils.hasText(item.getDiscountFee()) ? BigDecimal.valueOf(Double.parseDouble(item.getDiscountFee())) : BigDecimal.valueOf(0));
orderItem.setAdjustFee(StringUtils.hasText(item.getAdjust_fee()) ?BigDecimal.valueOf(Double.parseDouble(item.getAdjust_fee())): BigDecimal.valueOf(0)); orderItem.setAdjustFee(StringUtils.hasText(item.getAdjustFee()) ? BigDecimal.valueOf(Double.parseDouble(item.getAdjustFee())) : BigDecimal.valueOf(0));
orderItem.setDivideOrderFee( StringUtils.hasText(item.getDivide_order_fee()) ? Double.parseDouble(item.getDivide_order_fee()):null); orderItem.setDivideOrderFee(StringUtils.hasText(item.getDivideOrderFee()) ? Double.parseDouble(item.getDivideOrderFee()) : null);
orderItem.setPartMjzDiscount(StringUtils.hasText(item.getPart_mjz_discount()) ? Double.parseDouble(item.getPart_mjz_discount()):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.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.setPrice(StringUtils.hasText(item.getPrice()) ? BigDecimal.valueOf(Double.parseDouble(item.getPrice())) : BigDecimal.valueOf(0));
orderItem.setPicPath(item.getPic_path()); orderItem.setPicPath(item.getPicPath());
orderItem.setNumIid(item.getNum_iid()+""); orderItem.setNumIid(item.getNumIid());
orderItem.setSkuId(item.getSku_id()); orderItem.setSkuId(item.getSkuId());
// orderItem.setOuterIid(item.getOuterIid()); orderItem.setOuterIid(item.getOuterIid());
orderItem.setOuterSkuId(item.getOuter_sku_id()); orderItem.setOuterSkuId(item.getOuterSkuId());
orderItem.setSkuPropertiesName(item.getSku_properties_name()); orderItem.setSkuPropertiesName(item.getSkuPropertiesName());
// orderItem.setItemMealId(item.getItemMealId() == null ? "" : item.getItemMealId() + ""); orderItem.setItemMealId(item.getItemMealId());
// orderItem.setItemMealName(item.getItemMealName()); orderItem.setItemMealName(item.getItemMealName());
orderItem.setNum(item.getNum()); orderItem.setNum(item.getNum());
orderItem.setRefundStatus(item.getRefund_status());
orderItem.setStatus(item.getStatus());
// orderItem.setBuyerRate(item.getBuyerRate() + "");
// orderItem.setSellerRate(item.getSellerRate() + "");
// orderItem.setRefundId(item.getRefundId());
orderItem.setSellerType(item.getSeller_type());
orderItem.setCid(item.getCid());
orderItem.setEndTime(item.getEnd_time());
orderItem.setConsignTime(item.getConsign_time());
orderItem.setShippingType(item.getShipping_type());
orderItem.setLogisticsCompany(item.getLogistics_company());
orderItem.setInvoiceNo(item.getInvoice_no());
orderItem.setIsShShip(item.getIsShShip()!=null?item.getIsShShip().toString():"");
orderItem.setRefundStatus(item.getRefundStatus());
orderItem.setStatus(item.getStatus());
orderItem.setBuyerRate(item.getBuyerRate() + "");
orderItem.setSellerRate(item.getSellerRate() + "");
orderItem.setRefundId(item.getRefundId());
// orderItem.setSellerType(item.getSeller_type());
orderItem.setCid(item.getCid());
orderItem.setEndTime(item.getEndTime());
orderItem.setConsignTime(item.getConsignTime());
// orderItem.setShippingType(item.getShippingType());
orderItem.setLogisticsCompany(item.getLogisticsCompany());
orderItem.setInvoiceNo(item.getLogisticsCode());
items.add(orderItem); items.add(orderItem);
} }
order.setItems(items); order.setItems(items);
@ -185,6 +218,7 @@ public class OrderAssembleHelper {
orderItem.setItemMealId(item.getItemMealId()); orderItem.setItemMealId(item.getItemMealId());
orderItem.setItemMealName(item.getItemMealName()); orderItem.setItemMealName(item.getItemMealName());
orderItem.setNum(item.getNum()); orderItem.setNum(item.getNum());
orderItem.setIsShShip(item.getIsShShip().toString());
orderItem.setRefundStatus(item.getRefundStatus()); orderItem.setRefundStatus(item.getRefundStatus());
orderItem.setStatus(item.getStatus()); orderItem.setStatus(item.getStatus());
orderItem.setBuyerRate(item.getBuyerRate() + ""); orderItem.setBuyerRate(item.getBuyerRate() + "");

View File

@ -8,6 +8,16 @@ public class TaoRequest {
private Integer pullType;//拉取类型0或不传全量1更新用于拉取商品的条件 private Integer pullType;//拉取类型0或不传全量1更新用于拉取商品的条件
private String orderDate;
public String getOrderDate() {
return orderDate;
}
public void setOrderDate(String orderDate) {
this.orderDate = orderDate;
}
public Integer getPullType() { public Integer getPullType() {
return pullType; return pullType;
} }

View File

@ -25,6 +25,7 @@ import cn.qihangerp.open.tao.response.TaoOrderListResponse;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.io.IOException; import java.io.IOException;
@ -81,7 +82,10 @@ public class TaoOrderApiController {
// 获取最后更新时间 // 获取最后更新时间
LocalDateTime startTime = null; LocalDateTime startTime = null;
LocalDateTime endTime = null; LocalDateTime endTime = null;
OShopPullLasttime lasttime = pullLasttimeService.getLasttimeByShop(req.getShopId(), "ORDER"); OShopPullLasttime lasttime = null;
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
if(StringUtils.isEmpty(req.getOrderDate())) {
lasttime = pullLasttimeService.getLasttimeByShop(req.getShopId(), "ORDER");
if (lasttime == null) { if (lasttime == null) {
endTime = LocalDateTime.now(); endTime = LocalDateTime.now();
startTime = endTime.minusDays(1); startTime = endTime.minusDays(1);
@ -100,6 +104,12 @@ public class TaoOrderApiController {
// endTime = LocalDateTime.now(); // endTime = LocalDateTime.now();
// } // }
} }
}else {
// 使用条件传过来的时间
// 将时间字符串转换为 LocalDateTime
startTime = LocalDateTime.parse(req.getOrderDate() + " 00:00:01", formatter);
endTime = LocalDateTime.parse(req.getOrderDate() + " 23:59:59", formatter);
}
//第一次获取 //第一次获取
// ApiResultVo<TaoOrderResponse> upResult = OrderApiHelper.pullIncrementOrder(startTime,endTime,pageIndex, pageSize, url, appKey, appSecret, sessionKey); // ApiResultVo<TaoOrderResponse> upResult = OrderApiHelper.pullIncrementOrder(startTime,endTime,pageIndex, pageSize, url, appKey, appSecret, sessionKey);
@ -156,7 +166,7 @@ public class TaoOrderApiController {
pullLasttimeService.updateById(updateLasttime); pullLasttimeService.updateById(updateLasttime);
} }
} }
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss"); DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
OShopPullLogs logs = new OShopPullLogs(); OShopPullLogs logs = new OShopPullLogs();
logs.setShopType(EnumShopType.TAO.getIndex()); logs.setShopType(EnumShopType.TAO.getIndex());
logs.setShopId(req.getShopId()); logs.setShopId(req.getShopId());

View File

@ -220,11 +220,21 @@ PAY_PENDING(国际信用卡支付付款确认中)
*/ */
private String remark; private String remark;
private String isShShip;
private String oGoodsId; private String oGoodsId;
private String oGoodsSkuId; private String oGoodsSkuId;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public String getIsShShip() {
return isShShip;
}
public void setIsShShip(String isShShip) {
this.isShShip = isShShip;
}
public String getoGoodsId() { public String getoGoodsId() {
return oGoodsId; return oGoodsId;
} }

View File

@ -46,6 +46,7 @@
<result property="oGoodsId" column="o_goods_id" jdbcType="VARCHAR"/> <result property="oGoodsId" column="o_goods_id" jdbcType="VARCHAR"/>
<result property="oGoodsSkuId" column="o_goods_sku_id" jdbcType="VARCHAR"/> <result property="oGoodsSkuId" column="o_goods_sku_id" jdbcType="VARCHAR"/>
<result property="remark" column="remark" jdbcType="VARCHAR"/> <result property="remark" column="remark" jdbcType="VARCHAR"/>
<result property="isShShip" column="is_sh_ship" jdbcType="VARCHAR"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
@ -62,6 +63,6 @@
is_service_order,consign_time,shipping_type, is_service_order,consign_time,shipping_type,
logistics_company,invoice_no,bind_oid, logistics_company,invoice_no,bind_oid,
status,refund_status,refund_id,o_goods_id,o_goods_sku_id, status,refund_status,refund_id,o_goods_id,o_goods_sku_id,
remark remark,is_sh_ship
</sql> </sql>
</mapper> </mapper>

View File

@ -475,12 +475,24 @@ export default {
} }
}, },
handlePull() { handlePull() {
if(this.queryParams.shopId){ if (!this.orderTime) {
this.$modal.msgError("请选择订单时间")
return
}
if (!this.queryParams.shopId) {
this.$modal.msgSuccess("请先选择店铺");
return;
}
const orderDate = this.orderTime[0]
this.pullLoading = true this.pullLoading = true
pullOrder({shopId:this.queryParams.shopId,updType:0}).then(response => { pullOrder({shopId: this.queryParams.shopId, updType: 0, orderDate: orderDate}).then(response => {
console.log('拉取淘宝订单接口返回=====', response) console.log('拉取淘宝订单接口返回=====', response)
if (response.code === 1401) { if (response.code === 1401) {
MessageBox.confirm('Token已过期需要重新授权请前往店铺列表重新获取授权', '系统提示', { confirmButtonText: '前往授权', cancelButtonText: '取消', type: 'warning' }).then(() => { MessageBox.confirm('Token已过期需要重新授权请前往店铺列表重新获取授权', '系统提示', {
confirmButtonText: '前往授权',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$router.push({path: "/shop/shop_list", query: {type: 1}}) this.$router.push({path: "/shop/shop_list", query: {type: 1}})
// isRelogin.show = false; // isRelogin.show = false;
// store.dispatch('LogOut').then(() => { // store.dispatch('LogOut').then(() => {
@ -493,12 +505,11 @@ export default {
// return Promise.reject('') // return Promise.reject('')
} else { } else {
this.$modal.msgSuccess(JSON.stringify(response)); this.$modal.msgSuccess(JSON.stringify(response));
this.getList()
} }
this.pullLoading = false this.pullLoading = false
}) })
}else{
this.$modal.msgSuccess("请先选择店铺");
}
// this.$modal.msgSuccess("API"); // this.$modal.msgSuccess("API");
}, },