Browse Source

更改校验代码,规范代码

chenjx 7 years ago
parent
commit
29e657663c

+ 28 - 13
eis-wms/src/main/java/com/uas/eiswms/controller/BasicDataController.java

@@ -2,11 +2,13 @@ package com.uas.eiswms.controller;
 
 import com.uas.eiswms.dao.BaseDao;
 import com.uas.eiswms.service.BasicDataService;
+import com.uas.eiswms.service.LoginService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.Map;
 
 
@@ -26,30 +28,43 @@ public class BasicDataController {
     private BasicDataService basicDataService;
     @Autowired
     private BaseDao baseDao;
+    @Autowired
+    private LoginService loginService;
 
     @PostMapping(value = "/basic/getProduct.action")
-    public Map<String, Object> postProductToXKN(String master, String formDate, String token, String sign, String timestamp) {
-//        token 177491659cf02f9c9b98e7be1e16d447
-        baseDao.setJdbcTemplate(master);
-        return basicDataService.postProductToXKN(formDate, token, sign, timestamp);
+    public Map<String, Object> postProductToXKN(String master, String formDate, String token, String sign, String timestamp, HttpServletRequest request) {
+        Map<String, Object> resultMap = loginService.checkSign(request);
+        if (!resultMap.get("resCode").equals("00")) {
+            return resultMap;
+        }
+        return basicDataService.postProductToXKN(formDate);
     }
 
     @PostMapping(value = "/basic/getCustomer.action")
-    public Map<String, Object> postCustomerToXKN(String master, String formDate, String token, String sign, String timestamp) {
-        baseDao.setJdbcTemplate(master);
-        return basicDataService.postCustomerToXKN(formDate, token, sign, timestamp);
+    public Map<String, Object> postCustomerToXKN(String master, String formDate, String token, String sign, String timestamp, HttpServletRequest request) {
+        Map<String, Object> resultMap = loginService.checkSign(request);
+        if (!resultMap.get("resCode").equals("00")) {
+            return resultMap;
+        }
+        return basicDataService.postCustomerToXKN(formDate);
     }
 
     @PostMapping(value = "/basic/getVendor.action")
-    public Map<String, Object> postVendorToXKN(String master, String formDate, String token, String sign, String timestamp) {
-        baseDao.setJdbcTemplate(master);
-        return basicDataService.postVendorToXKN(formDate, token, sign, timestamp);
+    public Map<String, Object> postVendorToXKN(String master, String formDate, String token, String sign, String timestamp, HttpServletRequest request) {
+        Map<String, Object> resultMap = loginService.checkSign(request);
+        if (!resultMap.get("resCode").equals("00")) {
+            return resultMap;
+        }
+        return basicDataService.postVendorToXKN(formDate);
     }
 
     @PostMapping(value = "/basic/getWarehouse.action")
-    public Map<String, Object> postWareHouseToXKN(String master, String formDate, String token, String sign, String timestamp) {
-        baseDao.setJdbcTemplate(master);
-        return basicDataService.postWareHouseToXKN(formDate, token, sign, timestamp);
+    public Map<String, Object> postWareHouseToXKN(String master, String formDate, String token, String sign, String timestamp, HttpServletRequest request) {
+        Map<String, Object> resultMap = loginService.checkSign(request);
+        if (!resultMap.get("resCode").equals("00")) {
+            return resultMap;
+        }
+        return basicDataService.postWareHouseToXKN(formDate);
     }
 
 }

+ 7 - 4
eis-wms/src/main/java/com/uas/eiswms/service/BasicDataService.java

@@ -13,9 +13,12 @@ import java.util.Map;
  */
 
 public interface BasicDataService {
-    Map<String,Object> postProductToXKN(String formDate, String userName, String passWord, String token);
-    Map<String,Object> postCustomerToXKN(String formDate, String userName, String passWord, String token);
-    Map<String,Object> postVendorToXKN(String formDate, String userName, String passWord, String token);
-    Map<String,Object> postWareHouseToXKN(String formDate, String userName, String passWord, String token);
+    Map<String, Object> postProductToXKN(String formDate);
+
+    Map<String, Object> postCustomerToXKN(String formDate);
+
+    Map<String, Object> postVendorToXKN(String formDate);
+
+    Map<String, Object> postWareHouseToXKN(String formDate);
 }
 

+ 37 - 11
eis-wms/src/main/java/com/uas/eiswms/service/LoginService.java

@@ -1,12 +1,12 @@
 package com.uas.eiswms.service;
 
 import com.uas.eiswms.dao.BaseDao;
+import com.uas.eiswms.util.BaseUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.DigestUtils;
 import org.springframework.util.StringUtils;
 
-import javax.servlet.ServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import java.nio.charset.Charset;
 import java.util.*;
@@ -43,17 +43,38 @@ public class LoginService {
         return resultMap;
     }
 
-    public String checkSign(Map<String, Object> paramsMap, String sign) {
-        String token = paramsMap.get("token").toString();
+    public Map<String, Object> checkSign(HttpServletRequest request) {
+        String token = request.getParameter("token");
+        String sign =request.getParameter("sign");
+        String timestamp =request.getParameter("timestamp");
+        Map<String, Object> judgeMapData = new HashMap<String, Object>();
+        judgeMapData = BaseUtil.judgeIsNull(token, sign, timestamp);
+        if (judgeMapData != null) {
+            return judgeMapData;
+        }
+        Map<String, Object> resultMap = new HashMap<String, Object>();
+        Map<String, Object> paramsMap = new HashMap<String, Object>();
+        Enumeration<String> parameterNames = request.getParameterNames();
+        while (parameterNames.hasMoreElements()){
+            String paramName = parameterNames.nextElement();
+            String value = request.getParameter(paramName);
+            if (!paramName.equals("sign")){
+                paramsMap.put(paramName,value);
+            }
+        }
         int count = baseDao.getCount("select count(1) from UserDataInfo where udi_token='" + token + "'");
         if (count < 1) {
-            //token 不正确
-            return "01";
+            resultMap.put("resCode","01");
+            resultMap.put("success", false);
+            resultMap.put("result", "token错误");
+            return resultMap;
         }
         int isExpireTime = baseDao.getCount("select count(1) from UserDataInfo where udi_token='" + token + "' and (sysdate-udi_updatetime)*24 < 1");
         if (isExpireTime < 1) {
-            //token已经失效
-            return "02";
+            resultMap.put("resCode","02");
+            resultMap.put("success", false);
+            resultMap.put("result", "token已失效");
+            return resultMap;
         }
         Set<String> keysSet = paramsMap.keySet();
         Object[] keys = keysSet.toArray();
@@ -66,6 +87,7 @@ public class LoginService {
             } else {
                 temp.append("&");
             }
+            System.out.println("签名参数排序--》"+key);
             temp.append(key).append("=");
             Object value = paramsMap.get(key);
             String valueString = "";
@@ -80,10 +102,14 @@ public class LoginService {
         System.out.println("签名----》" + signStr);
         //MD5Util.getMD5(temp.toString()).toUpperCase();
         if (!signStr.equals(sign)) {
-            //签名不正确
-            return "03";
+            resultMap.put("resCode","03");
+            resultMap.put("success", false);
+            resultMap.put("result", "sign签名不正确");
+            return resultMap;
         }
-        //签名正确
-        return "00";
+        resultMap.put("resCode","00");
+        resultMap.put("success", false);
+        resultMap.put("result", "sign签名正确");
+        return resultMap;
     }
 }

+ 46 - 136
eis-wms/src/main/java/com/uas/eiswms/service/impl/BasicDataServiceImpl.java

@@ -7,6 +7,7 @@ import com.uas.eiswms.util.BaseUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.support.rowset.SqlRowSet;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
 
 import java.util.HashMap;
 import java.util.List;
@@ -29,170 +30,79 @@ public class BasicDataServiceImpl implements BasicDataService {
     LoginService loginService;
 
     @Override
-    public Map<String, Object> postProductToXKN(String formDate, String token, String sign, String timestamp) {
-        Map<String, Object> judgeMapData = new HashMap<String, Object>();
-        judgeMapData = BaseUtil.judgeIsNull(formDate, token);
-        if (judgeMapData != null) {
-            return judgeMapData;
-        }
+    public Map<String, Object> postProductToXKN(String formDate) {
         Map<String, Object> postMapData = new HashMap<String, Object>();
-        Map<String, Object> paramMap = new HashMap<String, Object>();
-        paramMap.put("formDate", formDate);
-        paramMap.put("token", token);
-        paramMap.put("timestamp", timestamp);
-        String checkResult = loginService.checkSign(paramMap, sign);
-        if ("01".equals(checkResult)) {
-            postMapData.put("success", false);
-            postMapData.put("result", "token错误");
-            return postMapData;
-        }
-        if ("02".equals(checkResult)) {
-            postMapData.put("success", false);
-            postMapData.put("result", "token已失效");
-            return postMapData;
-        }
-        if ("03".equals(checkResult)) {
+        if (StringUtils.isEmpty(formDate)){
+            postMapData.put("resCode", "04");
             postMapData.put("success", false);
-            postMapData.put("result", "sign签名不正确");
+            postMapData.put("result", "formDate不能为空");
             return postMapData;
         }
-        if ("00".equals(checkResult)) {
-            System.out.println("select * from Product where pr_status = '已审核' and pr_updatetime_user > TO_DATE('" + formDate + "', 'YYYY-MM-DD')");
-            SqlRowSet sqlRowSet = baseDao.getJdbcTemplate().queryForRowSet("select * from Product where pr_status = '已审核' and pr_updatetime_user > TO_DATE('" + formDate + "', 'YYYY-MM-DD')");
-            SqlRowSet formField = baseDao.getJdbcTemplate().queryForRowSet("select fd_field from form left join formdetail on fo_id=fd_foid where fo_caller='Product'");
-            List<Map<String, Object>> dataList = BaseUtil.getDataList(sqlRowSet, formField);
-            postMapData.put("success", true);
-            postMapData.put("result", dataList);
-            return postMapData;
-        }
-        postMapData.put("success", false);
-        postMapData.put("result", "未知错误");
+        System.out.println("select * from Product where pr_status = '已审核' and pr_updatetime_user > TO_DATE('" + formDate + "', 'YYYY-MM-DD')");
+        SqlRowSet sqlRowSet = baseDao.getJdbcTemplate().queryForRowSet("select * from Product where pr_status = '已审核' and pr_updatetime_user > TO_DATE('" + formDate + "', 'YYYY-MM-DD')");
+        SqlRowSet formField = baseDao.getJdbcTemplate().queryForRowSet("select fd_field from form left join formdetail on fo_id=fd_foid where fo_caller='Product'");
+        List<Map<String, Object>> dataList = BaseUtil.getDataList(sqlRowSet, formField);
+        postMapData.put("resCode", "00");
+        postMapData.put("success", true);
+        postMapData.put("result", dataList);
         return postMapData;
+
     }
 
     @Override
-    public Map<String, Object> postCustomerToXKN(String formDate, String token, String sign, String timestamp) {
-        Map<String, Object> judgeMapData = new HashMap<String, Object>();
-        judgeMapData = BaseUtil.judgeIsNull(formDate, token);
-        if (judgeMapData != null) {
-            return judgeMapData;
-        }
+    public Map<String, Object> postCustomerToXKN(String formDate) {
         Map<String, Object> postMapData = new HashMap<String, Object>();
-        Map<String, Object> paramMap = new HashMap<String, Object>();
-        paramMap.put("formDate", formDate);
-        paramMap.put("token", token);
-        paramMap.put("timestamp", timestamp);
-        String checkResult = loginService.checkSign(paramMap, sign);
-        if ("01".equals(checkResult)) {
+        if (StringUtils.isEmpty(formDate)){
+            postMapData.put("resCode", "04");
             postMapData.put("success", false);
-            postMapData.put("result", "token错误");
-            return postMapData;
-        }
-        if ("02".equals(checkResult)) {
-            postMapData.put("success", false);
-            postMapData.put("result", "token已失效");
-            return postMapData;
-        }
-        if ("03".equals(checkResult)) {
-            postMapData.put("success", false);
-            postMapData.put("result", "sign签名不正确");
-            return postMapData;
-        }
-        if ("00".equals(checkResult)) {
-            System.out.println("select * from Customer where cu_auditstatus = '已审核' and cu_updatetime_user > TO_DATE('" + formDate + "', 'YYYY-MM-DD')");
-            SqlRowSet sqlRowSet = baseDao.getJdbcTemplate().queryForRowSet("select * from Customer where cu_auditstatus = '已审核' and cu_updatetime_user > TO_DATE('" + formDate + "', 'YYYY-MM-DD')");
-            SqlRowSet formField = baseDao.getJdbcTemplate().queryForRowSet("select fd_field from form left join formdetail on fo_id=fd_foid where fo_caller='Customer!Base'");
-            List<Map<String, Object>> dataList = BaseUtil.getDataList(sqlRowSet, formField);
-            postMapData.put("success", true);
-            postMapData.put("result", dataList);
+            postMapData.put("result", "formDate不能为空");
             return postMapData;
         }
-        postMapData.put("success", false);
-        postMapData.put("result", "未知错误");
+        System.out.println("select * from Customer where cu_auditstatus = '已审核' and cu_updatetime_user > TO_DATE('" + formDate + "', 'YYYY-MM-DD')");
+        SqlRowSet sqlRowSet = baseDao.getJdbcTemplate().queryForRowSet("select * from Customer where cu_auditstatus = '已审核' and cu_updatetime_user > TO_DATE('" + formDate + "', 'YYYY-MM-DD')");
+        SqlRowSet formField = baseDao.getJdbcTemplate().queryForRowSet("select fd_field from form left join formdetail on fo_id=fd_foid where fo_caller='Customer!Base'");
+        List<Map<String, Object>> dataList = BaseUtil.getDataList(sqlRowSet, formField);
+        postMapData.put("resCode", "00");
+        postMapData.put("success", true);
+        postMapData.put("result", dataList);
         return postMapData;
     }
 
     @Override
-    public Map<String, Object> postVendorToXKN(String formDate, String token, String sign, String timestamp) {
-        Map<String, Object> judgeMapData = new HashMap<String, Object>();
-        judgeMapData = BaseUtil.judgeIsNull(formDate, token);
-        if (judgeMapData != null) {
-            return judgeMapData;
-        }
+    public Map<String, Object> postVendorToXKN(String formDate) {
         Map<String, Object> postMapData = new HashMap<String, Object>();
-        Map<String, Object> paramMap = new HashMap<String, Object>();
-        paramMap.put("formDate", formDate);
-        paramMap.put("token", token);
-        paramMap.put("timestamp", timestamp);
-        String checkResult = loginService.checkSign(paramMap, sign);
-        if ("01".equals(checkResult)) {
+        if (StringUtils.isEmpty(formDate)){
+            postMapData.put("resCode", "04");
             postMapData.put("success", false);
-            postMapData.put("result", "token错误");
-            return postMapData;
-        }
-        if ("02".equals(checkResult)) {
-            postMapData.put("success", false);
-            postMapData.put("result", "token已失效");
-            return postMapData;
-        }
-        if ("03".equals(checkResult)) {
-            postMapData.put("success", false);
-            postMapData.put("result", "sign签名不正确");
-            return postMapData;
-        }
-        if ("00".equals(checkResult)) {
-            System.out.println("select * from Vendor where ve_auditstatus = '已审核' and ve_updatetime_user > TO_DATE('" + formDate + "', 'YYYY-MM-DD')");
-            SqlRowSet sqlRowSet = baseDao.getJdbcTemplate().queryForRowSet("select * from Vendor where ve_auditstatus = '已审核' and ve_updatetime_user > TO_DATE('" + formDate + "', 'YYYY-MM-DD')");
-            SqlRowSet formField = baseDao.getJdbcTemplate().queryForRowSet("select fd_field from form left join formdetail on fo_id=fd_foid where fo_caller='Vendor'");
-            List<Map<String, Object>> dataList = BaseUtil.getDataList(sqlRowSet, formField);
-            postMapData.put("success", true);
-            postMapData.put("result", dataList);
+            postMapData.put("result", "formDate不能为空");
             return postMapData;
         }
-        postMapData.put("success", false);
-        postMapData.put("result", "未知错误");
+        System.out.println("select * from Vendor where ve_auditstatus = '已审核' and ve_updatetime_user > TO_DATE('" + formDate + "', 'YYYY-MM-DD')");
+        SqlRowSet sqlRowSet = baseDao.getJdbcTemplate().queryForRowSet("select * from Vendor where ve_auditstatus = '已审核' and ve_updatetime_user > TO_DATE('" + formDate + "', 'YYYY-MM-DD')");
+        SqlRowSet formField = baseDao.getJdbcTemplate().queryForRowSet("select fd_field from form left join formdetail on fo_id=fd_foid where fo_caller='Vendor'");
+        List<Map<String, Object>> dataList = BaseUtil.getDataList(sqlRowSet, formField);
+        postMapData.put("resCode", "00");
+        postMapData.put("success", true);
+        postMapData.put("result", dataList);
         return postMapData;
     }
 
     @Override
-    public Map<String, Object> postWareHouseToXKN(String formDate, String token, String sign, String timestamp) {
-        Map<String, Object> judgeMapData = new HashMap<String, Object>();
-        judgeMapData = BaseUtil.judgeIsNull(formDate, token);
-        if (judgeMapData != null) {
-            return judgeMapData;
-        }
+    public Map<String, Object> postWareHouseToXKN(String formDate) {
         Map<String, Object> postMapData = new HashMap<String, Object>();
-        Map<String, Object> paramMap = new HashMap<String, Object>();
-        paramMap.put("formDate", formDate);
-        paramMap.put("token", token);
-        paramMap.put("timestamp", timestamp);
-        String checkResult = loginService.checkSign(paramMap, sign);
-        if ("01".equals(checkResult)) {
+        if (StringUtils.isEmpty(formDate)){
+            postMapData.put("resCode", "04");
             postMapData.put("success", false);
-            postMapData.put("result", "token错误");
-            return postMapData;
-        }
-        if ("02".equals(checkResult)) {
-            postMapData.put("success", false);
-            postMapData.put("result", "token已失效");
-            return postMapData;
-        }
-        if ("03".equals(checkResult)) {
-            postMapData.put("success", false);
-            postMapData.put("result", "sign签名不正确");
-            return postMapData;
-        }
-        if ("00".equals(checkResult)) {
-            System.out.println("select * from Warehouse where wh_status = '已审核' and wh_updatetime_user > TO_DATE('" + formDate + "', 'YYYY-MM-DD')");
-            SqlRowSet sqlRowSet = baseDao.getJdbcTemplate().queryForRowSet("select * from Warehouse where wh_status = '已审核' and wh_updatetime_user > TO_DATE('" + formDate + "', 'YYYY-MM-DD')");
-            SqlRowSet formField = baseDao.getJdbcTemplate().queryForRowSet("select fd_field from form left join formdetail on fo_id=fd_foid where fo_caller='Warehouse'");
-            List<Map<String, Object>> dataList = BaseUtil.getDataList(sqlRowSet, formField);
-            postMapData.put("success", true);
-          //  postMapData.put("result", dataList);
+            postMapData.put("result", "formDate不能为空");
             return postMapData;
         }
-        postMapData.put("success", false);
-        postMapData.put("result", "未知错误");
+        System.out.println("select * from Warehouse where wh_status = '已审核' and wh_updatetime_user > TO_DATE('" + formDate + "', 'YYYY-MM-DD')");
+        SqlRowSet sqlRowSet = baseDao.getJdbcTemplate().queryForRowSet("select * from Warehouse where wh_status = '已审核' and wh_updatetime_user > TO_DATE('" + formDate + "', 'YYYY-MM-DD')");
+        SqlRowSet formField = baseDao.getJdbcTemplate().queryForRowSet("select fd_field from form left join formdetail on fo_id=fd_foid where fo_caller='Warehouse'");
+        List<Map<String, Object>> dataList = BaseUtil.getDataList(sqlRowSet, formField);
+        postMapData.put("resCode", "00");
+        postMapData.put("success", true);
+        postMapData.put("result", dataList);
         return postMapData;
     }
 

+ 13 - 5
eis-wms/src/main/java/com/uas/eiswms/util/BaseUtil.java

@@ -102,16 +102,24 @@ public class BaseUtil {
         return new File(URLDecoder.decode(resource.getFile(), "UTF-8"));
     }
 
-    public static Map<String, Object> judgeIsNull(String formDate, String token) {
+    public static Map<String, Object> judgeIsNull(String token, String sign, String timestamp) {
         Map<String, Object> postMapData = new HashMap<String, Object>();
-        if (org.springframework.util.StringUtils.isEmpty(formDate)) {
+        if (StringUtils.isEmpty(token)) {
+            postMapData.put("resCode", "04");
             postMapData.put("success", false);
-            postMapData.put("result", "formDate不能为空");
+            postMapData.put("result", "token不能为空");
             return postMapData;
         }
-        if (StringUtils.isEmpty(token)) {
+        if (StringUtils.isEmpty(sign)) {
+            postMapData.put("resCode", "04");
             postMapData.put("success", false);
-            postMapData.put("result", "token不能为空");
+            postMapData.put("result", "sign签名不能为空");
+            return postMapData;
+        }
+        if (StringUtils.isEmpty(timestamp)) {
+            postMapData.put("resCode", "04");
+            postMapData.put("success", false);
+            postMapData.put("result", "timestamp不能为空");
             return postMapData;
         }
         return null;

+ 1 - 0
pom.xml

@@ -9,6 +9,7 @@
   	<module>eis-common</module>
   	<module>eis-yunding</module>
     <module>eis-dingzhi</module>
+	<module>eis-wms</module>
   </modules>
   
   <build>