新增数据延时同步功能

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.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);
}

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

@ -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";
}

Loading…
Cancel
Save