| | |
| | | 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.*; |
| | | import com.doumee.service.system.SystemUserService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | 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.util.ArrayList; |
| | | import java.util.List; |
| | | import java.io.UnsupportedEncodingException; |
| | | import java.net.URLDecoder; |
| | | import java.net.URLEncoder; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * @author 江蹄蹄 |
| | |
| | | */ |
| | | @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; |
| | | |
| | | @Autowired |
| | | private SystemUserService systemUserService; |
| | | |
| | | @Autowired |
| | | private SystemDictDataBiz systemDictDataBiz; |
| | | |
| | | @Autowired |
| | | private RedisTemplate<String,Object> redisTemplate; |
| | | |
| | | @LoginNoRequired |
| | | @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 { |
| | | 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); |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | public Map<String,Object> decodeTokenForHk(HkBaseTokenRequest hkBaseTokenRequest) { |
| | | Map<String,Object> result = new HashMap<>(); |
| | | result.put("code","0"); |
| | | result.put("msg","success"); |
| | | if(Objects.isNull(hkBaseTokenRequest)||StringUtils.isBlank(hkBaseTokenRequest.getToken())){ |
| | | result.put("code","-1"); |
| | | result.put("msg","token参数为空"); |
| | | return result; |
| | | } |
| | | String redisToken = (String) redisTemplate.opsForValue().get(Constants.REDIS_HK_TOKEN_KEY+hkBaseTokenRequest.getToken()); |
| | | if(StringUtils.isBlank(redisToken)){ |
| | | result.put("code","-1"); |
| | | result.put("msg","token无效!"); |
| | | return result; |
| | | } |
| | | String userName = DESUtil.verifyHkToken( redisToken);; |
| | | if(StringUtils.isBlank(userName)){ |
| | | result.put("code","-1"); |
| | | result.put("msg","token参数为空"); |
| | | return result; |
| | | } |
| | | //查询用户信息是否存在 |
| | | SystemUser systemUser = new SystemUser(); |
| | | systemUser.setUsername(userName); |
| | | systemUser.setDeleted(Boolean.FALSE); |
| | | SystemUser queryBean = systemUserService.findOne(systemUser); |
| | | if(Objects.isNull(queryBean)){ |
| | | result.put("code","-1"); |
| | | result.put("msg","token参数为空"); |
| | | return result; |
| | | } |
| | | if(Constants.equalsInteger(queryBean.getStatus(),Constants.ONE)){ |
| | | result.put("code","-2"); |
| | | result.put("msg","用户已禁用"); |
| | | return result; |
| | | } |
| | | redisTemplate.delete(Constants.REDIS_HK_TOKEN_KEY+hkBaseTokenRequest.getToken()); |
| | | Map<String,Object> data = new HashMap<>(); |
| | | data.put("userId",userName); |
| | | result.put("data",data); |
| | | return result; |
| | | } |
| | | |
| | | |
| | | @LoginNoRequired |
| | | @PreventRepeat |
| | | @ApiOperation("【用水量】本月、上月和去年同月") |
| | | @PostMapping("/water/dataByMonth") |
| | | @LoginNoRequired |
| | | public ApiResponse<WaterByMonthResponse> waterDataByMonth(@RequestBody WaterByMonthRequest param) { |
| | | return ApiResponse.success(new WaterByMonthResponse()); |
| | | return ApiResponse.success(platformWaterGasService.waterDataByMonth(param)); |
| | | } |
| | | |
| | | @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") |
| | | @LoginNoRequired |
| | | public ApiResponse<GasByMonthResponse> gasDataByMonth(@RequestBody GasByMonthRequest param) { |
| | | return ApiResponse.success(new GasByMonthResponse()); |
| | | 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 |
| | | @PreventRepeat |
| | | @ApiOperation("【月台】按天统计运单请求参数") |
| | | @PostMapping("/platform/orderNumByDate") |
| | | @LoginNoRequired |
| | | public ApiResponse<PlatformOrderNumByDateResponse> orderNumByDate(@RequestBody PlatformOrderNumByDateRequest param) { |
| | | return ApiResponse.success(new PlatformOrderNumByDateResponse()); |
| | | return ApiResponse.success(platformJobService.orderNumByDate(param)); |
| | | } |
| | | @PreventRepeat |
| | | @ApiOperation("【月台】月台个状态数量统计") |
| | | @PostMapping("/platform/totalNumByStatus") |
| | | |
| | | |
| | | @LoginNoRequired |
| | | @PreventRepeat |
| | | @ApiOperation("【月台】月台状态数量统计") |
| | | @PostMapping("/platform/totalNumByStatus") |
| | | public ApiResponse<PlatformNumByStatusResponse> totalNumByStatus(@RequestBody PlatformNumByStatusRequest param) { |
| | | return ApiResponse.success(new PlatformNumByStatusResponse()); |
| | | return ApiResponse.success(platformService.getPlatformNumByStatusResponse()); |
| | | } |
| | | |
| | | |
| | | @LoginNoRequired |
| | | @PreventRepeat |
| | | @ApiOperation("【月台】月台当前作业信息列表") |
| | | @PostMapping("/platform/workingDataList") |
| | | @LoginNoRequired |
| | | public ApiResponse<List<PlatformDataListResponse>> platformWorkingDataList(@RequestBody PlatformDataListRequest param) { |
| | | return ApiResponse.success(new ArrayList<>()); |
| | | public ApiResponse<List<PlatformDataListResponse>> workingDataList(@RequestBody PlatformDataListRequest param) { |
| | | return ApiResponse.success(platformJobService.platformWorkingDataList(param)); |
| | | } |
| | | |
| | | @LoginNoRequired |
| | | @PreventRepeat |
| | | @ApiOperation("【月台】月台作业详情信息") |
| | | @PostMapping("/platform/workDataInfo") |
| | | @LoginNoRequired |
| | | public ApiResponse<PlatformDataInfoResponse> platformWorkingDataList(@RequestBody PlatformDataInfoRequest param) { |
| | | return ApiResponse.success(new PlatformDataInfoResponse()); |
| | | public ApiResponse<PlatformDataInfoResponse> workDataInfo(@RequestBody PlatformDataInfoRequest param) { |
| | | return ApiResponse.success(platformJobService.platformWorkingDataList(param)); |
| | | } |
| | | |
| | | |
| | | @LoginNoRequired |
| | | @PreventRepeat |
| | | @ApiOperation("【月台】当前车辆状态数量统计") |
| | | @PostMapping("/platform/carStatusNum") |
| | | @LoginNoRequired |
| | | public ApiResponse<CarNumByStatusResponse> carStatusNum(@RequestBody CarNumByStatusRequest param) { |
| | | return ApiResponse.success(new CarNumByStatusResponse()); |
| | | return ApiResponse.success(platformJobService.carStatusNum(param)); |
| | | } |
| | | |
| | | @LoginNoRequired |
| | | @PreventRepeat |
| | | @ApiOperation("【月台】车辆事件列表数据集合(最新N条)") |
| | | @PostMapping("/platform/carLogsList") |
| | | @LoginNoRequired |
| | | public ApiResponse<List<CarLogsListResponse>> carLogsList(@RequestBody CarLogsListRequest param) { |
| | | return ApiResponse.success(new ArrayList<>()); |
| | | return ApiResponse.success(platformLogService.getCarLogsListResponse(param)); |
| | | } |
| | | |
| | | @LoginNoRequired |
| | | @PreventRepeat |
| | | @ApiOperation("【月台】排队队列列表集合") |
| | | @PostMapping("/platform/queueList") |
| | | @LoginNoRequired |
| | | public ApiResponse< PlatformQueuingListResponse> carLogsList(@RequestBody PlatformQueuingListRequest param) { |
| | | return ApiResponse.success(new PlatformQueuingListResponse()); |
| | | public ApiResponse<PlatformQueuingListResponse> queueList(@RequestBody PlatformQueuingListRequest param) { |
| | | return ApiResponse.success(platformJobService.queueList(param)); |
| | | } |
| | | |
| | | @LoginNoRequired |
| | | @PreventRepeat |
| | | @ApiOperation("【月台】预警事件集合列表") |
| | | @PostMapping("/platform/warningEventList") |
| | | public ApiResponse<List<PlatformWarnEventListResponse>> warningEventList(@RequestBody PlatformWarnEventListRequest param) { |
| | | return ApiResponse.success(platformWarnEventService.findListToHk()); |
| | | } |
| | | |
| | | @LoginNoRequired |
| | | public ApiResponse<List<CarLogsListResponse>> carLogsList(@RequestBody PlatformWarnEventListRequest param) { |
| | | return ApiResponse.success(new ArrayList<>()); |
| | | @PreventRepeat |
| | | @ApiOperation("【月台】月台状态") |
| | | @PostMapping("/platform/getStatusList") |
| | | public ApiResponse<List<PlatformStatusListResponse>> getStatusList() { |
| | | return ApiResponse.success(platformService.getPlatformStatusList()); |
| | | } |
| | | } |