Browse Source

开发公厕数据对接接口

master
yingsl 2 years ago
parent
commit
fb9e7203f8
  1. 14
      src/main/java/com/example/filter/spring/mvc/ParameterInterceptor.java
  2. 10
      src/main/java/com/example/modular/dataanalyse/controller/DataAnalyseController.java
  3. 4
      src/main/java/com/example/modular/device/controller/ToiletDeviceBasicInfoController.java
  4. 15
      src/main/java/com/example/modular/digitalcockpit/controller/DigitalCockpitController.java
  5. 12
      src/main/java/com/example/modular/energyconsumption/controller/ToiletElectricityConsumptionController.java
  6. 12
      src/main/java/com/example/modular/energyconsumption/controller/ToiletWaterConsumptionController.java
  7. 27
      src/main/java/com/example/modular/lecheng/controller/ToiletVideoCheckController.java
  8. 16
      src/main/java/com/example/modular/lecheng/service/ToiletVideoCheckService.java
  9. 68
      src/main/java/com/example/modular/lecheng/service/impl/ToiletVideoCheckServiceImpl.java
  10. 6
      src/main/java/com/example/modular/monitoringdata/mapper/mapping/ToiletAirIndexAverageMapper.xml
  11. 22
      src/main/java/com/example/modular/picturemanage/controller/PictureManageController.java
  12. 12
      src/main/java/com/example/modular/rectify/controller/ToiletRectifyTaskInfoController.java
  13. 9
      src/main/java/com/example/modular/rectify/mapper/ToiletRectifyTaskInfoMapper.java
  14. 3
      src/main/java/com/example/modular/rectify/mapper/mapping/ToiletRectifyTaskInfoMapper.xml
  15. 6
      src/main/java/com/example/modular/rectify/po/ToiletRectifyTaskInfo.java
  16. 7
      src/main/java/com/example/modular/rectify/service/IToiletRectifyTaskInfoService.java
  17. 18
      src/main/java/com/example/modular/rectify/service/impl/ToiletRectifyTaskInfoServiceImpl.java
  18. 17
      src/main/java/com/example/modular/shangyudata/service/impl/ShangyuToiletDataServiceImpl.java
  19. 21
      src/main/java/com/example/modular/toilet/controller/ToiletController.java
  20. 23
      src/main/java/com/example/modular/toilet/excel/listener/ToiletDataListener.java
  21. 5
      src/main/java/com/example/modular/toilet/mapper/ToiletMapper.java
  22. 37
      src/main/java/com/example/modular/toilet/mapper/mapping/ToiletMapper.xml
  23. 11
      src/main/java/com/example/modular/toilet/service/IToiletService.java
  24. 56
      src/main/java/com/example/modular/toilet/service/impl/ToiletServiceImpl.java
  25. 6
      src/main/java/com/example/modular/ttoilet/po/TToilet.java
  26. 11
      src/main/java/com/example/modular/ttoilet/service/impl/TToiletServiceImpl.java
  27. 6
      src/main/java/com/example/modular/user/controller/RoleInfoController.java
  28. 8
      src/main/java/com/example/modular/user/controller/UserInfoController.java
  29. 9
      src/main/java/com/example/modular/user/service/impl/UserInfoServiceImpl.java
  30. 8
      src/main/java/com/example/modular/video/service/IToiletVideoConfigService.java
  31. 16
      src/main/java/com/example/modular/video/service/impl/ToiletVideoConfigServiceImpl.java
  32. 11
      src/main/java/com/example/task/TToiletTask.java
  33. 4
      src/main/resources/application.yml

14
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");
}
}

10
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");

4
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);

15
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;
}
}

12
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");

12
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");

27
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

16
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

68
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) {

6
src/main/java/com/example/modular/monitoringdata/mapper/mapping/ToiletAirIndexAverageMapper.xml

@ -23,11 +23,7 @@
<select id="getAirGroupByNearType" resultType="com.example.modular.monitoringdata.po.ToiletAirIndexAverage">
SELECT
a.*
FROM
( SELECT <include refid="Base_Column_List"/> 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
</select>
<select id="getAirGroupByToiletIdList" resultType="com.example.modular.monitoringdata.po.ToiletAirIndexAverage">

22
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;
}
}

12
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;
}
}

9
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;
/**
* <p>
@ -12,6 +17,10 @@ import com.example.modular.rectify.po.ToiletRectifyTaskInfo;
* @author ysl
* @since 2021-10-13
*/
@Mapper
@Component
public interface ToiletRectifyTaskInfoMapper extends BaseMapper<ToiletRectifyTaskInfo> {
List<ToiletRectifyTaskInfo> topList(Date startTime,Date endTime);
}

3
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
</sql>
<select id="topList" parameterType="object" resultMap="BaseResultMap">
select * from toilet_rectify_task_info where create_time &gt;= #{startTime} and create_time &lt;= #{endTime} order by toilet_all_score desc limit 10
</select>
</mapper>

6
src/main/java/com/example/modular/rectify/po/ToiletRectifyTaskInfo.java

@ -213,4 +213,10 @@ public class ToiletRectifyTaskInfo extends Model<ToiletRectifyTaskInfo> {
*/
@TableField(exist = false)
private String createTimeStr;
/**
* 排名序号
*/
@TableField(exist = false)
private Integer sort;
}

7
src/main/java/com/example/modular/rectify/service/IToiletRectifyTaskInfoService.java

@ -69,4 +69,11 @@ public interface IToiletRectifyTaskInfoService extends IService<ToiletRectifyTas
* @author ysl
*/
List<ToiletRectifyTaskInfoTemplate> queryExportData(String taskName,String area,Integer rectifyType,String commitUser);
/**
* 获取公厕监督考核评分top10
* @return
* @author ysl
*/
Result topList();
}

18
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;
/**
* <p>
@ -39,6 +41,8 @@ public class ToiletRectifyTaskInfoServiceImpl extends ServiceImpl<ToiletRectifyT
@Autowired
private IUserInfoService userInfoService;
@Autowired
private ToiletRectifyTaskInfoMapper toiletRectifyTaskInfoMapper;
@Override
@ -206,4 +210,18 @@ public class ToiletRectifyTaskInfoServiceImpl extends ServiceImpl<ToiletRectifyT
}
return toiletRectifyTaskInfoTemplateList;
}
@Override
public Result topList() {
Map<String,Date> timeMap = DateUtils.getStartTimeAndEndTime(Constant.MONTH_PARAM);
Date startTime = timeMap.get("startTime");
Date endTime = timeMap.get("endTime");
List<ToiletRectifyTaskInfo> toiletRectifyTaskInfoList = toiletRectifyTaskInfoMapper.topList(startTime,endTime);
int i = 1;
for (ToiletRectifyTaskInfo toiletRectifyTaskInfo : toiletRectifyTaskInfoList) {
toiletRectifyTaskInfo.setSort(i);
i++;
}
return new Result(toiletRectifyTaskInfoList);
}
}

17
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<Toilet> toiletQueryWrapper = new QueryWrapper<>();
toiletQueryWrapper.eq("toilet_code",toiletAirDataVO.getToiletCode());
@ -406,6 +415,8 @@ public class ShangyuToiletDataServiceImpl implements ShangyuToiletDataService {
toiletAirIndexAverageQueryWrapper.le("create_time",endTime);
List<ToiletAirIndexAverage> 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<SysConfig> 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

21
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<RegionParamVO> 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;
}
}

23
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<ToiletData> {
QueryWrapper<Toilet> toiletQueryWrapper = new QueryWrapper<>();
toiletQueryWrapper.eq("delete_status",Constant.TOILET_DEL_STATUS_NO);
List<Toilet> toiletList = toiletService.list(toiletQueryWrapper);
List<Long> toiletIdList = new ArrayList<>(toiletList.size());
for (Toilet toilet : toiletList) {
toiletStreetNameToIdMap.put(toilet.getToiletName(),toilet);
toiletIdList.add(toilet.getId());
}
QueryWrapper<ToiletDetail> toiletDetailQueryWrapper = new QueryWrapper<>();
toiletDetailQueryWrapper.in("toilet_id",toiletIdList);
List<ToiletDetail> toiletDetailList = toiletDetailService.list(toiletDetailQueryWrapper);
for (ToiletDetail toiletDetail : toiletDetailList) {
toiletIdToDetailMap.put(toiletDetail.getToiletId(),toiletDetail);
if (!CollectionUtils.isEmpty(toiletList)) {
List<Long> toiletIdList = new ArrayList<>(toiletList.size());
for (Toilet toilet : toiletList) {
toiletStreetNameToIdMap.put(toilet.getToiletName(),toilet);
toiletIdList.add(toilet.getId());
}
QueryWrapper<ToiletDetail> toiletDetailQueryWrapper = new QueryWrapper<>();
toiletDetailQueryWrapper.in("toilet_id",toiletIdList);
List<ToiletDetail> toiletDetailList = toiletDetailService.list(toiletDetailQueryWrapper);
for (ToiletDetail toiletDetail : toiletDetailList) {
toiletIdToDetailMap.put(toiletDetail.getToiletId(),toiletDetail);
}
}
}

5
src/main/java/com/example/modular/toilet/mapper/ToiletMapper.java

@ -93,4 +93,9 @@ public interface ToiletMapper extends BaseMapper<Toilet> {
* @author ysl
*/
int countManageToiletPageByParams (@Param("map") Map<String,List<String>> 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);
}

37
src/main/java/com/example/modular/toilet/mapper/mapping/ToiletMapper.xml

@ -70,7 +70,8 @@
<select id="getToiletListByParams" resultType="com.example.modular.toilet.po.Toilet">
select <include refid="Base_Column_List"/>
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
<if test="toiletLevel != null">
and toilet_level = #{toiletLevel}
</if>
@ -101,7 +102,8 @@
<select id="getAllToiletCountByParams" resultType="java.lang.Integer">
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
<if test="toiletLevel != null">
and toilet_level = #{toiletLevel}
</if>
@ -129,7 +131,8 @@
<select id="getVideoToiletCountByParams" resultType="java.lang.Integer">
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
<if test="toiletLevel != null">
and toilet_level = #{toiletLevel}
</if>
@ -234,4 +237,32 @@
)
</if>
</select>
<select id="zuobiaojingdu" resultType="java.lang.Double">
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>
<select id="zuobiaoweidu" resultType="java.lang.Double">
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
</select>
</mapper>

11
src/main/java/com/example/modular/toilet/service/IToiletService.java

@ -136,4 +136,15 @@ public interface IToiletService extends IService<Toilet> {
* @author ysl
*/
Result selectToiletPage(String toiletName, List<RegionParamVO> regionParamVOList,String userToken,int startPage,int pageSize);
/**
* 天地图坐标转高德地图坐标方法
* @param jingdu 天地图经度
* @param weidu 天地图纬度
* @return
* @author ysl
*/
Result zuobiao(Double jingdu,Double weidu);
}

56
src/main/java/com/example/modular/toilet/service/impl/ToiletServiceImpl.java

@ -386,13 +386,22 @@ public class ToiletServiceImpl extends ServiceImpl<ToiletMapper, Toilet> 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<ToiletMapper, Toilet> 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<ToiletMapper, Toilet> impleme
}
@Scheduled(cron = "0 7/30 * * * ? ")
public void getToiletNearStatus () {
logger.info("【为天地图坐标赋值定时任务】开始:{}",System.currentTimeMillis());
@ -1473,4 +1503,16 @@ public class ToiletServiceImpl extends ServiceImpl<ToiletMapper, Toilet> 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<String,Double> map = new HashMap<>();
map.put("经度",gaodejingdu);
map.put("纬度",gaodeweidu);
return new Result(map);
}
}

6
src/main/java/com/example/modular/ttoilet/po/TToilet.java

@ -29,7 +29,7 @@ public class TToilet extends Model<TToilet> {
* 公厕id
*/
@TableId(value = "toiletId")
private Long toiletId;
private String toiletId;
/**
* 区县code
*/
@ -512,11 +512,11 @@ public class TToilet extends Model<TToilet> {
private Integer hyyyFlag;
public Long getToiletId() {
public String getToiletId() {
return toiletId;
}
public void setToiletId(Long toiletId) {
public void setToiletId(String toiletId) {
this.toiletId = toiletId;
}

11
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<TToiletMapper, TToilet> implements ITToiletService {
private final Logger logger = LoggerFactory.getLogger(TToiletServiceImpl.class);
@ -63,6 +65,7 @@ public class TToiletServiceImpl extends ServiceImpl<TToiletMapper, TToilet> 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<TToiletMapper, TToilet> 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;

6
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) {

8
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"));

9
src/main/java/com/example/modular/user/service/impl/UserInfoServiceImpl.java

@ -532,6 +532,15 @@ public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo> 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()));
}

8
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;
/**
* <p>
@ -14,4 +15,11 @@ import com.example.modular.video.po.ToiletVideoConfig;
*/
public interface IToiletVideoConfigService extends IService<ToiletVideoConfig> {
/**
* 获取厕所视频监控集合
* @param toiletId 厕所ID
* @return
* @author ysl
*/
Result getVideoList(Long toiletId);
}

16
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;
/**
* <p>
* 服务实现类
@ -17,4 +21,16 @@ import org.springframework.stereotype.Service;
@Service
public class ToiletVideoConfigServiceImpl extends ServiceImpl<ToiletVideoConfigMapper, ToiletVideoConfig> implements IToiletVideoConfigService {
@Override
public Result getVideoList(Long toiletId) {
if (toiletId == null) {
return new Result("201","参数不能为空!");
}
//获取视频数据
QueryWrapper<ToiletVideoConfig> toiletVideoConfigQueryWrapper = new QueryWrapper<>();
toiletVideoConfigQueryWrapper.eq("toilet_id",toiletId);
toiletVideoConfigQueryWrapper.orderByAsc("create_time");
List<ToiletVideoConfig> toiletVideoConfigList = list(toiletVideoConfigQueryWrapper);
return new Result(toiletVideoConfigList);
}
}

11
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<TToilet> tToiletList = itToiletService.getToiletListById(toiletIdList);
Map<Long,TToilet> toiletIdToTToiletBeanMap = new HashMap<>(tToiletList.size());
Map<String,TToilet> 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());

4
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

Loading…
Cancel
Save