diff --git a/maven-cw-elevator-application/deploy/v2-maven/application.properties b/maven-cw-elevator-application/deploy/v2-maven/application.properties index 6f1acbb8..c99b7306 100644 --- a/maven-cw-elevator-application/deploy/v2-maven/application.properties +++ b/maven-cw-elevator-application/deploy/v2-maven/application.properties @@ -89,6 +89,8 @@ ninca-crk-std.ribbon.NIWSServerListClassName=com.netflix.loadbalancer.Configurat ninca-crk-std.ribbon.listOfServers=10.128.161.95:16106 feign.davinci-portal.name=cwos-portal feign.component-organization.name=ninca-common-component-organization +ninca-common-component-organization.ribbon.NIWSServerListClassName=com.netflix.loadbalancer.ConfigurationBasedServerList +ninca-common-component-organization.ribbon.listOfServers=127.0.0.1:33011 feign.ninca-common.name=ninca-common feign.mqtt.name=cloudwalk-device-thirdparty # CWOS\u4E8B\u4EF6\u914D\u7F6E diff --git a/maven-intelligent-cwoscomponent/intelligent-cwoscomponent-rest/src/main/java/cn/cloudwalk/rest/cwoscomponent/intelligent/person/feign/PersonFeignClient.java b/maven-intelligent-cwoscomponent/intelligent-cwoscomponent-rest/src/main/java/cn/cloudwalk/rest/cwoscomponent/intelligent/person/feign/PersonFeignClient.java index 855aa6f4..39752866 100644 --- a/maven-intelligent-cwoscomponent/intelligent-cwoscomponent-rest/src/main/java/cn/cloudwalk/rest/cwoscomponent/intelligent/person/feign/PersonFeignClient.java +++ b/maven-intelligent-cwoscomponent/intelligent-cwoscomponent-rest/src/main/java/cn/cloudwalk/rest/cwoscomponent/intelligent/person/feign/PersonFeignClient.java @@ -16,7 +16,8 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; -@FeignClient(name = "${feign.component-organization.name:ninca-common-component-organization}", +@FeignClient(name = "ninca-common-component-organization", + url = "http://127.0.0.1:33011", path = "/component/person", fallback = PersonFeignClientFallback.class) public interface PersonFeignClient { @RequestMapping(value = {"/add"}, method = {RequestMethod.POST}) diff --git a/scripts/test-env/stub-person-service.py b/scripts/test-env/stub-person-service.py new file mode 100644 index 00000000..d6ba7543 --- /dev/null +++ b/scripts/test-env/stub-person-service.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python3 +"""Stub: PersonResult format — floorList is a top-level field in data""" +from http.server import HTTPServer, BaseHTTPRequestHandler +import json, sys + +PERSON_DATA = { + "id": "1072908835884208128", "businessId": "2524639890ba4f2cba9ba1a4eeaa4015", + "personCode": "PC001", "name": "秦夏", "userName": "qinxia", "phone": "13666667067", + "organizationIds": ["488b8ad049bb43408a6fbcc50bcb89ac"], + "organizationNames": ["广发基金"], + "labelIds": [], "labelNames": [], + "floorList": ["605560541473144832", "605560541657694208", "605560542911791104"], + "defaultFloor": "605560541473144832", + "status": 0, "isDel": 0 +} + +class PersonStub(BaseHTTPRequestHandler): + def log_message(self, f, *a): print(f"[stub] {a}", file=sys.stderr) + + def do_POST(self): + body_len = int(self.headers.get('Content-Length', 0)) + body = json.loads(self.rfile.read(body_len)) if body_len > 0 else {} + if '/detail' in self.path: + resp = {"code": "00000000", "success": True, "message": "success", "data": PERSON_DATA} + else: + resp = {"code": "00000000", "success": True, "data": {"total": 0, "datas": []}} + self._json(resp) + + def do_GET(self): + self._json({"status": "UP"}) + + def _json(self, data): + resp = json.dumps(data, ensure_ascii=False).encode() + self.send_response(200) + self.send_header('Content-Type', 'application/json;charset=utf-8') + self.send_header('Content-Length', str(len(resp))) + self.end_headers() + self.wfile.write(resp) + +port = int(sys.argv[1]) if len(sys.argv) > 1 else 33011 +HTTPServer(('127.0.0.1', port), PersonStub).serve_forever()