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

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.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import java.util.Map; import java.util.Map;
@ -27,8 +28,8 @@ public interface RemoteEnergyService {
@PostMapping(value = "/record/dnbInstant/getNhEnergyDetail") @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"}) @PostMapping(value = "/record/dnbInstant/fixWwEnergyData")
public R syncFixWwEnergyData(@RequestBody Map<String ,String> map); public R syncFixWwEnergyData(@RequestBody Map<String ,String> map,@RequestHeader Map<String,String> header);
} }

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

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

@ -1,9 +1,11 @@
package com.op.job.task; package com.op.job.task;
import com.op.job.util.MultiDbFeignExecutor;
import com.op.system.api.*; import com.op.system.api.*;
import com.op.system.api.domain.sap.SapRouterQuery; import com.op.system.api.domain.sap.SapRouterQuery;
import com.op.system.api.domain.sap.SapShopOrderQuery; import com.op.system.api.domain.sap.SapShopOrderQuery;
import com.op.system.api.domain.sap.SapZmesGetMchb; import com.op.system.api.domain.sap.SapZmesGetMchb;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -14,6 +16,7 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.ThreadLocalRandom;
/** /**
* *
@ -21,6 +24,7 @@ import java.util.Map;
* @author OP * @author OP
*/ */
@Component("ryTask") @Component("ryTask")
@Slf4j
public class RyTask { public class RyTask {
protected Logger logger = LoggerFactory.getLogger(getClass()); protected Logger logger = LoggerFactory.getLogger(getClass());
@Autowired @Autowired
@ -46,6 +50,9 @@ public class RyTask {
@Autowired @Autowired
private RemoteEnergyService remoteEnergyService; private RemoteEnergyService remoteEnergyService;
@Autowired
private MultiDbFeignExecutor multiDbFeignExecutor;
public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i) { public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i) {
System.out.println(StringUtils.format("执行多参方法: 字符串类型{},布尔类型{},长整型{},浮点型{},整形{}", s, b, l, d, i)); System.out.println(StringUtils.format("执行多参方法: 字符串类型{},布尔类型{},长整型{},浮点型{},整形{}", s, b, l, d, i));
} }
@ -271,7 +278,16 @@ public class RyTask {
/**********同步电实时数据*********/ /**********同步电实时数据*********/
public void SyncNhEnergyDetail(){ public void SyncNhEnergyDetail(){
logger.info("++同步电实时数据+开始++getNhEnergyDetail+++++"); 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){ public void syncFixWwEnergyData(String beginDate,String endDate){
logger.info("+++修正威伟电表数据(有参)++syncFixWwEnergyData+++++"); logger.info("+++修正威伟电表数据(有参)++syncFixWwEnergyData+++++");
Map<String ,String> map = new HashMap<>(); multiDbFeignExecutor.execute("syncFixWwEnergyData", dbHeader -> {
map.put("beginDate",beginDate); Map<String ,String> map = new HashMap<>();
map.put("endDate",endDate); map.put("beginDate",beginDate);
remoteEnergyService.syncFixWwEnergyData(map); map.put("endDate",endDate);
remoteEnergyService.syncFixWwEnergyData(map,dbHeader);
});
} }
/** 修正威伟电表数据(无参) **/ /** 修正威伟电表数据(无参) **/
public void syncFixWwEnergyData(){ public void syncFixWwEnergyData(){
logger.info("+++修正威伟电表数据(无参)++syncFixWwEnergyData+++++"); logger.info("+++修正威伟电表数据(无参)++syncFixWwEnergyData+++++");
Map<String ,String> map = new HashMap<>(); multiDbFeignExecutor.execute("syncFixWwEnergyData", dbHeader -> {
map.put("beginDate",""); Map<String ,String> map = new HashMap<>();
map.put("endDate",""); map.put("beginDate","");
remoteEnergyService.syncFixWwEnergyData(map); map.put("endDate","");
remoteEnergyService.syncFixWwEnergyData(map,dbHeader);
});
} }
} }

Loading…
Cancel
Save