Quellcode durchsuchen

Merge branch 'master' of http://101.36.160.140:21044/depot-tianjin/depot-business-tianjin.git

gaodd vor 2 Jahren
Ursprung
Commit
15d931d166

+ 2 - 0
src/main/java/com/chinaitop/depot/business/controller/BusinessContractReceiveController.java

@@ -91,6 +91,8 @@ public class BusinessContractReceiveController {
91 91
 		@ApiImplicitParam(name = "datas", value = "数据串", paramType = "form")
92 92
 	})
93 93
 	public String saveContract(String datas) {
94
+		logger.info("市平台推送合同数据如下:");
95
+		logger.info(datas);
94 96
 		Map<String, String> result = new HashMap<>();
95 97
 		try {
96 98
 			result = businessContractReceiveService.receiveContractData(datas);

+ 44 - 33
src/main/java/com/chinaitop/depot/business/service/impl/BusinessContractReceiveServiceImpl.java

@@ -11,6 +11,7 @@ import javax.annotation.Resource;
11 11
 
12 12
 import org.apache.commons.lang.StringUtils;
13 13
 import org.springframework.stereotype.Service;
14
+import org.springframework.transaction.annotation.Transactional;
14 15
 
15 16
 import com.alibaba.fastjson.JSONObject;
16 17
 import com.chinaitop.depot.business.mapper.BusinessContractReceiveMapper;
@@ -19,6 +20,7 @@ import com.chinaitop.depot.business.model.BusinessContractReceiveExample;
19 20
 import com.chinaitop.depot.business.model.BusinessContractReceiveExample.Criteria;
20 21
 import com.chinaitop.depot.business.service.BusinessContractReceiveService;
21 22
 import com.chinaitop.depot.business.service.FeignBasicService;
23
+import com.chinaitop.depot.feignService.DepotKeeperAccountFeignService;
22 24
 
23 25
 @Service
24 26
 @SuppressWarnings("all")
@@ -30,7 +32,11 @@ public class BusinessContractReceiveServiceImpl implements BusinessContractRecei
30 32
 	@Resource
31 33
 	private FeignBasicService feignBasicService;
32 34
 
35
+	@Resource
36
+	private DepotKeeperAccountFeignService feigenKeeperAccountService;
37
+
33 38
 	@Override
39
+	@Transactional(rollbackFor = Exception.class)
34 40
 	public Map<String, String> receiveContractData(String data) throws Exception {
35 41
 		Map<String, String> resultMap = new HashMap<>();
36 42
 		if (StringUtils.isBlank(data)) {
@@ -46,11 +52,13 @@ public class BusinessContractReceiveServiceImpl implements BusinessContractRecei
46 52
 			resultMap.put("msg", msg);
47 53
 			return resultMap;
48 54
 		} else {
49
-			//保存数据
50
-			List<BusinessContractReceive> list = (List<BusinessContractReceive>) check_map.get("ware_list");
51
-			for (BusinessContractReceive b : list) {
52
-				businessContractReceiveMapper.insert(b);
53
-			}
55
+			//保存合同数据
56
+			BusinessContractReceive obj_map = (BusinessContractReceive) check_map.get("ware_list");
57
+			businessContractReceiveMapper.insert(obj_map);
58
+			
59
+			//处理客户信息数据
60
+			editCustomer(obj_map.getOrgId(), obj_map.getKhmc());
61
+
54 62
 			resultMap.put("status", "200");
55 63
 			resultMap.put("msg", "推送成功");
56 64
 		}
@@ -100,7 +108,7 @@ public class BusinessContractReceiveServiceImpl implements BusinessContractRecei
100 108
 			if (StringUtils.isNotBlank(lspz)) {
101 109
 				dataobj.setLypz(Integer.parseInt(lspz));
102 110
 			} else {
103
-				sbf.append("粮食品种的值"+pz+"有误,");
111
+				sbf.append("粮食品种的值"+pz+"有误或不合理,");
104 112
 			}
105 113
 		} else {
106 114
 			sbf.append("粮食品种不能为空,");
@@ -108,12 +116,13 @@ public class BusinessContractReceiveServiceImpl implements BusinessContractRecei
108 116
 		String mxpz = obj.getString("mxpz");
109 117
 		if (StringUtils.isNotBlank(mxpz)) {
110 118
 			if (null != dataobj.getLypz()) {
111
-				Map<String, Object> basicMap = feignBasicService.getIdByNameAndParentId(dataobj.getLypz(), null, pz);
119
+				mxpz = mxpz.replace(" ", "");
120
+				Map<String, Object> basicMap = feignBasicService.getIdByNameAndParentId(dataobj.getLypz(), null, mxpz);
112 121
 				String lsmxpz = basicMap.get("enumId")+"";
113 122
 				if (StringUtils.isNotBlank(lsmxpz)) {
114 123
 					dataobj.setMxpz(Integer.parseInt(lsmxpz));
115 124
 				} else {
116
-					sbf.append("粮食明细品种的值"+mxpz+"有误,");
125
+					sbf.append("粮食明细品种的值"+mxpz+"有误或不合理,");
117 126
 				}
118 127
 			}
119 128
 		} else {
@@ -121,12 +130,13 @@ public class BusinessContractReceiveServiceImpl implements BusinessContractRecei
121 130
 		}
122 131
 		String lydj = obj.getString("dj");
123 132
 		if (StringUtils.isNotBlank(lydj)) {
133
+			lydj = lydj.replace(" ", "");
124 134
 			Map<String, Object> basicMap = feignBasicService.getIdByNameAndParentId(1002, null, lydj);
125 135
 			String dj = basicMap.get("enumId")+"";
126 136
 			if (StringUtils.isNotBlank(dj)) {
127 137
 				dataobj.setLydj(Integer.parseInt(dj));
128 138
 			} else {
129
-				sbf.append("粮食等级的值"+lydj+"有误,");
139
+				sbf.append("粮食等级的值"+lydj+"有误或不合理,");
130 140
 			}
131 141
 		} else {
132 142
 			sbf.append("粮食等级不能为空,");
@@ -158,33 +168,21 @@ public class BusinessContractReceiveServiceImpl implements BusinessContractRecei
158 168
 		}
159 169
 		String khmc = obj.getString("khmc");
160 170
 		if (StringUtils.isNotBlank(khmc)) {
161
-			dataobj.setKhmc(khmc.trim());
171
+			dataobj.setKhmc(khmc.replace(" ", "").trim());
162 172
 		} else {
163 173
 			sbf.append("客户名称不能为空,");
164 174
 		}
165
-		String tyxydm = obj.getString("khzjh");
166
-		if (StringUtils.isNotBlank(tyxydm)) {
167
-			dataobj.setTyxydm(tyxydm.trim());
168
-		} else {
169
-			sbf.append("客户证件号不能为空,");
170
-		}
171
-		String hw_sptid = obj.getString("hwbm");//getWareOrTankObj
175
+		String hw_sptid = obj.getString("hwbm");//市平台货物数据主键ID
172 176
 		if (StringUtils.isNotBlank(hw_sptid)) {
173
-			String []id_nums = hw_sptid.split(",");
174
-			BusinessContractReceive num_data = null;
175
-			for (String id : id_nums) {
176
-				Map<String, Object> basicMap = feignBasicService.getWareOrTankObj(id);
177
-				if (!"0".equals(basicMap.get("houseId")) && !"0".equals(basicMap.get("warehouseId")) && !"0".equals(basicMap.get("orgId"))) {
178
-					num_data = dataobj;
179
-					num_data.setHouseId(Integer.parseInt(basicMap.get("houseId").toString()));
180
-					num_data.setWarehouseId(Integer.parseInt(basicMap.get("warehouseId").toString()));
181
-					num_data.setOrgId(Integer.parseInt(basicMap.get("orgId").toString()));
182
-					num_data.setInputTime(new Date());
183
-					num_data.setUpdateTime(num_data.getInputTime());
184
-					list.add(num_data);
185
-				} else {
186
-					sbf.append("hwbm的值"+id+"异常,");
187
-				}
177
+			Map<String, Object> basicMap = feignBasicService.getWareOrTankObj(hw_sptid);
178
+			if (!"0".equals(basicMap.get("houseId")) && !"0".equals(basicMap.get("warehouseId")) && !"0".equals(basicMap.get("orgId"))) {
179
+				dataobj.setHouseId(Integer.parseInt(basicMap.get("houseId").toString()));
180
+				dataobj.setWarehouseId(Integer.parseInt(basicMap.get("warehouseId").toString()));
181
+				dataobj.setOrgId(Integer.parseInt(basicMap.get("orgId").toString()));
182
+				dataobj.setInputTime(new Date());
183
+				dataobj.setUpdateTime(dataobj.getInputTime());
184
+			} else {
185
+				sbf.append("未查询到hwbm的值对应的货位数据,");
188 186
 			}
189 187
 		} else {
190 188
 			sbf.append("hwbm的值不能为空,");
@@ -192,7 +190,7 @@ public class BusinessContractReceiveServiceImpl implements BusinessContractRecei
192 190
 
193 191
 		Map<String, Object> resultMap = new HashMap<>();
194 192
 		resultMap.put("msg", sbf.toString());
195
-		resultMap.put("data", list);
193
+		resultMap.put("data", dataobj);
196 194
 
197 195
 		return resultMap;
198 196
 	}
@@ -226,4 +224,17 @@ public class BusinessContractReceiveServiceImpl implements BusinessContractRecei
226 224
 		return businessContractReceive;
227 225
 	}
228 226
 
227
+	private void editCustomer(Integer orgId, String customerName) throws Exception {
228
+		String flag = feigenKeeperAccountService.checkRepeat(orgId, 3153, customerName);
229
+		
230
+		if ("true".equals(flag)) {//说明这个客户没再库级维护
231
+			JSONObject json = new JSONObject();
232
+			json.put("name", customerName);
233
+			json.put("sfwz", "1");
234
+			Map<String, Object> modelMap = feigenKeeperAccountService.save(json.toString(), orgId);
235
+			if ("error".equals(modelMap.get("status"))) {
236
+				throw new Exception("不完整客户保存异常");
237
+			}
238
+		}
239
+	}
229 240
 }

+ 32 - 0
src/main/java/com/chinaitop/depot/feignService/DepotKeeperAccountFeignService.java

@@ -0,0 +1,32 @@
1
+package com.chinaitop.depot.feignService;
2
+
3
+import java.util.Map;
4
+
5
+import org.springframework.cloud.openfeign.FeignClient;
6
+import org.springframework.http.MediaType;
7
+import org.springframework.web.bind.annotation.RequestMapping;
8
+import org.springframework.web.bind.annotation.RequestMethod;
9
+import org.springframework.web.bind.annotation.RequestParam;
10
+
11
+@FeignClient(value = "DEPOT-KEEPER-ACCOUNT")
12
+public interface DepotKeeperAccountFeignService {
13
+
14
+	/**
15
+	 * 查询客户是否存在
16
+	 * @param orgId 组织机构ID
17
+	 * @param customerType 客户类型(3152:个人客户,3153:企业客户)
18
+	 * @param customerName 客户名称
19
+	 * @return false代表存在
20
+	 */
21
+	@RequestMapping(value = "/depot/business/customer/checkRepeat", produces = MediaType.APPLICATION_JSON_VALUE, method=RequestMethod.GET)
22
+	String checkRepeat(@RequestParam("orgId") Integer orgId, @RequestParam("customerType") Integer customerType, @RequestParam("customerType")String customerName);
23
+
24
+	/**
25
+	 * 保存一条不完整的客户数据
26
+	 * @param customerJson
27
+	 * @param orgId
28
+	 * @return
29
+	 */
30
+	@RequestMapping(value = "/depot/business/customer/save", produces = MediaType.APPLICATION_JSON_VALUE, method=RequestMethod.POST)
31
+	Map<String, Object> save(@RequestParam("customerJson")String customerJson, @RequestParam("orgId") Integer orgId);
32
+}

+ 61 - 24
src/main/java/com/chinaitop/depot/utils/CustomFilter.java

@@ -24,30 +24,44 @@ public class CustomFilter implements Filter {
24 24
 	@Override
25 25
 	public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)
26 26
 			throws IOException, ServletException {
27
-		//ParameterRequestWrapper requestWrapper = new ParameterRequestWrapper((HttpServletRequest) arg0);
28
-		HttpServletRequest request = (HttpServletRequest) arg0;
29
-		HttpSession session = request.getSession();
30
-		String orgId = "";
31
-		if (session != null){
32
-			orgId = ObjectUtils.toString(session.getAttribute("orgId"), "");
33
-		}
34
-		if (StringUtils.isNotBlank(orgId)) {
35
-			DataPolicyEngine.set(orgId);
36
-		}
37
-
38
-		/*if (StringUtils.isNotBlank(orgId)) {
39
-			// 将参数追加到request url 之后
40
-			requestWrapper.addParameter("orgId", orgId);
41
-			requestWrapper.addParameter("unitid", orgId);
42
-			requestWrapper.addParameter("unitId", orgId);
43
-			// 将参数追加到request 的body 中
44
-			requestWrapper.addParameterToBody("orgId", orgId);
45
-			requestWrapper.addParameterToBody("unitid", orgId);
46
-			requestWrapper.addParameterToBody("unitId", orgId);
47
-		}*/
48
-
49
-		//arg2.doFilter(requestWrapper, arg1);
50
-		arg2.doFilter(arg0, arg1);
27
+
28
+	    if (StringUtils.isBlank(arg0.getContentType()) || this.isJson(arg0)) {
29
+	    	ParameterRequestWrapper requestWrapper = new ParameterRequestWrapper((HttpServletRequest) arg0);
30
+	    	HttpServletRequest request = (HttpServletRequest) arg0;
31
+	    	HttpSession session = request.getSession();
32
+	    	String orgId = "";
33
+	    	if (session != null){
34
+	    		orgId = ObjectUtils.toString(session.getAttribute("orgId"), "");
35
+	    	}
36
+	    	if (StringUtils.isNotBlank(orgId)) {
37
+	    		DataPolicyEngine.set(orgId);
38
+	    	}
39
+	    	
40
+	    	if (StringUtils.isNotBlank(orgId)) {
41
+	    		// 将参数追加到request url 之后
42
+	    		requestWrapper.addParameter("orgId", orgId);
43
+	    		requestWrapper.addParameter("unitid", orgId);
44
+	    		requestWrapper.addParameter("unitId", orgId);
45
+	    		// 将参数追加到request 的body 中
46
+	    		requestWrapper.addParameterToBody("orgId", orgId);
47
+	    		requestWrapper.addParameterToBody("unitid", orgId);
48
+	    		requestWrapper.addParameterToBody("unitId", orgId);
49
+	    	}
50
+	    	
51
+	    	arg2.doFilter(requestWrapper, arg1);
52
+	    } else if (isMultipart(arg0)) {
53
+	    	HttpServletRequest request = (HttpServletRequest) arg0;
54
+	    	HttpSession session = request.getSession();
55
+	    	String orgId = "";
56
+	    	if (session != null){
57
+	    		orgId = ObjectUtils.toString(session.getAttribute("orgId"), "");
58
+	    	}
59
+	    	if (StringUtils.isNotBlank(orgId)) {
60
+	    		DataPolicyEngine.set(orgId);
61
+	    	}
62
+
63
+	    	arg2.doFilter(arg0, arg1);
64
+	    }
51 65
 		DataPolicyEngine.remove();
52 66
 	}
53 67
 	
@@ -56,4 +70,27 @@ public class CustomFilter implements Filter {
56 70
  
57 71
     }
58 72
 
73
+	private boolean isJson(ServletRequest request) {
74
+		boolean flag = request.getContentType().toLowerCase().startsWith("application/");
75
+        if (flag) {
76
+            return true;
77
+        } else {
78
+            return false;
79
+        }
80
+    }
81
+
82
+	/**
83
+     * 判断本次请求的数据类型是否为上传文件
84
+     *
85
+     * @param request request
86
+     * @return boolean
87
+     */
88
+    private boolean isMultipart(ServletRequest request) {
89
+    	boolean flag = request.getContentType().toLowerCase().startsWith("multipart/");
90
+        if (request.getContentType() != null && flag) {
91
+            return true;
92
+        }
93
+
94
+        return false;
95
+   }
59 96
 }

+ 15 - 2
src/main/java/com/chinaitop/depot/utils/HelloServiceHystrix.java

@@ -11,9 +11,10 @@ import com.chinaitop.depot.agile.model.BusinessScedule;
11 11
 import com.chinaitop.depot.business.service.FeignAgileService;
12 12
 import com.chinaitop.depot.business.service.FeignBasicService;
13 13
 import com.chinaitop.depot.business.service.FeignSystemService;
14
+import com.chinaitop.depot.feignService.DepotKeeperAccountFeignService;
14 15
 
15 16
 @Component
16
-public class HelloServiceHystrix implements FeignAgileService,FeignBasicService,FeignSystemService{
17
+public class HelloServiceHystrix implements FeignAgileService,FeignBasicService,FeignSystemService,DepotKeeperAccountFeignService{
17 18
 
18 19
 	public static final Logger logger = LoggerFactory.getLogger(HelloServiceHystrix.class);
19 20
 	
@@ -72,7 +73,7 @@ public class HelloServiceHystrix implements FeignAgileService,FeignBasicService,
72 73
 
73 74
 	@Override
74 75
 	public Map<String, Object> getIdByNameAndParentId(Integer parentId, String enumName, String gbCode) {
75
-		logger.info("获取生产年度的ID失败!");
76
+		logger.info("获取获取字段值失败!");
76 77
 		return null;
77 78
 	}
78 79
 
@@ -100,4 +101,16 @@ public class HelloServiceHystrix implements FeignAgileService,FeignBasicService,
100 101
 		return null;
101 102
 	}
102 103
 
104
+	@Override
105
+	public String checkRepeat(Integer orgId, Integer customerType, String customerName) {
106
+		logger.info("接收合同时,校验客户信息是否存在失败!");
107
+		return null;
108
+	}
109
+
110
+	@Override
111
+	public Map<String, Object> save(String customerJson, Integer orgId) {
112
+		logger.info("接收合同时,保存客户信息接口调用失败!");
113
+		return null;
114
+	}
115
+
103 116
 }

+ 30 - 29
src/main/java/com/chinaitop/depot/utils/ParameterRequestWrapper.java

@@ -1,12 +1,5 @@
1
-/*package com.chinaitop.depot.utils;
1
+package com.chinaitop.depot.utils;
2 2
 
3
-import com.alibaba.fastjson.JSONObject;
4
-import org.springframework.util.StringUtils;
5
-
6
-import javax.servlet.ReadListener;
7
-import javax.servlet.ServletInputStream;
8
-import javax.servlet.http.HttpServletRequest;
9
-import javax.servlet.http.HttpServletRequestWrapper;
10 3
 import java.io.BufferedReader;
11 4
 import java.io.ByteArrayInputStream;
12 5
 import java.io.IOException;
@@ -14,14 +7,23 @@ import java.io.InputStreamReader;
14 7
 import java.util.HashMap;
15 8
 import java.util.Map;
16 9
 
17
-*//**
10
+import javax.servlet.ReadListener;
11
+import javax.servlet.ServletInputStream;
12
+import javax.servlet.http.HttpServletRequest;
13
+import javax.servlet.http.HttpServletRequestWrapper;
14
+
15
+import org.springframework.util.StringUtils;
16
+
17
+import com.alibaba.fastjson.JSONObject;
18
+
19
+/**
18 20
  * request 请求参数添加
19 21
  *
20 22
  * @Description TODO
21 23
  * @Date 2022/12/13 09:41
22 24
  * @Author fxw
23 25
  * @Version 1.0
24
- *//*
26
+ */
25 27
 public class ParameterRequestWrapper extends HttpServletRequestWrapper {
26 28
 
27 29
     private Map<String, String[]> params = new HashMap<String, String[]>();
@@ -42,32 +44,32 @@ public class ParameterRequestWrapper extends HttpServletRequestWrapper {
42 44
         this.params.putAll(request.getParameterMap());
43 45
     }
44 46
 
45
-    *//**
47
+    /**
46 48
      * 重载一个构造方法-- 扩展参数
47 49
      *
48 50
      * @param request
49 51
      * @param extendParams
50
-     *//*
52
+     */
51 53
     public ParameterRequestWrapper(HttpServletRequest request, Map<String, Object> extendParams) {
52 54
         this(request);
53 55
         //这里将扩展参数写入参数表
54 56
         addAllParameters(extendParams);
55 57
     }
56 58
 
57
-    *//**
59
+    /**
58 60
      * 增加多个参数
59 61
      *
60 62
      * @param otherParams
61
-     *//*
63
+     */
62 64
     public void addAllParameters(Map<String, Object> otherParams) {
63 65
         for (Map.Entry<String, Object> entry : otherParams.entrySet()) {
64 66
             addParameter(entry.getKey(), entry.getValue());
65 67
         }
66 68
     }
67 69
 
68
-    *//**
70
+    /**
69 71
      * 增加参数
70
-     *//*
72
+     */
71 73
     public void addParameter(String name, Object value) {
72 74
         if (value != null) {
73 75
             if (value instanceof String[]) {
@@ -80,19 +82,19 @@ public class ParameterRequestWrapper extends HttpServletRequestWrapper {
80 82
         }
81 83
     }
82 84
     
83
-    *//**
85
+    /**
84 86
      * 删除参数
85
-     *//*
87
+     */
86 88
     public void deleteParameter(String key) {
87 89
     	params.remove(key);
88 90
     }
89 91
 
90
-    *//**
92
+    /**
91 93
      * 增加body 参数
92 94
      *
93 95
      * @param name
94 96
      * @param value
95
-     *//*
97
+     */
96 98
     public void addParameterToBody(String name, Object value) {
97 99
         byte[] json = this.body;
98 100
         if (null == json) {
@@ -111,12 +113,12 @@ public class ParameterRequestWrapper extends HttpServletRequestWrapper {
111 113
 
112 114
     }
113 115
 
114
-    *//**
116
+    /**
115 117
      * 删除body 参数
116 118
      *
117 119
      * @param name
118 120
      * @param value
119
-     *//*
121
+     */
120 122
     public void deleteParameterToBody(String key) {
121 123
         byte[] json = this.body;
122 124
         if (null == json) {
@@ -134,12 +136,12 @@ public class ParameterRequestWrapper extends HttpServletRequestWrapper {
134 136
     }
135 137
 
136 138
 
137
-    *//**
139
+    /**
138 140
      * body中参数解密
139 141
      *
140 142
      * @param json
141 143
      * @return
142
-     *//*
144
+     */
143 145
     private String getData(String json) {
144 146
         //加密,如果传过来的是加密数据,先解密,未加密直接返回原json
145 147
 //        if(StringUtils.isNotEmpty(json)){
@@ -155,12 +157,12 @@ public class ParameterRequestWrapper extends HttpServletRequestWrapper {
155 157
 
156 158
     }
157 159
 
158
-    *//**
160
+    /**
159 161
      * 获取body 参数
160 162
      *
161 163
      * @param request
162 164
      * @return
163
-     *//*
165
+     */
164 166
     public static String getPostData(HttpServletRequest request) {
165 167
         StringBuilder data = new StringBuilder();
166 168
         String line;
@@ -195,12 +197,12 @@ public class ParameterRequestWrapper extends HttpServletRequestWrapper {
195 197
         return new BufferedReader(new InputStreamReader(getInputStream()));
196 198
     }
197 199
 
198
-    *//**
200
+    /**
199 201
      * 在使用@RequestBody注解的时候,其实框架是调用了getInputStream()方法,所以我们要重写这个方法
200 202
      *
201 203
      * @return
202 204
      * @throws IOException
203
-     *//*
205
+     */
204 206
     @Override
205 207
     public ServletInputStream getInputStream() throws IOException {
206 208
         if (body == null) {
@@ -231,4 +233,3 @@ public class ParameterRequestWrapper extends HttpServletRequestWrapper {
231 233
     }
232 234
 
233 235
 }
234
-*/