午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術文章
文章詳情頁

java redis 實現簡單的用戶簽到功能

瀏覽:13日期:2022-08-19 14:41:52

業務需求是用戶每天只能簽到一次,而且簽到后用戶增加積分,所以把用戶每次簽到時放到redis 緩存里面,然后每天凌晨時再清除緩存,大概簡單思想是這樣的

直接看代碼吧如下

@Transactional @Override public void signIn(Integer memberId) throws BizException { if(memberId==null){ throw new BizException(ErrorCode.BIZ_EXCEPTION.getErrcode(), '簽到用戶id 不能為null'); } String day = DateFormatUtils.format(new Date(), 'yyyyMMdd'); String key = 'signin:'+day; Boolean sismember = redisClient.sismember(key, memberId.toString()); if(sismember){ throw new BizException(ErrorCode.BIZ_EXCEPTION.getErrcode(), '今天已經簽到了'); }else{ redisClient.sadd(key, memberId.toString()); redisClient.expire(key, getRefreshTime()); addPointsRecord(memberId,IntegralType.SIGN_IN);//給用戶增加積分 } }

獲取離凌晨 還有多久

/** * 獲取當前時間離明天凌晨還有多少小時 * @return */ public static int getRefreshTime(){ Calendar calendar = Calendar.getInstance(); int now = (int) (calendar.getTimeInMillis()/1000); calendar.add(Calendar.DATE, 1); calendar.set(Calendar.SECOND, 0); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.HOUR_OF_DAY , 0); return (int) (calendar.getTimeInMillis()/1000-now); }

Controller

/** * 簽到 * @return */ @WeiXinLogin @RequestMapping('/signIn') public ResponseModel signIn(){ try { Integer memberId = RequestContext.getContext().getUser().getMemberId(); memberApi.signIn(memberId); return new ResponseModel(); } catch (BizException e) { LOGGER.error('signIn error'); return new ResponseModel(e.getErrcode(), e.getErrm(), null); } }

以上就是java redis 實現簡單的用戶簽到功能的詳細內容,更多關于Java 實現用戶簽到功能的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
主站蜘蛛池模板: 精品视频999 | 免费a在线| 国产67194| 少妇特黄a一区二区三区 | 鬼吹灯之天星术在线观看 | 四虎影院在线免费播放 | 欧美天天视频 | 九月色婷婷 | 国产成人a亚洲精品 | 五月天久久婷婷 | 天堂中文在线观看视频 | 亚洲精品国产一区二 | 欧美午夜理伦三级在线观看 | 日本视频免费看 | 精品欧美久久 | 91精品国产高清一区二区三蜜臀 | 精品在线不卡 | 天堂影院av| 日韩欧美视频免费观看 | 人人艹在线 | 免费av在线网站 | 久久久在线 | 操亚洲美女 | 久久久免费观看视频 | 成人性生交大片免费看 | 午夜超碰 | 97插插插 | 亚洲深夜 | 91无打码| 亚洲妇女毛茸茸 | 国产专区第一页 | 手机看片国产日韩 | 这里只有精品国产 | 日日干日日插 | 久久精品在线播放 | 久久精品区 | 黄页网站在线免费观看 | 欧美在线91| 一区二区三区高清在线观看 | 精品动漫一区 | 午夜伦理 |