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

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

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

服務器之家 - 編程語言 - Java教程 - java實現(xiàn)app簽到功能

java實現(xiàn)app簽到功能

2021-06-18 13:53haibo8023 Java教程

這篇文章主要為大家詳細介紹了java實現(xiàn)app簽到功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了java實現(xiàn)app簽到功能的具體代碼,供大家參考,具體內(nèi)容如下

1.首先設計二張表,第一張表sign_calc記錄用戶連續(xù)簽到次數(shù),字段id,user_id,continue_days,第二張表sign_detail簽到詳情表id,user_id,sign_date。

2.app端用戶點擊簽到接口controller如下:

?
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
/***
   * app簽到接口
   * @author xuhaibo
   * @param accid
   * @return
   */
  @responsebody
  @requestmapping(value = "/dosign")
  public jsonobject dosign(integer accid) {
    jsonobject result = new jsonobject();
    map<string, object> data = new hashmap<>();
    if (!cinemaconstants.accid_map.contains(accid)) {
      integer previousid = cinemaconstants.accid_map.put(accid, accid);
      if (previousid == null) {
        try {
          /****
           * 查詢用戶今日的簽到
           */
          signdetail signtoday = signservice.todaydetail(accid);//
          system.out.println(signtoday);
          if (signtoday == null) {//今天未簽到 1:查詢本月昨日簽到情況
            signdetail signdetail_yesterday = signservice.yesterdaydetail(accid);
            signcalc signcalcget = signservice.getsigncalc(accid);
            if (signdetail_yesterday == null) {
              signdetail signdetail = new signdetail();
              signdetail.setuser_id(accid);
              signdetail.setsign_date(new date());
              signservice.addsigndetail(signdetail);
              if (signcalcget == null) {
                signcalc signcalc = new signcalc();
                signcalc.setuser_id(accid);
                signcalc.setcontinue_days(1);
                signservice.addsigncalc(signcalc);
              } else {
                signcalc signcalc = new signcalc();
                signcalc.setuser_id(accid);
                signcalc.setcontinue_days(1);
                signservice.updatesigncalc(signcalc);
              }
              integral integral = new integral();
              integral.setsourceid(0);
              integral.setuserid(accid);
              integral.setscore(cinemaconstants.integral_type_sign_scores);
              integral.setcreatetime(new date());
              integral.setnote(cinemaconstants.integral_type_sign_describe);
              integral.setsourcetype(cinemaconstants.integral_type_sign);
              integralservice.add(integral);
              accountservice.addintegralbyuserid(accid, cinemaconstants.integral_type_sign_scores);
              result.put(constants.result_code, "00");
              data.put("data", "簽到成功");
            } else {//昨日已簽到
              signdetail signdetail = new signdetail();
              signcalc signcalc = new signcalc();
              signdetail.setuser_id(accid);
              signdetail.setsign_date(new date());
              signservice.addsigndetail(signdetail);
              signcalc.setuser_id(accid);
              signcalc.setcontinue_days(signcalcget.getcontinue_days() + 1);
              signservice.updatesigncalc(signcalc);
              integral integral = new integral();
              integral.setuserid(accid);
              integral.setsourceid(0);
              integral.setscore(cinemaconstants.integral_type_sign_scores);
              integral.setnote(cinemaconstants.integral_type_sign_describe);
              integral.setcreatetime(new date());
              integral.setsourcetype(cinemaconstants.integral_type_sign);
              integralservice.add(integral);
              accountservice.addintegralbyuserid(accid, cinemaconstants.integral_type_sign_scores);
              result.put(constants.result_code, "00");
              data.put("data", "簽到成功");
            }
          } else {//當日已簽到
            result.put(constants.result_code, "-1");
            data.put("data", "當日已簽到");
          }
          result.put("data", data);
        } catch (exception e) {
          e.printstacktrace();
          result.put(constants.result_code, "-1");
          result.put("data", "服務器錯誤");
        }
        cinemaconstants.accid_map.remove(accid);
      } else {
        result.put(constants.result_code, "-1");
        result.put("data", "操作正在進行,請重試");
      }
    } else {
      result.put(constants.result_code, "-1");
      result.put("data", "操作正在進行,請重試");
    }
    return result;
  }

領取連續(xù)簽到獎勵接口:

?
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
/***
   * 領取連續(xù)簽到獎勵接口(7天,15天,30天)
   * @param accid
   * @param signtype
   * @return
   */
  @responsebody
  @requestmapping(value = "/getsigngift")
  public jsonobject getseven(integer accid, integer signtype) {
    calendar a = calendar.getinstance();
    a.set(calendar.date, 1);//把日期設置為當月第一天
    a.roll(calendar.date, -1);//日期回滾一天,也就是最后一天
    int maxdate = a.get(calendar.date);
    system.out.print(maxdate);
    jsonobject result = new jsonobject();
    map<string, object> data = new hashmap<>();
    if (!cinemaconstants.accid_map.contains(accid)) {
      integer previousid = cinemaconstants.accid_map.put(accid, accid);
      if (previousid == null) {
        try {
          signcalc signcalc = signservice.getsigncalc(accid);
          int signserven = integralservice.signquery(accid, cinemaconstants.integral_type_sign_7);
          int signfifteen = integralservice.signquery(accid, cinemaconstants.integral_type_sign_15);
          int signthirty = integralservice.signquery(accid, cinemaconstants.integral_type_sign_30);
          if (signserven==0&&signtype == 7 && signcalc.getcontinue_days() >= 7) {
            integral integral = new integral();
            integral.setuserid(accid);
            integral.setnote(cinemaconstants.integral_type_sign_7_describe);
            integral.setscore(cinemaconstants.integral_type_sign_7_scores);
            integral.setcreatetime(new date());
            integral.setsourcetype(cinemaconstants.integral_type_sign_7);
            integralservice.add(integral);
            accountservice.addintegralbyuserid(accid, cinemaconstants.integral_type_sign_7_scores);
            result.put(constants.result_code, "00");
            data.put("data", "領取成功");
          } //
          else if (signfifteen==0&&signtype == 15 && signcalc.getcontinue_days() >= 15) {
            integral integral = new integral();
            integral.setuserid(accid);
            integral.setnote(cinemaconstants.integral_type_sign_15_describe);
            integral.setscore(cinemaconstants.integral_type_sign_15_scores);
            integral.setcreatetime(new date());
            integral.setsourcetype(cinemaconstants.integral_type_sign_15);
            integralservice.add(integral);
            accountservice.addintegralbyuserid(accid, cinemaconstants.integral_type_sign_15_scores);
            result.put(constants.result_code, "00");
            data.put("data", "領取成功");
          } else if (signthirty==0&&signtype == 30 && signcalc.getcontinue_days() >= maxdate) {
            integral integral = new integral();
            integral.setuserid(accid);
            integral.setnote(cinemaconstants.integral_type_sign_30_describe);
            integral.setscore(cinemaconstants.integral_type_sign_30_scores);
            integral.setcreatetime(new date());
            integral.setsourcetype(cinemaconstants.integral_type_sign_30);
            integralservice.add(integral);
            accountservice.addintegralbyuserid(accid, cinemaconstants.integral_type_sign_30_scores);
            result.put(constants.result_code, "00");
            data.put("data", "領取成功");
          } else {
            result.put(constants.result_code, "-1");
            data.put("msg", "已領取或未到標");
          }
          result.put("data", data);
        } catch (exception e) {
          e.printstacktrace();
          result.put(constants.result_code, "-1");
          result.put("data", "服務器錯誤");
        }
        cinemaconstants.accid_map.remove(accid);
      } else {
        result.put(constants.result_code, "-1");
        result.put("data", "操作正在進行,請重試");
      }
    } else {
      result.put(constants.result_code, "-1");
      result.put("data", "操作正在進行,請重試");
    }
    return result;
  }

簽到頁面的接口:

?
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
/***
   * 簽到頁面app端接口
   * @param accid
   * @return
   */
  @requestmapping(value = "/signgift")
  @responsebody
  public map<string, object> signgift(integer accid) {
    hashmap result = new hashmap();
    jsonobject data = new jsonobject();
    string signdetail = "";
    simpledateformat sdf = new simpledateformat("yyyy-mm-dd");
    try {
      account account = accountservice.getaccount(accid);
      signcalc signcalc = signservice.getsigncalc(accid);
      list<map<string, string>> list = signservice.getdetailbyid(accid);
      system.out.println(list);
      string countdate = signservice.countdate(accid);
      if (account == null) {
        result.put(constants.result_code, "-1");
        result.put("data", "沒數(shù)據(jù)");
      } else {
        string[] strings = account.getavatar().split(".png");
        data.put("nick_name", account.getnick_name());//昵稱
        data.put("avatar", strings[0]);
        data.put("integral", account.getintegral());//總積分
        data.put("count_date", countdate);//累計簽到天數(shù)
        if (list.size() > 0) {
          for (map<string, string> map : list) {
            for (map.entry<string, string> entry : map.entryset()) {
              string value = sdf.format(entry.getvalue());
              signdetail += value + ",";
            }
          }
        }
        int j = signdetail.lastindexof(",");
        signdetail = signdetail.substring(0, j);
        data.put("sign_date", signdetail);//簽到明細
      }
      data.put("sign_today", true);
      int signserven = integralservice.signquery(accid, cinemaconstants.integral_type_sign_7);
      if (signcalc.getcontinue_days() < 7) {
        data.put("sign_seven", "0");//未達標
      } else if (signserven>0) {
        data.put("sign_seven", "2");//已領取
      } else {
        data.put("sign_seven", "1");//未領取
      }
      int signfifteen = integralservice.signquery(accid, cinemaconstants.integral_type_sign_15);
      if (signcalc.getcontinue_days() < 15) {
        data.put("sign_fifteen", "0");//未達標
      } else if (signfifteen > 0) {
        data.put("sign_fifteen", "2");//已領取
      } else {
        data.put("sign_fifteen", "1");//未領取
      }
      int signthirty = integralservice.signquery(accid, cinemaconstants.integral_type_sign_30);
      if (signcalc.getcontinue_days() < 30 ) {
        data.put("sign_thirty", "0");//未達標
      } else if (signthirty>0) {
        data.put("sign_thirty", "2");//已領取
      } else {
        data.put("sign_thirty", "1");//未領取
      }
      result.put(constants.result_code, "00");
      result.put("data", data);
    } catch (exception e) {
      e.printstacktrace();
      result.put(constants.result_code, "-1");
      result.put("data", "數(shù)據(jù)獲取異常");
    }
    return result;
  }

效果如下:

java實現(xiàn)app簽到功能

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

原文鏈接:https://blog.csdn.net/haibo8023/article/details/76725370

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲va在线va天堂va偷拍 | 热99re久久精品国产首页 | 无人影院免费观看 | 肉文小说| 67194最新网址 | 青草国产在线视频 | 2022国产在线观看 | 亚洲成人中文 | 91桃花视频| 小小水蜜桃视频高清在线播放 | 天堂在线国产 | 亚洲欧美国产在线 | 肉搏潘金莲三级18春 | 精品国产91久久久久久久 | 香蕉视频久久 | 日本大片网| 国产免费看黄的私人影院 | 国产探花在线视频 | 国产亚洲女在线线精品 | 国产精品视频久 | 亚洲免费色 | 曹逼网站| 成年人在线观看视频免费 | 色花堂国产精品首页第一页 | 男人天堂色 | 日本不卡在线一区二区三区视频 | 初尝黑人巨大h文 | 好男人在线观看免费高清2019韩剧 | 欧美国产精品 | 国产一区二区三区在线看 | 视频一区二区国产无限在线观看 | 午夜精品久久久久久中宇 | 国产在亚洲线视频观看 | 免费精品99久久国产综合精品 | 护士videossexo另类 | 青青热久久综合网伊人 | 特级夫妻大片免费在线播放 | 欧美日韩一区二区三在线 | 特级老女人淫片高清视频 | 国产精品边做边接电话在线观看 | 亚洲精品久久玖玖玖玖 |