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(); } }