Browse Source

统一参数及返回值

koul 4 years ago
parent
commit
b6a338c7ec

+ 7 - 5
src/main/java/com/uas/eis/controller/QueryController.java

@@ -3,12 +3,17 @@ package com.uas.eis.controller;
 import java.util.HashMap;
 import java.util.Map;
 
+import com.uas.eis.sdk.entity.ApiResult;
+import com.uas.eis.sdk.resp.ApiResponse;
+import org.apache.http.HttpRequest;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import com.uas.eis.service.QueryService;
 
+import javax.servlet.http.HttpServletRequest;
+
 @RestController
 public class QueryController {
 
@@ -28,11 +33,8 @@ public class QueryController {
 	}
 
 	@RequestMapping("/api/queryProduct")
-	public Map<String, Object> queryProduct(int size){
-		Map<String, Object> map = new HashMap<String, Object>();
-		map.put("success",true);
-		map.put("data",queryService.queryProduct(size));
-		return map;
+	public ApiResult<String> queryProduct(HttpServletRequest request, String data){
+		return ApiResponse.successRsp(request.getHeader("RequestId"),queryService.queryProduct(data));
 	}
 	
 }

+ 164 - 0
src/main/java/com/uas/eis/entity/Product.java

@@ -0,0 +1,164 @@
+package com.uas.eis.entity;
+
+import com.alibaba.fastjson.annotation.JSONField;
+
+import java.io.Serializable;
+
+
+/**
+ * @author koul
+ * @email koul@usoftchina.com
+ * @date 2021-11-25 8:47
+ */
+public class Product implements Serializable {
+    @JSONField(name = "ITEMNO")
+    private String pr_code;
+    @JSONField(name = "ITEMNAME")
+    private String pr_detail;
+    @JSONField(name = "DESCRIPTION")
+    private String pr_spec;
+    @JSONField(name = "UNITNO")
+    private String pr_unit;
+    @JSONField(name = "COMPANYNO")
+    private String pr_cop;
+    @JSONField(name = "VERSION")
+    private int pr_version;
+    @JSONField(name = "ITEMTYPE")
+    private String pr_serial;
+    @JSONField(name = "INVALIDQTY")
+    private int pr_validdays;
+    @JSONField(name = "MSDLEVEL")
+    private String pr_msdlevel;
+    @JSONField(name = "FHELPCODE")
+    private String pr_fhelpcode;
+    @JSONField(name = "F_115")
+    private String pr_f_115;
+    @JSONField(name = "F_116")
+    private String pr_f_116;
+    @JSONField(name = "F_102")
+    private String pr_f_102;
+    @JSONField(name = "F_103")
+    private String pr_kind;
+    @JSONField(name = "FDEFAULTLOC")
+    private String pr_whcode;
+
+    public String getPr_code() {
+        return pr_code;
+    }
+
+    public void setPr_code(String pr_code) {
+        this.pr_code = pr_code;
+    }
+
+    public String getPr_detail() {
+        return pr_detail;
+    }
+
+    public void setPr_detail(String pr_detail) {
+        this.pr_detail = pr_detail;
+    }
+
+    public String getPr_spec() {
+        return pr_spec;
+    }
+
+    public void setPr_spec(String pr_spec) {
+        this.pr_spec = pr_spec;
+    }
+
+    public String getPr_unit() {
+        return pr_unit;
+    }
+
+    public void setPr_unit(String pr_unit) {
+        this.pr_unit = pr_unit;
+    }
+
+    public String getPr_cop() {
+        return pr_cop;
+    }
+
+    public void setPr_cop(String pr_cop) {
+        this.pr_cop = pr_cop;
+    }
+
+    public int getPr_version() {
+        return pr_version;
+    }
+
+    public void setPr_version(int pr_version) {
+        this.pr_version = pr_version;
+    }
+
+    public String getPr_serial() {
+        return pr_serial;
+    }
+
+    public void setPr_serial(String pr_serial) {
+        this.pr_serial = pr_serial;
+    }
+
+    public int getPr_validdays() {
+        return pr_validdays;
+    }
+
+    public void setPr_validdays(int pr_validdays) {
+        this.pr_validdays = pr_validdays;
+    }
+
+    public String getPr_msdlevel() {
+        return pr_msdlevel;
+    }
+
+    public void setPr_msdlevel(String pr_msdlevel) {
+        this.pr_msdlevel = pr_msdlevel;
+    }
+
+    public String getPr_fhelpcode() {
+        return pr_fhelpcode;
+    }
+
+    public void setPr_fhelpcode(String pr_fhelpcode) {
+        this.pr_fhelpcode = pr_fhelpcode;
+    }
+
+    public String getPr_f_115() {
+        return pr_f_115;
+    }
+
+    public void setPr_f_115(String pr_f_115) {
+        this.pr_f_115 = pr_f_115;
+    }
+
+    public String getPr_f_116() {
+        return pr_f_116;
+    }
+
+    public void setPr_f_116(String pr_f_116) {
+        this.pr_f_116 = pr_f_116;
+    }
+
+    public String getPr_f_102() {
+        return pr_f_102;
+    }
+
+    public void setPr_f_102(String pr_f_102) {
+        this.pr_f_102 = pr_f_102;
+    }
+
+    public String getPr_kind() {
+        return pr_kind;
+    }
+
+    public void setPr_kind(String pr_kind) {
+        this.pr_kind = pr_kind;
+    }
+
+    public String getPr_whcode() {
+        return pr_whcode;
+    }
+
+    public void setPr_whcode(String pr_whcode) {
+        this.pr_whcode = pr_whcode;
+    }
+}

+ 36 - 0
src/main/java/com/uas/eis/sdk/entity/ApiResult.java

@@ -25,6 +25,42 @@ public class ApiResult<T> {
      */
     private T data;
 
+    public int getCode() {
+        return code;
+    }
+
+    public ApiResult<T> setCode(int code) {
+        this.code = code;
+        return this;
+    }
+
+    public String getMessage() {
+        return message;
+    }
+
+    public ApiResult<T> setMessage(String message) {
+        this.message = message;
+        return this;
+    }
+
+    public String getRequestId() {
+        return requestId;
+    }
+
+    public ApiResult<T> setRequestId(String requestId) {
+        this.requestId = requestId;
+        return this;
+    }
+
+    public T getData() {
+        return data;
+    }
+
+    public ApiResult<T> setData(T data) {
+        this.data = data;
+        return this;
+    }
+
     @Override
     public String toString() {
         return "Result{" +

+ 51 - 0
src/main/java/com/uas/eis/sdk/resp/ApiResponse.java

@@ -0,0 +1,51 @@
+package com.uas.eis.sdk.resp;
+
+import com.uas.eis.sdk.core.HttpRequest;
+import com.uas.eis.sdk.entity.ApiResult;
+
+
+/**
+ * @author koul
+ * @email koul@usoftchina.com
+ * @date 2021-11-25 10:56
+ */
+public class ApiResponse {
+
+    private final static String SUCCESS = "success";
+
+    public static <T> ApiResult<T> successRsp(String requestId) {
+        return new ApiResult<T>().setRequestId(requestId);
+    }
+
+    public static <T> ApiResult<T> successRsp(int code, String msg) {
+        return new ApiResult<T>().setCode(code).setMessage(msg);
+    }
+
+    public static <T> ApiResult<T> successRsp(String requestId,T data) {
+        return new ApiResult<T>().setRequestId(requestId).setData(data);
+    }
+
+    public static <T> ApiResult<T> successRsp(int code,String requestId,T data) {
+        return new ApiResult<T>().setRequestId(requestId).setData(data).setCode(code);
+    }
+
+    public static <T> ApiResult<T> successRsp(int code, String msg,String requestId,T data) {
+        return new ApiResult<T>().setCode(code).setMessage(msg).setRequestId(requestId).setData(data);
+    }
+
+
+    public static <T> ApiResult<T> failRsp(int code, String msg) {
+        return new ApiResult<T>().setCode(code).setMessage(msg);
+    }
+
+    public static <T> ApiResult<T> failRsp(int code, String msg, T data) {
+        return new ApiResult<T>().setCode(code).setMessage(msg).setData(data);
+    }
+    public static <T> ApiResult<T> failRsp(String requestId,T data) {
+        return new ApiResult<T>().setRequestId(requestId).setData(data);
+    }
+
+    public static <T> ApiResult<T> failRsp(int code, String msg,String requestId,T data) {
+        return new ApiResult<T>().setCode(code).setMessage(msg).setRequestId(requestId).setData(data);
+    }
+}

+ 14 - 32
src/main/java/com/uas/eis/service/Impl/QueryServiceImpl.java

@@ -9,9 +9,10 @@ import java.util.Map;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import com.uas.eis.dao.SqlRowList;
-import com.uas.eis.entity.ActionConfig;
-import com.uas.eis.entity.ErrorMsg;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.serializer.SerializerFeature;
+import com.uas.eis.entity.*;
 import com.uas.eis.exception.SystemException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cache.annotation.Cacheable;
@@ -21,14 +22,12 @@ import org.springframework.util.StringUtils;
 import com.alibaba.fastjson.JSON;
 import com.uas.eis.core.support.TokenHandler;
 import com.uas.eis.dao.BaseDao;
-import com.uas.eis.entity.QueryArgs;
-import com.uas.eis.entity.QueryConfig;
-import com.uas.eis.entity.QueryConfigDetail;
 import com.uas.eis.service.QueryService;
 import com.uas.eis.utils.BaseUtil;
 
 import net.sf.json.JSONObject;
 
+
 @Service
 public class QueryServiceImpl implements QueryService {
 
@@ -257,31 +256,14 @@ public class QueryServiceImpl implements QueryService {
 	}
 
 	@Override
-	public List<Map<String, Object>> queryProduct(int size) {
-		size=size>100?100:size;
-		SqlRowList rs = baseDao.queryForRowSet("select * from (select pr_code ,pr_detail ,pr_spec ,pr_unit ,pr_cop ,pr_version ,pr_serial ,pr_validdays ,pr_msdlevel ,pr_fhelpcode ,pr_f_115 ,pr_f_116 ,pr_f_102 ,pr_kind ,pr_whcode from product where pr_sendstatus='待上传' and pr_statuscode='AUDITED') where rownum<=" + size);
-		List<Map<String, Object>> maps = new ArrayList<>();
-		while (rs.next()){
-			Map<String, Object> map = new HashMap<>();
-			map.put("itemNo",rs.getString("pr_code"));
-			map.put("itemName",rs.getString("pr_detail"));
-			map.put("description",rs.getString("pr_spec"));
-			map.put("unitNo",rs.getString("pr_unit"));
-			map.put("companyNo",rs.getString("pr_cop"));
-			map.put("version",rs.getInt("pr_version"));
-			map.put("itemType",rs.getString("pr_serial"));
-			map.put("invalidQty",rs.getInt("pr_validdays"));
-			map.put("msdLevel",rs.getString("pr_msdlevel"));
-			map.put("FhelpCode",rs.getString("pr_fhelpcode"));
-			map.put("F_115",rs.getString("pr_f_115"));
-			map.put("F_116",rs.getString("pr_f_116"));
-			map.put("F_102",rs.getString("pr_f_102"));
-			map.put("F_103",rs.getString("pr_kind"));
-			map.put("FDefaultLoc",rs.getString("pr_whcode"));
-			maps.add(map);
-		}
-		return maps;
+	public String queryProduct(String data) {
+		Map<Object, Object> store = BaseUtil.parseFormStoreToMap(data);
+		int size = store.get("size") == null ? 500 : Integer.parseInt(store.get("size").toString());
+		size=size>500?500:size;
+		List<Product> products = baseDao.query("select * from (select pr_code ,pr_detail ,pr_spec ,nvl(pr_unit,'PCS') pr_unit,nvl(pr_cop,'BYT') pr_cop,nvl(pr_version,0) pr_version,pr_serial ,pr_validdays ,pr_msdlevel ,pr_fhelpcode ,pr_f_115 ,pr_f_116 ,pr_f_102 ,pr_kind ,pr_whcode from product where pr_sendstatus='待上传' and pr_statuscode='AUDITED' and nvl(pr_groupcode,' ')<>'用品' order by pr_auditdate,pr_id) where rownum<=" + size,
+				Product.class);
+		String s = JSON.toJSONString(products, SerializerFeature.WriteMapNullValue);
+		baseDao.execute("update product set pr_sendstatus='已上传' where pr_id in (select pr_id from (select pr_id from product where pr_sendstatus='待上传' and pr_statuscode='AUDITED' and nvl(pr_groupcode,' ')<>'用品' order by pr_auditdate,pr_id) where rownum<=" + size+")");
+		return s;
 	}
-
-
 }

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

@@ -1,7 +1,7 @@
 package com.uas.eis.service;
 
-import java.util.List;
-import java.util.Map;
+
+import com.alibaba.fastjson.JSONArray;
 
 public interface QueryService {
 
@@ -15,6 +15,6 @@ public interface QueryService {
 	
 	public Object doAction(String code, String param);
 
-	public List<Map<String, Object>> queryProduct(int size);
+	public String queryProduct(String data);
 
 }

+ 15 - 0
src/main/java/com/uas/eis/utils/BaseUtil.java

@@ -151,5 +151,20 @@ public class BaseUtil {
 		json.put("grid", JSONArray.fromObject(gridList));
 		return json.toString();
 	}
+
+	/**
+	 * 将formStore解析成一个map
+	 *
+	 * @param formStore
+	 *            字符串形式的表单数据
+	 * @return map形式的表单数据
+	 */
+	public static Map<Object, Object> parseFormStoreToMap(String formStore) {
+		try {
+			return FlexJsonUtil.fromJson(formStore);
+		} catch (Exception e) {
+			return JSONUtil.toMap(formStore);
+		}
+	}
 	
 }

+ 1 - 1
src/main/resources/api_sign_key_mapping.properties

@@ -1 +1 @@
-BOYT=f9d17c1047fd468081e39ce33bb41bb7
+BOYT=f9d17c1047fd468081e39ce33bb41bb7