liukangdong
2024-10-18 a2746876e81443d52bc4cb6f35bf8554741a6b4c
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/openapi/HkOpenApiController.java
@@ -1,28 +1,31 @@
package com.doumee.cloud.openapi;
import com.alibaba.fastjson.JSONObject;
import com.doumee.api.BaseController;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.config.annotation.LoginNoRequired;
import com.doumee.core.annotation.pr.PreventRepeat;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DESUtil;
import com.doumee.core.wms.model.response.WmsBaseResponse;
import com.doumee.dao.openapi.request.*;
import com.doumee.dao.openapi.response.*;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.business.PlatformJobService;
import com.doumee.service.business.PlatformLogService;
import com.doumee.service.business.PlatformService;
import com.doumee.service.business.PlatformWaterGasService;
import com.doumee.service.business.*;
import com.doumee.service.system.SystemUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.*;
/**
@@ -31,17 +34,23 @@
 */
@Api(tags = "提供安防平台对接接口(数据大屏基础数据等)")
@RestController
@Slf4j
@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/hk/api")
public class HkOpenApiController extends BaseController {
    @Autowired
    private PlatformService platformService;
    @Autowired
    private InterfaceLogService interfaceLogService;
    @Autowired
    private PlatformLogService platformLogService;
    @Autowired
    private PlatformJobService platformJobService;
    @Autowired
    private PlatformWarnEventService platformWarnEventService;
    @Autowired
    private PlatformWaterGasService platformWaterGasService;
@@ -59,17 +68,28 @@
    @ApiOperation("token解析")
    @GetMapping("/water/decodeToken")
    public Map<String,Object> decodeToken(@RequestParam String token) {
        log.info("【安防平台单点登录token解析】================="+token);
        int success = Constants.ZERO;
        Map<String,Object>  result = new HashMap<>() ;
        try {
            token = URLDecoder.decode(token,"UTF-8");
            HkBaseTokenRequest hkBaseTokenRequest = new HkBaseTokenRequest();
            hkBaseTokenRequest.setToken(token);
            result = this.decodeTokenForHk(hkBaseTokenRequest);
        }catch (BusinessException e){
            log.error("【安防平台】单点登录token解===失败:"+e.getMessage());
            success = Constants.ONE;
        }catch (Exception e){
            log.error("【安防平台】单点登录token解析===失败:"+e.getMessage());
            e.printStackTrace();
            success = Constants.ONE;
        }finally {
            interfaceLogService.saveInterfaceLog("/hk/api/water/decodeToken", "【安防平台】单点登录token解析",token,
                    success, JSONObject.toJSONString(result),Constants.ZERO);
        }
        HkBaseTokenRequest hkBaseTokenRequest = new HkBaseTokenRequest();
        hkBaseTokenRequest.setToken(token);
        return this.decodeTokenForHk(hkBaseTokenRequest);
        return result;
    }
    public Map<String,Object> decodeTokenForHk(HkBaseTokenRequest hkBaseTokenRequest){
    public Map<String,Object> decodeTokenForHk(HkBaseTokenRequest hkBaseTokenRequest)   {
        Map<String,Object> result = new HashMap<>();
        result.put("code","0");
        result.put("msg","success");
@@ -84,7 +104,7 @@
            result.put("msg","token无效!");
            return result;
        }
        String userName = DESUtil.verifyHkToken(hkBaseTokenRequest.getToken());
        String userName = DESUtil.verifyHkToken( redisToken);;
        if(StringUtils.isBlank(userName)){
            result.put("code","-1");
            result.put("msg","token参数为空");
@@ -123,10 +143,27 @@
    @LoginNoRequired
    @PreventRepeat
    @ApiOperation("【用水量】近12个月用水量信息列表")
    @PostMapping("/water/lastMonthsDataList")
    public ApiResponse<List<PlatformLastMonthListResponse>> lastMonthsWaterList() {
        return ApiResponse.success(platformWaterGasService.getPlatformLastMonthListResponse(Constants.ZERO));
    }
    @LoginNoRequired
    @PreventRepeat
    @ApiOperation("【用气量】本月、上月和去年同月")
    @PostMapping("/gas/dataByMonth")
    public ApiResponse<GasByMonthResponse> gasDataByMonth(@RequestBody GasByMonthRequest param) {
        return ApiResponse.success(platformWaterGasService.gasDataByMonth(param));
    }
    @LoginNoRequired
    @PreventRepeat
    @ApiOperation("【用气量】近12个月用气量信息列表")
    @PostMapping("/gas/lastMonthsDataList")
    public ApiResponse<List<PlatformLastMonthListResponse>> lastMonthsGasList () {
        return ApiResponse.success(platformWaterGasService.getPlatformLastMonthListResponse(Constants.ONE));
    }
    @LoginNoRequired
@@ -151,7 +188,7 @@
    @PreventRepeat
    @ApiOperation("【月台】月台当前作业信息列表")
    @PostMapping("/platform/workingDataList")
    public ApiResponse<List<PlatformDataListResponse>> platformWorkingDataList(@RequestBody PlatformDataListRequest param) {
    public ApiResponse<List<PlatformDataListResponse>> workingDataList(@RequestBody PlatformDataListRequest param) {
        return ApiResponse.success(platformJobService.platformWorkingDataList(param));
    }
@@ -159,7 +196,7 @@
    @PreventRepeat
    @ApiOperation("【月台】月台作业详情信息")
    @PostMapping("/platform/workDataInfo")
    public ApiResponse<PlatformDataInfoResponse> platformWorkingDataList(@RequestBody PlatformDataInfoRequest param) {
    public ApiResponse<PlatformDataInfoResponse> workDataInfo(@RequestBody PlatformDataInfoRequest param) {
        return ApiResponse.success(platformJobService.platformWorkingDataList(param));
    }
@@ -193,6 +230,14 @@
    @ApiOperation("【月台】预警事件集合列表")
    @PostMapping("/platform/warningEventList")
    public ApiResponse<List<PlatformWarnEventListResponse>> warningEventList(@RequestBody PlatformWarnEventListRequest param) {
        return ApiResponse.success(new ArrayList<>());
        return ApiResponse.success(platformWarnEventService.findListToHk());
    }
    @LoginNoRequired
    @PreventRepeat
    @ApiOperation("【月台】月台状态")
    @PostMapping("/platform/getStatusList")
    public ApiResponse<List<PlatformStatusListResponse>> getStatusList() {
        return ApiResponse.success(platformService.getPlatformStatusList());
    }
}