package com.xkrs.straw.utils; import com.xkrs.straw.dao.FirePointOrdinaryDao; import com.xkrs.straw.dao.FirePointPreciseDao; import com.xkrs.straw.model.bean.FirePointQueryResultBean; import com.xkrs.straw.model.bean.VipTimeRangeBean; import com.xkrs.straw.model.entity.SysUserEntity; import com.xkrs.utils.FirePointCodeUtils; import org.apache.hc.core5.util.TextUtils; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.List; @Component public class FirePointQueryManager { @Resource private FirePointOrdinaryDao firePointOrdinaryDao; @Resource private FirePointPreciseDao firePointPreciseDao; public FirePointQueryResultBean queryFirePointBelongToUser(SysUserEntity sysUserEntity, String startTime, String endTime, String satelliteType, String landType) { try { //获取用户注册的区划编码 String userCode = sysUserEntity.getCountyCode(); //如果用户注册的区划编码是空,就返回失败 if (TextUtils.isEmpty(userCode)) { return new FirePointQueryResultBean(false, "User CountyCode Error 1, userCode = " + userCode, null); } //对用户区划编码进行格式化,获得没有冗余数据的区划编码 String noRedundantUserCode = FirePointCodeUtils.getFormatCutCode(userCode); //如果格式化后的用户区划编码是空,就返回失败 if (TextUtils.isEmpty(noRedundantUserCode)) { return new FirePointQueryResultBean(false, "User CountyCode Error 2, userCode = " + userCode + ", noRedundantUserCode = " + noRedundantUserCode, null); } //获取用户的VIP时间范围 String vipTimeRangeJson = sysUserEntity.getVipTimeRangeJson(); //如果用户的VIP时间范围数据是空,就返回失败 if (TextUtils.isEmpty(vipTimeRangeJson)) { return new FirePointQueryResultBean(false, "User VipTimeRangeJson Error 1, vipTimeRangeJson = " + vipTimeRangeJson, null); } //反序列化用户的VIP时间范围,得到对象 VipTimeRangeBean vipTimeRangeBean = JsonUtils.deserialize(vipTimeRangeJson, VipTimeRangeBean.class); //用户注册时有初始VIP时间范围,反序列化失败或无数据,说明该用户的数据发生了异常,返回失败 if (vipTimeRangeBean == null || vipTimeRangeBean.getList() == null || vipTimeRangeBean.getList().size() == 0) { return new FirePointQueryResultBean(false, "User VipTimeRangeJson Error 2, 已保存的VIP时间范围反序列化失败, vipTimeRangeJson = " + vipTimeRangeJson, null); } //得到由<开始时间 + 结束时间>组成的集合 List vipTimeRangeItemList = vipTimeRangeBean.getList(); } catch (Exception e) { e.printStackTrace(); return new FirePointQueryResultBean(false, e.getMessage(), null); } //FirePointQueryResultBean return null; } }