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

1
.gitignore vendored
View File

@@ -13,3 +13,4 @@ buildNumber.properties
/src/test/ /src/test/
peanut_book.iml peanut_book.iml
weChatConfig.properties weChatConfig.properties
/src/main/resources/application-dev-wcl.yml

View File

@@ -13,7 +13,7 @@ import com.peanut.modules.book.service.*;
import com.peanut.modules.book.vo.request.BuyOrderListRequestVo; import com.peanut.modules.book.vo.request.BuyOrderListRequestVo;
import com.peanut.modules.book.vo.request.ProductRequestVo; import com.peanut.modules.book.vo.request.ProductRequestVo;
import com.peanut.modules.book.vo.request.ProductTransportVo; import com.peanut.modules.book.vo.request.ProductTransportVo;
import com.peanut.modules.book.vo.response.BuyOrderListResponseVo; import com.peanut.modules.book.vo.response.BuyOrderResponseVo;
import com.peanut.modules.book.vo.response.ExpressQueryResponseVo; import com.peanut.modules.book.vo.response.ExpressQueryResponseVo;
import com.peanut.modules.book.vo.ShippingAddressRequestVo; import com.peanut.modules.book.vo.ShippingAddressRequestVo;
import com.peanut.modules.book.vo.UserAddressVo; import com.peanut.modules.book.vo.UserAddressVo;
@@ -80,18 +80,6 @@ public class BuyOrderController {
@Autowired @Autowired
private SysConfigService sysConfigService; private SysConfigService sysConfigService;
/**
* 订单列表
*
* @param params
* @return
* @throws Exception
*/
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params) throws Exception {
PageUtils page = buyOrderService.list(params);
return R.ok().put("page", page);
}
/** /**
* 订单列表 * 订单列表
@@ -101,8 +89,14 @@ public class BuyOrderController {
*/ */
@RequestMapping(path = "/orderList", method = RequestMethod.POST) @RequestMapping(path = "/orderList", method = RequestMethod.POST)
public R orderList(@RequestBody BuyOrderListRequestVo requestVo) { public R orderList(@RequestBody BuyOrderListRequestVo requestVo) {
List<BuyOrderListResponseVo> response = buyOrderService.orderList(requestVo); PageUtils page = buyOrderService.orderList(requestVo);
return R.ok().put("result", response); return R.ok().put("result", page);
}
@RequestMapping(path = "/orderDetail", method = RequestMethod.GET)
public R orderDetail(@RequestParam("orderSn") String orderSn) {
BuyOrderResponseVo buyOrderResponseVo = buyOrderService.orderDetail(orderSn);
return R.ok().put("result", buyOrderResponseVo);
} }
/** /**

View File

@@ -1,12 +1,23 @@
package com.peanut.modules.book.controller; package com.peanut.modules.book.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.peanut.common.utils.R; import com.peanut.common.utils.R;
import com.peanut.modules.book.entity.BuyOrder;
import com.peanut.modules.book.entity.BuyOrderProduct;
import com.peanut.modules.book.entity.ExpressOrder;
import com.peanut.modules.book.service.BuyOrderProductService;
import com.peanut.modules.book.service.BuyOrderService;
import com.peanut.modules.book.service.ExpressCompanyService; import com.peanut.modules.book.service.ExpressCompanyService;
import com.peanut.modules.book.service.ExpressOrderService;
import com.peanut.modules.book.vo.ExpressCompanyVo; import com.peanut.modules.book.vo.ExpressCompanyVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
@@ -18,22 +29,61 @@ import java.util.List;
@RequestMapping("/express") @RequestMapping("/express")
public class ExpressController { public class ExpressController {
private final ExpressCompanyService expressCompanyService; @Autowired
private ExpressCompanyService expressCompanyService;
@Autowired
private BuyOrderService buyOrderService;
@Autowired
private BuyOrderProductService buyOrderProductService;
@Autowired
private ExpressOrderService expressOrderService;
/** /**
* 获取快递公司列表 * 获取快递公司列表
* *
* @return R * @return R
*/ */
@RequestMapping(path = "/getExpressCompanyList") @RequestMapping(path = "/getExpressCompanyList", method = RequestMethod.GET)
public R getExpressCompanyList() { public R getExpressCompanyList() {
List<ExpressCompanyVo> expressCompanyList = expressCompanyService.getExpressCompanyList(); List<ExpressCompanyVo> expressCompanyList = expressCompanyService.getExpressCompanyList();
return R.ok().put("result", expressCompanyList); return R.ok().put("result", expressCompanyList);
} }
@Autowired /**
ExpressController(ExpressCompanyService expressCompanyService) { * 获取快递面单列表
this.expressCompanyService = expressCompanyService; *
* @return
*/
@RequestMapping(path = "/getPrintTemplateList", method = RequestMethod.GET)
public R getPrintTemplate(String orderSn) {
QueryWrapper<BuyOrder> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("order_sn", orderSn);
BuyOrder buyOrder = buyOrderService.getOne(queryWrapper);
QueryWrapper<BuyOrderProduct> buyOrderProductQueryWrapper = new QueryWrapper<>();
buyOrderProductQueryWrapper.eq("order_id", buyOrder.getOrderId());
List<BuyOrderProduct> buyOrderProductList = buyOrderProductService.list(buyOrderProductQueryWrapper);
List<Integer> expressOrderIdList = new ArrayList<>();
for (BuyOrderProduct buyOrderProduct : buyOrderProductList) {
expressOrderIdList.add(buyOrderProduct.getExpressOrderId());
}
QueryWrapper<ExpressOrder> expressOrderQueryWrapper = new QueryWrapper<>();
expressOrderQueryWrapper.in("id", expressOrderIdList);
expressOrderQueryWrapper.select("print_template");
List<ExpressOrder> expressOrderList = expressOrderService.list(expressOrderQueryWrapper);
List<String> result = new ArrayList<>();
for (ExpressOrder expressOrder : expressOrderList) {
result.add(expressOrder.getPrintTemplate());
}
return R.ok().put("result", result);
} }
@RequestMapping(value = "/printTemplate", method = RequestMethod.GET)
public R printTemplate(@RequestParam("expressOrderId") Integer expressOrderId) {
UpdateWrapper<ExpressOrder> updateWrapper = new UpdateWrapper<>();
updateWrapper.set("template_printed", 1);
updateWrapper.eq("id", expressOrderId);
expressOrderService.update(updateWrapper);
return R.ok();
}
} }

View File

@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.peanut.modules.book.entity.BuyOrder; import com.peanut.modules.book.entity.BuyOrder;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.peanut.modules.book.vo.request.BuyOrderListRequestVo; import com.peanut.modules.book.vo.request.BuyOrderListRequestVo;
import com.peanut.modules.book.vo.response.BuyOrderListResponseVo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List; import java.util.List;

View File

@@ -36,7 +36,7 @@ public class BuyOrderProduct {
/** /**
* 快递订单 ID * 快递订单 ID
*/ */
private int express_order_id; private int expressOrderId;
/** /**
* 删除标识 * 删除标识
*/ */

View File

@@ -1,5 +1,6 @@
package com.peanut.modules.book.entity; package com.peanut.modules.book.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
@@ -34,19 +35,15 @@ public class ExpressOrder {
/** /**
* 收件人姓名 * 收件人姓名
*/ */
private String name; private String consigneeName;
/** /**
* 收件人电话 * 收件人电话
*/ */
private String mobile; private String consigneeMobile;
/** /**
* 收件人详细地址 * 收件人详细地址
*/ */
private String address; private String address;
/**
* 订单号
*/
private Integer orderId;
/** /**
* 快递公司代码 * 快递公司代码
*/ */
@@ -74,6 +71,7 @@ public class ExpressOrder {
/** /**
* 物品信息 * 物品信息
*/ */
@TableField(exist = false)
private List<ExpressCommodity> Commodity; private List<ExpressCommodity> Commodity;
/** /**
* 快递单号 * 快递单号

View File

@@ -6,7 +6,7 @@ import com.peanut.common.utils.PageUtils;
import com.peanut.modules.book.entity.BuyOrder; import com.peanut.modules.book.entity.BuyOrder;
import com.peanut.modules.book.vo.UserOrderVo; import com.peanut.modules.book.vo.UserOrderVo;
import com.peanut.modules.book.vo.request.BuyOrderListRequestVo; 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 java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -20,8 +20,6 @@ import java.util.Map;
*/ */
public interface BuyOrderService extends IService<BuyOrder> { public interface BuyOrderService extends IService<BuyOrder> {
PageUtils list(Map<String, Object> params) throws Exception;
PageUtils getMyOrderList(Map<String, Object> params); PageUtils getMyOrderList(Map<String, Object> params);
//更新订单状态 //更新订单状态
@@ -33,7 +31,13 @@ public interface BuyOrderService extends IService<BuyOrder> {
// 查询所有订单是否有可合并 // 查询所有订单是否有可合并
Page checkOrder(Map<String, Object> params); Page checkOrder(Map<String, Object> params);
List<BuyOrderListResponseVo> orderList(BuyOrderListRequestVo requestVo); /**
* 订单列表
*
* @param requestVo
* @return
*/
PageUtils orderList(BuyOrderListRequestVo requestVo);
/** /**
* 订单拆分发货 * 订单拆分发货
@@ -43,5 +47,7 @@ public interface BuyOrderService extends IService<BuyOrder> {
*/ */
void delivery(String expressCompanyCode, List<Integer> buyOrderDetailId); void delivery(String expressCompanyCode, List<Integer> buyOrderDetailId);
BuyOrderResponseVo orderDetail(String orderSn);
} }

View File

@@ -3,22 +3,19 @@ package com.peanut.modules.book.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; 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.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 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.PageUtils;
import com.peanut.common.utils.Query; import com.peanut.common.utils.Query;
import com.peanut.config.Constants; import com.peanut.config.Constants;
import com.peanut.modules.book.dao.BuyOrderDao; import com.peanut.modules.book.dao.BuyOrderDao;
import com.peanut.modules.book.entity.*; import com.peanut.modules.book.entity.*;
import com.peanut.modules.book.service.*; 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.ExpressOrderResponseVo;
import com.peanut.modules.book.vo.UserOrderVo; import com.peanut.modules.book.vo.UserOrderVo;
import com.peanut.modules.book.vo.request.BuyOrderListRequestVo; 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.ConsigneeVo;
import com.peanut.modules.book.vo.response.ExpressResponseVo; import com.peanut.modules.book.vo.response.ExpressResponseVo;
import com.peanut.modules.book.vo.response.GoodsResponseVo; 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.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -61,55 +57,6 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrder> impl
protected Logger logger = LoggerFactory.getLogger(BuyOrderServiceImpl.class); 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 @Override
public PageUtils getMyOrderList(Map<String, Object> params) { public PageUtils getMyOrderList(Map<String, Object> params) {
@@ -291,18 +238,17 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrder> impl
} }
@Override @Override
public List<BuyOrderListResponseVo> orderList(BuyOrderListRequestVo requestVo) { public PageUtils orderList(BuyOrderListRequestVo requestVo) {
Page<BuyOrder> userPage = new Page<>(requestVo.getPageIndex(), requestVo.getPageSize()); List<BuyOrderResponseVo> result = new ArrayList<>();
QueryWrapper<BuyOrder> buyOrderQueryWrapper = new QueryWrapper<>(); QueryWrapper<BuyOrder> buyOrderQueryWrapper = new QueryWrapper<>();
buyOrderQueryWrapper.like(StringUtils.isNotBlank(requestVo.getSearchKeyWord()), "order_sn", requestVo.getSearchKeyWord()); buyOrderQueryWrapper.like(StringUtils.isNotBlank(requestVo.getSearchKeyWord()), "order_sn", requestVo.getSearchKeyWord());
buyOrderQueryWrapper.eq(StringUtils.isNotBlank(requestVo.getOrderStatus()), "order_status", requestVo.getOrderStatus()); buyOrderQueryWrapper.eq(StringUtils.isNotBlank(requestVo.getOrderStatus()), "order_status", requestVo.getOrderStatus());
buyOrderQueryWrapper.gt(requestVo.getStartTime() != null, "create_time", requestVo.getStartTime()); buyOrderQueryWrapper.gt(requestVo.getStartTime() != null, "create_time", requestVo.getStartTime());
buyOrderQueryWrapper.lt(requestVo.getEndTime() != null, "create_time", requestVo.getStartTime()); buyOrderQueryWrapper.lt(requestVo.getEndTime() != null, "create_time", requestVo.getStartTime());
IPage<BuyOrder> page = page(userPage, buyOrderQueryWrapper); List<BuyOrder> buyOrderList = list(buyOrderQueryWrapper);
List<BuyOrder> buyOrderList = page.getRecords();
List<BuyOrderListResponseVo> result = new ArrayList<>();
for (BuyOrder buyOrder : buyOrderList) { for (BuyOrder buyOrder : buyOrderList) {
BuyOrderListResponseVo responseVo = new BuyOrderListResponseVo(); BuyOrderResponseVo responseVo = new BuyOrderResponseVo();
responseVo.setOrderPrice(buyOrder.getOrderMoney());
BeanUtil.copyProperties(buyOrder, responseVo); BeanUtil.copyProperties(buyOrder, responseVo);
ConsigneeVo consigneeVo = new ConsigneeVo(); ConsigneeVo consigneeVo = new ConsigneeVo();
consigneeVo.setConsigneeName(buyOrder.getShippingUser()); consigneeVo.setConsigneeName(buyOrder.getShippingUser());
@@ -319,13 +265,13 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrder> impl
for (BuyOrderProduct buyOrderProduct : buyOrderProductList) { for (BuyOrderProduct buyOrderProduct : buyOrderProductList) {
GoodsResponseVo goodsResponseVo = new GoodsResponseVo(); GoodsResponseVo goodsResponseVo = new GoodsResponseVo();
QueryWrapper<ShopProduct> shopProductQueryWrapper = new QueryWrapper<>(); QueryWrapper<ShopProduct> shopProductQueryWrapper = new QueryWrapper<>();
shopProductQueryWrapper.eq("id", buyOrderProduct.getProductId()); shopProductQueryWrapper.eq("product_id", buyOrderProduct.getProductId());
ShopProduct shopProduct = shopProductService.getOne(shopProductQueryWrapper); ShopProduct shopProduct = shopProductService.getOne(shopProductQueryWrapper);
goodsResponseVo.setProductName(shopProduct.getProductName()); goodsResponseVo.setProductName(shopProduct.getProductName());
goodsResponseVo.setProductImage(shopProduct.getProductImages()); goodsResponseVo.setProductImage(shopProduct.getProductImages());
goodsResponseVo.setProductPrice(shopProduct.getPrice()); goodsResponseVo.setProductPrice(shopProduct.getPrice());
QueryWrapper<ExpressOrder> expressOrderQueryWrapper = new QueryWrapper<>(); QueryWrapper<ExpressOrder> expressOrderQueryWrapper = new QueryWrapper<>();
expressOrderQueryWrapper.eq("id", buyOrderProduct.getExpress_order_id()); expressOrderQueryWrapper.eq("id", buyOrderProduct.getExpressOrderId());
ExpressOrder expressOrder = expressOrderService.getOne(expressOrderQueryWrapper); ExpressOrder expressOrder = expressOrderService.getOne(expressOrderQueryWrapper);
ExpressResponseVo expressResponseVo = new ExpressResponseVo(); ExpressResponseVo expressResponseVo = new ExpressResponseVo();
expressResponseVo.setExpressCompany(expressOrder.getExpressCompanyCode()); expressResponseVo.setExpressCompany(expressOrder.getExpressCompanyCode());
@@ -337,9 +283,10 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrder> impl
responseVo.setGoodsList(goodsResponseVoList); responseVo.setGoodsList(goodsResponseVoList);
result.add(responseVo); result.add(responseVo);
} }
return result; return new PageUtils(result, buyOrderList.size(), requestVo.getPageSize(), requestVo.getPageIndex());
} }
@Override @Override
public void delivery(String expressCompanyCode, List<Integer> buyOrderDetailId) { public void delivery(String expressCompanyCode, List<Integer> buyOrderDetailId) {
QueryWrapper<BuyOrderDetail> queryWrapper = new QueryWrapper<>(); 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()); BigDecimal expressFee = expressFeeService.calculateExpressFee(expressCompanyCode, totalWeight, county.getRegionCode());
ExpressOrder expressOrder = new ExpressOrder(); ExpressOrder expressOrder = new ExpressOrder();
expressOrder.setOrderId(buyOrderDetailList.get(0).getOrderId()); // expressOrder.setOrderId(buyOrderDetailList.get(0).getOrderId());
expressOrder.setExpressFee(expressFee); expressOrder.setExpressFee(expressFee);
expressOrder.setCreateTime(new Date()); expressOrder.setCreateTime(new Date());
expressOrder.setTotalWeight(totalWeight); expressOrder.setTotalWeight(totalWeight);
expressOrder.setCommodity(commodityList); expressOrder.setCommodity(commodityList);
expressOrder.setExpressCompanyCode(expressCompanyCode); expressOrder.setExpressCompanyCode(expressCompanyCode);
expressOrder.setName(buyOrder.getShippingUser()); expressOrder.setConsigneeName(buyOrder.getShippingUser());
expressOrder.setMobile(buyOrder.getUserPhone()); expressOrder.setConsigneeMobile(buyOrder.getUserPhone());
expressOrder.setProvince(buyOrder.getProvince()); expressOrder.setProvince(buyOrder.getProvince());
expressOrder.setCity(buyOrder.getCity()); expressOrder.setCity(buyOrder.getCity());
expressOrder.setCounty(buyOrder.getDistrict()); expressOrder.setCounty(buyOrder.getDistrict());
@@ -391,4 +338,45 @@ public class BuyOrderServiceImpl extends ServiceImpl<BuyOrderDao, BuyOrder> impl
} }
buyOrderDetailService.saveBatch(buyOrderDetailList); 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) { public ExpressOrderResponseVo placeExpressOrder(ExpressOrder expressOrder) {
ExpressOrderRequestVo orderRequestVo = new ExpressOrderRequestVo(); ExpressOrderRequestVo orderRequestVo = new ExpressOrderRequestVo();
// 订单号 // 订单号
orderRequestVo.setOrderCode(expressOrder.getOrderId().toString()); // orderRequestVo.setOrderCode(expressOrder.getOrderId().toString());
orderRequestVo.setIsReturnPrintTemplate(1); orderRequestVo.setIsReturnPrintTemplate(1);
orderRequestVo.setShipperCode(expressOrder.getExpressCompanyCode()); orderRequestVo.setShipperCode(expressOrder.getExpressCompanyCode());
orderRequestVo.setPayType(3); orderRequestVo.setPayType(3);
@@ -66,8 +66,8 @@ public class ExpressOrderServiceImpl extends ServiceImpl<ExpressOrderDao, Expres
sender.setAddress(senderAddress); sender.setAddress(senderAddress);
// 收货人 // 收货人
ExpressUserInfoVo receiver = new ExpressUserInfoVo(); ExpressUserInfoVo receiver = new ExpressUserInfoVo();
receiver.setName(expressOrder.getName()); receiver.setName(expressOrder.getConsigneeName());
receiver.setMobile(expressOrder.getMobile()); receiver.setMobile(expressOrder.getConsigneeMobile());
receiver.setProvinceName(expressOrder.getProvince()); receiver.setProvinceName(expressOrder.getProvince());
receiver.setCityName(expressOrder.getCity()); receiver.setCityName(expressOrder.getCity());
receiver.setExpAreaName(expressOrder.getCounty()); receiver.setExpAreaName(expressOrder.getCounty());

View File

@@ -2,6 +2,7 @@ package com.peanut.modules.book.vo.response;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@@ -11,7 +12,7 @@ import java.util.List;
* @CreateTime: 2023/10/19 * @CreateTime: 2023/10/19
*/ */
@Data @Data
public class BuyOrderListResponseVo { public class BuyOrderResponseVo {
/** /**
* 订单号 * 订单号
*/ */
@@ -32,6 +33,10 @@ public class BuyOrderListResponseVo {
* 支付时间 * 支付时间
*/ */
private Date paymentDate; private Date paymentDate;
/**
* 订单金额
*/
private BigDecimal orderPrice;
/** /**
* 商品列表 * 商品列表
*/ */

View File

@@ -0,0 +1,76 @@
spring:
redis:
open: false # 是否开启redis缓存 true开启 false关闭
database: 0
host: 127.0.0.1
port: 6379
# password: Jgll2015 # 密码(默认为空)
timeout: 6000000ms # 连接超时时长(毫秒)
jedis:
pool:
max-active: 1000 # 连接池最大连接数(使用负值表示没有限制)
max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制)
max-idle: 10 # 连接池中的最大空闲连接
min-idle: 5 # 连接池中的最小空闲连接
datasource:
type: com.alibaba.druid.pool.DruidDataSource
druid:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/e_book_test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true
username: root
password: password
initial-size: 10
max-active: 100
min-idle: 10
max-wait: 60000
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 20
time-between-eviction-runs-millis: 60000
min-evictable-idle-time-millis: 300000
#Oracle需要打开注释
#validation-query: SELECT 1 FROM DUAL
test-while-idle: true
test-on-borrow: false
test-on-return: false
stat-view-servlet:
enabled: true
url-pattern: /druid/*
#login-username: admin
#login-password: admin
filter:
stat:
log-slow-sql: true
slow-sql-millis: 1000
merge-sql: false
wall:
config:
multi-statement-allow: true
tomcat:
initSQL: SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci
rabbitmq:
host: 39.106.36.183
port: 5672
username: admin
password: 751019
virtualHost: /
aliyun:
oss:
file:
endpoint: oss-cn-beijing.aliyuncs.com
keyid: LTAIiSMeo8ztauV5
keysecret: pVIYAOIFSUGg61lYfE8cjg2ZNpnLJA
bucketname: ehh-private-01
sms:
accessKeyId: LTAI5tJbbw5fY97pnw635yq3
accessKeySecret: LTXQ9v3OYVwNVbDWWfVpbbcVDKErKi
singName: 疯子读书
templateCode: SMS_248840040
server:
port: 9200
redisAddress: redis://39.106.36.183:6379
redisPassword: Jgll2015

View File

@@ -17,9 +17,9 @@ spring:
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
druid: druid:
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/e_book_test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true url: jdbc:mysql://59.110.212.44:3306/e_book_test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true
username: root username: root
password: password password: HSXY1234hsxy
initial-size: 10 initial-size: 10
max-active: 100 max-active: 100
min-idle: 10 min-idle: 10

View File

@@ -11,7 +11,7 @@ connection-timeout: 6000000ms
spring: spring:
# 环境 dev|test|prod # 环境 dev|test|prod
profiles: profiles:
active: dev active: dev-wcl
# jackson时间格式化 # jackson时间格式化
jackson: jackson:
time-zone: GMT+8 time-zone: GMT+8