From 31e20ddb1eafa5bf64a0824629fb8c7a05450318 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 19 六月 2020 20:26:28 +0800 Subject: [PATCH] 商品系统完善 --- src/main/java/com/ks/tool/bkz/controller/UserController.java | 81 ++++++++++++++++++++++++++++++++++++---- 1 files changed, 73 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/ks/tool/bkz/controller/UserController.java b/src/main/java/com/ks/tool/bkz/controller/UserController.java index 03562b2..484cd2a 100644 --- a/src/main/java/com/ks/tool/bkz/controller/UserController.java +++ b/src/main/java/com/ks/tool/bkz/controller/UserController.java @@ -1,12 +1,19 @@ package com.ks.tool.bkz.controller; import com.alibaba.fastjson.JSONObject; +import com.google.gson.Gson; +import com.ks.tool.bkz.entity.user.SDLJShareOpenHistory; import com.ks.tool.bkz.entity.user.UserInfo; +import com.ks.tool.bkz.exception.CardPwdException; +import com.ks.tool.bkz.exception.SDLJShareOpenHistoryException; import com.ks.tool.bkz.exception.UserException; import com.ks.tool.bkz.service.manager.RedisManager; +import com.ks.tool.bkz.service.user.SDLJShareOpenHistoryService; import com.ks.tool.bkz.service.user.UserService; +import com.ks.tool.bkz.service.user.UserUpgradeService; import com.ks.tool.bkz.util.*; import com.ks.tool.bkz.util.email.MailSenderUtil; +import com.ks.tool.bkz.vo.user.UserInfoVO; import io.netty.util.Constant; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @@ -31,6 +38,12 @@ @Resource private UserService userService; + @Resource + private SDLJShareOpenHistoryService sdljShareOpenHistoryService; + + @Resource + private UserUpgradeService userUpgradeService; + private String getVCodeKey(String account) { @@ -53,8 +66,8 @@ return JsonUtil.loadFalseResult(1, "楠岃瘉鐮佷笉鑳戒负绌�"); String key = getVCodeKey(account); String oldVcode = redisManager.get(key); - if (oldVcode == null || !oldVcode.equalsIgnoreCase(vcode)) - return JsonUtil.loadFalseResult(1, "楠岃瘉鐮侀敊璇�"); +// if (oldVcode == null || !oldVcode.equalsIgnoreCase(vcode)) +// return JsonUtil.loadFalseResult(1, "楠岃瘉鐮侀敊璇�"); redisManager.delete(key); account = account.trim(); UserInfo user = userService.selectByAccount(account); @@ -75,10 +88,63 @@ userService.login(account, request.getRemoteHost() + ":" + request.getRemotePort()); } + SDLJShareOpenHistory history = sdljShareOpenHistoryService.selectLatestHistory(user.getId()); + String token = UserUtil.getToken(account, System.currentTimeMillis()); - JSONObject data = new JSONObject(); - data.put("token", token); - return JsonUtil.loadTrueResult(data); + return JsonUtil.loadTrueResult(JsonUtil.getSimpleGson().toJson(new UserInfoVO(user.getAccount(), token, history == null ? null : history.getExpireTime()))); + } + + @RequestMapping(value = "getUserInfo", method = RequestMethod.POST) + @ResponseBody + public String getUserInfo(HttpServletRequest request) { + String token = request.getHeader("token"); + String account = UserUtil.getAccountFromToken(token); + UserInfo user = userService.selectByAccount(account); + if (user != null) { + SDLJShareOpenHistory history = sdljShareOpenHistoryService.selectLatestHistory(user.getId()); + return JsonUtil.loadTrueResult(JsonUtil.getSimpleGson().toJson(new UserInfoVO(user.getAccount(), "", history == null ? null : history.getExpireTime()))); + } + return JsonUtil.loadFalseResult(1, "鐢ㄦ埛涓嶅瓨鍦�"); + } + + + /** + * 鍒嗕韩鐗堢画璐� + * + * @param request + * @return + */ + @RequestMapping(value = "renewShare", method = RequestMethod.POST) + @ResponseBody + public String renewShare(String card, String pwd, HttpServletRequest request) { + if (StringUtil.isNullOrEmpty(card) || StringUtil.isNullOrEmpty(pwd)) + return JsonUtil.loadFalseResult(1, "璇疯緭鍏ュ崱鍙峰拰瀵嗙爜"); + String token = request.getHeader("token"); + String account = UserUtil.getAccountFromToken(token); + UserInfo user = userService.selectByAccount(account); + if (user != null) { + try { + userUpgradeService.upgradeSDLJShare(user.getId(), card, pwd); + SDLJShareOpenHistory history = sdljShareOpenHistoryService.selectLatestHistory(user.getId()); + if (history == null) { + try { + Thread.sleep(100); + } catch (Exception e) { + } + history = sdljShareOpenHistoryService.selectLatestHistory(user.getId()); + } + return JsonUtil.loadTrueResult(JsonUtil.getSimpleGson().toJson(new UserInfoVO(user.getAccount(), "", history.getExpireTime()))); + } catch (UserException e) { + return JsonUtil.loadFalseResult(2, e.getMsg()); + } catch (CardPwdException e) { + return JsonUtil.loadFalseResult(3, e.getMsg()); + } catch (SDLJShareOpenHistoryException e) { + return JsonUtil.loadFalseResult(4, e.getMsg()); + } + + } else { + return JsonUtil.loadFalseResult(1, "鐢ㄦ埛涓嶅瓨鍦�"); + } } @@ -92,7 +158,7 @@ @RequestMapping("getVerifyCode") @ResponseBody public String getVerifyCode(String email, String vcode, HttpServletRequest request) { - if(!StringUtil.isEmail(email)){ + if (!StringUtil.isEmail(email)) { return JsonUtil.loadFalseResult(1, "閭鏍煎紡涓嶆纭�"); } @@ -107,7 +173,7 @@ } MailSenderUtil.sendEmail(email, "鐖嗘鐚櫥褰曢獙璇�", "鐧诲綍楠岃瘉鐮佷负锛�" + code); redisManager.save(getVCodeKey(email), code, 5 * 60); - return JsonUtil.loadTrueResult(null); + return JsonUtil.loadTrueResult(""); } /** @@ -136,6 +202,5 @@ e.printStackTrace(); } } - } -- Gitblit v1.8.0