一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - Java教程 - APP轉盤抽獎Java服務端接口詳解

APP轉盤抽獎Java服務端接口詳解

2021-07-11 20:33若冇記憶 Java教程

這篇文章主要為大家詳細介紹了APP轉盤抽獎Java服務端接口,具有一定的參考價值,感興趣的小伙伴們可以參考一下

應公司需求開發一個微信公眾號中抽獎活動

功能:獎品及中獎概率可在后臺配置,滾動刷新中獎名單,控制用戶每日抽獎次數等。

規則:在活動期間,每日可抽獎一次,中獎后填寫個人信息以便獎品的配送。

1.獲取抽獎頁面數據

?
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
/**
 * 獲取抽獎頁面數據
 * @param request
 * @param response
 * @return
 * @throws servletexception
 * @throws ioexception
 */
@requestmapping(value="/querylotteryactivity")
@responsebody
public appintreturn querylotteryactivity(httpservletrequest request, httpservletresponse response)
 throws servletexception, ioexception {
 appintreturn res = new appintreturn();
 
 // 用戶同意授權后,能獲取到code
 string code = request.getparameter("code");
 
 // 用戶同意授權
 if (!"authdeny".equals(code)) {
 // 獲取網頁授權access_token
 weixinoauth2token weixinoauth2token = commonutil
 .getoauth2accesstoken(configutil.appid, configutil.app_secrect, code);
 // 用戶標識
 string openid = weixinoauth2token.getopenid();
 
 if(!stringutil.isempty(openid)){
 
 // 查詢用戶信息
 list<cxhwechatmember> memberlist = applotteryservice.getmemberlist(openid);
 // 操作次數
 int opernum = 1; // 可寫成后臺可配置的
 if(memberlist != null && memberlist.size() > 0){
 opernum = opernum - memberlist.size();
 /*// 獲取用戶信息
 string accesstoken = commonutil.getaccesstoken(configutil.appid, configutil.app_secrect).gettoken();
 cxhwechatmember = commonutil.getwechatmemberinfo(accesstoken, openid);
 // 保存用戶信息
 applotteryservice.savememberinfo(cxhwechatmember);*/
 }
 
 if (null == request.getparameter("activityid") || "".equals(request.getparameter("activityid"))){
 res.setresult("-2");
 res.setmsg("參數錯誤");
 return res;
 }
 // 查詢活動信息
 cxhvoteactivity cxhvoteactivity = applotteryservice.getactivityinfo(request.getparameter("activityid"));
 if (null == cxhvoteactivity){
 res.setresult("-3");
 res.setmsg("暫無該類活動");
 return res;
 }
 cxhvoteaward cxhvoteaward = new cxhvoteaward();
 cxhvoteaward.setcxhvoteactivity(cxhvoteactivity);
 // 查詢獎品列表
 list<cxhvoteaward> awardlist = applotteryservice.findawardlist(cxhvoteaward);
 
 // 返回map
 map<string, object> rtnmap = new hashmap<string, object>();
 rtnmap.put("activity", cxhvoteactivity);
 rtnmap.put("awardlist", awardlist);
 rtnmap.put("opernum", opernum);
 rtnmap.put("openid", openid);
 
 res.setresult("0");
 res.setmsg("請求成功");
 res.setdata(rtnmap);
 }else{
 res.setresult("-1");
 res.setmsg("授權失敗");
 }
 
 }else{
 res.setresult("-1");
 res.setmsg("授權失敗");
 }
 return res;
}

2.中獎名單接口

?
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
/**
 * 中獎名單接口
 * @author lee
 * @return
 */
@responsebody
@requestmapping(value = "/winningmemberlist")
public object querywinningmemberlist(httpservletrequest request, httpservletresponse response) {
 applistreturn appresult = new applistreturn();
 try {
 cxhwechatmember cxhwechatmember = new cxhwechatmember();
 cxhwechatmember.setiswinning("1"); // 中獎
 // 查詢中獎用戶名單(分頁)
 page<cxhwechatmember> pagelist = applotteryservice.findpage(new page<cxhwechatmember>(request, response), cxhwechatmember);
 appresult.setdata(pagelist.getlist());
 appresult.setpagenumber(pagelist.getpageno());
 appresult.setpagesize(pagelist.getpagesize());
 appresult.settotal((int) pagelist.getcount());
 appresult.settotalpages(pagelist.gettotalpage());
 appresult.setresult(0);
 appresult.setmsg("成功");
 } catch (exception e) {
 appresult.setresult(-9);
 appresult.setmsg("系統異常");
 logger.info(e.tostring(), e);
 }
 return appresult;
}

3.抽獎接口

?
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
/**
 * 抽獎接口
 * @author lee
 * @return
 */
@responsebody
@requestmapping(value = "/dolottery")
public object dolottery(httpservletrequest request, httpservletresponse response) {
 applistreturn appresult = new applistreturn();
 // 返回map
 map<string, object> rtnmap = new hashmap<string, object>();
 string activityid = request.getparameter("activityid");
 string openid = request.getparameter("openid");
 try {
 
 if (null == activityid || "".equals(activityid) || null == openid || "".equals(openid)){
 appresult.setresult(-2);
 appresult.setmsg("參數錯誤");
 return appresult;
 }
 // 查詢活動信息
 cxhvoteactivity cxhvoteactivity = applotteryservice.getactivityinfo(request.getparameter("activityid"));
 if (null == cxhvoteactivity){
 appresult.setresult(-3);
 appresult.setmsg("暫無該類活動");
 return appresult;
 }
 cxhvoteaward cxhvoteaward = new cxhvoteaward();
 cxhvoteaward.setcxhvoteactivity(cxhvoteactivity);
 // 查詢獎品列表
 list<cxhvoteaward> awardlist = applotteryservice.findawardlist(cxhvoteaward);
 
 random rd = new random();
 double dd = rd.nextdouble();
 double before = 0;
 double end = 0;
 cxhvoteaward.setlevel("5"); // 5-未中獎
 
 // 計算中獎概率
 for (int i = 0; i < awardlist.size(); i++) {
 if(i > 0){
 before += awardlist.get(i-1).getrate().doublevalue();
 }
 end += awardlist.get(i).getrate().doublevalue();
 if(dd >= before && dd < end){
 if(awardlist.get(i).getleftnum() > 0){
  // 中獎獎品
  cxhvoteaward = awardlist.get(i);
  // 修改獎品剩余數量
  cxhvoteaward.setleftnum(cxhvoteaward.getleftnum() - 1);
  applotteryservice.updateawardnumber(cxhvoteaward);
 }
 break;
 }
 }
 
 // 新增用戶操作記錄
 string accesstoken = commonutil.getaccesstoken(configutil.appid, configutil.app_secrect).gettoken();
 cxhwechatmember cxhwechatmember = commonutil.getwechatmemberinfo(accesstoken, openid);
 cxhwechatmember.setid(idgen.uuid());
 cxhwechatmember.setjoindate(new date());
 cxhwechatmember.setdelflag("0");
 // 保存用戶信息
 applotteryservice.savememberinfo(cxhwechatmember);
 
 rtnmap.put("awardlevel", cxhvoteaward.getlevel());
 rtnmap.put("awardid", cxhvoteaward.getid());
 appresult.setdata(rtnmap);
 appresult.setresult(0);
 appresult.setmsg("成功");
 } catch (exception e) {
 appresult.setresult(-9);
 appresult.setmsg("系統異常");
 logger.info(e.tostring(), e);
 }
 return appresult;
}

4.保存中獎用戶信息的接口

?
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
/**
 * 保存中獎用戶信息的接口
 * @author lee
 * @return
 */
@responsebody
@requestmapping(value = "/savememberinfo")
public object savememberinfo(httpservletrequest request, httpservletresponse response) {
 applistreturn appresult = new applistreturn();
 try {
 
 // 用戶同意授權后,能獲取到code
 string openid = request.getparameter("openid");
 string username = request.getparameter("username");
 string phone = request.getparameter("phone");
 string address = request.getparameter("address");
 string awardlevel = request.getparameter("awardlevel");
 string awardid = request.getparameter("awardid");
 
 if (null == username || "".equals(username)
 || null == phone || "".equals(phone)
 || null == address || "".equals(address)
 || null == openid || "".equals(openid)
 || null == awardlevel || "".equals(awardlevel)
 || null == awardid || "".equals(awardid)){
 appresult.setresult(-2);
 appresult.setmsg("參數錯誤");
 return appresult;
 }
 
 // 查詢用戶信息
 list<cxhwechatmember> memberlist = applotteryservice.getmemberlist(openid);
 cxhwechatmember cxhwechatmember = memberlist.get(0);
 cxhwechatmember.setusername(username);
 cxhwechatmember.setphone(phone);
 cxhwechatmember.setaddress(address);
 cxhwechatmember.setiswinning(awardlevel == "5" ? "0" : "1");
 cxhwechatmember.setawardid(awardid);
 applotteryservice.update(cxhwechatmember);
 
 appresult.setresult(0);
 appresult.setmsg("成功");
 
 } catch (exception e) {
 appresult.setresult(-9);
 appresult.setmsg("系統異常");
 logger.info(e.tostring(), e);
 }
 return appresult;
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/lijie18/article/details/57983918

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 精品无码久久久久久久久 | 日韩理论在线观看 | 日韩欧美一区二区在线 | 亚洲男人天堂a | 女人张开腿让男人桶视频免费大全 | 超强台风免费观看完整版视频 | 日本一级不卡一二三区免费 | 美女的隐私无遮挡撒尿 | 免费一级毛片完整版在线看 | 天天做天天爱天天一爽一毛片 | 嫩草影院永久在线一二三四 | 亚欧精品在线观看 | 99手机在线视频 | 国四虎影永久 | 亚洲精品一二三四 | 九九九国产视频 | 草草在线影院 | 精品一区二区三区五区六区 | 99精品国产在现线免费 | 丝袜爆操 | 日韩免费视频播放 | 青青草国产青春综合久久 | 国产成人免费片在线观看 | 亚洲国产精品福利片在线观看 | 暖暖视频免费观看视频中国.韩剧 | 国产高清亚洲 | 波多野结在线观看 | 9l国产精品久久久久麻豆 | 免费一级国产生活片 | 驯服有夫之妇HD中字日本 | 四虎精品永久在线网址 | 精品视频入口 | 国产有码在线 | 四虎影院大全 | 国产三级精品播放 | 精品AV无码一二三区视频 | 国产欧美精品一区二区三区–老狼 | 国产女同精品 | 日本大巴车强thepro | 腿交hd | 青青青在线观看国产精品 |