diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/param/SyncDataSetController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/param/SyncDataSetController.java index 6af0259..04c61e9 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/param/SyncDataSetController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/param/SyncDataSetController.java @@ -9,6 +9,8 @@ import com.glxp.sale.admin.res.param.SyncDataSetResponse; import com.glxp.sale.admin.service.param.SyncDataBustypeService; import com.glxp.sale.admin.service.param.SyncDataSetService; import com.glxp.sale.admin.util.BeanUtils; +import com.glxp.sale.admin.util.Constant; +import com.glxp.sale.admin.util.RedisUtil; import com.glxp.sale.common.enums.ResultEnum; import com.glxp.sale.common.res.BaseResponse; import com.glxp.sale.common.util.ResultVOUtils; @@ -30,12 +32,22 @@ public class SyncDataSetController { private SyncDataSetService syncDataSetService; @Resource private SyncDataBustypeService syncDataBustypeService; + @Resource + private RedisUtil redisUtil; @AuthRuleAnnotation("system/param/syncData/config") @GetMapping("/system/param/syncData/config") public BaseResponse list() { - return ResultVOUtils.success(syncDataSetService.selectSet()); + + Integer delaySyncTime = (Integer) redisUtil.get(Constant.DELAY_SYNC_TIME); + if (delaySyncTime != null) { + long time = redisUtil.getExpire(Constant.DELAY_SYNC_TIME); + delaySyncTime = Math.toIntExact(time) / 60; + } + SyncDataSetResponse syncDataSetResponse = syncDataSetService.selectSet(); + syncDataSetResponse.setDelaySyncTime(delaySyncTime); + return ResultVOUtils.success(syncDataSetResponse); } @AuthRuleAnnotation("system/param/syncData/save") @@ -50,6 +62,11 @@ public class SyncDataSetController { syncDataBustypeService.inserts(busTypes); syncDataSetEntity.setBusTypes(null); boolean b = syncDataSetService.insert(syncDataSetEntity); + if (syncDataSetResponse.getDelaySyncTime() != null && + syncDataSetResponse.getDelaySyncTime() > 0) { + redisUtil.set(Constant.DELAY_SYNC_TIME, syncDataSetResponse.getDelaySyncTime(), (syncDataSetResponse.getDelaySyncTime() + 1) * 60); + redisUtil.set("SPS_SYNC_GEN_DATA", System.currentTimeMillis() + syncDataSetResponse.getDelaySyncTime() * 60 * 1000); + } if (!b) { return ResultVOUtils.error(ResultEnum.NOT_NETWORK); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/res/param/SyncDataSetResponse.java b/api-admin/src/main/java/com/glxp/sale/admin/res/param/SyncDataSetResponse.java index 3dba040..29b36e7 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/res/param/SyncDataSetResponse.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/res/param/SyncDataSetResponse.java @@ -31,6 +31,7 @@ public class SyncDataSetResponse { private String orderSyncStart; private String basicSyncStart; private boolean entrustAction; + private Integer delaySyncTime; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/util/Constant.java b/api-admin/src/main/java/com/glxp/sale/admin/util/Constant.java index 4e2b92c..f684d67 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/util/Constant.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/util/Constant.java @@ -22,5 +22,6 @@ public class Constant { public static final String BUS_ORDER = "ZY"; public static String SPTM_TO_DI = "sptm_to_di"; + public static String DELAY_SYNC_TIME = "DELAY_SYNC_TIME"; }