order list order detail print template template list

This commit is contained in:
Cauchy
2023-10-20 14:14:20 +08:00
parent a1b70c8d4f
commit 62ea0482a3
13 changed files with 222 additions and 105 deletions

View File

@@ -3,22 +3,19 @@ package com.peanut.modules.book.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.peanut.common.utils.ExcludeEmptyQueryWrapper;
import com.peanut.common.utils.PageUtils;
import com.peanut.common.utils.Query;
import com.peanut.config.Constants;
import com.peanut.modules.book.dao.BuyOrderDao;
import com.peanut.modules.book.entity.*;
import com.peanut.modules.book.service.*;
import com.peanut.modules.book.entity.ExpressCommodity;
import com.peanut.modules.book.vo.ExpressOrderResponseVo;
import com.peanut.modules.book.vo.UserOrderVo;
import com.peanut.modules.book.vo.request.BuyOrderListRequestVo;
import com.peanut.modules.book.vo.response.BuyOrderListResponseVo;
import com.peanut.modules.book.vo.response.BuyOrderResponseVo;
import com.peanut.modules.book.vo.response.ConsigneeVo;
import com.peanut.modules.book.vo.response.ExpressResponseVo;
import com.peanut.modules.book.vo.response.GoodsResponseVo;
@@ -30,7 +27,6 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -61,55 +57,6 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrder> impl
protected Logger logger = LoggerFactory.getLogger(BuyOrderServiceImpl.class);
public BuyOrderServiceImpl() {
}
@Override
public PageUtils list(Map<String, Object> params) throws Exception {
IPage<BuyOrder> page;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String startTime = null;
String endTime = null;
if (params.containsKey("startTime")) {
startTime = sdf.format(Long.parseLong(params.get("startTime").toString()));
endTime = sdf.format(Long.parseLong(params.get("endTime").toString()));
}
if (ObjectUtils.isEmpty(params.get("orderStatus"))) {
ExcludeEmptyQueryWrapper<BuyOrder> queryWrapper = new ExcludeEmptyQueryWrapper<>();
Query<BuyOrder> query = new Query<>();
page = query.getPage(params);
queryWrapper.eq("user_phone", params.get("key"));
queryWrapper.or().like("order_sn", params.get("key"));
queryWrapper.or().like("shipping_user", params.get("key"));
queryWrapper.apply(startTime != null, "date_format (create_time,'%Y-%m-%d') >= date_format ({0},'%Y-%m-%d')", startTime);
queryWrapper.apply(endTime != null, "date_format (create_time,'%Y-%m-%d') <= date_format ({0},'%Y-%m-%d')", endTime).orderByDesc("create_time");
page = this.page(page, queryWrapper);
} else {
page = this.page(
new Query<BuyOrder>().getPage(params),
new ExcludeEmptyQueryWrapper<BuyOrder>().eq("order_status", params.get("orderStatus")).eq("user_phone", params.get("key"))
.or().like("order_sn", params.get("key")).or().like("shipping_user", params.get("key"))
.apply(startTime != null, "date_format (create_time,'%Y-%m-%d') >= date_format ({0},'%Y-%m-%d')", startTime)
.apply(endTime != null, "date_format (create_time,'%Y-%m-%d') <= date_format ({0},'%Y-%m-%d')", endTime).orderByDesc("create_time")
);
}
List<BuyOrder> records = page.getRecords();
for (BuyOrder record : records) {
Integer userId = record.getUserId();
MyUserEntity myUserEntity = myUserService.getById(userId);
if (!ObjectUtils.isEmpty(myUserEntity)) {
record.setUserName(myUserEntity.getName());
record.setProducts(buyOrderDetailService.list(new QueryWrapper<BuyOrderDetail>()
.eq("order_id", record.getOrderId())));
}
}
return new PageUtils(page);
}
@Override
public PageUtils getMyOrderList(Map<String, Object> params) {
@@ -291,18 +238,17 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrder> impl
}
@Override
public List<BuyOrderListResponseVo> orderList(BuyOrderListRequestVo requestVo) {
Page<BuyOrder> userPage = new Page<>(requestVo.getPageIndex(), requestVo.getPageSize());
public PageUtils orderList(BuyOrderListRequestVo requestVo) {
List<BuyOrderResponseVo> result = new ArrayList<>();
QueryWrapper<BuyOrder> buyOrderQueryWrapper = new QueryWrapper<>();
buyOrderQueryWrapper.like(StringUtils.isNotBlank(requestVo.getSearchKeyWord()), "order_sn", requestVo.getSearchKeyWord());
buyOrderQueryWrapper.eq(StringUtils.isNotBlank(requestVo.getOrderStatus()), "order_status", requestVo.getOrderStatus());
buyOrderQueryWrapper.gt(requestVo.getStartTime() != null, "create_time", requestVo.getStartTime());
buyOrderQueryWrapper.lt(requestVo.getEndTime() != null, "create_time", requestVo.getStartTime());
IPage<BuyOrder> page = page(userPage, buyOrderQueryWrapper);
List<BuyOrder> buyOrderList = page.getRecords();
List<BuyOrderListResponseVo> result = new ArrayList<>();
List<BuyOrder> buyOrderList = list(buyOrderQueryWrapper);
for (BuyOrder buyOrder : buyOrderList) {
BuyOrderListResponseVo responseVo = new BuyOrderListResponseVo();
BuyOrderResponseVo responseVo = new BuyOrderResponseVo();
responseVo.setOrderPrice(buyOrder.getOrderMoney());
BeanUtil.copyProperties(buyOrder, responseVo);
ConsigneeVo consigneeVo = new ConsigneeVo();
consigneeVo.setConsigneeName(buyOrder.getShippingUser());
@@ -319,13 +265,13 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrder> impl
for (BuyOrderProduct buyOrderProduct : buyOrderProductList) {
GoodsResponseVo goodsResponseVo = new GoodsResponseVo();
QueryWrapper<ShopProduct> shopProductQueryWrapper = new QueryWrapper<>();
shopProductQueryWrapper.eq("id", buyOrderProduct.getProductId());
shopProductQueryWrapper.eq("product_id", buyOrderProduct.getProductId());
ShopProduct shopProduct = shopProductService.getOne(shopProductQueryWrapper);
goodsResponseVo.setProductName(shopProduct.getProductName());
goodsResponseVo.setProductImage(shopProduct.getProductImages());
goodsResponseVo.setProductPrice(shopProduct.getPrice());
QueryWrapper<ExpressOrder> expressOrderQueryWrapper = new QueryWrapper<>();
expressOrderQueryWrapper.eq("id", buyOrderProduct.getExpress_order_id());
expressOrderQueryWrapper.eq("id", buyOrderProduct.getExpressOrderId());
ExpressOrder expressOrder = expressOrderService.getOne(expressOrderQueryWrapper);
ExpressResponseVo expressResponseVo = new ExpressResponseVo();
expressResponseVo.setExpressCompany(expressOrder.getExpressCompanyCode());
@@ -337,9 +283,10 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrder> impl
responseVo.setGoodsList(goodsResponseVoList);
result.add(responseVo);
}
return result;
return new PageUtils(result, buyOrderList.size(), requestVo.getPageSize(), requestVo.getPageIndex());
}
@Override
public void delivery(String expressCompanyCode, List<Integer> buyOrderDetailId) {
QueryWrapper<BuyOrderDetail> queryWrapper = new QueryWrapper<>();
@@ -368,14 +315,14 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrder> impl
// 计算快递费用
BigDecimal expressFee = expressFeeService.calculateExpressFee(expressCompanyCode, totalWeight, county.getRegionCode());
ExpressOrder expressOrder = new ExpressOrder();
expressOrder.setOrderId(buyOrderDetailList.get(0).getOrderId());
// expressOrder.setOrderId(buyOrderDetailList.get(0).getOrderId());
expressOrder.setExpressFee(expressFee);
expressOrder.setCreateTime(new Date());
expressOrder.setTotalWeight(totalWeight);
expressOrder.setCommodity(commodityList);
expressOrder.setExpressCompanyCode(expressCompanyCode);
expressOrder.setName(buyOrder.getShippingUser());
expressOrder.setMobile(buyOrder.getUserPhone());
expressOrder.setConsigneeName(buyOrder.getShippingUser());
expressOrder.setConsigneeMobile(buyOrder.getUserPhone());
expressOrder.setProvince(buyOrder.getProvince());
expressOrder.setCity(buyOrder.getCity());
expressOrder.setCounty(buyOrder.getDistrict());
@@ -391,4 +338,45 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrder> impl
}
buyOrderDetailService.saveBatch(buyOrderDetailList);
}
@Override
public BuyOrderResponseVo orderDetail(String orderSn) {
QueryWrapper<BuyOrder> buyOrderQueryWrapper = new QueryWrapper<>();
buyOrderQueryWrapper.eq("order_sn", orderSn);
BuyOrder buyOrder = getOne(buyOrderQueryWrapper);
BuyOrderResponseVo responseVo = new BuyOrderResponseVo();
BeanUtil.copyProperties(buyOrder, responseVo);
ConsigneeVo consigneeVo = new ConsigneeVo();
consigneeVo.setConsigneeName(buyOrder.getShippingUser());
consigneeVo.setConsigneeMobile(buyOrder.getUserPhone());
consigneeVo.setProvince(buyOrder.getProvince());
consigneeVo.setCity(buyOrder.getCity());
consigneeVo.setCounty(buyOrder.getDistrict());
consigneeVo.setAddress(buyOrder.getAddress());
responseVo.setConsignee(consigneeVo);
QueryWrapper<BuyOrderProduct> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("order_id", buyOrder.getOrderId());
List<BuyOrderProduct> buyOrderProductList = buyOrderProductService.list(queryWrapper);
List<GoodsResponseVo> goodsResponseVoList = new ArrayList<>();
for (BuyOrderProduct buyOrderProduct : buyOrderProductList) {
GoodsResponseVo goodsResponseVo = new GoodsResponseVo();
QueryWrapper<ShopProduct> shopProductQueryWrapper = new QueryWrapper<>();
shopProductQueryWrapper.eq("product_id", buyOrderProduct.getProductId());
ShopProduct shopProduct = shopProductService.getOne(shopProductQueryWrapper);
goodsResponseVo.setProductName(shopProduct.getProductName());
goodsResponseVo.setProductImage(shopProduct.getProductImages());
goodsResponseVo.setProductPrice(shopProduct.getPrice());
QueryWrapper<ExpressOrder> expressOrderQueryWrapper = new QueryWrapper<>();
expressOrderQueryWrapper.eq("id", buyOrderProduct.getExpressOrderId());
ExpressOrder expressOrder = expressOrderService.getOne(expressOrderQueryWrapper);
ExpressResponseVo expressResponseVo = new ExpressResponseVo();
expressResponseVo.setExpressCompany(expressOrder.getExpressCompanyCode());
expressResponseVo.setExpressOrderSn(expressOrder.getExpressOrderSn());
expressResponseVo.setPrintTemplate(expressOrder.getPrintTemplate());
goodsResponseVo.setExpressInfo(expressResponseVo);
goodsResponseVoList.add(goodsResponseVo);
}
responseVo.setGoodsList(goodsResponseVoList);
return responseVo;
}
}

View File

@@ -43,7 +43,7 @@ public class ExpressOrderServiceImpl extends ServiceImpl<ExpressOrderDao, Expres
public ExpressOrderResponseVo placeExpressOrder(ExpressOrder expressOrder) {
ExpressOrderRequestVo orderRequestVo = new ExpressOrderRequestVo();
// 订单号
orderRequestVo.setOrderCode(expressOrder.getOrderId().toString());
// orderRequestVo.setOrderCode(expressOrder.getOrderId().toString());
orderRequestVo.setIsReturnPrintTemplate(1);
orderRequestVo.setShipperCode(expressOrder.getExpressCompanyCode());
orderRequestVo.setPayType(3);
@@ -66,8 +66,8 @@ public class ExpressOrderServiceImpl extends ServiceImpl<ExpressOrderDao, Expres
sender.setAddress(senderAddress);
// 收货人
ExpressUserInfoVo receiver = new ExpressUserInfoVo();
receiver.setName(expressOrder.getName());
receiver.setMobile(expressOrder.getMobile());
receiver.setName(expressOrder.getConsigneeName());
receiver.setMobile(expressOrder.getConsigneeMobile());
receiver.setProvinceName(expressOrder.getProvince());
receiver.setCityName(expressOrder.getCity());
receiver.setExpAreaName(expressOrder.getCounty());