Compare commits
2 Commits
584ad2e6e4
...
855967d083
| Author | SHA1 | Date | |
|---|---|---|---|
| 855967d083 | |||
| 530f4396f7 |
@ -31,6 +31,8 @@ public class AnnualOverviewResp {
|
|||||||
@ApiModelProperty(value = "年总充")
|
@ApiModelProperty(value = "年总充")
|
||||||
BigDecimal yearCharge;
|
BigDecimal yearCharge;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "今日收益")
|
||||||
|
BigDecimal todayProfit;
|
||||||
|
|
||||||
@ApiModelProperty(value = "昨日收益")
|
@ApiModelProperty(value = "昨日收益")
|
||||||
BigDecimal yestProfit;
|
BigDecimal yestProfit;
|
||||||
|
|||||||
@ -282,6 +282,7 @@ public class IargeScreenShowServiceImpl implements IargeScreenShowService {
|
|||||||
annualOverviewResp.setYestProfit(overviewProfit.getYestProfit()==null?null:overviewProfit.getYestProfit().multiply(new BigDecimal("10000")));
|
annualOverviewResp.setYestProfit(overviewProfit.getYestProfit()==null?null:overviewProfit.getYestProfit().multiply(new BigDecimal("10000")));
|
||||||
annualOverviewResp.setYearProfit(overviewProfit.getYearProfit()==null?null:overviewProfit.getYearProfit().multiply(new BigDecimal("10000")));
|
annualOverviewResp.setYearProfit(overviewProfit.getYearProfit()==null?null:overviewProfit.getYearProfit().multiply(new BigDecimal("10000")));
|
||||||
annualOverviewResp.setTotalProfit(overviewProfit.getTotalProfit()==null?null:overviewProfit.getTotalProfit().multiply(new BigDecimal("10000")));
|
annualOverviewResp.setTotalProfit(overviewProfit.getTotalProfit()==null?null:overviewProfit.getTotalProfit().multiply(new BigDecimal("10000")));
|
||||||
|
annualOverviewResp.setTodayProfit(overviewProfit.getTodayProfit()==null?null:overviewProfit.getTodayProfit().multiply(new BigDecimal("10000")));
|
||||||
//时间当年
|
//时间当年
|
||||||
DateTime begin = DateUtil.beginOfYear(new Date());
|
DateTime begin = DateUtil.beginOfYear(new Date());
|
||||||
String beginString = DateUtil.format(begin, CommonConstant.DATE_YMD);
|
String beginString = DateUtil.format(begin, CommonConstant.DATE_YMD);
|
||||||
@ -1532,7 +1533,7 @@ public class IargeScreenShowServiceImpl implements IargeScreenShowService {
|
|||||||
if(beginDate == null){
|
if(beginDate == null){
|
||||||
return annualOverviewResp;
|
return annualOverviewResp;
|
||||||
}
|
}
|
||||||
Date date = DateUtil.yesterday();
|
Date date = DateUtil.date();
|
||||||
Date startDate = DateUtil.beginOfYear(beginDate);
|
Date startDate = DateUtil.beginOfYear(beginDate);
|
||||||
Date endDate = DateUtil.endOfDay(date);
|
Date endDate = DateUtil.endOfDay(date);
|
||||||
String begin = DateUtil.format(startDate, CommonConstant.DATE_YMD);
|
String begin = DateUtil.format(startDate, CommonConstant.DATE_YMD);
|
||||||
@ -1546,6 +1547,7 @@ public class IargeScreenShowServiceImpl implements IargeScreenShowService {
|
|||||||
profitList.add(dayProfitType);
|
profitList.add(dayProfitType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//计算总收益
|
||||||
Map<String, List<DayProfitType>> dayMap = profitList.stream().collect(Collectors.groupingBy(DayProfitType::getDay));
|
Map<String, List<DayProfitType>> dayMap = profitList.stream().collect(Collectors.groupingBy(DayProfitType::getDay));
|
||||||
List<AnnualChartValue> yearProfitCurve = new ArrayList<>();
|
List<AnnualChartValue> yearProfitCurve = new ArrayList<>();
|
||||||
getAnnualOverviewResp(yearProfitCurve, dateTimes, CommonConstant.DATE_Y, dayMap);
|
getAnnualOverviewResp(yearProfitCurve, dateTimes, CommonConstant.DATE_Y, dayMap);
|
||||||
@ -1554,6 +1556,7 @@ public class IargeScreenShowServiceImpl implements IargeScreenShowService {
|
|||||||
yearProfit = yearProfit.add(chartValue.getProfit());
|
yearProfit = yearProfit.add(chartValue.getProfit());
|
||||||
}
|
}
|
||||||
annualOverviewResp.setTotalProfit(yearProfit);
|
annualOverviewResp.setTotalProfit(yearProfit);
|
||||||
|
//计算年收益
|
||||||
startDate = DateUtil.beginOfYear(date);
|
startDate = DateUtil.beginOfYear(date);
|
||||||
List<DateTime> nowDateTime = DateUtil.rangeToList(startDate, endDate, DateField.MONTH);
|
List<DateTime> nowDateTime = DateUtil.rangeToList(startDate, endDate, DateField.MONTH);
|
||||||
List<AnnualChartValue> monthProfitCurve = new ArrayList<>();
|
List<AnnualChartValue> monthProfitCurve = new ArrayList<>();
|
||||||
@ -1563,6 +1566,18 @@ public class IargeScreenShowServiceImpl implements IargeScreenShowService {
|
|||||||
monthProfit = monthProfit.add(chartValue.getProfit());
|
monthProfit = monthProfit.add(chartValue.getProfit());
|
||||||
}
|
}
|
||||||
annualOverviewResp.setYearProfit(monthProfit);
|
annualOverviewResp.setYearProfit(monthProfit);
|
||||||
|
// 计算今日收益
|
||||||
|
List<DateTime> todayDateTime = DateUtil.rangeToList(endDate, endDate, DateField.DAY_OF_MONTH);
|
||||||
|
List<AnnualChartValue> todayProfitCurve = new ArrayList<>();
|
||||||
|
getAnnualOverviewResp(todayProfitCurve, todayDateTime, CommonConstant.DATE_YMD, dayMap);
|
||||||
|
BigDecimal todayProfit = BigDecimal.ZERO;
|
||||||
|
for (AnnualChartValue chartValue : todayProfitCurve) {
|
||||||
|
todayProfit = todayProfit.add(chartValue.getProfit());
|
||||||
|
}
|
||||||
|
annualOverviewResp.setTodayProfit(todayProfit);
|
||||||
|
// 计算昨日收益
|
||||||
|
date = DateUtil.yesterday();
|
||||||
|
endDate = DateUtil.endOfDay(date);
|
||||||
List<DateTime> dayDateTime = DateUtil.rangeToList(endDate, endDate, DateField.DAY_OF_MONTH);
|
List<DateTime> dayDateTime = DateUtil.rangeToList(endDate, endDate, DateField.DAY_OF_MONTH);
|
||||||
List<AnnualChartValue> dayProfitCurve = new ArrayList<>();
|
List<AnnualChartValue> dayProfitCurve = new ArrayList<>();
|
||||||
getAnnualOverviewResp(dayProfitCurve, dayDateTime, CommonConstant.DATE_YMD, dayMap);
|
getAnnualOverviewResp(dayProfitCurve, dayDateTime, CommonConstant.DATE_YMD, dayMap);
|
||||||
@ -1606,12 +1621,13 @@ public class IargeScreenShowServiceImpl implements IargeScreenShowService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
BigDecimal result = dischargeProfit.subtract(chargeProfit).divide(new BigDecimal("10000"));
|
BigDecimal result = dischargeProfit.subtract(chargeProfit).divide(new BigDecimal("10000"));
|
||||||
if (result.doubleValue() > 0.0) {
|
// if (result.doubleValue() > 0.0) {
|
||||||
|
// annualChartValue.setProfit(result);
|
||||||
|
// } else {
|
||||||
|
// log.info("{},大屏计算收益,放电收益小于充电收益",day);
|
||||||
|
// annualChartValue.setProfit(BigDecimal.ZERO);
|
||||||
|
// }
|
||||||
annualChartValue.setProfit(result);
|
annualChartValue.setProfit(result);
|
||||||
} else {
|
|
||||||
log.info("{},大屏计算收益,放电收益小于充电收益",day);
|
|
||||||
annualChartValue.setProfit(BigDecimal.ZERO);
|
|
||||||
}
|
|
||||||
annualChartValue.setTime(day);
|
annualChartValue.setTime(day);
|
||||||
curveResult.add(annualChartValue);
|
curveResult.add(annualChartValue);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -146,6 +146,16 @@
|
|||||||
<groupId>org.springframework</groupId>
|
<groupId>org.springframework</groupId>
|
||||||
<artifactId>spring-web</artifactId>
|
<artifactId>spring-web</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.squareup.okhttp3</groupId>
|
||||||
|
<artifactId>okhttp</artifactId>
|
||||||
|
<version>4.12.0</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.json</groupId>
|
||||||
|
<artifactId>json</artifactId>
|
||||||
|
<version>20231013</version>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,79 @@
|
|||||||
|
package com.ho.common.tools.util;
|
||||||
|
|
||||||
|
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import okhttp3.*;
|
||||||
|
import org.json.JSONArray;
|
||||||
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
/**
|
||||||
|
* @author kerwin
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
public class TranslateUtils {
|
||||||
|
|
||||||
|
public static final String API_KEY = "hNDgbvTzhQymYvVvcAhCWEkh";
|
||||||
|
public static final String SECRET_KEY = "tkgqkVDEJi8xBSrToNPdJdV2CYFNZM31";
|
||||||
|
|
||||||
|
public static final OkHttpClient HTTP_CLIENT = new OkHttpClient().newBuilder().readTimeout(300, TimeUnit.SECONDS).build();
|
||||||
|
|
||||||
|
|
||||||
|
// 静态翻译方法:输入待翻译文本,返回目标语言文本
|
||||||
|
public static String translate(String text) throws IOException {
|
||||||
|
MediaType mediaType = MediaType.parse("application/json");
|
||||||
|
// 动态构建请求体(支持任意文本)
|
||||||
|
String jsonBody = String.format("{\"from\":\"zh\",\"to\":\"en\",\"q\":\"%s\"}", text);
|
||||||
|
RequestBody body = RequestBody.create(mediaType, jsonBody);
|
||||||
|
|
||||||
|
Request request = new Request.Builder()
|
||||||
|
.url("https://aip.baidubce.com/rpc/2.0/mt/texttrans/v1?access_token=" + getAccessToken())
|
||||||
|
.post(body)
|
||||||
|
.addHeader("Content-Type", "application/json")
|
||||||
|
.addHeader("Accept", "application/json")
|
||||||
|
.build();
|
||||||
|
|
||||||
|
try (Response response = HTTP_CLIENT.newCall(request).execute()) {
|
||||||
|
String responseBody = response.body().string();
|
||||||
|
// 解析JSON获取dst值
|
||||||
|
return parseDstFromResponse(responseBody);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 解析JSON响应并提取dst
|
||||||
|
private static String parseDstFromResponse(String jsonResponse) {
|
||||||
|
JSONObject root = new JSONObject(jsonResponse);
|
||||||
|
JSONObject result = root.getJSONObject("result");
|
||||||
|
JSONArray transResult = result.getJSONArray("trans_result");
|
||||||
|
// 获取第一条翻译结果的dst字段
|
||||||
|
return transResult.getJSONObject(0).getString("dst");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 示例调用
|
||||||
|
public static void main(String[] args) throws IOException {
|
||||||
|
String translated = translate("PCS环境过温降额[恢复]");
|
||||||
|
System.out.println("翻译结果: " + translated); // 输出: active power
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 从用户的AK,SK生成鉴权签名(Access Token)
|
||||||
|
*
|
||||||
|
* @return 鉴权签名(Access Token)
|
||||||
|
* @throws IOException IO异常
|
||||||
|
*/
|
||||||
|
static String getAccessToken() throws IOException {
|
||||||
|
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
|
||||||
|
RequestBody body = RequestBody.create(mediaType, "grant_type=client_credentials&client_id=" + API_KEY
|
||||||
|
+ "&client_secret=" + SECRET_KEY);
|
||||||
|
Request request = new Request.Builder()
|
||||||
|
.url("https://aip.baidubce.com/oauth/2.0/token")
|
||||||
|
.method("POST", body)
|
||||||
|
.addHeader("Content-Type", "application/x-www-form-urlencoded")
|
||||||
|
.build();
|
||||||
|
Response response = HTTP_CLIENT.newCall(request).execute();
|
||||||
|
return new JSONObject(response.body().string()).getString("access_token");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user