pom.xml
@@ -256,7 +256,7 @@ <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> <version>4.1.3</version> <version>4.0.4</version> </dependency> ycl-pojo/src/main/java/com/ycl/platform/domain/param/UY/UYTokenParam.java
@@ -4,7 +4,6 @@ import lombok.experimental.Accessors; @Data @Accessors(chain = true) public class UYTokenParam { /** * 账号 ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/UYLoginResult.java
New file @@ -0,0 +1,14 @@ package com.ycl.platform.domain.result.UY; import lombok.Data; @Data public class UYLoginResult { private String userId; private String tenantId; private String token; private String language; private String loginIp; private Boolean updateFlag; private Boolean expiryFlag; } ycl-server/src/main/java/com/ycl/PlatformApplication.java
@@ -7,6 +7,7 @@ import org.springframework.cache.annotation.EnableCaching; import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.cloud.openfeign.FeignAutoConfiguration; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.annotation.EnableTransactionManagement; @Slf4j @@ -15,6 +16,7 @@ @EnableFeignClients(basePackages = {"com.ycl.feign"}) @ImportAutoConfiguration({FeignAutoConfiguration.class}) @SpringBootApplication //@EnableScheduling public class PlatformApplication { public static void main(String[] args) { SpringApplication.run(PlatformApplication.class, args); ycl-server/src/main/java/com/ycl/feign/UYClient.java
@@ -78,6 +78,6 @@ * @param param * @return */ @PostMapping(value = "/tenant/api/vi/user/login",headers = "No-Need-To-Token=true") @PostMapping(value = "/tenant/api/v1/user/login",headers = "No-Need-To-Token=true") JSONObject getToken(@RequestBody UYTokenParam param); } ycl-server/src/main/java/com/ycl/interceptor/YYFeignInterceptor.java
@@ -3,6 +3,7 @@ import com.alibaba.fastjson2.JSONObject; import com.ycl.feign.UYClient; import com.ycl.platform.domain.param.UY.UYTokenParam; import com.ycl.platform.domain.result.UY.UYLoginResult; import com.ycl.utils.redis.RedisCache; import feign.RequestInterceptor; import feign.RequestTemplate; @@ -34,7 +35,7 @@ @Override public void apply(RequestTemplate requestTemplate) { boolean flag = requestTemplate.headers().containsKey("No-Need-To-Token"); if(! flag) { if (!flag) { String uyToken = redisCache.getCacheObject("UY_Token"); if (uyToken == null) { uyToken = getToken(); @@ -48,8 +49,9 @@ param.setPasswd(passwd); param.setEmail(email); JSONObject jsonObject = uyClient.getToken(param); log.info("请求token数据格式" + jsonObject); redisCache.setCacheObject("Uy_Token",jsonObject.toJSONString(),3600, TimeUnit.SECONDS); return "1"; UYLoginResult loginResult = jsonObject.getObject("data", UYLoginResult.class); String token = loginResult.getToken(); redisCache.setCacheObject("Uy_Token", token, 3600, TimeUnit.SECONDS); return token; } } ycl-server/src/main/java/com/ycl/platform/mapper/PlatformOnlineMapper.java
@@ -31,4 +31,7 @@ */ IPage getPage(IPage page, @Param("query") DataCenterQuery query); //统计离线时长 Integer sumOffTime(@Param("startDate")String startDate,@Param("endDate")String endDate); } ycl-server/src/main/java/com/ycl/task/CheckScoreTask.java
@@ -88,11 +88,8 @@ addToList(templateId, checkTemplate, examineTag, templateRuleList, scoreList, indexFace, CheckConstants.Rule_Category_Face); } } //储存分数 scoreMapper.saveBatch(scoreList); //TODO:根据报警分数阈值,添加报警信息 } } ycl-server/src/main/java/com/ycl/task/HKTask.java
@@ -299,11 +299,12 @@ } //解析数据 private <T> List<T> getDataList(JSONObject faceJsonObject, Class<T> resultClass, String message) { if (faceJsonObject != null && ApiConstants.HKSuccessCode.equals(faceJsonObject.getString("code"))) { JSONObject data = faceJsonObject.getJSONObject("data"); private <T> List<T> getDataList(JSONObject jsonObject, Class<T> resultClass, String message) { if (jsonObject != null && ApiConstants.HKSuccessCode.equals(jsonObject.getString("code"))) { log.info("数据格式"+jsonObject); JSONObject data = jsonObject.getJSONObject("data"); if (data == null) { log.error(message, faceJsonObject); log.error(message, jsonObject); return null; } List<T> list = data.getList("list", resultClass); ycl-server/src/main/java/com/ycl/task/UYTask.java
@@ -3,10 +3,7 @@ import com.alibaba.fastjson2.JSONObject; import com.mongodb.client.result.DeleteResult; import com.ycl.feign.UYClient; import com.ycl.platform.domain.param.UY.OneMachineFileParam; import com.ycl.platform.domain.param.UY.OsdMonitorParam; import com.ycl.platform.domain.param.UY.QueryVqdParam; import com.ycl.platform.domain.param.UY.RecordMetaDSumParam; import com.ycl.platform.domain.param.UY.*; import com.ycl.platform.domain.result.UY.OneMachineFileResult; import com.ycl.platform.domain.result.UY.OsdMonitorResult; import com.ycl.platform.domain.result.UY.QueryVqdResult; @@ -21,6 +18,7 @@ import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; @@ -42,7 +40,10 @@ private ITMonitorService monitorService; @Value("${youYun.tenantId}") private String tenantId; @Value("${youYun.email}") private String email; @Value("${youYun.passwd}") private String passwd; //一机一档 public void monitorTask() { //一机一档合格率 @@ -52,6 +53,7 @@ OneMachineFileParam param = new OneMachineFileParam(); JSONObject jsonObject = uyClient.oneMachineFile(param); if (jsonObject != null) { log.info("数据格式"+jsonObject); JSONObject cameraList = jsonObject.getJSONObject("CameraList"); if (cameraList != null) { List<OneMachineFileResult> data = cameraList.getList("data", OneMachineFileResult.class); @@ -83,6 +85,7 @@ param.setTenantId(tenantId); JSONObject jsonObject = uyClient.queryVqdResult(param); if (jsonObject != null) { log.info("数据格式"+jsonObject); Integer statusCode = jsonObject.getInteger("statusCode"); if (ApiConstants.UYSuccessCode.equals(statusCode)) { JSONObject data = jsonObject.getJSONObject("data"); @@ -118,6 +121,7 @@ param.setTenantId(tenantId); JSONObject jsonObject = uyClient.recordMetaDSumList(param); if (jsonObject != null) { log.info("数据格式"+jsonObject); if (jsonObject.getBoolean("success")) { JSONObject data = jsonObject.getJSONObject("data"); if (data != null) { @@ -151,6 +155,7 @@ OsdMonitorParam param = new OsdMonitorParam(); JSONObject jsonObject = uyClient.osdMonitorList(param,tenantId); if (jsonObject != null) { log.info("数据格式"+jsonObject); if (jsonObject.getBoolean("success")) { JSONObject data = jsonObject.getJSONObject("data"); if (data != null) { ycl-server/src/main/java/com/ycl/task/VideoTask.java
@@ -6,6 +6,8 @@ import com.ycl.platform.domain.param.UY.RecordMetaDSumParam; import com.ycl.platform.domain.result.HK.SnapshotDataMonitorResult; import com.ycl.platform.domain.result.UY.QueryVqdResult; import com.ycl.platform.mapper.PlatformOnlineMapper; import com.ycl.platform.service.PlatformOnlineService; import com.ycl.utils.DateUtils; import constant.ApiConstants; import constant.CalculationStrategyConstants; @@ -28,6 +30,8 @@ public class VideoTask { @Autowired private MongoTemplate mongoTemplate; @Autowired private PlatformOnlineMapper platformOnlineMapper; public void siteOnlineTask(){ Date yesterday = DateUtils.addDays(new Date(), -1); @@ -56,5 +60,8 @@ } public void platformOnlineTask(){ //计算平台在线率 //拿到今日离线时长数据 Integer time = platformOnlineMapper.sumOffTime(DateUtils.getMouthStart(new Date()),DateUtils.getMouthEnd(new Date())); } } ycl-server/src/main/java/com/ycl/utils/DateUtils.java
@@ -230,6 +230,26 @@ } /** * 获取某月开始日期 */ public static String getMouthStart(@Nullable Date date) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Calendar c = Calendar.getInstance(); c.add(Calendar.MONTH, 0); c.set(Calendar.DAY_OF_MONTH,1); return df.format(c.getTime()); } /** * 获取某月结束日期 */ public static String getMouthEnd(@Nullable Date date) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Calendar c = Calendar.getInstance(); c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH)); return df.format(c.getTime()); } /** * 获取指定Calendar的季度开始日期 * @param calendar 日历 * @return 季度第一天 ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
@@ -93,4 +93,8 @@ </where> </select> <select id="sumOffTime" resultType="java.lang.Integer"> select sum(today_outline_sed) from t_platform_online where create_date between #{startDate} and #{endDate} </select> </mapper>