koul 4 лет назад
Родитель
Сommit
e18d895208

+ 9 - 2
src/main/java/com/uas/eis/core/support/ApiSignLoginInterceptor.java

@@ -5,6 +5,8 @@ import com.uas.eis.exception.ApiSystemException;
 import com.uas.eis.sdk.entity.ApiResult;
 import com.uas.eis.utils.MD5Util;
 import org.apache.commons.lang.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
 
@@ -24,6 +26,7 @@ public class ApiSignLoginInterceptor extends HandlerInterceptorAdapter {
     private static final String SIGN_KEY = "Signature";
     private static final String RequestId = "RequestId";
     private static Map<String,String> tokenConfig = TokenProperties.getAllProperty();
+    private final Logger logger = LoggerFactory.getLogger(this.getClass());
 
 
     @Override
@@ -33,6 +36,10 @@ public class ApiSignLoginInterceptor extends HandlerInterceptorAdapter {
         String accessKey = request.getHeader(ACCESS_KEY);
         String requestId = request.getHeader(RequestId);
         String originSign = request.getHeader(SIGN_KEY);
+        logger.info("timestamp=="+timestamp);
+        logger.info("accessKey=="+accessKey);
+        logger.info("requestId=="+requestId);
+        logger.info("originSign=="+originSign);
 
         String accessSecret = tokenConfig.get(accessKey);
         if (StringUtils.isEmpty(requestId)) {
@@ -111,7 +118,7 @@ public class ApiSignLoginInterceptor extends HandlerInterceptorAdapter {
         }
         temp.append("&").append(ACCESS_SECRET).append("=").append(accessSecret);
         System.out.println(temp);
-        System.out.println(MD5Util.getEncryption(temp.toString()));
-        return MD5Util.getEncryption(temp.toString()).toUpperCase();
+        System.out.println(MD5Util.encrypt32Up(temp.toString()));
+        return MD5Util.encrypt32Up(temp.toString());
     }
 }

+ 3 - 3
src/main/java/com/uas/eis/service/Impl/ScheduleTaskServiceImpl.java

@@ -38,7 +38,7 @@ public class ScheduleTaskServiceImpl implements ScheduleTaskService {
      */
     @Override
     public void syncProducts() {
-        SqlRowList rs = baseDao.queryForRowSet("select id from mes_product where status='W'");
+        SqlRowList rs = baseDao.queryForRowSet("select id from mes_product where status='W' order by id");
         while (rs.next()){
             Product product = baseDao.getJdbcTemplate().queryForObject("select pr_kh_user,pr_code ,pr_detail ," +
                             "pr_spec ,nvl(pr_unit,'PCS') pr_unit,nvl(pr_cop,'BYT') pr_cop,nvl(pr_version,'0') " +
@@ -63,7 +63,7 @@ public class ScheduleTaskServiceImpl implements ScheduleTaskService {
 
     @Override
     public void syncMakeBases() {
-        SqlRowList rs = baseDao.queryForRowSet("select id from mes_make where status='W'");
+        SqlRowList rs = baseDao.queryForRowSet("select id from mes_make where status='W' order by id");
         while (rs.next()){
             Make make = baseDao.getJdbcTemplate().queryForObject("select id,ma_code,ma_prodcode,ma_qty,ma_custcode,pr_unit,pr_detail,pr_spec,ma_salecode,to_char(ma_planbegindate,'yyyy-MM-dd') ma_planbegindate,to_char(ma_planenddate,'yyyy-MM-dd') ma_planenddate,nvl(ma_cop,'BYT') ma_cop,'S' status,to_char(ma_date,'yyyy-MM-dd HH24:mi:ss') ma_date,ma_recorder,nvl(ma_version,0) ma_version,erpid,wc_id,pr_id,to_char(ma_modifydate,'yyyy-MM-dd HH24:mi:ss') ma_modifydate,ma_modifier,flag from mes_make left join product on ma_prodcode=pr_code left join workcenter on ma_wccode=wc_code where id=?",
                     new BeanPropertyRowMapper<Make>(Make.class),rs.getInt("id"));
@@ -84,7 +84,7 @@ public class ScheduleTaskServiceImpl implements ScheduleTaskService {
 
     @Override
     public void syncMakeBaseDetails() {
-        SqlRowList rs = baseDao.queryForRowSet("select id,mm_code,mm_detno from mes_makematerial where status='W'");
+        SqlRowList rs = baseDao.queryForRowSet("select id,mm_code,mm_detno from mes_makematerial where status='W' order by id");
         while (rs.next()){
             int count = baseDao.getCount("select count(1) from mes_make where status='D' and action<>'D' and ma_code='" + rs.getGeneralString("mm_code") + "'");
             if (count>0) {

+ 48 - 0
src/main/java/com/uas/eis/utils/MD5Util.java

@@ -5,6 +5,10 @@ import java.security.NoSuchAlgorithmException;
 
 public class MD5Util {
 
+	// 全局数组
+	private final static String[] strDigits = { "0", "1", "2", "3", "4", "5",
+			"6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };
+
 	/**
 	 * MD5加密
 	 * @param message
@@ -84,4 +88,48 @@ public class MD5Util {
 		}
 		return result;
 	}
+
+	public static String encrypt32(String strObj) {
+		String resultString = null;
+		try {
+			resultString = new String(strObj);
+			MessageDigest md = MessageDigest.getInstance("MD5");
+			// md.digest() 该函数返回值为存放哈希值结果的byte数组
+			resultString = byteToString(md.digest(strObj.getBytes()));
+		} catch (NoSuchAlgorithmException ex) {
+			ex.printStackTrace();
+		}
+		return resultString;
+	}
+	public static String encrypt32Up(String strObj){
+		return encrypt32(strObj).toUpperCase();
+	}
+	public static String encrypt16(String strObj){
+		return encrypt32(strObj).substring(8,24);
+	}
+	public static String encrypt16Up(String strObj){
+		return encrypt32Up(strObj).substring(8,24);
+	}
+
+
+
+
+	// 转换字节数组为16进制字串
+	private static String byteToString(byte[] bByte) {
+		StringBuffer sBuffer = new StringBuffer();
+		for (int i = 0; i < bByte.length; i++) {
+			sBuffer.append(byteToArrayString(bByte[i]));
+		}
+		return sBuffer.toString();
+	}
+	// 返回形式为数字跟字符串
+	private static String byteToArrayString(byte bByte) {
+		int iRet = bByte;
+		if (iRet < 0) {
+			iRet += 256;
+		}
+		int iD1 = iRet / 16;
+		int iD2 = iRet % 16;
+		return strDigits[iD1] + strDigits[iD2];
+	}
 }