lng日报数据拉取

pull/62/head
Josez 1 year ago
parent 2f2df72499
commit 8b34279dee

@ -20,7 +20,7 @@
<!-- slf4j -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<artifactId>slf4j-reload4j</artifactId>
<version>${slf4j-api.version}</version>
</dependency>
<!-- junit -->
@ -38,6 +38,18 @@
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>com.wanhua</groupId>
<artifactId>stationv3-http-data-collector</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.wanhua</groupId>
<artifactId>stationv3-base-dao-service</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>

@ -1,6 +1,7 @@
package com.wanhua.frameless.stationv3.config;
import com.wanhua.frameless.stationv3.jobhandler.LngCollectorJob;
import com.xxl.job.core.executor.impl.XxlJobSimpleExecutor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -48,6 +49,8 @@ public class StationV3CollectorJobConfig {
// registry job bean
xxlJobExecutor.setXxlJobBeanList(Arrays.asList(new StationV3CollectorJob()));
xxlJobExecutor.setXxlJobBeanList(Arrays.asList(new LngCollectorJob()));
// start executor
try {
xxlJobExecutor.start();

@ -0,0 +1,159 @@
package com.wanhua.frameless.stationv3.jobhandler;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.wanhua.lng.daySale.model.SaleDaily;
import com.wanhua.lng.daySale.model.SaleDailyInfo;
import com.wanhua.lng.daySale.service.impl.SaleDailyInfoServiceImpl;
import com.wanhua.lng.daySale.service.impl.SaleDailyServiceImpl;
import com.wanhua.stationservice.baseDaoService.service.impl.PumpServiceImpl;
import com.wanhua.stationservice.baseutils.security.CommonBasedAESUtil;
import com.wanhua.stationv3.data.collector.CollectorTest;
import com.wanhua.stationv3.data.collector.LngCollector;
import com.wanhua.stationv3.data.collector.TokenUtil;
import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.annotation.XxlJob;
import io.netty.util.internal.StringUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Map;
import java.util.concurrent.TimeUnit;
/**
* XxlJobBean
*
*
* 1Spring BeanJob
* 2Job "@XxlJob(value="jobhandler", init = "JobHandler", destroy = "JobHandler")"valueJobHandler
* 3 "XxlJobHelper.log"
* 4 "成功" "XxlJobHelper.handleFail/handleSuccess"
*
* @author xuxueli 2019-12-11 21:52:51
*/
public class LngCollectorJob {
private static Logger logger = LoggerFactory.getLogger(LngCollectorJob.class);
SaleDailyServiceImpl dailyServiceImpl = new SaleDailyServiceImpl();
SaleDailyInfoServiceImpl dailyInfoServiceImpl = new SaleDailyInfoServiceImpl();
/**
* 1Bean
*/
@XxlJob("getSaleDaily")
public void demoJobHandler() throws Exception {
XxlJobHelper.log("XXL-JOB,begin start ");
String param = XxlJobHelper.getJobParam();
Map<String,String> params = JSONObject.parseObject(param,Map.class);
//{"time":"2024-01-01/2024-01-03","code":"1-A6201-C001-S085,1-A6201-C001-S084"}
LocalDate yesterday = LocalDate.now().minusDays(1);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String formattedDate = yesterday.format(formatter);
String code = params.get("code");
String fullToken = TokenUtil.getTokenFromServer("xieke");
XxlJobHelper.log("token: "+ fullToken);
String secondsFormat = fullToken.substring(0,15);
Long sinceSeconds = Long.parseLong(secondsFormat);
XxlJobHelper.log("since seconds: "+ sinceSeconds);
String tokenFormat = fullToken.substring(15);
String newToken = CommonBasedAESUtil.decrypt("12345678900abcde", "78945612300abcde", tokenFormat);
newToken = newToken.substring(0, newToken.indexOf("SALT1234567890"));
XxlJobHelper.log("realtoken "+ newToken);
String token = newToken;
if(!StringUtil.isNullOrEmpty(params.get("time"))){
String times = params.get("time");
String start = times.split("/")[0];
String end = times.split("/")[1];
}else{
String[] codes = code.split(",");
for (String codeParam : codes){
XxlJobHelper.log("start get data"+codeParam+"time:"+formattedDate);
Map<String,Object> dataMap = LngCollector.getTankGunInfo(codeParam,formattedDate,token);
String businessDay = dataMap.get("businessDay").toString();
// 期初库存、本期进货、加气机发出量、数量、单价、本期损溢处理、期末库存
JSONArray gasSoldList =(JSONArray) dataMap.get("gasSoldList");
if(gasSoldList.size()>0){
JSONObject sold = gasSoldList.getJSONObject(0);
SaleDaily daily = new SaleDaily();
daily.setBusinessDay(businessDay);
daily.setStationCode(code);
daily.setStartVolume(sold.get("startVolume").toString());
daily.setEndVolume(sold.get("endVolume").toString());
daily.setPurchaseVolume(sold.get("purchaseVolume").toString());
daily.setIssuedVolume(sold.get("issuedVolume").toString());
daily.setProfitLossVolume(sold.get("profitLossVolume").toString());
JSONArray gasSoldItemList = sold.getJSONArray("gasSoldItemList");
if(gasSoldItemList.size()>0){
JSONObject gasSold = gasSoldItemList.getJSONObject(0);
daily.setUnitPrice(gasSold.get("unitPrice").toString());
daily.setSalesVolume(gasSold.get("salesVolume").toString());
}
dailyServiceImpl.saveOne(daily);
}
//不同支付类型销售数据统计
JSONArray gasPaymentList =(JSONArray) dataMap.get("gasPaymentList");
if(gasSoldList.size()>0){
// for(Object info : gasPaymentList) {
// JSONObject sold = (JSONObject) JSONObject.toJSON(info);
// SaleDailyInfo daily = new SaleDailyInfo();
// daily.setBusinessDay(businessDay);
// daily.setStationCode(code);
// daily.setUnitPrice(sold.get("unitPrice"));
// daily.setEndVolume(sold.get("endVolume").toString());
// daily.setPurchaseVolume(sold.get("purchaseVolume").toString());
// daily.setIssuedVolume(sold.get("issuedVolume").toString());
// daily.setProfitLossVolume(sold.get("profitLossVolume").toString());
//
// JSONArray gasSoldItemList = sold.getJSONArray("gasSoldItemList");
// if (gasSoldItemList.size() > 0) {
// JSONObject gasSold = gasSoldItemList.getJSONObject(0);
// daily.setUnitPrice(gasSold.get("unitPrice").toString());
// daily.setSalesVolume(gasSold.get("salesVolume").toString());
// }
//
// dailyInfoServiceImpl.saveOne(daily);
// }
}
XxlJobHelper.log("start get data"+codeParam+" end");
}
}
}
/**
* 5
*/
@XxlJob(value = "demoJobHandler2", init = "init", destroy = "destroy")
public void demoJobHandler2() throws Exception {
XxlJobHelper.log("XXL-JOB, Hello World.");
}
public void init(){
logger.info("init");
}
public void destroy(){
logger.info("destroy");
}
}
Loading…
Cancel
Save