Просмотр исходного кода

支持接收解析JSON,验证码成功

詹子聪 5 лет назад
Родитель
Сommit
3fd9e14f83

+ 6 - 0
pom.xml

@@ -124,6 +124,12 @@
     </dependency>
 
 
+    <!--解析接收到的json-->
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-databind</artifactId>
+      <version>2.1.4</version>
+    </dependency>
   </dependencies>
 
   <build>

+ 10 - 10
src/main/java/com/miekir/shibei/bean/ResponseResult.java

@@ -1,17 +1,17 @@
 package com.miekir.shibei.bean;
 
 public class ResponseResult<T> {
-    private int resultCode = -1;
+    private int code = -1;
     private String message;
     private String extra;
-    private T resultObj;
+    private T content;
 
-    public int getResultCode() {
-        return resultCode;
+    public int getCode() {
+        return code;
     }
 
-    public void setResultCode(int resultCode) {
-        this.resultCode = resultCode;
+    public void setCode(int code) {
+        this.code = code;
     }
 
     public String getMessage() {
@@ -22,12 +22,12 @@ public class ResponseResult<T> {
         this.message = message;
     }
 
-    public T getResultObj() {
-        return resultObj;
+    public T getContent() {
+        return content;
     }
 
-    public void setResultObj(T resultObj) {
-        this.resultObj = resultObj;
+    public void setContent(T content) {
+        this.content = content;
     }
 
     public String getExtra() {

+ 50 - 0
src/main/java/com/miekir/shibei/bean/User.java

@@ -22,6 +22,16 @@ public class User {
     private String deviceId;
     private String lastIp;
     private Integer themeMode;
+    /**当前余额,单位:分*/
+    private long currentMoney;
+    /**历史提现,单位:分*/
+    private long historyCash;
+
+    /**提现支付宝账号*/
+    private String cashAccount;
+
+    /**是否被禁用*/
+    private boolean isLimit;
 
     // Id自增
     /*@Id
@@ -164,4 +174,44 @@ public class User {
     public void setThemeMode(Integer themeMode) {
         this.themeMode = themeMode;
     }
+
+    @Basic
+    @Column(name = "currentMoney", nullable = true, insertable = true, updatable = true)
+    public long getCurrentMoney() {
+        return currentMoney;
+    }
+
+    public void setCurrentMoney(long currentMoney) {
+        this.currentMoney = currentMoney;
+    }
+
+    @Basic
+    @Column(name = "historyCash", nullable = true, insertable = true, updatable = true)
+    public long getHistoryCash() {
+        return historyCash;
+    }
+
+    public void setHistoryCash(long historyCash) {
+        this.historyCash = historyCash;
+    }
+
+    @Basic
+    @Column(name = "cashAccount", nullable = true, insertable = true, updatable = true)
+    public String getCashAccount() {
+        return cashAccount;
+    }
+
+    public void setCashAccount(String cashAccount) {
+        this.cashAccount = cashAccount;
+    }
+
+    @Basic
+    @Column(name = "isLimit", nullable = true, insertable = true, updatable = true)
+    public boolean isLimit() {
+        return isLimit;
+    }
+
+    public void setLimit(boolean limit) {
+        isLimit = limit;
+    }
 }

+ 6 - 6
src/main/java/com/miekir/shibei/controller/api/NoteController.java

@@ -53,12 +53,12 @@ public class NoteController {
         }
 
         try {
-            responseResult.setResultObj(JSON.toJSONString(dbNOteBean));
+            responseResult.setContent(JSON.toJSONString(dbNOteBean));
         } catch (Exception e) {
             e.printStackTrace();
         }
 
-        responseResult.setResultCode(ResultCode.SUCCESS);
+        responseResult.setCode(ResultCode.SUCCESS);
         responseResult.setMessage("保存成功");
         return JSON.toJSONString(responseResult);
     }
@@ -93,7 +93,7 @@ public class NoteController {
             return JSON.toJSONString(responseResult);
         }
 
-        responseResult.setResultCode(ResultCode.SUCCESS);
+        responseResult.setCode(ResultCode.SUCCESS);
         responseResult.setMessage("删除成功");
         return JSON.toJSONString(responseResult);
     }
@@ -116,13 +116,13 @@ public class NoteController {
         }
 
         try {
-            responseResult.setResultObj(JSON.toJSONString(noteBeanList));
+            responseResult.setContent(JSON.toJSONString(noteBeanList));
         } catch (Exception e) {
             e.printStackTrace();
             return JSON.toJSONString(responseResult);
         }
 
-        responseResult.setResultCode(ResultCode.SUCCESS);
+        responseResult.setCode(ResultCode.SUCCESS);
         responseResult.setMessage("获取成功");
         return JSON.toJSONString(responseResult);
     }
@@ -158,7 +158,7 @@ public class NoteController {
             return JSON.toJSONString(responseResult);
         }
 
-        responseResult.setResultCode(ResultCode.SUCCESS);
+        responseResult.setCode(ResultCode.SUCCESS);
         responseResult.setMessage("更新成功");
         return JSON.toJSONString(responseResult);
     }

+ 6 - 6
src/main/java/com/miekir/shibei/controller/api/PasswordController.java

@@ -54,12 +54,12 @@ public class PasswordController {
         }
 
         try {
-            responseResult.setResultObj(JSON.toJSONString(dbPasswordBean));
+            responseResult.setContent(JSON.toJSONString(dbPasswordBean));
         } catch (Exception e) {
             e.printStackTrace();
         }
 
-        responseResult.setResultCode(ResultCode.SUCCESS);
+        responseResult.setCode(ResultCode.SUCCESS);
         responseResult.setMessage("保存成功");
         return JSON.toJSONString(responseResult);
     }
@@ -94,7 +94,7 @@ public class PasswordController {
             return JSON.toJSONString(responseResult);
         }
 
-        responseResult.setResultCode(ResultCode.SUCCESS);
+        responseResult.setCode(ResultCode.SUCCESS);
         responseResult.setMessage("删除成功");
         return JSON.toJSONString(responseResult);
     }
@@ -117,13 +117,13 @@ public class PasswordController {
         }
 
         try {
-            responseResult.setResultObj(JSON.toJSONString(passwordBeanList));
+            responseResult.setContent(JSON.toJSONString(passwordBeanList));
         } catch (Exception e) {
             e.printStackTrace();
             return JSON.toJSONString(responseResult);
         }
 
-        responseResult.setResultCode(ResultCode.SUCCESS);
+        responseResult.setCode(ResultCode.SUCCESS);
         responseResult.setMessage("获取成功");
         return JSON.toJSONString(responseResult);
     }
@@ -167,7 +167,7 @@ public class PasswordController {
             e.printStackTrace();
         }*/
 
-        responseResult.setResultCode(ResultCode.SUCCESS);
+        responseResult.setCode(ResultCode.SUCCESS);
         responseResult.setMessage("更新成功");
         return JSON.toJSONString(responseResult);
     }

+ 4 - 4
src/main/java/com/miekir/shibei/controller/api/SystemController.java

@@ -37,7 +37,7 @@ public class SystemController {
     @ResponseBody
     public String dealFeedback(String email, String token, String feedback) {
         ResponseResult<String> responseResult = new ResponseResult<String>();
-        responseResult.setResultCode(ResultCode.FAILED_COMMON);
+        responseResult.setCode(ResultCode.FAILED_COMMON);
         responseResult.setMessage("反馈失败");
 
         Feedback feedbackBean = new Feedback();
@@ -48,7 +48,7 @@ public class SystemController {
         // 开始重设密码,插入数据库
         try {
             feedbackRepository.save(feedbackBean);
-            responseResult.setResultCode(ResultCode.SUCCESS);
+            responseResult.setCode(ResultCode.SUCCESS);
             responseResult.setMessage("反馈成功");
         } catch (Exception e) {
             responseResult.setMessage("反馈失败");
@@ -101,13 +101,13 @@ public class SystemController {
         }
 
         try {
-            responseResult.setResultObj(upgradeInfo);
+            responseResult.setContent(upgradeInfo);
         } catch (Exception e) {
             e.printStackTrace();
             return JSON.toJSONString(responseResult);
         }
 
-        responseResult.setResultCode(ResultCode.SUCCESS);
+        responseResult.setCode(ResultCode.SUCCESS);
         responseResult.setMessage("获取成功");
         return JSON.toJSONString(responseResult);
     }

+ 26 - 21
src/main/java/com/miekir/shibei/controller/api/UserController.java

@@ -16,6 +16,7 @@ import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.ResponseBody;
@@ -24,6 +25,7 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.servlet.http.HttpServletRequest;
 import java.io.*;
 import java.util.Enumeration;
+import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
 @Controller
@@ -63,18 +65,21 @@ public class UserController {
      */
     @RequestMapping(value = "/api/code", method = RequestMethod.POST, produces = "application/json; charset=utf-8")
     @ResponseBody
-    public String getAuthCode(String email) {
-        ResponseResult<String> responseResult = new ResponseResult<String>();
+    public String getAuthCode(@RequestBody Map<String, Object> emailMap) {
+        String email = String.valueOf(emailMap.get("email"));
+        ResponseResult<Boolean> responseResult = new ResponseResult<Boolean>();
+        responseResult.setContent(false);
         responseResult.setMessage("获取验证码失败");
         String code = CodeGenerator.getInstance().getRandomCode();
-        int result = new EmailTool().sendEmail("吾记温馨提醒您,您的6位验证码(5分钟内有效)是:" + code, email);
+        int result = new EmailTool().sendEmail("拾贝温馨提醒您,您的6位验证码(5分钟内有效)是:" + code, email);
         if (result == EmailTool.SUCCESS) {
             mCodeMap.put(email, System.currentTimeMillis()+"-"+code);
-            responseResult.setResultCode(ResultCode.SUCCESS);
+            responseResult.setCode(ResultCode.SUCCESS);
             responseResult.setMessage("获取验证码成功");
+            responseResult.setContent(true);
             responseResult.setExtra(SecureManager.KEY_FOR_CLIENT + "=" + SecureManager.IV_FOR_CLIENT);
         } else {
-            responseResult.setResultCode(ResultCode.FAILED_COMMON);
+            responseResult.setCode(ResultCode.FAILED_COMMON);
             responseResult.setMessage("获取验证码失败");
         }
         return JSON.toJSONString(responseResult);
@@ -87,13 +92,13 @@ public class UserController {
     @ResponseBody
     public String register(String email, String password, String code, String nickName) {
         ResponseResult<User> responseResult = new ResponseResult<User>();
-        responseResult.setResultCode(ResultCode.FAILED_COMMON);
+        responseResult.setCode(ResultCode.FAILED_COMMON);
         responseResult.setMessage("注册失败");
 
         // 从数据库查询,如果没有这个email并且不在黑名单里,才可以继续注册
         User dbUser = userRepository.findUserByEmail(email);
         if (dbUser != null) {
-            responseResult.setResultCode(ResultCode.FAILED_USER_ALREADY_EXIST);
+            responseResult.setCode(ResultCode.FAILED_USER_ALREADY_EXIST);
             responseResult.setMessage("该邮箱已被使用");
             return JSON.toJSONString(responseResult);
         }
@@ -131,9 +136,9 @@ public class UserController {
             userRepository.save(user);
 
             user.setPassword("");
-            responseResult.setResultCode(ResultCode.SUCCESS);
+            responseResult.setCode(ResultCode.SUCCESS);
             responseResult.setMessage("注册成功");
-            responseResult.setResultObj(user);
+            responseResult.setContent(user);
 
             // 注册成功,从内存中移除相应的验证码,节省资源
             mCodeMap.remove(email);
@@ -154,7 +159,7 @@ public class UserController {
     public String getAES() {
         ResponseResult responseResult = new ResponseResult();
         responseResult.setExtra(SecureManager.KEY_FOR_CLIENT + "=" + SecureManager.IV_FOR_CLIENT);
-        responseResult.setResultCode(ResultCode.SUCCESS);
+        responseResult.setCode(ResultCode.SUCCESS);
         return JSON.toJSONString(responseResult);
     }
 
@@ -189,9 +194,9 @@ public class UserController {
         userRepository.save(user);
 
         user.setPassword("");
-        responseResult.setResultCode(ResultCode.SUCCESS);
+        responseResult.setCode(ResultCode.SUCCESS);
         responseResult.setMessage("登录成功");
-        responseResult.setResultObj(user);
+        responseResult.setContent(user);
 
         return JSON.toJSONString(responseResult);
     }
@@ -208,11 +213,11 @@ public class UserController {
         if (user == null || !TextUtils.equals(token, user.getToken())) {
             // 拿到token就可以拿到token的有效时间,以后可以做过期校验
             responseResult.setMessage("请重新登录");
-            responseResult.setResultCode(ResultCode.FAILED_NEED_RE_LOGIN);
+            responseResult.setCode(ResultCode.FAILED_NEED_RE_LOGIN);
         }
 
         responseResult.setMessage("token登录成功");
-        responseResult.setResultCode(ResultCode.SUCCESS);
+        responseResult.setCode(ResultCode.SUCCESS);
         return JSON.toJSONString(responseResult);
     }
 
@@ -223,13 +228,13 @@ public class UserController {
     @ResponseBody
     public String resetPassword(String email, String code, String password) {
         ResponseResult<User> responseResult = new ResponseResult<User>();
-        responseResult.setResultCode(ResultCode.FAILED_COMMON);
+        responseResult.setCode(ResultCode.FAILED_COMMON);
         responseResult.setMessage("密码重置失败");
 
         // 从数据库查询,如果有这个email并且不在黑名单里,才可以继续
         User dbUser = userRepository.findUserByEmail(email);
         if (dbUser == null) {
-            responseResult.setResultCode(ResultCode.FAILED_USER_NOT_EXIST);
+            responseResult.setCode(ResultCode.FAILED_USER_NOT_EXIST);
             responseResult.setMessage("用户不存在");
             return JSON.toJSONString(responseResult);
         }
@@ -264,9 +269,9 @@ public class UserController {
 
             // 这种是不是会导致密码被修改为空。答案:不会
             dbUser.setPassword("");
-            responseResult.setResultCode(ResultCode.SUCCESS);
+            responseResult.setCode(ResultCode.SUCCESS);
             responseResult.setMessage("密码重置成功");
-            responseResult.setResultObj(dbUser);
+            responseResult.setContent(dbUser);
 
             // 注册成功,从内存中移除相应的验证码,节省资源
             mCodeMap.remove(email);
@@ -283,7 +288,7 @@ public class UserController {
     @ResponseBody
     public String saveBgInfo(String email, String token, int mode, MultipartFile file) {
         ResponseResult<String> responseResult = new ResponseResult<String>();
-        responseResult.setResultCode(ResultCode.FAILED_COMMON);
+        responseResult.setCode(ResultCode.FAILED_COMMON);
         responseResult.setMessage("上传背景失败");
 
         //String bgDir = request.getSession().getServletContext().getRealPath("bg") + File.separator;
@@ -305,7 +310,7 @@ public class UserController {
                 out.flush();
                 out.close();
 
-                responseResult.setResultCode(ResultCode.SUCCESS);
+                responseResult.setCode(ResultCode.SUCCESS);
                 responseResult.setMessage("上传背景成功");
 
                 // 更新用户的theme mode(4为自定义)
@@ -354,7 +359,7 @@ public class UserController {
         }
 
         responseResult.setMessage("用户模式更新成功");
-        responseResult.setResultCode(ResultCode.SUCCESS);
+        responseResult.setCode(ResultCode.SUCCESS);
         return JSON.toJSONString(responseResult);
     }
 }

+ 1 - 1
src/main/java/com/miekir/shibei/interceptor/AuthInterceptor.java

@@ -20,7 +20,7 @@ public class AuthInterceptor extends HandlerInterceptorAdapter {
     @Override
     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
         ResponseResult<String> responseResult = new ResponseResult<String>();
-        responseResult.setResultCode(ResultCode.FAILED_NEED_RE_LOGIN);
+        responseResult.setCode(ResultCode.FAILED_NEED_RE_LOGIN);
         responseResult.setMessage("请重新登录");
 
         //HttpSession session = request.getSession();

+ 13 - 2
src/main/webapp/WEB-INF/mvc-dispatcher-servlet.xml

@@ -27,6 +27,16 @@
         </mvc:message-converters>
     </mvc:annotation-driven>-->
 
+    <!-- 启动SpringMVC的注解功能,完成请求和注解POJO的映射,解析接收到的JSON -->
+    <context:annotation-config/>
+    <mvc:annotation-driven>
+        <mvc:message-converters>
+            <bean class="org.springframework.http.converter.StringHttpMessageConverter"/>
+            <bean class="org.springframework.http.converter.ResourceHttpMessageConverter"/>
+            <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>
+        </mvc:message-converters>
+    </mvc:annotation-driven>
+
     <!--权限拦截-->
     <mvc:interceptors>
         <mvc:interceptor>
@@ -55,7 +65,7 @@
     <context:component-scan base-package="com.miekir.shibei.controller"/>
 
     <!--定时任务-->
-    <task:annotation-driven />
+    <task:annotation-driven/>
 
     <!-- 静态资源(js、image等)的访问 -->
     <mvc:default-servlet-handler/>
@@ -85,10 +95,11 @@
 
     <!-- 设置上传文件最大值   1M=1*1024*1024(B)=1048576 bytes -->
     <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
-        <property name="maxUploadSize" value="2097152" />
+        <property name="maxUploadSize" value="2097152"/>
     </bean>
 
 
     <tx:annotation-driven transaction-manager="transactionManager"/>
 
+
 </beans>