From 8843d2dd84a0e5010c1338d175fa2798c419a9b2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=90=AF=E8=88=AA?= <280645618@qq.com>
Date: Sat, 4 Oct 2025 20:42:13 +0800
Subject: [PATCH] =?UTF-8?q?tao=E8=AE=A2=E5=8D=95=E7=A1=AE=E8=AE=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../tao/controller/TaoOrderController.java | 8 +-
serviceImpl/tao/pom.xml | 5 +
.../open/tao/service/TaoOrderService.java | 3 +
.../tao/service/impl/TaoOrderServiceImpl.java | 102 ++++++++++++++++++
4 files changed, 113 insertions(+), 5 deletions(-)
diff --git a/microservices/tao-api/src/main/java/cn/qihangerp/api/tao/controller/TaoOrderController.java b/microservices/tao-api/src/main/java/cn/qihangerp/api/tao/controller/TaoOrderController.java
index 2794f698..7f9885f2 100644
--- a/microservices/tao-api/src/main/java/cn/qihangerp/api/tao/controller/TaoOrderController.java
+++ b/microservices/tao-api/src/main/java/cn/qihangerp/api/tao/controller/TaoOrderController.java
@@ -63,10 +63,8 @@ public class TaoOrderController extends BaseController {
public AjaxResult confirmOrder(@RequestBody TaoOrderConfirmBo bo) {
log.info("=========确认订单======={}", JSONObject.toJSONString(bo));
-// var result = orderService.confirmOrder(bo);
-// if(result.getCode()==0) return success();
-// else return AjaxResult.error(result.getMsg());
-
- return AjaxResult.error("未实现");
+ var result = orderService.confirmOrder(bo);
+ if(result.getCode()==0) return success();
+ else return AjaxResult.error(result.getMsg());
}
}
diff --git a/serviceImpl/tao/pom.xml b/serviceImpl/tao/pom.xml
index c03bb170..5da5f4ff 100644
--- a/serviceImpl/tao/pom.xml
+++ b/serviceImpl/tao/pom.xml
@@ -24,6 +24,11 @@
1.0
compile
+
+ cn.qihangerp.mapper
+ mapper
+ 2.0.0
+
cn.qihangerp.service
goods
diff --git a/serviceImpl/tao/src/main/java/cn/qihangerp/module/open/tao/service/TaoOrderService.java b/serviceImpl/tao/src/main/java/cn/qihangerp/module/open/tao/service/TaoOrderService.java
index 6e3e4973..40d06422 100644
--- a/serviceImpl/tao/src/main/java/cn/qihangerp/module/open/tao/service/TaoOrderService.java
+++ b/serviceImpl/tao/src/main/java/cn/qihangerp/module/open/tao/service/TaoOrderService.java
@@ -6,6 +6,7 @@ import cn.qihangerp.common.ResultVo;
import cn.qihangerp.common.bo.ShopOrderShipBo;
import cn.qihangerp.module.open.tao.domain.TaoOrder;
import cn.qihangerp.module.open.tao.domain.bo.TaoOrderBo;
+import cn.qihangerp.module.open.tao.domain.bo.TaoOrderConfirmBo;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -36,4 +37,6 @@ public interface TaoOrderService extends IService {
* @return
*/
// ResultVo manualShipmentOrder(ShopOrderShipBo shipBo, String createBy);
+
+ ResultVo confirmOrder(TaoOrderConfirmBo confirmBo);
}
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 c0c6eaa6..1cbca250 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
@@ -6,11 +6,18 @@ import cn.qihangerp.common.PageResult;
import cn.qihangerp.common.ResultVo;
import cn.qihangerp.common.ResultVoEnum;
import cn.qihangerp.common.bo.ShopOrderShipBo;
+import cn.qihangerp.common.enums.EnumShopType;
+import cn.qihangerp.common.utils.DateUtils;
+import cn.qihangerp.mapper.ErpOrderItemMapper;
+import cn.qihangerp.mapper.ErpOrderMapper;
+import cn.qihangerp.model.entity.OOrder;
+import cn.qihangerp.model.entity.OOrderItem;
import cn.qihangerp.module.open.tao.domain.TaoGoodsSku;
import cn.qihangerp.module.open.tao.domain.TaoOrder;
import cn.qihangerp.module.open.tao.domain.TaoOrderItem;
import cn.qihangerp.module.open.tao.domain.TaoOrderPromotion;
import cn.qihangerp.module.open.tao.domain.bo.TaoOrderBo;
+import cn.qihangerp.module.open.tao.domain.bo.TaoOrderConfirmBo;
import cn.qihangerp.module.open.tao.mapper.TaoOrderItemMapper;
import cn.qihangerp.module.open.tao.mapper.TaoOrderMapper;
import cn.qihangerp.module.open.tao.mapper.TaoOrderPromotionMapper;
@@ -45,6 +52,9 @@ public class TaoOrderServiceImpl extends ServiceImpl
private final TaoOrderItemMapper itemMapper;
private final TaoOrderPromotionMapper promotionDetailsMapper;
private final TaoGoodsSkuService goodsSkuService;
+ private final ErpOrderMapper erpOrderMapper;
+ private final ErpOrderItemMapper erpOrderItemMapper;
+
private final String DATE_PATTERN =
"^(?:(?:(?:\\d{4}-(?:0?[1-9]|1[0-2])-(?:0?[1-9]|1\\d|2[0-8]))|(?:(?:(?:\\d{2}(?:0[48]|[2468][048]|[13579][26])|(?:(?:0[48]|[2468][048]|[13579][26])00))-0?2-29))$)|(?:(?:(?:\\d{4}-(?:0?[13578]|1[02]))-(?:0?[1-9]|[12]\\d|30))$)|(?:(?:(?:\\d{4}-0?[13-9]|1[0-2])-(?:0?[1-9]|[1-2]\\d|30))$)|(?:(?:(?:\\d{2}(?:0[48]|[13579][26]|[2468][048])|(?:(?:0[48]|[13579][26]|[2468][048])00))-0?2-29))$)$";
private final Pattern DATE_FORMAT = Pattern.compile(DATE_PATTERN);
@@ -223,6 +233,98 @@ public class TaoOrderServiceImpl extends ServiceImpl
}
}
+ @Override
+ public ResultVo confirmOrder(TaoOrderConfirmBo confirmBo) {
+ TaoOrder pddOrder = mapper.selectById(confirmBo.getOrderId());
+ if(pddOrder==null) return ResultVo.error("订单数据不存在");
+ if(pddOrder.getAuditStatus()!=0) return ResultVo.error("已经确认过了!");
+
+ List pddOrderItems = itemMapper.selectList(
+ new LambdaQueryWrapper()
+ .eq(TaoOrderItem::getTid, pddOrder.getTid()));
+ if(pddOrderItems==null || pddOrderItems.isEmpty()){
+ return ResultVo.error("找不到订单item");
+ }
+
+ OOrder erpOrder = erpOrderMapper.selectOne(new LambdaQueryWrapper().eq(OOrder::getOrderNum,pddOrder.getTid()));
+ if(erpOrder!=null) {
+ // 已经确认过了,更新自己
+ TaoOrder douOrderUpdate = new TaoOrder();
+ douOrderUpdate.setId(pddOrder.getId());
+ douOrderUpdate.setAuditStatus(1);
+ douOrderUpdate.setAuditTime(new Date());
+ mapper.updateById(douOrderUpdate);
+
+ return ResultVo.error("已经确认过了");
+ }
+ OOrder order = new OOrder();
+ order.setOrderNum(pddOrder.getTid());
+ order.setShopType(EnumShopType.TAO.getIndex());
+ order.setShopId(pddOrder.getShopId());
+// order.setShipType(confirmBo.getShipType());
+ order.setShipType(0);
+ order.setBuyerMemo(pddOrder.getBuyerMemo());
+ order.setSellerMemo(pddOrder.getSellerMemo());
+ order.setRefundStatus(1);
+ order.setOrderStatus(1);
+ order.setGoodsAmount(pddOrder.getTotalFee()!=null?pddOrder.getTotalFee():0.0);
+ order.setPostFee(pddOrder.getPostFee()!=null?pddOrder.getPostFee().doubleValue():0.0);
+ order.setSellerDiscount(pddOrder.getDiscountFee()!=null?pddOrder.getDiscountFee().doubleValue():0.0);
+ order.setPlatformDiscount(0.0);
+ order.setAmount(pddOrder.getTotalFee()!=null?pddOrder.getTotalFee().doubleValue():0.0);
+ order.setPayment(pddOrder.getPayment()!=null?pddOrder.getPayment().doubleValue():0.0);
+ order.setReceiverName(confirmBo.getReceiver());
+ order.setReceiverMobile(confirmBo.getMobile());
+ order.setAddress(confirmBo.getAddress());
+ order.setProvince(confirmBo.getProvince());
+ order.setCity(confirmBo.getCity());
+ order.setTown(confirmBo.getTown());
+ order.setOrderTime(StringUtils.hasText(pddOrder.getCreated())? DateUtils.dateTime("yyyy-MM-dd HH:mm:ss",pddOrder.getCreated()):new Date());
+ order.setShipper(-1);
+ order.setShipStatus(0);
+ order.setCreateTime(new Date());
+ order.setCreateBy("手动确认订单");
+ erpOrderMapper.insert(order);
+ //插入item
+ for (var item : pddOrderItems) {
+ OOrderItem oOrderItem = new OOrderItem();
+ oOrderItem.setOrderId(order.getId());
+ oOrderItem.setOrderNum(order.getOrderNum());
+ oOrderItem.setSubOrderNum(item.getOid().toString());
+ oOrderItem.setShopType(EnumShopType.TAO.getIndex());
+ oOrderItem.setShopId(pddOrder.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.setGoodsTitle(item.getTitle());
+ oOrderItem.setGoodsImg(item.getPicPath());
+ oOrderItem.setGoodsNum(item.getOuterIid());
+ oOrderItem.setGoodsSpec(item.getSkuPropertiesName());
+ 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);
+
+ oOrderItem.setRefundCount(0);
+ oOrderItem.setRefundStatus(1);
+ oOrderItem.setShipper(-1);
+ oOrderItem.setShipType(order.getShipType());
+ oOrderItem.setShipStatus(0);
+ oOrderItem.setCreateTime(new Date());
+ oOrderItem.setCreateBy("手动确认订单");
+ erpOrderItemMapper.insert(oOrderItem);
+ }
+ // 更新自己
+ TaoOrder douOrderUpdate = new TaoOrder();
+ douOrderUpdate.setId(pddOrder.getId());
+ douOrderUpdate.setAuditStatus(1);
+ douOrderUpdate.setAuditTime(new Date());
+ mapper.updateById(douOrderUpdate);
+ return ResultVo.success();
+ }
+
// @Transactional(rollbackFor = Exception.class)
// @Override
// public ResultVo manualShipmentOrder(ShopOrderShipBo shipBo, String createBy) {