From e8e342cd6c1334f1b8f71d24baa3157637a9ac43 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 04 二月 2021 19:33:26 +0800 Subject: [PATCH] 完善PPTV --- src/main/java/com/yeshi/buwan/controller/parser/CommentParser.java | 52 ++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 46 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/controller/parser/CommentParser.java b/src/main/java/com/yeshi/buwan/controller/parser/CommentParser.java index 3eb791f..5c06506 100644 --- a/src/main/java/com/yeshi/buwan/controller/parser/CommentParser.java +++ b/src/main/java/com/yeshi/buwan/controller/parser/CommentParser.java @@ -12,9 +12,7 @@ import com.yeshi.buwan.service.imp.push.PushService; import com.yeshi.buwan.service.inter.LoginUserService; import com.yeshi.buwan.service.inter.SMSService; -import com.yeshi.buwan.util.AliyunOneKeyLoginUtil; -import com.yeshi.buwan.util.JsonUtil; -import com.yeshi.buwan.util.StringUtil; +import com.yeshi.buwan.util.*; import com.yeshi.buwan.util.annotation.RequireUid; import com.yeshi.buwan.util.wx.MyWXLoginUtil; import com.yeshi.buwan.vo.AcceptData; @@ -28,6 +26,7 @@ import java.io.PrintWriter; import java.io.Serializable; import java.util.ArrayList; +import java.util.Calendar; import java.util.List; @Controller @@ -48,6 +47,9 @@ @Resource private SMSService smsService; + + @Resource + private RedisManager redisManager; @RequireUid public void getReadState(AcceptData acceptData, HttpServletRequest request, PrintWriter out) { @@ -126,6 +128,33 @@ } + /** + * 鍏佽涓�閿櫥褰� + * + * @param acceptData + * @param request + * @param out + */ + public void allowOneKeyLogin(AcceptData acceptData, HttpServletRequest request, PrintWriter out) { + Long loginUid = StringUtil.isNullOrEmpty(request.getParameter("loginUid")) ? null : Long.parseLong(request.getParameter("loginUid")); + if (loginUid == null || loginUid == 0L) { + out.print(JsonUtil.loadFalseJson("灏氭湭鐧诲綍")); + return; + } + String device = request.getParameter("Device"); + long time = System.currentTimeMillis(); + + String key = "onkeylogin-" + StringUtil.Md5(device + "#" + TimeUtil.getGernalTime(time, "yyyyMMdd")); + + //涓�涓澶囦竴澶╀箣鍐呭彧鑳藉厑璁�5娆� + String value = redisManager.getCommonString(key); + if (!StringUtil.isNullOrEmpty(value) && Integer.parseInt(value) > 10) { + out.print(JsonUtil.loadFalseJson("涓�閿櫥褰曟鏁拌秴闄愶紝璇锋槑澶╁啀璇�")); + return; + } + out.print(JsonUtil.loadTrueJson("")); + } + /** * 鐢佃瘽鍙风爜缁戝畾 @@ -140,10 +169,13 @@ String code = request.getParameter("code"); String accessToken = request.getParameter("accessToken"); String systemId = request.getParameter("system"); + String device = request.getParameter("Device"); + + long time = System.currentTimeMillis(); if (loginUid == null || loginUid == 0L) { - out.print(JsonUtil.loadFalseJson("鐧诲綍澶辫触")); + out.print(JsonUtil.loadFalseJson("灏氭湭鐧诲綍")); return; } @@ -151,6 +183,14 @@ if (!StringUtil.isNullOrEmpty(accessToken)) { //涓�閿櫥褰� mobile = AliyunOneKeyLoginUtil.getMobile(accessToken, ""); + + //澧炲姞涓�閿櫥褰曠殑娆℃暟 + String key = "onkeylogin-" + StringUtil.Md5(device + "#" + TimeUtil.getGernalTime(time, "yyyyMMdd")); + Calendar calendar = Calendar.getInstance(); + calendar.setTimeInMillis(time); + calendar.add(Calendar.DAY_OF_WEEK, 1); + int s = (int) ((TimeUtil.convertGernalTime(TimeUtil.getGernalTime(calendar.getTimeInMillis(), "yyyyMMdd"), "yyyyMMdd") - time) / 1000); + redisManager.increase(key, s); } else { //閫氳繃楠岃瘉鐮佺櫥褰� //鍒ゆ柇楠岃瘉鐮佹槸鍚︽纭� @@ -165,7 +205,7 @@ return; } - if (smsService.verifyBindVCode(phone, code)) { + if (!smsService.verifyBindVCode(phone, code)) { out.print(JsonUtil.loadFalseJson("楠岃瘉鐮侀敊璇�")); return; } @@ -285,7 +325,7 @@ } try { - smsService.sendBindVCode(Long.parseLong(loginUid), phone, 6); + smsService.sendBindVCode(loginUid, phone, 6); } catch (SMSException e) { e.printStackTrace(); out.print(JsonUtil.loadFalseJson(e.getMessage())); -- Gitblit v1.8.0