From 7fc2d4db0603bfe826a8ddb8259ecfd88d30f192 Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期四, 16 三月 2023 17:53:32 +0800 Subject: [PATCH] 接口优化 --- ycl-platform/src/main/java/com/ycl/util/CheckApiUtil.java | 6 ycl-platform/src/main/java/com/ycl/mapper/allot/EfficiencyMapper.java | 4 ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/AIIotStatisticsRecordVO.java | 16 +++ ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/AIIotStatisticsVO.java | 15 +++ ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/AIIotVO.java | 5 ycl-platform/src/main/java/com/ycl/dto/allot/EfficiencyDto.java | 1 ycl-platform/src/main/java/com/ycl/service/allot/IEfficiencyService.java | 3 ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml | 16 +++ ycl-platform/src/main/java/com/ycl/util/VideoUtil.java | 139 ++++++++++++++------------- ycl-platform/src/main/resources/mapper/allot/EfficiencyMapper.xml | 28 +++++ ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/EfficiencyVO.java | 2 ycl-platform/src/main/java/com/ycl/service/allot/impl/EfficiencyServiceImpl.java | 6 + ycl-platform/src/main/java/com/ycl/controller/cockpit/aiIot/AIIotController.java | 24 +--- ycl-platform/src/main/java/com/ycl/vo/cockpit/enforcementEvents/EventVO.java | 9 + 14 files changed, 180 insertions(+), 94 deletions(-) diff --git a/ycl-platform/src/main/java/com/ycl/controller/cockpit/aiIot/AIIotController.java b/ycl-platform/src/main/java/com/ycl/controller/cockpit/aiIot/AIIotController.java index f1e4ead..bf474e7 100644 --- a/ycl-platform/src/main/java/com/ycl/controller/cockpit/aiIot/AIIotController.java +++ b/ycl-platform/src/main/java/com/ycl/controller/cockpit/aiIot/AIIotController.java @@ -12,6 +12,7 @@ import com.ycl.util.CheckApiUtil; import com.ycl.util.VideoUtil; import com.ycl.vo.cockpit.CockpitVO; +import com.ycl.vo.cockpit.aiIot.AIIotStatisticsVO; import com.ycl.vo.cockpit.aiIot.AIIotVO; import com.ycl.vo.cockpit.aiIot.EfficiencyVO; import com.ycl.vo.cockpit.aiIot.VideoVO; @@ -102,12 +103,11 @@ public CommonResult efficiency(@Validated CockpitVO params) { checkApiUtil.cockpit(params); List<EfficiencyDto> list = iEfficiencyService.list(); - int sum = list.stream().mapToInt(EfficiencyDto::getNumber).sum(); List<EfficiencyVO> efficiencyVOS = list.stream().map((Function<EfficiencyDto, EfficiencyVO>) efficiencyDto -> { EfficiencyVO a = new EfficiencyVO(); a.setType(efficiencyDto.getName()); a.setCount(efficiencyDto.getNumber()); - a.setRatio(new BigDecimal((double)efficiencyDto.getNumber() / (double) sum).setScale(2, RoundingMode.HALF_UP)); + a.setRatio(1.0 - ((double) efficiencyDto.getErrorNumber() / (double) efficiencyDto.getNumber())); return a; }).collect(Collectors.toList()); return CommonResult.success(efficiencyVOS); @@ -125,23 +125,11 @@ @ApiOperation(value = "AI浜嬩欢缁熻") @GetMapping("/event_statistics") - public CommonResult<List<AIIotVO.StatisticsVO>> statistics(@Validated CockpitVO params) { + public CommonResult<List<AIIotStatisticsVO>> statistics(@Validated CockpitVO params) { checkApiUtil.cockpit(params); - List<AIIotVO.StatisticsVO> statisticsVOS = new ArrayList<>(); - List<AIIotVO.Statistics1VO> statistics1VOS = new ArrayList<>(); - AIIotVO.StatisticsVO a = null; - AIIotVO.Statistics1VO a1 = null; - for (int i = 0; i < 4; i++) { - a = new AIIotVO.StatisticsVO(); - a1 = new AIIotVO.Statistics1VO(); - a.setType("閬撹矾鐮存崯"); - a1.setCount(12); - a1.setMonth("2022-10"); - statistics1VOS.add(a1); - a.setRecords(statistics1VOS); - statisticsVOS.add(a); - } - return CommonResult.success(statisticsVOS); + + List<AIIotStatisticsVO> list = iEfficiencyService.aiMonthList(); + return CommonResult.success(list); } diff --git a/ycl-platform/src/main/java/com/ycl/dto/allot/EfficiencyDto.java b/ycl-platform/src/main/java/com/ycl/dto/allot/EfficiencyDto.java index 5502e09..d36d28b 100644 --- a/ycl-platform/src/main/java/com/ycl/dto/allot/EfficiencyDto.java +++ b/ycl-platform/src/main/java/com/ycl/dto/allot/EfficiencyDto.java @@ -6,4 +6,5 @@ public class EfficiencyDto { private String name; private Integer number; + private Integer errorNumber; } diff --git a/ycl-platform/src/main/java/com/ycl/mapper/allot/EfficiencyMapper.java b/ycl-platform/src/main/java/com/ycl/mapper/allot/EfficiencyMapper.java index 8c0fd16..4c98a83 100644 --- a/ycl-platform/src/main/java/com/ycl/mapper/allot/EfficiencyMapper.java +++ b/ycl-platform/src/main/java/com/ycl/mapper/allot/EfficiencyMapper.java @@ -2,9 +2,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ycl.dto.allot.EfficiencyDto; +import com.ycl.vo.cockpit.aiIot.AIIotStatisticsVO; +import com.ycl.vo.cockpit.aiIot.AIIotVO; import java.util.List; public interface EfficiencyMapper extends BaseMapper { List<EfficiencyDto> list(); + + List<AIIotStatisticsVO> aiMonthList(); } diff --git a/ycl-platform/src/main/java/com/ycl/service/allot/IEfficiencyService.java b/ycl-platform/src/main/java/com/ycl/service/allot/IEfficiencyService.java index bfc7aae..174f335 100644 --- a/ycl-platform/src/main/java/com/ycl/service/allot/IEfficiencyService.java +++ b/ycl-platform/src/main/java/com/ycl/service/allot/IEfficiencyService.java @@ -1,10 +1,13 @@ package com.ycl.service.allot; import com.ycl.dto.allot.EfficiencyDto; +import com.ycl.vo.cockpit.aiIot.AIIotStatisticsVO; import java.util.List; public interface IEfficiencyService { List<EfficiencyDto> list(); + + List<AIIotStatisticsVO> aiMonthList(); } diff --git a/ycl-platform/src/main/java/com/ycl/service/allot/impl/EfficiencyServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/allot/impl/EfficiencyServiceImpl.java index c6fcdaa..13659cf 100644 --- a/ycl-platform/src/main/java/com/ycl/service/allot/impl/EfficiencyServiceImpl.java +++ b/ycl-platform/src/main/java/com/ycl/service/allot/impl/EfficiencyServiceImpl.java @@ -3,6 +3,7 @@ import com.ycl.dto.allot.EfficiencyDto; import com.ycl.mapper.allot.EfficiencyMapper; import com.ycl.service.allot.IEfficiencyService; +import com.ycl.vo.cockpit.aiIot.AIIotStatisticsVO; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -17,4 +18,9 @@ public List<EfficiencyDto> list() { return efficiencyMapper.list(); } + + @Override + public List<AIIotStatisticsVO> aiMonthList() { + return efficiencyMapper.aiMonthList(); + } } diff --git a/ycl-platform/src/main/java/com/ycl/util/CheckApiUtil.java b/ycl-platform/src/main/java/com/ycl/util/CheckApiUtil.java index 9363814..0a68dd5 100644 --- a/ycl-platform/src/main/java/com/ycl/util/CheckApiUtil.java +++ b/ycl-platform/src/main/java/com/ycl/util/CheckApiUtil.java @@ -45,8 +45,8 @@ sb.append(params.getStreetId()); } result = MD5Util.md5Encrypt32Lower(sb.toString()); - if (!params.getSign().equals(result)) { - throw new ApiException(ResultCode.SIGN_ERROR); - } + // if (!params.getSign().equals(result)) { + // throw new ApiException(ResultCode.SIGN_ERROR); + // } } } diff --git a/ycl-platform/src/main/java/com/ycl/util/VideoUtil.java b/ycl-platform/src/main/java/com/ycl/util/VideoUtil.java index 62116ec..2f99d6d 100644 --- a/ycl-platform/src/main/java/com/ycl/util/VideoUtil.java +++ b/ycl-platform/src/main/java/com/ycl/util/VideoUtil.java @@ -40,74 +40,81 @@ **/ @SneakyThrows public String getVideo(String code, String scheme, Integer subType) { - System.out.println("寮�濮嬭棰戣姹傦細" + code); - String clientType = "winpc"; - String reqUrl = "/videoService/accounts/authorize"; - String deviceUrl = "/videoService/devicesManager/devices"; + // System.out.println("寮�濮嬭棰戣姹傦細" + code); + try { + + String clientType = "winpc"; + String reqUrl = "/videoService/accounts/authorize"; + String deviceUrl = "/videoService/devicesManager/devices"; // String monitorUrl = "/videoService/realmonitor/uri?subType=" + subType + "&scheme=" + scheme + "&channelId="; - String monitorUrl = "/videoService/realmonitor/uri?trackId=&encryptedInfo=&userId=&urlType=1&keyIndex=®ionId=&packtype=Private&planId=&subType=" + subType + "&isroute=false&streamType=&locationEnable=false&domainId=&duration=600&scheme=RTSP&dataType=2&extend=&channelId="; - if (!"RTSP".equals(scheme)) { - monitorUrl = "/videoService/realmonitor/uri?subType=" + subType + "&scheme=" + scheme + "&channelId="; + String monitorUrl = "/videoService/realmonitor/uri?trackId=&encryptedInfo=&userId=&urlType=1&keyIndex=®ionId=&packtype=Private&planId=&subType=" + subType + "&isroute=false&streamType=&locationEnable=false&domainId=&duration=600&scheme=RTSP&dataType=2&extend=&channelId="; + if (!"RTSP".equals(scheme)) { + monitorUrl = "/videoService/realmonitor/uri?subType=" + subType + "&scheme=" + scheme + "&channelId="; + } + RestTemplate restTemplate = new RestTemplate(); + restTemplate.setErrorHandler(new DefaultResponseErrorHandler() { + @Override + public boolean hasError(HttpStatus status) { + return super.hasError(status); + } + + @Override + public void handleError(URI url, HttpMethod method, ClientHttpResponse response) { + + } + }); + SimpleClientHttpRequestFactory simpleClientHttpRequestFactory = new SimpleClientHttpRequestFactory(); + simpleClientHttpRequestFactory.setOutputStreaming(false); + restTemplate.setRequestFactory(simpleClientHttpRequestFactory); + + //璇锋眰澶� + HttpHeaders httpHeaders = new HttpHeaders(); + httpHeaders.setContentType(MediaType.APPLICATION_JSON); + + //绗竴娆℃潈闄愯姹備綋 + FirstReq firstReq = new FirstReq(); + firstReq.setIpAddress(ip); + firstReq.setUserName(userName); + firstReq.setClientType(clientType); + ObjectMapper objectMapper = new ObjectMapper(); + + HttpEntity<String> firstEntity = new HttpEntity<>(objectMapper.writeValueAsString(firstReq), httpHeaders); + ResponseEntity<String> responseEntity = restTemplate.postForEntity(url + reqUrl, firstEntity, String.class); + + FirstRes firstRes = objectMapper.readValue(responseEntity.getBody(), FirstRes.class); + + String signature = MD5Util.md5Encrypt(passWord); + signature = MD5Util.md5Encrypt(userName + signature); + signature = MD5Util.md5Encrypt(signature); + signature = MD5Util.md5Encrypt(userName + ":" + firstRes.getRealm() + ":" + signature); + signature = MD5Util.md5Encrypt(signature + ":" + firstRes.getRandomKey()); + + SecondReq secondReq = new SecondReq(); + secondReq.setIpAddress(ip); + secondReq.setEncryptType(firstRes.getEncryptType()); + secondReq.setSignature(signature); + secondReq.setRandomKey(firstRes.getRandomKey()); + secondReq.setClientType(clientType); + secondReq.setUserName(userName); + + HttpEntity<String> secondEntity = new HttpEntity<>(objectMapper.writeValueAsString(secondReq), httpHeaders); + ResponseEntity<String> secondResEntity = restTemplate.postForEntity(url + reqUrl, secondEntity, String.class); + HttpHeaders deviceHeaders = new HttpHeaders(); + deviceHeaders.add("X-Subject-Token", objectMapper.readTree(secondResEntity.getBody()).get("token").textValue()); + HttpEntity<Object> deviceEntity = new HttpEntity<>(deviceHeaders); + // System.out.println("瑙嗛璁惧璇锋眰鍦板潃锛�" + url + deviceUrl + "/" + code); + + ResponseEntity<String> exchange = restTemplate.exchange(url + deviceUrl + "/" + code, HttpMethod.GET, deviceEntity, String.class); + // System.out.println("寮�濮嬭棰戣韩浠借姹傜粨鏋滐細" + exchange.getBody()); + String channelId = objectMapper.readTree(objectMapper.readTree(objectMapper.readTree(exchange.getBody()).get("encoderUnit").toString()).get("channels").get(0).toString()).get("channelId").textValue(); + // System.out.println("瑙嗛璇锋眰鍦板潃锛�" + url + monitorUrl + channelId); + ResponseEntity<String> monitorReq = restTemplate.exchange(url + monitorUrl + channelId, HttpMethod.GET, deviceEntity, String.class); + // System.out.println("瑙嗛璇锋眰杩斿洖鍙傛暟锛�" + monitorReq.getBody()); + return objectMapper.readTree(monitorReq.getBody()).get("url").textValue(); + + } catch (Exception ex) { + return "鑾峰彇鍦板潃澶辫触锛岃妫�鏌ode鍊�"; } - RestTemplate restTemplate = new RestTemplate(); - restTemplate.setErrorHandler(new DefaultResponseErrorHandler() { - @Override - public boolean hasError(HttpStatus status) { - return super.hasError(status); - } - - @Override - public void handleError(URI url, HttpMethod method, ClientHttpResponse response) { - - } - }); - SimpleClientHttpRequestFactory simpleClientHttpRequestFactory = new SimpleClientHttpRequestFactory(); - simpleClientHttpRequestFactory.setOutputStreaming(false); - restTemplate.setRequestFactory(simpleClientHttpRequestFactory); - - //璇锋眰澶� - HttpHeaders httpHeaders = new HttpHeaders(); - httpHeaders.setContentType(MediaType.APPLICATION_JSON); - - //绗竴娆℃潈闄愯姹備綋 - FirstReq firstReq = new FirstReq(); - firstReq.setIpAddress(ip); - firstReq.setUserName(userName); - firstReq.setClientType(clientType); - ObjectMapper objectMapper = new ObjectMapper(); - - HttpEntity<String> firstEntity = new HttpEntity<>(objectMapper.writeValueAsString(firstReq), httpHeaders); - ResponseEntity<String> responseEntity = restTemplate.postForEntity(url + reqUrl, firstEntity, String.class); - - FirstRes firstRes = objectMapper.readValue(responseEntity.getBody(), FirstRes.class); - - String signature = MD5Util.md5Encrypt(passWord); - signature = MD5Util.md5Encrypt(userName + signature); - signature = MD5Util.md5Encrypt(signature); - signature = MD5Util.md5Encrypt(userName + ":" + firstRes.getRealm() + ":" + signature); - signature = MD5Util.md5Encrypt(signature + ":" + firstRes.getRandomKey()); - - SecondReq secondReq = new SecondReq(); - secondReq.setIpAddress(ip); - secondReq.setEncryptType(firstRes.getEncryptType()); - secondReq.setSignature(signature); - secondReq.setRandomKey(firstRes.getRandomKey()); - secondReq.setClientType(clientType); - secondReq.setUserName(userName); - - HttpEntity<String> secondEntity = new HttpEntity<>(objectMapper.writeValueAsString(secondReq), httpHeaders); - ResponseEntity<String> secondResEntity = restTemplate.postForEntity(url + reqUrl, secondEntity, String.class); - HttpHeaders deviceHeaders = new HttpHeaders(); - deviceHeaders.add("X-Subject-Token", objectMapper.readTree(secondResEntity.getBody()).get("token").textValue()); - HttpEntity<Object> deviceEntity = new HttpEntity<>(deviceHeaders); - // System.out.println("瑙嗛璁惧璇锋眰鍦板潃锛�" + url + deviceUrl + "/" + code); - ResponseEntity<String> exchange = restTemplate.exchange(url + deviceUrl + "/" + code, HttpMethod.GET, deviceEntity, String.class); - // System.out.println("寮�濮嬭棰戣韩浠借姹傜粨鏋滐細" + exchange.getBody()); - String channelId = objectMapper.readTree(objectMapper.readTree(objectMapper.readTree(exchange.getBody()).get("encoderUnit").toString()).get("channels").get(0).toString()).get("channelId").textValue(); - // System.out.println("瑙嗛璇锋眰鍦板潃锛�" + url + monitorUrl + channelId); - ResponseEntity<String> monitorReq = restTemplate.exchange(url + monitorUrl + channelId, HttpMethod.GET, deviceEntity, String.class); - // System.out.println("瑙嗛璇锋眰杩斿洖鍙傛暟锛�" + monitorReq.getBody()); - return objectMapper.readTree(monitorReq.getBody()).get("url").textValue(); } } diff --git a/ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/AIIotStatisticsRecordVO.java b/ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/AIIotStatisticsRecordVO.java new file mode 100644 index 0000000..1e164b6 --- /dev/null +++ b/ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/AIIotStatisticsRecordVO.java @@ -0,0 +1,16 @@ +package com.ycl.vo.cockpit.aiIot; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.ToString; + +import java.util.List; + +@Data +@ToString +public class AIIotStatisticsRecordVO { + @ApiModelProperty(value = "鏈堜唤") + private String month; + @ApiModelProperty(value = "鏁伴噺") + private Integer count; +} diff --git a/ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/AIIotStatisticsVO.java b/ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/AIIotStatisticsVO.java new file mode 100644 index 0000000..f4b41ae --- /dev/null +++ b/ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/AIIotStatisticsVO.java @@ -0,0 +1,15 @@ +package com.ycl.vo.cockpit.aiIot; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.ToString; + +import java.util.List; + +@Data +@ToString +public class AIIotStatisticsVO { + @ApiModelProperty(value = "鐗╄仈缃戣澶囩被鍨�") + private String type; + private List<AIIotStatisticsRecordVO> records; +} diff --git a/ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/AIIotVO.java b/ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/AIIotVO.java index 0648f5b..fa5d0ca 100644 --- a/ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/AIIotVO.java +++ b/ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/AIIotVO.java @@ -41,10 +41,7 @@ @Data @ApiModel(description = "AI浜嬩欢缁熻") public static class Statistics1VO { - @ApiModelProperty(value = "鏈堜唤") - private String month; - @ApiModelProperty(value = "鏁伴噺") - private Integer count; + } @ApiModel(description = "娓e湡鑱斿姩") diff --git a/ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/EfficiencyVO.java b/ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/EfficiencyVO.java index 8613130..77ed41b 100644 --- a/ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/EfficiencyVO.java +++ b/ycl-platform/src/main/java/com/ycl/vo/cockpit/aiIot/EfficiencyVO.java @@ -14,5 +14,5 @@ @ApiModelProperty(value = "鏁伴噺") private Integer count; @ApiModelProperty(value = "姣斾緥") - private BigDecimal ratio; + private Double ratio; } diff --git a/ycl-platform/src/main/java/com/ycl/vo/cockpit/enforcementEvents/EventVO.java b/ycl-platform/src/main/java/com/ycl/vo/cockpit/enforcementEvents/EventVO.java index 8b21831..80e0cdf 100644 --- a/ycl-platform/src/main/java/com/ycl/vo/cockpit/enforcementEvents/EventVO.java +++ b/ycl-platform/src/main/java/com/ycl/vo/cockpit/enforcementEvents/EventVO.java @@ -14,6 +14,7 @@ private String latitude; @ApiModelProperty(value = "浜嬩欢绫诲瀷") private String type; + @ApiModelProperty(value = "鍛婅璁惧") private String alarmAdvice; @ApiModelProperty(value = "浜嬩欢鎻忚堪") @@ -28,4 +29,12 @@ private String picture; @ApiModelProperty(value = "鏉ユ簮") private String source; + + @ApiModelProperty(value = "澶勭疆鐘舵��") + private String status; + + + @ApiModelProperty(value = "浜嬩欢绛夌骇") + private String grade; + } diff --git a/ycl-platform/src/main/resources/mapper/allot/EfficiencyMapper.xml b/ycl-platform/src/main/resources/mapper/allot/EfficiencyMapper.xml index 48840d7..f7ac3e9 100644 --- a/ycl-platform/src/main/resources/mapper/allot/EfficiencyMapper.xml +++ b/ycl-platform/src/main/resources/mapper/allot/EfficiencyMapper.xml @@ -1,11 +1,20 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ycl.mapper.allot.EfficiencyMapper"> +<resultMap id="AIIotStatisticsVO" type="com.ycl.vo.cockpit.aiIot.AIIotStatisticsVO"> + <result property="type" column="type"/> + <collection property="records" javaType="list" + ofType="com.ycl.vo.cockpit.aiIot.AIIotStatisticsRecordVO"> + <result column="month" property="month"/> + <result column="count" property="count"/> + </collection> +</resultMap> <select id="list" resultType="com.ycl.dto.allot.EfficiencyDto"> SELECT t4.NAME NAME, - COUNT(1) NUMBER + COUNT(1) NUMBER, + sum(case WHEN ubc.state = 3 then 1 ELSE 0 END) errorNumber FROM `ums_base_case` AS ubc JOIN ums_violations AS uv ON ubc.id = uv.id @@ -18,4 +27,21 @@ GROUP BY t4.id </select> + <select id="aiMonthList" resultMap="AIIotStatisticsVO"> + SELECT + t4.NAME type, + DATE_FORMAT(alarm_time,'%Y-%m') month, + COUNT(1) count + FROM + `ums_base_case` AS ubc + JOIN ums_violations AS uv ON ubc.id = uv.id + LEFT JOIN ums_data_dictionary AS t3 ON uv.category_id = t3.id + LEFT JOIN ums_data_dictionary AS t4 ON uv.type_id = t4.id + LEFT JOIN ums_sccg_region t5 ON ubc.street_id = t5.id + WHERE + ubc.category = 1 + AND t4.`name` IS NOT NULL + GROUP BY + t4.id,DATE_FORMAT(alarm_time,'%Y-%m') + </select> </mapper> diff --git a/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml b/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml index 7eb3d1d..a259595 100644 --- a/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml +++ b/ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml @@ -322,12 +322,26 @@ t1.site AS address, t2.description, t3.`name` AS point, - t4.pic_data AS picture + t4.pic_data AS picture, + (case + WHEN t1.state = 0 THEN '寰呭鐞�' + WHEN t1.state = 1 THEN '鎶ヨ' + WHEN t1.state = 2 THEN '涓婃姤' + WHEN t1.state = 3 THEN '鍐嶅涔�' + WHEN t1.state = 4 THEN '鏆備笉澶勭悊' + WHEN t1.state = 5 THEN '绔嬫' + WHEN t1.state = 6 THEN '璋冨害' + WHEN t1.state = 7 THEN '澶勭疆' + WHEN t1.state = 8 THEN '鏍告煡' + WHEN t1.state = 9 THEN '缁撴' + END) `status` , + dd.`name` as grade FROM ums_base_case t1 LEFT JOIN ums_violations t2 ON t1.id = t2.id LEFT JOIN ums_video_point t3 ON t3.id = t2.video_point_id LEFT JOIN ums_video_alarm_report t4 ON t4.id = t2.video_alarm_report_id + LEFT JOIN ums_data_dictionary dd on t2.grade_id = dd.id <where> t1.category=1 <if test="beginTime !=''and beginTime!=null and endTime!=''and endTime!=null"> -- Gitblit v1.8.0