diff --git a/api-udims/pom.xml b/api-udims/pom.xml
index 7ccab1c..bfb4d84 100644
--- a/api-udims/pom.xml
+++ b/api-udims/pom.xml
@@ -10,7 +10,9 @@
4.0.0
war
api-udims
-
+
+ 11.0
+
@@ -159,7 +161,21 @@
-
+
+ io.github.openfeign
+ feign-core
+ ${openfegin.version}
+
+
+ io.github.openfeign
+ feign-gson
+ ${openfegin.version}
+
+
+ io.github.openfeign
+ feign-jackson
+ ${openfegin.version}
+
diff --git a/api-udims/src/main/java/com/glxp/udi/admin/config/FeignConfiguration.java b/api-udims/src/main/java/com/glxp/udi/admin/config/FeignConfiguration.java
new file mode 100644
index 0000000..9cd7f07
--- /dev/null
+++ b/api-udims/src/main/java/com/glxp/udi/admin/config/FeignConfiguration.java
@@ -0,0 +1,47 @@
+package com.glxp.udi.admin.config;
+
+import com.glxp.udi.admin.service.udidl.UdidlService;
+import com.google.gson.JsonDeserializationContext;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonSerializationContext;
+import feign.Contract;
+import feign.Feign;
+import feign.Request;
+import feign.Retryer;
+import feign.jackson.JacksonDecoder;
+import feign.jackson.JacksonEncoder;
+import lombok.val;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.concurrent.TimeUnit;
+
+@Configuration
+public class FeignConfiguration {
+ @Autowired
+ private GlobalConfig globalConfig;
+ @Bean
+ public Contract feignContract() {
+ return new Contract.Default();
+ }
+ @Bean
+ public UdidlService connect(){
+ return Feign.builder()
+ .encoder(new JacksonEncoder())
+ .decoder(new JacksonDecoder())
+ .options(this.options())
+ .retryer(new Retryer.Default(5000,5000,3))
+ .requestInterceptor(template -> template.header("Content-Type","application/json").
+ header("key",globalConfig.getUDI_SERVER_Key()))
+ .target(UdidlService.class,globalConfig.getUDI_SERVER_URL());
+ }
+ private Request.Options options(){
+ return new Request.Options(globalConfig.getUDI_SERVER_ConnectTimeout(), TimeUnit.SECONDS,
+ globalConfig.getUDI_SERVER_ReadTimeout(),TimeUnit.SECONDS,globalConfig.isUDI_SERVER_FollowRedirects());
+ }
+
+
+}
diff --git a/api-udims/src/main/java/com/glxp/udi/admin/config/GlobalConfig.java b/api-udims/src/main/java/com/glxp/udi/admin/config/GlobalConfig.java
new file mode 100644
index 0000000..b517fd4
--- /dev/null
+++ b/api-udims/src/main/java/com/glxp/udi/admin/config/GlobalConfig.java
@@ -0,0 +1,20 @@
+package com.glxp.udi.admin.config;
+
+import lombok.Data;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+@Component
+@Data
+public class GlobalConfig {
+ @Value("${UDI_SERVER.url}")
+ private String UDI_SERVER_URL;
+ @Value("${UDI_SERVER.connectTimeout}")
+ private int UDI_SERVER_ConnectTimeout;
+ @Value("${UDI_SERVER.readTimeout}")
+ private int UDI_SERVER_ReadTimeout;
+ @Value("${UDI_SERVER.followRedirects}")
+ private boolean UDI_SERVER_FollowRedirects;
+ @Value("${UDI_SERVER.key}")
+ private String UDI_SERVER_Key;
+}
diff --git a/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/FileInfoController.java b/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/FileInfoController.java
new file mode 100644
index 0000000..3128485
--- /dev/null
+++ b/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/FileInfoController.java
@@ -0,0 +1,34 @@
+package com.glxp.udi.admin.controller.udidl;
+
+import com.glxp.udi.admin.annotation.AuthRuleAnnotation;
+import com.glxp.udi.admin.req.ListPageRequest;
+import com.glxp.udi.admin.req.feign.DateRange;
+import com.glxp.udi.admin.service.udidl.UdidlService;
+import com.glxp.udi.admin.util.DateUtil;
+import com.glxp.udi.common.res.BaseResponse;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Date;
+
+@RestController
+@RequestMapping("/file")
+public class FileInfoController {
+ @Autowired
+ UdidlService udidlService;
+
+ @AuthRuleAnnotation("")
+ @PostMapping("/getlist")
+ public BaseResponse getList(@RequestBody ListPageRequest param) {
+ return udidlService.file_getList(param);
+ }
+ @AuthRuleAnnotation("")
+ @PostMapping("/exportToFile")
+ public BaseResponse exportToFile(@DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate, @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate) {
+ return udidlService.exportToFile(new DateRange(startDate,endDate));
+ }
+}
diff --git a/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/JobLogController.java b/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/JobLogController.java
new file mode 100644
index 0000000..53f32f3
--- /dev/null
+++ b/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/JobLogController.java
@@ -0,0 +1,25 @@
+package com.glxp.udi.admin.controller.udidl;
+
+import com.glxp.udi.admin.annotation.AuthRuleAnnotation;
+import com.glxp.udi.admin.req.feign.JobLogFilterRequest;
+import com.glxp.udi.admin.service.udidl.UdidlService;
+import com.glxp.udi.common.res.BaseResponse;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+@RestController
+@RequestMapping("/jobLog")
+public class JobLogController {
+ @Resource
+ UdidlService udidlService;
+
+ @AuthRuleAnnotation("")
+ @PostMapping("/list")
+ public BaseResponse getList(@RequestBody JobLogFilterRequest jobLogFilterRequest){
+ return udidlService.jobLog_getList(jobLogFilterRequest);
+ }
+}
diff --git a/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdidlDeviceController.java b/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdidlDeviceController.java
new file mode 100644
index 0000000..2027dd1
--- /dev/null
+++ b/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdidlDeviceController.java
@@ -0,0 +1,52 @@
+package com.glxp.udi.admin.controller.udidl;
+
+import com.glxp.udi.admin.annotation.AuthRuleAnnotation;
+import com.glxp.udi.admin.req.feign.DateRange;
+import com.glxp.udi.admin.service.udidl.UdidlService;
+import com.glxp.udi.common.res.BaseResponse;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.Date;
+
+@RestController
+public class UdidlDeviceController {
+ @Resource
+ UdidlService udidlService;
+
+ @AuthRuleAnnotation("")
+ @GetMapping("udidl/device/dlByDays")
+ public BaseResponse dlByDays(@DateTimeFormat(pattern = "yyyy-MM-dd") Date startDate, @DateTimeFormat(pattern = "yyyy-MM-dd") Date endDate) {
+ return udidlService.dlByDays(new DateRange(startDate,endDate));
+ }
+ @AuthRuleAnnotation("")
+ @GetMapping("udidl/device/dlByDay")
+ public String dlByDay(String day) {
+ return udidlService.dlByDay(day);
+ }
+ @AuthRuleAnnotation("")
+ @PostMapping("udidl/device/dlByDi")
+ public BaseResponse downloadByDi(String deviceId) {
+ return udidlService.downloadByDi(deviceId);
+ }
+
+ /**
+ * 获取产品标识详情
+ *
+ * @param deviceId
+ * @return
+ */
+ @AuthRuleAnnotation("")
+ @PostMapping("udidl/device/downloadSingle")
+ public BaseResponse downloadSingle(String deviceId) {
+ return udidlService.downloadSingle(deviceId);
+ }
+ @AuthRuleAnnotation("")
+ @PostMapping("udidl/device/downloadHistory")
+ public BaseResponse downloadHistory(String key) {
+ return udidlService.downloadHistory(key);
+ }
+}
diff --git a/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatDistributorController.java b/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatDistributorController.java
new file mode 100644
index 0000000..0c4908d
--- /dev/null
+++ b/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatDistributorController.java
@@ -0,0 +1,23 @@
+package com.glxp.udi.admin.controller.udidl;
+
+import com.glxp.udi.admin.annotation.AuthRuleAnnotation;
+import com.glxp.udi.admin.req.feign.BaseParam;
+import com.glxp.udi.admin.service.udidl.UdidlService;
+import com.glxp.udi.common.res.BaseResponse;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+@RestController
+public class UdplatDistributorController {
+ @Resource
+ UdidlService udidlService;
+
+ @AuthRuleAnnotation("")
+ @PostMapping("/udplat/distributor/list")
+ public BaseResponse getList(@RequestBody BaseParam param){
+ return udidlService.udplatDistributor_getList(param);
+ }
+}
diff --git a/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatGoodsController.java b/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatGoodsController.java
new file mode 100644
index 0000000..05c0a1b
--- /dev/null
+++ b/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatGoodsController.java
@@ -0,0 +1,23 @@
+package com.glxp.udi.admin.controller.udidl;
+
+import com.glxp.udi.admin.annotation.AuthRuleAnnotation;
+import com.glxp.udi.admin.req.feign.BaseParam;
+import com.glxp.udi.admin.service.udidl.UdidlService;
+import com.glxp.udi.common.res.BaseResponse;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+@RestController
+public class UdplatGoodsController {
+ @Resource
+ UdidlService udidlService;
+
+ @AuthRuleAnnotation("")
+ @PostMapping("/udplat/goods/list")
+ public BaseResponse getList(@RequestBody BaseParam param){
+ return udidlService.udplatGoods_getList(param);
+ }
+}
diff --git a/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatHospitalController.java b/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatHospitalController.java
new file mode 100644
index 0000000..eca4b7d
--- /dev/null
+++ b/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatHospitalController.java
@@ -0,0 +1,23 @@
+package com.glxp.udi.admin.controller.udidl;
+
+import com.glxp.udi.admin.annotation.AuthRuleAnnotation;
+import com.glxp.udi.admin.req.feign.BaseParam;
+import com.glxp.udi.admin.service.udidl.UdidlService;
+import com.glxp.udi.common.res.BaseResponse;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+@RestController
+public class UdplatHospitalController {
+ @Resource
+ UdidlService udidlService;
+
+ @AuthRuleAnnotation("")
+ @PostMapping("udplat/hospital/list")
+ public BaseResponse getList(@RequestBody BaseParam param){
+ return udidlService.udplatHospital_getList(param);
+ }
+}
diff --git a/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatLogController.java b/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatLogController.java
new file mode 100644
index 0000000..519cde7
--- /dev/null
+++ b/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatLogController.java
@@ -0,0 +1,24 @@
+package com.glxp.udi.admin.controller.udidl;
+
+import com.glxp.udi.admin.annotation.AuthRuleAnnotation;
+import com.glxp.udi.admin.req.feign.BaseParam;
+import com.glxp.udi.admin.req.feign.JobLogFilterRequest;
+import com.glxp.udi.admin.service.udidl.UdidlService;
+import com.glxp.udi.common.res.BaseResponse;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+@RestController
+public class UdplatLogController {
+ @Resource
+ UdidlService udidlService;
+
+ @AuthRuleAnnotation("")
+ @PostMapping("udplat/log/list")
+ public BaseResponse getList(@RequestBody JobLogFilterRequest param){
+ return udidlService.udplatLog_getList(param);
+ }
+}
diff --git a/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatManufactureController.java b/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatManufactureController.java
new file mode 100644
index 0000000..ab4ac5e
--- /dev/null
+++ b/api-udims/src/main/java/com/glxp/udi/admin/controller/udidl/UdplatManufactureController.java
@@ -0,0 +1,23 @@
+package com.glxp.udi.admin.controller.udidl;
+
+import com.glxp.udi.admin.annotation.AuthRuleAnnotation;
+import com.glxp.udi.admin.req.feign.BaseParam;
+import com.glxp.udi.admin.service.udidl.UdidlService;
+import com.glxp.udi.common.res.BaseResponse;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+@RestController
+public class UdplatManufactureController {
+ @Resource
+ UdidlService udidlService;
+
+ @AuthRuleAnnotation("")
+ @PostMapping("udplat/manufacture/list")
+ public BaseResponse getList(@RequestBody BaseParam param){
+ return udidlService.udplatManufacture_getList(param);
+ }
+}
diff --git a/api-udims/src/main/java/com/glxp/udi/admin/req/feign/BaseParam.java b/api-udims/src/main/java/com/glxp/udi/admin/req/feign/BaseParam.java
new file mode 100644
index 0000000..bd4c553
--- /dev/null
+++ b/api-udims/src/main/java/com/glxp/udi/admin/req/feign/BaseParam.java
@@ -0,0 +1,12 @@
+package com.glxp.udi.admin.req.feign;
+
+import com.glxp.udi.admin.req.ListPageRequest;
+import lombok.Data;
+
+
+@Data
+public class BaseParam extends ListPageRequest {
+ private String startDate;//开始日期
+ private String endDate;//结束日期
+ private String name;//名称,支持模糊查询
+}
diff --git a/api-udims/src/main/java/com/glxp/udi/admin/req/feign/DateRange.java b/api-udims/src/main/java/com/glxp/udi/admin/req/feign/DateRange.java
new file mode 100644
index 0000000..39e3a42
--- /dev/null
+++ b/api-udims/src/main/java/com/glxp/udi/admin/req/feign/DateRange.java
@@ -0,0 +1,23 @@
+package com.glxp.udi.admin.req.feign;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.glxp.udi.admin.util.DateUtil;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class DateRange {
+ /*@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @JsonDeserialize(using = LocalDateTimeDeserializer.class)*/
+ private String startDate;
+ /*@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @JsonDeserialize(using = LocalDateTimeDeserializer.class)*/
+ private String endDate;
+ public DateRange(Date date0,Date date1){
+ this.startDate = DateUtil.formatDate(date0);
+ this.endDate = DateUtil.formatDate(date1);
+ }
+}
diff --git a/api-udims/src/main/java/com/glxp/udi/admin/req/feign/JobLogFilterRequest.java b/api-udims/src/main/java/com/glxp/udi/admin/req/feign/JobLogFilterRequest.java
new file mode 100644
index 0000000..2255296
--- /dev/null
+++ b/api-udims/src/main/java/com/glxp/udi/admin/req/feign/JobLogFilterRequest.java
@@ -0,0 +1,12 @@
+package com.glxp.udi.admin.req.feign;
+
+import com.glxp.udi.admin.req.ListPageRequest;
+import lombok.Data;
+
+@Data
+public class JobLogFilterRequest extends ListPageRequest {
+ private String type;
+ private String downloadType;
+ private String startDate;
+ private String endDate;
+}
diff --git a/api-udims/src/main/java/com/glxp/udi/admin/service/udidl/UdidlService.java b/api-udims/src/main/java/com/glxp/udi/admin/service/udidl/UdidlService.java
new file mode 100644
index 0000000..5e3ae31
--- /dev/null
+++ b/api-udims/src/main/java/com/glxp/udi/admin/service/udidl/UdidlService.java
@@ -0,0 +1,84 @@
+package com.glxp.udi.admin.service.udidl;
+
+import com.glxp.udi.admin.annotation.AuthRuleAnnotation;
+import com.glxp.udi.admin.req.ListPageRequest;
+import com.glxp.udi.admin.req.feign.BaseParam;
+import com.glxp.udi.admin.req.feign.DateRange;
+import com.glxp.udi.admin.req.feign.JobLogFilterRequest;
+import com.glxp.udi.common.res.BaseResponse;
+import feign.QueryMap;
+import feign.RequestLine;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.Date;
+
+public interface UdidlService {
+ //
+ @RequestLine("POST /jobLog/list")
+ BaseResponse jobLog_getList(@RequestBody JobLogFilterRequest jobLogFilterRequest);
+ @RequestLine("GET /udidl/device/dlByDays")
+ BaseResponse dlByDays(@QueryMap DateRange dateRange);
+ @RequestLine("GET /udidl/device/dlByDay")
+ String dlByDay(String day);
+ @RequestLine("POST /udidl/device/dlByDi")
+ BaseResponse downloadByDi(String deviceId);
+ @RequestLine("POST /udidl/device/downloadSingle")
+ BaseResponse downloadSingle(String deviceId) ;
+ @RequestLine("POST /udidl/device/downloadHistory")
+ BaseResponse downloadHistory(String key) ;
+ //
+
+ //
+ @RequestLine("POST /file/getlist")
+ BaseResponse file_getList(@RequestBody ListPageRequest param);
+ @RequestLine("POST /file/exportToFile")
+ BaseResponse exportToFile(@QueryMap DateRange dateRange);
+ //
+
+ //
+
+ /**
+ * 配送企业查询
+ * @param param
+ * @return
+ */
+ @RequestLine("POST /udplat/distributor/list")
+ BaseResponse udplatDistributor_getList(@RequestBody BaseParam param);
+
+ /**
+ * 目录清单查询
+ * @param param
+ * @return
+ */
+ @RequestLine("POST /udplat/goods/list")
+ BaseResponse udplatGoods_getList(@RequestBody BaseParam param);
+
+ /**
+ * 医疗机构查询
+ * @param param
+ * @return
+ */
+ @RequestLine("POST /udplat/hospital/list")
+ BaseResponse udplatHospital_getList(@RequestBody BaseParam param);
+
+ /**
+ * 生产企业查询
+ * @param param
+ * @return
+ */
+ @RequestLine("POST /udplat/manufacture/list")
+ BaseResponse udplatManufacture_getList(@RequestBody BaseParam param);
+
+ /**
+ * 日志查询
+ * @param param
+ * @return
+ */
+ @RequestLine("POST /udplat/log/list")
+ BaseResponse udplatLog_getList(@RequestBody JobLogFilterRequest param);
+
+ //
+}
diff --git a/api-udims/src/main/resources/application-pro.properties b/api-udims/src/main/resources/application-pro.properties
index 9969d11..dd6f574 100644
--- a/api-udims/src/main/resources/application-pro.properties
+++ b/api-udims/src/main/resources/application-pro.properties
@@ -3,8 +3,8 @@ server.port=9995
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.jdbc-url=jdbc:mysql://127.0.0.1:3306/udims?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
spring.datasource.username=root
-spring.datasource.password=mysql@2020
-#spring.datasource.password=123456
+#spring.datasource.password=mysql@2020
+spring.datasource.password=123456
server.servlet.context-path=
spring.data.mongodb.database=udiwms
spring.data.mongodb.username=root
@@ -24,3 +24,9 @@ UDIC_MIPSDOWNLOAD_URL=http://127.0.0.1:8080/UDIC_MIPSDL_Server
UCLOD_SERVER_URL=http://127.0.0.1:9997
UDI_SERVER_URL=https://www.udims.com/UDI_DL_Server
COOR_UPLOAD_ORDER=http://127.0.0.1:9987/udi/upload
+#同步库接口调用地址相关信息 https://www.udims.com/UDI_DL_Server_test
+UDI_SERVER.url= http://localhost:9994
+UDI_SERVER.connectTimeout=2000
+UDI_SERVER.readTimeout=3500
+UDI_SERVER.followRedirects=true
+UDI_SERVER.key=17fbb8f8782c11ecaec9902e16f86c51