攒能量活动通过排行榜颁奖
2017-08-05 17:30
141 查看
先上代码,写个定时任务处理活动自动生成榜单,本代码解决了根据排行榜人数,和设置的一等二等三等奖人数智能匹配,包括并列情况等。适合大家参考
SaveEnergy实体类包含字段
public void setSaveEnergyRecord() { List<CinemaWelfare> list = cinemaWelfareMapper.getWelfareListByState(); if (list != null) { for (CinemaWelfare cinemaWelfare : list) { if (cinemaWelfare.getIs_draw().equals("0")) { //福利活动ID Integer eventId = cinemaWelfare.getCinema_welfare_id(); //攒能量结果排行榜 List<SaveEnergy> saveEnergyList = saveEnergyMapper.selectEnergyList(eventId); logger.info("排行榜大小==============="+saveEnergyList.size()); // 奖品配置 List<AwardsConfig> awardsConfigList = awardsConfigMapper.getAwardsConfigList(eventId.toString()); logger.info("奖项配置大小=========="+awardsConfigList.size()); if (saveEnergyList.size() != 0 && awardsConfigList.size() != 0) { Integer level_1 = 0; Integer level_2 = 0; Integer level_3 = 0; for (AwardsConfig awardsConfig : awardsConfigList) { //一等奖 if (awardsConfig.getAwards_level().equals("1")) { level_1 = awardsConfig.getAwards_count(); for (int i = 0; i < level_1 && i < saveEnergyList.size(); i++) { SaveEnergy saveEnergy = saveEnergyList.get(i); Integer userId = saveEnergy.getUser_id(); Account myInfo = accountService.getAccount(userId); insertWinningManagement(myInfo, cinemaWelfare, awardsConfig); } } //二等奖 else if (awardsConfig.getAwards_level().equals("2")) { level_2 = awardsConfig.getAwards_count(); for (int k = level_1; k < level_1 + level_2 && k < saveEnergyList.size(); k++) { SaveEnergy saveEnergy = saveEnergyList.get(k); Integer userId = saveEnergy.getUser_id(); Account myInfo = accountService.getAccount(userId); insertWinningManagement(myInfo, cinemaWelfare, awardsConfig); } } //三等奖 else if (awardsConfig.getAwards_level().equals("3")) { level_3 = awardsConfig.getAwards_count(); for (int x = level_2 + level_1; x < level_1 + level_2 + level_3 && x < saveEnergyList.size(); x++) { SaveEnergy saveEnergy = saveEnergyList.get(x); Integer userId = saveEnergy.getUser_id(); Account myInfo = accountService.getAccount(userId); insertWinningManagement(myInfo, cinemaWelfare, awardsConfig); } } } } cinemaWelfareMapper.updateSaveEnergyDrawStatus(eventId); logger.info("更新福利颁奖状态成功", cinemaWelfare.getTitle()); } else { logger.info("该福利活动已经生成福利奖单", cinemaWelfare.getTitle()); } } } }
SaveEnergy实体类包含字段
private Integer save_energy_id; private Integer user_id; private Integer count; private Date create_time;
相关文章推荐
- 游戏中的答题活动也可以通过远程代答么?
- 通过一些活动彻底的放空自己,之后重新投入到工作中会发现想法和思路都开阔了,这次参加辰辰运动会就这样的感受
- CSDN问答频道“华章杯”12月排行榜活动开始,丰厚奖品等你拿
- 我的Android第五章:通过Intent实现活动与活动之间的交互
- WIZnet通过启动在线培训活动:计算机网络TCP/IP协议而事实上,现在的方法
- CSDN问答频道“华章杯”7月排行榜活动开始,丰厚奖品等你拿
- 通过Intent将数据传递给上一个活动
- 通达OA 几次通过OA进行的足球抢票活动确实对OA系统提出了非常大挑战
- CSDN问答频道“华章杯”6月排行榜活动开始,丰厚奖品等你拿
- 3I工作室颁奖活动
- 运营方法论:如何通过“关键人营销”引爆活动?
- 通过智能活动监视器降低 PC 的功耗
- 如何将表单数据从一页传递到另一个,通过使用 GET 和 POST 活动服务器页中
- 用PHP通过LDAP操作活动目录(AD)的笔记
- 通过活动管理器来管理活动及启动活动的规范
- CSDN问答频道“华章杯”1月排行榜活动开始,丰厚奖品等你拿
- 在PHP中利用LDAP通过活动目录(Active Directory)实现域用户登录验证的办法
- 通过应答文件安装活动目录新森林
- 通过Web了解Hadoop活动
- 通过代码获取sharepoint2010的“我喜欢(I like it)”、“标签(Tags and Notes)”、“记事本”以及“文档等级”活动内容