获取威伟电表定时任务调整

master
FCD 2 months ago
parent 7d3cda3c4d
commit 98756e0a16

@ -7,6 +7,7 @@ import com.op.system.api.factory.RemoteEnergyFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import java.util.Map;
@ -27,8 +28,8 @@ public interface RemoteEnergyService {
@PostMapping(value = "/record/dnbInstant/getNhEnergyDetail")
public R SyncNhEnergyDetail();
public R SyncNhEnergyDetail(@RequestHeader Map<String,String> header);
@PostMapping(value = "/record/dnbInstant/fixWwEnergyData",headers = {"poolName=ds_1000"})
public R syncFixWwEnergyData(@RequestBody Map<String ,String> map);
@PostMapping(value = "/record/dnbInstant/fixWwEnergyData")
public R syncFixWwEnergyData(@RequestBody Map<String ,String> map,@RequestHeader Map<String,String> header);
}

@ -35,12 +35,12 @@ public class RemoteEnergyFallbackFactory implements FallbackFactory<RemoteEnergy
}
@Override
public R SyncNhEnergyDetail() {
public R SyncNhEnergyDetail(Map<String, String> header) {
return R.fail("同步电表实时数据失败:" + throwable.getMessage());
}
@Override
public R syncFixWwEnergyData(Map<String ,String> map) {
public R syncFixWwEnergyData(Map<String ,String> map, Map<String,String> header) {
return R.fail("修正威伟电表数据失败:" + throwable.getMessage());
}
};

@ -248,6 +248,7 @@ public class RecordDnbInstantServiceImpl implements IRecordDnbInstantService {
}
@Override
@DS("#header.poolName")
public void getNhEnergyDetail() {
Map<String,String> params = new HashMap<>();
params.put("dateType","mi15");
@ -322,10 +323,6 @@ public class RecordDnbInstantServiceImpl implements IRecordDnbInstantService {
}
}
DynamicDataSourceContextHolder.push("ds_1000");
try {
for (RecordDnbInstant item : list) {
BaseMonitorInfo temp = new BaseMonitorInfo();
temp.setConnCode(item.getMonitorId());
@ -335,9 +332,6 @@ public class RecordDnbInstantServiceImpl implements IRecordDnbInstantService {
recordDnbInstantMapper.insertRecordDnbInstant(item);
}
}
}finally {
DynamicDataSourceContextHolder.poll();
}
}

@ -1,9 +1,11 @@
package com.op.job.task;
import com.op.job.util.MultiDbFeignExecutor;
import com.op.system.api.*;
import com.op.system.api.domain.sap.SapRouterQuery;
import com.op.system.api.domain.sap.SapShopOrderQuery;
import com.op.system.api.domain.sap.SapZmesGetMchb;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -14,6 +16,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ThreadLocalRandom;
/**
*
@ -21,6 +24,7 @@ import java.util.Map;
* @author OP
*/
@Component("ryTask")
@Slf4j
public class RyTask {
protected Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
@ -46,6 +50,9 @@ public class RyTask {
@Autowired
private RemoteEnergyService remoteEnergyService;
@Autowired
private MultiDbFeignExecutor multiDbFeignExecutor;
public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i) {
System.out.println(StringUtils.format("执行多参方法: 字符串类型{},布尔类型{},长整型{},浮点型{},整形{}", s, b, l, d, i));
}
@ -271,7 +278,16 @@ public class RyTask {
/**********同步电实时数据*********/
public void SyncNhEnergyDetail(){
logger.info("++同步电实时数据+开始++getNhEnergyDetail+++++");
remoteEnergyService.SyncNhEnergyDetail();
multiDbFeignExecutor.execute("syncFixWwEnergyData", dbHeader -> {
try {
//每个数据库线程休眠1到5秒防止威伟电表接口限流
int randomMills = ThreadLocalRandom.current().nextInt(1000, 5001);
Thread.sleep(randomMills);
remoteEnergyService.SyncNhEnergyDetail(dbHeader);
}catch (Exception e){
log.info("任务执行出错");
}
});
}
@ -297,19 +313,24 @@ public class RyTask {
/**********修正威伟电表数据(有参)*********/
public void syncFixWwEnergyData(String beginDate,String endDate){
logger.info("+++修正威伟电表数据(有参)++syncFixWwEnergyData+++++");
multiDbFeignExecutor.execute("syncFixWwEnergyData", dbHeader -> {
Map<String ,String> map = new HashMap<>();
map.put("beginDate",beginDate);
map.put("endDate",endDate);
remoteEnergyService.syncFixWwEnergyData(map);
remoteEnergyService.syncFixWwEnergyData(map,dbHeader);
});
}
/** 修正威伟电表数据(无参) **/
public void syncFixWwEnergyData(){
logger.info("+++修正威伟电表数据(无参)++syncFixWwEnergyData+++++");
multiDbFeignExecutor.execute("syncFixWwEnergyData", dbHeader -> {
Map<String ,String> map = new HashMap<>();
map.put("beginDate","");
map.put("endDate","");
remoteEnergyService.syncFixWwEnergyData(map);
remoteEnergyService.syncFixWwEnergyData(map,dbHeader);
});
}
}

Loading…
Cancel
Save