1
0

5 Commits a206b222fc ... d6d1f6b489

Autor SHA1 Mensagem Data
  lishiqiang d6d1f6b489 Merge remote-tracking branch 'origin/main' 2 days atrás
  lishiqiang 6cdd775d42 取消审核修改为所有取消都需要审核 2 days atrás
  luofeiyun 790c4231eb fix: 合并代码冲突 2 days atrás
  luofeiyun e8fc90ea7b Merge branch 'main' of http://117.174.100.38:3000/lishiqiang/ship-ota-server into main1 2 days atrás
  luofeiyun 3ecb9424c0 fix: 订单合计功能,待完善 2 days atrás
11 changed files with 342 additions and 26 deletions
  1. 8 9
      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. 6 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/dataobject/order/TradeOrderTotalDO.java
  9. 5 5
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/impl/AdminTradeOrderServiceImpl.java
  10. 6 12
      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

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

@@ -22,15 +22,7 @@ import com.yc.ship.module.resource.api.ship.dto.ShipRespDTO;
 import com.yc.ship.module.trade.api.contract.dto.group.WindowCreateOrderGroup;
 import com.yc.ship.module.trade.controller.admin.order.vo.order.*;
 import com.yc.ship.module.trade.controller.admin.order.vo.otc.PrintRespVO;
-import com.yc.ship.module.trade.controller.admin.order.vo.refund.RefundDetailRespVO;
-import com.yc.ship.module.trade.controller.admin.order.vo.refund.RefundPageReqVO;
-import com.yc.ship.module.trade.controller.admin.order.vo.refund.RefundRecordPageReqVO;
-import com.yc.ship.module.trade.controller.admin.order.vo.refund.RefundRecordRespVO;
-import com.yc.ship.module.trade.controller.admin.order.vo.refund.RefundRespVO;
-import com.yc.ship.module.trade.controller.admin.order.vo.refund.TradeRefundAuditReqVO;
-import com.yc.ship.module.trade.controller.admin.order.vo.refund.TradeRefundCalculateRespVO;
-import com.yc.ship.module.trade.controller.admin.order.vo.refund.TradeRefundCreateReqVO;
-import com.yc.ship.module.trade.controller.admin.order.vo.refund.TradeRefundCreateRespVO;
+import com.yc.ship.module.trade.controller.admin.order.vo.refund.*;
 import com.yc.ship.module.trade.controller.app.otc.vo.AppTradeOrderPageReqVO;
 import com.yc.ship.module.trade.controller.app.otc.vo.AppTradeOrderRespVO;
 import com.yc.ship.module.trade.dal.dataobject.contract.ContractDO;
@@ -621,4 +613,11 @@ public class OtcTradeOrderController {
     }
 
 
+
+    @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;
+}

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

@@ -121,4 +121,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 - 5
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/impl/AdminTradeOrderServiceImpl.java

@@ -331,7 +331,7 @@ public class AdminTradeOrderServiceImpl implements AdminTradeOrderService {
     public CommonResult<?> cancelOrder(Long orderId) {
         TradeOrderDO tradeOrderDO = tradeOrderRepositoryService.getById(orderId);
         Asserts.isTrue(tradeOrderDO != null, "订单不存在");
-        if(Objects.equals(tradeOrderDO.getOrderStatus(), TradeOrderStatusEnum.UNPAID.getStatus())){
+//        if(Objects.equals(tradeOrderDO.getOrderStatus(), TradeOrderStatusEnum.UNPAID.getStatus())){
             //需要审核
             TradeOrderBindDO tradeOrderBindDO = new TradeOrderBindDO();
             tradeOrderBindDO.setId(IdWorker.getId());
@@ -344,12 +344,12 @@ public class AdminTradeOrderServiceImpl implements AdminTradeOrderService {
             tradeOrderBindDO.setCreator(getLoginUserId()+"");
             tradeOrderBindMapper.insert(tradeOrderBindDO);
 
-            AuditUserDO auditUserDO = auditUserMapper.selectOne(new LambdaQueryWrapperX<AuditUserDO>().eq(AuditUserDO::getType, 4).eq(AuditUserDO::getDeleted, 0).orderByDesc(AuditUserDO::getCreateTime).last("limit 1"));
+            AuditUserDO auditUserDO = auditUserMapper.selectOne(new LambdaQueryWrapperX<AuditUserDO>().eq(AuditUserDO::getType, 4).eq(AuditUserDO::getAuditStatus, 1).eq(AuditUserDO::getDeleted, 0).orderByDesc(AuditUserDO::getCreateTime).last("limit 1"));
             tradeOrderMapper.update(new UpdateWrapper<TradeOrderDO>().set("audit_type", 4).set("audit_user", auditUserDO == null ? "" : auditUserDO.getAuditUser()).set("order_status", TradeOrderStatusEnum.CANCEL_AUDIT.getStatus()).set("audit_status", 1).eq("id", tradeOrderDO.getId()));
             return CommonResult.success("订单取消审核中");
-        }else{
-            return tradeOrderPayService.cancelOrder(orderId);
-        }
+//        }else{
+//            return tradeOrderPayService.cancelOrder(orderId);
+//        }
     }
 
     @Override

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

@@ -6,18 +6,7 @@ import com.yc.ship.framework.common.pojo.PageResult;
 import com.yc.ship.framework.security.core.LoginUser;
 import com.yc.ship.module.product.api.dto.CategoryRespDTO;
 import com.yc.ship.module.product.api.dto.ProductSpuRespDTO;
-import com.yc.ship.module.trade.controller.admin.order.vo.order.OrderPayAmountRespVO;
-import com.yc.ship.module.trade.controller.admin.order.vo.order.PayOrderReqVO;
-import com.yc.ship.module.trade.controller.admin.order.vo.order.PayOrderRespVO;
-import com.yc.ship.module.trade.controller.admin.order.vo.order.TradeDetailPageReqVO;
-import com.yc.ship.module.trade.controller.admin.order.vo.order.TradeDetailRespVO;
-import com.yc.ship.module.trade.controller.admin.order.vo.order.TradeOrderConfirmationVO;
-import com.yc.ship.module.trade.controller.admin.order.vo.order.TradeOrderOtcCreateVO;
-import com.yc.ship.module.trade.controller.admin.order.vo.order.TradeOrderPageReqVO;
-import com.yc.ship.module.trade.controller.admin.order.vo.order.TradeOrderPdaRespVO;
-import com.yc.ship.module.trade.controller.admin.order.vo.order.TradeOrderRespNewVO;
-import com.yc.ship.module.trade.controller.admin.order.vo.order.TradeOrderRespVO;
-import com.yc.ship.module.trade.controller.admin.order.vo.order.TradeStaticReqVO;
+import com.yc.ship.module.trade.controller.admin.order.vo.order.*;
 import com.yc.ship.module.trade.controller.admin.order.vo.otc.PrintRespVO;
 import com.yc.ship.module.trade.controller.admin.order.vo.refund.RefundDetailRespVO;
 import com.yc.ship.module.trade.controller.admin.order.vo.refund.RefundPageReqVO;
@@ -155,4 +144,9 @@ public interface OtcTradeOrderService {
     CommonResult<?> cancelAudit(Long orderId, Integer auditStatus);
 
     CommonResult<?> updateStatus(Long orderId, Integer  status);
+
+    /**
+     * 获取订单统计信息
+     */
+    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

@@ -562,6 +562,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)