jidj 5 роки тому
батько
коміт
55574ddb45

+ 10 - 4
pom.xml

@@ -50,10 +50,6 @@
50 50
 			<artifactId>spring-cloud-starter-config</artifactId>
51 51
 		</dependency>
52 52
 		<dependency>
53
-        	<groupId>org.springframework.cloud</groupId>
54
-        	<artifactId>spring-cloud-starter-openfeign</artifactId>
55
-        </dependency>
56
-		<dependency>
57 53
 			<groupId>org.apache.commons</groupId>
58 54
 			<artifactId>commons-lang3</artifactId>
59 55
 			<version>3.7</version>
@@ -109,6 +105,16 @@
109 105
 			<artifactId>spring-boot-starter-test</artifactId>
110 106
 			<scope>test</scope>
111 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 118
 		<!-- 加载mybatis逆向生成工具包 -->
113 119
         <dependency>
114 120
 		    <groupId>org.mybatis.generator</groupId>

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

@@ -1,5 +1,6 @@
1 1
 package com.chinaitop;
2 2
 
3
+import com.github.pagehelper.autoconfigure.PageHelperAutoConfiguration;
3 4
 import org.mybatis.spring.annotation.MapperScan;
4 5
 import org.springframework.boot.SpringApplication;
5 6
 import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -8,9 +9,9 @@ import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
8 9
 import org.springframework.cloud.openfeign.EnableFeignClients;
9 10
 
10 11
 @EnableEurekaClient
11
-@EnableDiscoveryClient
12 12
 @EnableFeignClients
13
-@SpringBootApplication
13
+@EnableDiscoveryClient
14
+@SpringBootApplication(exclude = PageHelperAutoConfiguration.class)//配置mybatis的配置文件使用,否则报多个分页插件
14 15
 @MapperScan(basePackages = {"com.chinaitop.depot.*.mapper"})
15 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 3
 import java.util.Map;
4 4
 
5 5
 import org.springframework.cloud.openfeign.FeignClient;
6
+import org.springframework.http.MediaType;
6 7
 import org.springframework.web.bind.annotation.RequestMapping;
7 8
 import org.springframework.web.bind.annotation.RequestMethod;
8 9
 import org.springframework.web.bind.annotation.RequestParam;
@@ -16,4 +17,9 @@ public interface FeignBasicService {
16 17
 
17 18
     @RequestMapping(value = "/Storehouse/getStoreDataByHouseId", method = RequestMethod.GET)
18 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 1
 package com.chinaitop.depot.storage.service.impl;
2 2
 
3
-
4 3
 import com.chinaitop.depot.storage.mapper.StorageFoodbasicInfoCheckMapper;
5 4
 import com.chinaitop.depot.storage.mapper.StorageFoodbasicinfoMapper;
6 5
 import com.chinaitop.depot.storage.mapper.StorageQualitycheckMapper;
7 6
 import com.chinaitop.depot.storage.model.*;
8 7
 import com.chinaitop.depot.storage.model.vo.StorageQualitycheckVo;
8
+import com.chinaitop.depot.storage.service.FeignBasicService;
9 9
 import com.chinaitop.depot.storage.service.StorageFoodbasicInfoLocationService;
10 10
 import com.chinaitop.depot.storage.service.StorageFoodbasicInfoService;
11 11
 import com.chinaitop.depot.storage.utils.ParameterUtil;
@@ -36,6 +36,10 @@ public class StorageFoodbasicInfoServiceImpl implements StorageFoodbasicInfoServ
36 36
     @Resource
37 37
     private StorageFoodbasicInfoLocationService foodbasicInfoLocationService;
38 38
 
39
+    //远程调用
40
+    @Resource
41
+    private FeignBasicService whouseFeignClient;
42
+
39 43
     @Value("${web.upload-path}")
40 44
     private String rootPath;
41 45
 
@@ -81,6 +85,9 @@ public class StorageFoodbasicInfoServiceImpl implements StorageFoodbasicInfoServ
81 85
         StorageQualitycheck qualitycheckData =qualitycheckMapper.queryPrimaryKey(qualitycheckVo.getQualitycheckId());
82 86
         qualitycheck = qualitycheckData;
83 87
 
88
+        //更新或为状态
89
+        whouseFeignClient.updateWarehouseCrkStatus(qualitycheck.getWarehouseId(),"3");
90
+
84 91
         if(qualitycheck != null){
85 92
             foodbasicInfo.setWater(qualitycheck.getWater());//水分
86 93
             foodbasicInfo.setImpurity(qualitycheck.getImpurity());//杂质
@@ -131,7 +138,6 @@ public class StorageFoodbasicInfoServiceImpl implements StorageFoodbasicInfoServ
131 138
 
132 139
         foodbasicInfo.setHistoryStatus(0);//0:最新数据  1:历史数据
133 140
 
134
-
135 141
         qualitycheck.setHistoryStatus(0);//0:最新数据  1:历史数据
136 142
 
137 143
         //生成库存识别码 图片img set进去

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

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