From 20fb7c22fd9d4a936a2e9f4b003da51a0c2a0217 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 25 四月 2025 18:11:19 +0800
Subject: [PATCH] 修改bug

---
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/SysRedPacketRecordController.java |  126 ++++++++++++++++++++---------------------
 1 files changed, 61 insertions(+), 65 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 eeec482..46ca401 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
@@ -1,36 +1,34 @@
 package com.stylefeng.guns.modular.system.controller.general;
 
-import cn.hutool.system.UserInfo;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.stylefeng.guns.core.base.controller.BaseController;
 import com.stylefeng.guns.core.common.constant.factory.PageFactory;
+import com.stylefeng.guns.core.log.LogObjectHolder;
 import com.stylefeng.guns.core.shiro.ShiroKit;
-import com.stylefeng.guns.core.shiro.ShiroUser;
 import com.stylefeng.guns.core.util.DateUtil;
 import com.stylefeng.guns.core.util.SinataUtil;
-import com.stylefeng.guns.modular.system.model.TSystemNotice;
+import com.stylefeng.guns.modular.system.model.SysRedPacketRecord;
 import com.stylefeng.guns.modular.system.model.TUser;
+import com.stylefeng.guns.modular.system.model.User;
 import com.stylefeng.guns.modular.system.model.UserRedPacketRecord;
-import com.stylefeng.guns.modular.system.service.ITSystemNoticeService;
-import com.stylefeng.guns.modular.system.service.ITUserService;
-import com.stylefeng.guns.modular.system.service.IUserRedPacketRecordService;
-import com.stylefeng.guns.modular.system.service.impl.UserServiceImpl;
+import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.util.ResultUtil;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.beans.factory.annotation.Autowired;
-import com.stylefeng.guns.core.log.LogObjectHolder;
+import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
-import com.stylefeng.guns.modular.system.model.SysRedPacketRecord;
-import com.stylefeng.guns.modular.system.service.ISysRedPacketRecordService;
+import org.springframework.web.bind.annotation.ResponseBody;
 
 import java.math.BigDecimal;
-import java.util.*;
+import java.math.RoundingMode;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Random;
 
 /**
  * 控制器
@@ -42,13 +40,19 @@
 @RequestMapping("/sysRedPacketRecord")
 public class SysRedPacketRecordController extends BaseController {
 
-    private String PREFIX = "/system/sysRedPacketRecord/";
+    private final String PREFIX = "/system/sysRedPacketRecord/";
 
     @Autowired
     private ISysRedPacketRecordService sysRedPacketRecordService;
     @Autowired
     private IUserRedPacketRecordService userRedPacketRecordService;
-
+    @Autowired
+    private ITSystemNoticeService systemNoticeService;
+    @Autowired
+    private ITUserService userService;
+    
+    @Autowired
+    private IUserService iUserService;
 
     @RequestMapping("/redRecord")
     public String index( Model model,Integer couponActivityId,Integer activityType) {
@@ -56,7 +60,6 @@
         model.addAttribute("couponActivityId",couponActivityId);
         return PREFIX + "userRedRecord.html";
     }
-
 
     /**
      * 跳转到首页
@@ -89,14 +92,6 @@
         LogObjectHolder.me().set(sysRedPacketRecord);
         return PREFIX + "sysRedPacketRecord_edit.html";
     }
-
-
-    @Autowired
-    private ITSystemNoticeService systemNoticeService;
-
-    @Autowired
-    private ITUserService userService;
-
 
     @RequestMapping(value = "/direct")
     @ResponseBody
@@ -138,50 +133,51 @@
 //            }
 
         }
-        String[] split = ids.split(",");
+        User user = iUserService.selectById(ShiroKit.getUser().getId());
+	    String[] split = ids.split(",");
         for (String s : split) {
-        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()));
-                int i = new BigDecimal(endMoney).subtract(new BigDecimal(startMoney)).intValue();
-                Random random = new Random();
-                int num;
-                if (!startMoney.equals(endMoney)){
-                     num = random.nextInt(i);
-
-                }else {
-                    num = 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()));
+                    int i = new BigDecimal(endMoney).subtract(new BigDecimal(startMoney)).intValue();
+                    Random random = new Random();
+                    int num;
+                    if (!startMoney.equals(endMoney)){
+                         num = random.nextInt(i);
+    
+                    }else {
+                        num = 0;
+                    }
+                    money = new BigDecimal(startMoney).add(new BigDecimal(num)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
+                    v=v-money;
+                    if (v<0){
+                        return ResultUtil.success("当前红包为随机红包,可能有部分用户无法领取",null,"当前红包为随机红包,可能有部分用户无法领取");
+                    }
                 }
-                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();
+                userRedPacketRecord.setMoney(money);
+                userRedPacketRecord.setRemainingAmount(money);
+                userRedPacketRecord.setInsertTime(new Date());
+                userRedPacketRecord.setCompanyId(user.getObjectId());
+                userRedPacketRecord.setState(1);
+                userRedPacketRecord.setOrderId(null);
+                // 标记为后台发放的红包
+                userRedPacketRecord.setIsGrant(1);
+                userRedPacketRecord.setRedPacketActivityId(redId);
+    //            userRedPacketRecord.setOrderType(3);
+                userRedPacketRecord.setUserId(Integer.valueOf(s));
+                userRedPacketRecordService.insert(userRedPacketRecord);
+    
+                TUser tUser = userService.selectById(Integer.valueOf(s));
+                Integer language = tUser.getLanguage();
+                try {
+                    systemNoticeService.addSystemNotice(1, language == 1 ? "您收到一个额度为GHS"+money+"的红包,请查收。" : language == 2 ? "You have received a red envelope with a limit of GHS"+money+". Please check it." : "Vous recevez un paquet rouge avec une limite de ghs+"+money+", veuillez vérifier.", tUser.getId());
+                }catch (Exception e){
+                    e.printStackTrace();
                 }
             }
-            //添加临时红包数据
-            UserRedPacketRecord userRedPacketRecord = new UserRedPacketRecord();
-            userRedPacketRecord.setMoney(money);
-            userRedPacketRecord.setRemainingAmount(money);
-            userRedPacketRecord.setInsertTime(new Date());
-            userRedPacketRecord.setCompanyId(1);
-            userRedPacketRecord.setState(1);
-            userRedPacketRecord.setOrderId(null);
-            // 标记为后台发放的红包
-            userRedPacketRecord.setIsGrant(1);
-            userRedPacketRecord.setRedPacketActivityId(redId);
-//            userRedPacketRecord.setOrderType(3);
-            userRedPacketRecord.setUserId(Integer.valueOf(s));
-            userRedPacketRecordService.insert(userRedPacketRecord);
-
-            TUser tUser = userService.selectById(Integer.valueOf(s));
-            Integer language = tUser.getLanguage();
-            try {
-                systemNoticeService.addSystemNotice(1, language == 1 ? "您收到一个额度为GHS"+money+"的红包,请查收。" : language == 2 ? "You have received a red envelope with a limit of GHS"+money+". Please check it." : "Vous recevez un paquet rouge avec une limite de ghs+"+money+", veuillez vérifier.", tUser.getId());
-            }catch (Exception e){
-                e.printStackTrace();
-            }
-        }
         }
         return ResultUtil.success("指派成功",null,"当前红包为随机红包,可能有部分用户无法领取");
     }

--
Gitblit v1.7.1