| | |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| | | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| | | import cn.iocoder.yudao.module.system.api.permission.PermissionApi; |
| | | import cn.iocoder.yudao.module.ums.controller.admin.member.vo.profile.UmsMemberProfileChangePageReqVO; |
| | | import cn.iocoder.yudao.module.ums.controller.admin.member.vo.profile.UmsMemberProfileChangeSaveReqVO; |
| | | import cn.iocoder.yudao.module.ums.dal.dataobject.member.UmsMemberDO; |
| | |
| | | |
| | | private static final int SUMMARY_MAX_LENGTH = 1000; |
| | | |
| | | /** 资料变更审核权限:拥有该权限(或为超级管理员)即可查看全部申请 */ |
| | | private static final String PERMISSION_CHANGE_AUDIT = "ums:member:change:audit"; |
| | | |
| | | @Resource |
| | | private UmsMemberMapper memberMapper; |
| | | |
| | | @Resource |
| | | private UmsMemberProfileChangeMapper changeMapper; |
| | | |
| | | @Resource |
| | | private PermissionApi permissionApi; |
| | | |
| | | @Override |
| | | public UmsMemberDO getMyProfile() { |
| | |
| | | |
| | | @Override |
| | | public PageResult<UmsMemberProfileChangeDO> getChangePage(UmsMemberProfileChangePageReqVO reqVO) { |
| | | return changeMapper.selectPage(reqVO); |
| | | Long loginUserId = getLoginUserId(); |
| | | // 无登录态时返回空,避免提交人条件为空导致退化成查全部 |
| | | if (loginUserId == null) { |
| | | return PageResult.empty(); |
| | | } |
| | | // 有审核权限(含超级管理员)可查看全部申请;其余人只能看到自己提交的记录, |
| | | // 否则普通会员凭 ums:member:change:query 就能翻到其他会员的联系方式等资料。 |
| | | if (canViewAllChanges(loginUserId)) { |
| | | return changeMapper.selectPageBySubmitter(reqVO, null); |
| | | } |
| | | return changeMapper.selectPageBySubmitter(reqVO, loginUserId); |
| | | } |
| | | |
| | | /** 是否有查看全部资料变更申请的权限:审核权限或超级管理员(hasAnyPermissions 内含超管兜底) */ |
| | | private boolean canViewAllChanges(Long userId) { |
| | | return permissionApi.hasAnyPermissions(userId, PERMISSION_CHANGE_AUDIT); |
| | | } |
| | | |
| | | @Override |