diff --git a/src/main/java/com/example/filter/spring/mvc/ParameterInterceptor.java b/src/main/java/com/example/filter/spring/mvc/ParameterInterceptor.java index a05fabd..15ce1e4 100644 --- a/src/main/java/com/example/filter/spring/mvc/ParameterInterceptor.java +++ b/src/main/java/com/example/filter/spring/mvc/ParameterInterceptor.java @@ -105,16 +105,16 @@ public class ParameterInterceptor implements HandlerInterceptor { } stringBuilder.append("066e66ad7145e4270ade5b7e49a8f87f"); String sign = MD5Sign.md5(stringBuilder.toString()); - System.out.println(JSON.toJSONString(dataMap)); - System.out.println(stringBuilder.toString()); - System.out.println(sign); +// System.out.println(JSON.toJSONString(dataMap)); +// System.out.println(stringBuilder.toString()); +// System.out.println(sign); String sign1 = MD5Sign.md5("47c44c7b756cddf64d32e5aa0b637f14pushToiletStatus16372136333512021-11-18 02:02:02{\"1\":0,\"2\":1,\"3\":0,\"4\":0}{\"1\":2,\"2\":5,\"3\":8,\"4\":5}{\"1\":10,\"2\":25,\"3\":40,\"4\":25}test1066e66ad7145e4270ade5b7e49a8f87f"); - System.out.println(sign1); +// System.out.println(sign1); } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) { - logger.info("postHandle"); +// logger.info("postHandle"); } @Override @@ -124,8 +124,8 @@ public class ParameterInterceptor implements HandlerInterceptor { if (bean instanceof BaseSupport) { BaseSupport controller = (BaseSupport) bean; controller.removeInputJson(); - logger.info("clean input json"); +// logger.info("clean input json"); } - logger.info("afterCompletion"); +// logger.info("afterCompletion"); } } diff --git a/src/main/java/com/example/modular/dataanalyse/controller/DataAnalyseController.java b/src/main/java/com/example/modular/dataanalyse/controller/DataAnalyseController.java index b69c58b..ee7bbb4 100644 --- a/src/main/java/com/example/modular/dataanalyse/controller/DataAnalyseController.java +++ b/src/main/java/com/example/modular/dataanalyse/controller/DataAnalyseController.java @@ -28,7 +28,7 @@ public class DataAnalyseController { * @return * @author ysl */ - @PutMapping("/all") + @PostMapping("/all") @CrossOrigin public Result getAllDataAnalyse (HttpServletRequest request, @RequestBody PassengerChartParamVO passengerChartParamVO) { String userToken = request.getHeader("token"); @@ -43,7 +43,7 @@ public class DataAnalyseController { * @return * @author ysl */ - @PutMapping("/passenger") + @PostMapping("/passenger") @CrossOrigin public Result getPassengerAnalyse (HttpServletRequest request, @RequestBody PassengerChartParamVO passengerChartParamVO) { String userToken = request.getHeader("token"); @@ -58,7 +58,7 @@ public class DataAnalyseController { * @return * @author ysl */ - @PutMapping("/passenger-busy") + @PostMapping("/passenger-busy") @CrossOrigin public Result getPassengerAnalyseBusy (HttpServletRequest request, @RequestBody PassengerChartParamVO passengerChartParamVO) { String userToken = request.getHeader("token"); @@ -75,7 +75,7 @@ public class DataAnalyseController { * @return * @author ysl */ - @PutMapping("/passenger-page") + @PostMapping("/passenger-page") @CrossOrigin public Result getPassengerAnalysePage (HttpServletRequest request, @RequestBody PassengerChartParamVO passengerChartParamVO, @RequestParam(value = "startPage",required = true,defaultValue = "1")Integer startPage, @@ -93,7 +93,7 @@ public class DataAnalyseController { * @param request * @param passengerChartParamVO */ - @PutMapping("/passenger-export") + @PostMapping("/passenger-export") @CrossOrigin public Result exportPassengerAnalyseList (HttpServletResponse response,HttpServletRequest request,@RequestBody PassengerChartParamVO passengerChartParamVO) { String userToken = request.getHeader("token"); diff --git a/src/main/java/com/example/modular/device/controller/ToiletDeviceBasicInfoController.java b/src/main/java/com/example/modular/device/controller/ToiletDeviceBasicInfoController.java index f96f91f..4029219 100644 --- a/src/main/java/com/example/modular/device/controller/ToiletDeviceBasicInfoController.java +++ b/src/main/java/com/example/modular/device/controller/ToiletDeviceBasicInfoController.java @@ -95,7 +95,7 @@ public class ToiletDeviceBasicInfoController { * @return * @author ysl */ - @PutMapping("/repair") + @PostMapping("/repair") @CrossOrigin public Result repairDevice (@RequestParam(value = "id",required = true)Integer id ) { Result result = toiletDeviceBasicInfoService.repairDevice(id); @@ -107,7 +107,7 @@ public class ToiletDeviceBasicInfoController { * @param toiletDeviceBasicInfoVO * @return */ - @PutMapping("/edit") + @PostMapping("/edit") @CrossOrigin public Result updateDevice (@RequestBody ToiletDeviceBasicInfoVO toiletDeviceBasicInfoVO) { Result result = toiletDeviceBasicInfoService.updateDevice(toiletDeviceBasicInfoVO); diff --git a/src/main/java/com/example/modular/digitalcockpit/controller/DigitalCockpitController.java b/src/main/java/com/example/modular/digitalcockpit/controller/DigitalCockpitController.java index eb005d7..a9f9ad9 100644 --- a/src/main/java/com/example/modular/digitalcockpit/controller/DigitalCockpitController.java +++ b/src/main/java/com/example/modular/digitalcockpit/controller/DigitalCockpitController.java @@ -1,6 +1,7 @@ package com.example.modular.digitalcockpit.controller; import com.example.modular.digitalcockpit.service.DigitalCockpitService; +import com.example.modular.rectify.service.IToiletRectifyTaskInfoService; import com.example.util.Result; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -18,6 +19,8 @@ public class DigitalCockpitController { @Autowired private DigitalCockpitService digitalCockpitService; + @Autowired + private IToiletRectifyTaskInfoService toiletRectifyTaskInfoService; /** * 数字驾驶舱获取地图公厕信息接口 @@ -112,4 +115,16 @@ public class DigitalCockpitController { return result; } + /** + * 获取公厕监督考核评分top10 + * @return + * @author ysl + */ + @GetMapping("/topList") + @CrossOrigin + public Result topList () { + Result result = toiletRectifyTaskInfoService.topList(); + return result; + } + } diff --git a/src/main/java/com/example/modular/energyconsumption/controller/ToiletElectricityConsumptionController.java b/src/main/java/com/example/modular/energyconsumption/controller/ToiletElectricityConsumptionController.java index 4eeb286..79900d6 100644 --- a/src/main/java/com/example/modular/energyconsumption/controller/ToiletElectricityConsumptionController.java +++ b/src/main/java/com/example/modular/energyconsumption/controller/ToiletElectricityConsumptionController.java @@ -28,7 +28,7 @@ public class ToiletElectricityConsumptionController { * @return * @author ysl */ - @PutMapping("/toilet-electricity") + @PostMapping("/toilet-electricity") @CrossOrigin public Result getToiletElectricityConsumption (HttpServletRequest request, @RequestBody PassengerChartParamVO passengerChartParamVO) { String userToken = request.getHeader("token"); @@ -45,7 +45,7 @@ public class ToiletElectricityConsumptionController { * @return * @author ysl */ - @PutMapping("/toilet-electricity-page") + @PostMapping("/toilet-electricity-page") @CrossOrigin public Result getToiletElectricityConsumptionPage (HttpServletRequest request, @RequestBody PassengerChartParamVO passengerChartParamVO, @RequestParam(value = "startPage",required = false,defaultValue = "1")Integer startPage, @@ -64,7 +64,7 @@ public class ToiletElectricityConsumptionController { * @return * @author ysl */ - @PutMapping("/toilet-electricity-export") + @PostMapping("/toilet-electricity-export") @CrossOrigin public Result exportToiletElectricityConsumption (HttpServletResponse response,HttpServletRequest request, @RequestBody PassengerChartParamVO passengerChartParamVO) { String userToken = request.getHeader("token"); @@ -82,7 +82,7 @@ public class ToiletElectricityConsumptionController { * @return * @author ysl */ - @PutMapping("/people-electricity") + @PostMapping("/people-electricity") @CrossOrigin public Result getPeopleElectricityConsumption (HttpServletRequest request, @RequestBody PassengerChartParamVO passengerChartParamVO) { String userToken = request.getHeader("token"); @@ -99,7 +99,7 @@ public class ToiletElectricityConsumptionController { * @return * @author ysl */ - @PutMapping("/people-electricity-page") + @PostMapping("/people-electricity-page") @CrossOrigin public Result getPeopleElectricityConsumptionPage (HttpServletRequest request, @RequestBody PassengerChartParamVO passengerChartParamVO, @RequestParam(value = "startPage",required = false,defaultValue = "1")Integer startPage, @@ -119,7 +119,7 @@ public class ToiletElectricityConsumptionController { * @return * @author ysl */ - @PutMapping("/people-electricity-export") + @PostMapping("/people-electricity-export") @CrossOrigin public Result exportPeopleElectricityConsumption (HttpServletResponse response,HttpServletRequest request, @RequestBody PassengerChartParamVO passengerChartParamVO) { String userToken = request.getHeader("token"); diff --git a/src/main/java/com/example/modular/energyconsumption/controller/ToiletWaterConsumptionController.java b/src/main/java/com/example/modular/energyconsumption/controller/ToiletWaterConsumptionController.java index bb498ec..9948e3e 100644 --- a/src/main/java/com/example/modular/energyconsumption/controller/ToiletWaterConsumptionController.java +++ b/src/main/java/com/example/modular/energyconsumption/controller/ToiletWaterConsumptionController.java @@ -28,7 +28,7 @@ public class ToiletWaterConsumptionController { * @return * @author ysl */ - @PutMapping("/toilet-water") + @PostMapping("/toilet-water") @CrossOrigin public Result getToiletWaterConsumption (HttpServletRequest request, @RequestBody PassengerChartParamVO passengerChartParamVO) { String userToken = request.getHeader("token"); @@ -43,7 +43,7 @@ public class ToiletWaterConsumptionController { * @return * @author ysl */ - @PutMapping("/people-water") + @PostMapping("/people-water") @CrossOrigin public Result getPeopleWaterConsumption (HttpServletRequest request, @RequestBody PassengerChartParamVO passengerChartParamVO) { String userToken = request.getHeader("token"); @@ -60,7 +60,7 @@ public class ToiletWaterConsumptionController { * @return * @author ysl */ - @PutMapping("/toilet-water-page") + @PostMapping("/toilet-water-page") @CrossOrigin public Result getToiletWaterConsumptionPage (HttpServletRequest request, @RequestBody PassengerChartParamVO passengerChartParamVO, @RequestParam(value = "startPage",required = false,defaultValue = "1")Integer startPage, @@ -80,7 +80,7 @@ public class ToiletWaterConsumptionController { * @return * @author ysl */ - @PutMapping("/toilet-water-export") + @PostMapping("/toilet-water-export") @CrossOrigin public Result exportToiletWaterConsumptionList (HttpServletResponse response,HttpServletRequest request, @RequestBody PassengerChartParamVO passengerChartParamVO) { String userToken = request.getHeader("token"); @@ -99,7 +99,7 @@ public class ToiletWaterConsumptionController { * @return * @author ysl */ - @PutMapping("/people-water-page") + @PostMapping("/people-water-page") @CrossOrigin public Result getPeopleWaterConsumptionPage (HttpServletRequest request, @RequestBody PassengerChartParamVO passengerChartParamVO, @RequestParam(value = "startPage",required = false,defaultValue = "1")Integer startPage, @@ -119,7 +119,7 @@ public class ToiletWaterConsumptionController { * @return * @author ysl */ - @PutMapping("/people-water-export") + @PostMapping("/people-water-export") @CrossOrigin public Result exportPeopleWaterConsumptionList (HttpServletResponse response,HttpServletRequest request, @RequestBody PassengerChartParamVO passengerChartParamVO) { String userToken = request.getHeader("token"); diff --git a/src/main/java/com/example/modular/lecheng/controller/ToiletVideoCheckController.java b/src/main/java/com/example/modular/lecheng/controller/ToiletVideoCheckController.java index 914eedb..e0ba9d5 100644 --- a/src/main/java/com/example/modular/lecheng/controller/ToiletVideoCheckController.java +++ b/src/main/java/com/example/modular/lecheng/controller/ToiletVideoCheckController.java @@ -54,6 +54,19 @@ public class ToiletVideoCheckController { } /** + * 通过视频配置表主键ID获取视频播放地址接口 + * @param videoConfigId 视频配置表主键ID + * @return + * @author ysl + */ + @GetMapping("/imou-live-new") + @CrossOrigin + public Result getImouLiveVideoByConfigId (@RequestParam(value = "videoConfigId")Long videoConfigId) { + Result result = toiletVideoCheckService.getImouLiveVideoByConfigId(videoConfigId); + return result; + } + + /** * 根据公厕id获取imou视频监控地址接口 * @param toiletId 公厕id * @return @@ -69,6 +82,20 @@ public class ToiletVideoCheckController { /** + * 根据视频配置id获取imou视频回放监控地址接口 + * @param videoConfigId 公厕id + * @return + * @author ysl + */ + @GetMapping("/imou-return-new") + @CrossOrigin + public Result getImouReturnVideoByConfigId (@RequestParam(value = "videoConfigId")Long videoConfigId, + @RequestParam(value = "startTime") Date startTime, @RequestParam(value = "endTime")Date endTime) { + Result result = toiletVideoCheckService.getImouReturnVideoByConfigId(videoConfigId,startTime,endTime); + return result; + } + + /** * 获取设备存储状态 * @param toiletId 公厕id * @return diff --git a/src/main/java/com/example/modular/lecheng/service/ToiletVideoCheckService.java b/src/main/java/com/example/modular/lecheng/service/ToiletVideoCheckService.java index 816988f..524c453 100644 --- a/src/main/java/com/example/modular/lecheng/service/ToiletVideoCheckService.java +++ b/src/main/java/com/example/modular/lecheng/service/ToiletVideoCheckService.java @@ -27,6 +27,14 @@ public interface ToiletVideoCheckService { Result getImouLiveVideo(Long toiletId); /** + * 通过视频配置表主键ID获取视频播放地址接口 + * @param videoConfigId 视频配置表主键ID + * @return + * @author ysl + */ + Result getImouLiveVideoByConfigId(Long videoConfigId); + + /** * 根据公厕id获取imou视频监控地址接口 * @param toiletId 公厕id * @return @@ -36,6 +44,14 @@ public interface ToiletVideoCheckService { /** + * 根据视频配置id获取imou视频回放监控地址接口 + * @param videoConfigId 公厕id + * @return + * @author ysl + */ + Result getImouReturnVideoByConfigId(Long videoConfigId,Date startTime,Date endTime); + + /** * 获取设备存储状态 * @param toiletId 公厕id * @return diff --git a/src/main/java/com/example/modular/lecheng/service/impl/ToiletVideoCheckServiceImpl.java b/src/main/java/com/example/modular/lecheng/service/impl/ToiletVideoCheckServiceImpl.java index 84de18a..08a0bab 100644 --- a/src/main/java/com/example/modular/lecheng/service/impl/ToiletVideoCheckServiceImpl.java +++ b/src/main/java/com/example/modular/lecheng/service/impl/ToiletVideoCheckServiceImpl.java @@ -146,6 +146,34 @@ public class ToiletVideoCheckServiceImpl implements ToiletVideoCheckService { } @Override + public Result getImouLiveVideoByConfigId(Long videoConfigId) { + logger.info("【获取imou直播视频监控地址接口】入参:{}",videoConfigId); + if (videoConfigId == null) { + return new Result(ResultCodeConstant.FAIL_CODE,"参数不能为空!"); + } + //根据toiletId获取监控设备序列号及通道 + ToiletVideoConfig toiletVideoConfig = toiletVideoConfigService.getById(videoConfigId); + if (toiletVideoConfig == null || toiletVideoConfig.getId() == null) { + return new Result(ResultCodeConstant.FAIL_CODE,"获取视频设备信息失败,请联系管理员!"); + } + logger.info("【获取imou直播视频监控地址接口】获取到的视频配置信息:{}",toiletVideoConfig.toString()); + String deviceId = toiletVideoConfig.getDeviceId(); + Integer channel = toiletVideoConfig.getChannel(); + logger.info("【获取imou直播视频监控地址接口】获取到的设备编号:{},通道号:{}",deviceId,channel); + //调接口获取kitToken + String kitToken = SdkClient.getKitToken(deviceId, channel.toString()); + logger.info("【获取imou直播视频监控地址接口】kitToken:{}",kitToken); + if (org.springframework.util.StringUtils.isEmpty(kitToken)) { + return new Result(ResultCodeConstant.FAIL_CODE,"获取身份信息失败!"); + } + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + JSONObject data = new JSONObject(); + data.put("url", String.format("imou://open.lechange.com/%s/%s/1?streamId=1", deviceId, channel)); + data.put("kitToken", kitToken); + return new Result(data); + } + + @Override public Result getImouReturnVideo(Long toiletId, Date startTime, Date endTime) { logger.info("【获取imou视频监控地址接口】入参:",toiletId); if (toiletId == null || startTime == null || endTime == null) { @@ -189,6 +217,46 @@ public class ToiletVideoCheckServiceImpl implements ToiletVideoCheckService { } @Override + public Result getImouReturnVideoByConfigId(Long videoConfigId, Date startTime, Date endTime) { + logger.info("【获取imou视频监控地址接口】入参:",videoConfigId); + if (videoConfigId == null || startTime == null || endTime == null) { + return new Result(ResultCodeConstant.FAIL_CODE,"参数不能为空!"); + } + //校验时间差是否超过一天 + long startTimes = startTime.getTime(); + long endTimes = endTime.getTime(); + long day = 1000 * 60 * 60 * 24; + SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd"); + String startTimeDate = sdf1.format(startTime); + String endTimeDate = sdf1.format(endTime); + if ((endTimes - startTimes) >= day || !startTimeDate.equals(endTimeDate)) { + return new Result(ResultCodeConstant.FAIL_CODE,"日期参数不正确,回看录像不能跨天!"); + } + //根据toiletId获取监控设备序列号及通道 + ToiletVideoConfig toiletVideoConfig = toiletVideoConfigService.getById(videoConfigId); + if (toiletVideoConfig == null || toiletVideoConfig.getId() == null) { + return new Result(ResultCodeConstant.FAIL_CODE,"获取视频设备信息失败,请联系管理员!"); + } + String deviceId = toiletVideoConfig.getDeviceId(); + Integer channel = toiletVideoConfig.getChannel(); + //先通过缓存获取kitToken,如果不存在则调接口获取 + String kitToken = (String) redisUtil.get(Constant.LECHENG_KIT_TOKEN); + if (StringUtils.isBlank(kitToken)) { + kitToken = SdkClient.getKitToken(deviceId, channel.toString()); + if (org.springframework.util.StringUtils.isEmpty(kitToken)) { + return new Result(ResultCodeConstant.FAIL_CODE,"获取身份信息失败!"); + } + } + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String startTimeStr = sdf.format(startTime); + String endTimeStr = sdf.format(endTime); + JSONObject data = new JSONObject(); + data.put("url", String.format("imou://open.lechange.com/%s/%s/2?recordType=%s&streamId=1&beginTime=%s&endTime=%s", deviceId, channel,"localRecord",startTimeStr,endTimeStr)); + data.put("kitToken", kitToken); + return new Result(data); + } + + @Override public Result getDeviceSaveStatus(Long toiletId) { logger.info("【获取设备存储状态】入参:",toiletId); if (toiletId == null) { diff --git a/src/main/java/com/example/modular/monitoringdata/mapper/mapping/ToiletAirIndexAverageMapper.xml b/src/main/java/com/example/modular/monitoringdata/mapper/mapping/ToiletAirIndexAverageMapper.xml index 29ab263..73e7bab 100644 --- a/src/main/java/com/example/modular/monitoringdata/mapper/mapping/ToiletAirIndexAverageMapper.xml +++ b/src/main/java/com/example/modular/monitoringdata/mapper/mapping/ToiletAirIndexAverageMapper.xml @@ -23,11 +23,7 @@ - SELECT - a.* - FROM - ( SELECT FROM toilet_air_index_average WHERE toilet_id = #{toiletId} ORDER BY create_time DESC ) AS a - GROUP BY a.toilet_near_type; + SELECT * FROM toilet_air_index_average WHERE toilet_id = #{toiletId} ORDER BY create_time DESC limit 2 diff --git a/src/main/java/com/example/modular/picturemanage/controller/PictureManageController.java b/src/main/java/com/example/modular/picturemanage/controller/PictureManageController.java index 70b9f72..b354904 100644 --- a/src/main/java/com/example/modular/picturemanage/controller/PictureManageController.java +++ b/src/main/java/com/example/modular/picturemanage/controller/PictureManageController.java @@ -1,8 +1,10 @@ package com.example.modular.picturemanage.controller; +import com.example.modular.lecheng.service.ToiletVideoCheckService; import com.example.modular.picturemanage.service.PictureManageService; import com.example.modular.picturemanage.vo.OnePictureParamVO; import com.example.modular.toilet.service.IToiletService; +import com.example.modular.video.service.IToiletVideoConfigService; import com.example.util.Result; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -28,6 +30,8 @@ public class PictureManageController { private IToiletService toiletService; @Autowired private PictureManageService pictureManageService; + @Autowired + private IToiletVideoConfigService toiletVideoConfigService; /** * 一图展示公厕查询信息接口 @@ -35,7 +39,7 @@ public class PictureManageController { * @return * @author ysl */ - @PutMapping("/list") + @PostMapping("/list") @CrossOrigin public Result getToiletList (@RequestBody OnePictureParamVO onePictureParamVO) { //searchType 查询类型:1 查全部的公厕数据 2 查有视频的公厕数据 @@ -58,7 +62,7 @@ public class PictureManageController { * @return * @author ysl */ - @PutMapping("/vedio-list") + @PostMapping("/vedio-list") @CrossOrigin public Result getVedioToiletList (@RequestBody OnePictureParamVO onePictureParamVO) { //searchType 查询类型:1 查全部的公厕数据 2 查有视频的公厕数据 @@ -119,4 +123,18 @@ public class PictureManageController { Result result = pictureManageService.getWarnToiletList(userToken,toiletName); return result; } + + + /** + * 获取厕所视频监控集合 + * @param toiletId 厕所ID + * @return + * @author ysl + */ + @GetMapping("/video-list") + @CrossOrigin + public Result getVideoList (@RequestParam(value = "toiletId",required = true)Long toiletId) { + Result result = toiletVideoConfigService.getVideoList(toiletId); + return result; + } } diff --git a/src/main/java/com/example/modular/rectify/controller/ToiletRectifyTaskInfoController.java b/src/main/java/com/example/modular/rectify/controller/ToiletRectifyTaskInfoController.java index bfaed7e..833a2b2 100644 --- a/src/main/java/com/example/modular/rectify/controller/ToiletRectifyTaskInfoController.java +++ b/src/main/java/com/example/modular/rectify/controller/ToiletRectifyTaskInfoController.java @@ -100,4 +100,16 @@ public class ToiletRectifyTaskInfoController { EasyExcel.write(response.getOutputStream(), ToiletRectifyTaskInfoTemplate.class).sheet("监督考核任务数据").doWrite(toiletRectifyTaskInfoService.queryExportData(taskName, area,rectifyType,commitUser)); } + + /** + * 获取公厕监督考核评分top10 + * @return + * @author ysl + */ + @GetMapping("/topList") + @CrossOrigin + public Result topList () { + Result result = toiletRectifyTaskInfoService.topList(); + return result; + } } \ No newline at end of file diff --git a/src/main/java/com/example/modular/rectify/mapper/ToiletRectifyTaskInfoMapper.java b/src/main/java/com/example/modular/rectify/mapper/ToiletRectifyTaskInfoMapper.java index ea510b1..748dbbc 100644 --- a/src/main/java/com/example/modular/rectify/mapper/ToiletRectifyTaskInfoMapper.java +++ b/src/main/java/com/example/modular/rectify/mapper/ToiletRectifyTaskInfoMapper.java @@ -3,6 +3,11 @@ package com.example.modular.rectify.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.example.modular.rectify.po.ToiletRectifyTaskInfo; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; /** * @@ -12,6 +17,10 @@ import com.example.modular.rectify.po.ToiletRectifyTaskInfo; * @author ysl * @since 2021-10-13 */ +@Mapper +@Component public interface ToiletRectifyTaskInfoMapper extends BaseMapper { + List topList(Date startTime,Date endTime); + } diff --git a/src/main/java/com/example/modular/rectify/mapper/mapping/ToiletRectifyTaskInfoMapper.xml b/src/main/java/com/example/modular/rectify/mapper/mapping/ToiletRectifyTaskInfoMapper.xml index 07ba2b4..5eb4e7a 100644 --- a/src/main/java/com/example/modular/rectify/mapper/mapping/ToiletRectifyTaskInfoMapper.xml +++ b/src/main/java/com/example/modular/rectify/mapper/mapping/ToiletRectifyTaskInfoMapper.xml @@ -42,4 +42,7 @@ id, task_id, task_name, toilet_name, area, address, point_location, rectify_type, template, period, toilet_all_score, toilet_all_points, standard_score, detail_score, points, describe_info, img_url, commit_user, next_user, check_time, complete_time, as_of_time, status, conclusion, delete_status, create_time, update_time + + select * from toilet_rectify_task_info where create_time >= #{startTime} and create_time <= #{endTime} order by toilet_all_score desc limit 10 + diff --git a/src/main/java/com/example/modular/rectify/po/ToiletRectifyTaskInfo.java b/src/main/java/com/example/modular/rectify/po/ToiletRectifyTaskInfo.java index d839f65..ee68fee 100644 --- a/src/main/java/com/example/modular/rectify/po/ToiletRectifyTaskInfo.java +++ b/src/main/java/com/example/modular/rectify/po/ToiletRectifyTaskInfo.java @@ -213,4 +213,10 @@ public class ToiletRectifyTaskInfo extends Model { */ @TableField(exist = false) private String createTimeStr; + + /** + * 排名序号 + */ + @TableField(exist = false) + private Integer sort; } diff --git a/src/main/java/com/example/modular/rectify/service/IToiletRectifyTaskInfoService.java b/src/main/java/com/example/modular/rectify/service/IToiletRectifyTaskInfoService.java index d7c8217..f47b70e 100644 --- a/src/main/java/com/example/modular/rectify/service/IToiletRectifyTaskInfoService.java +++ b/src/main/java/com/example/modular/rectify/service/IToiletRectifyTaskInfoService.java @@ -69,4 +69,11 @@ public interface IToiletRectifyTaskInfoService extends IService queryExportData(String taskName,String area,Integer rectifyType,String commitUser); + + /** + * 获取公厕监督考核评分top10 + * @return + * @author ysl + */ + Result topList(); } diff --git a/src/main/java/com/example/modular/rectify/service/impl/ToiletRectifyTaskInfoServiceImpl.java b/src/main/java/com/example/modular/rectify/service/impl/ToiletRectifyTaskInfoServiceImpl.java index a28d087..70625e6 100644 --- a/src/main/java/com/example/modular/rectify/service/impl/ToiletRectifyTaskInfoServiceImpl.java +++ b/src/main/java/com/example/modular/rectify/service/impl/ToiletRectifyTaskInfoServiceImpl.java @@ -11,6 +11,7 @@ import com.example.modular.rectify.mapper.ToiletRectifyTaskInfoMapper; import com.example.modular.rectify.service.IToiletRectifyTaskInfoService; import com.example.modular.user.service.IUserInfoService; import com.example.modular.user.vo.UserInfoVO; +import com.example.util.DateUtils; import com.example.util.Result; import com.haidapu.core.common.msg.R; import lombok.extern.slf4j.Slf4j; @@ -24,6 +25,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Map; /** * @@ -39,6 +41,8 @@ public class ToiletRectifyTaskInfoServiceImpl extends ServiceImpl timeMap = DateUtils.getStartTimeAndEndTime(Constant.MONTH_PARAM); + Date startTime = timeMap.get("startTime"); + Date endTime = timeMap.get("endTime"); + List toiletRectifyTaskInfoList = toiletRectifyTaskInfoMapper.topList(startTime,endTime); + int i = 1; + for (ToiletRectifyTaskInfo toiletRectifyTaskInfo : toiletRectifyTaskInfoList) { + toiletRectifyTaskInfo.setSort(i); + i++; + } + return new Result(toiletRectifyTaskInfoList); + } } diff --git a/src/main/java/com/example/modular/shangyudata/service/impl/ShangyuToiletDataServiceImpl.java b/src/main/java/com/example/modular/shangyudata/service/impl/ShangyuToiletDataServiceImpl.java index fed1bbb..7f97c19 100644 --- a/src/main/java/com/example/modular/shangyudata/service/impl/ShangyuToiletDataServiceImpl.java +++ b/src/main/java/com/example/modular/shangyudata/service/impl/ShangyuToiletDataServiceImpl.java @@ -30,6 +30,7 @@ import com.example.modular.toilet.service.IToiletService; import com.example.util.ToiletCodeUtil; import com.haidapu.core.common.msg.R; import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -44,6 +45,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +@Slf4j @Service public class ShangyuToiletDataServiceImpl implements ShangyuToiletDataService { @@ -378,11 +380,18 @@ public class ShangyuToiletDataServiceImpl implements ShangyuToiletDataService { @Override public R pushToiletAir(ToiletAirDataVO toiletAirDataVO) { //校验参数是否正确 + log.info("入参:" + JSON.toJSONString(toiletAirDataVO)); if (toiletAirDataVO == null || StringUtils.isBlank(toiletAirDataVO.getToiletCode()) || toiletAirDataVO.getTemperature() == null || toiletAirDataVO.getHumidity() == null || toiletAirDataVO.getToiletNearType() == null || toiletAirDataVO.getAmmonia() == null || toiletAirDataVO.getHudrogenSulfide() == null || StringUtils.isBlank(toiletAirDataVO.getCreateTime())) { return R.error(201,"参数缺失!"); } + if (toiletAirDataVO.getTemperature() >= 60) { + return R.error(201,"温度数据不正常!"); + } + if (toiletAirDataVO.getHumidity() >= 100) { + return R.error(201,"湿度数据不正常!"); + } //根据公厕编码查询公厕信息 QueryWrapper toiletQueryWrapper = new QueryWrapper<>(); toiletQueryWrapper.eq("toilet_code",toiletAirDataVO.getToiletCode()); @@ -406,6 +415,8 @@ public class ShangyuToiletDataServiceImpl implements ShangyuToiletDataService { toiletAirIndexAverageQueryWrapper.le("create_time",endTime); List toiletAirIndexAverageList = toiletAirIndexAverageService.list(toiletAirIndexAverageQueryWrapper); if (CollectionUtils.isEmpty(toiletAirIndexAverageList)) { + + log.info("空气数据新增流程!" ); ToiletAirIndexAverage toiletAirIndexAverage = new ToiletAirIndexAverage(); toiletAirIndexAverage.setToiletId(toiletId); toiletAirIndexAverage.setToiletNearType(toiletAirDataVO.getToiletNearType()); @@ -417,9 +428,11 @@ public class ShangyuToiletDataServiceImpl implements ShangyuToiletDataService { toiletAirIndexAverage.setCreateTime(createTimeDate); toiletAirIndexAverage.setUpdateTime(createTimeDate); toiletAirIndexAverageService.save(toiletAirIndexAverage); + log.info("空气数据新增流程完成:" + JSON.toJSONString(toiletAirIndexAverage)); overStandardValueAir (toiletAirDataVO,toiletId,createTimeDate,toiletList.get(0).getToiletLevel()); return R.ok(); } + log.info("空气数据修改流程!" ); ToiletAirIndexAverage toiletAirIndexAverage = toiletAirIndexAverageList.get(0); toiletAirIndexAverage.setTemperatureAverage((toiletAirDataVO.getTemperature() + toiletAirIndexAverage.getTemperatureAverage())/2); toiletAirIndexAverage.setHumidityAverage((toiletAirDataVO.getHumidity() + toiletAirIndexAverage.getHumidityAverage())/2); @@ -428,7 +441,9 @@ public class ShangyuToiletDataServiceImpl implements ShangyuToiletDataService { toiletAirIndexAverage.setHudrogenSulfideAverage((toiletAirDataVO.getHudrogenSulfide() + toiletAirIndexAverage.getHudrogenSulfideAverage())/2); toiletAirIndexAverage.setUpdateTime(new Date()); toiletAirIndexAverageService.updateById(toiletAirIndexAverage); + log.info("空气数据修改流程完成:" + JSON.toJSONString(toiletAirIndexAverage)); overStandardValueAir (toiletAirDataVO,toiletId,createTimeDate,toiletList.get(0).getToiletLevel()); + log.info("空气数据推送结束!" ); return R.ok(); } @@ -442,6 +457,7 @@ public class ShangyuToiletDataServiceImpl implements ShangyuToiletDataService { private void overStandardValueAir (ToiletAirDataVO toiletAirDataVO,Long toiletId,Date createTimeDate,Integer toiletLevel) { //标准值走sysConfig表配置 TODO //根据key获取配置的空气阀值 + log.info("空气超标流程进入:" + JSON.toJSONString(toiletAirDataVO)); QueryWrapper sysConfigQueryWrapper = new QueryWrapper<>(); sysConfigQueryWrapper.eq("PARAM_KEY",Constant.AIR_QUALITY_STANDARD_KEY); sysConfigQueryWrapper.eq("STATUS",Constant.CONFIG_STATUS_OPEN); @@ -478,6 +494,7 @@ public class ShangyuToiletDataServiceImpl implements ShangyuToiletDataService { toiletAirExceedIndex.setUpdateTime(createTimeDate); toiletAirExceedIndexService.save(toiletAirExceedIndex); } + log.info("空气超标流程结束!" ); } @SneakyThrows diff --git a/src/main/java/com/example/modular/toilet/controller/ToiletController.java b/src/main/java/com/example/modular/toilet/controller/ToiletController.java index dbe07b2..a775813 100644 --- a/src/main/java/com/example/modular/toilet/controller/ToiletController.java +++ b/src/main/java/com/example/modular/toilet/controller/ToiletController.java @@ -16,9 +16,6 @@ import com.example.modular.toilet.vo.ToiletVO; import com.example.modular.user.service.IUserInfoService; import com.example.modular.user.vo.UserInfoVO; import com.example.util.Result; -//import lombok.extern.slf4j.Slf4j; -//import org.slf4j.Logger; -//import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; @@ -218,7 +215,7 @@ public class ToiletController { * @return * @author ysl */ - @PutMapping("/manage-update") + @PostMapping("/manage-update") @CrossOrigin public Result manageUpdateToilet (@Valid @RequestBody ToiletVO vo,HttpServletRequest request) { // log.info("【公厕管理新增厕所接口】,入参:{}",vo.toString()); @@ -237,7 +234,7 @@ public class ToiletController { * @return * @author ysl */ - @PutMapping("/manage-page") + @PostMapping("/manage-page") public Result selectToiletPage (HttpServletRequest request,@RequestParam(value = "toiletName",required = false)String toiletName, @RequestBody List regionParamVOList, @RequestParam(value = "startPage",required = false,defaultValue = "1")Integer startPage, @@ -248,4 +245,18 @@ public class ToiletController { } + /** + * 天地图坐标转高德地图坐标方法 + * @param jingdu 天地图经度 + * @param weidu 天地图纬度 + * @return + * @author ysl + */ + @GetMapping("/zuobiao") + public Result zuobiao (@RequestParam(value = "jingdu",required = false,defaultValue = "1")Double jingdu, + @RequestParam(value = "weidu",required = false,defaultValue = "10")Double weidu) { + Result result = toiletService.zuobiao(jingdu,weidu); + return result; + } + } diff --git a/src/main/java/com/example/modular/toilet/excel/listener/ToiletDataListener.java b/src/main/java/com/example/modular/toilet/excel/listener/ToiletDataListener.java index f14703c..d9fd6d2 100644 --- a/src/main/java/com/example/modular/toilet/excel/listener/ToiletDataListener.java +++ b/src/main/java/com/example/modular/toilet/excel/listener/ToiletDataListener.java @@ -21,6 +21,7 @@ import com.haidapu.core.common.utils.FastJsonUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; +import org.springframework.util.CollectionUtils; import java.util.*; @@ -100,16 +101,18 @@ public class ToiletDataListener extends AnalysisEventListener { QueryWrapper toiletQueryWrapper = new QueryWrapper<>(); toiletQueryWrapper.eq("delete_status",Constant.TOILET_DEL_STATUS_NO); List toiletList = toiletService.list(toiletQueryWrapper); - List toiletIdList = new ArrayList<>(toiletList.size()); - for (Toilet toilet : toiletList) { - toiletStreetNameToIdMap.put(toilet.getToiletName(),toilet); - toiletIdList.add(toilet.getId()); - } - QueryWrapper toiletDetailQueryWrapper = new QueryWrapper<>(); - toiletDetailQueryWrapper.in("toilet_id",toiletIdList); - List toiletDetailList = toiletDetailService.list(toiletDetailQueryWrapper); - for (ToiletDetail toiletDetail : toiletDetailList) { - toiletIdToDetailMap.put(toiletDetail.getToiletId(),toiletDetail); + if (!CollectionUtils.isEmpty(toiletList)) { + List toiletIdList = new ArrayList<>(toiletList.size()); + for (Toilet toilet : toiletList) { + toiletStreetNameToIdMap.put(toilet.getToiletName(),toilet); + toiletIdList.add(toilet.getId()); + } + QueryWrapper toiletDetailQueryWrapper = new QueryWrapper<>(); + toiletDetailQueryWrapper.in("toilet_id",toiletIdList); + List toiletDetailList = toiletDetailService.list(toiletDetailQueryWrapper); + for (ToiletDetail toiletDetail : toiletDetailList) { + toiletIdToDetailMap.put(toiletDetail.getToiletId(),toiletDetail); + } } } diff --git a/src/main/java/com/example/modular/toilet/mapper/ToiletMapper.java b/src/main/java/com/example/modular/toilet/mapper/ToiletMapper.java index 985c4e5..31069c2 100644 --- a/src/main/java/com/example/modular/toilet/mapper/ToiletMapper.java +++ b/src/main/java/com/example/modular/toilet/mapper/ToiletMapper.java @@ -93,4 +93,9 @@ public interface ToiletMapper extends BaseMapper { * @author ysl */ int countManageToiletPageByParams (@Param("map") Map> map,@Param("toiletName")String toiletName); + + + Double zuobiaojingdu(@Param("jingdu") Double jingdu, @Param("weidu") Double weidu); + + Double zuobiaoweidu(@Param("jingdu") Double jingdu, @Param("weidu") Double weidu); } diff --git a/src/main/java/com/example/modular/toilet/mapper/mapping/ToiletMapper.xml b/src/main/java/com/example/modular/toilet/mapper/mapping/ToiletMapper.xml index c1a0999..dd5eacf 100644 --- a/src/main/java/com/example/modular/toilet/mapper/mapping/ToiletMapper.xml +++ b/src/main/java/com/example/modular/toilet/mapper/mapping/ToiletMapper.xml @@ -70,7 +70,8 @@ select - from toilet where delete_status = 0 + from toilet where delete_status = 0 and x_coordinates is not null and y_coordinates is not null + and tian_map_x_coordinates is not null and tian_map_y_coordinates is not null and toilet_level = #{toiletLevel} @@ -101,7 +102,8 @@ select count(*) - from toilet where delete_status = 0 + from toilet where delete_status = 0 and x_coordinates is not null and y_coordinates is not null + and tian_map_x_coordinates is not null and tian_map_y_coordinates is not null and toilet_level = #{toiletLevel} @@ -129,7 +131,8 @@ select count(*) - from toilet where video = 1 and delete_status = 0 + from toilet where video = 1 and delete_status = 0 and x_coordinates is not null and y_coordinates is not null + and tian_map_x_coordinates is not null and tian_map_y_coordinates is not null and toilet_level = #{toiletLevel} @@ -234,4 +237,32 @@ ) + + + + SELECT + -- 经度 + #{jingdu} + + (((300.0 + (#{jingdu} - 105.0) + 2.0 * (#{weidu} - 35.0) + 0.1 * (#{jingdu} - 105.0) * (#{jingdu} - 105.0) + + 0.1 * (#{jingdu} - 105.0) * (#{weidu} - 35.0) + 0.1 * sqrt(abs((#{jingdu} - 105.0))) + + (20.0 * sin(6.0 * (#{jingdu} - 105.0) * 3.1415926535897932384626) + 20.0 * sin(2.0 * (#{jingdu} - 105.0) * 3.1415926535897932384626)) * 2.0 / 3.0 + + (20.0 * sin((#{jingdu} - 105.0) * 3.1415926535897932384626) + 40.0 * sin((#{jingdu} - 105.0) / 3.0 * 3.1415926535897932384626)) * 2.0 / 3.0 + + (150.0 * sin((#{jingdu} - 105.0) / 12.0 * 3.1415926535897932384626) + 300.0 * sin((#{jingdu} - 105.0) / 30.0 * 3.1415926535897932384626)) * 2.0 / 3.0) * 180.0) + / (6378245.0 / (SQRT(1 - 0.00669342162296594323 * sin((#{weidu}) / 180.0 * 3.1415926535897932384626) * sin((#{weidu}) /180.0 * 3.1415926535897932384626))) * + COS((#{weidu}) / 180.0 * 3.1415926535897932384626) * 3.1415926535897932384626)) AS lon + + + + SELECT + -- 经度 + #{weidu} + +((-100.0 + 2.0 * (#{jingdu} - 105.0) + 3.0 * (#{weidu} - 35.0) + 0.2 * (#{weidu} - 35.0) * (#{weidu} - 35.0) + +0.1 * (#{jingdu} - 105.0) * (#{weidu} - 35.0) + 0.2 * sqrt(abs(#{jingdu} - 105.0)) + +(20.0 * sin(6.0 * (#{jingdu} - 105.0) * 3.1415926535897932384626) + 20.0 * sin(2.0 * (#{jingdu} - 105.0) * 3.1415926535897932384626)) * 2.0 /3.0 + +(20.0 * sin((#{weidu} - 35.0) * 3.1415926535897932384626) + 40.0 * sin((#{weidu} - 35.0) / 3.0 * 3.1415926535897932384626)) * 2.0 / 3.0 + +(160.0 * sin((#{weidu} - 35.0) / 12.0 * 3.1415926535897932384626) + 320 * sin((#{weidu} - 35.0) * 3.1415926535897932384626 / 30.0)) * 2.0 / 3.0 ) * 180) +/ ((6378245.0 * (1 - 0.00669342162296594323)) / ((1 - 0.00669342162296594323 * sin((#{weidu}) /180.0 * 3.1415926535897932384626) * sin((#{weidu}) / +180.0 * 3.1415926535897932384626)) * (SQRT(1 - 0.00669342162296594323 * sin((#{weidu}) /180.0 * 3.1415926535897932384626) * sin((#{weidu}) /180.0 * +3.1415926535897932384626)))) * 3.1415926535897932384626) AS lat + diff --git a/src/main/java/com/example/modular/toilet/service/IToiletService.java b/src/main/java/com/example/modular/toilet/service/IToiletService.java index 98f2783..9ff7e07 100644 --- a/src/main/java/com/example/modular/toilet/service/IToiletService.java +++ b/src/main/java/com/example/modular/toilet/service/IToiletService.java @@ -136,4 +136,15 @@ public interface IToiletService extends IService { * @author ysl */ Result selectToiletPage(String toiletName, List regionParamVOList,String userToken,int startPage,int pageSize); + + + + /** + * 天地图坐标转高德地图坐标方法 + * @param jingdu 天地图经度 + * @param weidu 天地图纬度 + * @return + * @author ysl + */ + Result zuobiao(Double jingdu,Double weidu); } diff --git a/src/main/java/com/example/modular/toilet/service/impl/ToiletServiceImpl.java b/src/main/java/com/example/modular/toilet/service/impl/ToiletServiceImpl.java index dee3d1d..5a9efbb 100644 --- a/src/main/java/com/example/modular/toilet/service/impl/ToiletServiceImpl.java +++ b/src/main/java/com/example/modular/toilet/service/impl/ToiletServiceImpl.java @@ -386,13 +386,22 @@ public class ToiletServiceImpl extends ServiceImpl impleme } public static void main(String[] args) { - SimpleDateFormat sdf= new SimpleDateFormat("HH:mm"); - try { - Date d = sdf.parse("05:00"); - System.out.println(d); - } catch (ParseException e) { - e.printStackTrace(); - } + String phone = "13888888888"; +// phone = phone.replaceAll("(\\d{3})\\d{4}(\\d{4})","$1*****$2"); +// System.out.println(phone); + + String s = phone.substring(0,4); + String x = phone.substring(phone.length() - 4 , phone.length()); + System.out.println(s + "******" + x); + System.out.println(x); + +// SimpleDateFormat sdf= new SimpleDateFormat("HH:mm"); +// try { +// Date d = sdf.parse("05:00"); +// System.out.println(d); +// } catch (ParseException e) { +// e.printStackTrace(); +// } } @Override @@ -478,6 +487,26 @@ public class ToiletServiceImpl extends ServiceImpl impleme continue; } ToiletVO vo = new ToiletVO(toilet,detail); + try { + if (StringUtils.isNotBlank(vo.getManagerIdCard())) { + String idCard = vo.getManagerIdCard(); + String s = idCard.substring(0,4); + String x = idCard.substring(idCard.length() - 4 , idCard.length()); + vo.setManagerIdCard(s + "******" + x); + } + if (StringUtils.isNotBlank(vo.getManagerContactPhone())) { + String phone = vo.getManagerContactPhone(); + phone = phone.replaceAll("(\\d{3})\\d{4}(\\d{4})","$1*****$2"); + vo.setManagerContactPhone(phone); + } + if (StringUtils.isNotBlank(vo.getAddress()) && vo.getAddress().length() >= 4) { + String address = vo.getAddress().substring(0,vo.getAddress().length() - 3); + vo.setAddress(address + "***"); + } + } catch (Exception e) { + logger.info("{}数据脱敏失败:{}",vo.getToiletName(),e); + } + vo.setImgs(StringUtils.isNotBlank(detail.getPhoto()) ? detail.getPhoto().split(",") : null); vo.setCreateTimeStr(sdf.format(toilet.getCreateTime())); vo.setProvinceName(regionIdToNameMap.get(vo.getProvince())); @@ -1405,6 +1434,7 @@ public class ToiletServiceImpl extends ServiceImpl impleme } + @Scheduled(cron = "0 7/30 * * * ? ") public void getToiletNearStatus () { logger.info("【为天地图坐标赋值定时任务】开始:{}",System.currentTimeMillis()); @@ -1473,4 +1503,16 @@ public class ToiletServiceImpl extends ServiceImpl impleme updateBatchById(toiletList); logger.info("【从小程序定位获取高德地图经纬度定时任务】结束:{}",System.currentTimeMillis()); } + + + + @Override + public Result zuobiao(Double jingdu, Double weidu) { + Double gaodejingdu = this.baseMapper.zuobiaojingdu(jingdu,weidu); + Double gaodeweidu = this.baseMapper.zuobiaoweidu(jingdu,weidu); + Map map = new HashMap<>(); + map.put("经度",gaodejingdu); + map.put("纬度",gaodeweidu); + return new Result(map); + } } diff --git a/src/main/java/com/example/modular/ttoilet/po/TToilet.java b/src/main/java/com/example/modular/ttoilet/po/TToilet.java index 2967cb9..f390c65 100644 --- a/src/main/java/com/example/modular/ttoilet/po/TToilet.java +++ b/src/main/java/com/example/modular/ttoilet/po/TToilet.java @@ -29,7 +29,7 @@ public class TToilet extends Model { * 公厕id */ @TableId(value = "toiletId") - private Long toiletId; + private String toiletId; /** * 区县code */ @@ -512,11 +512,11 @@ public class TToilet extends Model { private Integer hyyyFlag; - public Long getToiletId() { + public String getToiletId() { return toiletId; } - public void setToiletId(Long toiletId) { + public void setToiletId(String toiletId) { this.toiletId = toiletId; } diff --git a/src/main/java/com/example/modular/ttoilet/service/impl/TToiletServiceImpl.java b/src/main/java/com/example/modular/ttoilet/service/impl/TToiletServiceImpl.java index 1a46990..d61f17f 100644 --- a/src/main/java/com/example/modular/ttoilet/service/impl/TToiletServiceImpl.java +++ b/src/main/java/com/example/modular/ttoilet/service/impl/TToiletServiceImpl.java @@ -7,6 +7,7 @@ import com.example.modular.ttoilet.mapper.TToiletMapper; import com.example.modular.ttoilet.po.TToilet; import com.example.modular.ttoilet.service.ITToiletService; import com.example.util.Result; +import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; @@ -24,6 +25,7 @@ import java.util.List; */ @Service @DS("db2") +@Slf4j public class TToiletServiceImpl extends ServiceImpl implements ITToiletService { private final Logger logger = LoggerFactory.getLogger(TToiletServiceImpl.class); @@ -63,6 +65,7 @@ public class TToiletServiceImpl extends ServiceImpl impl } if (!CollectionUtils.isEmpty(insertList)) { + log.info("【绍兴大数据局公厕新增】执行公厕数据新增逻辑:{}",flag); // for (TToilet tToilet : insertList) { // try { // flag = save(tToilet); @@ -71,7 +74,13 @@ public class TToiletServiceImpl extends ServiceImpl impl // } // // } - flag = saveBatch(insertList); + try { + flag = saveBatch(insertList); + } catch (Exception e) { + log.error("【绍兴大数据局公厕新增】失败:{}",e); + } + + log.info("【绍兴大数据局公厕新增】结果:{}",flag); // int indexInsert = 1; // if (insertList.size() > 100) { // indexInsert = insertList.size() / 100 + 1; diff --git a/src/main/java/com/example/modular/user/controller/RoleInfoController.java b/src/main/java/com/example/modular/user/controller/RoleInfoController.java index c833c69..ca16eca 100644 --- a/src/main/java/com/example/modular/user/controller/RoleInfoController.java +++ b/src/main/java/com/example/modular/user/controller/RoleInfoController.java @@ -61,7 +61,7 @@ public class RoleInfoController { * @return * @author ysl */ - @PutMapping("/edit") + @PostMapping("/edit") @CrossOrigin public Result editRoleInfo (@RequestParam(value = "roleName")String roleName,@RequestParam(value = "menuIds")String menuIds, @RequestParam(value = "roleId")Long roleId,@RequestParam(value = "cockpitSign")Integer cockpitSign, @@ -78,7 +78,7 @@ public class RoleInfoController { * @return * @author ysl */ - @PutMapping("/enable") + @PostMapping("/enable") @CrossOrigin public Result enableRoleInfoStatus (@RequestParam(value = "roleId")Long roleId, HttpServletRequest request) { @@ -94,7 +94,7 @@ public class RoleInfoController { * @return * @author ysl */ - @PutMapping("/disable") + @PostMapping("/disable") @CrossOrigin public Result disableRoleInfoStatus (@RequestParam(value = "roleId")Long roleId, HttpServletRequest request) { diff --git a/src/main/java/com/example/modular/user/controller/UserInfoController.java b/src/main/java/com/example/modular/user/controller/UserInfoController.java index d6fe5ba..10b92b8 100644 --- a/src/main/java/com/example/modular/user/controller/UserInfoController.java +++ b/src/main/java/com/example/modular/user/controller/UserInfoController.java @@ -59,7 +59,7 @@ public class UserInfoController { * @return * @author ysl */ - @PutMapping("/update-user") + @PostMapping("/update-user") @CrossOrigin public Result updateUser (@RequestBody UserInfoVO vo,HttpServletRequest request) { String userToken = request.getHeader("token"); @@ -73,7 +73,7 @@ public class UserInfoController { * @return * @author ysl */ - @PutMapping("/password") + @PostMapping("/password") @CrossOrigin public Result updatePassword (@RequestBody UserInfoVO vo) { Result result = userInfoService.updatePassword(vo); @@ -86,7 +86,7 @@ public class UserInfoController { * @return * @author ysl */ - @PutMapping("/close-user") + @PostMapping("/close-user") @CrossOrigin public Result closeUser (@RequestParam(value = "userId")Long userId,HttpServletRequest request) { Result result = userInfoService.updateUserStatus(userId, Constant.USER_STATUS_NO,request.getHeader("token")); @@ -99,7 +99,7 @@ public class UserInfoController { * @return * @author ysl */ - @PutMapping("/open-user") + @PostMapping("/open-user") @CrossOrigin public Result openUser (@RequestParam(value = "userId")Long userId,HttpServletRequest request) { Result result = userInfoService.updateUserStatus(userId, Constant.USER_STATUS_YES,request.getHeader("token")); diff --git a/src/main/java/com/example/modular/user/service/impl/UserInfoServiceImpl.java b/src/main/java/com/example/modular/user/service/impl/UserInfoServiceImpl.java index 84050ec..03b3da3 100644 --- a/src/main/java/com/example/modular/user/service/impl/UserInfoServiceImpl.java +++ b/src/main/java/com/example/modular/user/service/impl/UserInfoServiceImpl.java @@ -532,6 +532,15 @@ public class UserInfoServiceImpl extends ServiceImpl i roleIdToNameMap.put(roleInfo.getId(),roleInfo.getRoleName()); } for (UserInfoVO userInfoVO : userInfoVOList) { + try { + if (StringUtils.isNotBlank(userInfoVO.getPhone())) { + String phone = userInfoVO.getPhone(); + phone = phone.replaceAll("(\\d{3})\\d{4}(\\d{4})","$1*****$2"); + userInfoVO.setPhone(phone); + } + } catch (Exception e) { + logger.info("{}数据脱敏失败:{}",userInfoVO.getAccount(),e); + } userInfoVO.setRoleName(roleIdToNameMap.get(userInfoVO.getRoleId())); userInfoVO.setDepartmentName(departmentIdToNameMap.get(userInfoVO.getDepartmentId())); } diff --git a/src/main/java/com/example/modular/video/service/IToiletVideoConfigService.java b/src/main/java/com/example/modular/video/service/IToiletVideoConfigService.java index 099f286..cdd1355 100644 --- a/src/main/java/com/example/modular/video/service/IToiletVideoConfigService.java +++ b/src/main/java/com/example/modular/video/service/IToiletVideoConfigService.java @@ -3,6 +3,7 @@ package com.example.modular.video.service; import com.baomidou.mybatisplus.extension.service.IService; import com.example.modular.video.po.ToiletVideoConfig; +import com.example.util.Result; /** * @@ -14,4 +15,11 @@ import com.example.modular.video.po.ToiletVideoConfig; */ public interface IToiletVideoConfigService extends IService { + /** + * 获取厕所视频监控集合 + * @param toiletId 厕所ID + * @return + * @author ysl + */ + Result getVideoList(Long toiletId); } diff --git a/src/main/java/com/example/modular/video/service/impl/ToiletVideoConfigServiceImpl.java b/src/main/java/com/example/modular/video/service/impl/ToiletVideoConfigServiceImpl.java index 57377fa..c33ee27 100644 --- a/src/main/java/com/example/modular/video/service/impl/ToiletVideoConfigServiceImpl.java +++ b/src/main/java/com/example/modular/video/service/impl/ToiletVideoConfigServiceImpl.java @@ -1,11 +1,15 @@ package com.example.modular.video.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.example.modular.video.mapper.ToiletVideoConfigMapper; import com.example.modular.video.po.ToiletVideoConfig; import com.example.modular.video.service.IToiletVideoConfigService; +import com.example.util.Result; import org.springframework.stereotype.Service; +import java.util.List; + /** * * 服务实现类 @@ -17,4 +21,16 @@ import org.springframework.stereotype.Service; @Service public class ToiletVideoConfigServiceImpl extends ServiceImpl implements IToiletVideoConfigService { + @Override + public Result getVideoList(Long toiletId) { + if (toiletId == null) { + return new Result("201","参数不能为空!"); + } + //获取视频数据 + QueryWrapper toiletVideoConfigQueryWrapper = new QueryWrapper<>(); + toiletVideoConfigQueryWrapper.eq("toilet_id",toiletId); + toiletVideoConfigQueryWrapper.orderByAsc("create_time"); + List toiletVideoConfigList = list(toiletVideoConfigQueryWrapper); + return new Result(toiletVideoConfigList); + } } diff --git a/src/main/java/com/example/task/TToiletTask.java b/src/main/java/com/example/task/TToiletTask.java index 98e8021..176c819 100644 --- a/src/main/java/com/example/task/TToiletTask.java +++ b/src/main/java/com/example/task/TToiletTask.java @@ -40,7 +40,8 @@ public class TToiletTask { @Autowired private IRegionLevelConfigService regionLevelConfigService; - @Scheduled(cron = "0 0 1 1/1 * ?") +// @Scheduled(cron = "0 0 1 1/1 * ?") + @Scheduled(cron = "0/30 * * * * ?") public void uploadToiletToBigData() { logger.info("【开始执行给绍兴大数据传公厕数据】{}",System.currentTimeMillis()); //获取未删除的全部公厕数据 @@ -64,7 +65,7 @@ public class TToiletTask { } //根据公厕id查询大数据局前置库里面已上传的数据 List tToiletList = itToiletService.getToiletListById(toiletIdList); - Map toiletIdToTToiletBeanMap = new HashMap<>(tToiletList.size()); + Map toiletIdToTToiletBeanMap = new HashMap<>(tToiletList.size()); for (TToilet tToilet : tToiletList) { toiletIdToTToiletBeanMap.put(tToilet.getToiletId(),tToilet); } @@ -83,11 +84,11 @@ public class TToiletTask { ToiletDetail detail = toiletIdToDetailMap.get(toilet.getId()); TToilet tToilet = new TToilet(); boolean flag = false; - if (toiletIdToTToiletBeanMap.get(toilet.getId()) != null) { - tToilet = toiletIdToTToiletBeanMap.get(toilet.getId()); + if (toiletIdToTToiletBeanMap.get(toilet.getId().toString()) != null) { + tToilet = toiletIdToTToiletBeanMap.get(toilet.getId().toString()); flag = true; } - tToilet.setToiletId(toilet.getId()); + tToilet.setToiletId(toilet.getId().toString()); tToilet.setRegionCode(toilet.getArea() == null ? null : toilet.getArea().toString()); tToilet.setToiletName(toilet.getToiletName()); tToilet.setToiletCode(toilet.getToiletCode()); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index b87064a..90e9416 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -32,12 +32,12 @@ spring: db1: # 数据源1配置 url: jdbc:mysql://114.55.211.170:3306/shaoxing_toilet?characterEncoding=utf8&useUnicode=true&useSSL=false&serverTimezone=GMT%2B8 username: root - password: 'hdp2021888' + password: '50efcc2aac3b' driver-class-name: com.mysql.cj.jdbc.Driver db2: # 数据源2配置 url: jdbc:mysql://114.55.211.170:3306/toilet_test?characterEncoding=utf8&useUnicode=true&useSSL=false&serverTimezone=GMT%2B8 username: root - password: 'hdp2021888' + password: '50efcc2aac3b' driver-class-name: com.mysql.cj.jdbc.Driver durid: initial-size: 1
@@ -12,6 +17,10 @@ import com.example.modular.rectify.po.ToiletRectifyTaskInfo; * @author ysl * @since 2021-10-13 */ +@Mapper +@Component public interface ToiletRectifyTaskInfoMapper extends BaseMapper { + List topList(Date startTime,Date endTime); + } diff --git a/src/main/java/com/example/modular/rectify/mapper/mapping/ToiletRectifyTaskInfoMapper.xml b/src/main/java/com/example/modular/rectify/mapper/mapping/ToiletRectifyTaskInfoMapper.xml index 07ba2b4..5eb4e7a 100644 --- a/src/main/java/com/example/modular/rectify/mapper/mapping/ToiletRectifyTaskInfoMapper.xml +++ b/src/main/java/com/example/modular/rectify/mapper/mapping/ToiletRectifyTaskInfoMapper.xml @@ -42,4 +42,7 @@ id, task_id, task_name, toilet_name, area, address, point_location, rectify_type, template, period, toilet_all_score, toilet_all_points, standard_score, detail_score, points, describe_info, img_url, commit_user, next_user, check_time, complete_time, as_of_time, status, conclusion, delete_status, create_time, update_time + + select * from toilet_rectify_task_info where create_time >= #{startTime} and create_time <= #{endTime} order by toilet_all_score desc limit 10 + diff --git a/src/main/java/com/example/modular/rectify/po/ToiletRectifyTaskInfo.java b/src/main/java/com/example/modular/rectify/po/ToiletRectifyTaskInfo.java index d839f65..ee68fee 100644 --- a/src/main/java/com/example/modular/rectify/po/ToiletRectifyTaskInfo.java +++ b/src/main/java/com/example/modular/rectify/po/ToiletRectifyTaskInfo.java @@ -213,4 +213,10 @@ public class ToiletRectifyTaskInfo extends Model { */ @TableField(exist = false) private String createTimeStr; + + /** + * 排名序号 + */ + @TableField(exist = false) + private Integer sort; } diff --git a/src/main/java/com/example/modular/rectify/service/IToiletRectifyTaskInfoService.java b/src/main/java/com/example/modular/rectify/service/IToiletRectifyTaskInfoService.java index d7c8217..f47b70e 100644 --- a/src/main/java/com/example/modular/rectify/service/IToiletRectifyTaskInfoService.java +++ b/src/main/java/com/example/modular/rectify/service/IToiletRectifyTaskInfoService.java @@ -69,4 +69,11 @@ public interface IToiletRectifyTaskInfoService extends IService queryExportData(String taskName,String area,Integer rectifyType,String commitUser); + + /** + * 获取公厕监督考核评分top10 + * @return + * @author ysl + */ + Result topList(); } diff --git a/src/main/java/com/example/modular/rectify/service/impl/ToiletRectifyTaskInfoServiceImpl.java b/src/main/java/com/example/modular/rectify/service/impl/ToiletRectifyTaskInfoServiceImpl.java index a28d087..70625e6 100644 --- a/src/main/java/com/example/modular/rectify/service/impl/ToiletRectifyTaskInfoServiceImpl.java +++ b/src/main/java/com/example/modular/rectify/service/impl/ToiletRectifyTaskInfoServiceImpl.java @@ -11,6 +11,7 @@ import com.example.modular.rectify.mapper.ToiletRectifyTaskInfoMapper; import com.example.modular.rectify.service.IToiletRectifyTaskInfoService; import com.example.modular.user.service.IUserInfoService; import com.example.modular.user.vo.UserInfoVO; +import com.example.util.DateUtils; import com.example.util.Result; import com.haidapu.core.common.msg.R; import lombok.extern.slf4j.Slf4j; @@ -24,6 +25,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Map; /** * @@ -39,6 +41,8 @@ public class ToiletRectifyTaskInfoServiceImpl extends ServiceImpl timeMap = DateUtils.getStartTimeAndEndTime(Constant.MONTH_PARAM); + Date startTime = timeMap.get("startTime"); + Date endTime = timeMap.get("endTime"); + List toiletRectifyTaskInfoList = toiletRectifyTaskInfoMapper.topList(startTime,endTime); + int i = 1; + for (ToiletRectifyTaskInfo toiletRectifyTaskInfo : toiletRectifyTaskInfoList) { + toiletRectifyTaskInfo.setSort(i); + i++; + } + return new Result(toiletRectifyTaskInfoList); + } } diff --git a/src/main/java/com/example/modular/shangyudata/service/impl/ShangyuToiletDataServiceImpl.java b/src/main/java/com/example/modular/shangyudata/service/impl/ShangyuToiletDataServiceImpl.java index fed1bbb..7f97c19 100644 --- a/src/main/java/com/example/modular/shangyudata/service/impl/ShangyuToiletDataServiceImpl.java +++ b/src/main/java/com/example/modular/shangyudata/service/impl/ShangyuToiletDataServiceImpl.java @@ -30,6 +30,7 @@ import com.example.modular.toilet.service.IToiletService; import com.example.util.ToiletCodeUtil; import com.haidapu.core.common.msg.R; import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -44,6 +45,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +@Slf4j @Service public class ShangyuToiletDataServiceImpl implements ShangyuToiletDataService { @@ -378,11 +380,18 @@ public class ShangyuToiletDataServiceImpl implements ShangyuToiletDataService { @Override public R pushToiletAir(ToiletAirDataVO toiletAirDataVO) { //校验参数是否正确 + log.info("入参:" + JSON.toJSONString(toiletAirDataVO)); if (toiletAirDataVO == null || StringUtils.isBlank(toiletAirDataVO.getToiletCode()) || toiletAirDataVO.getTemperature() == null || toiletAirDataVO.getHumidity() == null || toiletAirDataVO.getToiletNearType() == null || toiletAirDataVO.getAmmonia() == null || toiletAirDataVO.getHudrogenSulfide() == null || StringUtils.isBlank(toiletAirDataVO.getCreateTime())) { return R.error(201,"参数缺失!"); } + if (toiletAirDataVO.getTemperature() >= 60) { + return R.error(201,"温度数据不正常!"); + } + if (toiletAirDataVO.getHumidity() >= 100) { + return R.error(201,"湿度数据不正常!"); + } //根据公厕编码查询公厕信息 QueryWrapper toiletQueryWrapper = new QueryWrapper<>(); toiletQueryWrapper.eq("toilet_code",toiletAirDataVO.getToiletCode()); @@ -406,6 +415,8 @@ public class ShangyuToiletDataServiceImpl implements ShangyuToiletDataService { toiletAirIndexAverageQueryWrapper.le("create_time",endTime); List toiletAirIndexAverageList = toiletAirIndexAverageService.list(toiletAirIndexAverageQueryWrapper); if (CollectionUtils.isEmpty(toiletAirIndexAverageList)) { + + log.info("空气数据新增流程!" ); ToiletAirIndexAverage toiletAirIndexAverage = new ToiletAirIndexAverage(); toiletAirIndexAverage.setToiletId(toiletId); toiletAirIndexAverage.setToiletNearType(toiletAirDataVO.getToiletNearType()); @@ -417,9 +428,11 @@ public class ShangyuToiletDataServiceImpl implements ShangyuToiletDataService { toiletAirIndexAverage.setCreateTime(createTimeDate); toiletAirIndexAverage.setUpdateTime(createTimeDate); toiletAirIndexAverageService.save(toiletAirIndexAverage); + log.info("空气数据新增流程完成:" + JSON.toJSONString(toiletAirIndexAverage)); overStandardValueAir (toiletAirDataVO,toiletId,createTimeDate,toiletList.get(0).getToiletLevel()); return R.ok(); } + log.info("空气数据修改流程!" ); ToiletAirIndexAverage toiletAirIndexAverage = toiletAirIndexAverageList.get(0); toiletAirIndexAverage.setTemperatureAverage((toiletAirDataVO.getTemperature() + toiletAirIndexAverage.getTemperatureAverage())/2); toiletAirIndexAverage.setHumidityAverage((toiletAirDataVO.getHumidity() + toiletAirIndexAverage.getHumidityAverage())/2); @@ -428,7 +441,9 @@ public class ShangyuToiletDataServiceImpl implements ShangyuToiletDataService { toiletAirIndexAverage.setHudrogenSulfideAverage((toiletAirDataVO.getHudrogenSulfide() + toiletAirIndexAverage.getHudrogenSulfideAverage())/2); toiletAirIndexAverage.setUpdateTime(new Date()); toiletAirIndexAverageService.updateById(toiletAirIndexAverage); + log.info("空气数据修改流程完成:" + JSON.toJSONString(toiletAirIndexAverage)); overStandardValueAir (toiletAirDataVO,toiletId,createTimeDate,toiletList.get(0).getToiletLevel()); + log.info("空气数据推送结束!" ); return R.ok(); } @@ -442,6 +457,7 @@ public class ShangyuToiletDataServiceImpl implements ShangyuToiletDataService { private void overStandardValueAir (ToiletAirDataVO toiletAirDataVO,Long toiletId,Date createTimeDate,Integer toiletLevel) { //标准值走sysConfig表配置 TODO //根据key获取配置的空气阀值 + log.info("空气超标流程进入:" + JSON.toJSONString(toiletAirDataVO)); QueryWrapper sysConfigQueryWrapper = new QueryWrapper<>(); sysConfigQueryWrapper.eq("PARAM_KEY",Constant.AIR_QUALITY_STANDARD_KEY); sysConfigQueryWrapper.eq("STATUS",Constant.CONFIG_STATUS_OPEN); @@ -478,6 +494,7 @@ public class ShangyuToiletDataServiceImpl implements ShangyuToiletDataService { toiletAirExceedIndex.setUpdateTime(createTimeDate); toiletAirExceedIndexService.save(toiletAirExceedIndex); } + log.info("空气超标流程结束!" ); } @SneakyThrows diff --git a/src/main/java/com/example/modular/toilet/controller/ToiletController.java b/src/main/java/com/example/modular/toilet/controller/ToiletController.java index dbe07b2..a775813 100644 --- a/src/main/java/com/example/modular/toilet/controller/ToiletController.java +++ b/src/main/java/com/example/modular/toilet/controller/ToiletController.java @@ -16,9 +16,6 @@ import com.example.modular.toilet.vo.ToiletVO; import com.example.modular.user.service.IUserInfoService; import com.example.modular.user.vo.UserInfoVO; import com.example.util.Result; -//import lombok.extern.slf4j.Slf4j; -//import org.slf4j.Logger; -//import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; @@ -218,7 +215,7 @@ public class ToiletController { * @return * @author ysl */ - @PutMapping("/manage-update") + @PostMapping("/manage-update") @CrossOrigin public Result manageUpdateToilet (@Valid @RequestBody ToiletVO vo,HttpServletRequest request) { // log.info("【公厕管理新增厕所接口】,入参:{}",vo.toString()); @@ -237,7 +234,7 @@ public class ToiletController { * @return * @author ysl */ - @PutMapping("/manage-page") + @PostMapping("/manage-page") public Result selectToiletPage (HttpServletRequest request,@RequestParam(value = "toiletName",required = false)String toiletName, @RequestBody List regionParamVOList, @RequestParam(value = "startPage",required = false,defaultValue = "1")Integer startPage, @@ -248,4 +245,18 @@ public class ToiletController { } + /** + * 天地图坐标转高德地图坐标方法 + * @param jingdu 天地图经度 + * @param weidu 天地图纬度 + * @return + * @author ysl + */ + @GetMapping("/zuobiao") + public Result zuobiao (@RequestParam(value = "jingdu",required = false,defaultValue = "1")Double jingdu, + @RequestParam(value = "weidu",required = false,defaultValue = "10")Double weidu) { + Result result = toiletService.zuobiao(jingdu,weidu); + return result; + } + } diff --git a/src/main/java/com/example/modular/toilet/excel/listener/ToiletDataListener.java b/src/main/java/com/example/modular/toilet/excel/listener/ToiletDataListener.java index f14703c..d9fd6d2 100644 --- a/src/main/java/com/example/modular/toilet/excel/listener/ToiletDataListener.java +++ b/src/main/java/com/example/modular/toilet/excel/listener/ToiletDataListener.java @@ -21,6 +21,7 @@ import com.haidapu.core.common.utils.FastJsonUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; +import org.springframework.util.CollectionUtils; import java.util.*; @@ -100,16 +101,18 @@ public class ToiletDataListener extends AnalysisEventListener { QueryWrapper toiletQueryWrapper = new QueryWrapper<>(); toiletQueryWrapper.eq("delete_status",Constant.TOILET_DEL_STATUS_NO); List toiletList = toiletService.list(toiletQueryWrapper); - List toiletIdList = new ArrayList<>(toiletList.size()); - for (Toilet toilet : toiletList) { - toiletStreetNameToIdMap.put(toilet.getToiletName(),toilet); - toiletIdList.add(toilet.getId()); - } - QueryWrapper toiletDetailQueryWrapper = new QueryWrapper<>(); - toiletDetailQueryWrapper.in("toilet_id",toiletIdList); - List toiletDetailList = toiletDetailService.list(toiletDetailQueryWrapper); - for (ToiletDetail toiletDetail : toiletDetailList) { - toiletIdToDetailMap.put(toiletDetail.getToiletId(),toiletDetail); + if (!CollectionUtils.isEmpty(toiletList)) { + List toiletIdList = new ArrayList<>(toiletList.size()); + for (Toilet toilet : toiletList) { + toiletStreetNameToIdMap.put(toilet.getToiletName(),toilet); + toiletIdList.add(toilet.getId()); + } + QueryWrapper toiletDetailQueryWrapper = new QueryWrapper<>(); + toiletDetailQueryWrapper.in("toilet_id",toiletIdList); + List toiletDetailList = toiletDetailService.list(toiletDetailQueryWrapper); + for (ToiletDetail toiletDetail : toiletDetailList) { + toiletIdToDetailMap.put(toiletDetail.getToiletId(),toiletDetail); + } } } diff --git a/src/main/java/com/example/modular/toilet/mapper/ToiletMapper.java b/src/main/java/com/example/modular/toilet/mapper/ToiletMapper.java index 985c4e5..31069c2 100644 --- a/src/main/java/com/example/modular/toilet/mapper/ToiletMapper.java +++ b/src/main/java/com/example/modular/toilet/mapper/ToiletMapper.java @@ -93,4 +93,9 @@ public interface ToiletMapper extends BaseMapper { * @author ysl */ int countManageToiletPageByParams (@Param("map") Map> map,@Param("toiletName")String toiletName); + + + Double zuobiaojingdu(@Param("jingdu") Double jingdu, @Param("weidu") Double weidu); + + Double zuobiaoweidu(@Param("jingdu") Double jingdu, @Param("weidu") Double weidu); } diff --git a/src/main/java/com/example/modular/toilet/mapper/mapping/ToiletMapper.xml b/src/main/java/com/example/modular/toilet/mapper/mapping/ToiletMapper.xml index c1a0999..dd5eacf 100644 --- a/src/main/java/com/example/modular/toilet/mapper/mapping/ToiletMapper.xml +++ b/src/main/java/com/example/modular/toilet/mapper/mapping/ToiletMapper.xml @@ -70,7 +70,8 @@ select - from toilet where delete_status = 0 + from toilet where delete_status = 0 and x_coordinates is not null and y_coordinates is not null + and tian_map_x_coordinates is not null and tian_map_y_coordinates is not null and toilet_level = #{toiletLevel} @@ -101,7 +102,8 @@ select count(*) - from toilet where delete_status = 0 + from toilet where delete_status = 0 and x_coordinates is not null and y_coordinates is not null + and tian_map_x_coordinates is not null and tian_map_y_coordinates is not null and toilet_level = #{toiletLevel} @@ -129,7 +131,8 @@ select count(*) - from toilet where video = 1 and delete_status = 0 + from toilet where video = 1 and delete_status = 0 and x_coordinates is not null and y_coordinates is not null + and tian_map_x_coordinates is not null and tian_map_y_coordinates is not null and toilet_level = #{toiletLevel} @@ -234,4 +237,32 @@ ) + + + + SELECT + -- 经度 + #{jingdu} + + (((300.0 + (#{jingdu} - 105.0) + 2.0 * (#{weidu} - 35.0) + 0.1 * (#{jingdu} - 105.0) * (#{jingdu} - 105.0) + + 0.1 * (#{jingdu} - 105.0) * (#{weidu} - 35.0) + 0.1 * sqrt(abs((#{jingdu} - 105.0))) + + (20.0 * sin(6.0 * (#{jingdu} - 105.0) * 3.1415926535897932384626) + 20.0 * sin(2.0 * (#{jingdu} - 105.0) * 3.1415926535897932384626)) * 2.0 / 3.0 + + (20.0 * sin((#{jingdu} - 105.0) * 3.1415926535897932384626) + 40.0 * sin((#{jingdu} - 105.0) / 3.0 * 3.1415926535897932384626)) * 2.0 / 3.0 + + (150.0 * sin((#{jingdu} - 105.0) / 12.0 * 3.1415926535897932384626) + 300.0 * sin((#{jingdu} - 105.0) / 30.0 * 3.1415926535897932384626)) * 2.0 / 3.0) * 180.0) + / (6378245.0 / (SQRT(1 - 0.00669342162296594323 * sin((#{weidu}) / 180.0 * 3.1415926535897932384626) * sin((#{weidu}) /180.0 * 3.1415926535897932384626))) * + COS((#{weidu}) / 180.0 * 3.1415926535897932384626) * 3.1415926535897932384626)) AS lon + + + + SELECT + -- 经度 + #{weidu} + +((-100.0 + 2.0 * (#{jingdu} - 105.0) + 3.0 * (#{weidu} - 35.0) + 0.2 * (#{weidu} - 35.0) * (#{weidu} - 35.0) + +0.1 * (#{jingdu} - 105.0) * (#{weidu} - 35.0) + 0.2 * sqrt(abs(#{jingdu} - 105.0)) + +(20.0 * sin(6.0 * (#{jingdu} - 105.0) * 3.1415926535897932384626) + 20.0 * sin(2.0 * (#{jingdu} - 105.0) * 3.1415926535897932384626)) * 2.0 /3.0 + +(20.0 * sin((#{weidu} - 35.0) * 3.1415926535897932384626) + 40.0 * sin((#{weidu} - 35.0) / 3.0 * 3.1415926535897932384626)) * 2.0 / 3.0 + +(160.0 * sin((#{weidu} - 35.0) / 12.0 * 3.1415926535897932384626) + 320 * sin((#{weidu} - 35.0) * 3.1415926535897932384626 / 30.0)) * 2.0 / 3.0 ) * 180) +/ ((6378245.0 * (1 - 0.00669342162296594323)) / ((1 - 0.00669342162296594323 * sin((#{weidu}) /180.0 * 3.1415926535897932384626) * sin((#{weidu}) / +180.0 * 3.1415926535897932384626)) * (SQRT(1 - 0.00669342162296594323 * sin((#{weidu}) /180.0 * 3.1415926535897932384626) * sin((#{weidu}) /180.0 * +3.1415926535897932384626)))) * 3.1415926535897932384626) AS lat + diff --git a/src/main/java/com/example/modular/toilet/service/IToiletService.java b/src/main/java/com/example/modular/toilet/service/IToiletService.java index 98f2783..9ff7e07 100644 --- a/src/main/java/com/example/modular/toilet/service/IToiletService.java +++ b/src/main/java/com/example/modular/toilet/service/IToiletService.java @@ -136,4 +136,15 @@ public interface IToiletService extends IService { * @author ysl */ Result selectToiletPage(String toiletName, List regionParamVOList,String userToken,int startPage,int pageSize); + + + + /** + * 天地图坐标转高德地图坐标方法 + * @param jingdu 天地图经度 + * @param weidu 天地图纬度 + * @return + * @author ysl + */ + Result zuobiao(Double jingdu,Double weidu); } diff --git a/src/main/java/com/example/modular/toilet/service/impl/ToiletServiceImpl.java b/src/main/java/com/example/modular/toilet/service/impl/ToiletServiceImpl.java index dee3d1d..5a9efbb 100644 --- a/src/main/java/com/example/modular/toilet/service/impl/ToiletServiceImpl.java +++ b/src/main/java/com/example/modular/toilet/service/impl/ToiletServiceImpl.java @@ -386,13 +386,22 @@ public class ToiletServiceImpl extends ServiceImpl impleme } public static void main(String[] args) { - SimpleDateFormat sdf= new SimpleDateFormat("HH:mm"); - try { - Date d = sdf.parse("05:00"); - System.out.println(d); - } catch (ParseException e) { - e.printStackTrace(); - } + String phone = "13888888888"; +// phone = phone.replaceAll("(\\d{3})\\d{4}(\\d{4})","$1*****$2"); +// System.out.println(phone); + + String s = phone.substring(0,4); + String x = phone.substring(phone.length() - 4 , phone.length()); + System.out.println(s + "******" + x); + System.out.println(x); + +// SimpleDateFormat sdf= new SimpleDateFormat("HH:mm"); +// try { +// Date d = sdf.parse("05:00"); +// System.out.println(d); +// } catch (ParseException e) { +// e.printStackTrace(); +// } } @Override @@ -478,6 +487,26 @@ public class ToiletServiceImpl extends ServiceImpl impleme continue; } ToiletVO vo = new ToiletVO(toilet,detail); + try { + if (StringUtils.isNotBlank(vo.getManagerIdCard())) { + String idCard = vo.getManagerIdCard(); + String s = idCard.substring(0,4); + String x = idCard.substring(idCard.length() - 4 , idCard.length()); + vo.setManagerIdCard(s + "******" + x); + } + if (StringUtils.isNotBlank(vo.getManagerContactPhone())) { + String phone = vo.getManagerContactPhone(); + phone = phone.replaceAll("(\\d{3})\\d{4}(\\d{4})","$1*****$2"); + vo.setManagerContactPhone(phone); + } + if (StringUtils.isNotBlank(vo.getAddress()) && vo.getAddress().length() >= 4) { + String address = vo.getAddress().substring(0,vo.getAddress().length() - 3); + vo.setAddress(address + "***"); + } + } catch (Exception e) { + logger.info("{}数据脱敏失败:{}",vo.getToiletName(),e); + } + vo.setImgs(StringUtils.isNotBlank(detail.getPhoto()) ? detail.getPhoto().split(",") : null); vo.setCreateTimeStr(sdf.format(toilet.getCreateTime())); vo.setProvinceName(regionIdToNameMap.get(vo.getProvince())); @@ -1405,6 +1434,7 @@ public class ToiletServiceImpl extends ServiceImpl impleme } + @Scheduled(cron = "0 7/30 * * * ? ") public void getToiletNearStatus () { logger.info("【为天地图坐标赋值定时任务】开始:{}",System.currentTimeMillis()); @@ -1473,4 +1503,16 @@ public class ToiletServiceImpl extends ServiceImpl impleme updateBatchById(toiletList); logger.info("【从小程序定位获取高德地图经纬度定时任务】结束:{}",System.currentTimeMillis()); } + + + + @Override + public Result zuobiao(Double jingdu, Double weidu) { + Double gaodejingdu = this.baseMapper.zuobiaojingdu(jingdu,weidu); + Double gaodeweidu = this.baseMapper.zuobiaoweidu(jingdu,weidu); + Map map = new HashMap<>(); + map.put("经度",gaodejingdu); + map.put("纬度",gaodeweidu); + return new Result(map); + } } diff --git a/src/main/java/com/example/modular/ttoilet/po/TToilet.java b/src/main/java/com/example/modular/ttoilet/po/TToilet.java index 2967cb9..f390c65 100644 --- a/src/main/java/com/example/modular/ttoilet/po/TToilet.java +++ b/src/main/java/com/example/modular/ttoilet/po/TToilet.java @@ -29,7 +29,7 @@ public class TToilet extends Model { * 公厕id */ @TableId(value = "toiletId") - private Long toiletId; + private String toiletId; /** * 区县code */ @@ -512,11 +512,11 @@ public class TToilet extends Model { private Integer hyyyFlag; - public Long getToiletId() { + public String getToiletId() { return toiletId; } - public void setToiletId(Long toiletId) { + public void setToiletId(String toiletId) { this.toiletId = toiletId; } diff --git a/src/main/java/com/example/modular/ttoilet/service/impl/TToiletServiceImpl.java b/src/main/java/com/example/modular/ttoilet/service/impl/TToiletServiceImpl.java index 1a46990..d61f17f 100644 --- a/src/main/java/com/example/modular/ttoilet/service/impl/TToiletServiceImpl.java +++ b/src/main/java/com/example/modular/ttoilet/service/impl/TToiletServiceImpl.java @@ -7,6 +7,7 @@ import com.example.modular.ttoilet.mapper.TToiletMapper; import com.example.modular.ttoilet.po.TToilet; import com.example.modular.ttoilet.service.ITToiletService; import com.example.util.Result; +import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; @@ -24,6 +25,7 @@ import java.util.List; */ @Service @DS("db2") +@Slf4j public class TToiletServiceImpl extends ServiceImpl implements ITToiletService { private final Logger logger = LoggerFactory.getLogger(TToiletServiceImpl.class); @@ -63,6 +65,7 @@ public class TToiletServiceImpl extends ServiceImpl impl } if (!CollectionUtils.isEmpty(insertList)) { + log.info("【绍兴大数据局公厕新增】执行公厕数据新增逻辑:{}",flag); // for (TToilet tToilet : insertList) { // try { // flag = save(tToilet); @@ -71,7 +74,13 @@ public class TToiletServiceImpl extends ServiceImpl impl // } // // } - flag = saveBatch(insertList); + try { + flag = saveBatch(insertList); + } catch (Exception e) { + log.error("【绍兴大数据局公厕新增】失败:{}",e); + } + + log.info("【绍兴大数据局公厕新增】结果:{}",flag); // int indexInsert = 1; // if (insertList.size() > 100) { // indexInsert = insertList.size() / 100 + 1; diff --git a/src/main/java/com/example/modular/user/controller/RoleInfoController.java b/src/main/java/com/example/modular/user/controller/RoleInfoController.java index c833c69..ca16eca 100644 --- a/src/main/java/com/example/modular/user/controller/RoleInfoController.java +++ b/src/main/java/com/example/modular/user/controller/RoleInfoController.java @@ -61,7 +61,7 @@ public class RoleInfoController { * @return * @author ysl */ - @PutMapping("/edit") + @PostMapping("/edit") @CrossOrigin public Result editRoleInfo (@RequestParam(value = "roleName")String roleName,@RequestParam(value = "menuIds")String menuIds, @RequestParam(value = "roleId")Long roleId,@RequestParam(value = "cockpitSign")Integer cockpitSign, @@ -78,7 +78,7 @@ public class RoleInfoController { * @return * @author ysl */ - @PutMapping("/enable") + @PostMapping("/enable") @CrossOrigin public Result enableRoleInfoStatus (@RequestParam(value = "roleId")Long roleId, HttpServletRequest request) { @@ -94,7 +94,7 @@ public class RoleInfoController { * @return * @author ysl */ - @PutMapping("/disable") + @PostMapping("/disable") @CrossOrigin public Result disableRoleInfoStatus (@RequestParam(value = "roleId")Long roleId, HttpServletRequest request) { diff --git a/src/main/java/com/example/modular/user/controller/UserInfoController.java b/src/main/java/com/example/modular/user/controller/UserInfoController.java index d6fe5ba..10b92b8 100644 --- a/src/main/java/com/example/modular/user/controller/UserInfoController.java +++ b/src/main/java/com/example/modular/user/controller/UserInfoController.java @@ -59,7 +59,7 @@ public class UserInfoController { * @return * @author ysl */ - @PutMapping("/update-user") + @PostMapping("/update-user") @CrossOrigin public Result updateUser (@RequestBody UserInfoVO vo,HttpServletRequest request) { String userToken = request.getHeader("token"); @@ -73,7 +73,7 @@ public class UserInfoController { * @return * @author ysl */ - @PutMapping("/password") + @PostMapping("/password") @CrossOrigin public Result updatePassword (@RequestBody UserInfoVO vo) { Result result = userInfoService.updatePassword(vo); @@ -86,7 +86,7 @@ public class UserInfoController { * @return * @author ysl */ - @PutMapping("/close-user") + @PostMapping("/close-user") @CrossOrigin public Result closeUser (@RequestParam(value = "userId")Long userId,HttpServletRequest request) { Result result = userInfoService.updateUserStatus(userId, Constant.USER_STATUS_NO,request.getHeader("token")); @@ -99,7 +99,7 @@ public class UserInfoController { * @return * @author ysl */ - @PutMapping("/open-user") + @PostMapping("/open-user") @CrossOrigin public Result openUser (@RequestParam(value = "userId")Long userId,HttpServletRequest request) { Result result = userInfoService.updateUserStatus(userId, Constant.USER_STATUS_YES,request.getHeader("token")); diff --git a/src/main/java/com/example/modular/user/service/impl/UserInfoServiceImpl.java b/src/main/java/com/example/modular/user/service/impl/UserInfoServiceImpl.java index 84050ec..03b3da3 100644 --- a/src/main/java/com/example/modular/user/service/impl/UserInfoServiceImpl.java +++ b/src/main/java/com/example/modular/user/service/impl/UserInfoServiceImpl.java @@ -532,6 +532,15 @@ public class UserInfoServiceImpl extends ServiceImpl i roleIdToNameMap.put(roleInfo.getId(),roleInfo.getRoleName()); } for (UserInfoVO userInfoVO : userInfoVOList) { + try { + if (StringUtils.isNotBlank(userInfoVO.getPhone())) { + String phone = userInfoVO.getPhone(); + phone = phone.replaceAll("(\\d{3})\\d{4}(\\d{4})","$1*****$2"); + userInfoVO.setPhone(phone); + } + } catch (Exception e) { + logger.info("{}数据脱敏失败:{}",userInfoVO.getAccount(),e); + } userInfoVO.setRoleName(roleIdToNameMap.get(userInfoVO.getRoleId())); userInfoVO.setDepartmentName(departmentIdToNameMap.get(userInfoVO.getDepartmentId())); } diff --git a/src/main/java/com/example/modular/video/service/IToiletVideoConfigService.java b/src/main/java/com/example/modular/video/service/IToiletVideoConfigService.java index 099f286..cdd1355 100644 --- a/src/main/java/com/example/modular/video/service/IToiletVideoConfigService.java +++ b/src/main/java/com/example/modular/video/service/IToiletVideoConfigService.java @@ -3,6 +3,7 @@ package com.example.modular.video.service; import com.baomidou.mybatisplus.extension.service.IService; import com.example.modular.video.po.ToiletVideoConfig; +import com.example.util.Result; /** * @@ -14,4 +15,11 @@ import com.example.modular.video.po.ToiletVideoConfig; */ public interface IToiletVideoConfigService extends IService { + /** + * 获取厕所视频监控集合 + * @param toiletId 厕所ID + * @return + * @author ysl + */ + Result getVideoList(Long toiletId); } diff --git a/src/main/java/com/example/modular/video/service/impl/ToiletVideoConfigServiceImpl.java b/src/main/java/com/example/modular/video/service/impl/ToiletVideoConfigServiceImpl.java index 57377fa..c33ee27 100644 --- a/src/main/java/com/example/modular/video/service/impl/ToiletVideoConfigServiceImpl.java +++ b/src/main/java/com/example/modular/video/service/impl/ToiletVideoConfigServiceImpl.java @@ -1,11 +1,15 @@ package com.example.modular.video.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.example.modular.video.mapper.ToiletVideoConfigMapper; import com.example.modular.video.po.ToiletVideoConfig; import com.example.modular.video.service.IToiletVideoConfigService; +import com.example.util.Result; import org.springframework.stereotype.Service; +import java.util.List; + /** * * 服务实现类 @@ -17,4 +21,16 @@ import org.springframework.stereotype.Service; @Service public class ToiletVideoConfigServiceImpl extends ServiceImpl implements IToiletVideoConfigService { + @Override + public Result getVideoList(Long toiletId) { + if (toiletId == null) { + return new Result("201","参数不能为空!"); + } + //获取视频数据 + QueryWrapper toiletVideoConfigQueryWrapper = new QueryWrapper<>(); + toiletVideoConfigQueryWrapper.eq("toilet_id",toiletId); + toiletVideoConfigQueryWrapper.orderByAsc("create_time"); + List toiletVideoConfigList = list(toiletVideoConfigQueryWrapper); + return new Result(toiletVideoConfigList); + } } diff --git a/src/main/java/com/example/task/TToiletTask.java b/src/main/java/com/example/task/TToiletTask.java index 98e8021..176c819 100644 --- a/src/main/java/com/example/task/TToiletTask.java +++ b/src/main/java/com/example/task/TToiletTask.java @@ -40,7 +40,8 @@ public class TToiletTask { @Autowired private IRegionLevelConfigService regionLevelConfigService; - @Scheduled(cron = "0 0 1 1/1 * ?") +// @Scheduled(cron = "0 0 1 1/1 * ?") + @Scheduled(cron = "0/30 * * * * ?") public void uploadToiletToBigData() { logger.info("【开始执行给绍兴大数据传公厕数据】{}",System.currentTimeMillis()); //获取未删除的全部公厕数据 @@ -64,7 +65,7 @@ public class TToiletTask { } //根据公厕id查询大数据局前置库里面已上传的数据 List tToiletList = itToiletService.getToiletListById(toiletIdList); - Map toiletIdToTToiletBeanMap = new HashMap<>(tToiletList.size()); + Map toiletIdToTToiletBeanMap = new HashMap<>(tToiletList.size()); for (TToilet tToilet : tToiletList) { toiletIdToTToiletBeanMap.put(tToilet.getToiletId(),tToilet); } @@ -83,11 +84,11 @@ public class TToiletTask { ToiletDetail detail = toiletIdToDetailMap.get(toilet.getId()); TToilet tToilet = new TToilet(); boolean flag = false; - if (toiletIdToTToiletBeanMap.get(toilet.getId()) != null) { - tToilet = toiletIdToTToiletBeanMap.get(toilet.getId()); + if (toiletIdToTToiletBeanMap.get(toilet.getId().toString()) != null) { + tToilet = toiletIdToTToiletBeanMap.get(toilet.getId().toString()); flag = true; } - tToilet.setToiletId(toilet.getId()); + tToilet.setToiletId(toilet.getId().toString()); tToilet.setRegionCode(toilet.getArea() == null ? null : toilet.getArea().toString()); tToilet.setToiletName(toilet.getToiletName()); tToilet.setToiletCode(toilet.getToiletCode()); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index b87064a..90e9416 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -32,12 +32,12 @@ spring: db1: # 数据源1配置 url: jdbc:mysql://114.55.211.170:3306/shaoxing_toilet?characterEncoding=utf8&useUnicode=true&useSSL=false&serverTimezone=GMT%2B8 username: root - password: 'hdp2021888' + password: '50efcc2aac3b' driver-class-name: com.mysql.cj.jdbc.Driver db2: # 数据源2配置 url: jdbc:mysql://114.55.211.170:3306/toilet_test?characterEncoding=utf8&useUnicode=true&useSSL=false&serverTimezone=GMT%2B8 username: root - password: 'hdp2021888' + password: '50efcc2aac3b' driver-class-name: com.mysql.cj.jdbc.Driver durid: initial-size: 1
@@ -39,6 +41,8 @@ public class ToiletRectifyTaskInfoServiceImpl extends ServiceImpl timeMap = DateUtils.getStartTimeAndEndTime(Constant.MONTH_PARAM); + Date startTime = timeMap.get("startTime"); + Date endTime = timeMap.get("endTime"); + List toiletRectifyTaskInfoList = toiletRectifyTaskInfoMapper.topList(startTime,endTime); + int i = 1; + for (ToiletRectifyTaskInfo toiletRectifyTaskInfo : toiletRectifyTaskInfoList) { + toiletRectifyTaskInfo.setSort(i); + i++; + } + return new Result(toiletRectifyTaskInfoList); + } } diff --git a/src/main/java/com/example/modular/shangyudata/service/impl/ShangyuToiletDataServiceImpl.java b/src/main/java/com/example/modular/shangyudata/service/impl/ShangyuToiletDataServiceImpl.java index fed1bbb..7f97c19 100644 --- a/src/main/java/com/example/modular/shangyudata/service/impl/ShangyuToiletDataServiceImpl.java +++ b/src/main/java/com/example/modular/shangyudata/service/impl/ShangyuToiletDataServiceImpl.java @@ -30,6 +30,7 @@ import com.example.modular.toilet.service.IToiletService; import com.example.util.ToiletCodeUtil; import com.haidapu.core.common.msg.R; import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -44,6 +45,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +@Slf4j @Service public class ShangyuToiletDataServiceImpl implements ShangyuToiletDataService { @@ -378,11 +380,18 @@ public class ShangyuToiletDataServiceImpl implements ShangyuToiletDataService { @Override public R pushToiletAir(ToiletAirDataVO toiletAirDataVO) { //校验参数是否正确 + log.info("入参:" + JSON.toJSONString(toiletAirDataVO)); if (toiletAirDataVO == null || StringUtils.isBlank(toiletAirDataVO.getToiletCode()) || toiletAirDataVO.getTemperature() == null || toiletAirDataVO.getHumidity() == null || toiletAirDataVO.getToiletNearType() == null || toiletAirDataVO.getAmmonia() == null || toiletAirDataVO.getHudrogenSulfide() == null || StringUtils.isBlank(toiletAirDataVO.getCreateTime())) { return R.error(201,"参数缺失!"); } + if (toiletAirDataVO.getTemperature() >= 60) { + return R.error(201,"温度数据不正常!"); + } + if (toiletAirDataVO.getHumidity() >= 100) { + return R.error(201,"湿度数据不正常!"); + } //根据公厕编码查询公厕信息 QueryWrapper toiletQueryWrapper = new QueryWrapper<>(); toiletQueryWrapper.eq("toilet_code",toiletAirDataVO.getToiletCode()); @@ -406,6 +415,8 @@ public class ShangyuToiletDataServiceImpl implements ShangyuToiletDataService { toiletAirIndexAverageQueryWrapper.le("create_time",endTime); List toiletAirIndexAverageList = toiletAirIndexAverageService.list(toiletAirIndexAverageQueryWrapper); if (CollectionUtils.isEmpty(toiletAirIndexAverageList)) { + + log.info("空气数据新增流程!" ); ToiletAirIndexAverage toiletAirIndexAverage = new ToiletAirIndexAverage(); toiletAirIndexAverage.setToiletId(toiletId); toiletAirIndexAverage.setToiletNearType(toiletAirDataVO.getToiletNearType()); @@ -417,9 +428,11 @@ public class ShangyuToiletDataServiceImpl implements ShangyuToiletDataService { toiletAirIndexAverage.setCreateTime(createTimeDate); toiletAirIndexAverage.setUpdateTime(createTimeDate); toiletAirIndexAverageService.save(toiletAirIndexAverage); + log.info("空气数据新增流程完成:" + JSON.toJSONString(toiletAirIndexAverage)); overStandardValueAir (toiletAirDataVO,toiletId,createTimeDate,toiletList.get(0).getToiletLevel()); return R.ok(); } + log.info("空气数据修改流程!" ); ToiletAirIndexAverage toiletAirIndexAverage = toiletAirIndexAverageList.get(0); toiletAirIndexAverage.setTemperatureAverage((toiletAirDataVO.getTemperature() + toiletAirIndexAverage.getTemperatureAverage())/2); toiletAirIndexAverage.setHumidityAverage((toiletAirDataVO.getHumidity() + toiletAirIndexAverage.getHumidityAverage())/2); @@ -428,7 +441,9 @@ public class ShangyuToiletDataServiceImpl implements ShangyuToiletDataService { toiletAirIndexAverage.setHudrogenSulfideAverage((toiletAirDataVO.getHudrogenSulfide() + toiletAirIndexAverage.getHudrogenSulfideAverage())/2); toiletAirIndexAverage.setUpdateTime(new Date()); toiletAirIndexAverageService.updateById(toiletAirIndexAverage); + log.info("空气数据修改流程完成:" + JSON.toJSONString(toiletAirIndexAverage)); overStandardValueAir (toiletAirDataVO,toiletId,createTimeDate,toiletList.get(0).getToiletLevel()); + log.info("空气数据推送结束!" ); return R.ok(); } @@ -442,6 +457,7 @@ public class ShangyuToiletDataServiceImpl implements ShangyuToiletDataService { private void overStandardValueAir (ToiletAirDataVO toiletAirDataVO,Long toiletId,Date createTimeDate,Integer toiletLevel) { //标准值走sysConfig表配置 TODO //根据key获取配置的空气阀值 + log.info("空气超标流程进入:" + JSON.toJSONString(toiletAirDataVO)); QueryWrapper sysConfigQueryWrapper = new QueryWrapper<>(); sysConfigQueryWrapper.eq("PARAM_KEY",Constant.AIR_QUALITY_STANDARD_KEY); sysConfigQueryWrapper.eq("STATUS",Constant.CONFIG_STATUS_OPEN); @@ -478,6 +494,7 @@ public class ShangyuToiletDataServiceImpl implements ShangyuToiletDataService { toiletAirExceedIndex.setUpdateTime(createTimeDate); toiletAirExceedIndexService.save(toiletAirExceedIndex); } + log.info("空气超标流程结束!" ); } @SneakyThrows diff --git a/src/main/java/com/example/modular/toilet/controller/ToiletController.java b/src/main/java/com/example/modular/toilet/controller/ToiletController.java index dbe07b2..a775813 100644 --- a/src/main/java/com/example/modular/toilet/controller/ToiletController.java +++ b/src/main/java/com/example/modular/toilet/controller/ToiletController.java @@ -16,9 +16,6 @@ import com.example.modular.toilet.vo.ToiletVO; import com.example.modular.user.service.IUserInfoService; import com.example.modular.user.vo.UserInfoVO; import com.example.util.Result; -//import lombok.extern.slf4j.Slf4j; -//import org.slf4j.Logger; -//import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; @@ -218,7 +215,7 @@ public class ToiletController { * @return * @author ysl */ - @PutMapping("/manage-update") + @PostMapping("/manage-update") @CrossOrigin public Result manageUpdateToilet (@Valid @RequestBody ToiletVO vo,HttpServletRequest request) { // log.info("【公厕管理新增厕所接口】,入参:{}",vo.toString()); @@ -237,7 +234,7 @@ public class ToiletController { * @return * @author ysl */ - @PutMapping("/manage-page") + @PostMapping("/manage-page") public Result selectToiletPage (HttpServletRequest request,@RequestParam(value = "toiletName",required = false)String toiletName, @RequestBody List regionParamVOList, @RequestParam(value = "startPage",required = false,defaultValue = "1")Integer startPage, @@ -248,4 +245,18 @@ public class ToiletController { } + /** + * 天地图坐标转高德地图坐标方法 + * @param jingdu 天地图经度 + * @param weidu 天地图纬度 + * @return + * @author ysl + */ + @GetMapping("/zuobiao") + public Result zuobiao (@RequestParam(value = "jingdu",required = false,defaultValue = "1")Double jingdu, + @RequestParam(value = "weidu",required = false,defaultValue = "10")Double weidu) { + Result result = toiletService.zuobiao(jingdu,weidu); + return result; + } + } diff --git a/src/main/java/com/example/modular/toilet/excel/listener/ToiletDataListener.java b/src/main/java/com/example/modular/toilet/excel/listener/ToiletDataListener.java index f14703c..d9fd6d2 100644 --- a/src/main/java/com/example/modular/toilet/excel/listener/ToiletDataListener.java +++ b/src/main/java/com/example/modular/toilet/excel/listener/ToiletDataListener.java @@ -21,6 +21,7 @@ import com.haidapu.core.common.utils.FastJsonUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; +import org.springframework.util.CollectionUtils; import java.util.*; @@ -100,16 +101,18 @@ public class ToiletDataListener extends AnalysisEventListener { QueryWrapper toiletQueryWrapper = new QueryWrapper<>(); toiletQueryWrapper.eq("delete_status",Constant.TOILET_DEL_STATUS_NO); List toiletList = toiletService.list(toiletQueryWrapper); - List toiletIdList = new ArrayList<>(toiletList.size()); - for (Toilet toilet : toiletList) { - toiletStreetNameToIdMap.put(toilet.getToiletName(),toilet); - toiletIdList.add(toilet.getId()); - } - QueryWrapper toiletDetailQueryWrapper = new QueryWrapper<>(); - toiletDetailQueryWrapper.in("toilet_id",toiletIdList); - List toiletDetailList = toiletDetailService.list(toiletDetailQueryWrapper); - for (ToiletDetail toiletDetail : toiletDetailList) { - toiletIdToDetailMap.put(toiletDetail.getToiletId(),toiletDetail); + if (!CollectionUtils.isEmpty(toiletList)) { + List toiletIdList = new ArrayList<>(toiletList.size()); + for (Toilet toilet : toiletList) { + toiletStreetNameToIdMap.put(toilet.getToiletName(),toilet); + toiletIdList.add(toilet.getId()); + } + QueryWrapper toiletDetailQueryWrapper = new QueryWrapper<>(); + toiletDetailQueryWrapper.in("toilet_id",toiletIdList); + List toiletDetailList = toiletDetailService.list(toiletDetailQueryWrapper); + for (ToiletDetail toiletDetail : toiletDetailList) { + toiletIdToDetailMap.put(toiletDetail.getToiletId(),toiletDetail); + } } } diff --git a/src/main/java/com/example/modular/toilet/mapper/ToiletMapper.java b/src/main/java/com/example/modular/toilet/mapper/ToiletMapper.java index 985c4e5..31069c2 100644 --- a/src/main/java/com/example/modular/toilet/mapper/ToiletMapper.java +++ b/src/main/java/com/example/modular/toilet/mapper/ToiletMapper.java @@ -93,4 +93,9 @@ public interface ToiletMapper extends BaseMapper { * @author ysl */ int countManageToiletPageByParams (@Param("map") Map> map,@Param("toiletName")String toiletName); + + + Double zuobiaojingdu(@Param("jingdu") Double jingdu, @Param("weidu") Double weidu); + + Double zuobiaoweidu(@Param("jingdu") Double jingdu, @Param("weidu") Double weidu); } diff --git a/src/main/java/com/example/modular/toilet/mapper/mapping/ToiletMapper.xml b/src/main/java/com/example/modular/toilet/mapper/mapping/ToiletMapper.xml index c1a0999..dd5eacf 100644 --- a/src/main/java/com/example/modular/toilet/mapper/mapping/ToiletMapper.xml +++ b/src/main/java/com/example/modular/toilet/mapper/mapping/ToiletMapper.xml @@ -70,7 +70,8 @@ select - from toilet where delete_status = 0 + from toilet where delete_status = 0 and x_coordinates is not null and y_coordinates is not null + and tian_map_x_coordinates is not null and tian_map_y_coordinates is not null and toilet_level = #{toiletLevel} @@ -101,7 +102,8 @@ select count(*) - from toilet where delete_status = 0 + from toilet where delete_status = 0 and x_coordinates is not null and y_coordinates is not null + and tian_map_x_coordinates is not null and tian_map_y_coordinates is not null and toilet_level = #{toiletLevel} @@ -129,7 +131,8 @@ select count(*) - from toilet where video = 1 and delete_status = 0 + from toilet where video = 1 and delete_status = 0 and x_coordinates is not null and y_coordinates is not null + and tian_map_x_coordinates is not null and tian_map_y_coordinates is not null and toilet_level = #{toiletLevel} @@ -234,4 +237,32 @@ ) + + + + SELECT + -- 经度 + #{jingdu} + + (((300.0 + (#{jingdu} - 105.0) + 2.0 * (#{weidu} - 35.0) + 0.1 * (#{jingdu} - 105.0) * (#{jingdu} - 105.0) + + 0.1 * (#{jingdu} - 105.0) * (#{weidu} - 35.0) + 0.1 * sqrt(abs((#{jingdu} - 105.0))) + + (20.0 * sin(6.0 * (#{jingdu} - 105.0) * 3.1415926535897932384626) + 20.0 * sin(2.0 * (#{jingdu} - 105.0) * 3.1415926535897932384626)) * 2.0 / 3.0 + + (20.0 * sin((#{jingdu} - 105.0) * 3.1415926535897932384626) + 40.0 * sin((#{jingdu} - 105.0) / 3.0 * 3.1415926535897932384626)) * 2.0 / 3.0 + + (150.0 * sin((#{jingdu} - 105.0) / 12.0 * 3.1415926535897932384626) + 300.0 * sin((#{jingdu} - 105.0) / 30.0 * 3.1415926535897932384626)) * 2.0 / 3.0) * 180.0) + / (6378245.0 / (SQRT(1 - 0.00669342162296594323 * sin((#{weidu}) / 180.0 * 3.1415926535897932384626) * sin((#{weidu}) /180.0 * 3.1415926535897932384626))) * + COS((#{weidu}) / 180.0 * 3.1415926535897932384626) * 3.1415926535897932384626)) AS lon + + + + SELECT + -- 经度 + #{weidu} + +((-100.0 + 2.0 * (#{jingdu} - 105.0) + 3.0 * (#{weidu} - 35.0) + 0.2 * (#{weidu} - 35.0) * (#{weidu} - 35.0) + +0.1 * (#{jingdu} - 105.0) * (#{weidu} - 35.0) + 0.2 * sqrt(abs(#{jingdu} - 105.0)) + +(20.0 * sin(6.0 * (#{jingdu} - 105.0) * 3.1415926535897932384626) + 20.0 * sin(2.0 * (#{jingdu} - 105.0) * 3.1415926535897932384626)) * 2.0 /3.0 + +(20.0 * sin((#{weidu} - 35.0) * 3.1415926535897932384626) + 40.0 * sin((#{weidu} - 35.0) / 3.0 * 3.1415926535897932384626)) * 2.0 / 3.0 + +(160.0 * sin((#{weidu} - 35.0) / 12.0 * 3.1415926535897932384626) + 320 * sin((#{weidu} - 35.0) * 3.1415926535897932384626 / 30.0)) * 2.0 / 3.0 ) * 180) +/ ((6378245.0 * (1 - 0.00669342162296594323)) / ((1 - 0.00669342162296594323 * sin((#{weidu}) /180.0 * 3.1415926535897932384626) * sin((#{weidu}) / +180.0 * 3.1415926535897932384626)) * (SQRT(1 - 0.00669342162296594323 * sin((#{weidu}) /180.0 * 3.1415926535897932384626) * sin((#{weidu}) /180.0 * +3.1415926535897932384626)))) * 3.1415926535897932384626) AS lat + diff --git a/src/main/java/com/example/modular/toilet/service/IToiletService.java b/src/main/java/com/example/modular/toilet/service/IToiletService.java index 98f2783..9ff7e07 100644 --- a/src/main/java/com/example/modular/toilet/service/IToiletService.java +++ b/src/main/java/com/example/modular/toilet/service/IToiletService.java @@ -136,4 +136,15 @@ public interface IToiletService extends IService { * @author ysl */ Result selectToiletPage(String toiletName, List regionParamVOList,String userToken,int startPage,int pageSize); + + + + /** + * 天地图坐标转高德地图坐标方法 + * @param jingdu 天地图经度 + * @param weidu 天地图纬度 + * @return + * @author ysl + */ + Result zuobiao(Double jingdu,Double weidu); } diff --git a/src/main/java/com/example/modular/toilet/service/impl/ToiletServiceImpl.java b/src/main/java/com/example/modular/toilet/service/impl/ToiletServiceImpl.java index dee3d1d..5a9efbb 100644 --- a/src/main/java/com/example/modular/toilet/service/impl/ToiletServiceImpl.java +++ b/src/main/java/com/example/modular/toilet/service/impl/ToiletServiceImpl.java @@ -386,13 +386,22 @@ public class ToiletServiceImpl extends ServiceImpl impleme } public static void main(String[] args) { - SimpleDateFormat sdf= new SimpleDateFormat("HH:mm"); - try { - Date d = sdf.parse("05:00"); - System.out.println(d); - } catch (ParseException e) { - e.printStackTrace(); - } + String phone = "13888888888"; +// phone = phone.replaceAll("(\\d{3})\\d{4}(\\d{4})","$1*****$2"); +// System.out.println(phone); + + String s = phone.substring(0,4); + String x = phone.substring(phone.length() - 4 , phone.length()); + System.out.println(s + "******" + x); + System.out.println(x); + +// SimpleDateFormat sdf= new SimpleDateFormat("HH:mm"); +// try { +// Date d = sdf.parse("05:00"); +// System.out.println(d); +// } catch (ParseException e) { +// e.printStackTrace(); +// } } @Override @@ -478,6 +487,26 @@ public class ToiletServiceImpl extends ServiceImpl impleme continue; } ToiletVO vo = new ToiletVO(toilet,detail); + try { + if (StringUtils.isNotBlank(vo.getManagerIdCard())) { + String idCard = vo.getManagerIdCard(); + String s = idCard.substring(0,4); + String x = idCard.substring(idCard.length() - 4 , idCard.length()); + vo.setManagerIdCard(s + "******" + x); + } + if (StringUtils.isNotBlank(vo.getManagerContactPhone())) { + String phone = vo.getManagerContactPhone(); + phone = phone.replaceAll("(\\d{3})\\d{4}(\\d{4})","$1*****$2"); + vo.setManagerContactPhone(phone); + } + if (StringUtils.isNotBlank(vo.getAddress()) && vo.getAddress().length() >= 4) { + String address = vo.getAddress().substring(0,vo.getAddress().length() - 3); + vo.setAddress(address + "***"); + } + } catch (Exception e) { + logger.info("{}数据脱敏失败:{}",vo.getToiletName(),e); + } + vo.setImgs(StringUtils.isNotBlank(detail.getPhoto()) ? detail.getPhoto().split(",") : null); vo.setCreateTimeStr(sdf.format(toilet.getCreateTime())); vo.setProvinceName(regionIdToNameMap.get(vo.getProvince())); @@ -1405,6 +1434,7 @@ public class ToiletServiceImpl extends ServiceImpl impleme } + @Scheduled(cron = "0 7/30 * * * ? ") public void getToiletNearStatus () { logger.info("【为天地图坐标赋值定时任务】开始:{}",System.currentTimeMillis()); @@ -1473,4 +1503,16 @@ public class ToiletServiceImpl extends ServiceImpl impleme updateBatchById(toiletList); logger.info("【从小程序定位获取高德地图经纬度定时任务】结束:{}",System.currentTimeMillis()); } + + + + @Override + public Result zuobiao(Double jingdu, Double weidu) { + Double gaodejingdu = this.baseMapper.zuobiaojingdu(jingdu,weidu); + Double gaodeweidu = this.baseMapper.zuobiaoweidu(jingdu,weidu); + Map map = new HashMap<>(); + map.put("经度",gaodejingdu); + map.put("纬度",gaodeweidu); + return new Result(map); + } } diff --git a/src/main/java/com/example/modular/ttoilet/po/TToilet.java b/src/main/java/com/example/modular/ttoilet/po/TToilet.java index 2967cb9..f390c65 100644 --- a/src/main/java/com/example/modular/ttoilet/po/TToilet.java +++ b/src/main/java/com/example/modular/ttoilet/po/TToilet.java @@ -29,7 +29,7 @@ public class TToilet extends Model { * 公厕id */ @TableId(value = "toiletId") - private Long toiletId; + private String toiletId; /** * 区县code */ @@ -512,11 +512,11 @@ public class TToilet extends Model { private Integer hyyyFlag; - public Long getToiletId() { + public String getToiletId() { return toiletId; } - public void setToiletId(Long toiletId) { + public void setToiletId(String toiletId) { this.toiletId = toiletId; } diff --git a/src/main/java/com/example/modular/ttoilet/service/impl/TToiletServiceImpl.java b/src/main/java/com/example/modular/ttoilet/service/impl/TToiletServiceImpl.java index 1a46990..d61f17f 100644 --- a/src/main/java/com/example/modular/ttoilet/service/impl/TToiletServiceImpl.java +++ b/src/main/java/com/example/modular/ttoilet/service/impl/TToiletServiceImpl.java @@ -7,6 +7,7 @@ import com.example.modular.ttoilet.mapper.TToiletMapper; import com.example.modular.ttoilet.po.TToilet; import com.example.modular.ttoilet.service.ITToiletService; import com.example.util.Result; +import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; @@ -24,6 +25,7 @@ import java.util.List; */ @Service @DS("db2") +@Slf4j public class TToiletServiceImpl extends ServiceImpl implements ITToiletService { private final Logger logger = LoggerFactory.getLogger(TToiletServiceImpl.class); @@ -63,6 +65,7 @@ public class TToiletServiceImpl extends ServiceImpl impl } if (!CollectionUtils.isEmpty(insertList)) { + log.info("【绍兴大数据局公厕新增】执行公厕数据新增逻辑:{}",flag); // for (TToilet tToilet : insertList) { // try { // flag = save(tToilet); @@ -71,7 +74,13 @@ public class TToiletServiceImpl extends ServiceImpl impl // } // // } - flag = saveBatch(insertList); + try { + flag = saveBatch(insertList); + } catch (Exception e) { + log.error("【绍兴大数据局公厕新增】失败:{}",e); + } + + log.info("【绍兴大数据局公厕新增】结果:{}",flag); // int indexInsert = 1; // if (insertList.size() > 100) { // indexInsert = insertList.size() / 100 + 1; diff --git a/src/main/java/com/example/modular/user/controller/RoleInfoController.java b/src/main/java/com/example/modular/user/controller/RoleInfoController.java index c833c69..ca16eca 100644 --- a/src/main/java/com/example/modular/user/controller/RoleInfoController.java +++ b/src/main/java/com/example/modular/user/controller/RoleInfoController.java @@ -61,7 +61,7 @@ public class RoleInfoController { * @return * @author ysl */ - @PutMapping("/edit") + @PostMapping("/edit") @CrossOrigin public Result editRoleInfo (@RequestParam(value = "roleName")String roleName,@RequestParam(value = "menuIds")String menuIds, @RequestParam(value = "roleId")Long roleId,@RequestParam(value = "cockpitSign")Integer cockpitSign, @@ -78,7 +78,7 @@ public class RoleInfoController { * @return * @author ysl */ - @PutMapping("/enable") + @PostMapping("/enable") @CrossOrigin public Result enableRoleInfoStatus (@RequestParam(value = "roleId")Long roleId, HttpServletRequest request) { @@ -94,7 +94,7 @@ public class RoleInfoController { * @return * @author ysl */ - @PutMapping("/disable") + @PostMapping("/disable") @CrossOrigin public Result disableRoleInfoStatus (@RequestParam(value = "roleId")Long roleId, HttpServletRequest request) { diff --git a/src/main/java/com/example/modular/user/controller/UserInfoController.java b/src/main/java/com/example/modular/user/controller/UserInfoController.java index d6fe5ba..10b92b8 100644 --- a/src/main/java/com/example/modular/user/controller/UserInfoController.java +++ b/src/main/java/com/example/modular/user/controller/UserInfoController.java @@ -59,7 +59,7 @@ public class UserInfoController { * @return * @author ysl */ - @PutMapping("/update-user") + @PostMapping("/update-user") @CrossOrigin public Result updateUser (@RequestBody UserInfoVO vo,HttpServletRequest request) { String userToken = request.getHeader("token"); @@ -73,7 +73,7 @@ public class UserInfoController { * @return * @author ysl */ - @PutMapping("/password") + @PostMapping("/password") @CrossOrigin public Result updatePassword (@RequestBody UserInfoVO vo) { Result result = userInfoService.updatePassword(vo); @@ -86,7 +86,7 @@ public class UserInfoController { * @return * @author ysl */ - @PutMapping("/close-user") + @PostMapping("/close-user") @CrossOrigin public Result closeUser (@RequestParam(value = "userId")Long userId,HttpServletRequest request) { Result result = userInfoService.updateUserStatus(userId, Constant.USER_STATUS_NO,request.getHeader("token")); @@ -99,7 +99,7 @@ public class UserInfoController { * @return * @author ysl */ - @PutMapping("/open-user") + @PostMapping("/open-user") @CrossOrigin public Result openUser (@RequestParam(value = "userId")Long userId,HttpServletRequest request) { Result result = userInfoService.updateUserStatus(userId, Constant.USER_STATUS_YES,request.getHeader("token")); diff --git a/src/main/java/com/example/modular/user/service/impl/UserInfoServiceImpl.java b/src/main/java/com/example/modular/user/service/impl/UserInfoServiceImpl.java index 84050ec..03b3da3 100644 --- a/src/main/java/com/example/modular/user/service/impl/UserInfoServiceImpl.java +++ b/src/main/java/com/example/modular/user/service/impl/UserInfoServiceImpl.java @@ -532,6 +532,15 @@ public class UserInfoServiceImpl extends ServiceImpl i roleIdToNameMap.put(roleInfo.getId(),roleInfo.getRoleName()); } for (UserInfoVO userInfoVO : userInfoVOList) { + try { + if (StringUtils.isNotBlank(userInfoVO.getPhone())) { + String phone = userInfoVO.getPhone(); + phone = phone.replaceAll("(\\d{3})\\d{4}(\\d{4})","$1*****$2"); + userInfoVO.setPhone(phone); + } + } catch (Exception e) { + logger.info("{}数据脱敏失败:{}",userInfoVO.getAccount(),e); + } userInfoVO.setRoleName(roleIdToNameMap.get(userInfoVO.getRoleId())); userInfoVO.setDepartmentName(departmentIdToNameMap.get(userInfoVO.getDepartmentId())); } diff --git a/src/main/java/com/example/modular/video/service/IToiletVideoConfigService.java b/src/main/java/com/example/modular/video/service/IToiletVideoConfigService.java index 099f286..cdd1355 100644 --- a/src/main/java/com/example/modular/video/service/IToiletVideoConfigService.java +++ b/src/main/java/com/example/modular/video/service/IToiletVideoConfigService.java @@ -3,6 +3,7 @@ package com.example.modular.video.service; import com.baomidou.mybatisplus.extension.service.IService; import com.example.modular.video.po.ToiletVideoConfig; +import com.example.util.Result; /** * @@ -14,4 +15,11 @@ import com.example.modular.video.po.ToiletVideoConfig; */ public interface IToiletVideoConfigService extends IService { + /** + * 获取厕所视频监控集合 + * @param toiletId 厕所ID + * @return + * @author ysl + */ + Result getVideoList(Long toiletId); } diff --git a/src/main/java/com/example/modular/video/service/impl/ToiletVideoConfigServiceImpl.java b/src/main/java/com/example/modular/video/service/impl/ToiletVideoConfigServiceImpl.java index 57377fa..c33ee27 100644 --- a/src/main/java/com/example/modular/video/service/impl/ToiletVideoConfigServiceImpl.java +++ b/src/main/java/com/example/modular/video/service/impl/ToiletVideoConfigServiceImpl.java @@ -1,11 +1,15 @@ package com.example.modular.video.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.example.modular.video.mapper.ToiletVideoConfigMapper; import com.example.modular.video.po.ToiletVideoConfig; import com.example.modular.video.service.IToiletVideoConfigService; +import com.example.util.Result; import org.springframework.stereotype.Service; +import java.util.List; + /** * * 服务实现类 @@ -17,4 +21,16 @@ import org.springframework.stereotype.Service; @Service public class ToiletVideoConfigServiceImpl extends ServiceImpl implements IToiletVideoConfigService { + @Override + public Result getVideoList(Long toiletId) { + if (toiletId == null) { + return new Result("201","参数不能为空!"); + } + //获取视频数据 + QueryWrapper toiletVideoConfigQueryWrapper = new QueryWrapper<>(); + toiletVideoConfigQueryWrapper.eq("toilet_id",toiletId); + toiletVideoConfigQueryWrapper.orderByAsc("create_time"); + List toiletVideoConfigList = list(toiletVideoConfigQueryWrapper); + return new Result(toiletVideoConfigList); + } } diff --git a/src/main/java/com/example/task/TToiletTask.java b/src/main/java/com/example/task/TToiletTask.java index 98e8021..176c819 100644 --- a/src/main/java/com/example/task/TToiletTask.java +++ b/src/main/java/com/example/task/TToiletTask.java @@ -40,7 +40,8 @@ public class TToiletTask { @Autowired private IRegionLevelConfigService regionLevelConfigService; - @Scheduled(cron = "0 0 1 1/1 * ?") +// @Scheduled(cron = "0 0 1 1/1 * ?") + @Scheduled(cron = "0/30 * * * * ?") public void uploadToiletToBigData() { logger.info("【开始执行给绍兴大数据传公厕数据】{}",System.currentTimeMillis()); //获取未删除的全部公厕数据 @@ -64,7 +65,7 @@ public class TToiletTask { } //根据公厕id查询大数据局前置库里面已上传的数据 List tToiletList = itToiletService.getToiletListById(toiletIdList); - Map toiletIdToTToiletBeanMap = new HashMap<>(tToiletList.size()); + Map toiletIdToTToiletBeanMap = new HashMap<>(tToiletList.size()); for (TToilet tToilet : tToiletList) { toiletIdToTToiletBeanMap.put(tToilet.getToiletId(),tToilet); } @@ -83,11 +84,11 @@ public class TToiletTask { ToiletDetail detail = toiletIdToDetailMap.get(toilet.getId()); TToilet tToilet = new TToilet(); boolean flag = false; - if (toiletIdToTToiletBeanMap.get(toilet.getId()) != null) { - tToilet = toiletIdToTToiletBeanMap.get(toilet.getId()); + if (toiletIdToTToiletBeanMap.get(toilet.getId().toString()) != null) { + tToilet = toiletIdToTToiletBeanMap.get(toilet.getId().toString()); flag = true; } - tToilet.setToiletId(toilet.getId()); + tToilet.setToiletId(toilet.getId().toString()); tToilet.setRegionCode(toilet.getArea() == null ? null : toilet.getArea().toString()); tToilet.setToiletName(toilet.getToiletName()); tToilet.setToiletCode(toilet.getToiletCode()); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index b87064a..90e9416 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -32,12 +32,12 @@ spring: db1: # 数据源1配置 url: jdbc:mysql://114.55.211.170:3306/shaoxing_toilet?characterEncoding=utf8&useUnicode=true&useSSL=false&serverTimezone=GMT%2B8 username: root - password: 'hdp2021888' + password: '50efcc2aac3b' driver-class-name: com.mysql.cj.jdbc.Driver db2: # 数据源2配置 url: jdbc:mysql://114.55.211.170:3306/toilet_test?characterEncoding=utf8&useUnicode=true&useSSL=false&serverTimezone=GMT%2B8 username: root - password: 'hdp2021888' + password: '50efcc2aac3b' driver-class-name: com.mysql.cj.jdbc.Driver durid: initial-size: 1
@@ -14,4 +15,11 @@ import com.example.modular.video.po.ToiletVideoConfig; */ public interface IToiletVideoConfigService extends IService { + /** + * 获取厕所视频监控集合 + * @param toiletId 厕所ID + * @return + * @author ysl + */ + Result getVideoList(Long toiletId); } diff --git a/src/main/java/com/example/modular/video/service/impl/ToiletVideoConfigServiceImpl.java b/src/main/java/com/example/modular/video/service/impl/ToiletVideoConfigServiceImpl.java index 57377fa..c33ee27 100644 --- a/src/main/java/com/example/modular/video/service/impl/ToiletVideoConfigServiceImpl.java +++ b/src/main/java/com/example/modular/video/service/impl/ToiletVideoConfigServiceImpl.java @@ -1,11 +1,15 @@ package com.example.modular.video.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.example.modular.video.mapper.ToiletVideoConfigMapper; import com.example.modular.video.po.ToiletVideoConfig; import com.example.modular.video.service.IToiletVideoConfigService; +import com.example.util.Result; import org.springframework.stereotype.Service; +import java.util.List; + /** * * 服务实现类 @@ -17,4 +21,16 @@ import org.springframework.stereotype.Service; @Service public class ToiletVideoConfigServiceImpl extends ServiceImpl implements IToiletVideoConfigService { + @Override + public Result getVideoList(Long toiletId) { + if (toiletId == null) { + return new Result("201","参数不能为空!"); + } + //获取视频数据 + QueryWrapper toiletVideoConfigQueryWrapper = new QueryWrapper<>(); + toiletVideoConfigQueryWrapper.eq("toilet_id",toiletId); + toiletVideoConfigQueryWrapper.orderByAsc("create_time"); + List toiletVideoConfigList = list(toiletVideoConfigQueryWrapper); + return new Result(toiletVideoConfigList); + } } diff --git a/src/main/java/com/example/task/TToiletTask.java b/src/main/java/com/example/task/TToiletTask.java index 98e8021..176c819 100644 --- a/src/main/java/com/example/task/TToiletTask.java +++ b/src/main/java/com/example/task/TToiletTask.java @@ -40,7 +40,8 @@ public class TToiletTask { @Autowired private IRegionLevelConfigService regionLevelConfigService; - @Scheduled(cron = "0 0 1 1/1 * ?") +// @Scheduled(cron = "0 0 1 1/1 * ?") + @Scheduled(cron = "0/30 * * * * ?") public void uploadToiletToBigData() { logger.info("【开始执行给绍兴大数据传公厕数据】{}",System.currentTimeMillis()); //获取未删除的全部公厕数据 @@ -64,7 +65,7 @@ public class TToiletTask { } //根据公厕id查询大数据局前置库里面已上传的数据 List tToiletList = itToiletService.getToiletListById(toiletIdList); - Map toiletIdToTToiletBeanMap = new HashMap<>(tToiletList.size()); + Map toiletIdToTToiletBeanMap = new HashMap<>(tToiletList.size()); for (TToilet tToilet : tToiletList) { toiletIdToTToiletBeanMap.put(tToilet.getToiletId(),tToilet); } @@ -83,11 +84,11 @@ public class TToiletTask { ToiletDetail detail = toiletIdToDetailMap.get(toilet.getId()); TToilet tToilet = new TToilet(); boolean flag = false; - if (toiletIdToTToiletBeanMap.get(toilet.getId()) != null) { - tToilet = toiletIdToTToiletBeanMap.get(toilet.getId()); + if (toiletIdToTToiletBeanMap.get(toilet.getId().toString()) != null) { + tToilet = toiletIdToTToiletBeanMap.get(toilet.getId().toString()); flag = true; } - tToilet.setToiletId(toilet.getId()); + tToilet.setToiletId(toilet.getId().toString()); tToilet.setRegionCode(toilet.getArea() == null ? null : toilet.getArea().toString()); tToilet.setToiletName(toilet.getToiletName()); tToilet.setToiletCode(toilet.getToiletCode()); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index b87064a..90e9416 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -32,12 +32,12 @@ spring: db1: # 数据源1配置 url: jdbc:mysql://114.55.211.170:3306/shaoxing_toilet?characterEncoding=utf8&useUnicode=true&useSSL=false&serverTimezone=GMT%2B8 username: root - password: 'hdp2021888' + password: '50efcc2aac3b' driver-class-name: com.mysql.cj.jdbc.Driver db2: # 数据源2配置 url: jdbc:mysql://114.55.211.170:3306/toilet_test?characterEncoding=utf8&useUnicode=true&useSSL=false&serverTimezone=GMT%2B8 username: root - password: 'hdp2021888' + password: '50efcc2aac3b' driver-class-name: com.mysql.cj.jdbc.Driver durid: initial-size: 1
* 服务实现类 @@ -17,4 +21,16 @@ import org.springframework.stereotype.Service; @Service public class ToiletVideoConfigServiceImpl extends ServiceImpl implements IToiletVideoConfigService { + @Override + public Result getVideoList(Long toiletId) { + if (toiletId == null) { + return new Result("201","参数不能为空!"); + } + //获取视频数据 + QueryWrapper toiletVideoConfigQueryWrapper = new QueryWrapper<>(); + toiletVideoConfigQueryWrapper.eq("toilet_id",toiletId); + toiletVideoConfigQueryWrapper.orderByAsc("create_time"); + List toiletVideoConfigList = list(toiletVideoConfigQueryWrapper); + return new Result(toiletVideoConfigList); + } } diff --git a/src/main/java/com/example/task/TToiletTask.java b/src/main/java/com/example/task/TToiletTask.java index 98e8021..176c819 100644 --- a/src/main/java/com/example/task/TToiletTask.java +++ b/src/main/java/com/example/task/TToiletTask.java @@ -40,7 +40,8 @@ public class TToiletTask { @Autowired private IRegionLevelConfigService regionLevelConfigService; - @Scheduled(cron = "0 0 1 1/1 * ?") +// @Scheduled(cron = "0 0 1 1/1 * ?") + @Scheduled(cron = "0/30 * * * * ?") public void uploadToiletToBigData() { logger.info("【开始执行给绍兴大数据传公厕数据】{}",System.currentTimeMillis()); //获取未删除的全部公厕数据 @@ -64,7 +65,7 @@ public class TToiletTask { } //根据公厕id查询大数据局前置库里面已上传的数据 List tToiletList = itToiletService.getToiletListById(toiletIdList); - Map toiletIdToTToiletBeanMap = new HashMap<>(tToiletList.size()); + Map toiletIdToTToiletBeanMap = new HashMap<>(tToiletList.size()); for (TToilet tToilet : tToiletList) { toiletIdToTToiletBeanMap.put(tToilet.getToiletId(),tToilet); } @@ -83,11 +84,11 @@ public class TToiletTask { ToiletDetail detail = toiletIdToDetailMap.get(toilet.getId()); TToilet tToilet = new TToilet(); boolean flag = false; - if (toiletIdToTToiletBeanMap.get(toilet.getId()) != null) { - tToilet = toiletIdToTToiletBeanMap.get(toilet.getId()); + if (toiletIdToTToiletBeanMap.get(toilet.getId().toString()) != null) { + tToilet = toiletIdToTToiletBeanMap.get(toilet.getId().toString()); flag = true; } - tToilet.setToiletId(toilet.getId()); + tToilet.setToiletId(toilet.getId().toString()); tToilet.setRegionCode(toilet.getArea() == null ? null : toilet.getArea().toString()); tToilet.setToiletName(toilet.getToiletName()); tToilet.setToiletCode(toilet.getToiletCode()); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index b87064a..90e9416 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -32,12 +32,12 @@ spring: db1: # 数据源1配置 url: jdbc:mysql://114.55.211.170:3306/shaoxing_toilet?characterEncoding=utf8&useUnicode=true&useSSL=false&serverTimezone=GMT%2B8 username: root - password: 'hdp2021888' + password: '50efcc2aac3b' driver-class-name: com.mysql.cj.jdbc.Driver db2: # 数据源2配置 url: jdbc:mysql://114.55.211.170:3306/toilet_test?characterEncoding=utf8&useUnicode=true&useSSL=false&serverTimezone=GMT%2B8 username: root - password: 'hdp2021888' + password: '50efcc2aac3b' driver-class-name: com.mysql.cj.jdbc.Driver durid: initial-size: 1