diff --git a/api/oms-api/src/main/java/cn/qihangerp/oms/tao/OrderAssembleHelper.java b/api/oms-api/src/main/java/cn/qihangerp/oms/tao/OrderAssembleHelper.java index 0d54880e..6dabc8d8 100644 --- a/api/oms-api/src/main/java/cn/qihangerp/oms/tao/OrderAssembleHelper.java +++ b/api/oms-api/src/main/java/cn/qihangerp/oms/tao/OrderAssembleHelper.java @@ -113,7 +113,7 @@ public class OrderAssembleHelper { orderItem.setDivideOrderFee(StringUtils.hasText(item.getDivideOrderFee()) ? Double.parseDouble(item.getDivideOrderFee()) : null); 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.setPrice(StringUtils.hasText(item.getPrice()) ? Double.parseDouble(item.getPrice()) : 0.0); orderItem.setPicPath(item.getPicPath()); orderItem.setNumIid(item.getNumIid()); orderItem.setSkuId(item.getSkuId()); @@ -208,7 +208,7 @@ public class OrderAssembleHelper { orderItem.setDivideOrderFee( StringUtils.hasText(item.getDivideOrderFee()) ? Double.parseDouble(item.getDivideOrderFee()):null); 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.setPrice(StringUtils.hasText(item.getPrice()) ? Double.parseDouble(item.getPrice()): 0.0); orderItem.setPicPath(item.getPicPath()); orderItem.setNumIid(item.getNumIid()); orderItem.setSkuId(item.getSkuId()); diff --git a/docs/qihang-erp.sql b/docs/qihang-erp.sql index 6a753556..47ab68a0 100644 --- a/docs/qihang-erp.sql +++ b/docs/qihang-erp.sql @@ -4436,8 +4436,6 @@ CREATE TABLE `oms_tao_order_item` ( `refund_status` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'NO_REFUND' COMMENT '退款状态。退款状态。可选值 WAIT_SELLER_AGREE(买家已经申请退款,等待卖家同意) WAIT_BUYER_RETURN_GOODS(卖家已经同意退款,等待买家退货) WAIT_SELLER_CONFIRM_GOODS(买家已经退货,等待卖家确认收货) SELLER_REFUSE_BUYER(卖家拒绝退款) CLOSED(退款关闭) SUCCESS(退款成功)', `refund_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '最近退款ID', `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `o_goods_id` bigint NULL DEFAULT NULL COMMENT '商品id(o_goods外键)', - `o_goods_sku_id` bigint NULL DEFAULT NULL COMMENT '商品skuid(o_goods_sku外键)', PRIMARY KEY (`id`) USING BTREE, INDEX `tid_index`(`tid` ASC) USING BTREE, INDEX `oid_index`(`oid` ASC) USING BTREE diff --git a/model/src/main/java/cn/qihangerp/model/entity/TaoOrder.java b/model/src/main/java/cn/qihangerp/model/entity/TaoOrder.java index d919a4d1..09709d3f 100644 --- a/model/src/main/java/cn/qihangerp/model/entity/TaoOrder.java +++ b/model/src/main/java/cn/qihangerp/model/entity/TaoOrder.java @@ -192,7 +192,7 @@ public class TaoOrder implements Serializable { /** * 交易结束时间。交易成功时间(更新交易状态为成功的同时更新)/确认收货时间或者交易关闭时间 。格式:yyyy-MM-dd HH:mm:ss */ - private Date endTime; + private String endTime; /** * 卖家备忘信息 diff --git a/model/src/main/java/cn/qihangerp/model/entity/TaoOrderItem.java b/model/src/main/java/cn/qihangerp/model/entity/TaoOrderItem.java index 2c3b7fcb..0d21b0a8 100644 --- a/model/src/main/java/cn/qihangerp/model/entity/TaoOrderItem.java +++ b/model/src/main/java/cn/qihangerp/model/entity/TaoOrderItem.java @@ -73,7 +73,7 @@ public class TaoOrderItem implements Serializable { /** * 商品价格 */ - private BigDecimal price; + private Double price; /** * 商品数字ID @@ -222,8 +222,6 @@ PAY_PENDING(国际信用卡支付付款确认中) private String isShShip; - private String oGoodsId; - private String oGoodsSkuId; private static final long serialVersionUID = 1L; @@ -235,21 +233,6 @@ PAY_PENDING(国际信用卡支付付款确认中) this.isShShip = isShShip; } - public String getoGoodsId() { - return oGoodsId; - } - - public void setoGoodsId(String oGoodsId) { - this.oGoodsId = oGoodsId; - } - - public String getoGoodsSkuId() { - return oGoodsSkuId; - } - - public void setoGoodsSkuId(String oGoodsSkuId) { - this.oGoodsSkuId = oGoodsSkuId; - } /** * @@ -408,14 +391,14 @@ PAY_PENDING(国际信用卡支付付款确认中) /** * 商品价格 */ - public BigDecimal getPrice() { + public Double getPrice() { return price; } /** * 商品价格 */ - public void setPrice(BigDecimal price) { + public void setPrice(Double price) { this.price = price; } diff --git a/serviceImpl/dou/src/main/java/cn/qihangerp/module/open/dou/service/impl/DouOrderServiceImpl.java b/serviceImpl/dou/src/main/java/cn/qihangerp/module/open/dou/service/impl/DouOrderServiceImpl.java index c4cf52ae..86b4163b 100644 --- a/serviceImpl/dou/src/main/java/cn/qihangerp/module/open/dou/service/impl/DouOrderServiceImpl.java +++ b/serviceImpl/dou/src/main/java/cn/qihangerp/module/open/dou/service/impl/DouOrderServiceImpl.java @@ -261,6 +261,7 @@ public class DouOrderServiceImpl extends ServiceImpl oOrderItem.setSubOrderNum(item.getOrderId()); oOrderItem.setShopType(EnumShopType.DOU.getIndex()); oOrderItem.setShopId(douOrder.getSShopId()); + oOrderItem.setProductId(item.getProductId().toString()); oOrderItem.setSkuId(item.getSkuId().toString()); oOrderItem.setGoodsTitle(item.getProductName()); oOrderItem.setGoodsImg(item.getProductPic()); diff --git a/serviceImpl/dou/src/main/java/cn/qihangerp/module/open/dou/service/impl/DouRefundServiceImpl.java b/serviceImpl/dou/src/main/java/cn/qihangerp/module/open/dou/service/impl/DouRefundServiceImpl.java index 7b23a607..cc037ba7 100644 --- a/serviceImpl/dou/src/main/java/cn/qihangerp/module/open/dou/service/impl/DouRefundServiceImpl.java +++ b/serviceImpl/dou/src/main/java/cn/qihangerp/module/open/dou/service/impl/DouRefundServiceImpl.java @@ -56,8 +56,8 @@ public class DouRefundServiceImpl extends ServiceImpl douOrderItems = orderItemMapper.selectList(new LambdaQueryWrapper().eq(DouOrderItem::getOrderId, refund.getOrderSkuOrderId())); if(!douOrderItems.isEmpty()){ update.setSkuId(douOrderItems.get(0).getSkuId().toString()); - update.setOGoodsId(douOrderItems.get(0).getOGoodsId()); - update.setOGoodsSkuId(douOrderItems.get(0).getOGoodsSkuId()); +// update.setOGoodsId(douOrderItems.get(0).getOGoodsId()); +// update.setOGoodsSkuId(douOrderItems.get(0).getOGoodsSkuId()); } @@ -101,8 +101,8 @@ public class DouRefundServiceImpl extends ServiceImpl douOrderItems = orderItemMapper.selectList(new LambdaQueryWrapper().eq(DouOrderItem::getOrderId, refund.getOrderSkuOrderId())); if(!douOrderItems.isEmpty()){ refund.setSkuId(douOrderItems.get(0).getSkuId().toString()); - refund.setOGoodsId(douOrderItems.get(0).getOGoodsId()); - refund.setOGoodsSkuId(douOrderItems.get(0).getOGoodsSkuId()); +// refund.setOGoodsId(douOrderItems.get(0).getOGoodsId()); +// refund.setOGoodsSkuId(douOrderItems.get(0).getOGoodsSkuId()); } refund.setShopId(shopId); refund.setPullTime(new Date()); diff --git a/serviceImpl/tao/src/main/java/cn/qihangerp/module/open/tao/service/impl/TaoOrderServiceImpl.java b/serviceImpl/tao/src/main/java/cn/qihangerp/module/open/tao/service/impl/TaoOrderServiceImpl.java index 0d6cf933..0b820cc0 100644 --- a/serviceImpl/tao/src/main/java/cn/qihangerp/module/open/tao/service/impl/TaoOrderServiceImpl.java +++ b/serviceImpl/tao/src/main/java/cn/qihangerp/module/open/tao/service/impl/TaoOrderServiceImpl.java @@ -165,20 +165,20 @@ public class TaoOrderServiceImpl extends ServiceImpl itemUpdate.setShippingType(item.getShippingType()); itemUpdate.setLogisticsCompany(item.getLogisticsCompany()); itemUpdate.setInvoiceNo(item.getInvoiceNo()); - List skus = goodsSkuService.list(new LambdaQueryWrapper().eq(TaoGoodsSku::getSkuId, item.getSkuId())); - if (skus != null && !skus.isEmpty()) { - itemUpdate.setoGoodsId(skus.get(0).getErpGoodsId().toString()); - itemUpdate.setoGoodsSkuId(skus.get(0).getErpGoodsSkuId().toString()); - } +// List skus = goodsSkuService.list(new LambdaQueryWrapper().eq(TaoGoodsSku::getSkuId, item.getSkuId())); +// if (skus != null && !skus.isEmpty()) { +// itemUpdate.setoGoodsId(skus.get(0).getErpGoodsId().toString()); +// itemUpdate.setoGoodsSkuId(skus.get(0).getErpGoodsSkuId().toString()); +// } itemMapper.updateById(itemUpdate); } else { // 新增 - List skus = goodsSkuService.list(new LambdaQueryWrapper().eq(TaoGoodsSku::getSkuId, item.getSkuId())); - if (skus != null && !skus.isEmpty()) { - item.setoGoodsId(skus.get(0).getErpGoodsId().toString()); - item.setoGoodsSkuId(skus.get(0).getErpGoodsSkuId().toString()); - } +// List skus = goodsSkuService.list(new LambdaQueryWrapper().eq(TaoGoodsSku::getSkuId, item.getSkuId())); +// if (skus != null && !skus.isEmpty()) { +// item.setoGoodsId(skus.get(0).getErpGoodsId().toString()); +// item.setoGoodsSkuId(skus.get(0).getErpGoodsSkuId().toString()); +// } itemMapper.insert(item); } } @@ -266,8 +266,6 @@ public class TaoOrderServiceImpl extends ServiceImpl order.setShipType(0); order.setBuyerMemo(taoOrder.getBuyerMemo()); order.setSellerMemo(taoOrder.getSellerMemo()); - order.setRefundStatus(1); - order.setOrderStatus(1); order.setGoodsAmount(taoOrder.getTotalFee()!=null?taoOrder.getTotalFee():0.0); order.setPostFee(taoOrder.getPostFee()!=null?taoOrder.getPostFee().doubleValue():0.0); order.setSellerDiscount(taoOrder.getDiscountFee()!=null?taoOrder.getDiscountFee().doubleValue():0.0); @@ -282,10 +280,41 @@ public class TaoOrderServiceImpl extends ServiceImpl order.setTown(confirmBo.getTown()); // 定义日期时间格式 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); - // 将字符串转换为LocalDateTime - LocalDateTime orderTime = LocalDateTime.parse(taoOrder.getCreated(), formatter); + order.setOrderCreateTime(StringUtils.hasText(taoOrder.getCreated())?LocalDateTime.parse(taoOrder.getCreated(), formatter):LocalDateTime.now()); + order.setOrderUpdateTime(StringUtils.hasText(taoOrder.getModified())?LocalDateTime.parse(taoOrder.getModified(), formatter):LocalDateTime.now()); + order.setOrderFinishTime(StringUtils.hasText(taoOrder.getEndTime())?LocalDateTime.parse(taoOrder.getEndTime(), formatter):LocalDateTime.now()); - order.setOrderTime(StringUtils.hasText(taoOrder.getCreated())?orderTime:LocalDateTime.now()); + order.setOrderStatus(taoOrder.getStatus()); + // 交易状态。可选值: * 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(拼团中订单或者发货强管控的订单,已付款但禁止发货) + if(taoOrder.getStatus().equals("TRADE_NO_CREATE_PAY")) { + order.setOrderStatusText("没有创建支付宝交易"); + }else if(taoOrder.getStatus().equals("WAIT_BUYER_PAY")) { + order.setOrderStatusText("等待买家付款"); + }else if(taoOrder.getStatus().equals("SELLER_CONSIGNED_PART")) { + order.setOrderStatusText("卖家部分发货"); + }else if(taoOrder.getStatus().equals("WAIT_SELLER_SEND_GOODS")) { + order.setOrderStatusText("等待卖家发货"); + }else if(taoOrder.getStatus().equals("WAIT_BUYER_CONFIRM_GOODS")) { + order.setOrderStatusText("等待买家确认收货"); + }else if(taoOrder.getStatus().equals("TRADE_BUYER_SIGNED")) { + order.setOrderStatusText("买家已签收,货到付款专用"); + }else if(taoOrder.getStatus().equals("TRADE_FINISHED")) { + order.setOrderStatusText("交易成功"); + }else if(taoOrder.getStatus().equals("TRADE_CLOSED")) { + order.setOrderStatusText("付款以后用户退款成功,交易自动关闭"); + }else if(taoOrder.getStatus().equals("TRADE_CLOSED_BY_TAOBAO")) { + order.setOrderStatusText("付款以前,卖家或买家主动关闭交易"); + }else if(taoOrder.getStatus().equals("PAY_PENDING")) { + order.setOrderStatusText("国际信用卡支付付款确认中"); + }else if(taoOrder.getStatus().equals("WAIT_PRE_AUTH_CONFIRM")) { + order.setOrderStatusText("0元购合约中"); + }else if(taoOrder.getStatus().equals("PAID_FORBID_CONSIGN")) { + order.setOrderStatusText("拼团中订单或者发货强管控的订单,已付款但禁止发货"); + } order.setShipper(0l); order.setShipStatus(0); order.setCreateTime(new Date()); @@ -294,14 +323,20 @@ public class TaoOrderServiceImpl extends ServiceImpl //插入item for (var item : pddOrderItems) { OOrderItem oOrderItem = new OOrderItem(); + List skus = goodsSkuService.list(new LambdaQueryWrapper().eq(TaoGoodsSku::getSkuId, item.getSkuId())); + if (skus != null && !skus.isEmpty()) { + oOrderItem.setGoodsId(skus.get(0).getErpGoodsId()); + oOrderItem.setGoodsSkuId(skus.get(0).getErpGoodsSkuId()); + }else { + return ResultVo.error("店铺商品找不到绑定的商品库商品"); + } oOrderItem.setOrderId(order.getId()); oOrderItem.setOrderNum(order.getOrderNum()); oOrderItem.setSubOrderNum(item.getOid().toString()); oOrderItem.setShopType(EnumShopType.TAO.getIndex()); oOrderItem.setShopId(taoOrder.getShopId()); oOrderItem.setSkuId(item.getSkuId().toString()); - oOrderItem.setGoodsId(StringUtils.hasText(item.getoGoodsId())?Long.parseLong(item.getoGoodsId()):0L); - oOrderItem.setGoodsSkuId(StringUtils.hasText(item.getoGoodsSkuId())?Long.parseLong(item.getoGoodsSkuId()):0L); + oOrderItem.setProductId(item.getNumIid()); oOrderItem.setGoodsTitle(item.getTitle()); oOrderItem.setGoodsImg(item.getPicPath()); oOrderItem.setGoodsNum(item.getOuterIid()); @@ -309,12 +344,26 @@ public class TaoOrderServiceImpl extends ServiceImpl oOrderItem.setSkuNum(item.getOuterSkuId()); oOrderItem.setGoodsPrice(item.getPrice()!=null?item.getPrice().doubleValue():0.0); oOrderItem.setQuantity(item.getNum()); - oOrderItem.setItemAmount(oOrderItem.getGoodsPrice()*oOrderItem.getQuantity()); - oOrderItem.setDiscountAmount(0.0); - oOrderItem.setPayment(0.0); + // 价格信息 + Double goodsAmount = item.getPrice() * item.getNum(); + oOrderItem.setGoodsAmount(goodsAmount); + oOrderItem.setItemAmount(item.getTotalFee().doubleValue()); + oOrderItem.setSellerDiscount(item.getDiscountFee().doubleValue()); + oOrderItem.setPlatformDiscount(item.getPartMjzDiscount()); + oOrderItem.setChangeAmount(item.getAdjustFee().doubleValue()); + oOrderItem.setPayDiscount(0.0); + oOrderItem.setPayment(item.getPayment()); - oOrderItem.setRefundCount(0); - oOrderItem.setRefundStatus(1); + // 退款状态。退款状态。可选值 WAIT_SELLER_AGREE(买家已经申请退款,等待卖家同意) + // WAIT_BUYER_RETURN_GOODS(卖家已经同意退款,等待买家退货) WAIT_SELLER_CONFIRM_GOODS(买家已经退货,等待卖家确认收货) + // SELLER_REFUSE_BUYER(卖家拒绝退款) CLOSED(退款关闭) SUCCESS(退款成功) + if(StringUtils.isEmpty(item.getRefundStatus())||item.getRefundStatus().equals("NO_REFUND")||item.getRefundStatus().equals("CLOSED")) { + oOrderItem.setRefundCount(0); + oOrderItem.setRefundStatus(1); + } else { + oOrderItem.setRefundCount(item.getNum()); + oOrderItem.setRefundStatus(4); + } oOrderItem.setShipper(0l); oOrderItem.setShipType(order.getShipType()); oOrderItem.setShipStatus(0);