From 3af9c82375df6bd77ae78a5d900c409a895ecd18 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 14 十一月 2024 17:10:16 +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 | 141 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 139 insertions(+), 2 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 fd0f70a..eeec482 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,13 +1,23 @@
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.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.TUser;
+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.util.ResultUtil;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@@ -19,8 +29,8 @@
import com.stylefeng.guns.modular.system.model.SysRedPacketRecord;
import com.stylefeng.guns.modular.system.service.ISysRedPacketRecordService;
-import java.util.Date;
-import java.util.Map;
+import java.math.BigDecimal;
+import java.util.*;
/**
* 控制器
@@ -36,6 +46,17 @@
@Autowired
private ISysRedPacketRecordService sysRedPacketRecordService;
+ @Autowired
+ private IUserRedPacketRecordService userRedPacketRecordService;
+
+
+ @RequestMapping("/redRecord")
+ public String index( Model model,Integer couponActivityId,Integer activityType) {
+ model.addAttribute("activityType",activityType);
+ model.addAttribute("couponActivityId",couponActivityId);
+ return PREFIX + "userRedRecord.html";
+ }
+
/**
* 跳转到首页
@@ -43,6 +64,11 @@
@RequestMapping("")
public String index() {
return PREFIX + "sysRedPacketRecord.html";
+ }
+
+ @RequestMapping("/tUser")
+ public String tUser() {
+ return PREFIX + "tUser.html";
}
/**
@@ -64,6 +90,117 @@
return PREFIX + "sysRedPacketRecord_edit.html";
}
+
+ @Autowired
+ private ITSystemNoticeService systemNoticeService;
+
+ @Autowired
+ private ITUserService userService;
+
+
+ @RequestMapping(value = "/direct")
+ @ResponseBody
+ public ResultUtil direct(String ids, Integer redId) {
+ 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-money*ids.split(",").length < 0){
+ return ResultUtil.error("当前红包剩余金额不足");
+ }
+
+
+
+ }
+
+// else{//随机金额
+// 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 = random.nextInt(i);
+// money = new BigDecimal(startMoney).add(new BigDecimal(num)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
+// }
+
+ }
+ 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;
+ }
+ 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(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,"当前红包为随机红包,可能有部分用户无法领取");
+ }
+
+ @RequestMapping(value = "/user/list")
+ @ResponseBody
+ public Object list(String createTime,String userName,String userPhone,Integer couponActivityId,Integer activityType,Integer state) {
+ String beginTime = null;
+ String endTime = null;
+ if (SinataUtil.isNotEmpty(createTime)){
+ String[] timeArray = createTime.split(" - ");
+ beginTime = timeArray[0];
+ endTime = timeArray[1];
+ }
+ Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
+ page.setRecords(sysRedPacketRecordService.getList(page,beginTime,endTime,userName,userPhone,couponActivityId,activityType,state));
+ return super.packForBT(page);
+ }
+
/**
* 获取列表
*/
--
Gitblit v1.7.1