Browse Source

Merge branch 'dev_staff_info' of http://git.elinkit.com.cn:7070/r/epmet-cloud into develop

master
jianjun 4 years ago
parent
commit
6f144b3bf6
  1. 31
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aop/NoRepeatSubmitAop.java
  2. 10
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/StaffRoleDao.java
  3. 5
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java
  4. 16
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffRoleDao.xml
  5. 3
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ShiBeiScreenCollServiceImpl.java
  6. 5
      epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.7__edit_staff_transfer_record.sql

31
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;
}
}

10
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<StaffRoleEntity> {
*/
List<RoleListResultDTO> getRoleCountList(@Param("customerId") String customerId);
/**
* @Description 根据角色查询人员列表
* @Param customerId
* @Param roleId
* @Return {@link List< StaffRoleEntity>}
* @Author zhaoqifeng
* @Date 2021/8/26 16:48
*/
List<StaffRoleEntity> selectStaffByRole(@Param("customerId") String customerId, @Param("roleId") String roleId);
}

5
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<RoleUsersResultDTO> getRoleUsers(RoleUsersFormDTO formDTO) {
LambdaQueryWrapper<StaffRoleEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(StaffRoleEntity :: getCustomerId, formDTO.getCustomerId());
wrapper.eq(StaffRoleEntity::getRoleId, formDTO.getRoleId());
List<StaffRoleEntity> staffRoleList = staffRoleDao.selectList(wrapper);
List<StaffRoleEntity> staffRoleList = staffRoleDao.selectStaffByRole(formDTO.getCustomerId(), formDTO.getRoleId());
if (CollectionUtils.isEmpty(staffRoleList)) {
return Collections.emptyList();
}

16
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffRoleDao.xml

@ -70,4 +70,20 @@
GROUP BY
ROLE_ID
</select>
<select id="selectStaffByRole" resultType="com.epmet.dataaggre.entity.epmetuser.StaffRoleEntity">
SELECT
b.CUSTOMER_ID,
b.STAFF_ID,
b.ROLE_ID,
b.ORG_ID
FROM
customer_staff a
INNER JOIN staff_role b ON a.USER_ID = b.STAFF_ID
AND b.DEL_FLAG = '0'
WHERE
a.DEL_FLAG = '0'
AND a.CUSTOMER_ID = #{customerId}
AND b.CUSTOMER_ID = #{customerId}
AND b.ROLE_ID = #{roleId}
</select>
</mapper>

3
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

5
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`;
Loading…
Cancel
Save