Pārlūkot izejas kodu

[feat]
1.返回返利单位;2.增加团主概念;3.取消订单去掉已获得的返利

limeng 2 mēneši atpakaļ
vecāks
revīzija
76ec7c93ea

+ 15 - 1
application-webadmin/src/main/java/com/tourism/webadmin/app/website/controller/TourismOrderController.java

@@ -260,7 +260,7 @@ public class TourismOrderController {
             // 修改历史价格
             tourOrderService.updateHistoryOrderPrice(tourOrder);
 
-            // 清空返利,增加返利流水记录
+            // 清空因参团给别人产生的返利,增加返利流水记录
             TourProjectGroupPurchaseRebate rebateFilter = new TourProjectGroupPurchaseRebate();
             rebateFilter.setOrderId(Long.valueOf(id));
             TourProjectGroupPurchaseRebate one = tourProjectGroupPurchaseRebateService.getOne(rebateFilter);
@@ -272,6 +272,20 @@ public class TourismOrderController {
                 rebate.setPrice(BigDecimal.ZERO.subtract(rebate.getPrice()));
                 tourProjectGroupPurchaseRebateService.saveNew(rebate);
             }
+
+            // 查询取消订单用户在该团中获得的返利,清空返利,增加返利负流水记录
+            TourProjectGroupPurchaseRebate rebateFilter2 = new TourProjectGroupPurchaseRebate();
+            rebateFilter2.setUserId(TokenData.takeFromRequest().getUserId());
+            rebateFilter2.setGroupPurchaseProgressId(groupPurchase.getId());
+            List<TourProjectGroupPurchaseRebate> rebateList = tourProjectGroupPurchaseRebateService.getListByFilter(rebateFilter2);
+            if(rebateList != null && rebateList.size() > 0){
+                List<TourProjectGroupPurchaseRebate> tourProjectGroupPurchaseRebates = MyModelUtil.copyCollectionTo(rebateList, TourProjectGroupPurchaseRebate.class);
+                tourProjectGroupPurchaseRebates.forEach(e->{
+                    e.setId(null);
+                    e.setPrice(BigDecimal.ZERO.subtract(e.getPrice()));
+                });
+                tourProjectGroupPurchaseRebateService.saveNewBatch(tourProjectGroupPurchaseRebates);
+            }
         }
         //判断id是否为有效id
         if(tourOrder == null){

+ 1 - 3
application-webadmin/src/main/java/com/tourism/webadmin/app/website/controller/WebsiteProjectGroupPurchaseController.java

@@ -141,10 +141,8 @@ public class WebsiteProjectGroupPurchaseController {
             Map<String, BigDecimal> userRebateAmountMap = tourProjectGroupPurchaseRebateService.getUserRebateAmount(dto.getGroupPurchaseProgressId());
             if(userRebateAmountMap != null) {
                 tourGroupPurchaseUserVoList.forEach(e -> {
-                    System.out.println(e.getUserId());
-                    System.out.println(userRebateAmountMap);
-                    System.out.println(userRebateAmountMap.get(e.getUserId()));
                     e.setRebatePrice(userRebateAmountMap.get(e.getUserId()));
+                    e.setPriceUnit("¥");
                 });
             }
         }

+ 6 - 0
application-webadmin/src/main/java/com/tourism/webadmin/app/website/vo/TourGroupPurchaseUserVo.java

@@ -45,4 +45,10 @@ public class TourGroupPurchaseUserVo {
 
     @Schema(description = "当前用户获得的返利")
     private BigDecimal rebatePrice;
+
+    @Schema(description = "返利单位")
+    private String priceUnit;
+
+    @Schema(description = "团主,0否;1是")
+    private String teamLeader;
 }

+ 1 - 1
application-webadmin/src/main/java/com/tourism/webadmin/back/dao/mapper/TourOrderMapper.xml

@@ -163,7 +163,7 @@
     </select>
 
     <select id="getTourUserList" resultType="com.tourism.webadmin.back.model.TourUser" parameterType="com.tourism.webadmin.back.model.TourUser">
-        select tu.user_id,tu.show_name,tu.head_image_url,to1.create_time, to1.adult_number + to1.children_number as people_number from tour_user tu
+        select tu.user_id,tu.show_name,tu.head_image_url,to1.create_time, to1.adult_number + to1.children_number as people_number,to.team_leader from tour_user tu
         inner join tour_order to1 on tu.user_id = to1.create_user_id
         <where>
             to1.type = 1 and to1.order_status != 3

+ 5 - 0
application-webadmin/src/main/java/com/tourism/webadmin/back/model/TourOrder.java

@@ -247,4 +247,9 @@ public class TourOrder extends BaseModel {
 
     @TableField(exist = false)
     private BigDecimal rebateSumPrice;
+    /**
+     * 是否是团长,0否;1是
+     */
+    @TableField(exist = false)
+    private Integer teamLeader;
 }

+ 7 - 0
application-webadmin/src/main/java/com/tourism/webadmin/back/model/TourUser.java

@@ -147,4 +147,11 @@ public class TourUser extends BaseModel {
      */
     @TableField(exist = false)
     private Integer peopleNumber;
+
+    /**
+     * 团主,0不是,1是
+     */
+    @TableField(exist = false)
+    private Integer teamLeader;
+
 }

+ 4 - 0
application-webadmin/src/main/java/com/tourism/webadmin/back/service/impl/TourProjectGroupPurchaseServiceImpl.java

@@ -218,6 +218,10 @@ public class TourProjectGroupPurchaseServiceImpl extends BaseService<TourProject
             groupPurchase.setSplicingAvatars(this.splicingAvatars(headImageUrlList));
         }
 
+        if(groupPurchase.getNowCount() == 0) {
+            tourOrder.setTeamLeader(1);
+        }
+
         //  2024-01-08逻辑修改 // 判断人数是不是超了,如果超了或者人数满了,自动开个完全一样的新团,直接在新团上加数量
         // 如果超过团购人数,则需要提醒已经满团,不允许客户继续参团
         if(groupCount + groupPurchase.getNowCount() > groupPurchase.getMaxCount()) {