diff --git a/microservices/wei-api/src/main/java/cn/qihangerp/api/wei/controller/WeiOrderController.java b/microservices/wei-api/src/main/java/cn/qihangerp/api/wei/controller/WeiOrderController.java
index 8428e3b8..1ba6b852 100644
--- a/microservices/wei-api/src/main/java/cn/qihangerp/api/wei/controller/WeiOrderController.java
+++ b/microservices/wei-api/src/main/java/cn/qihangerp/api/wei/controller/WeiOrderController.java
@@ -54,10 +54,8 @@ public class WeiOrderController extends BaseController {
public AjaxResult confirmOrder(@RequestBody WeiOrderConfirmBo 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/wei/pom.xml b/serviceImpl/wei/pom.xml
index 48978d0d..21bcf5ee 100644
--- a/serviceImpl/wei/pom.xml
+++ b/serviceImpl/wei/pom.xml
@@ -24,6 +24,11 @@
1.0
compile
+
+ cn.qihangerp.mapper
+ mapper
+ 2.0.0
+
cn.qihangerp.service
goods
diff --git a/serviceImpl/wei/src/main/java/cn/qihangerp/module/open/wei/service/WeiOrderService.java b/serviceImpl/wei/src/main/java/cn/qihangerp/module/open/wei/service/WeiOrderService.java
index 4400f505..a4528108 100644
--- a/serviceImpl/wei/src/main/java/cn/qihangerp/module/open/wei/service/WeiOrderService.java
+++ b/serviceImpl/wei/src/main/java/cn/qihangerp/module/open/wei/service/WeiOrderService.java
@@ -4,6 +4,7 @@ import cn.qihangerp.common.PageQuery;
import cn.qihangerp.common.PageResult;
import cn.qihangerp.common.ResultVo;
import cn.qihangerp.module.open.wei.domain.WeiOrder;
+import cn.qihangerp.module.open.wei.domain.bo.WeiOrderConfirmBo;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -17,4 +18,5 @@ public interface WeiOrderService extends IService {
ResultVo saveOrder(Long shopId, WeiOrder order);
WeiOrder queryDetailById(Long id);
WeiOrder queryDetailByOrderId(String orderId);
+ ResultVo confirmOrder(WeiOrderConfirmBo confirmBo);
}
diff --git a/serviceImpl/wei/src/main/java/cn/qihangerp/module/open/wei/service/impl/WeiOrderServiceImpl.java b/serviceImpl/wei/src/main/java/cn/qihangerp/module/open/wei/service/impl/WeiOrderServiceImpl.java
index 968716ed..065c8eb5 100644
--- a/serviceImpl/wei/src/main/java/cn/qihangerp/module/open/wei/service/impl/WeiOrderServiceImpl.java
+++ b/serviceImpl/wei/src/main/java/cn/qihangerp/module/open/wei/service/impl/WeiOrderServiceImpl.java
@@ -4,9 +4,16 @@ 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.OOrder;
+import cn.qihangerp.model.entity.OOrderItem;
import cn.qihangerp.module.open.wei.domain.WeiGoodsSku;
import cn.qihangerp.module.open.wei.domain.WeiOrder;
import cn.qihangerp.module.open.wei.domain.WeiOrderItem;
+import cn.qihangerp.module.open.wei.domain.bo.WeiOrderConfirmBo;
import cn.qihangerp.module.open.wei.mapper.WeiGoodsSkuMapper;
import cn.qihangerp.module.open.wei.mapper.WeiOrderItemMapper;
import cn.qihangerp.module.open.wei.mapper.WeiOrderMapper;
@@ -21,6 +28,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.util.StringUtils;
+import java.util.Date;
import java.util.List;
/**
@@ -35,6 +43,8 @@ public class WeiOrderServiceImpl extends ServiceImpl
private final WeiOrderMapper mapper;
private final WeiOrderItemMapper itemMapper;
private final WeiGoodsSkuMapper goodsSkuMapper;
+ private final ErpOrderMapper erpOrderMapper;
+ private final ErpOrderItemMapper erpOrderItemMapper;
// private final MQClientService mqClientService;
@Override
@@ -148,6 +158,98 @@ public class WeiOrderServiceImpl extends ServiceImpl
return weiOrders.get(0);
}else return null;
}
+
+ @Override
+ public ResultVo confirmOrder(WeiOrderConfirmBo confirmBo) {
+ WeiOrder 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(WeiOrderItem::getOrderId, pddOrder.getOrderId()));
+ if(pddOrderItems==null || pddOrderItems.isEmpty()){
+ return ResultVo.error("找不到订单item");
+ }
+
+ OOrder erpOrder = erpOrderMapper.selectOne(new LambdaQueryWrapper().eq(OOrder::getOrderNum,pddOrder.getOrderId()));
+ if(erpOrder!=null) {
+ // 已经确认过了,更新自己
+ WeiOrder douOrderUpdate = new WeiOrder();
+ douOrderUpdate.setId(pddOrder.getId());
+ douOrderUpdate.setAuditStatus(1);
+ douOrderUpdate.setAuditTime(new Date());
+ mapper.updateById(douOrderUpdate);
+
+ return ResultVo.error("已经确认过了");
+ }
+ OOrder order = new OOrder();
+ order.setOrderNum(pddOrder.getOrderId());
+ order.setShopType(EnumShopType.WEI.getIndex());
+ order.setShopId(pddOrder.getShopId());
+// order.setShipType(confirmBo.getShipType());
+ order.setShipType(0);
+ order.setBuyerMemo("");
+ order.setSellerMemo("");
+ order.setRefundStatus(1);
+ order.setOrderStatus(1);
+ order.setGoodsAmount(pddOrder.getProductPrice()!=null?pddOrder.getProductPrice().doubleValue()/100:0.0);
+ order.setPostFee(pddOrder.getFreight()!=null?pddOrder.getFreight().doubleValue()/100:0.0);
+ order.setSellerDiscount(pddOrder.getDiscountedPrice()!=null?pddOrder.getDiscountedPrice().doubleValue()/100:0.0);
+ order.setPlatformDiscount(0.0);
+ order.setAmount(pddOrder.getOrderPrice()!=null?pddOrder.getOrderPrice().doubleValue()/100:0.0);
+ order.setPayment(order.getAmount());
+ 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(pddOrder.getCreateTime()!=null?new Date(pddOrder.getCreateTime()*1000):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(order.getOrderNum()+"-"+item.getSkuId());
+ oOrderItem.setShopType(EnumShopType.WEI.getIndex());
+ oOrderItem.setShopId(pddOrder.getShopId());
+ oOrderItem.setSkuId(item.getSkuId());
+ oOrderItem.setGoodsId(item.getOGoodsId()!=null?item.getOGoodsId():0L);
+ oOrderItem.setGoodsSkuId(item.getOGoodsSkuId()!=null?item.getOGoodsSkuId():0L);
+ oOrderItem.setGoodsTitle(item.getTitle());
+ oOrderItem.setGoodsImg(item.getThumbImg());
+ oOrderItem.setGoodsNum(item.getOutProductId());
+ oOrderItem.setGoodsSpec("");
+ oOrderItem.setSkuNum(item.getOutSkuId());
+ oOrderItem.setGoodsPrice(item.getSalePrice()!=null?item.getSalePrice().doubleValue()/100:0.0);
+ oOrderItem.setQuantity(item.getSkuCnt());
+ 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);
+ }
+ // 更新自己
+ WeiOrder douOrderUpdate = new WeiOrder();
+ douOrderUpdate.setId(pddOrder.getId());
+ douOrderUpdate.setAuditStatus(1);
+ douOrderUpdate.setAuditTime(new Date());
+ mapper.updateById(douOrderUpdate);
+ return ResultVo.success();
+ }
}