jidj 5 anni fa
parent
commit
55574ddb45

+ 10 - 4
pom.xml

@@ -50,10 +50,6 @@
50
 			<artifactId>spring-cloud-starter-config</artifactId>
50
 			<artifactId>spring-cloud-starter-config</artifactId>
51
 		</dependency>
51
 		</dependency>
52
 		<dependency>
52
 		<dependency>
53
-        	<groupId>org.springframework.cloud</groupId>
54
-        	<artifactId>spring-cloud-starter-openfeign</artifactId>
55
-        </dependency>
56
-		<dependency>
57
 			<groupId>org.apache.commons</groupId>
53
 			<groupId>org.apache.commons</groupId>
58
 			<artifactId>commons-lang3</artifactId>
54
 			<artifactId>commons-lang3</artifactId>
59
 			<version>3.7</version>
55
 			<version>3.7</version>
@@ -109,6 +105,16 @@
109
 			<artifactId>spring-boot-starter-test</artifactId>
105
 			<artifactId>spring-boot-starter-test</artifactId>
110
 			<scope>test</scope>
106
 			<scope>test</scope>
111
 		</dependency>
107
 		</dependency>
108
+		<!-- feign -->
109
+		<dependency>
110
+			<groupId>org.springframework.cloud</groupId>
111
+			<artifactId>spring-cloud-starter-openfeign</artifactId>
112
+		</dependency>
113
+		<!-- hystrix 熔断-->
114
+		<dependency>
115
+			<groupId>org.springframework.cloud</groupId>
116
+			<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
117
+		</dependency>
112
 		<!-- 加载mybatis逆向生成工具包 -->
118
 		<!-- 加载mybatis逆向生成工具包 -->
113
         <dependency>
119
         <dependency>
114
 		    <groupId>org.mybatis.generator</groupId>
120
 		    <groupId>org.mybatis.generator</groupId>

+ 3 - 2
src/main/java/com/chinaitop/DepotQualitycheckApplication.java

@@ -1,5 +1,6 @@
1
 package com.chinaitop;
1
 package com.chinaitop;
2
 
2
 
3
+import com.github.pagehelper.autoconfigure.PageHelperAutoConfiguration;
3
 import org.mybatis.spring.annotation.MapperScan;
4
 import org.mybatis.spring.annotation.MapperScan;
4
 import org.springframework.boot.SpringApplication;
5
 import org.springframework.boot.SpringApplication;
5
 import org.springframework.boot.autoconfigure.SpringBootApplication;
6
 import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -8,9 +9,9 @@ import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
8
 import org.springframework.cloud.openfeign.EnableFeignClients;
9
 import org.springframework.cloud.openfeign.EnableFeignClients;
9
 
10
 
10
 @EnableEurekaClient
11
 @EnableEurekaClient
11
-@EnableDiscoveryClient
12
 @EnableFeignClients
12
 @EnableFeignClients
13
-@SpringBootApplication
13
+@EnableDiscoveryClient
14
+@SpringBootApplication(exclude = PageHelperAutoConfiguration.class)//配置mybatis的配置文件使用,否则报多个分页插件
14
 @MapperScan(basePackages = {"com.chinaitop.depot.*.mapper"})
15
 @MapperScan(basePackages = {"com.chinaitop.depot.*.mapper"})
15
 public class DepotQualitycheckApplication {
16
 public class DepotQualitycheckApplication {
16
 
17
 

+ 33 - 0
src/main/java/com/chinaitop/HystrixClientFallback.java

@@ -0,0 +1,33 @@
1
+package com.chinaitop;
2
+
3
+import com.chinaitop.depot.storage.service.FeignBasicService;
4
+import org.slf4j.Logger;
5
+import org.slf4j.LoggerFactory;
6
+import org.springframework.stereotype.Component;
7
+
8
+import java.util.Map;
9
+
10
+/**
11
+ * @author qingsong.han
12
+ * @description:
13
+ * @create 2020-07-20 15:16
14
+ */
15
+@Component
16
+public class HystrixClientFallback implements FeignBasicService {
17
+    private final static Logger logger = LoggerFactory.getLogger(HystrixClientFallback.class);
18
+
19
+    @Override
20
+    public Map<String, Object> getWareDataByHwbm(String hwbm) {
21
+        return null;
22
+    }
23
+
24
+    @Override
25
+    public Map<String, Object> getStoreDataByHouseId(int houseId) {
26
+        return null;
27
+    }
28
+
29
+    @Override
30
+    public void updateWarehouseCrkStatus(Integer wareId, String crk_status) {
31
+        logger.info("warehouseId: " + wareId + "warehouseStatus" + crk_status);
32
+    }
33
+}

+ 6 - 0
src/main/java/com/chinaitop/depot/storage/service/FeignBasicService.java

@@ -3,6 +3,7 @@ package com.chinaitop.depot.storage.service;
3
 import java.util.Map;
3
 import java.util.Map;
4
 
4
 
5
 import org.springframework.cloud.openfeign.FeignClient;
5
 import org.springframework.cloud.openfeign.FeignClient;
6
+import org.springframework.http.MediaType;
6
 import org.springframework.web.bind.annotation.RequestMapping;
7
 import org.springframework.web.bind.annotation.RequestMapping;
7
 import org.springframework.web.bind.annotation.RequestMethod;
8
 import org.springframework.web.bind.annotation.RequestMethod;
8
 import org.springframework.web.bind.annotation.RequestParam;
9
 import org.springframework.web.bind.annotation.RequestParam;
@@ -16,4 +17,9 @@ public interface FeignBasicService {
16
 
17
 
17
     @RequestMapping(value = "/Storehouse/getStoreDataByHouseId", method = RequestMethod.GET)
18
     @RequestMapping(value = "/Storehouse/getStoreDataByHouseId", method = RequestMethod.GET)
18
     Map<String, Object> getStoreDataByHouseId(@RequestParam(value = "houseId") int houseId);
19
     Map<String, Object> getStoreDataByHouseId(@RequestParam(value = "houseId") int houseId);
20
+
21
+    //远程调用,更新货位状态
22
+    @RequestMapping(value = "/Warehouse/updateWarehouseCrkStatus", method = RequestMethod.POST)
23
+    void updateWarehouseCrkStatus(@RequestParam(value = "wareId")Integer wareId, @RequestParam(value = "crk_status")String crk_status);
24
+
19
 }
25
 }

+ 8 - 2
src/main/java/com/chinaitop/depot/storage/service/impl/StorageFoodbasicInfoServiceImpl.java

@@ -1,11 +1,11 @@
1
 package com.chinaitop.depot.storage.service.impl;
1
 package com.chinaitop.depot.storage.service.impl;
2
 
2
 
3
-
4
 import com.chinaitop.depot.storage.mapper.StorageFoodbasicInfoCheckMapper;
3
 import com.chinaitop.depot.storage.mapper.StorageFoodbasicInfoCheckMapper;
5
 import com.chinaitop.depot.storage.mapper.StorageFoodbasicinfoMapper;
4
 import com.chinaitop.depot.storage.mapper.StorageFoodbasicinfoMapper;
6
 import com.chinaitop.depot.storage.mapper.StorageQualitycheckMapper;
5
 import com.chinaitop.depot.storage.mapper.StorageQualitycheckMapper;
7
 import com.chinaitop.depot.storage.model.*;
6
 import com.chinaitop.depot.storage.model.*;
8
 import com.chinaitop.depot.storage.model.vo.StorageQualitycheckVo;
7
 import com.chinaitop.depot.storage.model.vo.StorageQualitycheckVo;
8
+import com.chinaitop.depot.storage.service.FeignBasicService;
9
 import com.chinaitop.depot.storage.service.StorageFoodbasicInfoLocationService;
9
 import com.chinaitop.depot.storage.service.StorageFoodbasicInfoLocationService;
10
 import com.chinaitop.depot.storage.service.StorageFoodbasicInfoService;
10
 import com.chinaitop.depot.storage.service.StorageFoodbasicInfoService;
11
 import com.chinaitop.depot.storage.utils.ParameterUtil;
11
 import com.chinaitop.depot.storage.utils.ParameterUtil;
@@ -36,6 +36,10 @@ public class StorageFoodbasicInfoServiceImpl implements StorageFoodbasicInfoServ
36
     @Resource
36
     @Resource
37
     private StorageFoodbasicInfoLocationService foodbasicInfoLocationService;
37
     private StorageFoodbasicInfoLocationService foodbasicInfoLocationService;
38
 
38
 
39
+    //远程调用
40
+    @Resource
41
+    private FeignBasicService whouseFeignClient;
42
+
39
     @Value("${web.upload-path}")
43
     @Value("${web.upload-path}")
40
     private String rootPath;
44
     private String rootPath;
41
 
45
 
@@ -81,6 +85,9 @@ public class StorageFoodbasicInfoServiceImpl implements StorageFoodbasicInfoServ
81
         StorageQualitycheck qualitycheckData =qualitycheckMapper.queryPrimaryKey(qualitycheckVo.getQualitycheckId());
85
         StorageQualitycheck qualitycheckData =qualitycheckMapper.queryPrimaryKey(qualitycheckVo.getQualitycheckId());
82
         qualitycheck = qualitycheckData;
86
         qualitycheck = qualitycheckData;
83
 
87
 
88
+        //更新或为状态
89
+        whouseFeignClient.updateWarehouseCrkStatus(qualitycheck.getWarehouseId(),"3");
90
+
84
         if(qualitycheck != null){
91
         if(qualitycheck != null){
85
             foodbasicInfo.setWater(qualitycheck.getWater());//水分
92
             foodbasicInfo.setWater(qualitycheck.getWater());//水分
86
             foodbasicInfo.setImpurity(qualitycheck.getImpurity());//杂质
93
             foodbasicInfo.setImpurity(qualitycheck.getImpurity());//杂质
@@ -131,7 +138,6 @@ public class StorageFoodbasicInfoServiceImpl implements StorageFoodbasicInfoServ
131
 
138
 
132
         foodbasicInfo.setHistoryStatus(0);//0:最新数据  1:历史数据
139
         foodbasicInfo.setHistoryStatus(0);//0:最新数据  1:历史数据
133
 
140
 
134
-
135
         qualitycheck.setHistoryStatus(0);//0:最新数据  1:历史数据
141
         qualitycheck.setHistoryStatus(0);//0:最新数据  1:历史数据
136
 
142
 
137
         //生成库存识别码 图片img set进去
143
         //生成库存识别码 图片img set进去

+ 5 - 1
src/main/resources/bootstrap.yml

@@ -14,7 +14,11 @@ eureka:
14
     lease-renewal-interval-in-seconds: 10
14
     lease-renewal-interval-in-seconds: 10
15
     # 告知服务端30秒还未收到心跳的话,就将该服务移除列表(默认90s)
15
     # 告知服务端30秒还未收到心跳的话,就将该服务移除列表(默认90s)
16
     lease-expiration-duration-in-seconds: 30
16
     lease-expiration-duration-in-seconds: 30
17
- 
17
+
18
+feign:
19
+  hystrix:
20
+    enabled: true # 开启Feign熔断
21
+---
18
 spring:
22
 spring:
19
   application:
23
   application:
20
     name: depot-qualitycheck
24
     name: depot-qualitycheck