/* * 检查code是否核查不合法返回null */ @Override public UserCode checkUserCode(String code) throws Exception { // 获取加密后的信息解密 String msg = PurseSecurityUtils.decryption(code, CommonConstants.SecurityKey); // 解密后的json格式验证是否正确 JsonParser jsonParser = new JsonParser(); JsonObject jsonObject = jsonParser.parse(msg).getAsJsonObject(); String createTime = jsonObject.get("createTime").getAsString(); Long userId = jsonObject.get("userId").getAsLong(); Long id = jsonObject.get("id").getAsLong(); // 验证信息为空 if (StringUtils.isEmpty(createTime) || ObjectUtils.isNull(userId) || ObjectUtils.isNull(id)) { return null; } UserCode userCode = userCodeDao.getUserCodeById(id); // 查询userCode 状态是否已经使用过 if (ObjectUtils.isNotNull(userCode) && userCode.getStatus().longValue() == 0) { Calendar c = Calendar.getInstance(); c.setTime(userCode.getCreateTime()); c.add(Calendar.DAY_OF_MONTH, 3); if (new Date().getTime() > c.getTime().getTime()) { // 超过三天 return null; } return userCode; } return null; }
/** * 添加UserCode * * @param userCode 要添加的UserCode * @return id */ public UserCode addUserCode(UserCode userCode) { userCode.setCreateTime(new Date()); userCode.setStatus(0L); userCodeDao.addUserCode(userCode); return userCode; }