소스 검색

fix: 订单合计功能,待完善

luofeiyun 2 일 전
부모
커밋
3ecb9424c0
11개의 변경된 파일342개의 추가작업 그리고 0개의 파일을 삭제
  1. 7 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/OtcTradeOrderController.java
  2. 47 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/OrderTotalCountryVO.java
  3. 19 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/OrderTotalPolicyVO.java
  4. 13 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/OrderTotalQueryVO.java
  5. 154 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/OrderTotalRespVO.java
  6. 54 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/OrderTotalRoomModelVO.java
  7. 22 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/OrderTotalSpuVO.java
  8. 7 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/TradeOrderTotalVO.java
  9. 6 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/dataobject/order/TradeOrderTotalDO.java
  10. 5 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/otc/OtcTradeOrderService.java
  11. 8 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/otc/impl/OtcTradeOrderServiceImpl.java

+ 7 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/OtcTradeOrderController.java

@@ -590,4 +590,11 @@ public class OtcTradeOrderController {
         InputStream is = Files.newInputStream(tempFile.toPath());
         IOUtils.copy(is, response.getOutputStream());
     }
+
+    @PostMapping("/getOrderTotal")
+    @Operation(summary = "获取订单统计")
+    @OperateLog(type = API, enable = false)
+    public CommonResult<OrderTotalRespVO> getOrderTotal(@Valid @RequestBody OrderTotalQueryVO queryVO) {
+        return success(otcTradeOrderService.getOrderTotal(queryVO));
+    }
 }

+ 47 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/OrderTotalCountryVO.java

@@ -0,0 +1,47 @@
+package com.yc.ship.module.trade.controller.admin.order.vo.order;
+
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Schema(description = "订单合计国籍信息数据")
+@Data
+public class OrderTotalCountryVO {
+
+    @Schema(description = "国家ID", example = "")
+    private String countryId;
+    @Schema(description = "国家名称", example = "")
+    private String countryName;
+
+    // 成人数
+    @Schema(description = "成人数", example = "")
+    private Integer adultNum;
+    // 儿童数
+    @Schema(description = "儿童数", example = "")
+    private Integer childNum;
+    // 婴儿数
+    @Schema(description = "婴儿数", example = "")
+    private Integer babyNum;
+    // 陪同数
+    @Schema(description = "陪同数", example = "")
+    private Integer withNum;
+    // 领队数
+    @Schema(description = "领队数", example = "")
+    private Integer leaderNum;
+
+    @Schema(description = "原价", example = "")
+    private BigDecimal price;
+
+    @Schema(description = "二楼数", example = "")
+    private Integer twoNum;
+    @Schema(description = "三楼数", example = "")
+    private Integer threeNum;
+    @Schema(description = "四楼数", example = "")
+    private Integer fourNum;
+    @Schema(description = "五楼数", example = "")
+    private Integer fiveNum;
+    @Schema(description = "六楼数", example = "")
+    private Integer sixNum;
+}

+ 19 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/OrderTotalPolicyVO.java

@@ -0,0 +1,19 @@
+package com.yc.ship.module.trade.controller.admin.order.vo.order;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Schema(description = "订单合计政策信息")
+@Data
+public class OrderTotalPolicyVO {
+    @Schema(description = "政策ID", example = "")
+    private Long policyId;
+    @Schema(description = "政策名称", example = "")
+    private String policyName;
+    @Schema(description = "优惠房间数", example = "")
+    private BigDecimal num;
+    @Schema(description = "优惠金额", example = "")
+    private BigDecimal amount;
+}

+ 13 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/OrderTotalQueryVO.java

@@ -0,0 +1,13 @@
+package com.yc.ship.module.trade.controller.admin.order.vo.order;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class OrderTotalQueryVO {
+
+    @Schema(description = "订单ID列表")
+    private List<Long> orderIds;
+}

+ 154 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/OrderTotalRespVO.java

@@ -0,0 +1,154 @@
+package com.yc.ship.module.trade.controller.admin.order.vo.order;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+public class OrderTotalRespVO {
+
+    /**
+     * 成人总数
+     */
+    @Schema(description = "成人总数")
+    private Integer adultTotalNum;
+    /**
+     * 儿童总数
+     */
+    @Schema(description = "儿童总数")
+    private Integer childTotalNum;
+    /**
+     * 婴儿总数
+     */
+    @Schema(description = "婴儿总数")
+    private Integer babyTotalNum;
+    /**
+     * 陪同总数
+     */
+    @Schema(description = "陪同总数")
+    private Integer withTotalNum;
+
+    /**
+     * 领队数
+     */
+    @Schema(description = "领队数")
+    private Integer leaderTotalNum;
+
+    @Schema(description = "16免1人数")
+    private Integer freeNum;
+
+    @Schema(description = "订单总额")
+    private BigDecimal orderMoney;
+
+    @Schema(description = "总额")
+    private BigDecimal realMoney;
+
+    @Schema(description = "应收款")
+    private BigDecimal payAmount;
+
+    @Schema(description = "其它费用")
+    private BigDecimal otherMoney;
+
+    /**
+     * 调节总价
+     */
+    @Schema(description = "调节总价")
+    private BigDecimal adjustTotalMoney;
+
+    @Schema(description = "销售折扣金额")
+    private BigDecimal discountAmount;
+
+    @Schema(description = "陪同总价")
+    private BigDecimal withTotalNumMoney;
+
+    /**
+     * 领队费用
+     */
+    @Schema(description = "领队费用")
+    private BigDecimal leaderTotalMoney;
+
+    @Schema(description = "16免1金额")
+    private BigDecimal freeAmount;
+
+    /**
+     * 包含服务费
+     */
+    @Schema(description = "包含服务费")
+    private BigDecimal serviceMoney;
+
+    /**
+     * 升楼层总数
+     */
+    @Schema(description = "升楼层总数")
+    private Integer upFloorTotalNum;
+    /**
+     * 升楼层总价
+     */
+    @Schema(description = "升楼层总价")
+    private BigDecimal upFloorTotalMoney;
+    /**
+     * 总加床人数
+     */
+    @Schema(description = "总加床人数")
+    private Integer plusTotalNum;
+    /**
+     * 代收服务费
+     */
+    @Schema(description = "代收服务费")
+    private BigDecimal collectionServiceMoney;
+
+    @Schema(description = "定金")
+    private BigDecimal deposi;
+
+    @Schema(description = "总房数")
+    private BigDecimal totalRoomNum;
+
+    @Schema(description = "总加床数")
+    private BigDecimal totalAddBedNum;
+
+    @Schema(description = "实收款房数")
+    private BigDecimal totalPayedRoomNum;
+
+    @Schema(description = "未收款房数")
+    private BigDecimal totalNotPayRoomNum;
+
+    @Schema(description = "拼男数")
+    private BigDecimal halfManNum;
+
+    @Schema(description = "拼女数")
+    private BigDecimal halfWomenNum;
+
+    @Schema(description = "总拼数")
+    private BigDecimal totalHalfNum;
+
+    @Schema(description = "陪同男数")
+    private BigDecimal withManNum;
+
+    @Schema(description = "陪同女数")
+    private BigDecimal withWomenNum;
+
+    @Schema(description = "领队男数")
+    private BigDecimal leaderManNum;
+
+    @Schema(description = "领队女数")
+    private BigDecimal leaderWomenNum;
+
+    @Schema(description = "房型信息")
+    private List<OrderTotalRoomModelVO> roomModelList;
+
+    @Schema(description = "国家信息")
+    private List<OrderTotalCountryVO> countryList;
+
+    @Schema(description = "增值服务信息")
+    private List<OrderTotalSpuVO> spuList;
+
+    @Schema(description = "政策信息")
+    private List<OrderTotalPolicyVO> policyList;
+
+
+
+
+
+}

+ 54 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/OrderTotalRoomModelVO.java

@@ -0,0 +1,54 @@
+package com.yc.ship.module.trade.controller.admin.order.vo.order;
+
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 订单关联房型统计信息
+ *
+ */
+@Data
+public class OrderTotalRoomModelVO {
+
+    @Schema(description = "房型索引ID", example = "")
+    private String roomModelId;
+    @Schema(description = "房型名称", example = "")
+    private String roomModelName;
+
+    @Schema(description = "楼层", example = "")
+    private Integer floor;
+
+    @Schema(description = "成人单间", example = "")
+    private Integer adultTakeNum;
+    @Schema(description = "成人加床", example = "")
+    private Integer adultPlusNum;
+    @Schema(description = "成人拼房数", example = "")
+    private Integer adultAloneNum;
+
+    @Schema(description = "儿童不占床", example = "")
+    private Integer childNonTakeNum;
+    @Schema(description = "儿童占床", example = "")
+    private Integer childTakeNum;
+    @Schema(description = "儿童加床", example = "")
+    private Integer childPlusNum;
+    @Schema(description = "婴儿不占床", example = "")
+    private Integer babyNonTakeNum;
+    @Schema(description = "合计人数", example = "")
+    private Integer totalNum;
+    // 留位房间数
+    @Schema(description = "留位房间数", example = "")
+    private BigDecimal leaveRoomNum;
+    // 锁位房间数
+    @Schema(description = "锁位房间数", example = "")
+    private BigDecimal lockRoomNum;
+
+    // 指定房间数
+    @Schema(description = "指定房间数", example = "")
+    private BigDecimal distributorNum;
+
+    @Schema(description = "共享房间数", example = "")
+    private BigDecimal shareNum;
+}

+ 22 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/OrderTotalSpuVO.java

@@ -0,0 +1,22 @@
+package com.yc.ship.module.trade.controller.admin.order.vo.order;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Schema(description = "订单合计增值服务信息")
+@Data
+public class OrderTotalSpuVO {
+
+    @Schema(description = "增值服务ID", example = "")
+    private Long spuId;
+    @Schema(description = "增值服务名称", example = "")
+    private String spuName;
+    @Schema(description = "增值服务单价", example = "")
+    private BigDecimal spuPrice;
+    @Schema(description = "增值服务数量", example = "")
+    private Integer spuNum;
+    @Schema(description = "增值服务总价", example = "")
+    private BigDecimal spuTotalMoney;
+}

+ 7 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/admin/order/vo/order/TradeOrderTotalVO.java

@@ -1,5 +1,6 @@
 package com.yc.ship.module.trade.controller.admin.order.vo.order;
 
+import com.yc.ship.module.trade.framework.annotation.ForUpdate;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
@@ -115,6 +116,12 @@ public class TradeOrderTotalVO {
     @Schema(description = "其它费用说明")
     private String otherRemark;
 
+    @Schema(description = "16免1人数")
+    private Integer freeNum;
+
+    @Schema(description = "16免1金额")
+    private BigDecimal freeAmount;
+
     @Schema(description = "定金")
     private BigDecimal deposi;
 }

+ 6 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/dataobject/order/TradeOrderTotalDO.java

@@ -109,4 +109,10 @@ public class TradeOrderTotalDO extends TenantBaseDO {
     @ForUpdate(fieldName = "其它备注")
     private String otherRemark;
 
+    @ForUpdate(fieldName = "16免1人数")
+    private Integer freeNum;
+
+    @ForUpdate(fieldName = "16免1金额")
+    private BigDecimal freeAmount;
+
 }

+ 5 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/otc/OtcTradeOrderService.java

@@ -138,4 +138,9 @@ public interface OtcTradeOrderService {
     CommonResult<?> orderRead(Long orderId);
 
     CommonResult<?> cancelAudit(Long orderId, Integer auditStatus);
+
+    /**
+     * 获取订单统计信息
+     */
+    OrderTotalRespVO getOrderTotal(OrderTotalQueryVO queryVO);
 }

+ 8 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/otc/impl/OtcTradeOrderServiceImpl.java

@@ -553,6 +553,14 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
         return CommonResult.success("审核成功");
     }
 
+    @Override
+    public OrderTotalRespVO getOrderTotal(OrderTotalQueryVO queryVO) {
+        List<Long> orderIds = queryVO.getOrderIds();
+
+        //TODO: 待完善 订单合计
+        return null;
+    }
+
 
     @Override
     @TradeOrderLog(operateType = TradeOrderOperateTypeEnum.ORDER_AUDIT)