开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
1 Star 0 Fork 42

mygitcodehost/RedPacket

forked from java110/RedPacket
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (1)
master
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
项目仓库所选许可证以仓库主分支所使用许可证为准
master
分支 (1)
master
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (1)
master
RedPacket
/
src
/
com
/
java110
/
util
/
StaticMapUtil.java
RedPacket
/
src
/
com
/
java110
/
util
/
StaticMapUtil.java
StaticMapUtil.java 5.51 KB
一键复制 编辑 原始数据 按行查看 历史
wuxw7 提交于 2017年05月06日 23:09 +08:00 . 开源红包系统
package com.java110.util;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletContext;
import org.springframework.web.context.ContextLoader;
import org.springframework.web.context.WebApplicationContext;
import com.java110.common.Global;
import com.java110.common.SpringAppFactory;
import com.java110.service.redpacket.GetPacketService;
import com.java110.service.redpacket.SendPacketService;
import com.java110.thread.redpacket.UpdateAccountAmountThread;
import com.sun.xml.internal.ws.util.UtilException;
/**
* 初始化信息加载
*
* @author wuxw
* @date 2016年1月26日
* version 1.0
*/
public class StaticMapUtil {
private static List<Map> codeMapBeans;//获取配置表(td_s_code_mapping)中数据
public StaticMapUtil() {
}
public StaticMapUtil(String dbDefaultAreaCodex, String dbDefaultAreaIdx) {
}
public void init() throws UtilException {
//加载配置表数据
// GetCodeMapping();
// //启动数据处理线程
startUpdateAccountAmountThread();
//加载没有抢完的红包
loadSendRedPacket();
}
public static List<Map> getCodeMapBeans() {
return codeMapBeans;
}
public static void setCodeMapBeans(List<Map> codeMapBeans) {
StaticMapUtil.codeMapBeans = codeMapBeans;
}
/**
* 启动数据处理线程
*
* add by wuxw 2016年2月22日
*/
private void startUpdateAccountAmountThread(){
UpdateAccountAmountThread uaat = new UpdateAccountAmountThread();
Thread t = new Thread(uaat);
t.start();
}
/**
* 加载还没有抢完的红包
*
* add by wuxw 2016年2月23日
*/
private void loadSendRedPacket(){
SendPacketService sendPacketServiceImpl = (SendPacketService) SpringAppFactory.getBean("SendPacketServiceImpl");
GetPacketService getPacketServiceImpl = (GetPacketService) SpringAppFactory.getBean("GetPacketServiceImpl");
Map info = new HashMap();
info.put("page", 1);
info.put("rows", 1000);
//查询所有发了1000条发了的红包
List<Map> sendPacketMaps = sendPacketServiceImpl.getSendPacketList(info);
for(Map sendPacketMap : sendPacketMaps){
String sendRedPacketId = sendPacketMap.get("sendRedPacketId").toString();
Map paramIn = new HashMap();
paramIn.put("sendRedPacketId", sendRedPacketId);
List<Map> getPacketMaps = getPacketServiceImpl.getPacketListBySendPacketId(paramIn);
String redType = sendPacketMap.get("redType") == null ? null : sendPacketMap.get("redType").toString();
int copies = Integer.parseInt(sendPacketMap.get("copies").toString());
double money = Double.parseDouble(sendPacketMap.get("money").toString());
String userOrMerchant = sendPacketMap.get("userOrMerchant") == null ? Global.U :sendPacketMap.get("userOrMerchant").toString();
if(getPacketMaps == null || getPacketMaps.size() == 0){
//发送红包重新随机 放入至内存中
//判断是随机红包 还是 平均红包
List<Map> moneyList = new ArrayList<Map>();
if(Global.RED_TYPE_01.equals(redType)){
moneyList = Utility.randomRedPacket(copies, money);
}else{
// 平均红包
moneyList = new ArrayList<Map>();
Map<String, Double> moneyMap = null;
for (int i = 1; i <= copies; i++) {
moneyMap = new HashMap<String, Double>();
moneyMap.put(Global.RED_MONEY, money);
moneyList.add(moneyMap);
}
}
WebApplicationContext webApplicationContext = ContextLoader.getCurrentWebApplicationContext();
ServletContext servletContext = webApplicationContext.getServletContext();
servletContext.setAttribute(sendRedPacketId, moneyList);
//判断红包类型是商家红包还是用户红包
if(Global.M.equals(userOrMerchant)){
//商家红包 加载商家信息
Map merchantMap = sendPacketServiceImpl.getMerchantSendRedPacketBySendRedPacketId(sendPacketMap);
servletContext.setAttribute(Global.MERCHANT+sendRedPacketId, merchantMap);
}
continue;
}
double moneyed = 0.0;
List<String> getPacketPerson = new ArrayList<String>();
for(Map getPacketMap : getPacketMaps){
moneyed += Double.parseDouble(getPacketMap.get("money")==null?"0":getPacketMap.get("money").toString());
getPacketPerson.add(getPacketMap.get("userId")==null?"":getPacketMap.get("userId").toString());
}
int getPacketCount = getPacketMaps.size();
List<Map> moneyList = new ArrayList<Map>();
//减去 已经发出去的红包数量和金额,重新计算
copies = copies-getPacketCount;
money = Amount.sub(money, moneyed);
if(Global.RED_TYPE_01.equals(redType)){
moneyList = Utility.randomRedPacket(copies, money);
}else{
// 平均红包
moneyList = new ArrayList<Map>();
Map<String, Double> moneyMap = null;
for (int i = 1; i <= copies; i++) {
moneyMap = new HashMap<String, Double>();
moneyMap.put(Global.RED_MONEY, money);
moneyList.add(moneyMap);
}
}
WebApplicationContext webApplicationContext = ContextLoader.getCurrentWebApplicationContext();
ServletContext servletContext = webApplicationContext.getServletContext();
servletContext.setAttribute(sendRedPacketId, moneyList);
//将已经抢了红包的用户导入至 内存中
servletContext.setAttribute(Global.GET_PACKET_USER+sendRedPacketId, getPacketPerson);
//判断红包类型是商家红包还是用户红包
if(Global.M.equals(userOrMerchant)){
//商家红包 加载商家信息
Map merchantMap = sendPacketServiceImpl.getMerchantSendRedPacketBySendRedPacketId(sendPacketMap);
servletContext.setAttribute(Global.MERCHANT+sendRedPacketId, merchantMap);
}
}
}
}
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

开源红包系统,发红包,抢红包,求红包,兑红包,目前支持支付宝和微信两大平台,
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/mygitcodehost/RedPacket.git
git@gitee.com:mygitcodehost/RedPacket.git
mygitcodehost
RedPacket
RedPacket
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /