新增数据延时同步功能

fencang
anthonyywj2 3 years ago
parent b366783407
commit d957d52e08

@ -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.SyncDataBustypeService;
import com.glxp.sale.admin.service.param.SyncDataSetService; import com.glxp.sale.admin.service.param.SyncDataSetService;
import com.glxp.sale.admin.util.BeanUtils; 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.enums.ResultEnum;
import com.glxp.sale.common.res.BaseResponse; import com.glxp.sale.common.res.BaseResponse;
import com.glxp.sale.common.util.ResultVOUtils; import com.glxp.sale.common.util.ResultVOUtils;
@ -30,12 +32,22 @@ public class SyncDataSetController {
private SyncDataSetService syncDataSetService; private SyncDataSetService syncDataSetService;
@Resource @Resource
private SyncDataBustypeService syncDataBustypeService; private SyncDataBustypeService syncDataBustypeService;
@Resource
private RedisUtil redisUtil;
@AuthRuleAnnotation("system/param/syncData/config") @AuthRuleAnnotation("system/param/syncData/config")
@GetMapping("/system/param/syncData/config") @GetMapping("/system/param/syncData/config")
public BaseResponse list() { 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") @AuthRuleAnnotation("system/param/syncData/save")
@ -50,6 +62,11 @@ public class SyncDataSetController {
syncDataBustypeService.inserts(busTypes); syncDataBustypeService.inserts(busTypes);
syncDataSetEntity.setBusTypes(null); syncDataSetEntity.setBusTypes(null);
boolean b = syncDataSetService.insert(syncDataSetEntity); 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) { if (!b) {
return ResultVOUtils.error(ResultEnum.NOT_NETWORK); return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
} }

@ -31,6 +31,7 @@ public class SyncDataSetResponse {
private String orderSyncStart; private String orderSyncStart;
private String basicSyncStart; private String basicSyncStart;
private boolean entrustAction; private boolean entrustAction;
private Integer delaySyncTime;
} }

@ -22,5 +22,6 @@ public class Constant {
public static final String BUS_ORDER = "ZY"; public static final String BUS_ORDER = "ZY";
public static String SPTM_TO_DI = "sptm_to_di"; public static String SPTM_TO_DI = "sptm_to_di";
public static String DELAY_SYNC_TIME = "DELAY_SYNC_TIME";
} }

Loading…
Cancel
Save