fuliqi
2024-08-07 7ba8d7ee12e7a3600afe67f3450d3a9a50bc09bb
打通获取token接口
12个文件已修改
1个文件已添加
92 ■■■■ 已修改文件
pom.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/param/UY/UYTokenParam.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/UYLoginResult.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/PlatformApplication.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/feign/UYClient.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/interceptor/YYFeignInterceptor.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/mapper/PlatformOnlineMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/task/CheckScoreTask.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/task/HKTask.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/task/UYTask.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/task/VideoTask.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/utils/DateUtils.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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>