From e2b0e215d7f208a8f40aadb5ff05cd0f3088f0d9 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 15 十二月 2023 09:09:35 +0800
Subject: [PATCH] 海康接口对接开发
---
server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/request/erp/MemberFailRequest.java | 25 +++
server/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java | 61 ++++++-
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java | 4
server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java | 60 -------
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/DevicePictureRequest.java | 10 +
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncImgServiceImpl.java | 57 +++++++
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/CarPictureRequest.java | 10 +
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java | 8
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java | 54 +++++++
server/openapi/src/main/java/com/doumee/api/web/ErpResourceController.java | 17 +
server/dmvisit_service/src/main/java/com/doumee/core/utils/FtpUtil.java | 39 ++++
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/VisitPictureRequest.java | 11 +
server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java | 5
13 files changed, 273 insertions(+), 88 deletions(-)
diff --git a/server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java b/server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java
index 9369302..58d4b0c 100644
--- a/server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java
+++ b/server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java
@@ -2,6 +2,7 @@
import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.service.business.impl.hksync.HkSyncImgServiceImpl;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URIBuilder;
@@ -29,9 +30,8 @@
@EnableScheduling
public class ScheduleTool {
-
@Autowired
- private SystemDictDataBiz systemDictDataBiz;
+ private HkSyncImgServiceImpl hkSyncImgService;
/**
* 鏄惁寮�鍙戣��
*/
@@ -43,60 +43,10 @@
* 缂撳瓨鐪佸競鍖�
* @throws Exception
*/
- @Scheduled(fixedDelay=24*60*60*1000)
- public void cacheCampus() throws Exception {
- }
- /**
- * 姣忓ぉ鍑屾櫒閲嶇疆鎵�鏈夎鍗昪ode绫诲垵濮嬪��
- * @throws Exception
- */
- @Scheduled(cron="0 0 0 * * ?")
- public void resetOrderCodes() throws Exception {
+ @Scheduled(fixedDelay= 60*1000)
+ public void downloadHkImg() throws Exception {
+ hkSyncImgService.downHKImgs(0);
}
-
-
- /**
- * 鍙戦�乬et璇锋眰
- * @param url 璇锋眰URL
- * @param param 璇锋眰鍙傛暟 key:value url鎼哄甫鍙傛暟 鎴栬�呮棤鍙傚彲涓嶅~
- * @return
- */
- public String doGet(String url, Map<String, String> param) {
- // 鍒涘缓Httpclient瀵硅薄
- CloseableHttpClient httpclient = HttpClients.createDefault();
- String resultString = "";
- CloseableHttpResponse response = null;
- try {
- // 鍒涘缓uri
- URIBuilder builder = new URIBuilder(url);
- if (param != null) {
- for (String key : param.keySet()) {
- builder.addParameter(key, param.get(key));
- }
- }
- URI uri = builder.build();
- // 鍒涘缓http GET璇锋眰
- HttpGet httpGet = new HttpGet(uri);
- // 鎵ц璇锋眰
- response = httpclient.execute(httpGet);
- // 鍒ゆ柇杩斿洖鐘舵�佹槸鍚︿负200
- if (response.getStatusLine().getStatusCode() == 200) {
- resultString = EntityUtils.toString(response.getEntity(), "UTF-8");
- }
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- try {
- if (response != null) {
- response.close();
- }
- httpclient.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- return resultString;
- }
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
index bd896ca..3f6ab67 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
@@ -53,6 +53,9 @@
String eventSub= "/api/eventService/v1/eventSubscriptionByEventTypes";//浜嬩欢璁㈤槄
String doorSearch= "/api/resource/v2/door/search";//鏌ヨ闂ㄧ鐐瑰垪琛╲2
String cancelEventSub= "/api/eventService/v1/eventUnSubscriptionByEventTypes";//鍙栨秷浜嬩欢璁㈤槄
+ String visitPicture= "/api/visitor/v1/record/pictures";//鑾峰彇璁垮璁板綍涓殑鍥剧墖
+ String devicePicture= "/api/acs/v1/event/pictures";//鑾峰彇闂ㄧ浜嬩欢鐨勫浘鐗�
+ String carPicture= "/api/pms/v1/image";//鏌ヨ杞﹁締鎶撴媿鍥剧墖
}
/**
@@ -78,7 +81,6 @@
this.name = name;
this.key = key;
}
-
// get set 鏂规硶
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
index c179655..c639633 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
@@ -291,6 +291,60 @@
}
}
/**
+ * 鑾峰彇璁垮璁板綍涓殑鍥剧墖
+ * @param body
+ * @return
+ */
+ public static InputStream getVisitPicture(String body) throws Exception{
+
+ Map<String, String> path = getPath(HKConstants.InterfacePath.visitPicture);
+ //鍙傛暟鏍规嵁鎺ュ彛瀹為檯鎯呭喌璁剧疆
+ HttpResponse resp = ArtemisHttpUtil.doPostStringImgArtemis( path, body, null, null,"application/json",null);
+ if (200==resp.getStatusLine().getStatusCode()) {
+ HttpEntity entity = resp.getEntity();
+ InputStream in = entity.getContent();
+ return in;
+ }else{
+ throw new Exception("鑾峰彇璁垮璁板綍涓殑鍥剧墖涓嬭浇鍑洪敊");
+ }
+ }
+ /**
+ * 鑾峰彇闂ㄧ浜嬩欢鐨勫浘鐗�
+ * @param body
+ * @return
+ */
+ public static InputStream getDevicePicture(String body) throws Exception{
+
+ Map<String, String> path = getPath(HKConstants.InterfacePath.devicePicture);
+ //鍙傛暟鏍规嵁鎺ュ彛瀹為檯鎯呭喌璁剧疆
+ HttpResponse resp = ArtemisHttpUtil.doPostStringImgArtemis( path, body, null, null,"application/json",null);
+ if (200==resp.getStatusLine().getStatusCode()) {
+ HttpEntity entity = resp.getEntity();
+ InputStream in = entity.getContent();
+ return in;
+ }else{
+ throw new Exception("鑾峰彇闂ㄧ浜嬩欢鐨勫浘鐗囦笅杞藉嚭閿�");
+ }
+ }
+ /**
+ * 鏌ヨ杞﹁締鎶撴媿鍥剧墖
+ * @param body
+ * @return
+ */
+ public static InputStream getCarPicture(String body) throws Exception{
+
+ Map<String, String> path = getPath(HKConstants.InterfacePath.carPicture);
+ //鍙傛暟鏍规嵁鎺ュ彛瀹為檯鎯呭喌璁剧疆
+ HttpResponse resp = ArtemisHttpUtil.doPostStringImgArtemis( path, body, null, null,"application/json",null);
+ if (200==resp.getStatusLine().getStatusCode()) {
+ HttpEntity entity = resp.getEntity();
+ InputStream in = entity.getContent();
+ return in;
+ }else{
+ throw new Exception("鏌ヨ杞﹁締鎶撴媿鍥剧墖涓嬭浇鍑洪敊");
+ }
+ }
+ /**
* 鑾峰彇闂ㄧ鐐瑰垪琛�
* @param body
* @return
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/CarPictureRequest.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/CarPictureRequest.java
new file mode 100644
index 0000000..0cd18a8
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/CarPictureRequest.java
@@ -0,0 +1,10 @@
+package com.doumee.core.haikang.model.param.request;
+
+import lombok.Data;
+
+@Data
+public class CarPictureRequest {
+
+ private String aswSyscode;// string True 鍥剧墖鏈嶅姟鍞竴鏍囪瘑鐮侊紙鏈�澶ч暱搴�64锛� 浠庡叾浠栬繑鍥炲浘鐗嘦ri鎺ュ彛澶勮幏鍙�
+ private String picUri ;//string True 鍥剧墖Uri锛堟渶澶ч暱搴�256锛�
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/DevicePictureRequest.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/DevicePictureRequest.java
new file mode 100644
index 0000000..0c2112d
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/DevicePictureRequest.java
@@ -0,0 +1,10 @@
+package com.doumee.core.haikang.model.param.request;
+
+import lombok.Data;
+
+@Data
+public class DevicePictureRequest {
+
+ private String svrIndexCode ;// string True 鎻愪緵picUri澶勪細鎻愪緵姝ゅ瓧娈�
+ private String picUri ;// string True 鍥剧墖鐩稿鍦板潃
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/VisitPictureRequest.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/VisitPictureRequest.java
new file mode 100644
index 0000000..5387f03
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/VisitPictureRequest.java
@@ -0,0 +1,11 @@
+package com.doumee.core.haikang.model.param.request;
+
+import lombok.Data;
+
+@Data
+public class VisitPictureRequest {
+
+ private String svrIndexCode ;// string True 鎻愪緵picUri澶勪細鎻愪緵姝ゅ瓧娈�
+ private String picUri ;// string True 鍥剧墖鐩稿鍦板潃
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
index f886834..c53ce61 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
@@ -1,29 +1,19 @@
package com.doumee.core.haikang.service;
import com.alibaba.fastjson.JSONObject;
-import com.doumee.biz.system.SystemDictDataBiz;
-import com.doumee.core.haikang.model.param.request.*;
-import com.doumee.core.haikang.model.param.respose.*;
-import com.doumee.core.utils.Constants;
+import com.alibaba.fastjson.TypeReference;
import com.doumee.core.haikang.model.HKConstants;
import com.doumee.core.haikang.model.HKTools;
import com.doumee.core.haikang.model.param.BaseRequst;
import com.doumee.core.haikang.model.param.BaseResponse;
-import com.doumee.dao.business.model.InterfaceLog;
-import com.doumee.service.business.InterfaceLogService;
-import com.hikvision.artemis.sdk.config.ArtemisConfig;
+import com.doumee.core.haikang.model.param.request.*;
+import com.doumee.core.haikang.model.param.respose.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.PostConstruct;
-import com.alibaba.fastjson.TypeReference;
import java.io.InputStream;
-import java.util.Date;
import java.util.List;
@Slf4j
@@ -244,6 +234,51 @@
}
return null;
}
+ /**
+ * 鑾峰彇璁垮璁板綍涓殑鍥剧墖
+ * @return
+ */
+ public static InputStream getVisitPicture(VisitPictureRequest param) {
+ log.info("銆愭捣搴疯瀹㈠浘鐗囨祦銆�================寮�濮�===="+JSONObject.toJSONString(param));
+ try {
+ InputStream res = HKTools.getVisitPicture(JSONObject.toJSONString(param));
+ log.error("銆愭捣搴疯瀹㈠浘鐗囨祦銆�================鎴愬姛====\n");
+ return res;
+ }catch (Exception e){
+ log.error("銆愭捣搴疯瀹㈠浘鐗囨祦銆�================澶辫触====锛歕n"+ e.getMessage());
+ }
+ return null;
+ }
+ /**
+ * 鑾峰彇闂ㄧ浜嬩欢鐨勫浘鐗�
+ * @return
+ */
+ public static InputStream getDevicePicture(DevicePictureRequest param) {
+ log.info("銆愭捣搴烽棬绂佷簨浠跺浘鐗囨祦銆�================寮�濮�===="+JSONObject.toJSONString(param));
+ try {
+ InputStream res = HKTools.getDevicePicture(JSONObject.toJSONString(param));
+ log.error("銆愭捣搴烽棬绂佷簨浠跺浘鐗囨祦銆�================鎴愬姛====\n");
+ return res;
+ }catch (Exception e){
+ log.error("銆愭捣搴烽棬绂佷簨浠跺浘鐗囨祦銆�================澶辫触====锛歕n"+ e.getMessage());
+ }
+ return null;
+ }
+ /**
+ * 鏌ヨ杞﹁締鎶撴媿鍥剧墖
+ * @return
+ */
+ public static InputStream getCarPicture(CarPictureRequest param) {
+ log.info("銆愭捣搴疯溅杈嗘姄鎷嶅浘鐗囧浘鐗囨祦銆�================寮�濮�===="+JSONObject.toJSONString(param));
+ try {
+ InputStream res = HKTools.getCarPicture(JSONObject.toJSONString(param));
+ log.error("銆愭捣搴疯溅杈嗘姄鎷嶅浘鐗囧浘鐗囨祦銆�================鎴愬姛====\n");
+ return res;
+ }catch (Exception e){
+ log.error("銆愭捣搴疯溅杈嗘姄鎷嶅浘鐗囧浘鐗囨祦銆�================澶辫触====锛歕n"+ e.getMessage());
+ }
+ return null;
+ }
/**
*鑾峰彇杞﹀簱鍒楄〃鏁版嵁锛堝叏閲忥級
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/request/erp/MemberFailRequest.java b/server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/request/erp/MemberFailRequest.java
new file mode 100644
index 0000000..c6c52f2
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/request/erp/MemberFailRequest.java
@@ -0,0 +1,25 @@
+package com.doumee.core.model.openapi.request.erp;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/11/23 14:03
+ */
+@Data
+@ApiModel(value = "鍛樺伐鍚屾澶辫触鎺ㄩ�佽姹傚弬鏁�" )
+public class MemberFailRequest {
+
+ @ApiModelProperty(value = "鍛樺伐id" )
+ private String userId;
+ @ApiModelProperty(value = "澶辫触绫诲瀷 0浜哄憳鍚屾澶辫触 1鏉冮檺涓嬪彂澶辫触 " )
+ private Integer type;
+
+ @ApiModelProperty(value = "澶囨敞淇℃伅锛屾弿杩板け璐ュ師鍥�")
+ private String info;
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java b/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
index 4949a87..3c51aa3 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -49,6 +49,11 @@
public static final String VISIT_EVENT_IMG = "VISIT_EVENT_IMG";
public static final String CAR_EVENT_IMG = "CAR_EVENT_IMG";
public static final String DEVICE_EVENT_IMG = "DEVICE_EVENT_IMG";
+ public static final String FTP ="FTP" ;
+ public static final String FTP_HOST ="FTP_HOST" ;
+ public static final String FTP_PORT ="FTP_PORT" ;
+ public static final String FTP_USERNAME ="FTP_USERNAME" ;
+ public static final String FTP_PWD ="FTP_PWD" ;
public static boolean DEALING_HK_IMG = false;
// ERP鎺ュ彛閰嶇疆
public static final String ERP_CONFIG = "ERP_CONFIG";
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/utils/FtpUtil.java b/server/dmvisit_service/src/main/java/com/doumee/core/utils/FtpUtil.java
index f158543..9e2a26a 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/utils/FtpUtil.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/utils/FtpUtil.java
@@ -233,6 +233,39 @@
}
return result;
}
+ public boolean uploadInputstream(InputStream inputStream, String remote) {
+ // 璁剧疆PassiveMode浼犺緭
+ try {
+ ftpClient.enterLocalPassiveMode();
+
+ // 璁剧疆浠ヤ簩杩涘埗娴佺殑鏂瑰紡浼犺緭
+ ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
+ ftpClient.setControlEncoding("GBK");
+ // 瀵硅繙绋嬬洰褰曠殑澶勭悊
+ String remoteFileName = remote;
+ if (remote.contains(File.separator)) {
+ remoteFileName = remote.substring(remote.lastIndexOf(File.separator) + 1);
+ // 鍒涘缓鏈嶅姟鍣ㄨ繙绋嬬洰褰曠粨鏋勶紝鍒涘缓澶辫触鐩存帴杩斿洖
+ if (StringUtils.equals(CreateDirecroty(remote, ftpClient), "2")) {
+ log.error("鍒涘缓ftp鐩綍澶辫触======================="+remote);
+ return false;
+ }
+ }
+ boolean result = ftpClient.storeFile(remoteFileName, inputStream);
+ inputStream.close();
+ ftpClient.logout();
+ if(result){
+ log.info("涓婁紶鏂囦欢鎴愬姛======================"+remote);
+ }else{
+ log.error("涓婁紶鏂囦欢澶辫触======================="+remote);
+ }
+ return result;
+ }catch (Exception e){
+ e.printStackTrace();
+ log.error("涓婁紶鏂囦欢澶辫触======================="+remote);
+ }
+ return false;
+ }
public int getNumFromStr(String str,char searchstr) {
int count = 0;
char[] charArray = str.toCharArray();
@@ -599,8 +632,6 @@
File src = new File(localDirectory);
try {
remoteDirectoryPath = remoteDirectoryPath + File.separator;
-
-// System.out.println(remoteDirectoryPath+":===============鍒涘缓鐩綍=================");
boolean makeDirFlag = this.ftpClient.makeDirectory(remoteDirectoryPath);
}catch (IOException e) {
e.printStackTrace();
@@ -611,11 +642,9 @@
for (int currentFile = 0;currentFile < allFile.length;currentFile++) {
File f =allFile[currentFile];
String srcName= f.getPath().toString();
-// System.out.println(srcName+":====================璇诲彇鏂囦欢======================");
String tPath = remoteDirectoryPath+f.getName();
if (!f.isDirectory()) {
-// System.out.println(srcName+":====================寮�濮嬩紶杈撴枃浠�======================");
int dNum = getNumFromStr(tPath,File.separator.toCharArray()[0]);
uploadFile(f, tPath);
if(dNum -2>=0){
@@ -624,11 +653,9 @@
}
}
}else{
-// System.out.println(srcName+":====================鍒涘缓瀛愮洰褰�======================");
uploadDirectory(srcName,
tPath+File.separator);
}
-// System.out.println(srcName+":====================涓婁紶瀹屾瘯======================");
}
return true;
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java
index dcb60df..64358a0 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java
@@ -1,5 +1,9 @@
package com.doumee.service.business.impl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
@@ -11,10 +15,6 @@
import com.doumee.dao.business.join.ParkBookJoinMapper;
import com.doumee.dao.business.model.*;
import com.doumee.service.business.CarsService;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncImgServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncImgServiceImpl.java
index f4562f5..643bbd3 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncImgServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncImgServiceImpl.java
@@ -2,28 +2,36 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.haikang.model.HKConstants;
import com.doumee.core.haikang.model.param.BaseResponse;
-import com.doumee.core.haikang.model.param.request.AcsDeviceListRequest;
+import com.doumee.core.haikang.model.param.request.*;
import com.doumee.core.haikang.model.param.respose.AcsDeviceInfoResponse;
import com.doumee.core.haikang.model.param.respose.AcsDeviceListResponse;
import com.doumee.core.haikang.service.HKService;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
+import com.doumee.core.utils.FtpUtil;
import com.doumee.dao.business.*;
import com.doumee.dao.business.model.CarEvent;
import com.doumee.dao.business.model.Device;
import com.doumee.dao.business.model.DeviceEvent;
import com.doumee.dao.business.model.VisitEvent;
+import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import java.util.UUID;
/**
* 璁惧淇℃伅琛⊿ervice瀹炵幇
@@ -31,6 +39,7 @@
* @date 2023/11/30 15:33
*/
@Service
+@Slf4j
public class HkSyncImgServiceImpl extends HkSyncBaseServiceImpl {
@Autowired
@@ -39,7 +48,10 @@
private DeviceEventMapper deviceEventMapper;
@Autowired
private VisitEventMapper visitEventMapper;
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
@Override
+ @Async
public String downHKImgs(int type){
if(Constants.DEALING_HK_IMG){
return null ;
@@ -161,9 +173,46 @@
}
- private String downHkImgToFtp(String img1, String serverIndex, String visitEventImg) {
- //
-
+ private String downHkImgToFtp(String img1, String serverIndex, String folder) {
+ InputStream is = null;
+ if(StringUtils.equals(folder,Constants.CAR_EVENT_IMG)){
+ //鍋滆溅鍦烘姄鎷嶅浘
+ CarPictureRequest param = new CarPictureRequest();
+ param.setPicUri(img1);
+ param.setAswSyscode(serverIndex);
+ is = HKService.getCarPicture(param);
+ }else if(StringUtils.equals(folder,Constants.DEVICE_EVENT_IMG)){
+ //闂ㄧ浜嬩欢鍥剧墖
+ DevicePictureRequest param = new DevicePictureRequest();
+ param.setPicUri(img1);
+ param.setSvrIndexCode(serverIndex);
+ is = HKService.getDevicePicture(param);
+ }else if(StringUtils.equals(folder,Constants.VISIT_EVENT_IMG)){
+ //璁垮浜嬩欢鍥剧墖
+ VisitPictureRequest param = new VisitPictureRequest();
+ param.setPicUri(img1);
+ param.setSvrIndexCode(serverIndex);
+ is = HKService.getVisitPicture(param);
+ }
+ //TODO------jiangping---------
+ try {
+ FtpUtil ftp = new FtpUtil(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_HOST).getCode(),
+ Integer.parseInt(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_PORT).getCode()),
+ systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_USERNAME).getCode(),
+ systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_PWD).getCode());
+ String date = DateUtil.getNowShortDate();
+ String fName = File.separator+date+File.separator+ UUID.randomUUID().toString()+".jpg";
+ String fileName = folder+fName;
+ boolean r = ftp.uploadInputstream(is,fileName);//涓婁紶
+ if(r){
+ log.info("銆愭捣搴峰浘鐗囦笅杞戒笂浼燜TP澶辫触銆�======================" );
+ return fName;
+ }else{
+ log.error("銆愭捣搴峰浘鐗囦笅杞戒笂浼燜TP澶辫触銆�======================" );
+ }
+ } catch (Exception e) {
+ log.error("銆愭捣搴峰浘鐗囦笅杞戒笂浼燜TP澶辫触銆�======================"+e.getMessage());
+ }
return null;
}
}
diff --git a/server/openapi/src/main/java/com/doumee/api/web/ErpResourceController.java b/server/openapi/src/main/java/com/doumee/api/web/ErpResourceController.java
index 6864bcf..a89ee60 100644
--- a/server/openapi/src/main/java/com/doumee/api/web/ErpResourceController.java
+++ b/server/openapi/src/main/java/com/doumee/api/web/ErpResourceController.java
@@ -5,6 +5,7 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.openapi.request.erp.ApproveAddRequest;
+import com.doumee.core.model.openapi.request.erp.MemberFailRequest;
import com.doumee.core.model.openapi.request.erp.OrgListRequest;
import com.doumee.core.model.openapi.request.erp.UserListRequest;
import com.doumee.core.model.openapi.response.erp.ApproveInfoResponse;
@@ -16,6 +17,7 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
+import java.util.List;
import java.util.UUID;
/**
@@ -27,32 +29,37 @@
@Api(tags = "2銆併�怑RP銆戠鎻愪緵鎺ュ彛锛堝悜璁垮绔彁渚涙垨鎻愪氦鏁版嵁淇℃伅锛�")
@RestController
-@RequestMapping("/erp")
+@RequestMapping("/erp/resource")
@Slf4j
public class ErpResourceController extends ApiController{
@ApiOperation(value = "鍏ㄩ噺缁勭粐淇℃伅鎺ュ彛", notes = "ERP绔彁渚涳紝渚涜瀹㈢鎷夊彇鍏ㄩ儴缁勭粐淇℃伅锛岀敤浜庡垵濮嬪寲鍙婂懆鏈熸�ф暟鎹牳鏌�")
- @PostMapping("/resource/org/list")
+ @PostMapping("/org/list")
public ApiResponse<PageData<OrgListResponse>> orgList (@RequestBody PageWrap<OrgListRequest> pageWrap) {
return ApiResponse.success(null);
}
@ApiOperation(value = "鍏ㄩ噺浜哄憳淇℃伅鎺ュ彛", notes = "ERP绔彁渚涳紝渚涜瀹㈢鎷夊彇鍏ㄩ儴浜哄憳淇℃伅锛岀敤浜庡垵濮嬪寲鍙婂懆鏈熸�ф暟鎹牳鏌�")
- @PostMapping("/resource/user/list")
+ @PostMapping("/user/list")
public ApiResponse<PageData<UserListRespone>> userList (@RequestBody PageWrap<UserListRequest> pageWrap) {
return ApiResponse.success(null);
}
@ApiOperation(value = "璁垮鐢宠鎻愪氦瀹℃壒鎺ュ彛", notes = "ERP绔彁渚涳紝渚涜瀹㈢璋冪敤锛屾彁浜よ瀹㈢敵璇蜂俊鎭�,鎺ュ彛鎻愪氦鎴愬姛锛孍RP绔繑鍥炲鎵硅褰曠紪鐮�")
@PostMapping("/event/approve/apply")
- public ApiResponse<String> approveApply(@RequestBody ApproveAddRequest account ) {
+ public ApiResponse<String> approveApply(@RequestBody ApproveAddRequest param ) {
return ApiResponse.success(UUID.randomUUID().toString());
}
@ApiOperation(value = "璁垮鐢宠瀹℃壒缁撴灉鏌ヨ鎺ュ彛", notes = "ERP绔彁渚涳紝渚涜瀹㈢璋冪敤锛屾煡璇㈣瀹㈢敵璇峰鎵圭粨鏋�")
- @GetMapping("/resource/approve/info")
+ @GetMapping("/approve/info")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "query", dataType = "String", name = "id", value = "瀹℃壒璁板綍鍞竴鏍囪瘑", required = true)
})
public ApiResponse<ApproveInfoResponse> approveInfo(@RequestParam String id ) {
return ApiResponse.success(null );
}
+ @ApiOperation(value = "鍛樺伐鍚屾澶辫触鎺ㄩ�佹帴鍙�", notes = "ERP绔彁渚涳紝渚涜瀹㈢璋冪敤锛屽憡鐭rp鍛樺伐淇℃伅鍚屾澶辫触鐨勬暟鎹�")
+ @PostMapping("/member/fail")
+ public ApiResponse<ApproveInfoResponse> memberFail(@RequestBody List<MemberFailRequest> param) {
+ return ApiResponse.success(null );
+ }
}
--
Gitblit v1.9.3