diff --git a/src/main/java/com/glxp/api/constant/BasicProcessStatus.java b/src/main/java/com/glxp/api/constant/BasicProcessStatus.java index ed797e892..ec0c5da9c 100644 --- a/src/main/java/com/glxp/api/constant/BasicProcessStatus.java +++ b/src/main/java/com/glxp/api/constant/BasicProcessStatus.java @@ -29,7 +29,7 @@ public class BasicProcessStatus { public static final String NEW_ALL_BUS = "8"; public static final String NEW_ALL_ORDER = "9"; public static final String ALL_BUS_ORDER = "11"; - public static final int NEW_ALL_DI = 10; + public static final String NEW_ALL_DI = "10"; public static final String NEW_ALL_THR_DATA = "12"; //所有第三方基础数据 public static final String NEW_ALL_THR_PRODUCTS = "13"; //所有第三方产品数据 public static final String NEW_ALL_SYS_SETTING = "14"; //所有系统设置数据 diff --git a/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java b/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java index 8098630da..74d8ef8ba 100644 --- a/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java +++ b/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java @@ -224,6 +224,8 @@ public class SpGetHttpClient { } + + public BaseResponse postBasicStatus(String id) { BasicExportStatusRequest basicStatusFilterRequest = new BasicExportStatusRequest(); basicStatusFilterRequest.setId(id); diff --git a/src/main/java/com/glxp/api/res/sync/SpSyncUdiResponse.java b/src/main/java/com/glxp/api/res/sync/SpSyncUdiResponse.java new file mode 100644 index 000000000..76f71462c --- /dev/null +++ b/src/main/java/com/glxp/api/res/sync/SpSyncUdiResponse.java @@ -0,0 +1,15 @@ +package com.glxp.api.res.sync; + +import com.glxp.api.entity.basic.ProductInfoEntity; +import com.glxp.api.entity.basic.UdiCompanyEntity; +import lombok.Data; + +import java.util.List; + +@Data +public class SpSyncUdiResponse extends BaseSyncResponse{ + + //同步任务ID + List productInfoEntityList; + List udiCompanyEntities; +} diff --git a/src/main/java/com/glxp/api/service/sync/HeartService.java b/src/main/java/com/glxp/api/service/sync/HeartService.java index abf0cd76b..91da593c0 100644 --- a/src/main/java/com/glxp/api/service/sync/HeartService.java +++ b/src/main/java/com/glxp/api/service/sync/HeartService.java @@ -1,33 +1,43 @@ package com.glxp.api.service.sync; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import javax.annotation.Resource; + import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.collection.CollUtil; +import com.glxp.api.dao.basic.ProductInfoDao; +import com.glxp.api.dao.basic.UdiCompanyDao; +import com.glxp.api.dao.inout.*; +import com.glxp.api.entity.basic.ProductInfoEntity; +import com.glxp.api.entity.basic.UdiCompanyEntity; +import com.glxp.api.entity.inout.*; +import com.glxp.api.res.sync.*; +import com.glxp.api.service.inout.*; +import lombok.extern.slf4j.Slf4j; +import org.apache.ibatis.session.ExecutorType; +import org.apache.ibatis.session.SqlSession; +import org.apache.ibatis.session.SqlSessionFactory; +import org.apache.ibatis.session.TransactionIsolationLevel; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.BasicProcessStatus; import com.glxp.api.constant.ConstantStatus; -import com.glxp.api.entity.inout.*; import com.glxp.api.entity.sync.BasicDownloadStatusEntity; import com.glxp.api.entity.sync.BasicExportStatusEntity; import com.glxp.api.entity.sync.BasicExportStatusTimeEntity; import com.glxp.api.http.sync.SpGetHttpClient; import com.glxp.api.req.sync.SpsSyncDataRequest; -import com.glxp.api.res.sync.*; -import com.glxp.api.service.inout.*; import com.glxp.api.util.CustomUtil; import com.glxp.api.util.DateUtil; -import lombok.extern.slf4j.Slf4j; -import org.apache.ibatis.session.SqlSessionFactory; -import org.springframework.beans.BeanUtils; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import cn.hutool.core.collection.CollUtil; @Slf4j @Service public class HeartService { @@ -52,6 +62,17 @@ public class HeartService { @Resource private UpThrDataService upThrDataService; + @Resource + IoCodeTempService codeTempService; + @Resource + IoOrderDetailBizService orderDetailBizService; + @Resource + IoOrderDetailCodeService orderDetailCodeService; + @Resource + IoOrderDetailResultService orderDetailResultService; + @Resource + IoOrderInvoiceService orderInvoiceService; + //上传最近更新扫码单据 public BaseResponse uploadAllOrder(String syncTime) { SpsSyncDataRequest spsSyncDataRequest = new SpsSyncDataRequest(); @@ -326,18 +347,7 @@ public class HeartService { // } - @Resource - IoCodeTempService codeTempService; - @Resource - IoOrderDetailBizService orderDetailBizService; - @Resource - IoOrderDetailCodeService orderDetailCodeService; - @Resource - IoOrderDetailResultService orderDetailResultService; - @Resource - IoOrderInvoiceService orderInvoiceService; - - //下载最近更新扫码单据 + //下载最近更新扫码单据--上级服务 public void dlAllOrder() { BaseResponse> baseResponse = spGetHttp.getBasicStatus(BasicProcessStatus.NEW_ALL_ORDER + ""); List pageSimpleResponse = baseResponse != null ? baseResponse.getData() : new ArrayList<>(); @@ -417,6 +427,72 @@ public class HeartService { } } + // 下载最近更新国家库数据-上级服务 + public void dlAllDiProducts() { + BaseResponse> baseResponse = spGetHttp.getBasicStatus(BasicProcessStatus.NEW_ALL_DI + ""); + List pageSimpleResponse = baseResponse.getData(); + if (pageSimpleResponse != null) { + List basicExportStatusEntities = pageSimpleResponse; + if (basicExportStatusEntities != null && basicExportStatusEntities.size() > 0) { + for (BasicExportStatusEntity basicExportStatusEntity : basicExportStatusEntities) { + long curTime = System.currentTimeMillis(); +// log.info("--------等待时间------" + curTime); + String datas = spGetHttp.getBasicData(basicExportStatusEntity.getId(), BasicProcessStatus.NEW_ALL_DI); +// logger.info("--------等待时间1------" + (System.currentTimeMillis() - curTime) / 1000); + long curTime2 = System.currentTimeMillis(); + BaseResponse response = JSONObject.parseObject(datas, new TypeReference>() { + }); +// logger.info("--------等待时间2------" + (System.currentTimeMillis() - curTime2) / 1000); + if (response.getCode() == 20000 && response.getData() != null) { + SpSyncUdiResponse spSyncUdiResponse = response.getData(); + BasicDownloadStatusEntity basicDownloadStatusEntity = new BasicDownloadStatusEntity(); + basicDownloadStatusEntity.setId(CustomUtil.getId()); + basicDownloadStatusEntity.setTaskId(spSyncUdiResponse.getTaskId()); + basicDownloadStatusEntity.setStartTime(new Date()); + basicDownloadStatusEntity.setIdDatas(ConstantStatus.SYNC_DOWNLOAD_DI_PRODUCTS); + basicDownloadStatusEntity.setStatus(ConstantStatus.SYNC_STATUS_WAIT); //下载中 + basicDownloadStatusEntity.setType(BasicProcessStatus.NEW_ALL_DI); + basicDownloadStatusEntity.setScheduleType(1); + + basicDownloadService.insertDownloadStatus(basicDownloadStatusEntity); + StringBuffer remark = new StringBuffer(); + + SqlSession batchSession = sqlSessionFactory.openSession(ExecutorType.BATCH, TransactionIsolationLevel.READ_COMMITTED); + if (CollUtil.isNotEmpty(spSyncUdiResponse.getUdiCompanyEntities())) { + List udiCompanyEntities = spSyncUdiResponse.getUdiCompanyEntities(); + UdiCompanyDao mapper = batchSession.getMapper(UdiCompanyDao.class); + for (UdiCompanyEntity udiCompanyEntity : udiCompanyEntities) { + mapper.insertUdiCompany(udiCompanyEntity); + } + batchSession.commit(); + remark.append("公司信息:").append(spSyncUdiResponse.getUdiCompanyEntities().size()).append("条\n"); + } + + if (CollUtil.isNotEmpty(spSyncUdiResponse.getProductInfoEntityList())) { + List productInfoEntities = spSyncUdiResponse.getProductInfoEntityList(); + ProductInfoDao mapper = batchSession.getMapper(ProductInfoDao.class); + for (ProductInfoEntity productInfoEntity : productInfoEntities) { + mapper.insertProductInfo(productInfoEntity); + } + batchSession.commit(); + remark.append("产品信息:").append(spSyncUdiResponse.getProductInfoEntityList().size()).append("条\n"); + } + batchSession.close(); + spGetHttp.postBasicStatus(basicExportStatusEntity.getId()); + + basicDownloadStatusEntity.setUpdateTime(new Date()); + basicDownloadStatusEntity.setEndTime(new Date()); + basicDownloadStatusEntity.setRemark(remark.toString()); + basicDownloadStatusEntity.setStatus(ConstantStatus.SYNC_STATUS_SUCCESS); + basicDownloadService.updateDownloadStatus(basicDownloadStatusEntity); + } + } + + } + } + + } + public void insetOrderDb(SpsSyncOrderResponse syncDataResponse, IoOrderEntity orderEntity) { //更新码详情 if (CollUtil.isNotEmpty(syncDataResponse.getOrderDetailCodeEntities())) { diff --git a/src/main/resources/application-wmd.yml b/src/main/resources/application-wmd.yml new file mode 100644 index 000000000..e0ec69b11 --- /dev/null +++ b/src/main/resources/application-wmd.yml @@ -0,0 +1,55 @@ +server: + port: 9991 +spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + jdbc-url: jdbc:mysql://192.168.0.66:3364/udi_wms_glxp?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true + username: root + password: Glxp@6066 + hikari: + connection-timeout: 60000 + maximum-pool-size: 60 + minimum-idle: 10 + redis: + database: 8 + host: 127.0.0.1 + port: 6401 + # password: 123456 + timeout: 300 + jedis: + pool: + max-active: 8 + max-wait: -1 + max-idle: 8 + min-idle: 0 + jackson: + date-format: yyyy-MM-dd HH:mm:ss + time-zone: GMT+8 + servlet: + multipart: + max-file-size: 500MB + max-request-size: 500MB + +ok: + http: + connect-timeout: 3000 + read-timeout: 3000 + write-timeout: 3000 + max-idle-connections: 200 + keep-alive-duration: 300 + + +logging: + level: + com.glxp.api.dao: debug + +file_path: D:/udi/udiwms/udiwmsfile/ +UDI_KEY: 6b137c66-6286-46c6-8efa-c2f5dd9237df +UDI_SERVER_URL: https://www.udims.com/UDI_DL_Server_test +SPMS_KEY: lCOdWCBKS6Kw45wdnnqUTELXyuSKnXEs + +back_file_path: D:/share/udisps/back/ +API_KEY: 1101 +API_SECRET: zBITspLNvuoEd4FaamlSoqxRHmNsmQ9L + +