diff --git a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/dto/EpidemicUserInfoDTO.java b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/dto/EpidemicUserInfoDTO.java index 9a4530a..2437881 100644 --- a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/dto/EpidemicUserInfoDTO.java +++ b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/dto/EpidemicUserInfoDTO.java @@ -66,4 +66,17 @@ public class EpidemicUserInfoDTO implements Serializable { private String isInoculate; private Integer maxDose; + + /** + * 县内居住地名称 + */ + private String liveAddressName; + /** + * 社区/村庄 + */ + private String community; + /** + * 网格名称 + */ + private String gridName; } \ No newline at end of file diff --git a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/entity/EpidemicUserInfoEntity.java b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/entity/EpidemicUserInfoEntity.java index f95635c..0194370 100644 --- a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/entity/EpidemicUserInfoEntity.java +++ b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/entity/EpidemicUserInfoEntity.java @@ -155,4 +155,16 @@ public class EpidemicUserInfoEntity extends BasePingyinEntity { */ private Integer age; + /** + * 县内居住地名称 + */ + private String liveAddressName; + /** + * 社区/村庄 + */ + private String community; + /** + * 网格名称 + */ + private String gridName; } diff --git a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/entity/EpidemicUserInoutRecordEntity.java b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/entity/EpidemicUserInoutRecordEntity.java index 75f9303..aff3e34 100644 --- a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/entity/EpidemicUserInoutRecordEntity.java +++ b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/entity/EpidemicUserInoutRecordEntity.java @@ -92,7 +92,6 @@ public class EpidemicUserInoutRecordEntity extends BasePingyinEntity { private String community; /** * 网格名称 - */ private String gridName; /** diff --git a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/dao/VaccinationUserRoleDao.java b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/dao/VaccinationUserRoleDao.java index a756fab..07e6259 100644 --- a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/dao/VaccinationUserRoleDao.java +++ b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/dao/VaccinationUserRoleDao.java @@ -55,6 +55,16 @@ public interface VaccinationUserRoleDao extends BaseDao + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.vaccine.vim.redis; + +import com.elink.esua.epdc.commons.tools.redis.RedisKeys; +import com.elink.esua.epdc.commons.tools.redis.RedisUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + + +/** + * 区划信息表 + * + * @author yujintao yujintao@elink-cn.com + * @since v1.0.0 2019-05-08 + */ +@Component +public class VaccinationAuthRedis { + + @Autowired + private RedisUtils redisUtils; + + /** + * 疫苗接种权限 + * + * @param userId + * @param auth + * @return void + * @author zhy + * @date 2021/6/3 17:19 + */ + public void setVaccinationAuth(String userId, Object auth) { + String key = RedisKeys.getVaccinationAuthKey(userId); + redisUtils.set(key, auth, RedisUtils.MINUTE_THIRTY_EXPIRE); + } + + /** + * 疫苗接种权限 + * + * @param userId + * @param param + * @return void + * @author zhy + * @date 2021/6/3 17:19 + */ + public void setVaccinationAuthParam(String userId, Object param) { + String key = RedisKeys.getVaccinationAuthParamKey(userId); + redisUtils.set(key, param, RedisUtils.MINUTE_THIRTY_EXPIRE); + } +} \ No newline at end of file diff --git a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/service/impl/VaccinationRoleServiceImpl.java b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/service/impl/VaccinationRoleServiceImpl.java index ee1b856..37b17bf 100644 --- a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/service/impl/VaccinationRoleServiceImpl.java +++ b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/service/impl/VaccinationRoleServiceImpl.java @@ -22,13 +22,16 @@ import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.vaccine.common.base.BaseVimCurdServiceImpl; import com.elink.esua.epdc.vaccine.vim.dao.VaccinationRoleDao; +import com.elink.esua.epdc.vaccine.vim.dao.VaccinationUserRoleDao; import com.elink.esua.epdc.vaccine.vim.dto.VaccinationRoleDTO; import com.elink.esua.epdc.vaccine.vim.entity.VaccinationRoleEntity; +import com.elink.esua.epdc.vaccine.vim.entity.VaccinationUserRoleEntity; import com.elink.esua.epdc.vaccine.vim.service.VaccinationRoleService; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.util.Map; /** @@ -40,6 +43,9 @@ import java.util.Map; @Service public class VaccinationRoleServiceImpl extends BaseVimCurdServiceImpl implements VaccinationRoleService { + @Resource + private VaccinationUserRoleDao vaccinationUserRoleDao; + @Override public QueryWrapper getWrapper(Map params) { String id = (String) params.get(FieldConstant.ID_HUMP); @@ -74,6 +80,13 @@ public class VaccinationRoleServiceImpl extends BaseVimCurdServiceImpl implements VaccinationUserRoleService { + @Autowired + private VaccinationAuthRedis vaccinationAuthRedis; + + @Autowired + private RedisUtils redisUtils; + @Override public QueryWrapper getWrapper(Map params) { String id = (String) params.get(FieldConstant.ID_HUMP); @@ -108,6 +118,11 @@ public class VaccinationUserRoleServiceImpl extends BaseVimCurdServiceImpl roleList = baseDao.selectRoleByUserId(userId); if (!roleList.isEmpty()) { List countyKeywords = new ArrayList<>(); @@ -127,6 +142,10 @@ public class VaccinationUserRoleServiceImpl extends BaseVimCurdServiceImpl !string.isEmpty()).collect(Collectors.toList())); vaccinationAuthDTO.setGridKeywords(gridKeywords.stream().distinct().collect(Collectors.toList()).stream().filter(string -> !string.isEmpty()).collect(Collectors.toList())); } + + // 权限缓存 + vaccinationAuthRedis.setVaccinationAuth(userId.toString(), vaccinationAuthDTO); + return vaccinationAuthDTO; } @@ -138,6 +157,11 @@ public class VaccinationUserRoleServiceImpl extends BaseVimCurdServiceImpl) obj; + } + VaccinationAuthDTO dto = getVaccinationAuth(userId); if (!dto.getCountyKeywords().isEmpty()) { @@ -160,6 +184,10 @@ public class VaccinationUserRoleServiceImpl extends BaseVimCurdServiceImpl LEFT JOIN epidemic_user_info u ON u.ID_CARD = v.IDENTITY_NO - LEFT JOIN epidemic_user_inout_record uir ON uir.ID_CARD = v.IDENTITY_NO WHERE v.DEL_FLAG = '0' - AND uir.DEL_FLAG = '0' AND u.DEL_FLAG = '0' @@ -79,19 +77,19 @@ and v.GRID like '%${gridName}%' - AND uir.LIVE_ADDRESS_NAME IN + AND u.LIVE_ADDRESS_NAME IN #{street} - AND uir.COMMUNITY IN + AND u.COMMUNITY IN #{community} - AND uir.GRID_NAME IN + AND u.GRID_NAME IN #{grid} diff --git a/epdc-cloud-vim-yushan/src/main/resources/mapper/vim/VaccinationUserRoleDao.xml b/epdc-cloud-vim-yushan/src/main/resources/mapper/vim/VaccinationUserRoleDao.xml index 9d5692c..db47ca0 100644 --- a/epdc-cloud-vim-yushan/src/main/resources/mapper/vim/VaccinationUserRoleDao.xml +++ b/epdc-cloud-vim-yushan/src/main/resources/mapper/vim/VaccinationUserRoleDao.xml @@ -17,7 +17,7 @@ SELECT * FROM