From 19710e30807c533949aeec8144f4a30d107d5c52 Mon Sep 17 00:00:00 2001 From: liuchengqian Date: Wed, 9 Apr 2025 14:01:06 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=87=E6=9C=9F=E7=9A=84token=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E7=81=AB=E7=82=B9=E8=BF=94=E5=9B=9E=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xkrs/allinpay/SybPayController.java | 22 ++++ .../allinpay/model/UnitOrderPayEntity.java | 13 ++ .../account/CustomAuthenticationProvider.java | 6 +- .../xkrs/controller/FirePointController.java | 82 ++++++------- .../com/xkrs/service/FirePointService.java | 36 ------ .../service/impl/FirePointServiceImpl.java | 112 ++++-------------- .../com/xkrs/utils/FirePointQueryHelper.java | 47 ++++---- 7 files changed, 114 insertions(+), 204 deletions(-) diff --git a/src/main/java/com/xkrs/allinpay/SybPayController.java b/src/main/java/com/xkrs/allinpay/SybPayController.java index 4a442b5..d15ba9c 100644 --- a/src/main/java/com/xkrs/allinpay/SybPayController.java +++ b/src/main/java/com/xkrs/allinpay/SybPayController.java @@ -13,6 +13,7 @@ import com.xkrs.dao.TranNotifyDao; import com.xkrs.dao.TranQueryDao; import com.xkrs.dao.UnitOrderPayDao; import com.xkrs.model.entity.SysUserEntity; +import com.xkrs.utils.DateTimeUtil; import com.xkrs.websocket.pay.PayWebSocketUsers; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -27,10 +28,12 @@ import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.text.SimpleDateFormat; +import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; import static com.xkrs.common.encapsulation.OutputEncapsulation.outputEncapsulationObject; +import static com.xkrs.utils.DateTimeUtil.dateTimeToString; @RestController @RequestMapping(value = "/pay") @@ -109,7 +112,26 @@ public class SybPayController { //判断用户支付成功 if ("0000".equals(tranNotifyEntity.getTrxstatus())) { if (unitOrderPay != null) { + String oldOverTime = ""; + String newOverTime = ""; + try { + SysUserEntity sysUserEntity = sysUserDao.selectByUserId(unitOrderPay.getUserId()); + oldOverTime = sysUserEntity.getOverTime(); + LocalDateTime sysUserOverDateTime = DateTimeUtil.stringToDateTimeFormatter(oldOverTime, DateTimeUtil.COMMON_FORMATTER_DATETIME); + LocalDateTime now = LocalDateTime.now(); + if (sysUserOverDateTime.isBefore(now)) { + newOverTime = dateTimeToString(now.plusYears(1L));//过期用户,从现在起增加一年 + sysUserEntity.setOverTime(newOverTime); + } else { + newOverTime = dateTimeToString(sysUserOverDateTime.plusYears(1L));//未过期用户,过期时间增加一年 + sysUserEntity.setOverTime(newOverTime); + } + sysUserDao.saveAndFlush(sysUserEntity); + } catch (Exception e) { + e.printStackTrace(); + } unitOrderPay.setPayResult("支付成功"); + unitOrderPay.setRenewRemark(oldOverTime + " => " + newOverTime); unitOrderPayDao.saveAndFlush(unitOrderPay); } //通知前端支付成功 diff --git a/src/main/java/com/xkrs/allinpay/model/UnitOrderPayEntity.java b/src/main/java/com/xkrs/allinpay/model/UnitOrderPayEntity.java index 37fbe81..14449b6 100644 --- a/src/main/java/com/xkrs/allinpay/model/UnitOrderPayEntity.java +++ b/src/main/java/com/xkrs/allinpay/model/UnitOrderPayEntity.java @@ -38,6 +38,11 @@ public class UnitOrderPayEntity implements Serializable { */ private String payResult; + /** + * 续费备注 + */ + private String renewRemark; + /** * 二维码路径 */ @@ -98,6 +103,14 @@ public class UnitOrderPayEntity implements Serializable { this.payResult = payResult; } + public String getRenewRemark() { + return renewRemark; + } + + public void setRenewRemark(String renewRemark) { + this.renewRemark = renewRemark; + } + public String getQrCodePath() { return qrCodePath; } diff --git a/src/main/java/com/xkrs/common/account/CustomAuthenticationProvider.java b/src/main/java/com/xkrs/common/account/CustomAuthenticationProvider.java index 124b61c..120e4ee 100644 --- a/src/main/java/com/xkrs/common/account/CustomAuthenticationProvider.java +++ b/src/main/java/com/xkrs/common/account/CustomAuthenticationProvider.java @@ -83,9 +83,9 @@ public class CustomAuthenticationProvider implements AuthenticationProvider { throw new DisabledException("用户状态不正常,请联系管理员"); } - if (DateTimeUtil.dateTimeToString(LocalDateTime.now()).compareTo(userEntity.getOverTime()) > 0) { - throw new DisabledException("该账号已过期,请联系管理员"); - } +// if (DateTimeUtil.dateTimeToString(LocalDateTime.now()).compareTo(userEntity.getOverTime()) > 0) { +// throw new DisabledException("该账号已过期,请联系管理员"); +// } // 认证逻辑 String encryptPassword = encry256(password + userEntity.getSalt()); diff --git a/src/main/java/com/xkrs/controller/FirePointController.java b/src/main/java/com/xkrs/controller/FirePointController.java index 59a00c1..4bad908 100644 --- a/src/main/java/com/xkrs/controller/FirePointController.java +++ b/src/main/java/com/xkrs/controller/FirePointController.java @@ -15,6 +15,7 @@ import com.xkrs.model.vo.TianDiTuGeocodeVo; import com.xkrs.service.FirePointService; import com.xkrs.service.StreetService; import com.xkrs.service.impl.FirePointServiceImpl; +import com.xkrs.utils.DateTimeUtils; import com.xkrs.utils.FirePointQueryHelper; import com.xkrs.utils.TianDiTuApiUtil; import org.apache.hc.core5.util.TextUtils; @@ -31,6 +32,7 @@ import javax.persistence.criteria.Predicate; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.transaction.Transactional; +import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import java.util.Locale; @@ -63,40 +65,6 @@ public class FirePointController { @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); - } - - /** - * 定制接口:查询黄岛区的火点 - */ - @GetMapping("/queryHuangDao") - public String queryHuangDao(@RequestHeader(value = "Authorization") String token, @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) { - if (TextUtils.isEmpty(token) || (!token.equals("Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNTcyNjI0MDI1MSIsImlzcyI6Imh0dHBzOi8vd3d3Lm1pY3Jvc2VydmljZS5jb20iLCJhdWQiOiIxNTcyNjI0MDI1MSIsImF1dGhzIjoiYXV0aF9nZW5lcmFsX3VzZXIiLCJleHAiOjE2NzUyMzQzNjl9.iE9o6KblAgQP8Q0Vx7AJOV6BVYCOJrfpU886IZiARGdIVm77dx3l1UHM-bTMUlaVyG7-9BY0sOfCD3wHfLT3MA"))) { - return outputEncapsulationObject(PromptMessageEnum.PROCESS_FAIL, "无效token", locale); - } - String finalStartTime = TextUtils.isEmpty(startTime) ? "2023-01-01 00:00:10" : startTime; - List firePointList = firePointQueryHelper.queryFirePoint("370211", finalStartTime, endTime, satelliteType, landType); - return outputEncapsulationObject(PromptMessageEnum.SUCCESS, firePointList, locale); - } - @GetMapping("/debug") public String debug() { //使用天地图反查填补历史数据-start @@ -240,8 +208,13 @@ public class FirePointController { * @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); + public String queryFirePoint(@RequestHeader(value = "Authorization") String token,// + @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 = firePointQueryHelper.queryFirePoint(true, token, code, startTime, endTime, satelliteType, landType); return outputEncapsulationObject(PromptMessageEnum.SUCCESS, firePointList, locale); } @@ -268,8 +241,17 @@ public class FirePointController { * @return */ @GetMapping("/selectTodayFirePoint") - public String selectTodayFirePoint(@RequestParam("countyCode") String countyCode) { - List firePointList = firePointService.selectTodayFirePoint(countyCode); + public String selectTodayFirePoint(@RequestHeader(value = "Authorization") String token, @RequestParam("countyCode") String countyCode) { + + LocalDateTime startTime1 = LocalDateTime.now(); + LocalDateTime startTime2 = LocalDateTime.of(startTime1.getYear(), startTime1.getMonth(), startTime1.getDayOfMonth(), 0, 0, 0, 0); + String startTimeString = DateTimeUtils.localDateTimeToString(startTime2); + + LocalDateTime endTime1 = LocalDateTime.now().plusDays(1); + LocalDateTime endTime2 = LocalDateTime.of(endTime1.getYear(), endTime1.getMonth(), endTime1.getDayOfMonth(), 0, 0, 0, 0); + String endTimeString = DateTimeUtils.localDateTimeToString(endTime2); + + List firePointList = firePointQueryHelper.queryFirePoint(true, token, countyCode, startTimeString, endTimeString, null, null); return outputEncapsulationObject(PromptMessageEnum.SUCCESS, firePointList, locale); } @@ -293,8 +275,8 @@ public class FirePointController { 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) { + List firePointList = firePointQueryHelper.queryFirePoint(true, token, queryCode, startTime, endTime, satelliteType, landType); + if (firePointList.isEmpty()) { return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时还没有火点数据", locale); } return outputEncapsulationObject(PromptMessageEnum.SUCCESS, firePointList, locale); @@ -304,11 +286,17 @@ public class FirePointController { * 查询近一周的火点信息 */ @GetMapping("/selectFirePointBetweenSeven") - public String selectFirePointBetweenSeven() { - List firePointEntities = firePointService.selectFirePointBetweenSeven(); - if (firePointEntities == null || firePointEntities.size() == 0) { - return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时没有火点数据", locale); - } + public String selectFirePointBetweenSeven(@RequestHeader(value = "Authorization") String token) { + + LocalDateTime startTime1 = LocalDateTime.now().minusDays(7); + LocalDateTime startTime2 = LocalDateTime.of(startTime1.getYear(), startTime1.getMonth(), startTime1.getDayOfMonth(), 0, 0, 0, 0); + String startTimeString = DateTimeUtils.localDateTimeToString(startTime2); + + LocalDateTime endTime1 = LocalDateTime.now().plusDays(1); + LocalDateTime endTime2 = LocalDateTime.of(endTime1.getYear(), endTime1.getMonth(), endTime1.getDayOfMonth(), 0, 0, 0, 0); + String endTimeString = DateTimeUtils.localDateTimeToString(endTime2); + + List firePointEntities = firePointQueryHelper.queryFirePoint(true, token, null, startTimeString, endTimeString, null, null); return outputEncapsulationObject(PromptMessageEnum.SUCCESS, firePointEntities, locale); } @@ -320,8 +308,8 @@ public class FirePointController { // 验证token String tokenUserName = TokenUtil.getTokenUserName(token); SysUserEntity sysUserEntity = sysUserDao.selectByUserName(tokenUserName); - List firePointEntities = firePointService.selectFirePointByMonth(sysUserEntity.getCountyCode()); - if (firePointEntities == null || firePointEntities.size() == 0) { + List firePointEntities = firePointQueryHelper.queryFirePoint(true, token, sysUserEntity.getCountyCode(), null, null, null, null); + if (firePointEntities.isEmpty()) { return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时没有火点数据", locale); } return outputEncapsulationObject(PromptMessageEnum.SUCCESS, firePointEntities, locale); diff --git a/src/main/java/com/xkrs/service/FirePointService.java b/src/main/java/com/xkrs/service/FirePointService.java index 0f33460..612075c 100644 --- a/src/main/java/com/xkrs/service/FirePointService.java +++ b/src/main/java/com/xkrs/service/FirePointService.java @@ -1,11 +1,9 @@ package com.xkrs.service; -import com.xkrs.model.entity.FirePointEntity; import com.xkrs.model.qo.FirePointQo; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.util.List; /** * @author XinYi Song @@ -20,28 +18,6 @@ public interface FirePointService { */ boolean insertFirePoint(FirePointQo firePointQo); - /** - * 查询今天的火点信息 - * - * @param - * @return - */ - List selectTodayFirePoint(String countyCode); - - /** - * 查询近一周天的火点信息 - * - * @return - */ - List selectFirePointBetweenSeven(); - - /** - * 查询近一个月的火点信息 - * - * @return - */ - List selectFirePointByMonth(String countyCode); - /** * 查询近一个月的火点数量 * @@ -80,16 +56,4 @@ public interface FirePointService { String downloadFirePoint(HttpServletRequest request, HttpServletResponse response, String ids); - /** - * 动态多条件查询火点列表 - * - * @param code 区划编码,可以是省市区县街道任意编码,如果传需要至少两位。不传代表查询全国火点 - * @param startTime 过滤火点开始卫星时间,不传代表不指定开始时间。后台会有限制。 - * @param endTime 过滤火点结束卫星时间,不传代表不指定结束时间。 - * @param satelliteType 过滤传感器类型,不传代表查询全部类型的传感器 - * @param landType 过滤地物类型,不传代表查询全部地物类型 - * @return 符合条件的火点列表 - */ - List queryFirePoint(String code, String startTime, String endTime, String satelliteType, String landType); - } diff --git a/src/main/java/com/xkrs/service/impl/FirePointServiceImpl.java b/src/main/java/com/xkrs/service/impl/FirePointServiceImpl.java index b518b04..e1a8b6f 100644 --- a/src/main/java/com/xkrs/service/impl/FirePointServiceImpl.java +++ b/src/main/java/com/xkrs/service/impl/FirePointServiceImpl.java @@ -2,9 +2,7 @@ package com.xkrs.service.impl; import com.xkrs.common.encapsulation.PromptMessageEnum; import com.xkrs.dao.*; -import com.xkrs.model.entity.CountyCodeWeiXinEntity; -import com.xkrs.model.entity.FirePointEntity; -import com.xkrs.model.entity.ShanDongFirePointEntity; +import com.xkrs.model.entity.*; import com.xkrs.model.qo.FirePointQo; import com.xkrs.model.vo.TianDiTuGeocodeVo; import com.xkrs.service.FirePointService; @@ -224,25 +222,25 @@ public class FirePointServiceImpl implements FirePointService { //发送微信群聊消息 sendWeChatGroupMessage(firePointEntity); -// if ("耕地".equals(firePointEntity.getLandType())) { -// //过滤短信通知收件人 -// List sysUserList = sysUserDao.findAll(); -// boolean normalSmsEnable = 1L == globalConfigService.selectGlobalConfigValue(9L); -// boolean vipSmsEnable = 1L == globalConfigService.selectGlobalConfigValue(10L); -// List smsReceiverList = FirePointCodeUtils.filterSmsReceiver(firePointEntity.getStreetCode(), sysUserList, normalSmsEnable, vipSmsEnable); -//// //推送 -//// try { -//// List userAccountList = pushHelper.obtainUserAccountList(smsReceiverList); -//// pushHelper.dispatchPushMessage(userAccountList, firePointEntity); -//// } catch (Exception e) { -//// e.printStackTrace(); -//// } -// //对短信通知收件人进行分组 -// List agentOrgList = agentOrgDao.findAll(); -// Map> agentOrgNameGroupMap = FirePointCodeUtils.groupSmsReceiver(smsReceiverList, agentOrgList); -// //分发短信通知 -// smsHelper.dispatchSMSMessage(agentOrgNameGroupMap, new String[]{firePointEntity.getFirePointAddress()}, new FirePointEntity[]{firePointEntity}); -// } + if ("耕地".equals(firePointEntity.getLandType())) { + //过滤短信通知收件人 + List sysUserList = sysUserDao.findAll(); + boolean normalSmsEnable = 1L == globalConfigService.selectGlobalConfigValue(9L); + boolean vipSmsEnable = 1L == globalConfigService.selectGlobalConfigValue(10L); + List smsReceiverList = FirePointCodeUtils.filterSmsReceiver(firePointEntity.getStreetCode(), sysUserList, normalSmsEnable, vipSmsEnable); +// //推送 +// try { +// List userAccountList = pushHelper.obtainUserAccountList(smsReceiverList); +// pushHelper.dispatchPushMessage(userAccountList, firePointEntity); +// } catch (Exception e) { +// e.printStackTrace(); +// } + //对短信通知收件人进行分组 + List agentOrgList = agentOrgDao.findAll(); + Map> agentOrgNameGroupMap = FirePointCodeUtils.groupSmsReceiver(smsReceiverList, agentOrgList); + //分发短信通知 + smsHelper.dispatchSMSMessage(agentOrgNameGroupMap, new String[]{firePointEntity.getFirePointAddress()}, new FirePointEntity[]{firePointEntity}); + } } /** @@ -353,76 +351,6 @@ public class FirePointServiceImpl implements FirePointService { return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "ok", locale); } - /** - * 动态多条件查询火点列表 - * - * @param code 区划编码,可以是省市区县街道任意编码,如果传需要至少两位。不传代表查询全国火点 - * @param startTime 过滤火点开始卫星时间,不传代表不指定开始时间。后台会有限制。 - * @param endTime 过滤火点结束卫星时间,不传代表不指定结束时间。 - * @param satelliteType 过滤传感器类型,不传代表查询全部类型的传感器 - * @param landType 过滤地物类型,不传代表查询全部地物类型 - * @return 符合条件的火点列表 - */ - @Override - public List queryFirePoint(String code, String startTime, String endTime, String satelliteType, String landType) { - return firePointQueryHelper.queryFirePoint(code, startTime, endTime, satelliteType, landType); - } - - /** - * 查询今天的火点信息 - */ -// @Cacheable(keyGenerator = "keyGenerator", unless = "#result == null") - @Override - public List selectTodayFirePoint(String countyCode) { - - LocalDateTime startTime1 = LocalDateTime.now(); - LocalDateTime startTime2 = LocalDateTime.of(startTime1.getYear(), startTime1.getMonth(), startTime1.getDayOfMonth(), 0, 0, 0, 0); - String startTimeString = DateTimeUtils.localDateTimeToString(startTime2); - - LocalDateTime endTime1 = LocalDateTime.now().plusDays(1); - LocalDateTime endTime2 = LocalDateTime.of(endTime1.getYear(), endTime1.getMonth(), endTime1.getDayOfMonth(), 0, 0, 0, 0); - String endTimeString = DateTimeUtils.localDateTimeToString(endTime2); - - return firePointQueryHelper.queryFirePoint(countyCode, startTimeString, endTimeString, null, null); - } - - /** - * 查询近一周的火点信息 - */ -// @Cacheable(keyGenerator = "keyGenerator", unless = "#result == null") - @Override - public List selectFirePointBetweenSeven() { - - LocalDateTime startTime1 = LocalDateTime.now().minusDays(7); - LocalDateTime startTime2 = LocalDateTime.of(startTime1.getYear(), startTime1.getMonth(), startTime1.getDayOfMonth(), 0, 0, 0, 0); - String startTimeString = DateTimeUtils.localDateTimeToString(startTime2); - - LocalDateTime endTime1 = LocalDateTime.now().plusDays(1); - LocalDateTime endTime2 = LocalDateTime.of(endTime1.getYear(), endTime1.getMonth(), endTime1.getDayOfMonth(), 0, 0, 0, 0); - String endTimeString = DateTimeUtils.localDateTimeToString(endTime2); - - return firePointQueryHelper.queryFirePoint(null, startTimeString, endTimeString, null, null); - } - - /** - * 查询近一个月的火点信息 - */ -// @Cacheable(keyGenerator = "keyGenerator", unless = "#result == null") - @Override - public List selectFirePointByMonth(String countyCode) { - -// LocalDateTime startTime1 = LocalDateTime.now().minusMonths(1); -// LocalDateTime startTime2 = LocalDateTime.of(startTime1.getYear(), startTime1.getMonth(), startTime1.getDayOfMonth(), 0, 0, 0, 0); -// String startTimeString = DateTimeUtils.localDateTimeToString(startTime2); -// -// LocalDateTime endTime1 = LocalDateTime.now().plusDays(1); -// LocalDateTime endTime2 = LocalDateTime.of(endTime1.getYear(), endTime1.getMonth(), endTime1.getDayOfMonth(), 0, 0, 0, 0); -// String endTimeString = DateTimeUtils.localDateTimeToString(endTime2); -// -// return firePointQueryHelper.queryFirePoint(countyCode, startTimeString, endTimeString, null, null); - return firePointQueryHelper.queryFirePoint(countyCode, null, null, null, null); - } - /** * 查询近一个月的火点数量 * diff --git a/src/main/java/com/xkrs/utils/FirePointQueryHelper.java b/src/main/java/com/xkrs/utils/FirePointQueryHelper.java index 08c5ac6..72d5c2d 100644 --- a/src/main/java/com/xkrs/utils/FirePointQueryHelper.java +++ b/src/main/java/com/xkrs/utils/FirePointQueryHelper.java @@ -1,7 +1,10 @@ package com.xkrs.utils; +import com.xkrs.common.tool.TokenUtil; import com.xkrs.dao.FirePointDao; +import com.xkrs.dao.SysUserDao; import com.xkrs.model.entity.FirePointEntity; +import com.xkrs.model.entity.SysUserEntity; import org.apache.hc.core5.util.TextUtils; import org.springframework.data.domain.Sort; import org.springframework.data.jpa.domain.Specification; @@ -22,9 +25,14 @@ public class FirePointQueryHelper { @Resource private FirePointDao firePointDao; + @Resource + private SysUserDao sysUserDao; + /** * 动态多条件查询火点列表 * + * @param dependOnToken 依赖token + * @param token 用户token * @param code 区划编码,可以是省市区县街道任意编码,如果传需要至少两位。不传代表查询全国火点 * @param startTime 过滤火点开始卫星时间,不传代表不指定开始时间。后台会有限制。 * @param endTime 过滤火点结束卫星时间,不传代表不指定结束时间。 @@ -32,7 +40,19 @@ public class FirePointQueryHelper { * @param landType 过滤地物类型,不传代表查询全部地物类型 * @return 符合条件的火点列表 */ - public List queryFirePoint(String code, String startTime, String endTime, String satelliteType, String landType) { + public List queryFirePoint(boolean dependOnToken, String token, String code, String startTime, String endTime, String satelliteType, String landType) { + + if (dependOnToken) { + String tokenUserName = TokenUtil.getTokenUserName(token); + SysUserEntity sysUserEntity = sysUserDao.selectByUserName(tokenUserName); + if (sysUserEntity == null) { + return new ArrayList<>(); + } + if (DateTimeUtil.dateTimeToString(LocalDateTime.now()).compareTo(sysUserEntity.getOverTime()) > 0) { + return new ArrayList<>(); + } + } + Specification specification = (root, criteriaQuery, criteriaBuilder) -> { //查询条件集合 List predicateList = new ArrayList<>(); @@ -80,29 +100,4 @@ public class FirePointQueryHelper { return firePointDao.findAll(specification, Sort.by(Sort.Direction.DESC, "satelliteTime")); } - public List queryZZHD(String code, String startTime, String endTime) { - Specification specification = (root, criteriaQuery, criteriaBuilder) -> { - //查询条件集合 - List predicateList = new ArrayList<>(); - predicateList.add(criteriaBuilder.equal(root.get("countyCode").as(String.class), code)); - //开始时间查询条件 - if (!TextUtils.isEmpty(startTime)) { - LocalDateTime startTime1 = DateTimeUtils.stringToLocalDateTime(startTime); - LocalDateTime startTime2 = LocalDateTime.of(startTime1.getYear(), startTime1.getMonth(), startTime1.getDayOfMonth(), 0, 0, 0, 0); - String startTimeString = DateTimeUtils.localDateTimeToString(startTime2); - predicateList.add(criteriaBuilder.greaterThanOrEqualTo(root.get("satelliteTime").as(String.class), startTimeString)); - } - //结束时间查询条件 - if (!TextUtils.isEmpty(endTime)) { - LocalDateTime endTime1 = DateTimeUtils.stringToLocalDateTime(endTime).plusDays(1); - LocalDateTime endTime2 = LocalDateTime.of(endTime1.getYear(), endTime1.getMonth(), endTime1.getDayOfMonth(), 0, 0, 0, 0); - String endTimeString = DateTimeUtils.localDateTimeToString(endTime2); - predicateList.add(criteriaBuilder.lessThanOrEqualTo(root.get("satelliteTime").as(String.class), endTimeString)); - } - Predicate[] predicateArray = new Predicate[predicateList.size()]; - return criteriaBuilder.and(predicateList.toArray(predicateArray)); - }; - return firePointDao.findAll(specification, Sort.by(Sort.Direction.DESC, "satelliteTime")); - } - } \ No newline at end of file