完善wei订单确认

This commit is contained in:
启航 2025-10-04 12:24:57 +08:00
parent 30784b5a93
commit 598a56b4bc
4 changed files with 112 additions and 5 deletions

View File

@ -54,10 +54,8 @@ public class WeiOrderController extends BaseController {
public AjaxResult confirmOrder(@RequestBody WeiOrderConfirmBo bo) { public AjaxResult confirmOrder(@RequestBody WeiOrderConfirmBo bo) {
log.info("=========确认订单======={}", JSONObject.toJSONString(bo)); log.info("=========确认订单======={}", JSONObject.toJSONString(bo));
// var result = orderService.confirmOrder(bo); var result = orderService.confirmOrder(bo);
// if(result.getCode()==0) return success(); if(result.getCode()==0) return success();
// else return AjaxResult.error(result.getMsg()); else return AjaxResult.error(result.getMsg());
return AjaxResult.error("未实现");
} }
} }

View File

@ -24,6 +24,11 @@
<version>1.0</version> <version>1.0</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<groupId>cn.qihangerp.mapper</groupId>
<artifactId>mapper</artifactId>
<version>2.0.0</version>
</dependency>
<dependency> <dependency>
<groupId>cn.qihangerp.service</groupId> <groupId>cn.qihangerp.service</groupId>
<artifactId>goods</artifactId> <artifactId>goods</artifactId>

View File

@ -4,6 +4,7 @@ import cn.qihangerp.common.PageQuery;
import cn.qihangerp.common.PageResult; import cn.qihangerp.common.PageResult;
import cn.qihangerp.common.ResultVo; import cn.qihangerp.common.ResultVo;
import cn.qihangerp.module.open.wei.domain.WeiOrder; import cn.qihangerp.module.open.wei.domain.WeiOrder;
import cn.qihangerp.module.open.wei.domain.bo.WeiOrderConfirmBo;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
@ -17,4 +18,5 @@ public interface WeiOrderService extends IService<WeiOrder> {
ResultVo<Integer> saveOrder(Long shopId, WeiOrder order); ResultVo<Integer> saveOrder(Long shopId, WeiOrder order);
WeiOrder queryDetailById(Long id); WeiOrder queryDetailById(Long id);
WeiOrder queryDetailByOrderId(String orderId); WeiOrder queryDetailByOrderId(String orderId);
ResultVo<Long> confirmOrder(WeiOrderConfirmBo confirmBo);
} }

View File

@ -4,9 +4,16 @@ import cn.qihangerp.common.PageQuery;
import cn.qihangerp.common.PageResult; import cn.qihangerp.common.PageResult;
import cn.qihangerp.common.ResultVo; import cn.qihangerp.common.ResultVo;
import cn.qihangerp.common.ResultVoEnum; 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.WeiGoodsSku;
import cn.qihangerp.module.open.wei.domain.WeiOrder; import cn.qihangerp.module.open.wei.domain.WeiOrder;
import cn.qihangerp.module.open.wei.domain.WeiOrderItem; 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.WeiGoodsSkuMapper;
import cn.qihangerp.module.open.wei.mapper.WeiOrderItemMapper; import cn.qihangerp.module.open.wei.mapper.WeiOrderItemMapper;
import cn.qihangerp.module.open.wei.mapper.WeiOrderMapper; 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.transaction.interceptor.TransactionAspectSupport;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -35,6 +43,8 @@ public class WeiOrderServiceImpl extends ServiceImpl<WeiOrderMapper, WeiOrder>
private final WeiOrderMapper mapper; private final WeiOrderMapper mapper;
private final WeiOrderItemMapper itemMapper; private final WeiOrderItemMapper itemMapper;
private final WeiGoodsSkuMapper goodsSkuMapper; private final WeiGoodsSkuMapper goodsSkuMapper;
private final ErpOrderMapper erpOrderMapper;
private final ErpOrderItemMapper erpOrderItemMapper;
// private final MQClientService mqClientService; // private final MQClientService mqClientService;
@Override @Override
@ -148,6 +158,98 @@ public class WeiOrderServiceImpl extends ServiceImpl<WeiOrderMapper, WeiOrder>
return weiOrders.get(0); return weiOrders.get(0);
}else return null; }else return null;
} }
@Override
public ResultVo<Long> confirmOrder(WeiOrderConfirmBo confirmBo) {
WeiOrder pddOrder = mapper.selectById(confirmBo.getOrderId());
if(pddOrder==null) return ResultVo.error("订单数据不存在");
if(pddOrder.getAuditStatus()!=0) return ResultVo.error("已经确认过了!");
List<WeiOrderItem> pddOrderItems = itemMapper.selectList(
new LambdaQueryWrapper<WeiOrderItem>()
.eq(WeiOrderItem::getOrderId, pddOrder.getOrderId()));
if(pddOrderItems==null || pddOrderItems.isEmpty()){
return ResultVo.error("找不到订单item");
}
OOrder erpOrder = erpOrderMapper.selectOne(new LambdaQueryWrapper<OOrder>().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();
}
} }