Commit 853ac8a7 authored by ZWT's avatar ZWT

nocommit

parent 3ec43d11
package pps.core.prediction.service; package pps.core.prediction.service;
import cn.hutool.core.date.DateUnit; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson2.JSON;
import cn.hutool.json.JSONObject; import com.alibaba.fastjson2.JSONObject;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.github.pagehelper.page.PageMethod; import com.github.pagehelper.page.PageMethod;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import pps.core.auth.HttpRequestClient; import pps.core.auth.HttpRequestClient;
import pps.core.common.cache.ThirdPartyConfigCache;
import pps.core.prediction.constant.ThirdPartyApiConstant; import pps.core.prediction.constant.ThirdPartyApiConstant;
import pps.core.prediction.entity.WellheadDailyProductionSituationEnt; import pps.core.prediction.entity.WellheadDailyProductionSituationEnt;
import pps.core.prediction.mapper.WellheadDailyProductionSituationMapper; import pps.core.prediction.mapper.WellheadDailyProductionSituationMapper;
import pps.core.prediction.service.data.wellhead_daily_production_situation.GetWellheadDailyProductionSituationInput; import pps.core.prediction.service.data.wellhead_daily_production_situation.GetWellheadDailyProductionSituationInput;
import pps.core.prediction.service.data.wellhead_daily_production_situation.GetWellheadDailyProductionSituationOutput;
import pps.core.prediction.service.data.wellhead_daily_production_situation.QueryWellheadDailyProductionSituationInput; import pps.core.prediction.service.data.wellhead_daily_production_situation.QueryWellheadDailyProductionSituationInput;
import pps.core.prediction.service.data.wellhead_daily_production_situation.QueryWellheadDailyProductionSituationOutput; import pps.core.prediction.service.data.wellhead_daily_production_situation.QueryWellheadDailyProductionSituationOutput;
import pps.core.prediction.utils.ServiceUtil; import pps.core.prediction.utils.ServiceUtil;
...@@ -23,7 +22,6 @@ import xstartup.annotation.XText; ...@@ -23,7 +22,6 @@ import xstartup.annotation.XText;
import xstartup.base.XContext; import xstartup.base.XContext;
import xstartup.base.XStartup; import xstartup.base.XStartup;
import xstartup.base.util.XCopyUtils; import xstartup.base.util.XCopyUtils;
import xstartup.base.util.XHttpUtils;
import xstartup.data.XListResult; import xstartup.data.XListResult;
import xstartup.data.XPageResult; import xstartup.data.XPageResult;
import xstartup.data.XServiceResult; import xstartup.data.XServiceResult;
...@@ -31,6 +29,7 @@ import xstartup.feature.api.annotation.XApiAnonymous; ...@@ -31,6 +29,7 @@ import xstartup.feature.api.annotation.XApiAnonymous;
import xstartup.feature.api.annotation.XApiGet; import xstartup.feature.api.annotation.XApiGet;
import xstartup.feature.api.annotation.XApiPost; import xstartup.feature.api.annotation.XApiPost;
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;
...@@ -79,12 +78,12 @@ public class WellheadDailyProductionSituationService { ...@@ -79,12 +78,12 @@ public class WellheadDailyProductionSituationService {
* *
* @param context 上下文 * @param context 上下文
* @param input 输入 * @param input 输入
* @return {@link XListResult}<{@link QueryWellheadDailyProductionSituationOutput}> * @return {@link XListResult}<{@link GetWellheadDailyProductionSituationOutput}>
*/ */
@XText("井口生产情况--甘特图") @XText("井口生产情况--甘特图")
@XApiAnonymous @XApiAnonymous
@XApiPost @XApiPost
public XListResult<QueryWellheadDailyProductionSituationOutput> queryRptSystemStartStop(XContext context, GetWellheadDailyProductionSituationInput input) { public XListResult<GetWellheadDailyProductionSituationOutput> queryRptSystemStartStop(XContext context, GetWellheadDailyProductionSituationInput input) {
String token = ServiceUtil.getToken(context); String token = ServiceUtil.getToken(context);
HttpRequestClient client = new HttpRequestClient(token); HttpRequestClient client = new HttpRequestClient(token);
Map<String, Object> param = new HashMap<>(4); Map<String, Object> param = new HashMap<>(4);
...@@ -93,9 +92,13 @@ public class WellheadDailyProductionSituationService { ...@@ -93,9 +92,13 @@ public class WellheadDailyProductionSituationService {
String url = XStartup.getCurrent().getProperty("third-party.chang-qing.url"); String url = XStartup.getCurrent().getProperty("third-party.chang-qing.url");
url += ThirdPartyApiConstant.CQ_RPT_SYSTEM_START_STOP; url += ThirdPartyApiConstant.CQ_RPT_SYSTEM_START_STOP;
String resultStr = client.doPostForm(url, param); String resultStr = client.doPostForm(url, param);
JSONObject jsonObject = JSON.parseObject(resultStr);
String data = jsonObject.getString("data");
return XListResult.success(); List<GetWellheadDailyProductionSituationOutput> outputs = JSON.parseArray(data, GetWellheadDailyProductionSituationOutput.class);
if (CollUtil.isEmpty(outputs)) {
outputs = new ArrayList<>(0);
}
return XListResult.success(outputs);
} }
...@@ -107,7 +110,7 @@ public class WellheadDailyProductionSituationService { ...@@ -107,7 +110,7 @@ public class WellheadDailyProductionSituationService {
String cqToken = ""; String cqToken = "";
String api = ""; String api = "";
try { try {
cqToken = this.getToken(context); cqToken = ServiceUtil.getToken(context);
context.getLogger().info("cqToken: " + cqToken); context.getLogger().info("cqToken: " + cqToken);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
...@@ -155,61 +158,4 @@ public class WellheadDailyProductionSituationService { ...@@ -155,61 +158,4 @@ public class WellheadDailyProductionSituationService {
} }
return XServiceResult.OK; return XServiceResult.OK;
} }
/*----------------------------------- 私有方法 -----------------------------------*/
/**
* 获取长庆TOKEN
*
* @param context 上下文
* @return {@link String}
*/
private String getToken(XContext context) {
String token;
ThirdPartyConfigCache exist = ThirdPartyConfigCache.exist(context, ThirdPartyApiConstant.CQ_TOKEN_CACHE_KEY);
if (ObjectUtil.isNull(exist)) {
token = this.getCqToken(context);
} else {
long duration = (long) exist.getDuration();
if (duration - DateUtil.between(exist.getCurrentDate(), DateUtil.date(), DateUnit.SECOND) < ThirdPartyApiConstant.MAX_SECOND) {
token = this.getCqToken(context);
} else {
token = exist.getCode();
}
}
return token;
}
/**
* 获取长庆Token
*
* @return {@link String}
*/
private String getCqToken(XContext context) {
String url = XStartup.getCurrent().getProperty("third-party.chang-qing.url");
url += ThirdPartyApiConstant.CQ_TOKEN;
Map<String, String> param = new HashMap<>(4);
param.put("UserAccount", "PvGroup");
param.put("UserPassWord", "PvGroup@147369");
String result = XHttpUtils.postAsForm(url, param);
JSONObject jsonObject = JSONUtil.parseObj(result);
String token = jsonObject.getStr("token");
this.setThirdPartyConfigCache(context, token);
return token;
}
/**
* 设置缓存
*
* @param context 上下文
* @param token 代币
*/
private void setThirdPartyConfigCache(XContext context, String token) {
ThirdPartyConfigCache cache = new ThirdPartyConfigCache();
cache.setCodeKey(ThirdPartyApiConstant.CQ_TOKEN_CACHE_KEY);
cache.setCode(token);
cache.setValidity(90);
cache.setCurrentDate(DateUtil.date());
ThirdPartyConfigCache.set(context, cache);
}
} }
\ No newline at end of file
package pps.core.prediction.service.data.wellhead_daily_production_situation;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
import xstartup.annotation.XText;
import java.util.Date;
/**
* 井口生产情况表(测试用)
*
* @author ZWT
* @date 2023/09/27
*/
@Data
public class GetWellheadDailyProductionSituationOutput {
@XText("井号")
@JSONField(name = "welL_NAME")
private String wellNumber;
@XText("开始时间")
@JSONField(name = "cycledates")
private Date startTime;
@XText("结束时间")
@JSONField(name = "cycledatee")
private Date endTime;
@XText("执行状态:停井/开井")
@JSONField(name = "status")
private String status;
@XText("创建日期")
@JSONField(name = "createdate")
private Date createdTime;
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment