发货添加错误时返回原因

This commit is contained in:
wuchunlei
2024-03-29 13:10:59 +08:00
parent ef2e2d38b1
commit 322eb45392
3 changed files with 34 additions and 39 deletions

View File

@@ -722,9 +722,7 @@ public class BuyOrderController {
@RequestMapping(value = "/delivery", method = RequestMethod.POST)
public R delivery(@RequestParam("expressCompanyCode") String expressCompanyCode,
@RequestBody List<Integer> buyOrderProductId) throws Exception {
buyOrderService.delivery(expressCompanyCode, buyOrderProductId);
return R.ok();
return buyOrderService.delivery(expressCompanyCode, buyOrderProductId);
}
@RequestMapping("/mytest")

View File

@@ -3,6 +3,7 @@ package com.peanut.modules.book.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.peanut.common.utils.PageUtils;
import com.peanut.common.utils.R;
import com.peanut.modules.common.entity.BuyOrder;
import com.peanut.modules.book.to.UserOrderDto;
import com.peanut.modules.book.vo.UserOrderVo;
@@ -49,7 +50,7 @@ public interface BuyOrderService extends IService<BuyOrder> {
* @param expressCompanyCode 快递公司代码
* @param buyOrderDetailId 订单详情 ID 列表
*/
void delivery(String expressCompanyCode, List<Integer> buyOrderDetailId);
R delivery(String expressCompanyCode, List<Integer> buyOrderDetailId);
Page<BuyOrder> getUserOrderList(UserOrderDto userOrderDto);

View File

@@ -12,6 +12,7 @@ import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.peanut.common.utils.ExcludeEmptyQueryWrapper;
import com.peanut.common.utils.PageUtils;
import com.peanut.common.utils.Query;
import com.peanut.common.utils.R;
import com.peanut.config.Constants;
import com.peanut.modules.common.dao.BuyOrderDao;
import com.peanut.modules.common.dao.BuyOrderProductDao;
@@ -490,7 +491,7 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrder> impl
}
@Override
public void delivery(String expressCompanyCode, List<Integer> buyOrderProductId) {
public R delivery(String expressCompanyCode, List<Integer> buyOrderProductId) {
QueryWrapper<BuyOrderProduct> queryWrapper = new QueryWrapper<>();
queryWrapper.in("id", buyOrderProductId);
List<BuyOrderProduct> buyOrderProductList = buyOrderProductService.list(queryWrapper);
@@ -518,16 +519,9 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrder> impl
commodityList.add(commodity);
ln++;
}
// 获取用户地址
Integer orderId = buyOrderProductList.get(0).getOrderId();
BuyOrder buyOrder = getById(orderId);
// System.out.println(buyOrder);
QueryWrapper<County> countyQueryWrapper = new QueryWrapper<>();
countyQueryWrapper.eq("county_name", buyOrder.getDistrict());
List<County> counties = countyService.getBaseMapper().selectList(countyQueryWrapper);
@@ -536,11 +530,8 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrder> impl
countyQueryWrapper.eq("city_id",one.getCityId());
}
County county = countyService.getOne(countyQueryWrapper);
// 计算快递费用
BigDecimal expressFee = expressFeeService.calculateExpressFee(expressCompanyCode, totalWeight, county.getRegionCode());
ExpressOrder expressOrder = new ExpressOrder();
expressOrder.setExpressFee(expressFee);
expressOrder.setCreateTime(new Date());
@@ -557,34 +548,39 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrder> impl
expressOrder.setRemark(remark);
// 生成快递面单
ExpressOrderResponseVo response = expressOrderService.placeExpressOrder(expressOrder);
String expressOrderSn = response.getOrder().getLogisticCode();
if(response.isSuccess()){
String expressOrderSn = response.getOrder().getLogisticCode();
// String printTemplate = response.getPrintTemplate();
String printTemplate = pushHtmlToOss(response.getPrintTemplate(),expressOrderSn+".html");
String printTemplate = pushHtmlToOss(response.getPrintTemplate(),expressOrderSn+".html");
expressOrder.setExpressOrderSn(expressOrderSn);
expressOrder.setPrintTemplate(printTemplate);
expressOrderDao.insert(expressOrder);
int expressOrderId = expressOrder.getId();
for (BuyOrderProduct buyOrderProduct : buyOrderProductList) {
buyOrderProduct.setExpressOrderId(expressOrderId);
buyOrderProduct.setShipped(1);
}
buyOrderProductService.updateBatchById(buyOrderProductList);
//更改订单状态
QueryWrapper<BuyOrder> buyOrderQueryWrapper = new QueryWrapper<>();
buyOrderQueryWrapper.in("order_id", buyOrderIdList);
List<BuyOrder> buyOrderList = list(buyOrderQueryWrapper);
for (BuyOrder buyorder : buyOrderList) {
QueryWrapper<BuyOrderProduct> buyOrderProductQueryWrapper = new QueryWrapper<>();
buyOrderProductQueryWrapper.eq("order_id", buyorder.getOrderId());
buyOrderProductQueryWrapper.eq("express_order_id", 0);
int count = buyOrderProductService.count(buyOrderProductQueryWrapper);
if (count == 0) {
buyorder.setOrderStatus(Constants.ORDER_STATUS_SHIPPED);
expressOrder.setExpressOrderSn(expressOrderSn);
expressOrder.setPrintTemplate(printTemplate);
expressOrderDao.insert(expressOrder);
int expressOrderId = expressOrder.getId();
for (BuyOrderProduct buyOrderProduct : buyOrderProductList) {
buyOrderProduct.setExpressOrderId(expressOrderId);
buyOrderProduct.setShipped(1);
}
buyOrderProductService.updateBatchById(buyOrderProductList);
//更改订单状态
QueryWrapper<BuyOrder> buyOrderQueryWrapper = new QueryWrapper<>();
buyOrderQueryWrapper.in("order_id", buyOrderIdList);
List<BuyOrder> buyOrderList = list(buyOrderQueryWrapper);
for (BuyOrder buyorder : buyOrderList) {
QueryWrapper<BuyOrderProduct> buyOrderProductQueryWrapper = new QueryWrapper<>();
buyOrderProductQueryWrapper.eq("order_id", buyorder.getOrderId());
buyOrderProductQueryWrapper.eq("express_order_id", 0);
int count = buyOrderProductService.count(buyOrderProductQueryWrapper);
if (count == 0) {
buyorder.setOrderStatus(Constants.ORDER_STATUS_SHIPPED);
}
}
updateBatchById(buyOrderList);
return R.ok();
}else {
return R.error(response.getReason());
}
updateBatchById(buyOrderList);
}
public String mytest() throws IOException {