Browse Source

管理端订单列表,订单详情开发

wangzhengliang 3 năm trước cách đây
mục cha
commit
4ca27886b2

+ 5 - 4
src/main/java/com/chuanghai/ihotel/controller/HotelOrderController.java

@@ -17,6 +17,7 @@ import com.chuanghai.ihotel.controller.request.SubmitOrderRequest;
 import com.chuanghai.ihotel.entity.HotelOrderEntity;
 import com.chuanghai.ihotel.service.HotelOrderService;
 import com.chuanghai.ihotel.util.CommonUtil;
+import com.chuanghai.ihotel.vo.AdminOrderIndexVO;
 import com.chuanghai.ihotel.vo.ConfirmOrderVO;
 import com.chuanghai.ihotel.dto.LoginUserDTO;
 import com.chuanghai.ihotel.vo.OrderBillHandleVO;
@@ -140,10 +141,10 @@ public class HotelOrderController {
      */
     @AdminLoginCheck
     @GetMapping("/admin/order/page")
-    public CommonResult<PageUtils<HotelOrderEntity>> page(@RequestHeader("admin_token") String adminToken,
-                                                          PageParam pageParam,
-                                                          OrderQueryRequest request){
-        PageUtils page = hotelOrderService.queryPage(pageParam, request);
+    public CommonResult<PageUtils<AdminOrderIndexVO>> page(@RequestHeader("admin_token") String adminToken,
+                                                           PageParam pageParam,
+                                                           OrderQueryRequest request){
+        PageUtils page = hotelOrderService.pageForAdmin(pageParam, request);
         return CommonResult.ok().setResult(page);
     }
 

+ 0 - 1
src/main/java/com/chuanghai/ihotel/controller/HotelUserController.java

@@ -49,7 +49,6 @@ public class HotelUserController {
      */
     @GetMapping("weixiaoAuth")
     public String weixiaoAuth(String wxcode, String state) throws UnsupportedEncodingException {
-        System.out.println("code==>" + wxcode);
         LoginUserVO loginUserVO = hotelUserService.weixiaoAuth(wxcode, state);
 
         if (loginUserVO != null) {

+ 5 - 0
src/main/java/com/chuanghai/ihotel/service/HotelOrderBillService.java

@@ -6,6 +6,9 @@ import com.chuanghai.ihotel.common.utils.PageParam;
 import com.chuanghai.ihotel.dto.BillHandleResultDTO;
 import com.chuanghai.ihotel.entity.HotelOrderBillEntity;
 
+import java.util.List;
+import java.util.Set;
+
 /**
  * 订单账单表 
  *
@@ -19,6 +22,8 @@ public interface HotelOrderBillService extends IService<HotelOrderBillEntity> {
 
     HotelOrderBillEntity findByOrderId(Long orderId);
 
+    List<HotelOrderBillEntity> findByOrderIds(Set<Long> orderIds);
+
     /**
      * 生成结账单
      * @param orderId 订单id

+ 8 - 0
src/main/java/com/chuanghai/ihotel/service/HotelOrderService.java

@@ -37,6 +37,14 @@ public interface HotelOrderService extends IService<HotelOrderEntity> {
      */
     PageUtils userOrderPage(PageParam pageParam, OrderQueryRequest request);
 
+    /**
+     * 管理端订单列表
+     * @param pageParam
+     * @param request
+     * @return
+     */
+    PageUtils pageForAdmin(PageParam pageParam, OrderQueryRequest request);
+
     HotelOrderEntity findByOrderNo(String orderNo);
 
     /**

+ 10 - 0
src/main/java/com/chuanghai/ihotel/service/impl/HotelOrderBillServiceImpl.java

@@ -25,7 +25,9 @@ import org.springframework.util.StringUtils;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 
 @Service("hotelOrderBillService")
@@ -57,6 +59,14 @@ public class HotelOrderBillServiceImpl extends ServiceImpl<HotelOrderBillDao, Ho
     }
 
     @Override
+    public List<HotelOrderBillEntity> findByOrderIds(Set<Long> orderIds) {
+        QueryWrapper<HotelOrderBillEntity> queryWrapper = new QueryWrapper<>();
+        queryWrapper.in("hotel_order_id", orderIds);
+        queryWrapper.last("limit " + orderIds.size());
+        return this.list(queryWrapper);
+    }
+
+    @Override
     public void generateBill(Long orderId, Long roomId) {
         // 系统设置
         SystemSettingEntity systemSetting = systemSettingService.get();

+ 29 - 0
src/main/java/com/chuanghai/ihotel/service/impl/HotelOrderServiceImpl.java

@@ -43,6 +43,7 @@ import com.chuanghai.ihotel.service.RoomService;
 import com.chuanghai.ihotel.service.RoomTypeService;
 import com.chuanghai.ihotel.service.SystemSettingService;
 import com.chuanghai.ihotel.util.CommonUtil;
+import com.chuanghai.ihotel.vo.AdminOrderIndexVO;
 import com.chuanghai.ihotel.vo.ConfirmOrderVO;
 import com.chuanghai.ihotel.dto.LoginUserDTO;
 import com.chuanghai.ihotel.vo.OrderBillHandleVO;
@@ -153,6 +154,34 @@ public class HotelOrderServiceImpl extends ServiceImpl<HotelOrderDao, HotelOrder
     }
 
     @Override
+    public PageUtils pageForAdmin(PageParam pageParam, OrderQueryRequest request) {
+        pageParam.setOrderField("create_time");
+        pageParam.setOrder("desc");
+        request.setDeleteFlag("1"); // 1未删除
+
+        PageUtils pageUtils = this.queryPage(pageParam, request);
+        List<HotelOrderEntity> orderList = pageUtils.getList();
+        Set<Long> ids = orderList.stream().map(order -> order.getId()).collect(Collectors.toSet());
+
+        if (ids.size() > 0) {
+            List<HotelOrderBillEntity> orderBillList = orderBillService.findByOrderIds(ids);
+            Map<Long, HotelOrderBillEntity> orderBillMap = orderBillList.stream().collect(Collectors.toMap(HotelOrderBillEntity::getHotelOrderId, e -> e));
+
+            List<AdminOrderIndexVO> voList = orderList.stream().map(order -> {
+                AdminOrderIndexVO vo = new AdminOrderIndexVO();
+                vo.setOrder(order);
+                vo.setOrderBill(orderBillMap.get(order.getId()));
+
+                return vo;
+            }).collect(Collectors.toList());
+
+            pageUtils.setList(voList);
+        }
+
+        return pageUtils;
+    }
+
+    @Override
     public HotelOrderEntity findByOrderNo(String orderNo) {
         QueryWrapper<HotelOrderEntity> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("order_no", orderNo);

+ 24 - 0
src/main/java/com/chuanghai/ihotel/vo/AdminOrderIndexVO.java

@@ -0,0 +1,24 @@
+package com.chuanghai.ihotel.vo;
+
+import com.chuanghai.ihotel.entity.HotelOrderBillEntity;
+import com.chuanghai.ihotel.entity.HotelOrderEntity;
+import lombok.Data;
+
+/**
+ * @Author: codingliang
+ * @Description: 管理员订单首页
+ * @Date: 2022-08-11 16:06
+ * @Version: V1.0
+ **/
+@Data
+public class AdminOrderIndexVO {
+
+    /**
+     * 订单信息
+     */
+    private HotelOrderEntity order;
+    /**
+     * 订单账单信息
+     */
+    private HotelOrderBillEntity orderBill;
+}