igds-api-inte/src/main/java/com/ld/igds/wms/constant/WmsCodeEnum.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,42 @@ package com.ld.igds.wms.constant; /** * æ¦æ±é»éåç²®-ç«ä½åºæ¥å£-ååºç * * @author czt */ public enum WmsCodeEnum { WMS_CODE_0000("0000", "è¯·æ±æå"), WMS_CODE_1111("1111", "å端æå¡å¼å¸¸"), WMS_CODE_1001("1001", "æ æè®¿é®"), WMS_CODE_1002("1002", "åæ°æè¯¯"), WMS_CODE_1003("1003", "æ æ¤æ¥å£ä¿¡æ¯"), WMS_CODE_1004("1004", "é讯失败") ; private String code; private String msg; WmsCodeEnum(String code, String msg) { this.code = code; this.msg = msg; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } } igds-api-inte/src/main/java/com/ld/igds/wms/constant/WmsConstant.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,17 @@ package com.ld.igds.wms.constant; /** * æ¦æ±é»éåç²®-ç«ä½åºæ¥å£-æ¥å£ç¼ç * * @author czt */ public class WmsConstant { /** * ================= æ¥å£ç¼ç ================= */ public static final String API_WMS_1001 = "1001"; public static final String API_WMS_1002 = "1002"; public static final String API_WMS_1003 = "1003"; public static final String API_WMS_1004 = "1004"; } igds-api-inte/src/main/java/com/ld/igds/wms/controller/WmsController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,79 @@ package com.ld.igds.wms.controller; import com.alibaba.fastjson.JSONObject; import com.ld.igds.wms.constant.WmsCodeEnum; import com.ld.igds.wms.data.WmsRequest; import com.ld.igds.wms.data.WmsResponse; import com.ld.igds.wms.manager.WmsManager; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; /** * æ¦æ±é»éåç²®-ç«ä½åºæ¥å£ * * @author czt */ @Slf4j @RestController @RequestMapping("api/wms/v1") public class WmsController { @Autowired private WmsManager wmsManager; /** * ä¸å¡å ¥å£ * @param request * @return */ @ResponseBody @RequestMapping("/gateway") public WmsResponse gateway(@RequestBody WmsRequest<JSONObject> request) { log.info("-----ç«ä½åº-----æ¶å°çæ¶æ¯={}-----", request); //夿忰 if (null == request) { return new WmsResponse(WmsCodeEnum.WMS_CODE_1002.getCode(), WmsCodeEnum.WMS_CODE_1002.getMsg()); } //夿æ¥å£ç¼ç if (null == request.getInterfaceId()) { return new WmsResponse(WmsCodeEnum.WMS_CODE_1002.getCode(), WmsCodeEnum.WMS_CODE_1002.getMsg()); } //å¤ææ°æ® if (null == request.getData()) { return new WmsResponse(WmsCodeEnum.WMS_CODE_1002.getCode(), WmsCodeEnum.WMS_CODE_1002.getMsg()); } WmsResponse result; try{ //弿¥å¤çï¼å线ç¨è§£æäºä»¶ final ExecutorService exec = Executors.newFixedThreadPool(1); Callable<String> call = new Callable<String>() { public String call() throws Exception { //æ§è¡ä¸å¡æä½ WmsResponse wmsResponse = wmsManager.execute(request); return wmsResponse.getMsg(); } }; exec.submit(call); exec.shutdown(); result = new WmsResponse(WmsCodeEnum.WMS_CODE_0000.getCode(), WmsCodeEnum.WMS_CODE_0000.getMsg()); }catch (Exception e){ log.error("----ç«ä½åºä¿¡æ¯è§£æå¼å¸¸={}-----", e.getLocalizedMessage()); //å端å¼å¸¸ result = new WmsResponse(WmsCodeEnum.WMS_CODE_1111.getCode(), WmsCodeEnum.WMS_CODE_1111.getMsg()); } return result; } } igds-api-inte/src/main/java/com/ld/igds/wms/data/WmsParam.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,74 @@ package com.ld.igds.wms.data; import lombok.Data; /** * æ¦æ±é»éåç²®-ç«ä½åºæ¥å£ * æ°æ®å°è£ * * @author czt */ @Data public class WmsParam { /** * ä»»å¡ç¼å· */ private String taskNo; /** * åå */ private String productName; /** * è§æ ¼ */ private String productType; /** * çäº§æ¥æ */ private String productDate; /** * æ¹æ¬¡ */ private String productBatch; /** * æ°é */ private String loadQuantity; /** * åºåºç±»ååºä½å */ private String fromLocationCode; /** * å ¥åºç±»ååºä½å */ private String toLocationCode; /** * ç§»åºç±»ååºä½å */ private String toPort; /** * æçç¼å· */ private String containerCode; /** * æ¯å¦åæ ¼ */ private String passOrNoPass; /** * ä»åºåç§° */ private String deptName; } igds-api-inte/src/main/java/com/ld/igds/wms/data/WmsRequest.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,34 @@ package com.ld.igds.wms.data; import lombok.Data; import java.io.Serializable; /** * æ¦æ±é»éåç²®-ç«ä½åºæ¥å£-请æ±åæ° * * @author czt */ @Data public class WmsRequest<T> implements Serializable { /** * */ private static final long serialVersionUID = 1L; /** * æ¥å£ç¼ç */ private String interfaceId; /** * è¯·æ±æ¶é´(yyyy-MM-dd HH:mm:ss) */ private String reqDateTime; /** * ä¸å¡æ°æ® */ private T data; } igds-api-inte/src/main/java/com/ld/igds/wms/data/WmsResponse.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,48 @@ package com.ld.igds.wms.data; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.io.Serializable; import java.util.Date; /** * æ¦æ±é»éåç²®-ç«ä½åºæ¥å£,ååºæ°æ®å°è£ * * @author czt */ @Data public class WmsResponse implements Serializable { /** * */ private static final long serialVersionUID = 1L; /** * ååºç¼ç */ private String code; /** * ååºä¿¡æ¯ */ private String msg; /** * ååºæ¶é´(yyyy-MM-dd HH:mm:ss) */ @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date resDateTime; public WmsResponse() { super(); } public WmsResponse(String code, String msg) { this.code = code; this.msg = msg; this.resDateTime = new Date(); } } igds-api-inte/src/main/java/com/ld/igds/wms/manager/WmsManager.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,54 @@ package com.ld.igds.wms.manager; import com.alibaba.fastjson.JSONObject; import com.ld.igds.wms.constant.WmsCodeEnum; import com.ld.igds.wms.data.WmsRequest; import com.ld.igds.wms.data.WmsResponse; import com.ld.igds.wms.service.WmsService; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.stereotype.Component; import java.util.HashMap; import java.util.Map; /** * æ¦æ±é»éåç²®-ç«ä½åºæ¥å£ * ä¸å¡æ¥å£åå * * @author czt */ @Component public class WmsManager implements ApplicationContextAware { private static Map<String, WmsService> serviceMap; @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { Map<String, WmsService> map = applicationContext.getBeansOfType(WmsService.class); serviceMap = new HashMap<>(); for (String key : map.keySet()) { serviceMap.put(map.get(key).getInterfaceId(), map.get(key)); } } /** * ä¸å¡æ§è¡å ¥å£ * @param req * @return * @throws Exception */ @SuppressWarnings("unchecked") public WmsResponse execute(WmsRequest<JSONObject> req) throws Exception{ WmsService service = serviceMap.get(req.getInterfaceId()); if(null == service){ //é讯失败 return new WmsResponse(WmsCodeEnum.WMS_CODE_1004.getCode(), WmsCodeEnum.WMS_CODE_1004.getMsg()); } return service.execute(req); } } igds-api-inte/src/main/java/com/ld/igds/wms/service/WmsService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,29 @@ package com.ld.igds.wms.service; import com.alibaba.fastjson.JSONObject; import com.ld.igds.wms.data.WmsRequest; import com.ld.igds.wms.data.WmsResponse; /** * æ¦æ±é»éåç²®-ç«ä½åºæ¥å£ * ä¸å¡æ¥å£åå * * @author czt */ public interface WmsService { /** * è·åæ¥å£ç¼ç * * @return */ public String getInterfaceId(); /** * ä¸å¡æ§è¡ * @param req * @return * @throws Exception */ public WmsResponse execute(WmsRequest<JSONObject> req) throws Exception; } igds-api-inte/src/main/java/com/ld/igds/wms/service/impl/WmsServiceImpl1001.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,39 @@ package com.ld.igds.wms.service.impl; import com.alibaba.fastjson.JSONObject; import com.ld.igds.wms.constant.WmsCodeEnum; import com.ld.igds.wms.constant.WmsConstant; import com.ld.igds.wms.data.WmsParam; import com.ld.igds.wms.data.WmsRequest; import com.ld.igds.wms.data.WmsResponse; import com.ld.igds.wms.service.WmsService; import org.springframework.stereotype.Service; /** * 1001-å ¥åº * * @author czt */ @Service public class WmsServiceImpl1001 implements WmsService { @Override public String getInterfaceId() { return WmsConstant.API_WMS_1001; } @SuppressWarnings("unchecked") @Override public WmsResponse execute(WmsRequest<JSONObject> req){ //转å请æ±åæ° WmsParam param = JSONObject.parseObject(req.getData().toString(), WmsParam.class); //TODO è§£ææ°æ® //è¯·æ±æå return new WmsResponse(WmsCodeEnum.WMS_CODE_0000.getCode(), WmsCodeEnum.WMS_CODE_0000.getMsg()); } } igds-api-inte/src/main/java/com/ld/igds/wms/service/impl/WmsServiceImpl1002.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,39 @@ package com.ld.igds.wms.service.impl; import com.alibaba.fastjson.JSONObject; import com.ld.igds.wms.constant.WmsCodeEnum; import com.ld.igds.wms.constant.WmsConstant; import com.ld.igds.wms.data.WmsParam; import com.ld.igds.wms.data.WmsRequest; import com.ld.igds.wms.data.WmsResponse; import com.ld.igds.wms.service.WmsService; import org.springframework.stereotype.Service; /** * 1002-åºåº * * @author czt */ @Service public class WmsServiceImpl1002 implements WmsService { @Override public String getInterfaceId() { return WmsConstant.API_WMS_1001; } @SuppressWarnings("unchecked") @Override public WmsResponse execute(WmsRequest<JSONObject> req){ //转å请æ±åæ° WmsParam param = JSONObject.parseObject(req.getData().toString(), WmsParam.class); //TODO è§£ææ°æ® //è¯·æ±æå return new WmsResponse(WmsCodeEnum.WMS_CODE_0000.getCode(), WmsCodeEnum.WMS_CODE_0000.getMsg()); } } igds-api-inte/src/main/java/com/ld/igds/wms/service/impl/WmsServiceImpl1003.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,39 @@ package com.ld.igds.wms.service.impl; import com.alibaba.fastjson.JSONObject; import com.ld.igds.wms.constant.WmsCodeEnum; import com.ld.igds.wms.constant.WmsConstant; import com.ld.igds.wms.data.WmsParam; import com.ld.igds.wms.data.WmsRequest; import com.ld.igds.wms.data.WmsResponse; import com.ld.igds.wms.service.WmsService; import org.springframework.stereotype.Service; /** * 1003-ç§»åº * * @author czt */ @Service public class WmsServiceImpl1003 implements WmsService { @Override public String getInterfaceId() { return WmsConstant.API_WMS_1003; } @SuppressWarnings("unchecked") @Override public WmsResponse execute(WmsRequest<JSONObject> req){ //转å请æ±åæ° WmsParam param = JSONObject.parseObject(req.getData().toString(), WmsParam.class); //TODO è§£ææ°æ® //è¯·æ±æå return new WmsResponse(WmsCodeEnum.WMS_CODE_0000.getCode(), WmsCodeEnum.WMS_CODE_0000.getMsg()); } } igds-api-inte/src/main/java/com/ld/igds/wms/service/impl/WmsServiceImpl1004.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,39 @@ package com.ld.igds.wms.service.impl; import com.alibaba.fastjson.JSONObject; import com.ld.igds.wms.constant.WmsCodeEnum; import com.ld.igds.wms.constant.WmsConstant; import com.ld.igds.wms.data.WmsParam; import com.ld.igds.wms.data.WmsRequest; import com.ld.igds.wms.data.WmsResponse; import com.ld.igds.wms.service.WmsService; import org.springframework.stereotype.Service; /** * 1004-åºå * * @author czt */ @Service public class WmsServiceImpl1004 implements WmsService { @Override public String getInterfaceId() { return WmsConstant.API_WMS_1004; } @SuppressWarnings("unchecked") @Override public WmsResponse execute(WmsRequest<JSONObject> req){ //转å请æ±åæ° WmsParam param = JSONObject.parseObject(req.getData().toString(), WmsParam.class); //TODO è§£ææ°æ® //è¯·æ±æå return new WmsResponse(WmsCodeEnum.WMS_CODE_0000.getCode(), WmsCodeEnum.WMS_CODE_0000.getMsg()); } } igds-web/pom.xml
@@ -143,12 +143,12 @@ </dependency> <!-- æ¥å£å ï¼å æ¬ä¸æµ·æ¥å£åæ°è±¡æ¥å£ <!-- æ¥å£å ï¼å æ¬ä¸æµ·æ¥å£åæ°è±¡æ¥å£--> <dependency> <groupId>com.ld.igds</groupId> <artifactId>igds-api-inte</artifactId> <version>${igds.version}</version> </dependency> --> </dependency> <!-- ç§æåè®®-飿£è´è¿--> @@ -252,54 +252,54 @@ </plugin> <!-- YUI Compressor Mavenå缩æä»¶ å¼åå ä¸å®ç¨--> <!-- <plugin>--> <!-- <groupId>net.alchim31.maven</groupId>--> <!-- <artifactId>yuicompressor-maven-plugin</artifactId>--> <!-- <version>1.5.1</version>--> <!-- <executions>--> <!-- <execution>--> <!-- <goals>--> <!-- <goal>compress</goal>--> <!-- </goals>--> <!-- </execution>--> <!-- </executions>--> <!-- <configuration>--> <!-- <encoding>UTF-8</encoding>--> <!-- <!–䏿¾ç¤ºjså¯è½çé误 –>--> <!-- <jswarn>false</jswarn>--> <!-- <!–æ¯å¦æ··æ· –>--> <!-- <nomunge>true</nomunge>--> <!-- <!–è¥åå¨å·²å缩çæä»¶ï¼ä¼å å¯¹æ¯æºæä»¶æ¯å¦ææ¹å¨ ææ¹å¨ä¾¿åç¼©ï¼æ æ¹å¨å°±ä¸å缩 –>--> <!-- <force>false</force>--> <!-- <!–卿å®çåå·åæå ¥æ°è¡ –>--> <!-- <linebreakpos>-1</linebreakpos>--> <!-- <!–å缩ä¹åå æ§è¡èåæä»¶æä½ –>--> <!-- <preProcessAggregates>true</preProcessAggregates>--> <!-- <!–å缩åä¿åæä»¶åç¼ æ åç¼ –>--> <!-- <nosuffix>true</nosuffix>--> <!-- <!–æºç®å½ï¼å³éåç¼©çæ ¹ç®å½ –>--> <!-- <sourceDirectory>src/main/resources</sourceDirectory>--> <!-- <!–è¾åºç®å½ï¼å³å缩åçç®å½ –>--> <!-- <outputDirectory>target/classes</outputDirectory>--> <!-- <force>true</force>--> <!-- <!–å缩jsåcssæä»¶ –>--> <!-- <includes>--> <!-- <include>**/*.js</include>--> <!-- <include>**/*.css</include>--> <!-- </includes>--> <!-- <!– 以ä¸ç®å½åæä»¶ä¸ä¼è¢«å缩 –>--> <!-- <excludes>--> <!-- <exclude>**/*.min.js</exclude>--> <!-- <exclude>**/*.min.css</exclude>--> <!-- <exclude>**/d7/**</exclude>--> <!-- <exclude>**/dorado-home/**</exclude>--> <!-- <exclude>**/bdf2/**</exclude>--> <!-- <exclude>**/css/**</exclude>--> <!-- <exclude>**/js/**</exclude>--> <!-- <exclude>**/plugins/**</exclude>--> <!-- </excludes>--> <!-- </configuration>--> <!-- </plugin>--> <plugin> <groupId>net.alchim31.maven</groupId> <artifactId>yuicompressor-maven-plugin</artifactId> <version>1.5.1</version> <executions> <execution> <goals> <goal>compress</goal> </goals> </execution> </executions> <configuration> <encoding>UTF-8</encoding> <!--䏿¾ç¤ºjså¯è½çé误 --> <jswarn>false</jswarn> <!--æ¯å¦æ··æ· --> <nomunge>true</nomunge> <!--è¥åå¨å·²å缩çæä»¶ï¼ä¼å å¯¹æ¯æºæä»¶æ¯å¦ææ¹å¨ ææ¹å¨ä¾¿åç¼©ï¼æ æ¹å¨å°±ä¸å缩 --> <force>false</force> <!--卿å®çåå·åæå ¥æ°è¡ --> <linebreakpos>-1</linebreakpos> <!--å缩ä¹åå æ§è¡èåæä»¶æä½ --> <preProcessAggregates>true</preProcessAggregates> <!--å缩åä¿åæä»¶åç¼ æ åç¼ --> <nosuffix>true</nosuffix> <!--æºç®å½ï¼å³éåç¼©çæ ¹ç®å½ --> <sourceDirectory>src/main/resources</sourceDirectory> <!--è¾åºç®å½ï¼å³å缩åçç®å½ --> <outputDirectory>target/classes</outputDirectory> <force>true</force> <!--å缩jsåcssæä»¶ --> <includes> <include>**/*.js</include> <include>**/*.css</include> </includes> <!-- 以ä¸ç®å½åæä»¶ä¸ä¼è¢«å缩 --> <excludes> <exclude>**/*.min.js</exclude> <exclude>**/*.min.css</exclude> <exclude>**/d7/**</exclude> <exclude>**/dorado-home/**</exclude> <exclude>**/bdf2/**</exclude> <exclude>**/css/**</exclude> <exclude>**/js/**</exclude> <exclude>**/plugins/**</exclude> </excludes> </configuration> </plugin> </plugins> igds-web/src/main/resources/application.yml
@@ -1,7 +1,7 @@ ########################## Server ########################## 丹棱åå ³çç²®é£å¨å¤åº spring: profiles: active: pro5012 active: linux application: name: igds main: igds-web/src/main/resources/dorado-home/datasources.xml
@@ -76,6 +76,9 @@ <!--æ¾å¼ä¸æµ·ä½åæ¥å£--> <bdf:anonymous-url urlPattern="/api/sh/**" /> <!--æ¾å¼æ¦æ±é»éç«ä½åºæ¥å£--> <bdf:anonymous-url urlPattern="/api/wms/**" /> <!--æ¾å¼æµ·åº·æµåªä½äºä»¶æ¥æ¶æ¥å£--> <bdf:anonymous-url urlPattern="/eventRcv/**" /> <!--æä»¶æ¨éç²®æ æ¥æ¶æ¥å£-->