diff --git a/yshop-mall/src/main/java/co/yixiang/modules/order/service/YxStoreOrderService.java b/yshop-mall/src/main/java/co/yixiang/modules/order/service/YxStoreOrderService.java index 4fdcf5c1..28a9f0ca 100644 --- a/yshop-mall/src/main/java/co/yixiang/modules/order/service/YxStoreOrderService.java +++ b/yshop-mall/src/main/java/co/yixiang/modules/order/service/YxStoreOrderService.java @@ -251,6 +251,12 @@ public interface YxStoreOrderService extends BaseService{ */ void download(List all, HttpServletResponse response) throws IOException; + /** + * 获取订单详情 + * @param orderId + * @return + */ + YxStoreOrderDto getOrderDetail(Long orderId); Map queryAll(List ids); diff --git a/yshop-mall/src/main/java/co/yixiang/modules/order/service/dto/YxStoreOrderDto.java b/yshop-mall/src/main/java/co/yixiang/modules/order/service/dto/YxStoreOrderDto.java index 50ff936b..df2aec14 100644 --- a/yshop-mall/src/main/java/co/yixiang/modules/order/service/dto/YxStoreOrderDto.java +++ b/yshop-mall/src/main/java/co/yixiang/modules/order/service/dto/YxStoreOrderDto.java @@ -35,6 +35,10 @@ public class YxStoreOrderDto implements Serializable { private List cartInfoList; + /** + * 订单状态列表 + */ + private List storeOrderStatusList; // 订单号 private String orderId; diff --git a/yshop-mall/src/main/java/co/yixiang/modules/order/service/impl/YxStoreOrderServiceImpl.java b/yshop-mall/src/main/java/co/yixiang/modules/order/service/impl/YxStoreOrderServiceImpl.java index c83e12cb..c8dd9266 100644 --- a/yshop-mall/src/main/java/co/yixiang/modules/order/service/impl/YxStoreOrderServiceImpl.java +++ b/yshop-mall/src/main/java/co/yixiang/modules/order/service/impl/YxStoreOrderServiceImpl.java @@ -33,6 +33,7 @@ import co.yixiang.enums.ShopCommonEnum; import co.yixiang.event.TemplateBean; import co.yixiang.event.TemplateEvent; import co.yixiang.event.TemplateListenEnum; +import co.yixiang.exception.BadRequestException; import co.yixiang.exception.EntityExistException; import co.yixiang.exception.ErrorRequestException; import co.yixiang.modules.activity.domain.YxStoreCouponUser; @@ -51,22 +52,13 @@ import co.yixiang.modules.cart.vo.YxStoreCartQueryVo; import co.yixiang.modules.order.domain.YxExpress; import co.yixiang.modules.order.domain.YxStoreOrder; import co.yixiang.modules.order.domain.YxStoreOrderCartInfo; +import co.yixiang.modules.order.domain.YxStoreOrderStatus; import co.yixiang.modules.order.param.OrderParam; import co.yixiang.modules.order.service.YxExpressService; import co.yixiang.modules.order.service.YxStoreOrderCartInfoService; import co.yixiang.modules.order.service.YxStoreOrderService; import co.yixiang.modules.order.service.YxStoreOrderStatusService; -import co.yixiang.modules.order.service.dto.CacheDto; -import co.yixiang.modules.order.service.dto.CountDto; -import co.yixiang.modules.order.service.dto.OrderCountDto; -import co.yixiang.modules.order.service.dto.OrderTimeDataDto; -import co.yixiang.modules.order.service.dto.OtherDto; -import co.yixiang.modules.order.service.dto.PriceGroupDto; -import co.yixiang.modules.order.service.dto.StatusDto; -import co.yixiang.modules.order.service.dto.StoreOrderCartInfoDto; -import co.yixiang.modules.order.service.dto.TemplateDto; -import co.yixiang.modules.order.service.dto.YxStoreOrderDto; -import co.yixiang.modules.order.service.dto.YxStoreOrderQueryCriteria; +import co.yixiang.modules.order.service.dto.*; import co.yixiang.modules.order.service.mapper.StoreOrderMapper; import co.yixiang.modules.order.vo.ComputeVo; import co.yixiang.modules.order.vo.ConfirmOrderVo; @@ -104,6 +96,7 @@ import co.yixiang.utils.OrderUtil; import co.yixiang.utils.RedisUtils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -2181,6 +2174,76 @@ public class YxStoreOrderServiceImpl extends BaseServiceImpl 0) { + String storeName = systemStoreService.getById(yxStoreOrder.getStoreId()).getName(); + yxStoreOrderDto.setStoreName(storeName); + } + + //订单状态 + String orderStatusStr = OrderUtil.orderStatusStr(yxStoreOrder.getPaid() + ,yxStoreOrder.getStatus(),yxStoreOrder.getShippingType() + ,yxStoreOrder.getRefundStatus()); + + if(_status == 3){ + + String refundTime = DateUtil.formatDateTime(yxStoreOrder.getRefundReasonTime()); + String str = "申请退款
"+ + "退款原因:"+yxStoreOrder.getRefundReasonWap()+"
" + + "备注说明:"+yxStoreOrder.getRefundReasonWapExplain()+"
" + + "退款时间:"+refundTime+"
"; + orderStatusStr = str; + } + yxStoreOrderDto.setStatusName(orderStatusStr); + + yxStoreOrderDto.set_status(_status); + + String payTypeName = OrderUtil.payTypeName(yxStoreOrder.getPayType() + ,yxStoreOrder.getPaid()); + yxStoreOrderDto.setPayTypeName(payTypeName); + + yxStoreOrderDto.setPinkName(this.orderType(yxStoreOrder.getId() + ,yxStoreOrder.getPinkId(),yxStoreOrder.getCombinationId() + ,yxStoreOrder.getSeckillId(),yxStoreOrder.getBargainId(), + yxStoreOrder.getShippingType())); + + //添加订单状态 + List storeOrderStatuses = orderStatusService.list(new LambdaQueryWrapper() + .eq(YxStoreOrderStatus::getOid,yxStoreOrder.getId())); + List orderStatusDtos = generator.convert(storeOrderStatuses, YxStoreOrderStatusDto.class); + yxStoreOrderDto.setStoreOrderStatusList(orderStatusDtos); + //添加购物车详情 + List cartInfos = storeOrderCartInfoService.list( + new QueryWrapper().eq("oid",yxStoreOrder.getId())); + List cartInfoDTOS = new ArrayList<>(); + for (YxStoreOrderCartInfo cartInfo : cartInfos) { + StoreOrderCartInfoDto cartInfoDTO = new StoreOrderCartInfoDto(); + cartInfoDTO.setCartInfoMap(JSON.parseObject(cartInfo.getCartInfo())); + + cartInfoDTOS.add(cartInfoDTO); + } + yxStoreOrderDto.setCartInfoList(cartInfoDTOS); + //添加用户信息 + yxStoreOrderDto.setUserDTO(generator.convert(userService.getById(yxStoreOrder.getUid()), YxUserDto.class)); + if(yxStoreOrderDto.getUserDTO()==null){ + yxStoreOrderDto.setUserDTO(new YxUserDto()); + } + return yxStoreOrderDto; + } @Override public Map queryAll(List ids) { diff --git a/yshop-shop/src/main/java/co/yixiang/modules/order/rest/StoreOrderController.java b/yshop-shop/src/main/java/co/yixiang/modules/order/rest/StoreOrderController.java index b835b070..eb3661e0 100644 --- a/yshop-shop/src/main/java/co/yixiang/modules/order/rest/StoreOrderController.java +++ b/yshop-shop/src/main/java/co/yixiang/modules/order/rest/StoreOrderController.java @@ -126,6 +126,13 @@ public class StoreOrderController { return new ResponseEntity<>(yxStoreOrderService.queryAll(newCriteria, pageable), HttpStatus.OK); } + @ApiOperation(value = "根据订单id获取订单详情") + @GetMapping(value = "/getStoreOrderDetail") + @PreAuthorize("hasAnyRole('admin','YXSTOREORDER_ALL','YXSTOREORDER_SELECT','YXEXPRESS_SELECT')") + public ResponseEntity getYxStoreOrders(@PathVariable Long orderId) { + return new ResponseEntity<>(yxStoreOrderService.getOrderDetail(orderId), HttpStatus.OK); + } + @ApiOperation(value = "发货") @PutMapping(value = "/yxStoreOrder") diff --git a/yshop-weixin/src/main/java/co/yixiang/modules/mp/service/impl/YxWechatLiveGoodsServiceImpl.java b/yshop-weixin/src/main/java/co/yixiang/modules/mp/service/impl/YxWechatLiveGoodsServiceImpl.java index ddfb8d51..faf96b53 100644 --- a/yshop-weixin/src/main/java/co/yixiang/modules/mp/service/impl/YxWechatLiveGoodsServiceImpl.java +++ b/yshop-weixin/src/main/java/co/yixiang/modules/mp/service/impl/YxWechatLiveGoodsServiceImpl.java @@ -102,6 +102,7 @@ public class YxWechatLiveGoodsServiceImpl extends BaseServiceImpl content; private Long totalElements; + + private Integer pageNumber; + + private Integer lastPage; + + }