|
@@ -6,12 +6,13 @@ import com.boman.common.core.utils.DateUtils;
|
|
import com.boman.common.core.utils.SecurityUtils;
|
|
import com.boman.common.core.utils.SecurityUtils;
|
|
import com.boman.common.core.utils.StringUtils;
|
|
import com.boman.common.core.utils.StringUtils;
|
|
import com.boman.common.core.utils.number.NumberUtils;
|
|
import com.boman.common.core.utils.number.NumberUtils;
|
|
-import com.boman.common.core.utils.obj.ObjectUtils;
|
|
|
|
import com.boman.common.core.utils.sql.SqlUtil;
|
|
import com.boman.common.core.utils.sql.SqlUtil;
|
|
import com.boman.common.core.web.page.PageDomain;
|
|
import com.boman.common.core.web.page.PageDomain;
|
|
import com.boman.common.core.web.page.TableSupport;
|
|
import com.boman.common.core.web.page.TableSupport;
|
|
|
|
+import com.boman.common.redis.service.RedisService;
|
|
import com.boman.domain.*;
|
|
import com.boman.domain.*;
|
|
import com.boman.domain.dto.AjaxResult;
|
|
import com.boman.domain.dto.AjaxResult;
|
|
|
|
+import com.boman.domain.utils.ThreadPoolService;
|
|
import com.boman.system.api.RemoteDeptService;
|
|
import com.boman.system.api.RemoteDeptService;
|
|
import com.boman.system.api.RemoteDictDataService;
|
|
import com.boman.system.api.RemoteDictDataService;
|
|
import com.boman.web.core.mapper.StandardlyMapper;
|
|
import com.boman.web.core.mapper.StandardlyMapper;
|
|
@@ -24,6 +25,7 @@ import com.boman.web.core.utils.AuthUtils;
|
|
import com.boman.web.core.utils.IdUtils;
|
|
import com.boman.web.core.utils.IdUtils;
|
|
import com.boman.web.core.utils.VaccineUtils;
|
|
import com.boman.web.core.utils.VaccineUtils;
|
|
import com.github.pagehelper.PageHelper;
|
|
import com.github.pagehelper.PageHelper;
|
|
|
|
+import org.apache.commons.lang3.BooleanUtils;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
@@ -31,17 +33,19 @@ import org.springframework.transaction.annotation.Isolation;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
-import javax.validation.constraints.NotBlank;
|
|
|
|
-import javax.validation.constraints.Size;
|
|
|
|
import java.sql.Timestamp;
|
|
import java.sql.Timestamp;
|
|
import java.text.ParseException;
|
|
import java.text.ParseException;
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
+import java.util.concurrent.TimeUnit;
|
|
import java.util.regex.Matcher;
|
|
import java.util.regex.Matcher;
|
|
import java.util.regex.Pattern;
|
|
import java.util.regex.Pattern;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
import static com.boman.common.core.utils.StringUtils.isNotEmpty;
|
|
import static com.boman.common.core.utils.StringUtils.isNotEmpty;
|
|
-import static com.boman.common.core.utils.obj.ObjectUtils.*;
|
|
|
|
|
|
+import static com.boman.common.core.utils.obj.ObjectUtils.isEmpty;
|
|
|
|
+import static com.boman.common.core.utils.obj.ObjectUtils.map;
|
|
|
|
+import static com.boman.common.redis.RedisKey.STS_CZRK_;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 疫苗信息Service业务层处理
|
|
* 疫苗信息Service业务层处理
|
|
@@ -57,6 +61,7 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
|
|
private static final String INSERT = "insert";
|
|
private static final String INSERT = "insert";
|
|
private static final String EDIT = "edit";
|
|
private static final String EDIT = "edit";
|
|
private static final String DELETE = "delete";
|
|
private static final String DELETE = "delete";
|
|
|
|
+ private static JSONObject QIANSHANSHI = null, ZHEN = null, QIANSHANSHI_SINGEL = null;
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
private VaccineInfoMapper vaccineInfoMapper;
|
|
private VaccineInfoMapper vaccineInfoMapper;
|
|
@@ -72,6 +77,8 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
|
|
private IBaseSaveService saveService;
|
|
private IBaseSaveService saveService;
|
|
@Resource
|
|
@Resource
|
|
private StandardlyMapper standardlyMapper;
|
|
private StandardlyMapper standardlyMapper;
|
|
|
|
+ @Resource
|
|
|
|
+ private RedisService redisService;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 查询疫苗信息
|
|
* 查询疫苗信息
|
|
@@ -1033,6 +1040,7 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public List<VaccineInfoOperation> listByRlry(VaccineInfoOperation vaccineInfoOperation) {
|
|
public List<VaccineInfoOperation> listByRlry(VaccineInfoOperation vaccineInfoOperation) {
|
|
|
|
+ vaccineInfoOperation.setIsDel(isEmpty(vaccineInfoOperation.getIsDel()) ? "N" : "Y");
|
|
Long deptId = vaccineInfoOperation.getDeptId();
|
|
Long deptId = vaccineInfoOperation.getDeptId();
|
|
if (deptId == null) {
|
|
if (deptId == null) {
|
|
deptId = AuthUtils.getLoginUser().getSysUser().getDeptId();
|
|
deptId = AuthUtils.getLoginUser().getSysUser().getDeptId();
|
|
@@ -1061,6 +1069,17 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
|
|
vaccineInfoOperation.setDeptIdList(deptIdList);
|
|
vaccineInfoOperation.setDeptIdList(deptIdList);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ Map<String, Object> params = vaccineInfoOperation.getParams();
|
|
|
|
+ String ageScope = (String) params.get("age");
|
|
|
|
+ if (isNotEmpty(ageScope)) {
|
|
|
|
+ ageScope = ageScope.trim();
|
|
|
|
+ String[] split = ageScope.split("-");
|
|
|
|
+ params.put("startAge", Integer.parseInt(split[0]));
|
|
|
|
+ if (split.length == 2) {
|
|
|
|
+ params.put("endAge", Integer.parseInt(split[1]));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
PageDomain pageDomain = TableSupport.buildPageRequest();
|
|
PageDomain pageDomain = TableSupport.buildPageRequest();
|
|
Integer pageNum = pageDomain.getPageNum();
|
|
Integer pageNum = pageDomain.getPageNum();
|
|
Integer pageSize = pageDomain.getPageSize();
|
|
Integer pageSize = pageDomain.getPageSize();
|
|
@@ -1071,12 +1090,12 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
|
|
|
|
|
|
List<VaccineInfoOperation> infoOperations = vaccineInfoMapper.listByRlry(vaccineInfoOperation);
|
|
List<VaccineInfoOperation> infoOperations = vaccineInfoMapper.listByRlry(vaccineInfoOperation);
|
|
for (VaccineInfoOperation infoOperation : infoOperations) {
|
|
for (VaccineInfoOperation infoOperation : infoOperations) {
|
|
- String province = infoOperation.getProvince(); //省
|
|
|
|
- String city = infoOperation.getCity(); //市
|
|
|
|
- String region = infoOperation.getRegion(); //区
|
|
|
|
- String domicile = infoOperation.getDomicile(); //户籍地
|
|
|
|
- StringBuilder sbDomicile = new StringBuilder();
|
|
|
|
- StringBuilder sbNowIn = new StringBuilder();
|
|
|
|
|
|
+ String province = infoOperation.getProvince(); // 现居住地的省份
|
|
|
|
+ String city = infoOperation.getCity(); // 现居住地的城市
|
|
|
|
+ String region = infoOperation.getRegion(); // 现居住地的区
|
|
|
|
+ String domicile = infoOperation.getDomicile(); // 户籍地
|
|
|
|
+ StringBuilder sbDomicile = new StringBuilder(); // 户籍地前端展示用 安徽省安庆市潜山市xx乡xx村xx组
|
|
|
|
+ StringBuilder sbNowIn = new StringBuilder(); // 現在居住地址查询展示 安徽省安庆市潜山市xx乡xx村xx组
|
|
if (StringUtils.isNotBlank(province)) {
|
|
if (StringUtils.isNotBlank(province)) {
|
|
sbDomicile.append(province);
|
|
sbDomicile.append(province);
|
|
sbNowIn.append(province);
|
|
sbNowIn.append(province);
|
|
@@ -1089,7 +1108,7 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
|
|
sbDomicile.append(region);
|
|
sbDomicile.append(region);
|
|
sbNowIn.append(region);
|
|
sbNowIn.append(region);
|
|
}
|
|
}
|
|
- if (StringUtils.isNotBlank(domicile)) {
|
|
|
|
|
|
+ if (StringUtils.isNotBlank(domicile)) { // 户籍地
|
|
sbDomicile.append(domicile);
|
|
sbDomicile.append(domicile);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1107,12 +1126,25 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public AjaxResult addRlry(VaccineInfoOperation vaccineInfo) {
|
|
public AjaxResult addRlry(VaccineInfoOperation vaccineInfo) {
|
|
|
|
+ if (isNotEmpty(vaccineInfo.getVillageTowns())) {
|
|
|
|
+ vaccineInfo.setRlr(SecurityUtils.getUsername());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ int count = vaccineInfoMapper.countIdCard(vaccineInfo.getIdCard());
|
|
|
|
+ if (count > 0) {
|
|
|
|
+ return AjaxResult.error(String.format("该人员[身份证号为: %s]已存在,请勿重复添加", vaccineInfo.getIdCard()));
|
|
|
|
+ }
|
|
|
|
+
|
|
int i = vaccineInfoMapper.insertVaccineInfo(vaccineInfo);
|
|
int i = vaccineInfoMapper.insertVaccineInfo(vaccineInfo);
|
|
return i > 0 ? AjaxResult.success() : AjaxResult.error();
|
|
return i > 0 ? AjaxResult.success() : AjaxResult.error();
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public AjaxResult editRlry(VaccineInfoOperation vaccineInfo) {
|
|
public AjaxResult editRlry(VaccineInfoOperation vaccineInfo) {
|
|
|
|
+ if (isNotEmpty(vaccineInfo.getVillageTowns())) {
|
|
|
|
+ vaccineInfo.setRlr(SecurityUtils.getUsername());
|
|
|
|
+ }
|
|
|
|
+
|
|
int i = vaccineInfoMapper.updateVaccineInfo(vaccineInfo);
|
|
int i = vaccineInfoMapper.updateVaccineInfo(vaccineInfo);
|
|
return i > 0 ? AjaxResult.success() : AjaxResult.error();
|
|
return i > 0 ? AjaxResult.success() : AjaxResult.error();
|
|
}
|
|
}
|
|
@@ -1123,33 +1155,46 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public JSONObject stsByApplet() {
|
|
|
|
|
|
+ public JSONObject stsByApplet(Long townId, Long villageId, String userName) {
|
|
Long deptId = AuthUtils.getLoginUser().getSysUser().getDeptId();
|
|
Long deptId = AuthUtils.getLoginUser().getSysUser().getDeptId();
|
|
- //判断是否是管理员
|
|
|
|
- List<SysRole> roles = AuthUtils.getLoginUser().getSysUser().getRoles();
|
|
|
|
- if (isNotEmpty(roles)) {
|
|
|
|
- for (SysRole role : roles) {
|
|
|
|
- String roleKey = role.getRoleKey();
|
|
|
|
- if ("admin".equals(roleKey) || "city".equals(roleKey)) {
|
|
|
|
- deptId = null;
|
|
|
|
- break;
|
|
|
|
|
|
+ List<Long> deptIdList = new ArrayList<>(16);
|
|
|
|
+ // 未加搜索条件
|
|
|
|
+ if (isEmpty(townId) && isEmpty(villageId)) {
|
|
|
|
+ List<SysRole> roles = AuthUtils.getLoginUser().getSysUser().getRoles();
|
|
|
|
+ if (isNotEmpty(roles)) {
|
|
|
|
+ for (SysRole role : roles) {
|
|
|
|
+ String roleKey = role.getRoleKey();
|
|
|
|
+ //判断是否是管理员
|
|
|
|
+ if ("admin".equals(roleKey) || "city".equals(roleKey)) {
|
|
|
|
+ deptId = null;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- }
|
|
|
|
|
|
|
|
- List<Long> deptIdList = new ArrayList<>(16);
|
|
|
|
- if (deptId != null) {
|
|
|
|
- List<SysDept> sysDepts = remoteDeptService.listChildrenDepts(deptId);
|
|
|
|
- if (sysDepts != null && sysDepts.size() > 0) {
|
|
|
|
- for (SysDept sysDept : sysDepts) {
|
|
|
|
- Long id = sysDept.getId();
|
|
|
|
- deptIdList.add(id);
|
|
|
|
|
|
+ if (deptId != null) {
|
|
|
|
+ List<SysDept> sysDepts = remoteDeptService.listChildrenDepts(deptId);
|
|
|
|
+ if (sysDepts != null && sysDepts.size() > 0) {
|
|
|
|
+ for (SysDept sysDept : sysDepts) {
|
|
|
|
+ Long id = sysDept.getId();
|
|
|
|
+ deptIdList.add(id);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ } else {
|
|
|
|
+ // 查村
|
|
|
|
+ if (!isEmpty(townId) && !isEmpty(villageId)) {
|
|
|
|
+ List<SysDept> sysDepts = remoteDeptService.listChildrenDepts(villageId);
|
|
|
|
+ deptIdList = sysDepts.stream().map(SysDept::getId).collect(Collectors.toList());
|
|
|
|
+ } else if (!isEmpty(townId) && isEmpty(villageId)) {
|
|
|
|
+ // 查镇
|
|
|
|
+ List<SysDept> sysDepts = remoteDeptService.listChildrenDepts(townId);
|
|
|
|
+ deptIdList = sysDepts.stream().map(SysDept::getId).collect(Collectors.toList());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
- int yrl = vaccineInfoMapper.stsByYrl(deptIdList);
|
|
|
|
- int wrl = vaccineInfoMapper.stsByWrl(deptIdList);
|
|
|
|
|
|
+ int yrl = vaccineInfoMapper.stsByYrl(deptIdList, userName);
|
|
|
|
+ int wrl = vaccineInfoMapper.stsByWrl(deptIdList, userName);
|
|
JSONObject result = new JSONObject(3);
|
|
JSONObject result = new JSONObject(3);
|
|
result.put("yrl", yrl);
|
|
result.put("yrl", yrl);
|
|
result.put("wrl", wrl);
|
|
result.put("wrl", wrl);
|
|
@@ -1164,106 +1209,381 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
public JSONObject stsByCzrk() {
|
|
public JSONObject stsByCzrk() {
|
|
- JSONObject result = new JSONObject(6);
|
|
|
|
- // 当前登陆人的deptId
|
|
|
|
|
|
+ JSONObject result = new JSONObject(16);
|
|
SysUser sysUser = AuthUtils.getLoginUser().getSysUser();
|
|
SysUser sysUser = AuthUtils.getLoginUser().getSysUser();
|
|
String deptName = sysUser.getDept().getDeptName();
|
|
String deptName = sysUser.getDept().getDeptName();
|
|
- Long deptId = sysUser.getDeptId();
|
|
|
|
- // 当前单位
|
|
|
|
- result.put("dqdw", deptName);
|
|
|
|
|
|
+ Long deptId = sysUser.getDeptId(); // 当前登陆人的deptId
|
|
|
|
+ result.put("dqdw", deptName); // 当前单位
|
|
|
|
|
|
List<SysRole> roles = sysUser.getRoles();
|
|
List<SysRole> roles = sysUser.getRoles();
|
|
List<String> roleKeySets = map(roles, SysRole::getRoleKey);
|
|
List<String> roleKeySets = map(roles, SysRole::getRoleKey);
|
|
- Date todayStart = DateUtils.getTodayStart();
|
|
|
|
- Date todayEnd = DateUtils.getTodayEnd();
|
|
|
|
|
|
+ String todayStart = DateUtils.getTodayStartStr();
|
|
|
|
+ String todayEnd = DateUtils.getTodayEndStr();
|
|
VaccineInfoOperation condition = new VaccineInfoOperation();
|
|
VaccineInfoOperation condition = new VaccineInfoOperation();
|
|
condition.setStartTime(todayStart);
|
|
condition.setStartTime(todayStart);
|
|
condition.setEndTime(todayEnd);
|
|
condition.setEndTime(todayEnd);
|
|
- List<VaccineInfoOperation> list = null;
|
|
|
|
|
|
+ condition.setRyrl(true);
|
|
// 市领导
|
|
// 市领导
|
|
- if (roleKeySets.contains("city") || roleKeySets.contains("admin")) {
|
|
|
|
- List<SysDept> allDepts = remoteDeptService.listChildrenDepts(1L);
|
|
|
|
- List<SysDept> townsDepts = new ArrayList<>(16);
|
|
|
|
- for (SysDept allDept : allDepts) {
|
|
|
|
- if (isEmpty(allDept.getParentId())) continue;
|
|
|
|
- if (allDept.getParentId() == (1L)) {
|
|
|
|
- townsDepts.add(allDept);
|
|
|
|
- }
|
|
|
|
|
|
+ if (roleKeySets.contains("city") || roleKeySets.contains("admin") || roleKeySets.contains("yanshi")) {
|
|
|
|
+ JSONObject jsonObject = redisService.getCacheObject(packRedisKey("single:" + deptId));
|
|
|
|
+ if (isNotEmpty(jsonObject)) {
|
|
|
|
+ QIANSHANSHI_SINGEL = jsonObject;
|
|
|
|
+ return jsonObject;
|
|
}
|
|
}
|
|
- result.put("zhen", townsDepts.size()); // 镇
|
|
|
|
|
|
|
|
- List<SysDept> cunDepts = new ArrayList<>(16);
|
|
|
|
- for (SysDept townsDept : townsDepts) {
|
|
|
|
|
|
+ ThreadPoolService.execute(() -> {
|
|
|
|
+ List<SysDept> allDepts = remoteDeptService.listChildrenDepts(1L);
|
|
|
|
+ List<SysDept> townsDepts = new ArrayList<>(16);
|
|
for (SysDept allDept : allDepts) {
|
|
for (SysDept allDept : allDepts) {
|
|
if (isEmpty(allDept.getParentId())) continue;
|
|
if (isEmpty(allDept.getParentId())) continue;
|
|
- if (townsDept.getId().equals(allDept.getParentId())) {
|
|
|
|
- cunDepts.add(allDept);
|
|
|
|
|
|
+ if (allDept.getParentId() == (1L)) {
|
|
|
|
+ townsDepts.add(allDept);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ result.put("zhen", townsDepts.size()); // 镇
|
|
|
|
+
|
|
|
|
+ List<SysDept> cunDepts = new ArrayList<>(16);
|
|
|
|
+ for (SysDept townsDept : townsDepts) {
|
|
|
|
+ for (SysDept allDept : allDepts) {
|
|
|
|
+ if (isEmpty(allDept.getParentId())) continue;
|
|
|
|
+ if (townsDept.getId().equals(allDept.getParentId())) {
|
|
|
|
+ cunDepts.add(allDept);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ result.put("cun", isEmpty(cunDepts) ? 0 : cunDepts.size());
|
|
|
|
+
|
|
|
|
+ List<SysDept> zuDept = new ArrayList<>(16);
|
|
|
|
+ for (SysDept cunDept : cunDepts) {
|
|
|
|
+ for (SysDept allDept : allDepts) {
|
|
|
|
+ if (cunDept.getId().equals(allDept.getParentId())) {
|
|
|
|
+ zuDept.add(allDept);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ result.put("zu", isEmpty(zuDept) ? 0 : zuDept.size()); // 组
|
|
|
|
+ int czrk = vaccineInfoMapper.countCzrk(condition); // 常住人口
|
|
|
|
+ result.put("czrk", czrk);
|
|
|
|
+
|
|
|
|
+ int xz = vaccineInfoMapper.countByXz(condition); // 新增
|
|
|
|
+ int js = vaccineInfoMapper.countByJs(condition);// 减少
|
|
|
|
+ result.put("xz", xz);
|
|
|
|
+ result.put("js", js);
|
|
|
|
+
|
|
|
|
+ condition.setRyrl(null); // 查全部
|
|
|
|
+ int zrs = vaccineInfoMapper.countCzrk(condition);
|
|
|
|
+ String bfb = NumberUtils.percent(czrk, zrs);
|
|
|
|
+ result.put("bfb", bfb);
|
|
|
|
+ result.put("zrs", zrs);
|
|
|
|
+ setIntoRedis(packRedisKey("single:" + deptId), result);
|
|
|
|
+ QIANSHANSHI_SINGEL = result;
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ return QIANSHANSHI_SINGEL;
|
|
|
|
+ } else if (roleKeySets.contains("sys:town")) {
|
|
|
|
+ JSONObject jsonObject = redisService.getCacheObject(packRedisKey("town:" + deptId));
|
|
|
|
+ if (isNotEmpty(jsonObject)) {
|
|
|
|
+ return jsonObject;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ townSts(result, condition, deptId, deptName, true);
|
|
|
|
+// redisService.setCacheObject(packRedisKey("town:" + deptId), result, 1L, TimeUnit.DAYS);
|
|
|
|
+ setIntoRedis(packRedisKey("town:" + deptId), result);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return result;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 功能描述: 项目首页统计信息,
|
|
|
|
+ * 当前单位:镇,村:7个,组:300个,常住人口:5000人,新增 2人 减少 2人
|
|
|
|
+ *
|
|
|
|
+ * @return com.boman.domain.dto.AjaxResult
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public JSONObject stsByCzrkHomePage() {
|
|
|
|
+ JSONObject result = new JSONObject(16);
|
|
|
|
+ // 当前登陆人的deptId
|
|
|
|
+ SysUser sysUser = AuthUtils.getLoginUser().getSysUser();
|
|
|
|
+ String deptName = sysUser.getDept().getDeptName();
|
|
|
|
+ result.put("dqdw", deptName); // 当前单位
|
|
|
|
+
|
|
|
|
+ List<String> roleKeySets = map(sysUser.getRoles(), SysRole::getRoleKey);
|
|
|
|
+
|
|
|
|
+ VaccineInfoOperation condition = new VaccineInfoOperation();
|
|
|
|
+ condition.setStartTime(DateUtils.getTodayStartStr());
|
|
|
|
+ condition.setEndTime(DateUtils.getTodayEndStr());
|
|
|
|
+ condition.setRyrl(true);
|
|
|
|
+ Long deptId = sysUser.getDeptId();
|
|
|
|
+
|
|
|
|
+ // 市领导 todo 此处不应该写死
|
|
|
|
+ if (roleKeySets.contains("city") || roleKeySets.contains("admin") || roleKeySets.contains("yanshi")) {
|
|
|
|
+ JSONObject jsonObject = redisService.getCacheObject(packRedisKey(deptId + ""));
|
|
|
|
+ if (isNotEmpty(jsonObject)) {
|
|
|
|
+ QIANSHANSHI = jsonObject;
|
|
|
|
+ return jsonObject;
|
|
}
|
|
}
|
|
- result.put("cun", isEmpty(cunDepts) ? 0 : cunDepts.size());
|
|
|
|
|
|
|
|
- List<SysDept> zuDept = new ArrayList<>(16);
|
|
|
|
- for (SysDept cunDept : cunDepts) {
|
|
|
|
|
|
+ ThreadPoolService.execute(()->{
|
|
|
|
+ List<SysDept> allDepts = remoteDeptService.listChildrenDepts(1L);
|
|
|
|
+ List<SysDept> townsDepts = new ArrayList<>(16);
|
|
for (SysDept allDept : allDepts) {
|
|
for (SysDept allDept : allDepts) {
|
|
- if (cunDept.getId().equals(allDept.getParentId())) {
|
|
|
|
- zuDept.add(allDept);
|
|
|
|
|
|
+ if (isEmpty(allDept.getParentId())) continue;
|
|
|
|
+ if (allDept.getParentId() == (1L)) {
|
|
|
|
+ townsDepts.add(allDept);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ result.put("zhen", townsDepts.size()); // 镇
|
|
|
|
+
|
|
|
|
+ List<SysDept> cunDepts = new ArrayList<>(16);
|
|
|
|
+ for (SysDept townsDept : townsDepts) {
|
|
|
|
+ for (SysDept allDept : allDepts) {
|
|
|
|
+ if (isEmpty(allDept.getParentId())) continue;
|
|
|
|
+ if (townsDept.getId().equals(allDept.getParentId())) {
|
|
|
|
+ cunDepts.add(allDept);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ result.put("cun", isEmpty(cunDepts) ? 0 : cunDepts.size());
|
|
|
|
+
|
|
|
|
+ List<SysDept> zuDept = new ArrayList<>(16);
|
|
|
|
+ for (SysDept cunDept : cunDepts) {
|
|
|
|
+ for (SysDept allDept : allDepts) {
|
|
|
|
+ if (cunDept.getId().equals(allDept.getParentId())) {
|
|
|
|
+ zuDept.add(allDept);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- }
|
|
|
|
- result.put("zu", isEmpty(zuDept) ? 0 : zuDept.size());
|
|
|
|
|
|
|
|
- list = vaccineInfoMapper.listByXzAndJs(condition);
|
|
|
|
|
|
+ result.put("zu", isEmpty(zuDept) ? 0 : zuDept.size()); // 组
|
|
|
|
+ int czrk = vaccineInfoMapper.countCzrk(condition); // 常住人口
|
|
|
|
+ result.put("czrk", czrk);
|
|
|
|
+
|
|
|
|
+ int xz = vaccineInfoMapper.countByXz(condition); // 新增
|
|
|
|
+ int js = vaccineInfoMapper.countByJs(condition);// 减少
|
|
|
|
+ result.put("xz", xz);
|
|
|
|
+ result.put("js", js);
|
|
|
|
+
|
|
|
|
+ condition.setRyrl(null); // 查全部
|
|
|
|
+ int zrs = vaccineInfoMapper.countCzrk(condition);
|
|
|
|
+ String bfb = NumberUtils.percent(czrk, zrs);
|
|
|
|
+ result.put("bfb", bfb);
|
|
|
|
+ result.put("zrs", zrs);
|
|
|
|
+
|
|
|
|
+ // 以各个镇为单位单独处理 townsDepts
|
|
|
|
+ ArrayList<JSONObject> towsDataList = new ArrayList<>(20);
|
|
|
|
+ for (SysDept townsDept : townsDepts) {
|
|
|
|
+ JSONObject townsResult = new JSONObject(16);
|
|
|
|
+ townSts(townsResult, condition, townsDept.getId(), townsDept.getDeptName(), false);
|
|
|
|
+ towsDataList.add(townsResult);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ result.put("townDatas", towsDataList);
|
|
|
|
+// redisService.setCacheObject(packRedisKey(deptId + ""), result, 1L, TimeUnit.DAYS);
|
|
|
|
+ setIntoRedis(packRedisKey(deptId + ""), result);
|
|
|
|
+ QIANSHANSHI = result;
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ return QIANSHANSHI;
|
|
} else if (roleKeySets.contains("sys:town")) {
|
|
} else if (roleKeySets.contains("sys:town")) {
|
|
- // 乡镇以下的所有部门
|
|
|
|
- List<SysDept> depts = remoteDeptService.listChildrenDepts(deptId);
|
|
|
|
|
|
+ JSONObject jsonObject = redisService.getCacheObject(packRedisKey("town:" + deptId));
|
|
|
|
+ if (isNotEmpty(jsonObject)) {
|
|
|
|
+ ZHEN = jsonObject;
|
|
|
|
+ return jsonObject;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ ThreadPoolService.execute(() -> {
|
|
|
|
+ townSts(result, condition, deptId, deptName, true);
|
|
|
|
+// redisService.setCacheObject(packRedisKey("town:" + deptId), result, 1L, TimeUnit.DAYS);
|
|
|
|
+ setIntoRedis(packRedisKey("town:" + deptId), result);
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ return ZHEN;
|
|
|
|
+ }
|
|
|
|
|
|
- List<SysDept> cunDepts = new ArrayList<>(16);
|
|
|
|
|
|
+ return result;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private void townSts(JSONObject result, VaccineInfoOperation condition, Long deptId, String deptName, boolean percent) {
|
|
|
|
+ // 乡镇以下的所有部门
|
|
|
|
+ List<SysDept> depts = remoteDeptService.listChildrenDepts(deptId);
|
|
|
|
+ List<SysDept> cunDepts = new ArrayList<>(16);
|
|
|
|
+ for (SysDept dept : depts) {
|
|
|
|
+ if (isEmpty(dept.getParentId())) continue;
|
|
|
|
+ if (deptId.equals(dept.getParentId())) {
|
|
|
|
+ cunDepts.add(dept);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ result.put("cun", isEmpty(cunDepts) ? 0 : cunDepts.size());
|
|
|
|
+
|
|
|
|
+ List<SysDept> zuDept = new ArrayList<>(16);
|
|
|
|
+ for (SysDept cunDept : cunDepts) {
|
|
for (SysDept dept : depts) {
|
|
for (SysDept dept : depts) {
|
|
- if (isEmpty(dept.getParentId())) continue;
|
|
|
|
- if (deptId.equals(dept.getParentId())) {
|
|
|
|
- cunDepts.add(dept);
|
|
|
|
|
|
+ if (cunDept.getId().equals(dept.getParentId())) {
|
|
|
|
+ zuDept.add(dept);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- result.put("cun", isEmpty(cunDepts) ? 0 : cunDepts.size());
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- List<SysDept> zuDept = new ArrayList<>(16);
|
|
|
|
- for (SysDept cunDept : cunDepts) {
|
|
|
|
- for (SysDept dept : depts) {
|
|
|
|
- if (cunDept.getId().equals(dept.getParentId())) {
|
|
|
|
- zuDept.add(dept);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ result.put("zu", isEmpty(zuDept) ? 0 : zuDept.size());
|
|
|
|
+ condition.setDeptIdList(map(depts, SysDept::getId));
|
|
|
|
+ int czrk = vaccineInfoMapper.countCzrk(condition);
|
|
|
|
+ result.put("czrk", czrk);
|
|
|
|
+
|
|
|
|
+ // 常住人口占总人口的百分比
|
|
|
|
+ if (BooleanUtils.isTrue(percent)) {
|
|
|
|
+ condition.setRyrl(null); // 查全部
|
|
|
|
+ int zrs = vaccineInfoMapper.countCzrk(condition);
|
|
|
|
+ String bfb = NumberUtils.percent(czrk, zrs);
|
|
|
|
+ result.put("bfb", bfb);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ int xz = vaccineInfoMapper.countByXz(condition);
|
|
|
|
+ int js = vaccineInfoMapper.countByJs(condition);
|
|
|
|
+ result.put("xz", xz);
|
|
|
|
+ result.put("js", js);
|
|
|
|
+ result.put("zhen", deptName);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public int countByJs(VaccineInfoOperation condition) {
|
|
|
|
+ SysUser sysUser = AuthUtils.getLoginUser().getSysUser();
|
|
|
|
+ Long deptId = sysUser.getDeptId();
|
|
|
|
+ List<SysRole> roles = sysUser.getRoles();
|
|
|
|
+ List<String> roleKeySets = map(roles, SysRole::getRoleKey);
|
|
|
|
+ String todayStart = DateUtils.getTodayStartStr();
|
|
|
|
+ String todayEnd = DateUtils.getTodayEndStr();
|
|
|
|
+ condition.setStartTime(todayStart);
|
|
|
|
+ condition.setEndTime(todayEnd);
|
|
|
|
+ if (roleKeySets.contains("sys:town")) {
|
|
|
|
+ // 乡镇以下的所有部门
|
|
|
|
+ List<SysDept> depts = remoteDeptService.listChildrenDepts(deptId);
|
|
|
|
+ condition.setDeptIdList(map(depts, SysDept::getId));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return vaccineInfoMapper.countByJs(condition);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public List<VaccineInfoOperation> listByJs(VaccineInfoOperation condition) {
|
|
|
|
+ SysUser sysUser = AuthUtils.getLoginUser().getSysUser();
|
|
|
|
+ Long deptId = sysUser.getDeptId();
|
|
|
|
+ List<SysRole> roles = sysUser.getRoles();
|
|
|
|
+ List<String> roleKeySets = map(roles, SysRole::getRoleKey);
|
|
|
|
+ String todayStart = DateUtils.getTodayStartStr();
|
|
|
|
+ String todayEnd = DateUtils.getTodayEndStr();
|
|
|
|
+ condition.setStartTime(todayStart);
|
|
|
|
+ condition.setEndTime(todayEnd);
|
|
|
|
+ if (roleKeySets.contains("sys:town")) {
|
|
|
|
+ // 乡镇以下的所有部门
|
|
|
|
+ List<SysDept> depts = remoteDeptService.listChildrenDepts(deptId);
|
|
|
|
+ condition.setDeptIdList(map(depts, SysDept::getId));
|
|
|
|
+ }
|
|
|
|
+ List<VaccineInfoOperation> infoOperations = vaccineInfoMapper.listByJs(condition);
|
|
|
|
+ for (VaccineInfoOperation infoOperation : infoOperations) {
|
|
|
|
+ String province = infoOperation.getProvince(); //省
|
|
|
|
+ String city = infoOperation.getCity(); //市
|
|
|
|
+ String region = infoOperation.getRegion(); //区
|
|
|
|
+ String domicile = infoOperation.getDomicile(); //户籍地
|
|
|
|
+ StringBuilder sbDomicile = new StringBuilder();
|
|
|
|
+ StringBuilder sbNowIn = new StringBuilder();
|
|
|
|
+ if (StringUtils.isNotBlank(province)) {
|
|
|
|
+ sbDomicile.append(province);
|
|
|
|
+ sbNowIn.append(province);
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotBlank(city)) {
|
|
|
|
+ sbDomicile.append(city);
|
|
|
|
+ sbNowIn.append(city);
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotBlank(region)) {
|
|
|
|
+ sbDomicile.append(region);
|
|
|
|
+ sbNowIn.append(region);
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotBlank(domicile)) {
|
|
|
|
+ sbDomicile.append(domicile);
|
|
}
|
|
}
|
|
|
|
|
|
- result.put("zu", isEmpty(zuDept) ? 0 : zuDept.size());
|
|
|
|
|
|
+ String nowIn = infoOperation.getNowIn(); //现居地
|
|
|
|
+ if (StringUtils.isNotBlank(nowIn)) {
|
|
|
|
+ sbNowIn.append(nowIn);
|
|
|
|
+ }
|
|
|
|
|
|
|
|
+ infoOperation.setDomicileSelect(sbDomicile.toString());
|
|
|
|
+ infoOperation.setNowInSelect(sbNowIn.toString());
|
|
|
|
+ }
|
|
|
|
+ return infoOperations;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public int countByXz(VaccineInfoOperation condition) {
|
|
|
|
+ SysUser sysUser = AuthUtils.getLoginUser().getSysUser();
|
|
|
|
+ Long deptId = sysUser.getDeptId();
|
|
|
|
+ List<SysRole> roles = sysUser.getRoles();
|
|
|
|
+ List<String> roleKeySets = map(roles, SysRole::getRoleKey);
|
|
|
|
+ String todayStart = DateUtils.getTodayStartStr();
|
|
|
|
+ String todayEnd = DateUtils.getTodayEndStr();
|
|
|
|
+ condition.setStartTime(todayStart);
|
|
|
|
+ condition.setEndTime(todayEnd);
|
|
|
|
+ if (roleKeySets.contains("sys:town")) {
|
|
|
|
+ // 乡镇以下的所有部门
|
|
|
|
+ List<SysDept> depts = remoteDeptService.listChildrenDepts(deptId);
|
|
condition.setDeptIdList(map(depts, SysDept::getId));
|
|
condition.setDeptIdList(map(depts, SysDept::getId));
|
|
- list = vaccineInfoMapper.listByXzAndJs(condition);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- // 增加、减少
|
|
|
|
- if (isEmpty(list)) {
|
|
|
|
- result.put("xz", 0);
|
|
|
|
- result.put("js", 0);
|
|
|
|
- } else {
|
|
|
|
- int xz = 0, js = 0;
|
|
|
|
- for (VaccineInfoOperation operation : list) {
|
|
|
|
- Date createTime = operation.getCreateTime(), updateTime = operation.getUpdateTime();
|
|
|
|
- String isDel = operation.getIsDel();
|
|
|
|
- if ("N".equals(isDel) && createTime.after(todayStart) && createTime.before(todayEnd)) {
|
|
|
|
- xz++;
|
|
|
|
- } else if ("Y".equals(isDel) && updateTime.after(todayStart) && updateTime.before(todayEnd)) {
|
|
|
|
- js++;
|
|
|
|
- }
|
|
|
|
|
|
+ return vaccineInfoMapper.countByXz(condition);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public List<VaccineInfoOperation> listByXz(VaccineInfoOperation condition) {
|
|
|
|
+ SysUser sysUser = AuthUtils.getLoginUser().getSysUser();
|
|
|
|
+ Long deptId = sysUser.getDeptId();
|
|
|
|
+ List<SysRole> roles = sysUser.getRoles();
|
|
|
|
+ List<String> roleKeySets = map(roles, SysRole::getRoleKey);
|
|
|
|
+ String todayStart = DateUtils.getTodayStartStr();
|
|
|
|
+ String todayEnd = DateUtils.getTodayEndStr();
|
|
|
|
+ condition.setStartTime(todayStart);
|
|
|
|
+ condition.setEndTime(todayEnd);
|
|
|
|
+ if (roleKeySets.contains("sys:town")) {
|
|
|
|
+ // 乡镇以下的所有部门
|
|
|
|
+ List<SysDept> depts = remoteDeptService.listChildrenDepts(deptId);
|
|
|
|
+ condition.setDeptIdList(map(depts, SysDept::getId));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ List<VaccineInfoOperation> infoOperations = vaccineInfoMapper.listByXz(condition);
|
|
|
|
+ for (VaccineInfoOperation infoOperation : infoOperations) {
|
|
|
|
+ String province = infoOperation.getProvince(); //省
|
|
|
|
+ String city = infoOperation.getCity(); //市
|
|
|
|
+ String region = infoOperation.getRegion(); //区
|
|
|
|
+ String domicile = infoOperation.getDomicile(); //户籍地
|
|
|
|
+ StringBuilder sbDomicile = new StringBuilder();
|
|
|
|
+ StringBuilder sbNowIn = new StringBuilder();
|
|
|
|
+ if (StringUtils.isNotBlank(province)) {
|
|
|
|
+ sbDomicile.append(province);
|
|
|
|
+ sbNowIn.append(province);
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotBlank(city)) {
|
|
|
|
+ sbDomicile.append(city);
|
|
|
|
+ sbNowIn.append(city);
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotBlank(region)) {
|
|
|
|
+ sbDomicile.append(region);
|
|
|
|
+ sbNowIn.append(region);
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotBlank(domicile)) {
|
|
|
|
+ sbDomicile.append(domicile);
|
|
}
|
|
}
|
|
|
|
|
|
- result.put("xz", xz);
|
|
|
|
- result.put("js", js);
|
|
|
|
|
|
+ String nowIn = infoOperation.getNowIn(); //现居地
|
|
|
|
+ if (StringUtils.isNotBlank(nowIn)) {
|
|
|
|
+ sbNowIn.append(nowIn);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ infoOperation.setDomicileSelect(sbDomicile.toString());
|
|
|
|
+ infoOperation.setNowInSelect(sbNowIn.toString());
|
|
}
|
|
}
|
|
|
|
|
|
- result.put("czrk", vaccineInfoMapper.countCzrk(condition));
|
|
|
|
- return result;
|
|
|
|
|
|
+ return infoOperations;
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -1273,12 +1593,75 @@ public class VaccineInfoServiceImpl implements IVaccineInfoService {
|
|
return AjaxResult.error("该信息不存在,无法删除");
|
|
return AjaxResult.error("该信息不存在,无法删除");
|
|
}
|
|
}
|
|
|
|
|
|
- if (isEmpty(operation.getVillageTowns())) {
|
|
|
|
- return AjaxResult.error("该人员为未认领人员,无法删除");
|
|
|
|
- }
|
|
|
|
|
|
+// if (isEmpty(operation.getVillageTowns())) {
|
|
|
|
+// return AjaxResult.error("该人员为未认领人员,无法删除");
|
|
|
|
+// }
|
|
|
|
|
|
vaccineInfoOperation.setUpdateBy(AuthUtils.getLoginUser().getSysUser().getUserName());
|
|
vaccineInfoOperation.setUpdateBy(AuthUtils.getLoginUser().getSysUser().getUserName());
|
|
int delete = vaccineInfoMapper.deleteCzrk(vaccineInfoOperation);
|
|
int delete = vaccineInfoMapper.deleteCzrk(vaccineInfoOperation);
|
|
return delete > 0 ? AjaxResult.success() : AjaxResult.error();
|
|
return delete > 0 ? AjaxResult.success() : AjaxResult.error();
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public List<VaccineInfoOperation> family(String code) {
|
|
|
|
+ if (isEmpty(code)) {
|
|
|
|
+ return Collections.emptyList();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ List<VaccineInfoOperation> infoOperations = vaccineInfoMapper.listByCode(code);
|
|
|
|
+ for (VaccineInfoOperation infoOperation : infoOperations) {
|
|
|
|
+ String province = infoOperation.getProvince(); //省
|
|
|
|
+ String city = infoOperation.getCity(); //市
|
|
|
|
+ String region = infoOperation.getRegion(); //区
|
|
|
|
+ String domicile = infoOperation.getDomicile(); //户籍地
|
|
|
|
+ StringBuilder sbDomicile = new StringBuilder();
|
|
|
|
+ StringBuilder sbNowIn = new StringBuilder();
|
|
|
|
+ if (StringUtils.isNotBlank(province)) {
|
|
|
|
+ sbDomicile.append(province);
|
|
|
|
+ sbNowIn.append(province);
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotBlank(city)) {
|
|
|
|
+ sbDomicile.append(city);
|
|
|
|
+ sbNowIn.append(city);
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotBlank(region)) {
|
|
|
|
+ sbDomicile.append(region);
|
|
|
|
+ sbNowIn.append(region);
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotBlank(domicile)) {
|
|
|
|
+ sbDomicile.append(domicile);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ String nowIn = infoOperation.getNowIn(); //现居地
|
|
|
|
+ if (StringUtils.isNotBlank(nowIn)) {
|
|
|
|
+ sbNowIn.append(nowIn);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ infoOperation.setDomicileSelect(sbDomicile.toString());
|
|
|
|
+ infoOperation.setNowInSelect(sbNowIn.toString());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return infoOperations;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 功能描述: 回收站的还原功能
|
|
|
|
+ *
|
|
|
|
+ * @param id id
|
|
|
|
+ * @return int
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public int reduction(String id) {
|
|
|
|
+ if (isEmpty(id)) return 0;
|
|
|
|
+
|
|
|
|
+ return vaccineInfoMapper.reduction(id);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private String packRedisKey(String deptId){
|
|
|
|
+ return STS_CZRK_ + deptId + ":" + DateUtils.getDate();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private void setIntoRedis(String key, Object result){
|
|
|
|
+ redisService.setCacheObject(key, result, 1L, TimeUnit.HOURS);
|
|
|
|
+ }
|
|
}
|
|
}
|