文件下载权限判断完成
This commit is contained in:
parent
3fc0ef7d6d
commit
db118aec37
|
|
@ -201,4 +201,8 @@ public class FileController extends HcyBaseController {
|
|||
return AjaxResult.error(ReturnConstants.SYS_ERROR);
|
||||
}
|
||||
}
|
||||
@GetMapping("/download/api")
|
||||
public AjaxResult api(){
|
||||
return AjaxResult.success("8085");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ public class SysUserController extends BaseController {
|
|||
@GetMapping(value = {"/", "/{userId}"})
|
||||
public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) {
|
||||
AjaxResult ajax = AjaxResult.success();
|
||||
List<SysRole> roles = roleService.selectRoleAll(1);
|
||||
List<SysRole> roles = roleService.selectRoleAll(0);
|
||||
ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
|
||||
ajax.put("posts", postService.selectPostAll());
|
||||
if (StringUtils.isNotNull(userId)) {
|
||||
|
|
|
|||
|
|
@ -101,19 +101,19 @@ public class ${ClassName}ServiceImpl implements ${ClassName}Service {
|
|||
#if($table.sub)
|
||||
int renewal = ${className}Dao.insert${ClassName}(${className});
|
||||
if (insert${subClassName}(${className})){
|
||||
return new ServerResult<Integer>(false,ReturnConstants.DB_EX);
|
||||
return new ServerResult<>(false,ReturnConstants.DB_EX);
|
||||
}
|
||||
#else
|
||||
Integer renewal = ${className}Dao.insert${ClassName}(${className});
|
||||
#end
|
||||
if (renewal >0){
|
||||
return new ServerResult<Integer>(true,renewal);
|
||||
return new ServerResult<>(true,renewal);
|
||||
}else {
|
||||
return new ServerResult<Integer>(false,ReturnConstants.SYS_FAILL);
|
||||
return new ServerResult<>(false,ReturnConstants.SYS_FAILL);
|
||||
}
|
||||
}catch (RuntimeException e){
|
||||
logger.error(e.getMessage());
|
||||
return new ServerResult<Integer>(false,ReturnConstants.DB_EX);
|
||||
return new ServerResult<>(false,ReturnConstants.DB_EX);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -137,18 +137,18 @@ public class ${ClassName}ServiceImpl implements ${ClassName}Service {
|
|||
#if($table.sub)
|
||||
${className}Dao.delete${subClassName}By${subTableFkClassName}(${className}.get${pkColumn.capJavaField}());
|
||||
if (insert${subClassName}(${className})){
|
||||
return new ServerResult<Integer>(false,ReturnConstants.DB_EX);
|
||||
return new ServerResult<>(false,ReturnConstants.DB_EX);
|
||||
}
|
||||
#end
|
||||
Integer renewal = ${className}Dao.update${ClassName}(${className});
|
||||
if (renewal >0){
|
||||
return new ServerResult<Integer>(true,renewal);
|
||||
return new ServerResult<>(true,renewal);
|
||||
}else {
|
||||
return new ServerResult<Integer>(false,ReturnConstants.SYS_FAILL);
|
||||
return new ServerResult<>(false,ReturnConstants.SYS_FAILL);
|
||||
}
|
||||
}catch (RuntimeException e){
|
||||
logger.error(e.getMessage());
|
||||
return new ServerResult<Integer>(false,ReturnConstants.DB_EX);
|
||||
return new ServerResult<>(false,ReturnConstants.DB_EX);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -170,16 +170,16 @@ public class ${ClassName}ServiceImpl implements ${ClassName}Service {
|
|||
#end
|
||||
Integer renewal = ${className}Dao.delete${ClassName}ByIds(${pkColumn.javaField}s);
|
||||
if (renewal >0){
|
||||
return new ServerResult<Integer>(true,renewal);
|
||||
return new ServerResult<>(true,renewal);
|
||||
}else {
|
||||
return new ServerResult<Integer>(false,ReturnConstants.SYS_FAILL);
|
||||
return new ServerResult<>(false,ReturnConstants.SYS_FAILL);
|
||||
}
|
||||
}catch (RuntimeException e){
|
||||
#if($table.sub)
|
||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||
#end
|
||||
logger.error(e.getMessage());
|
||||
return new ServerResult<Integer>(false,ReturnConstants.DB_EX);
|
||||
return new ServerResult<>(false,ReturnConstants.DB_EX);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -198,13 +198,13 @@ public class ${ClassName}ServiceImpl implements ${ClassName}Service {
|
|||
#end
|
||||
Integer renewal = ${className}Dao.delete${ClassName}ById(${pkColumn.javaField});
|
||||
if (renewal >0){
|
||||
return new ServerResult<Integer>(true,renewal);
|
||||
return new ServerResult<>(true,renewal);
|
||||
}else {
|
||||
return new ServerResult<Integer>(false,ReturnConstants.SYS_FAILL);
|
||||
return new ServerResult<>(false,ReturnConstants.SYS_FAILL);
|
||||
}
|
||||
}catch (RuntimeException e){
|
||||
logger.error(e.getMessage());
|
||||
return new ServerResult<Integer>(false,ReturnConstants.DB_EX);
|
||||
return new ServerResult<>(false,ReturnConstants.DB_EX);
|
||||
}
|
||||
}
|
||||
#if($table.sub)
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import java.util.ArrayList;
|
|||
import java.util.List;
|
||||
|
||||
import com.hchyun.common.constant.ReturnConstants;
|
||||
import com.hchyun.common.core.entity.entity.SysRole;
|
||||
import com.hchyun.common.core.entity.model.LoginUser;
|
||||
import com.hchyun.common.utils.SecurityUtils;
|
||||
import com.hchyun.common.utils.ServerResult;
|
||||
|
|
@ -41,13 +42,13 @@ public class FileServiceImpl implements FileService {
|
|||
try {
|
||||
SysFile sysFile = fileDao.selectFileById(fileId);
|
||||
if (sysFile != null) {
|
||||
return new ServerResult<SysFile>(true, sysFile);
|
||||
return new ServerResult<>(true, sysFile);
|
||||
} else {
|
||||
return new ServerResult<SysFile>(false, ReturnConstants.RESULT_EMPTY);
|
||||
return new ServerResult<>(false, ReturnConstants.RESULT_EMPTY);
|
||||
}
|
||||
} catch (RuntimeException e) {
|
||||
logger.error(e.getMessage());
|
||||
return new ServerResult<SysFile>(false, ReturnConstants.DB_EX);
|
||||
return new ServerResult<>(false, ReturnConstants.DB_EX);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -110,13 +111,13 @@ public class FileServiceImpl implements FileService {
|
|||
sysFile.setUpdateBy(SecurityUtils.getUserId());
|
||||
Integer renewal = fileDao.updateFile(sysFile);
|
||||
if (renewal > 0) {
|
||||
return new ServerResult<Integer>(true, renewal);
|
||||
return new ServerResult<>(true, renewal);
|
||||
} else {
|
||||
return new ServerResult<Integer>(false, ReturnConstants.SYS_FAILL);
|
||||
return new ServerResult<>(false, ReturnConstants.SYS_FAILL);
|
||||
}
|
||||
} catch (RuntimeException e) {
|
||||
logger.error(e.getMessage());
|
||||
return new ServerResult<Integer>(false, ReturnConstants.DB_EX);
|
||||
return new ServerResult<>(false, ReturnConstants.DB_EX);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -140,9 +141,9 @@ public class FileServiceImpl implements FileService {
|
|||
}
|
||||
Integer renewal = fileDao.deleteFileByIds(fileIds);
|
||||
if (renewal > 0) {
|
||||
return new ServerResult<Integer>(true, renewal);
|
||||
return new ServerResult<>(true, renewal);
|
||||
} else {
|
||||
return new ServerResult<Integer>(false, ReturnConstants.SYS_FAILL);
|
||||
return new ServerResult<>(false, ReturnConstants.SYS_FAILL);
|
||||
}
|
||||
} catch (RuntimeException e) {
|
||||
logger.error(e.getMessage());
|
||||
|
|
@ -154,6 +155,30 @@ public class FileServiceImpl implements FileService {
|
|||
public ServerResult<SysFile> downloadFile(Long fileId, LoginUser loginUser) {
|
||||
try {
|
||||
SysFile sysFile = fileDao.selectFileById(fileId);
|
||||
if (sysFile.getIsPublic().equals("2")){
|
||||
if (loginUser == null){
|
||||
return new ServerResult<>(false,"请登录后再试!");
|
||||
}else {
|
||||
if (!loginUser.getUser().isAdmin()){
|
||||
String[] roleIds = sysFile.getRoleIds().split(",");
|
||||
boolean start = true;
|
||||
for (SysRole role : loginUser.getUser().getRoles()) {
|
||||
for (String roleId : roleIds) {
|
||||
if (String.valueOf(role.getRoleId()).equals(roleId)){
|
||||
start = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!start){
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (start){
|
||||
return new ServerResult<>(false,"您没有下载该文件的权限!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
String fileName = FtpUtils.downloadFile(sysFile);
|
||||
if (fileName == null) {
|
||||
return new ServerResult<>(false, "文件下载失败!");
|
||||
|
|
@ -177,13 +202,13 @@ public class FileServiceImpl implements FileService {
|
|||
try {
|
||||
Integer renewal = fileDao.deleteFileById(fileId);
|
||||
if (renewal > 0) {
|
||||
return new ServerResult<Integer>(true, renewal);
|
||||
return new ServerResult<>(true, renewal);
|
||||
} else {
|
||||
return new ServerResult<Integer>(false, ReturnConstants.SYS_FAILL);
|
||||
return new ServerResult<>(false, ReturnConstants.SYS_FAILL);
|
||||
}
|
||||
} catch (RuntimeException e) {
|
||||
logger.error(e.getMessage());
|
||||
return new ServerResult<Integer>(false, ReturnConstants.DB_EX);
|
||||
return new ServerResult<>(false, ReturnConstants.DB_EX);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue