ActivityService.java
4.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
package com.w1hd.zzhnc.service;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.testng.util.Strings;
import com.w1hd.zzhnc.dao.LotteryLogDao;
import com.w1hd.zzhnc.enums.ActivityStatus;
import com.w1hd.zzhnc.model.Activity;
import com.w1hd.zzhnc.model.Lotterylog;
import com.w1hd.zzhnc.model.Prize;
import com.w1hd.zzhnc.util.CommonUtil;
import com.w1hd.zzhnc.util.DateUtil;
import com.w1hd.zzhnc.util.PageResults;
import com.w1hd.zzhnc.util.RedisUtil;
import com.w1hd.zzhnc.vo.Lotterylog_Vo;
/**
* @ClassName ArticlesServiceImpl
* @Description TODO(杩欓噷鐢ㄤ竴鍙ヨ瘽鎻忚堪杩欎釜绫荤殑浣滅敤)
* @author hm
* @Date 2017骞�11鏈�22鏃� 涓婂崍10:13:53
* @version 1.0.0
*/
@Service
public class ActivityService {
final String ACTIVITY_SETTING =RedisUtil.PROJECTNAME.concat("_").concat("ACTIVITY_SETTING");// 娲诲姩璁剧疆淇濆瓨key
@Autowired
LotteryLogDao logDao;
@Autowired
RedisTemplate redisTemplate;
public Activity getActivitySetting() {
Activity redisactivity = (Activity) redisTemplate.opsForValue().get(ACTIVITY_SETTING);
if (redisactivity == null) {
redisactivity = new Activity(new Date(2017, 12, 27), new Date(2018, 2, 1), 1, new BigDecimal(500), "zhenzhou",
"keyworks", "you'r lose", "replay String of activity finished ", "input title pls", "input subtitle pls", 0, "nochance replay", "waitting...", "welcome", "fail",
"success", "undefind");
Prize prize = new Prize();
prize.setIsMoney(true);
prize.setMaxMoney(200);
prize.setMixMoney(100);
prize.setName("这个是红包奖品");
prize.setNum(10);
prize.setProbability(20);
Prize prize2 = new Prize();
prize2.setIsMoney(false);
prize2.setMaxMoney(0);
prize2.setMixMoney(0);
prize2.setName("这个可能是实物奖品");
prize2.setNum(10);
prize2.setProbability(20);
redisactivity.setP1(prize);
redisactivity.setP2(prize2);
redisTemplate.opsForValue().set(ACTIVITY_SETTING, redisactivity);
}
return redisactivity;
}
public String updateActivityStatus(Integer status) {
Activity activity = getActivitySetting();
activity.setStatus(status);
updateActivity(activity);
return "ok";
}
public String clearActivity() {
Activity activity = getActivitySetting();
activity.setTurn(activity.getTurn()+1);
activity.setP1(null);
activity.setP2(null);
activity.setP3(null);
activity.setP4(null);
activity.setPlanMny(new BigDecimal(0));
activity.setStatus(0);
updateActivity(activity);
return "ok";
}
public String addLotteryLog(Integer fansid, BigDecimal mny, Integer status, Integer turn,String name) {
Lotterylog log = new Lotterylog();
log.setCreatedtime(CommonUtil.getTime());
log.setFansid(fansid);
log.setMny(mny);
log.setStatus(status);
log.setTurn(turn);
log.setName(name);
int row = logDao.insertSelective(log);
return row > 0 ? "ok" : "error";
}
public PageResults<Lotterylog_Vo> getLotteryLogList(Integer page, Integer pagesize, Integer turn, String keyword,
Integer status) {
PageResults<Lotterylog_Vo> pageResults = new PageResults<>();
List<Lotterylog_Vo> list = logDao.getLotteryLogList((page - 1) * pagesize, pagesize, turn, keyword, status);
int total = logDao.getLotteryLogCount(turn, status);
BigDecimal bMny = logDao.getSumMny(turn, status);
int mny = bMny == null ? 0 : bMny.intValue();
pageResults.setPage(page);
pageResults.setPageSize(pagesize);
pageResults.setRows(list);
pageResults.setTotal(total);
pageResults.setSum(mny);
return pageResults;
}
public void updateCurrentMny(BigDecimal currentMny) {
try {
String activityjson = RedisUtil.get(ACTIVITY_SETTING);
if (Strings.isNullOrEmpty(activityjson))
return;
activityjson = CommonUtil.JsonToObject(activityjson);
Activity redisactivity = CommonUtil.getEntity(activityjson, Activity.class);
redisactivity.setCurrentMny(currentMny);
String json = CommonUtil.getJson(redisactivity);
System.out.println("activity json:" + json.toString());
RedisUtil.set(ACTIVITY_SETTING, json.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
public void updateActivity(Activity activity) {
redisTemplate.opsForValue().set(ACTIVITY_SETTING, activity);
}
}