From a606bc5b0af6bc85b8ce2bca66a1d74fac3751b7 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 22 七月 2024 17:19:09 +0800
Subject: [PATCH] Merge branch '2.0' of http://120.76.84.145:10101/gitblit/r/java/IgoTravel into 2.0

---
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/SysRedPacketRecordController.java |   32 ++++++++++++++++++++++++++------
 ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/sysRedPacketRecord/tUser.js                                    |    8 +++++++-
 ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSmallPrice_add.html                                |    7 ++++++-
 3 files changed, 39 insertions(+), 8 deletions(-)

diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/SysRedPacketRecordController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/SysRedPacketRecordController.java
index 94601f7..a508eec 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/SysRedPacketRecordController.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/SysRedPacketRecordController.java
@@ -25,10 +25,7 @@
 import com.stylefeng.guns.modular.system.service.ISysRedPacketRecordService;
 
 import java.math.BigDecimal;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.Map;
-import java.util.Random;
+import java.util.*;
 
 /**
  * 控制器
@@ -95,10 +92,29 @@
         System.err.println("========="+ids+"======="+redId);
         Double money = 0D;
         SysRedPacketRecord sysRedPacketRecord = sysRedPacketRecordService.selectById(redId);
+        List<UserRedPacketRecord> redPacketActivityId = userRedPacketRecordService.selectList(new EntityWrapper<UserRedPacketRecord>().eq("redPacketActivityId", redId));
+
+        double totalRemainingAmount = redPacketActivityId.stream()
+                .mapToDouble(UserRedPacketRecord::getRemainingAmount)
+                .sum();
+
+        //还可发放的金额
+        double v = sysRedPacketRecord.getTotalMoney().doubleValue() - totalRemainingAmount;
+
         if(null != sysRedPacketRecord){
             Integer type = sysRedPacketRecord.getType();
             if(type == 1){//固定金额
+
                 money = Double.valueOf(String.valueOf(sysRedPacketRecord.getMoney()));
+                //计算剩余金额是否够
+
+                if (v <= 0){
+
+                    return ResultUtil.error("当前红包剩余金额不足");
+                }
+
+
+
             }
 
 //            else{//随机金额
@@ -113,7 +129,7 @@
         }
         String[] split = ids.split(",");
         for (String s : split) {
-        if(money > 0){
+        if(money > 0||sysRedPacketRecord.getType()!=1){
             if (sysRedPacketRecord.getType()!=1){
                 Double startMoney = Double.valueOf(String.valueOf(sysRedPacketRecord.getStartMoney()));
                 Double endMoney = Double.valueOf(String.valueOf(sysRedPacketRecord.getEndMoney()));
@@ -121,6 +137,10 @@
                 Random random = new Random();
                 int num = random.nextInt(i);
                 money = new BigDecimal(startMoney).add(new BigDecimal(num)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
+                v=v-money;
+                if (v<=0){
+                    return ResultUtil.success("当前红包为随机红包,可能有部分用户无法领取",null,"当前红包为随机红包,可能有部分用户无法领取");
+                }
             }
             //添加临时红包数据
             UserRedPacketRecord userRedPacketRecord = new UserRedPacketRecord();
@@ -136,7 +156,7 @@
             userRedPacketRecordService.insert(userRedPacketRecord);
         }
         }
-        return ResultUtil.success();
+        return ResultUtil.success("指派成功",null,"当前红包为随机红包,可能有部分用户无法领取");
     }
 
     @RequestMapping(value = "/user/list")
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSmallPrice_add.html b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSmallPrice_add.html
index 5b03ee4..e81ccaa 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSmallPrice_add.html
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemPrice/tSmallPrice_add.html
@@ -102,7 +102,7 @@
                     <div class="form-group">
                         <label class="col-sm-2 control-label">高峰期费用设置:</label>
                         <div class="col-sm-10">
-                            <input type="text" name="num23" id="num23" class="form-control newWidth" placeholder="选择时间段"/>&nbsp;
+                            <input type="text" name="num23" id="num23" oninput="checkDate(this)" class="form-control newWidth" placeholder="选择时间段"/>&nbsp;
                             和&nbsp;&nbsp;<input type="text" name="num24" id="num24" class="form-control newWidth" placeholder="选择时间段"/>&nbsp;为高峰期行车时间,
                             起步价变为&nbsp;<input type="text" oninput="checkIsYuan(this)" name="num25" id="num25" class="form-control newWidth" placeholder="最多3位数"/>&nbsp;元
                             <br>
@@ -160,6 +160,11 @@
             layer.msg("【元】输入框不能超过3位数,保留两位小数");
         }
     }
+
+    function checkDate(obj){
+        var num = $(obj).val();
+
+    }
     function checkIsGongLi(obj){
         var num = $(obj).val();
         if(!regDouble.test(num)){
diff --git a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/sysRedPacketRecord/tUser.js b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/sysRedPacketRecord/tUser.js
index b60a349..bafd08f 100644
--- a/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/sysRedPacketRecord/tUser.js
+++ b/ManagementIGOTravel/guns-admin/src/main/webapp/static/modular/system/sysRedPacketRecord/tUser.js
@@ -263,8 +263,14 @@
         // TUser.close();
 
         var ajax = new $ax(Feng.ctxPath + "/sysRedPacketRecord/direct", function(data){
-            Feng.success("派发成功!");
+
+            if (data.code!=500){
+
+            Feng.success(data.msg);
             TUser.close();
+            }else {
+                Feng.error(data.msg);
+            }
         },function(data){
             Feng.error("派发失败!" + data.responseJSON.message + "!");
         });

--
Gitblit v1.7.1