diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aop/NoRepeatSubmitAop.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aop/NoRepeatSubmitAop.java index 6b21bbaaae..ff41a7747c 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aop/NoRepeatSubmitAop.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aop/NoRepeatSubmitAop.java @@ -20,6 +20,7 @@ import java.util.concurrent.TimeUnit; /** * desc:利用用户token及请求url 防止用户重复提交,需要在没有唯一索引的保存或修改操作 方法入口上加上@NoRepeatSubMit注解 + * * @author zhaoqifeng * @dscription * @date 2020/11/24 9:59 @@ -33,8 +34,8 @@ public class NoRepeatSubmitAop { @Autowired private DistributedLock distributedLock; - @Around("@annotation(noRepeatSubmit)") - public Object around(ProceedingJoinPoint pjp,NoRepeatSubmit noRepeatSubmit) { + @Around("@annotation(noRepeatSubmit)") + public Object around(ProceedingJoinPoint pjp, NoRepeatSubmit noRepeatSubmit) { try { ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); @@ -44,21 +45,23 @@ public class NoRepeatSubmitAop { String key = getKey(request.getRequestURI(), internalToken); // 如果缓存中有这个url视为重复提交 Object result = null; + RLock lock = null; try { long leaseTime = noRepeatSubmit.leaseTime(); //如果获取不到锁等待0秒直接返回 持锁时间为leaseTime - RLock lock = distributedLock.getLock(RedisKeys.getNoRepeatSubmitKey(key), leaseTime, NumConstant.ZERO_L, TimeUnit.MILLISECONDS); - try { - //因为getLock如果获取失败抛异常 所以不做锁状态的判断 - result = pjp.proceed(); - } finally { - distributedLock.unLock(lock); - } + lock = distributedLock.getLock(RedisKeys.getNoRepeatSubmitKey(key), leaseTime, NumConstant.ZERO_L, TimeUnit.MILLISECONDS); } catch (Exception e) { - log.warn("noRepeatSubmit exception",e); + log.warn("noRepeatSubmit key:{},msg:{}", key, e.getMessage()); //"未获取到锁,重复提交了 throw new RenException(EpmetErrorCode.REPEAT_SUBMIT.getCode()); } + try { + //因为getLock如果获取失败抛异常 所以不做锁状态的判断 + result = pjp.proceed(); + } finally { + distributedLock.unLock(lock); + } + return result; } catch (RenException e) { @@ -67,10 +70,10 @@ public class NoRepeatSubmitAop { log.error("验证重复提交时出现未知异常!"); throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); } - } + } - private String getKey(String keyExpress,String token) { - return keyExpress+token; - } + private String getKey(String keyExpress, String token) { + return keyExpress + token; + } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffRoleDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffRoleDao.java index bfee2a0129..52b425be78 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffRoleDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffRoleDao.java @@ -64,4 +64,14 @@ public interface StaffRoleDao extends BaseDao { */ List getRoleCountList(@Param("customerId") String customerId); + /** + * @Description 根据角色查询人员列表 + * @Param customerId + * @Param roleId + * @Return {@link List< StaffRoleEntity>} + * @Author zhaoqifeng + * @Date 2021/8/26 16:48 + */ + List selectStaffByRole(@Param("customerId") String customerId, @Param("roleId") String roleId); + } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java index 84cc6ea127..21fa74fabd 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java @@ -474,10 +474,7 @@ public class EpmetUserServiceImpl implements EpmetUserService { */ @Override public List getRoleUsers(RoleUsersFormDTO formDTO) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(StaffRoleEntity :: getCustomerId, formDTO.getCustomerId()); - wrapper.eq(StaffRoleEntity::getRoleId, formDTO.getRoleId()); - List staffRoleList = staffRoleDao.selectList(wrapper); + List staffRoleList = staffRoleDao.selectStaffByRole(formDTO.getCustomerId(), formDTO.getRoleId()); if (CollectionUtils.isEmpty(staffRoleList)) { return Collections.emptyList(); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffRoleDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffRoleDao.xml index 4d96ec7735..8d1ac0c2d2 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffRoleDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffRoleDao.xml @@ -70,4 +70,20 @@ GROUP BY ROLE_ID + \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ShiBeiScreenCollServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ShiBeiScreenCollServiceImpl.java index 3b96365fbe..4f0cbb1896 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ShiBeiScreenCollServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ShiBeiScreenCollServiceImpl.java @@ -34,7 +34,6 @@ import com.epmet.entity.evaluationindex.screen.ScreenCustomerAgencyEntity; import com.epmet.entity.evaluationindex.screen.ScreenCustomerBizOrgEntity; import com.epmet.entity.evaluationindex.screen.ScreenEventImgDataEntity; import com.epmet.entity.evaluationindex.screen.ScreenUserJoinEntity; -import com.epmet.service.evaluationindex.screen.ScreenEventImgDataService; import com.epmet.service.evaluationindex.screen.ShiBeiScreenCollService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.ListUtils; @@ -99,8 +98,6 @@ public class ShiBeiScreenCollServiceImpl implements ShiBeiScreenCollService { private ScreenIndexDataYearlyDao screenIndexDataYearlyDao; @Autowired private ScreenPublicPartiTotalDataDao screenPublicPartiTotalDataDao; - @Autowired - private ScreenEventImgDataService screenEventImgDataService; @DataSource(value = DataSourceConstant.EVALUATION_INDEX, datasourceNameFromArg = true) @Override diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.7__edit_staff_transfer_record.sql b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.7__edit_staff_transfer_record.sql new file mode 100644 index 0000000000..16f8bd1120 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.7__edit_staff_transfer_record.sql @@ -0,0 +1,5 @@ +ALTER TABLE `staff_transfer_record` + ADD COLUMN `OLD_ORG_TYPE` varchar(10) NULL COMMENT '调动前所属部门dept或网格grid' AFTER `OLD_AGENCY_ID`, + ADD COLUMN `OLD_ORG_ID` varchar(64) NULL COMMENT '部门ID 或 网格ID' AFTER `OLD_ORG_TYPE`, + ADD COLUMN `ORG_TYPE` varchar(10) NULL COMMENT '调动后所属部门dept或网格grid' AFTER `AGENCY_ID`, + ADD COLUMN `ORG_ID` varchar(64) NULL COMMENT '部门ID 或 网格ID' AFTER `ORG_TYPE`; \ No newline at end of file