欧美成人午夜免费全部完,亚洲午夜福利精品久久,а√最新版在线天堂,另类亚洲综合区图片小说区,亚洲欧美日韩精品色xxx

扣丁學(xué)堂Java培訓(xùn)項(xiàng)目實(shí)戰(zhàn)之實(shí)現(xiàn)app簽到功能

2018-11-30 13:19:35 1446瀏覽

今天扣丁學(xué)堂Java培訓(xùn)老師給大家介紹一下關(guān)于java實(shí)現(xiàn)app簽到功能的具體代碼,希望對(duì)同學(xué)學(xué)習(xí)Java開(kāi)發(fā)有所幫助,下面我們一起來(lái)看一下吧。

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

2、app端用戶(hù)點(diǎn)擊簽到接口controller如下:

/***
   * 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 {
          /****
           * 查詢(xún)用戶(hù)今日的簽到
           */
          SignDetail signToday = signService.todayDetail(accid);//
          System.out.println(signToday);
          if (signToday == null) {//今天未簽到 1:查詢(xún)本月昨日簽到情況
            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 {//當(dāng)日已簽到
            result.put(Constants.RESULT_CODE, "-1");
            data.put("data", "當(dāng)日已簽到");
          }
          result.put("data", data);
        } catch (Exception e) {
          e.printStackTrace();
          result.put(Constants.RESULT_CODE, "-1");
          result.put("data", "服務(wù)器錯(cuò)誤");
        }
        CinemaConstants.ACCID_MAP.remove(accid);
      } else {
        result.put(Constants.RESULT_CODE, "-1");
        result.put("data", "操作正在進(jìn)行,請(qǐng)重試");
      }
    } else {
      result.put(Constants.RESULT_CODE, "-1");
      result.put("data", "操作正在進(jìn)行,請(qǐng)重試");
    }
    return result;
  }

領(lǐng)取連續(xù)簽到獎(jiǎng)勵(lì)接口:


/***
   * 領(lǐng)取連續(xù)簽到獎(jiǎng)勵(lì)接口(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);//把日期設(shè)置為當(dāng)月第一天
    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", "領(lǐng)取成功");
          } //
          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", "領(lǐng)取成功");
          } 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", "領(lǐng)取成功");
          } else {
            result.put(Constants.RESULT_CODE, "-1");
            data.put("msg", "已領(lǐng)取或未到標(biāo)");
          }
          result.put("data", data);
        } catch (Exception e) {
          e.printStackTrace();
          result.put(Constants.RESULT_CODE, "-1");
          result.put("data", "服務(wù)器錯(cuò)誤");
        }
        CinemaConstants.ACCID_MAP.remove(accid);
      } else {
        result.put(Constants.RESULT_CODE, "-1");
        result.put("data", "操作正在進(jìn)行,請(qǐng)重試");
      }
    } else {
      result.put(Constants.RESULT_CODE, "-1");
      result.put("data", "操作正在進(jìn)行,請(qǐng)重試");
    }
    return result;
  }

簽到頁(yè)面的接口:

/***
   * 簽到頁(yè)面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", "沒(méi)數(shù)據(jù)");
      } else {
        String[] strings = account.getAvatar().split(".png");
        data.put("nick_name", account.getNick_name());//昵稱(chēng)
        data.put("avatar", strings[0]);
        data.put("integral", account.getIntegral());//總積分
        data.put("count_date", countDate);//累計(jì)簽到天數(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);//簽到明細(xì)
      }
      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");//未達(dá)標(biāo)
      } else if (signServen>0) {
        data.put("sign_seven", "2");//已領(lǐng)取
      } else {
        data.put("sign_seven", "1");//未領(lǐng)取
      }
      int signFifteen = integralService.signQuery(accid, CinemaConstants.INTEGRAL_TYPE_SIGN_15);
      if (signCalc.getContinue_days() < 15) {
        data.put("sign_fifteen", "0");//未達(dá)標(biāo)
      } else if (signFifteen > 0) {
        data.put("sign_fifteen", "2");//已領(lǐng)取
      } else {
        data.put("sign_fifteen", "1");//未領(lǐng)取
      }
      int signThirty = integralService.signQuery(accid, CinemaConstants.INTEGRAL_TYPE_SIGN_30);
      if (signCalc.getContinue_days() < 30 ) {
        data.put("sign_thirty", "0");//未達(dá)標(biāo)
      } else if (signThirty>0) {
        data.put("sign_thirty", "2");//已領(lǐng)取
      } else {
        data.put("sign_thirty", "1");//未領(lǐng)取
      }
      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;
  }

效果如下:



以上就是關(guān)于扣丁學(xué)堂Java培訓(xùn)項(xiàng)目實(shí)戰(zhàn)之實(shí)現(xiàn)app簽到功能全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,請(qǐng)關(guān)注扣丁學(xué)堂Java培訓(xùn)官網(wǎng)、微信等平臺(tái),扣丁學(xué)堂IT職業(yè)在線(xiàn)學(xué)習(xí)教育平臺(tái)為您提供權(quán)威的Java視頻教程供大家學(xué)習(xí),Java培訓(xùn)后的前景無(wú)限,行業(yè)薪資和未來(lái)的發(fā)展會(huì)越來(lái)越好的??鄱W(xué)堂Java技術(shù)交流群:670348138。

扣丁學(xué)堂微信公眾號(hào)

【關(guān)注微信公眾號(hào)獲取更多學(xué)習(xí)資料】



查看更多關(guān)于“Java開(kāi)發(fā)資訊”的相關(guān)文章>>

標(biāo)簽: Java培訓(xùn) Java視頻教程 Java多線(xiàn)程 Java面試題 Java學(xué)習(xí)視頻 Java開(kāi)發(fā)

熱門(mén)專(zhuān)區(qū)

暫無(wú)熱門(mén)資訊

課程推薦

微信
微博
15311698296

全國(guó)免費(fèi)咨詢(xún)熱線(xiàn)

郵箱:codingke@1000phone.com

官方群:148715490

北京千鋒互聯(lián)科技有限公司版權(quán)所有   北京市海淀區(qū)寶盛北里西區(qū)28號(hào)中關(guān)村智誠(chéng)科創(chuàng)大廈4層
京ICP備2021002079號(hào)-2   Copyright ? 2017 - 2022
返回頂部 返回頂部