国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

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

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服務端接口,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

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

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

1.獲取抽獎頁面數(shù)據(jù)

?
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
/**
 * 獲取抽獎頁面數(shù)據(jù)
 * @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)) {
 // 獲取網(wǎng)頁授權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);
 // 操作次數(shù)
 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("參數(shù)錯誤");
 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("系統(tǒng)異常");
 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("參數(shù)錯誤");
 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);
  // 修改獎品剩余數(shù)量
  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("系統(tǒng)異常");
 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("參數(shù)錯誤");
 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("系統(tǒng)異常");
 logger.info(e.tostring(), e);
 }
 return appresult;
}

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

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

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 欧美一区二区三区在线看 | 一区二区自拍 | 国产精品亚洲精品 | 81精品国产乱码久久久久久 | 精品一区二区不卡 | 国产精品综合 | 精品一区二区久久久久黄大片 | 国产欧美精品区一区二区三区 | 欧美成人精品一区二区三区在线看 | 日韩免费在线 | 91在线看 | 日韩中文视频 | 蜜臀网| 中国精品自拍 | 国产美女自拍视频 | 国产美女自拍视频 | 成人久久久精品国产乱码一区二区 | 五月天一区二区 | 欧美精品一区在线 | 午夜精品久久久久久久久久久久 | 91中文字幕网 | 狠狠躁夜夜躁人人爽天天高潮 | 日韩精品久久 | 欧美一级免费看 | 欧美视频免费在线 | 国产高清精品在线 | 日韩高清一区二区 | 亚洲国产视频一区 | 色欧美片视频在线观看 | 成人刺激视频在线 | 欧美日本韩国一区二区三区 | 性视频一区二区 | 91精品国产综合久久久久 | 亚洲精品成人av | 精品日韩一区二区 | 免费一及片 | 亚洲日本三级 | 美女久久| 日韩色区 | 欧美一级二级视频 | 91精品国产乱码久久久久久 |