Merge remote-tracking branch 'origin/master'

This commit is contained in:
zjh 2025-12-04 15:12:29 +08:00
commit b5fed5b104
4 changed files with 45 additions and 4 deletions

View File

@ -83,4 +83,13 @@ public class PermissionController {
permissionService.deleteRole(roleId);
return Response.ok().setMessage("删除角色成功");
}
// 根据用户查询权限
@GetMapping("/selectPermByUserId")
public Response selectPermByUserId(
@NotBlank String userId
) {
List<Permission> permissions = permissionService.selectPermissionByUser(userId);
return Response.ok().data(permissions);
}
}

View File

@ -21,4 +21,6 @@ public interface PermissionService {
void updateRole(@Valid UpdateRoleForm form);
void deleteRole(@NotBlank String roleId);
List<Permission> selectPermissionByUser(String userId);
}

View File

@ -282,7 +282,7 @@ public class DataEntryEngineModelServiceImpl implements DataEntryEngineModelServ
modelPojo.setId(UUID.randomUUID().toString());
sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(modelPojo);
saveDataParamDetail(modelPojo, parameters, xdapUsersPojo);
saveDataParamDetail(modelPojo, parameters,versionNumber, xdapUsersPojo);
return 0;
}
@ -307,12 +307,12 @@ public class DataEntryEngineModelServiceImpl implements DataEntryEngineModelServ
.rowid("id", entryEngineModelPojo.getId())
.doUpdate(EngineParamDetailPojo.class);
//绑定参数准备重新走分发
saveDataParamDetail(entryEngineModelPojo, parameters, null);
saveDataParamDetail(entryEngineModelPojo, parameters, newVersionNum,null);
}
}
//为每个机型绑定参数
public void saveDataParamDetail(DataEntryEngineModelPojo modelPojo, List<Parameter> parameters, XdapUsers xdapUsersPojo) {
public void saveDataParamDetail(DataEntryEngineModelPojo modelPojo, List<Parameter> parameters,Integer newVersionNum, XdapUsers xdapUsersPojo) {
/**
* 遍历机型
* 查找参数 将每个机型都把参数和参数所属的填写部门关联上
@ -328,7 +328,7 @@ public class DataEntryEngineModelServiceImpl implements DataEntryEngineModelServ
engineParamDetailPojo.setParameterType(parameter.getParameterType());
engineParamDetailPojo.setParameterName(parameter.getParameterName());
engineParamDetailPojo.setDepartment(parameter.getDepartment());
engineParamDetailPojo.setMajorVersion(versionNumber);
engineParamDetailPojo.setMajorVersion(newVersionNum);
engineParamDetailPojo.setVersionStatus(ParamValueVersionEnum.DRAFT.getCode());
engineParamDetailPojo.setCreatedBy(ObjectUtils.isNotEmpty(xdapUsersPojo) ? xdapUsersPojo.getId() : null);
engineParamDetailPojo.setLastUpdatedBy("");

View File

@ -12,11 +12,14 @@ import com.xdap.self_development.pojo.RoleAndPermissions;
import com.xdap.self_development.pojo.UserAndRoles;
import com.xdap.self_development.pojo.view.UserRoleAndPermissionView;
import com.xdap.self_development.service.PermissionService;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
@ -140,4 +143,31 @@ public class PermissionServiceImpl implements PermissionService {
// 删除角色
bd.getBusinessDatabase().eq("id", roleId).doDelete(Role.class);
}
@Override
public List<Permission> selectPermissionByUser(String userId) {
if (StringUtils.isEmpty(userId)) {
throw new RuntimeException("请传入用户");
}
//查询用户所拥有的角色
List<UserAndRoles> userAndRoleIds = bd.getBusinessDatabase()
.eq("user_id", userId)
.doQuery(UserAndRoles.class);
if (ObjectUtils.isNotEmpty(userAndRoleIds)) {
List<String> roleIds = userAndRoleIds.stream().map(x -> x.getRoleId()).collect(Collectors.toList());
//查询角色权限
List<RoleAndPermissions> roleAndPermissions = bd.getBusinessDatabase()
.in("role_id", roleIds)
.doQuery(RoleAndPermissions.class);
if (ObjectUtils.isEmpty(roleAndPermissions)) {
throw new RuntimeException("该角色没有分配权限");
}
List<String> permissionIds = roleAndPermissions.stream().map(x -> x.getPermissionId()).collect(Collectors.toList());
//组装返回
return bd.getBusinessDatabase()
.in("id", permissionIds)
.doQuery(Permission.class);
}
return Collections.emptyList();
}
}