package com.xkrs.straw.controller; import com.xkrs.common.encapsulation.PromptMessageEnum; import com.xkrs.dao.FirePointDao; import com.xkrs.model.entity.FirePointEntity; import com.xkrs.model.qo.FirePointQo; import com.xkrs.service.FirePointService; import com.xkrs.service.StreetService; import com.xkrs.service.impl.FirePointServiceImpl; import com.xkrs.straw.dao.SysUserDao; import com.xkrs.straw.model.entity.SysUserEntity; import com.xkrs.utils.FirePointQueryHelper; import com.xkrs.utils.TokenUtil; import org.apache.hc.core5.util.TextUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.i18n.LocaleContextHolder; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.List; import java.util.Locale; import java.util.Map; import static com.xkrs.common.encapsulation.OutputEncapsulation.outputEncapsulationObject; @RestController public class FirePointController { public static Logger log = LoggerFactory.getLogger(FirePointServiceImpl.class); private final Locale locale = LocaleContextHolder.getLocale(); @Resource private FirePointService firePointService; @Resource private SysUserDao sysUserDao; @Resource private FirePointDao firePointDao; @Resource private StreetService streetService; @Resource private FirePointQueryHelper firePointQueryHelper; // @GetMapping("/queryzzhd") // public String queryzzhd() { // List firePointEntities1 = firePointQueryHelper.queryZZHD("371482", "2022-01-01 00:00:10", "2022-06-26 00:00:10"); // List firePointEntities2 = firePointQueryHelper.queryZZHD("371403", "2022-01-01 00:00:10", "2022-06-26 00:00:10"); // List firePointEntities3 = firePointQueryHelper.queryZZHD("371426", "2022-01-01 00:00:10", "2022-06-26 00:00:10"); // List firePointEntities4 = firePointQueryHelper.queryZZHD("371424", "2022-01-01 00:00:10", "2022-06-26 00:00:10"); // List firePointEntities5 = firePointQueryHelper.queryZZHD("371526", "2022-01-01 00:00:10", "2022-06-26 00:00:10"); // List firePointEntities6 = firePointQueryHelper.queryZZHD("371425", "2022-01-01 00:00:10", "2022-06-26 00:00:10"); // List firePointEntities7 = firePointQueryHelper.queryZZHD("371503", "2022-01-01 00:00:10", "2022-06-26 00:00:10"); // // List firePointList = new ArrayList<>(); // firePointList.addAll(firePointEntities1); // firePointList.addAll(firePointEntities2); // firePointList.addAll(firePointEntities3); // firePointList.addAll(firePointEntities4); // firePointList.addAll(firePointEntities5); // firePointList.addAll(firePointEntities6); // firePointList.addAll(firePointEntities7); // return outputEncapsulationObject(PromptMessageEnum.SUCCESS, firePointList, locale); // } /** * 添加火点数据 * * @param firePointQo * @return */ @PostMapping("/insertFirePoint") public String insertFirePoint(@RequestBody FirePointQo firePointQo) { log.info("insertFirePoint 接收到火点信息:" + firePointQo.toString()); boolean success = firePointService.insertFirePoint(firePointQo); if (success) { return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "添加成功", locale); } else { return outputEncapsulationObject(PromptMessageEnum.PROCESS_FAIL, "添加失败", locale); } } @RequestMapping(value = "/download/vipuserfirepoint", method = RequestMethod.GET) public String downloadVipUserFirePoint(HttpServletResponse response, HttpServletRequest request) { return firePointService.downloadVipUserFilePoint(request, response); } @RequestMapping(value = "/download/firepoint", method = RequestMethod.GET) public String downloadFirePoint(HttpServletResponse response, HttpServletRequest request, @RequestParam(value = "ids") String ids) { return firePointService.downloadFirePoint(request, response, ids); } /** * 动态多条件查询火点列表 * * @param code 区划编码,可以是省市区县街道任意编码,如果传需要至少两位。不传代表查询全国火点 * @param startTime 过滤火点开始卫星时间,不传代表不指定开始时间。后台会有限制。 * @param endTime 过滤火点结束卫星时间,不传代表不指定结束时间。 * @param satelliteType 过滤传感器类型,不传代表查询全部类型的传感器 * @param landType 过滤地物类型,不传代表查询全部地物类型 */ @GetMapping("/queryFirePoint") public String queryFirePoint(@RequestParam(value = "code", required = false) String code, @RequestParam(value = "startTime", required = false) String startTime, @RequestParam(value = "endTime", required = false) String endTime, @RequestParam(value = "satelliteType", required = false) String satelliteType, @RequestParam(value = "landType", required = false) String landType) { List firePointList = firePointService.queryFirePoint(code, startTime, endTime, satelliteType, landType); return outputEncapsulationObject(PromptMessageEnum.SUCCESS, firePointList, locale); } /** * 查询今天的火点信息 * * @return */ @GetMapping("/selectTodayFirePoint") public String selectTodayFirePoint(@RequestParam("countyCode") String countyCode) { List firePointList = firePointService.selectTodayFirePoint(countyCode); return outputEncapsulationObject(PromptMessageEnum.SUCCESS, firePointList, locale); } /** * 动态多条件查询火点信息 */ @PostMapping("/selectFirePoint") public String selectFirePoint(@RequestBody Map map, @RequestHeader(value = "Authorization") String token) { // 区县编码 String cityCode = (String) map.get("cityCode"); // 开始时间 String startTime = (String) map.get("startTime"); // 结束时间 String endTime = (String) map.get("endTime"); // 卫星类型 String satelliteType = (String) map.get("satelliteType"); // 植被类型 String landType = (String) map.get("landType"); // 验证token String tokenUserName = TokenUtil.obtainUserNameByToken(token); SysUserEntity sysUserEntity = sysUserDao.selectByUserName(tokenUserName); // 用于查询的区划编码,可能是省市区县街道任意级别 String queryCode = TextUtils.isEmpty(cityCode) ? sysUserEntity.getCountyCode() : cityCode; List firePointList = firePointQueryHelper.queryFirePoint(queryCode, startTime, endTime, satelliteType, landType); if (firePointList == null || firePointList.size() == 0) { return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时还没有火点数据", locale); } return outputEncapsulationObject(PromptMessageEnum.SUCCESS, firePointList, locale); } /** * 查询该省所有的市 * * @return */ @GetMapping("/selectCityName") public String selectCityName(@RequestParam("code") String countyCode) { if (9 == countyCode.length()) { List> maps = new ArrayList<>(); return outputEncapsulationObject(PromptMessageEnum.SUCCESS, maps, locale); } else if ("0000".equals(countyCode.substring(2))) { List> maps = streetService.selectCityList(countyCode); return outputEncapsulationObject(PromptMessageEnum.SUCCESS, maps, locale); } else if ("00".equals(countyCode.substring(4)) && !"0000".equals(countyCode.substring(2))) { List> maps = streetService.selectCountyList(countyCode); return outputEncapsulationObject(PromptMessageEnum.SUCCESS, maps, locale); } else { List> maps = streetService.selectStreetList(countyCode); return outputEncapsulationObject(PromptMessageEnum.SUCCESS, maps, locale); } } /** * 根据火点编码查询火点信息 * * @param fireCode * @return */ @GetMapping("/selectFirePointByCode") public String selectFirePoint(@RequestParam("fireCode") String fireCode) { FirePointEntity byFireCode = firePointDao.findByFireCode(fireCode); return outputEncapsulationObject(PromptMessageEnum.SUCCESS, byFireCode, locale); } }