企业管理,伪代码

server_five_liuyunhu
DongZeLiang 2024-03-28 17:31:30 +08:00
parent 8f9cf1a6c6
commit 847e150cbc
13 changed files with 144 additions and 124 deletions

View File

@ -7,6 +7,7 @@ import com.couplet.common.core.utils.ServletUtils;
import com.couplet.common.core.utils.StringUtils; import com.couplet.common.core.utils.StringUtils;
import com.couplet.common.system.domain.LoginUser; import com.couplet.common.system.domain.LoginUser;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.util.Assert;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@ -44,6 +45,15 @@ public class SecurityUtils {
return SecurityContextHolder.get(SecurityConstants.LOGIN_USER, LoginUser.class); return SecurityContextHolder.get(SecurityConstants.LOGIN_USER, LoginUser.class);
} }
/**
* ID
*/
public static Long getEnterpriseId(){
Long enterpriseId = getLoginUser().getEnterpriseId();
Assert.notNull(enterpriseId, "该用户未绑定负责企业");
return enterpriseId;
}
/** /**
* token * token
*/ */

View File

@ -1,6 +1,8 @@
package com.couplet.common.system.domain; package com.couplet.common.system.domain;
import lombok.*;
import java.io.Serializable; import java.io.Serializable;
import java.util.Set; import java.util.Set;
@ -9,6 +11,10 @@ import java.util.Set;
* *
* @author couplet * @author couplet
*/ */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class LoginUser implements Serializable { public class LoginUser implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ -52,80 +58,14 @@ public class LoginUser implements Serializable {
*/ */
private Set<String> roles; private Set<String> roles;
/**
* ID
*/
private Long enterpriseId;
/** /**
* *
*/ */
private SysUser sysUser; private SysUser sysUser;
public String getToken () {
return token;
}
public void setToken (String token) {
this.token = token;
}
public Long getUserid () {
return userid;
}
public void setUserid (Long userid) {
this.userid = userid;
}
public String getUsername () {
return username;
}
public void setUsername (String username) {
this.username = username;
}
public Long getLoginTime () {
return loginTime;
}
public void setLoginTime (Long loginTime) {
this.loginTime = loginTime;
}
public Long getExpireTime () {
return expireTime;
}
public void setExpireTime (Long expireTime) {
this.expireTime = expireTime;
}
public String getIpaddr () {
return ipaddr;
}
public void setIpaddr (String ipaddr) {
this.ipaddr = ipaddr;
}
public Set<String> getPermissions () {
return permissions;
}
public void setPermissions (Set<String> permissions) {
this.permissions = permissions;
}
public Set<String> getRoles () {
return roles;
}
public void setRoles (Set<String> roles) {
this.roles = roles;
}
public SysUser getSysUser () {
return sysUser;
}
public void setSysUser (SysUser sysUser) {
this.sysUser = sysUser;
}
} }

View File

@ -0,0 +1,36 @@
package com.couplet.common.system.remote;
import com.couplet.common.core.constant.ServiceNameConstants;
import com.couplet.common.core.domain.Result;
import com.couplet.common.core.web.page.TableDataInfo;
import com.couplet.common.system.domain.SysDept;
import com.couplet.common.system.domain.SysUser;
import com.couplet.common.system.remote.factory.RemoteDeptFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
@FeignClient(contextId = "remoteFileService" ,
value = ServiceNameConstants.SYSTEM_SERVICE,
fallbackFactory = RemoteDeptFallbackFactory.class,
path = "/dept"
)
public interface RemoteDeptService {
/**
*
*
* @param dept
* @return
*/
@GetMapping("/list")
public Result list (SysDept dept);
/**
* ID
* @param enterpriseId ID
* @return
*/
@GetMapping("/getSysDeptByEnterpriseId/{enterpriseId}")
public Result<SysDept> getSysDeptByEnterpriseId(@PathVariable(value = "enterpriseId") Long enterpriseId);
}

View File

@ -1,10 +1,10 @@
package com.couplet.remote.factory; package com.couplet.common.system.remote.factory;
import com.couplet.common.core.domain.Result; import com.couplet.common.core.domain.Result;
import com.couplet.common.core.web.page.TableDataInfo; import com.couplet.common.core.web.page.TableDataInfo;
import com.couplet.common.system.domain.SysDept; import com.couplet.common.system.domain.SysDept;
import com.couplet.common.system.domain.SysUser; import com.couplet.common.system.domain.SysUser;
import com.couplet.remote.DeptServiceFegin; import com.couplet.common.system.remote.RemoteDeptService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.cloud.openfeign.FallbackFactory;
@ -16,20 +16,28 @@ import org.springframework.cloud.openfeign.FallbackFactory;
*/ */
@Slf4j @Slf4j
public class RemoteDeptFallbackFactory implements FallbackFactory<DeptServiceFegin> { public class RemoteDeptFallbackFactory implements FallbackFactory<RemoteDeptService> {
@Override @Override
public DeptServiceFegin create(Throwable cause) { public RemoteDeptService create(Throwable cause) {
log.error("sys服务调用失败:{}", cause.getMessage()); log.error("sys服务调用失败:{}", cause.getMessage());
return new DeptServiceFegin() { return new RemoteDeptService() {
@Override @Override
public Result list(SysDept dept) { public Result list(SysDept dept) {
return Result.error("调用失败..."+cause.getMessage()); return Result.error("调用失败..."+cause.getMessage());
} }
/**
* ID
*
* @param enterpriseId ID
*
* @return
*/
@Override @Override
public Result<TableDataInfo<SysUser>> list(SysUser user) { public Result<SysDept> getSysDeptByEnterpriseId (Long enterpriseId) {
return Result.error("调用失败..."+cause.getMessage()); return Result.error("调用失败..."+cause.getMessage());
} }
}; };
} }
} }

View File

@ -1,3 +1,4 @@
com.couplet.common.system.remote.factory.RemoteUserFallbackFactory com.couplet.common.system.remote.factory.RemoteUserFallbackFactory
com.couplet.common.system.remote.factory.RemoteLogFallbackFactory com.couplet.common.system.remote.factory.RemoteLogFallbackFactory
com.couplet.common.system.remote.factory.RemoteFileFallbackFactory com.couplet.common.system.remote.factory.RemoteFileFallbackFactory
com.couplet.common.system.remote.factory.RemoteDeptFallbackFactory

View File

@ -1,36 +0,0 @@
package com.couplet.remote;
import com.couplet.common.core.constant.ServiceNameConstants;
import com.couplet.common.core.domain.Result;
import com.couplet.common.core.web.page.TableDataInfo;
import com.couplet.common.security.annotation.RequiresPermissions;
import com.couplet.common.system.domain.SysDept;
import com.couplet.common.system.domain.SysUser;
import com.couplet.remote.factory.RemoteDeptFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
@FeignClient(contextId = "remoteFileService" , value = ServiceNameConstants.SYSTEM_SERVICE,fallbackFactory = RemoteDeptFallbackFactory.class)
public interface DeptServiceFegin {
/**
*
*
* @param dept
* @return
*/
@RequiresPermissions("system:dept:list")
@GetMapping("/list")
public Result list (SysDept dept);
/*
* @param user:
* @return Result<TableDataInfo<SysUser>>
* @author
* @description TODO
* @date
*
*/
@RequiresPermissions("system:user:list")
@GetMapping("/list")
public Result<TableDataInfo<SysUser>> list (SysUser user);
}

View File

@ -82,11 +82,6 @@
<artifactId>couplet-common-swagger</artifactId> <artifactId>couplet-common-swagger</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.couplet</groupId>
<artifactId>couplet-enterprisemanagement-remote</artifactId>
</dependency>
</dependencies> </dependencies>

View File

@ -8,9 +8,8 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
/** /**
* @author fufanrui * @author fufanrui
*
* @version 1.0 * @version 1.0
* @description: TODO * @description:
* @date 2024/3/27 14:04 * @date 2024/3/27 14:04
*/ */
@EnableCustomConfig @EnableCustomConfig

View File

@ -1,10 +1,12 @@
package com.couplet.server.service.impl; package com.couplet.server.service.impl;
import com.couplet.remote.DeptServiceFegin; import com.couplet.common.core.domain.Result;
import com.couplet.common.security.utils.SecurityUtils;
import com.couplet.common.system.domain.SysDept;
import com.couplet.common.system.remote.RemoteDeptService;
import com.couplet.server.service.ManageServer; import com.couplet.server.service.ManageServer;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.PostMapping;
/** /**
* @author fufanrui * @author fufanrui
@ -15,8 +17,15 @@ import org.springframework.web.bind.annotation.PostMapping;
@Service @Service
public class ManageServiceImpl implements ManageServer { public class ManageServiceImpl implements ManageServer {
@Autowired
private RemoteDeptService remoteDeptService;
{
Long enterpriseId = SecurityUtils.getEnterpriseId();
Result<SysDept> sysDeptByEnterpriseId = remoteDeptService.getSysDeptByEnterpriseId(enterpriseId);
if (sysDeptByEnterpriseId.getCode() == 200){
SysDept sysDept = sysDeptByEnterpriseId.getData();
}
}

View File

@ -107,4 +107,15 @@ public class SysDeptController extends BaseController {
deptService.checkDeptDataScope(deptId); deptService.checkDeptDataScope(deptId);
return toAjax(deptService.deleteDeptById(deptId)); return toAjax(deptService.deleteDeptById(deptId));
} }
/**
* ID
* @param enterpriseId ID
* @return
*/
@GetMapping("/getSysDeptByEnterpriseId/{enterpriseId}")
public Result<SysDept> getSysDeptByEnterpriseId(@PathVariable(value = "enterpriseId") Long enterpriseId){
SysDept sysDept = deptService.getSysDeptByEnterpriseId(enterpriseId);
return Result.success(sysDept);
}
} }

View File

@ -107,10 +107,13 @@ public class SysUserController extends BaseController {
Set<String> roles = permissionService.getRolePermission(sysUser); Set<String> roles = permissionService.getRolePermission(sysUser);
// 权限集合 // 权限集合
Set<String> permissions = permissionService.getMenuPermission(sysUser); Set<String> permissions = permissionService.getMenuPermission(sysUser);
// 查询企业信息
Long deptId = deptService.selectDeptIdByLeader(sysUser.getUserName());
LoginUser sysUserVo = new LoginUser(); LoginUser sysUserVo = new LoginUser();
sysUserVo.setSysUser(sysUser); sysUserVo.setSysUser(sysUser);
sysUserVo.setRoles(roles); sysUserVo.setRoles(roles);
sysUserVo.setPermissions(permissions); sysUserVo.setPermissions(permissions);
sysUserVo.setEnterpriseId(deptId);
return Result.success(sysUserVo); return Result.success(sysUserVo);
} }

View File

@ -135,4 +135,18 @@ public interface SysDeptService extends IService<SysDept> {
* @return * @return
*/ */
public int deleteDeptById (Long deptId); public int deleteDeptById (Long deptId);
/**
* ID
* @param leader
* @return ID
*/
Long selectDeptIdByLeader (String leader);
/**
* ID
* @param enterpriseId ID
* @return
*/
SysDept getSysDeptByEnterpriseId (Long enterpriseId);
} }

View File

@ -1,5 +1,6 @@
package com.couplet.system.service.impl; package com.couplet.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.couplet.common.core.constant.UserConstants; import com.couplet.common.core.constant.UserConstants;
import com.couplet.common.core.exception.ServiceException; import com.couplet.common.core.exception.ServiceException;
@ -17,6 +18,7 @@ import com.couplet.system.mapper.SysRoleMapper;
import com.couplet.system.service.SysDeptService; import com.couplet.system.service.SysDeptService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Iterator; import java.util.Iterator;
@ -280,6 +282,34 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
return deptMapper.deleteDeptById(deptId); return deptMapper.deleteDeptById(deptId);
} }
/**
* ID
*
* @param leader
*
* @return ID
*/
@Override
public Long selectDeptIdByLeader (String leader) {
SysDept sysDept = getOne(new LambdaQueryWrapper<>() {{
eq(SysDept::getLeader, leader);
}});
return sysDept == null ? null : sysDept.getDeptId();
}
/**
* ID
*
* @param enterpriseId ID
*
* @return
*/
@Override
public SysDept getSysDeptByEnterpriseId (Long enterpriseId) {
return null;
}
/** /**
* *
*/ */