Pu Zhibing
2025-04-25 20fb7c22fd9d4a936a2e9f4b003da51a0c2a0217
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,6 +133,7 @@
//            }
        }
        User user = iUserService.selectById(ShiroKit.getUser().getId());
        String[] split = ids.split(",");
        for (String s : split) {
        if(money > 0||sysRedPacketRecord.getType()!=1){
@@ -153,7 +149,7 @@
                }else {
                    num = 0;
                }
                money = new BigDecimal(startMoney).add(new BigDecimal(num)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
                    money = new BigDecimal(startMoney).add(new BigDecimal(num)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
                v=v-money;
                if (v<0){
                    return ResultUtil.success("当前红包为随机红包,可能有部分用户无法领取",null,"当前红包为随机红包,可能有部分用户无法领取");
@@ -164,7 +160,7 @@
            userRedPacketRecord.setMoney(money);
            userRedPacketRecord.setRemainingAmount(money);
            userRedPacketRecord.setInsertTime(new Date());
            userRedPacketRecord.setCompanyId(1);
                userRedPacketRecord.setCompanyId(user.getObjectId());
            userRedPacketRecord.setState(1);
            userRedPacketRecord.setOrderId(null);
            // 标记为后台发放的红包