From 30784b5a93be82f24fcd442d49211483fc4e097e 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 11:48:02 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84pdd=E8=AE=A2=E5=8D=95?=
=?UTF-8?q?=E7=A1=AE=E8=AE=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../open/config/MybatisPlusConfig.java | 2 +-
.../pdd/controller/PddOrderController.java | 1 -
serviceImpl/pdd/pom.xml | 5 +
.../pdd/service/impl/PddOrderServiceImpl.java | 97 ++++++++++++++++---
4 files changed, 91 insertions(+), 14 deletions(-)
diff --git a/api/open-api/src/main/java/cn/qihangerp/open/config/MybatisPlusConfig.java b/api/open-api/src/main/java/cn/qihangerp/open/config/MybatisPlusConfig.java
index ea9272fe..1908756e 100644
--- a/api/open-api/src/main/java/cn/qihangerp/open/config/MybatisPlusConfig.java
+++ b/api/open-api/src/main/java/cn/qihangerp/open/config/MybatisPlusConfig.java
@@ -9,7 +9,7 @@ import org.springframework.context.annotation.Configuration;
@Configuration
//@MapperScan("com.qihang.tao.mapper")
-@MapperScan(basePackages ={"cn.qihangerp.module.open.*.mapper","cn.qihangerp.module.*.mapper","cn.qihangerp.module.mapper"})
+@MapperScan(basePackages ={"cn.qihangerp.module.open.*.mapper","cn.qihangerp.module.*.mapper","cn.qihangerp.module.mapper","cn.qihangerp.mapper"})
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
diff --git a/microservices/pdd-api/src/main/java/cn/qihangerp/api/pdd/controller/PddOrderController.java b/microservices/pdd-api/src/main/java/cn/qihangerp/api/pdd/controller/PddOrderController.java
index 2d072c87..b6b2c264 100644
--- a/microservices/pdd-api/src/main/java/cn/qihangerp/api/pdd/controller/PddOrderController.java
+++ b/microservices/pdd-api/src/main/java/cn/qihangerp/api/pdd/controller/PddOrderController.java
@@ -67,6 +67,5 @@ public class PddOrderController extends BaseController {
if(result.getCode()==0) return success();
else return AjaxResult.error(result.getMsg());
- return AjaxResult.error("未实现");
}
}
diff --git a/serviceImpl/pdd/pom.xml b/serviceImpl/pdd/pom.xml
index e74f4996..3028e4b1 100644
--- a/serviceImpl/pdd/pom.xml
+++ b/serviceImpl/pdd/pom.xml
@@ -24,6 +24,11 @@
1.0
compile
+
+ cn.qihangerp.mapper
+ mapper
+ 2.0.0
+
cn.qihangerp.service
goods
diff --git a/serviceImpl/pdd/src/main/java/cn/qihangerp/module/open/pdd/service/impl/PddOrderServiceImpl.java b/serviceImpl/pdd/src/main/java/cn/qihangerp/module/open/pdd/service/impl/PddOrderServiceImpl.java
index 92ca064a..0b8598c7 100644
--- a/serviceImpl/pdd/src/main/java/cn/qihangerp/module/open/pdd/service/impl/PddOrderServiceImpl.java
+++ b/serviceImpl/pdd/src/main/java/cn/qihangerp/module/open/pdd/service/impl/PddOrderServiceImpl.java
@@ -5,9 +5,14 @@ import cn.qihangerp.common.PageQuery;
import cn.qihangerp.common.PageResult;
import cn.qihangerp.common.ResultVo;
import cn.qihangerp.common.ResultVoEnum;
+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.DouOrder;
import cn.qihangerp.model.entity.DouOrderItem;
import cn.qihangerp.model.entity.OOrder;
+import cn.qihangerp.model.entity.OOrderItem;
import cn.qihangerp.module.open.pdd.domain.PddGoodsSku;
import cn.qihangerp.module.open.pdd.domain.PddOrder;
import cn.qihangerp.module.open.pdd.domain.PddOrderItem;
@@ -45,6 +50,9 @@ public class PddOrderServiceImpl extends ServiceImpl
private final PddOrderMapper mapper;
private final PddOrderItemMapper itemMapper;
private final PddGoodsSkuMapper goodsSkuMapper;
+ 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);
@@ -235,18 +243,83 @@ public class PddOrderServiceImpl extends ServiceImpl
return ResultVo.error("找不到订单item");
}
-// OOrder erpOrder = oOrderMapper.selectOne(new LambdaQueryWrapper().eq(OOrder::getOrderNum,pddOrder.getOrderId()));
-// if(erpOrder!=null) {
-// // 已经确认过了,更新自己
-// PddOrder douOrderUpdate = new PddOrder();
-// douOrderUpdate.setId(pddOrder.getId());
-// douOrderUpdate.setAuditStatus(1);
-// douOrderUpdate.setAuditTime(new Date());
-// mapper.updateById(douOrderUpdate);
-//
-// return ResultVo.error("已经确认过了");
-// }
- return null;
+ OOrder erpOrder = erpOrderMapper.selectOne(new LambdaQueryWrapper().eq(OOrder::getOrderNum,pddOrder.getOrderSn()));
+ if(erpOrder!=null) {
+ // 已经确认过了,更新自己
+ PddOrder douOrderUpdate = new PddOrder();
+ douOrderUpdate.setId(pddOrder.getId());
+ douOrderUpdate.setAuditStatus(1);
+ douOrderUpdate.setAuditTime(new Date());
+ mapper.updateById(douOrderUpdate);
+
+ return ResultVo.error("已经确认过了");
+ }
+ OOrder order = new OOrder();
+ order.setOrderNum(pddOrder.getOrderSn());
+ order.setShopType(EnumShopType.PDD.getIndex());
+ order.setShopId(pddOrder.getShopId());
+// order.setShipType(confirmBo.getShipType());
+ order.setShipType(0);
+ order.setBuyerMemo(pddOrder.getBuyerMemo());
+ order.setSellerMemo(pddOrder.getRemark());
+ order.setRefundStatus(1);
+ order.setOrderStatus(1);
+ order.setGoodsAmount(pddOrder.getGoodsAmount()!=null?pddOrder.getGoodsAmount():0.0);
+ order.setPostFee(pddOrder.getPostage()!=null?pddOrder.getPostage():0.0);
+ order.setSellerDiscount(pddOrder.getSellerDiscount()!=null?pddOrder.getSellerDiscount():0.0);
+ order.setPlatformDiscount(pddOrder.getPlatformDiscount()!=null?pddOrder.getPlatformDiscount():0.0);
+ order.setAmount(pddOrder.getPayAmount()!=null?pddOrder.getPayAmount():0.0);
+ order.setPayment(pddOrder.getPayAmount()!=null?pddOrder.getPayAmount():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.getCreatedTime())?DateUtils.dateTime("yyyy-MM-dd HH:mm:ss",pddOrder.getCreatedTime()):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(pddOrder.getOrderSn());
+ oOrderItem.setSubOrderNum(pddOrder.getOrderSn()+"-"+item.getSkuId());
+ oOrderItem.setShopType(EnumShopType.PDD.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.getGoodsName());
+ oOrderItem.setGoodsImg(item.getGoodsImg());
+ oOrderItem.setGoodsNum(item.getOuterGoodsId());
+ oOrderItem.setGoodsSpec(item.getGoodsSpec());
+ oOrderItem.setSkuNum(item.getOuterId());
+ oOrderItem.setGoodsPrice(item.getGoodsPrice()!=null?item.getGoodsPrice():0.0);
+ oOrderItem.setQuantity(item.getGoodsCount());
+ 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);
+ }
+ // 更新自己
+ PddOrder douOrderUpdate = new PddOrder();
+ douOrderUpdate.setId(pddOrder.getId());
+ douOrderUpdate.setAuditStatus(1);
+ douOrderUpdate.setAuditTime(new Date());
+ mapper.updateById(douOrderUpdate);
+ return ResultVo.success();
}
}