更新
This commit is contained in:
parent
0f8e9254bf
commit
ce3f588a21
@ -105,16 +105,8 @@ public class WorkReportServiceImpl extends ServiceImpl<WorkReportMapper, WorkRep
|
||||
|
||||
@Override
|
||||
public IPage<WorkReportRespVO> getReportPage(Page<WorkReport> page, WorkReportPageReqVO pageReqVO) {
|
||||
//根据dictType查询角色
|
||||
List<DictDataRespDTO> roleList = dictDataApi.getDictDataList(pageReqVO.getDictType());
|
||||
//公司高层角色code集合
|
||||
List<String> codes = roleList.stream().map(DictDataRespDTO::getValue).collect(Collectors.toList());
|
||||
|
||||
Map<Long, List<String>> longListMap = permissionApi.roleCodesByUserIds(Collections.singletonList(SecurityFrameworkUtils.getLoginUserId()));
|
||||
List<String> roleKey = longListMap.get(SecurityFrameworkUtils.getLoginUserId());
|
||||
|
||||
//判断当前登陆人的角色是否是公司高层
|
||||
boolean isCompanyLeader = roleKey != null && roleKey.stream().anyMatch(codes::contains);
|
||||
boolean isCompanyLeader = permissionApi.hasDictTypeRole(pageReqVO.getDictType());
|
||||
if (isCompanyLeader) {
|
||||
pageReqVO.setUserId(null);
|
||||
}
|
||||
|
@ -3,12 +3,16 @@ package cn.iocoder.yudao.module.inspection.controller;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.security.core.LoginUser;
|
||||
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import cn.iocoder.yudao.module.core.controller.BaseController;
|
||||
import cn.iocoder.yudao.module.inspection.entity.InspectionFile;
|
||||
import cn.iocoder.yudao.module.inspection.service.AppInspectionPartnerService;
|
||||
import cn.iocoder.yudao.module.inspection.service.IInspectionFileService;
|
||||
import cn.iocoder.yudao.module.inspection.vo.AssignAuthorityVo;
|
||||
import cn.iocoder.yudao.module.shop.entity.ShopMallPartners;
|
||||
import cn.iocoder.yudao.module.system.api.dict.DictDataApi;
|
||||
import cn.iocoder.yudao.module.system.api.dict.dto.DictDataRespDTO;
|
||||
import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
|
||||
import cn.iocoder.yudao.module.system.api.user.dto.UserRoleDTO;
|
||||
import cn.iocoder.yudao.module.system.service.permission.PermissionServiceImpl;
|
||||
import cn.iocoder.yudao.module.system.service.permission.RoleService;
|
||||
@ -19,9 +23,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* inspectionFileController
|
||||
@ -39,6 +46,10 @@ public class InspectionFileController extends BaseController {
|
||||
|
||||
@Autowired
|
||||
private PermissionServiceImpl roleService;
|
||||
@Resource
|
||||
private DictDataApi dictDataApi;
|
||||
@Resource
|
||||
private PermissionApi permissionApi;
|
||||
|
||||
/**
|
||||
* 查询inspectionFile列表
|
||||
@ -60,19 +71,13 @@ public class InspectionFileController extends BaseController {
|
||||
public CommonResult listByPermission(InspectionFile inspectionFile) throws Exception {
|
||||
ShopMallPartners partners = partnerService.shopInfoByUserId();
|
||||
inspectionFile.setPartnerId(partners.getPartnerId());
|
||||
//判断当前登录人是否是租户管理员 tenant_admin
|
||||
LoginUser loginUser = getLoginUser();
|
||||
// 判断当前登录人是否是租户管理员 tenant_admin
|
||||
List<UserRoleDTO> userRoleDTOS = roleService.userRoleDTOList(Collections.singletonList(loginUser.getId()));
|
||||
if (CollUtil.isNotEmpty(userRoleDTOS)) {
|
||||
for (UserRoleDTO userRoleDTO : userRoleDTOS) {
|
||||
if ("tenant_admin".equals(userRoleDTO.getRoleCode())) {
|
||||
return success(inspectionFileService.selectInspectionFileList(inspectionFile));
|
||||
}
|
||||
}
|
||||
//判断当前登陆人的角色是否是可以查看文件
|
||||
boolean ifFile = permissionApi.hasDictTypeRole("ins_file_role");
|
||||
if (ifFile) {
|
||||
return success(inspectionFileService.selectInspectionFileList(inspectionFile));
|
||||
}else {
|
||||
return success(inspectionFileService.selectInspectionFileListByPermissio(inspectionFile, getLoginUser().getId()));
|
||||
}
|
||||
|
||||
return success(inspectionFileService.selectInspectionFileListByPermissio(inspectionFile, getLoginUser().getId()));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -14,6 +14,8 @@ import cn.iocoder.yudao.module.partner.entity.PartnerBalanceDetail;
|
||||
import cn.iocoder.yudao.module.partner.entity.PartnerWorker;
|
||||
import cn.iocoder.yudao.module.partner.service.IPartnerWorkerService;
|
||||
import cn.iocoder.yudao.module.payment.entity.OrderInfo;
|
||||
import cn.iocoder.yudao.module.system.api.dict.dto.DictDataRespDTO;
|
||||
import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
|
||||
import cn.iocoder.yudao.module.system.api.user.dto.UserDTO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.dict.vo.data.DictDataSaveReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.dict.vo.type.DictTypeSaveReqVO;
|
||||
@ -37,9 +39,7 @@ import cn.iocoder.yudao.module.shop.entity.ShopMallPartners;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@RestController
|
||||
@ -55,6 +55,8 @@ public class PartnerOwnController extends BaseController {
|
||||
private DictDataService dictDataService;
|
||||
@Autowired
|
||||
private RoleService roleService;
|
||||
@Autowired
|
||||
private PermissionApi permissionApi;
|
||||
|
||||
/**
|
||||
* 获取店铺详情
|
||||
@ -470,17 +472,28 @@ public class PartnerOwnController extends BaseController {
|
||||
|
||||
//获取到店预约的数据
|
||||
@GetMapping("/getAppointmentList")
|
||||
public CommonResult getAppointmentList(Long partnerId, String phoneNum, Integer pageSize, Integer pageNum) {
|
||||
public CommonResult getAppointmentList(Long partnerId, String phoneNum, Integer pageSize, Integer pageNum) throws Exception {
|
||||
// LoginUser user = SecurityFrameworkUtils.getLoginUser();
|
||||
// ShopMallPartners partnersTmp = partnerList.getById(partnerId);
|
||||
// if (!partnersTmp.getUserId().equals(user.getId())){
|
||||
// return null;
|
||||
// }
|
||||
Page<InspectionAppointment> page = new Page<>(pageNum, pageSize);
|
||||
IPage<InspectionAppointment> appointments = partnerList.getAppointmentList(page, partnerId, phoneNum);
|
||||
ShopMallPartners shopMallPartners = partnerList.shopInfo();
|
||||
IPage<InspectionAppointment> appointments = partnerList.getAppointmentList(page, shopMallPartners.getPartnerId(), phoneNum);
|
||||
return success(appointments);
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断是否可以查看预约信息
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/ifAppointment")
|
||||
public CommonResult<Boolean> ifAppointment() {
|
||||
return success(permissionApi.hasDictTypeRole("ins_appointment_role"));
|
||||
}
|
||||
|
||||
//获取上门取车数据
|
||||
@GetMapping("/getPickCarList")
|
||||
public CommonResult getPickCarList(Long partnerId, String phoneNum, String pickStatus, Integer pageSize, Integer pageNum) {
|
||||
@ -823,10 +836,10 @@ public class PartnerOwnController extends BaseController {
|
||||
**/
|
||||
@GetMapping("/getOrderApp")
|
||||
public CommonResult<?> getOrderApp(@RequestParam(value = "startTime", required = false) String startTime,
|
||||
@RequestParam(value = "endTime", required = false) String endTime,
|
||||
@RequestParam(value = "chooseStatus", required = false) String chooseStatus,
|
||||
@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
|
||||
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
|
||||
@RequestParam(value = "endTime", required = false) String endTime,
|
||||
@RequestParam(value = "chooseStatus", required = false) String chooseStatus,
|
||||
@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
|
||||
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
|
||||
Page<OrderTable> page = new Page<>(pageNum, pageSize);
|
||||
return success(partnerList.getOrderApp(startTime, endTime, chooseStatus, page));
|
||||
}
|
||||
|
@ -201,7 +201,7 @@ public class AppInspectionPartnerServiceImpl extends ServiceImpl<AppInspectionPa
|
||||
if (ObjectUtil.isEmpty(partner)) {
|
||||
throw new Exception("信息有误");
|
||||
}
|
||||
} else if (roles.contains("jcworker")) {
|
||||
} else {
|
||||
LambdaQueryWrapper<PartnerWorker> queryWrapperWork = new LambdaQueryWrapper<>();
|
||||
queryWrapperWork.eq(PartnerWorker::getUserId, user.getId());
|
||||
queryWrapperWork.orderByAsc(PartnerWorker::getPartnerId);
|
||||
|
@ -90,4 +90,11 @@ public interface PermissionApi {
|
||||
* @param roleId 权限ID
|
||||
**/
|
||||
List<Long> getUserIdByRoleId(Long roleId);
|
||||
|
||||
/**
|
||||
* 判断是否有某个字典类型的角色
|
||||
* @param dictType
|
||||
* @return
|
||||
*/
|
||||
Boolean hasDictTypeRole(String dictType);
|
||||
}
|
||||
|
@ -1,15 +1,15 @@
|
||||
package cn.iocoder.yudao.module.system.api.permission;
|
||||
|
||||
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import cn.iocoder.yudao.module.system.api.dict.DictDataApi;
|
||||
import cn.iocoder.yudao.module.system.api.dict.dto.DictDataRespDTO;
|
||||
import cn.iocoder.yudao.module.system.api.permission.dto.DeptDataPermissionRespDTO;
|
||||
import cn.iocoder.yudao.module.system.api.user.dto.UserRoleDTO;
|
||||
import cn.iocoder.yudao.module.system.service.permission.PermissionService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@ -23,6 +23,9 @@ public class PermissionApiImpl implements PermissionApi {
|
||||
@Resource
|
||||
private PermissionService permissionService;
|
||||
|
||||
@Resource
|
||||
private DictDataApi dictDataApi;
|
||||
|
||||
@Override
|
||||
public Set<Long> getUserRoleIdListByRoleIds(Collection<Long> roleIds) {
|
||||
return permissionService.getUserRoleIdListByRoleId(roleIds);
|
||||
@ -105,4 +108,23 @@ public class PermissionApiImpl implements PermissionApi {
|
||||
return permissionService.getUserIdByRoleId(roleId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断是否有某个字典类型的角色
|
||||
*
|
||||
* @param dictType
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Boolean hasDictTypeRole(String dictType) {
|
||||
//根据dictType查询角色
|
||||
List<DictDataRespDTO> roleList = dictDataApi.getDictDataList(dictType);
|
||||
//角色code集合
|
||||
List<String> codes = roleList.stream().map(DictDataRespDTO::getValue).collect(Collectors.toList());
|
||||
|
||||
Map<Long, List<String>> longListMap = this.roleCodesByUserIds(Collections.singletonList(SecurityFrameworkUtils.getLoginUserId()));
|
||||
List<String> roleKey = longListMap.get(SecurityFrameworkUtils.getLoginUserId());
|
||||
|
||||
return roleKey != null && roleKey.stream().anyMatch(codes::contains);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -90,6 +90,18 @@ public class AuthController {
|
||||
return success(authService.login(reqVO));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取租户信息(登陆时时使用)
|
||||
*
|
||||
* @param reqVO
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/getTenant")
|
||||
@PermitAll
|
||||
public CommonResult<?> getTenant(@RequestBody @Valid AuthLoginReqVO reqVO) {
|
||||
return success(authService.getTenant(reqVO));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 登录方法
|
||||
@ -111,13 +123,13 @@ public class AuthController {
|
||||
}
|
||||
List<RoleReqDTO> roleList = roleApi.getRoleList();
|
||||
List<String> roleNames = roleList.stream().filter(item -> roleIdsByUserId.contains(item.getId())).map(item -> item.getName()).collect(Collectors.toList());
|
||||
if (roleList.isEmpty()){
|
||||
if (roleList.isEmpty()) {
|
||||
return error(new ErrorCode(2_002_000_005, "登录失败,当前登录用户未分配任何角色"));
|
||||
}
|
||||
if (loginBody.getTypes().equals("3") && !roleNames.contains("教练")){
|
||||
if (loginBody.getTypes().equals("3") && !roleNames.contains("教练")) {
|
||||
return error(new ErrorCode(2_002_000_005, "当前登录用户未分配教练角色"));
|
||||
}
|
||||
if (loginBody.getTypes().equals("2") && !roleNames.contains("驾校业务管理员")){
|
||||
if (loginBody.getTypes().equals("2") && !roleNames.contains("驾校业务管理员")) {
|
||||
return error(new ErrorCode(2_002_000_005, "当前登录用户未分配驾校管理员角色"));
|
||||
}
|
||||
|
||||
@ -126,6 +138,7 @@ public class AuthController {
|
||||
authLoginReqVO.setPassword(loginBody.getPassword());
|
||||
return success(authService.login(authLoginReqVO));
|
||||
}
|
||||
|
||||
@PostMapping("/logout")
|
||||
@PermitAll
|
||||
@Operation(summary = "登出系统")
|
||||
@ -209,10 +222,10 @@ public class AuthController {
|
||||
// 1.3 获得菜单列表
|
||||
Set<Long> menuIds = permissionService.getRoleMenuListByRoleId(convertSet(roles, RoleDO::getId));
|
||||
//过滤出来当前服务的菜单
|
||||
if (StringUtils.isNotEmpty(routeCode)){
|
||||
if (StringUtils.isNotEmpty(routeCode)) {
|
||||
ServicePackageDO servicePackage = servicePackageService.getServicePackage(routeCode);
|
||||
Set<Long> servicePackageMenuIds = servicePackage.getMenuIds();
|
||||
menuIds= menuIds.stream().filter(servicePackageMenuIds::contains).collect(Collectors.toSet());
|
||||
menuIds = menuIds.stream().filter(servicePackageMenuIds::contains).collect(Collectors.toSet());
|
||||
}
|
||||
List<MenuDO> menuList = menuService.getMenuList(menuIds);
|
||||
menuList = menuService.filterDisableMenus(menuList);
|
||||
|
@ -6,6 +6,7 @@ import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.framework.security.core.LoginUser;
|
||||
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.auth.vo.AuthLoginReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserPageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.app.user.UserInfoVO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
|
||||
@ -16,6 +17,7 @@ import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Mapper
|
||||
public interface AdminUserMapper extends BaseMapperX<AdminUserDO> {
|
||||
@ -86,4 +88,11 @@ public interface AdminUserMapper extends BaseMapperX<AdminUserDO> {
|
||||
AdminUserDO getUserByMobileTenantIgnore(String mobile);
|
||||
|
||||
List<AdminUserDO> selectByRoleId(Long roleId);
|
||||
|
||||
/**
|
||||
* 根据用户名,查询用户信息(排除租户id)
|
||||
* @param reqVO
|
||||
* @return
|
||||
*/
|
||||
Map<String, Object> queryUserIgnoreTenant(AuthLoginReqVO reqVO);
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import cn.iocoder.yudao.module.system.controller.admin.auth.vo.*;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 管理后台的认证 Service 接口
|
||||
@ -111,4 +112,6 @@ public interface AdminAuthService {
|
||||
* @return cn.iocoder.yudao.module.system.controller.admin.auth.vo.AuthLoginRespVO
|
||||
**/
|
||||
AuthLoginRespVO wxLoginRepair(String decryptResult, String openId, Long inviteId);
|
||||
|
||||
Map<String, Object> getTenant(AuthLoginReqVO reqVO);
|
||||
}
|
||||
|
@ -6,6 +6,7 @@ import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
|
||||
import cn.iocoder.yudao.framework.common.util.monitor.TracerUtils;
|
||||
import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils;
|
||||
import cn.iocoder.yudao.framework.common.util.validation.ValidationUtils;
|
||||
import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
|
||||
import cn.iocoder.yudao.module.system.api.logger.dto.LoginLogCreateReqDTO;
|
||||
import cn.iocoder.yudao.module.system.api.sms.SmsCodeApi;
|
||||
import cn.iocoder.yudao.module.system.api.social.dto.SocialUserBindReqDTO;
|
||||
@ -510,4 +511,10 @@ public class AdminAuthServiceImpl implements AdminAuthService {
|
||||
// 生成token
|
||||
return createTokenAfterLoginSuccess(wxUser.getId(), wxUser.getUsername(), LoginLogTypeEnum.LOGIN_SOCIAL);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getTenant(AuthLoginReqVO reqVO) {
|
||||
Map<String, Object> map = userService.queryUserIgnoreTenant(reqVO);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
|
||||
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.auth.vo.AuthLoginReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserImportExcelVO;
|
||||
@ -294,4 +295,10 @@ public interface AdminUserService extends IService<AdminUserDO> {
|
||||
*/
|
||||
List<AdminUserDO> selectByRoleId(Long roleId);
|
||||
|
||||
/**
|
||||
* 查询用户信息(排除掉租户)
|
||||
* @param reqVO
|
||||
* @return
|
||||
*/
|
||||
Map<String, Object> queryUserIgnoreTenant(AuthLoginReqVO reqVO);
|
||||
}
|
||||
|
@ -16,6 +16,7 @@ import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
|
||||
import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
|
||||
import cn.iocoder.yudao.module.infra.api.config.ConfigApi;
|
||||
import cn.iocoder.yudao.module.infra.api.file.FileApi;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.auth.vo.AuthLoginReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserImportExcelVO;
|
||||
@ -650,6 +651,18 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
|
||||
return baseMapper.selectByRoleId(roleId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询用户信息(排除掉租户)
|
||||
*
|
||||
* @param reqVO
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Map<String, Object> queryUserIgnoreTenant(AuthLoginReqVO reqVO) {
|
||||
Map<String, Object> map = baseMapper.queryUserIgnoreTenant(reqVO);
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 对密码进行加密
|
||||
*
|
||||
|
@ -101,4 +101,5 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
role_id = #{roleId}
|
||||
)
|
||||
</select>
|
||||
<select id="queryUserIgnoreTenant" resultType="java.util.Map"></select>
|
||||
</mapper>
|
||||
|
Loading…
Reference in New Issue
Block a user