fix: 优化逻辑

This commit is contained in:
tangwei 2026-05-11 08:17:21 +08:00
parent 3371905b4a
commit 80277fecd6
4 changed files with 47 additions and 1 deletions

View File

@ -49,6 +49,12 @@ public class SysUserDataScope implements Serializable {
*/ */
private String orgId; private String orgId;
/**
* 资源名称根据orgType关联查询得出
*/
@TableField(exist = false)
private String orgName;
/** /**
* 上级资源编码可选用于层级追溯 * 上级资源编码可选用于层级追溯
*/ */

View File

@ -43,4 +43,13 @@ public interface SysUserDataScopeMapper extends BaseMapper<SysUserDataScope> {
* 查询有效权限状态=1且在有效期内的 * 查询有效权限状态=1且在有效期内的
*/ */
List<SysUserDataScope> selectValidPermissions(@Param("userId") String userId); List<SysUserDataScope> selectValidPermissions(@Param("userId") String userId);
/**
* 根据用户ID查询权限列表含关联资源名称
* orgType=STATION时关联SD_ENGINFO_B_H获取ennm工程名称
* orgType=HBRVCD时关联SD_HBRV_DIC获取hbrvnm基地流域名称
* orgType=BASE时关联SD_HYDROBASE获取basename基地名称
* orgType=RVCD时关联SD_RVCD_DIC获取rvnm流域名称
*/
List<SysUserDataScope> selectValidPermissionsWithName(@Param("userId") String userId);
} }

View File

@ -1509,7 +1509,7 @@ public class FishImportServiceImpl implements IFishImportService {
String vdpth = data.getVdpth(); String vdpth = data.getVdpth();
String picpth = data.getPicpth(); String picpth = data.getPicpth();
if(StrUtil.isBlank(vdpth)||StrUtil.isBlank(picpth)){ if(StrUtil.isBlank(vdpth) && StrUtil.isBlank(picpth)){
log.error("数据不完整, 忽略处理"); log.error("数据不完整, 忽略处理");
return; return;
} }

View File

@ -72,4 +72,35 @@
ORDER BY CREATED_AT DESC ORDER BY CREATED_AT DESC
</select> </select>
<select id="selectValidPermissionsWithName" resultMap="BaseResultMap">
SELECT
s.ID,
s.USER_ID,
s.ORG_TYPE,
s.ORG_ID,
s.PARENT_ID,
s.ORG_LEVEL,
s.PATH,
s.PERMISSION_TYPE,
s.ROLE_CODE,
s.DATA_SCOPE,
s.STATUS,
s.START_TIME,
s.END_TIME,
s.CREATED_AT,
s.CREATED_BY,
s.UPDATED_AT,
s.UPDATED_BY,
s.REMARK,
COALESCE(e.ennm, h.hbrvnm, b.basename, r.rvnm) AS orgName
FROM SYS_USER_DATA_SCOPE s
LEFT JOIN SD_ENGINFO_B_H e ON s.ORG_TYPE = 'STATION' AND s.ORG_ID = e.stcd
LEFT JOIN SD_HBRV_DIC h ON s.ORG_TYPE = 'HBRVCD' AND s.ORG_ID = h.hbrvcd
LEFT JOIN SD_HYDROBASE b ON s.ORG_TYPE = 'BASE' AND s.ORG_ID = b.baseid
LEFT JOIN SD_RVCD_DIC r ON s.ORG_TYPE = 'RVCD' AND s.ORG_ID = r.rvcd
WHERE s.USER_ID = #{userId}
AND s.STATUS = 1
ORDER BY s.CREATED_AT DESC
</select>
</mapper> </mapper>