|
|
@@ -1,5 +1,6 @@
|
|
|
package com.ylx.massage.service.impl;
|
|
|
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
@@ -12,9 +13,7 @@ import com.ylx.common.exception.ServiceException;
|
|
|
import com.ylx.common.utils.SecurityUtils;
|
|
|
import com.ylx.massage.domain.*;
|
|
|
import com.ylx.massage.domain.dto.*;
|
|
|
-import com.ylx.massage.domain.vo.ProductOrderDetailVo;
|
|
|
-import com.ylx.massage.domain.vo.ProductOrderListVo;
|
|
|
-import com.ylx.massage.domain.vo.ProductOrderPageVo;
|
|
|
+import com.ylx.massage.domain.vo.*;
|
|
|
import com.ylx.massage.enums.BillTypeEnum;
|
|
|
import com.ylx.massage.enums.PaymentStatusEnum;
|
|
|
import com.ylx.massage.enums.ProductOrderStatusEnum;
|
|
|
@@ -38,6 +37,8 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import javax.annotation.Resource;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.time.LocalDateTime;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
|
|
|
/**
|
|
|
* 商品订单信息Service实现类
|
|
|
@@ -486,8 +487,88 @@ public class ProductOrderInfoServiceImpl extends ServiceImpl<ProductOrderInfoMap
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Page<ProductOrderPageVo> adminPage(Page<Product> page, ProductOrderPageDTO dto) {
|
|
|
- return null;
|
|
|
+ public ProductOrderPageVo adminPage(Page<ProductOrderInfo> page, ProductOrderPageDTO dto) {
|
|
|
+ ProductOrderPageVo vo = new ProductOrderPageVo();
|
|
|
+
|
|
|
+ // 1. 分页查询订单列表
|
|
|
+ Page<ProductOrderPageItemVo> list = this.productOrderInfoMapper.adminPage(page, dto);
|
|
|
+ vo.setList(list);
|
|
|
+
|
|
|
+ // 2. 查询订单总数
|
|
|
+ ProductOrderCountVo count = this.productOrderInfoMapper.getOrderTotalCount();
|
|
|
+ vo.setCount(count);
|
|
|
+
|
|
|
+ return vo;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ProductOrderDetailAdminVo getOrderDetailForAdmin(String orderId) {
|
|
|
+
|
|
|
+ ProductOrderInfo productOrderInfo = this.productOrderInfoMapper.selectById(orderId);
|
|
|
+ if (ObjectUtil.isNull(productOrderInfo)) {
|
|
|
+ throw new IllegalArgumentException("参数有误,订单不存在");
|
|
|
+ }
|
|
|
+
|
|
|
+ ProductOrderDetailAdminVo vo = new ProductOrderDetailAdminVo();
|
|
|
+
|
|
|
+ // 1. 订单基础信息
|
|
|
+ OrderBaseInfoVo orderBaseInfo = new OrderBaseInfoVo();
|
|
|
+ BeanUtil.copyProperties(productOrderInfo, orderBaseInfo);
|
|
|
+ orderBaseInfo.setBuyerRemark(productOrderInfo.getBuyerRemark());
|
|
|
+
|
|
|
+ // 获取用户电话号码
|
|
|
+ TWxUser wxUser = wxUserService.getByOpenId(productOrderInfo.getOpenId());
|
|
|
+ if (ObjectUtil.isNotNull(wxUser)) {
|
|
|
+ orderBaseInfo.setPhone(wxUser.getcPhone());
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取商品的信息
|
|
|
+ LambdaQueryWrapper<ProductOrderItem> itemQuery = new LambdaQueryWrapper<>();
|
|
|
+ itemQuery.eq(ProductOrderItem::getOrderId, productOrderInfo.getId());
|
|
|
+ itemQuery.last("LIMIT 1");
|
|
|
+ ProductOrderItem productOrderItem = productOrderItemMapper.selectOne(itemQuery);
|
|
|
+ if (ObjectUtil.isNotNull(productOrderItem)) {
|
|
|
+ BeanUtil.copyProperties(productOrderItem, orderBaseInfo);
|
|
|
+ }
|
|
|
+
|
|
|
+ vo.setOrderBaseInfo(orderBaseInfo);
|
|
|
+
|
|
|
+ // 2. 收货人信息
|
|
|
+ ReceiverInfoVo receiverInfo = new ReceiverInfoVo();
|
|
|
+ if (ObjectUtil.isNotNull(productOrderInfo.getAddressId())) {
|
|
|
+ ProductOrderAddress address = productOrderAddressService.getById(productOrderInfo.getAddressId());
|
|
|
+ if (ObjectUtil.isNotNull(address)) {
|
|
|
+ BeanUtil.copyProperties(address, receiverInfo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ vo.setReceiverInfo(receiverInfo);
|
|
|
+
|
|
|
+ // 3. 商品列表
|
|
|
+ LambdaQueryWrapper<ProductOrderItem> itemListQuery = new LambdaQueryWrapper<>();
|
|
|
+ itemListQuery.eq(ProductOrderItem::getOrderId, productOrderInfo.getId());
|
|
|
+ ProductOrderItem orderItem = productOrderItemMapper.selectOne(itemListQuery);
|
|
|
+ OrderItemVo itemVo = new OrderItemVo();
|
|
|
+ if (ObjectUtil.isNotNull(orderItem)) {
|
|
|
+ itemVo.setOrderNo(orderItem.getOrderNo());
|
|
|
+ itemVo.setProductImage(orderItem.getSkuImage());
|
|
|
+ itemVo.setProductName(orderItem.getProductName());
|
|
|
+ itemVo.setSpecName(orderItem.getSkuSpec());
|
|
|
+ itemVo.setPayAmount(orderItem.getActualAmount());
|
|
|
+
|
|
|
+ // 获取商品价格信息
|
|
|
+ ProductSku productSku = productSkuMapper.selectById(orderItem.getSkuId());
|
|
|
+ if (productSku != null) {
|
|
|
+ itemVo.setPriceMoney(productSku.getPriceMoney());
|
|
|
+ itemVo.setPricePoint(productSku.getPricePoint());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ vo.setOrderItemInfo(itemVo);
|
|
|
+
|
|
|
+ // 4. 售后列表
|
|
|
+ OrderAfterSaleVo orderAfterSaleVo = new OrderAfterSaleVo();
|
|
|
+ vo.setAfterSaleInfo(orderAfterSaleVo);
|
|
|
+
|
|
|
+ return vo;
|
|
|
}
|
|
|
|
|
|
private WxLoginUser getCurrentWxLoginUser() {
|