过期的token查询火点返回空

This commit is contained in:
liuchengqian 2025-04-09 14:01:06 +08:00
parent a9ba6a8cb6
commit 19710e3080
7 changed files with 114 additions and 204 deletions

View File

@ -13,6 +13,7 @@ import com.xkrs.dao.TranNotifyDao;
import com.xkrs.dao.TranQueryDao; import com.xkrs.dao.TranQueryDao;
import com.xkrs.dao.UnitOrderPayDao; import com.xkrs.dao.UnitOrderPayDao;
import com.xkrs.model.entity.SysUserEntity; import com.xkrs.model.entity.SysUserEntity;
import com.xkrs.utils.DateTimeUtil;
import com.xkrs.websocket.pay.PayWebSocketUsers; import com.xkrs.websocket.pay.PayWebSocketUsers;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -27,10 +28,12 @@ import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.io.IOException; import java.io.IOException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.xkrs.common.encapsulation.OutputEncapsulation.outputEncapsulationObject; import static com.xkrs.common.encapsulation.OutputEncapsulation.outputEncapsulationObject;
import static com.xkrs.utils.DateTimeUtil.dateTimeToString;
@RestController @RestController
@RequestMapping(value = "/pay") @RequestMapping(value = "/pay")
@ -109,7 +112,26 @@ public class SybPayController {
//判断用户支付成功 //判断用户支付成功
if ("0000".equals(tranNotifyEntity.getTrxstatus())) { if ("0000".equals(tranNotifyEntity.getTrxstatus())) {
if (unitOrderPay != null) { 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.setPayResult("支付成功");
unitOrderPay.setRenewRemark(oldOverTime + " => " + newOverTime);
unitOrderPayDao.saveAndFlush(unitOrderPay); unitOrderPayDao.saveAndFlush(unitOrderPay);
} }
//通知前端支付成功 //通知前端支付成功

View File

@ -38,6 +38,11 @@ public class UnitOrderPayEntity implements Serializable {
*/ */
private String payResult; private String payResult;
/**
* 续费备注
*/
private String renewRemark;
/** /**
* 二维码路径 * 二维码路径
*/ */
@ -98,6 +103,14 @@ public class UnitOrderPayEntity implements Serializable {
this.payResult = payResult; this.payResult = payResult;
} }
public String getRenewRemark() {
return renewRemark;
}
public void setRenewRemark(String renewRemark) {
this.renewRemark = renewRemark;
}
public String getQrCodePath() { public String getQrCodePath() {
return qrCodePath; return qrCodePath;
} }

View File

@ -83,9 +83,9 @@ public class CustomAuthenticationProvider implements AuthenticationProvider {
throw new DisabledException("用户状态不正常,请联系管理员"); throw new DisabledException("用户状态不正常,请联系管理员");
} }
if (DateTimeUtil.dateTimeToString(LocalDateTime.now()).compareTo(userEntity.getOverTime()) > 0) { // if (DateTimeUtil.dateTimeToString(LocalDateTime.now()).compareTo(userEntity.getOverTime()) > 0) {
throw new DisabledException("该账号已过期,请联系管理员"); // throw new DisabledException("该账号已过期,请联系管理员");
} // }
// 认证逻辑 // 认证逻辑
String encryptPassword = encry256(password + userEntity.getSalt()); String encryptPassword = encry256(password + userEntity.getSalt());

View File

@ -15,6 +15,7 @@ import com.xkrs.model.vo.TianDiTuGeocodeVo;
import com.xkrs.service.FirePointService; import com.xkrs.service.FirePointService;
import com.xkrs.service.StreetService; import com.xkrs.service.StreetService;
import com.xkrs.service.impl.FirePointServiceImpl; import com.xkrs.service.impl.FirePointServiceImpl;
import com.xkrs.utils.DateTimeUtils;
import com.xkrs.utils.FirePointQueryHelper; import com.xkrs.utils.FirePointQueryHelper;
import com.xkrs.utils.TianDiTuApiUtil; import com.xkrs.utils.TianDiTuApiUtil;
import org.apache.hc.core5.util.TextUtils; 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.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.transaction.Transactional; import javax.transaction.Transactional;
import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
@ -63,40 +65,6 @@ public class FirePointController {
@Resource @Resource
private FirePointQueryHelper firePointQueryHelper; private FirePointQueryHelper firePointQueryHelper;
@GetMapping("/queryzzhd")
public String queryzzhd() {
List<FirePointEntity> firePointEntities1 = firePointQueryHelper.queryZZHD("371482", "2022-01-01 00:00:10", "2022-06-26 00:00:10");
List<FirePointEntity> firePointEntities2 = firePointQueryHelper.queryZZHD("371403", "2022-01-01 00:00:10", "2022-06-26 00:00:10");
List<FirePointEntity> firePointEntities3 = firePointQueryHelper.queryZZHD("371426", "2022-01-01 00:00:10", "2022-06-26 00:00:10");
List<FirePointEntity> firePointEntities4 = firePointQueryHelper.queryZZHD("371424", "2022-01-01 00:00:10", "2022-06-26 00:00:10");
List<FirePointEntity> firePointEntities5 = firePointQueryHelper.queryZZHD("371526", "2022-01-01 00:00:10", "2022-06-26 00:00:10");
List<FirePointEntity> firePointEntities6 = firePointQueryHelper.queryZZHD("371425", "2022-01-01 00:00:10", "2022-06-26 00:00:10");
List<FirePointEntity> firePointEntities7 = firePointQueryHelper.queryZZHD("371503", "2022-01-01 00:00:10", "2022-06-26 00:00:10");
List<FirePointEntity> 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<FirePointEntity> firePointList = firePointQueryHelper.queryFirePoint("370211", finalStartTime, endTime, satelliteType, landType);
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, firePointList, locale);
}
@GetMapping("/debug") @GetMapping("/debug")
public String debug() { public String debug() {
//使用天地图反查填补历史数据-start //使用天地图反查填补历史数据-start
@ -240,8 +208,13 @@ public class FirePointController {
* @param landType 过滤地物类型不传代表查询全部地物类型 * @param landType 过滤地物类型不传代表查询全部地物类型
*/ */
@GetMapping("/queryFirePoint") @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) { public String queryFirePoint(@RequestHeader(value = "Authorization") String token,//
List<FirePointEntity> firePointList = firePointService.queryFirePoint(code, startTime, endTime, satelliteType, landType); @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<FirePointEntity> firePointList = firePointQueryHelper.queryFirePoint(true, token, code, startTime, endTime, satelliteType, landType);
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, firePointList, locale); return outputEncapsulationObject(PromptMessageEnum.SUCCESS, firePointList, locale);
} }
@ -268,8 +241,17 @@ public class FirePointController {
* @return * @return
*/ */
@GetMapping("/selectTodayFirePoint") @GetMapping("/selectTodayFirePoint")
public String selectTodayFirePoint(@RequestParam("countyCode") String countyCode) { public String selectTodayFirePoint(@RequestHeader(value = "Authorization") String token, @RequestParam("countyCode") String countyCode) {
List<FirePointEntity> firePointList = firePointService.selectTodayFirePoint(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<FirePointEntity> firePointList = firePointQueryHelper.queryFirePoint(true, token, countyCode, startTimeString, endTimeString, null, null);
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, firePointList, locale); return outputEncapsulationObject(PromptMessageEnum.SUCCESS, firePointList, locale);
} }
@ -293,8 +275,8 @@ public class FirePointController {
SysUserEntity sysUserEntity = sysUserDao.selectByUserName(tokenUserName); SysUserEntity sysUserEntity = sysUserDao.selectByUserName(tokenUserName);
// 用于查询的区划编码可能是省市区县街道任意级别 // 用于查询的区划编码可能是省市区县街道任意级别
String queryCode = TextUtils.isEmpty(cityCode) ? sysUserEntity.getCountyCode() : cityCode; String queryCode = TextUtils.isEmpty(cityCode) ? sysUserEntity.getCountyCode() : cityCode;
List<FirePointEntity> firePointList = firePointQueryHelper.queryFirePoint(queryCode, startTime, endTime, satelliteType, landType); List<FirePointEntity> firePointList = firePointQueryHelper.queryFirePoint(true, token, queryCode, startTime, endTime, satelliteType, landType);
if (firePointList == null || firePointList.size() == 0) { if (firePointList.isEmpty()) {
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时还没有火点数据", locale); return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时还没有火点数据", locale);
} }
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, firePointList, locale); return outputEncapsulationObject(PromptMessageEnum.SUCCESS, firePointList, locale);
@ -304,11 +286,17 @@ public class FirePointController {
* 查询近一周的火点信息 * 查询近一周的火点信息
*/ */
@GetMapping("/selectFirePointBetweenSeven") @GetMapping("/selectFirePointBetweenSeven")
public String selectFirePointBetweenSeven() { public String selectFirePointBetweenSeven(@RequestHeader(value = "Authorization") String token) {
List<FirePointEntity> firePointEntities = firePointService.selectFirePointBetweenSeven();
if (firePointEntities == null || firePointEntities.size() == 0) { LocalDateTime startTime1 = LocalDateTime.now().minusDays(7);
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时没有火点数据", locale); 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<FirePointEntity> firePointEntities = firePointQueryHelper.queryFirePoint(true, token, null, startTimeString, endTimeString, null, null);
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, firePointEntities, locale); return outputEncapsulationObject(PromptMessageEnum.SUCCESS, firePointEntities, locale);
} }
@ -320,8 +308,8 @@ public class FirePointController {
// 验证token // 验证token
String tokenUserName = TokenUtil.getTokenUserName(token); String tokenUserName = TokenUtil.getTokenUserName(token);
SysUserEntity sysUserEntity = sysUserDao.selectByUserName(tokenUserName); SysUserEntity sysUserEntity = sysUserDao.selectByUserName(tokenUserName);
List<FirePointEntity> firePointEntities = firePointService.selectFirePointByMonth(sysUserEntity.getCountyCode()); List<FirePointEntity> firePointEntities = firePointQueryHelper.queryFirePoint(true, token, sysUserEntity.getCountyCode(), null, null, null, null);
if (firePointEntities == null || firePointEntities.size() == 0) { if (firePointEntities.isEmpty()) {
return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时没有火点数据", locale); return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时没有火点数据", locale);
} }
return outputEncapsulationObject(PromptMessageEnum.SUCCESS, firePointEntities, locale); return outputEncapsulationObject(PromptMessageEnum.SUCCESS, firePointEntities, locale);

View File

@ -1,11 +1,9 @@
package com.xkrs.service; package com.xkrs.service;
import com.xkrs.model.entity.FirePointEntity;
import com.xkrs.model.qo.FirePointQo; import com.xkrs.model.qo.FirePointQo;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.List;
/** /**
* @author XinYi Song * @author XinYi Song
@ -20,28 +18,6 @@ public interface FirePointService {
*/ */
boolean insertFirePoint(FirePointQo firePointQo); boolean insertFirePoint(FirePointQo firePointQo);
/**
* 查询今天的火点信息
*
* @param
* @return
*/
List<FirePointEntity> selectTodayFirePoint(String countyCode);
/**
* 查询近一周天的火点信息
*
* @return
*/
List<FirePointEntity> selectFirePointBetweenSeven();
/**
* 查询近一个月的火点信息
*
* @return
*/
List<FirePointEntity> selectFirePointByMonth(String countyCode);
/** /**
* 查询近一个月的火点数量 * 查询近一个月的火点数量
* *
@ -80,16 +56,4 @@ public interface FirePointService {
String downloadFirePoint(HttpServletRequest request, HttpServletResponse response, String ids); String downloadFirePoint(HttpServletRequest request, HttpServletResponse response, String ids);
/**
* 动态多条件查询火点列表
*
* @param code 区划编码可以是省市区县街道任意编码如果传需要至少两位不传代表查询全国火点
* @param startTime 过滤火点开始卫星时间不传代表不指定开始时间后台会有限制
* @param endTime 过滤火点结束卫星时间不传代表不指定结束时间
* @param satelliteType 过滤传感器类型不传代表查询全部类型的传感器
* @param landType 过滤地物类型不传代表查询全部地物类型
* @return 符合条件的火点列表
*/
List<FirePointEntity> queryFirePoint(String code, String startTime, String endTime, String satelliteType, String landType);
} }

View File

@ -2,9 +2,7 @@ package com.xkrs.service.impl;
import com.xkrs.common.encapsulation.PromptMessageEnum; import com.xkrs.common.encapsulation.PromptMessageEnum;
import com.xkrs.dao.*; import com.xkrs.dao.*;
import com.xkrs.model.entity.CountyCodeWeiXinEntity; import com.xkrs.model.entity.*;
import com.xkrs.model.entity.FirePointEntity;
import com.xkrs.model.entity.ShanDongFirePointEntity;
import com.xkrs.model.qo.FirePointQo; import com.xkrs.model.qo.FirePointQo;
import com.xkrs.model.vo.TianDiTuGeocodeVo; import com.xkrs.model.vo.TianDiTuGeocodeVo;
import com.xkrs.service.FirePointService; import com.xkrs.service.FirePointService;
@ -224,25 +222,25 @@ public class FirePointServiceImpl implements FirePointService {
//发送微信群聊消息 //发送微信群聊消息
sendWeChatGroupMessage(firePointEntity); sendWeChatGroupMessage(firePointEntity);
// if ("耕地".equals(firePointEntity.getLandType())) { if ("耕地".equals(firePointEntity.getLandType())) {
// //过滤短信通知收件人 //过滤短信通知收件人
// List<SysUserEntity> sysUserList = sysUserDao.findAll(); List<SysUserEntity> sysUserList = sysUserDao.findAll();
// boolean normalSmsEnable = 1L == globalConfigService.selectGlobalConfigValue(9L); boolean normalSmsEnable = 1L == globalConfigService.selectGlobalConfigValue(9L);
// boolean vipSmsEnable = 1L == globalConfigService.selectGlobalConfigValue(10L); boolean vipSmsEnable = 1L == globalConfigService.selectGlobalConfigValue(10L);
// List<SysUserEntity> smsReceiverList = FirePointCodeUtils.filterSmsReceiver(firePointEntity.getStreetCode(), sysUserList, normalSmsEnable, vipSmsEnable); List<SysUserEntity> smsReceiverList = FirePointCodeUtils.filterSmsReceiver(firePointEntity.getStreetCode(), sysUserList, normalSmsEnable, vipSmsEnable);
//// //推送 // //推送
//// try { // try {
//// List<String> userAccountList = pushHelper.obtainUserAccountList(smsReceiverList); // List<String> userAccountList = pushHelper.obtainUserAccountList(smsReceiverList);
//// pushHelper.dispatchPushMessage(userAccountList, firePointEntity); // pushHelper.dispatchPushMessage(userAccountList, firePointEntity);
//// } catch (Exception e) { // } catch (Exception e) {
//// e.printStackTrace(); // e.printStackTrace();
//// } // }
// //对短信通知收件人进行分组 //对短信通知收件人进行分组
// List<AgentOrgEntity> agentOrgList = agentOrgDao.findAll(); List<AgentOrgEntity> agentOrgList = agentOrgDao.findAll();
// Map<String, List<SysUserEntity>> agentOrgNameGroupMap = FirePointCodeUtils.groupSmsReceiver(smsReceiverList, agentOrgList); Map<String, List<SysUserEntity>> agentOrgNameGroupMap = FirePointCodeUtils.groupSmsReceiver(smsReceiverList, agentOrgList);
// //分发短信通知 //分发短信通知
// smsHelper.dispatchSMSMessage(agentOrgNameGroupMap, new String[]{firePointEntity.getFirePointAddress()}, new FirePointEntity[]{firePointEntity}); 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); return outputEncapsulationObject(PromptMessageEnum.SUCCESS, "ok", locale);
} }
/**
* 动态多条件查询火点列表
*
* @param code 区划编码可以是省市区县街道任意编码如果传需要至少两位不传代表查询全国火点
* @param startTime 过滤火点开始卫星时间不传代表不指定开始时间后台会有限制
* @param endTime 过滤火点结束卫星时间不传代表不指定结束时间
* @param satelliteType 过滤传感器类型不传代表查询全部类型的传感器
* @param landType 过滤地物类型不传代表查询全部地物类型
* @return 符合条件的火点列表
*/
@Override
public List<FirePointEntity> 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<FirePointEntity> 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<FirePointEntity> 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<FirePointEntity> 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);
}
/** /**
* 查询近一个月的火点数量 * 查询近一个月的火点数量
* *

View File

@ -1,7 +1,10 @@
package com.xkrs.utils; package com.xkrs.utils;
import com.xkrs.common.tool.TokenUtil;
import com.xkrs.dao.FirePointDao; import com.xkrs.dao.FirePointDao;
import com.xkrs.dao.SysUserDao;
import com.xkrs.model.entity.FirePointEntity; import com.xkrs.model.entity.FirePointEntity;
import com.xkrs.model.entity.SysUserEntity;
import org.apache.hc.core5.util.TextUtils; import org.apache.hc.core5.util.TextUtils;
import org.springframework.data.domain.Sort; import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.domain.Specification; import org.springframework.data.jpa.domain.Specification;
@ -22,9 +25,14 @@ public class FirePointQueryHelper {
@Resource @Resource
private FirePointDao firePointDao; private FirePointDao firePointDao;
@Resource
private SysUserDao sysUserDao;
/** /**
* 动态多条件查询火点列表 * 动态多条件查询火点列表
* *
* @param dependOnToken 依赖token
* @param token 用户token
* @param code 区划编码可以是省市区县街道任意编码如果传需要至少两位不传代表查询全国火点 * @param code 区划编码可以是省市区县街道任意编码如果传需要至少两位不传代表查询全国火点
* @param startTime 过滤火点开始卫星时间不传代表不指定开始时间后台会有限制 * @param startTime 过滤火点开始卫星时间不传代表不指定开始时间后台会有限制
* @param endTime 过滤火点结束卫星时间不传代表不指定结束时间 * @param endTime 过滤火点结束卫星时间不传代表不指定结束时间
@ -32,7 +40,19 @@ public class FirePointQueryHelper {
* @param landType 过滤地物类型不传代表查询全部地物类型 * @param landType 过滤地物类型不传代表查询全部地物类型
* @return 符合条件的火点列表 * @return 符合条件的火点列表
*/ */
public List<FirePointEntity> queryFirePoint(String code, String startTime, String endTime, String satelliteType, String landType) { public List<FirePointEntity> 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<FirePointEntity> specification = (root, criteriaQuery, criteriaBuilder) -> { Specification<FirePointEntity> specification = (root, criteriaQuery, criteriaBuilder) -> {
//查询条件集合 //查询条件集合
List<Predicate> predicateList = new ArrayList<>(); List<Predicate> predicateList = new ArrayList<>();
@ -80,29 +100,4 @@ public class FirePointQueryHelper {
return firePointDao.findAll(specification, Sort.by(Sort.Direction.DESC, "satelliteTime")); return firePointDao.findAll(specification, Sort.by(Sort.Direction.DESC, "satelliteTime"));
} }
public List<FirePointEntity> queryZZHD(String code, String startTime, String endTime) {
Specification<FirePointEntity> specification = (root, criteriaQuery, criteriaBuilder) -> {
//查询条件集合
List<Predicate> 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"));
}
} }