优化
This commit is contained in:
parent
58c89daa19
commit
805244052a
@ -1,10 +1,14 @@
|
||||
package com.cdzy.staff.component;
|
||||
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import com.cdzy.staff.model.dto.StaffInfo;
|
||||
import com.cdzy.staff.model.entity.EbikeRole;
|
||||
import com.mybatisflex.core.tenant.TenantFactory;
|
||||
import org.springframework.web.context.request.RequestAttributes;
|
||||
import org.springframework.web.context.request.RequestContextHolder;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class EbikeTenantFactory implements TenantFactory {
|
||||
|
||||
public Object[] getTenantIds() {
|
||||
@ -12,9 +16,18 @@ public class EbikeTenantFactory implements TenantFactory {
|
||||
RequestAttributes attributes = RequestContextHolder.getRequestAttributes();
|
||||
Object attribute = attributes.getAttribute("tenantId", RequestAttributes.SCOPE_REQUEST);
|
||||
if (attribute != null) {
|
||||
Long tenantId = Long.valueOf(attribute.toString());
|
||||
String id = (String) StpUtil.getLoginId();
|
||||
StaffInfo staffInfo = (StaffInfo) StpUtil.getSessionByLoginId(id).get(id);
|
||||
List<EbikeRole> roles = staffInfo.getRoles();
|
||||
for (EbikeRole role:roles){
|
||||
if (role.getSysAdmin()) {
|
||||
return new Object[]{};
|
||||
}
|
||||
}
|
||||
long tenantId = Long.parseLong(attribute.toString());
|
||||
return new Object[]{tenantId};
|
||||
}
|
||||
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@ -43,7 +43,7 @@ public class EbikeOperatorController {
|
||||
.operatorName(ebikeOperator.getOperatorName())
|
||||
.address(ebikeOperator.getAddress())
|
||||
.contactPhone(ebikeOperator.getContactPhone())
|
||||
.createBy(Long.valueOf((String) StpUtil.getLoginId()))
|
||||
.createBy(StpUtil.getLoginIdAsLong())
|
||||
.build();
|
||||
ebikeOperatorService.save(operator);
|
||||
return JsonResult.success();
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.cdzy.staff.model.dto;
|
||||
|
||||
import com.cdzy.staff.model.entity.EbikeRole;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
@ -39,7 +40,9 @@ public class StaffInfo implements Serializable {
|
||||
|
||||
// private List<EbikeRole> roles;
|
||||
|
||||
private List<String> roles;
|
||||
private List<String> roleCodes;
|
||||
|
||||
private List<EbikeRole> roles;
|
||||
|
||||
/**
|
||||
*权限码集合
|
||||
|
||||
@ -6,8 +6,10 @@ import com.cdzy.common.utils.SHA256WithSaltUtil;
|
||||
import com.cdzy.staff.model.dto.StaffInfo;
|
||||
import com.cdzy.staff.model.entity.EbikeOperatorStaff;
|
||||
import com.cdzy.staff.mapper.EbikeOperatorStaffMapper;
|
||||
import com.cdzy.staff.model.entity.EbikeRole;
|
||||
import com.cdzy.staff.service.EbikeOperatorStaffService;
|
||||
import com.cdzy.staff.model.vo.StaffVo;
|
||||
import com.cdzy.staff.service.EbikeRoleService;
|
||||
import com.mybatisflex.core.query.QueryWrapper;
|
||||
import com.mybatisflex.spring.service.impl.ServiceImpl;
|
||||
import jakarta.annotation.Resource;
|
||||
@ -17,6 +19,8 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static com.cdzy.staff.model.entity.table.EbikeOperatorStaffTableDef.EBIKE_OPERATOR_STAFF;
|
||||
import static com.cdzy.staff.model.entity.table.EbikeRoleTableDef.EBIKE_ROLE;
|
||||
import static com.cdzy.staff.model.entity.table.EbikeStaffRoleTableDef.EBIKE_STAFF_ROLE;
|
||||
|
||||
/**
|
||||
* 运营商员工账户表 服务层实现。
|
||||
@ -30,6 +34,9 @@ public class EbikeOperatorStaffServiceImpl extends ServiceImpl<EbikeOperatorStaf
|
||||
@Resource
|
||||
private EbikeOperatorStaffMapper staffMapper;
|
||||
|
||||
@Resource
|
||||
private EbikeRoleService roleService;
|
||||
|
||||
@Override
|
||||
public String login(StaffVo staffVo) {
|
||||
QueryWrapper queryWrapper = QueryWrapper.create()
|
||||
@ -64,6 +71,12 @@ public class EbikeOperatorStaffServiceImpl extends ServiceImpl<EbikeOperatorStaf
|
||||
)
|
||||
.where(EBIKE_OPERATOR_STAFF.STAFF_ID.eq(loginId));
|
||||
StaffInfo info = staffMapper.selectOneByQueryAs(queryWrapper, StaffInfo.class);
|
||||
queryWrapper.clear();
|
||||
queryWrapper
|
||||
.from(EBIKE_ROLE)
|
||||
.leftJoin(EBIKE_STAFF_ROLE).on(EBIKE_STAFF_ROLE.ROLE_ID.eq(EBIKE_ROLE.ROLE_ID))
|
||||
.where(EBIKE_STAFF_ROLE.STAFF_ID.eq(loginId));
|
||||
List<EbikeRole> list = roleService.list(queryWrapper);
|
||||
List<String> permissions = new ArrayList<>();
|
||||
permissions.add("common:btn:add");
|
||||
permissions.add("common:btn:edit");
|
||||
@ -71,6 +84,7 @@ public class EbikeOperatorStaffServiceImpl extends ServiceImpl<EbikeOperatorStaf
|
||||
List<String> roles = new ArrayList<>();
|
||||
permissions.add("common");
|
||||
info.setPermissions(permissions);
|
||||
info.setRoles(list);
|
||||
return info;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user