Commit 8ab5258f by wilmiam

1.0.0

parent a9103689
...@@ -105,15 +105,15 @@ public class SpringSecurityConfig extends WebSecurityConfigurerAdapter { ...@@ -105,15 +105,15 @@ public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
"/webSocket/**" "/webSocket/**"
).permitAll() ).permitAll()
// swagger 文档 // swagger 文档
.antMatchers("/swagger-ui.html").permitAll() .antMatchers("/admin/swagger-ui.html").permitAll()
.antMatchers("/swagger-resources/**").permitAll() .antMatchers("/admin/swagger-resources/**").permitAll()
.antMatchers("/webjars/**").permitAll() .antMatchers("/webjars/**").permitAll()
.antMatchers("/*/api-docs").permitAll() .antMatchers("/*/api-docs").permitAll()
// 文件 // 文件
.antMatchers("/avatar/**").permitAll() .antMatchers("/admin/avatar/**").permitAll()
.antMatchers("/file/**").permitAll() .antMatchers("/admin/file/**").permitAll()
// 阿里巴巴 druid // 阿里巴巴 druid
.antMatchers("/druid/**").permitAll() .antMatchers("/admin/druid/**").permitAll()
// 放行OPTIONS请求 // 放行OPTIONS请求
.antMatchers(HttpMethod.OPTIONS, "/**").permitAll() .antMatchers(HttpMethod.OPTIONS, "/**").permitAll()
// 自定义匿名访问所有url放行:允许匿名和带Token访问,细腻化到每个 Request 类型 // 自定义匿名访问所有url放行:允许匿名和带Token访问,细腻化到每个 Request 类型
......
...@@ -31,7 +31,7 @@ import org.springframework.web.bind.annotation.*; ...@@ -31,7 +31,7 @@ import org.springframework.web.bind.annotation.*;
*/ */
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@RequestMapping("/api/genConfig") @RequestMapping("/admin/genConfig")
@Api(tags = "系统:代码生成器配置管理") @Api(tags = "系统:代码生成器配置管理")
public class GenConfigController { public class GenConfigController {
......
...@@ -38,7 +38,7 @@ import java.util.List; ...@@ -38,7 +38,7 @@ import java.util.List;
*/ */
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@RequestMapping("/api/generator") @RequestMapping("/admin/generator")
@Api(tags = "系统:代码生成管理") @Api(tags = "系统:代码生成管理")
public class GeneratorController { public class GeneratorController {
......
...@@ -40,7 +40,7 @@ import java.util.Set; ...@@ -40,7 +40,7 @@ import java.util.Set;
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@Api(tags = "运维:应用管理") @Api(tags = "运维:应用管理")
@RequestMapping("/api/app") @RequestMapping("/admin/app")
public class AppController { public class AppController {
private final AppService appService; private final AppService appService;
......
...@@ -47,7 +47,7 @@ import java.util.Set; ...@@ -47,7 +47,7 @@ import java.util.Set;
@Api(tags = "运维:数据库管理") @Api(tags = "运维:数据库管理")
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@RequestMapping("/api/database") @RequestMapping("/admin/database")
public class DatabaseController { public class DatabaseController {
private final String fileSavePath = FileUtil.getTmpDirPath() + "/"; private final String fileSavePath = FileUtil.getTmpDirPath() + "/";
......
...@@ -48,7 +48,7 @@ import java.util.Set; ...@@ -48,7 +48,7 @@ import java.util.Set;
@RestController @RestController
@Api(tags = "运维:部署管理") @Api(tags = "运维:部署管理")
@RequiredArgsConstructor @RequiredArgsConstructor
@RequestMapping("/api/deploy") @RequestMapping("/admin/deploy")
public class DeployController { public class DeployController {
private final String fileSavePath = FileUtil.getTmpDirPath() + "/"; private final String fileSavePath = FileUtil.getTmpDirPath() + "/";
......
...@@ -38,7 +38,7 @@ import java.util.Set; ...@@ -38,7 +38,7 @@ import java.util.Set;
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@Api(tags = "运维:部署历史管理") @Api(tags = "运维:部署历史管理")
@RequestMapping("/api/deployHistory") @RequestMapping("/admin/deployHistory")
public class DeployHistoryController { public class DeployHistoryController {
private final DeployHistoryService deployhistoryService; private final DeployHistoryService deployhistoryService;
......
...@@ -40,7 +40,7 @@ import java.util.Set; ...@@ -40,7 +40,7 @@ import java.util.Set;
@RestController @RestController
@Api(tags = "运维:服务器管理") @Api(tags = "运维:服务器管理")
@RequiredArgsConstructor @RequiredArgsConstructor
@RequestMapping("/api/serverDeploy") @RequestMapping("/admin/serverDeploy")
public class ServerDeployController { public class ServerDeployController {
private final ServerDeployService serverDeployService; private final ServerDeployService serverDeployService;
......
...@@ -30,7 +30,7 @@ import java.util.concurrent.CopyOnWriteArraySet; ...@@ -30,7 +30,7 @@ import java.util.concurrent.CopyOnWriteArraySet;
* @author ZhangHouYing * @author ZhangHouYing
* @date 2019-08-10 15:46 * @date 2019-08-10 15:46
*/ */
@ServerEndpoint("/webSocket/{sid}") @ServerEndpoint("/admin/webSocket/{sid}")
@Slf4j @Slf4j
@Component @Component
public class WebSocketServer { public class WebSocketServer {
...@@ -57,11 +57,7 @@ public class WebSocketServer { ...@@ -57,11 +57,7 @@ public class WebSocketServer {
public void onOpen(Session session, @PathParam("sid") String sid) { public void onOpen(Session session, @PathParam("sid") String sid) {
this.session = session; this.session = session;
//如果存在就先删除一个,防止重复推送消息 //如果存在就先删除一个,防止重复推送消息
for (WebSocketServer webSocket : webSocketSet) { webSocketSet.removeIf(webSocket -> webSocket.sid.equals(sid));
if (webSocket.sid.equals(sid)) {
webSocketSet.remove(webSocket);
}
}
webSocketSet.add(this); webSocketSet.add(this);
this.sid = sid; this.sid = sid;
} }
......
...@@ -42,7 +42,7 @@ import java.util.Set; ...@@ -42,7 +42,7 @@ import java.util.Set;
@Slf4j @Slf4j
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@RequestMapping("/api/jobs") @RequestMapping("/admin/jobs")
@Api(tags = "系统:定时任务管理") @Api(tags = "系统:定时任务管理")
public class QuartzJobController { public class QuartzJobController {
......
...@@ -62,7 +62,7 @@ import java.util.concurrent.TimeUnit; ...@@ -62,7 +62,7 @@ import java.util.concurrent.TimeUnit;
*/ */
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/auth") @RequestMapping("/admin/auth")
@RequiredArgsConstructor @RequiredArgsConstructor
@Api(tags = "系统:系统授权接口") @Api(tags = "系统:系统授权接口")
public class AuthorizationController { public class AuthorizationController {
......
...@@ -35,7 +35,7 @@ import java.util.Set; ...@@ -35,7 +35,7 @@ import java.util.Set;
*/ */
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@RequestMapping("/auth/online") @RequestMapping("/admin/auth/online")
@Api(tags = "系统:在线用户管理") @Api(tags = "系统:在线用户管理")
public class OnlineController { public class OnlineController {
......
package com.zq.admin.modules.system.rest;
import com.zq.admin.modules.system.service.UserService;
import com.zq.admin.modules.system.service.dto.UserDto;
import com.zq.common.utils.AssertUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
/**
* @author wilmiam
* @since 2022-05-28 16:50
*/
@Api(tags = "访问图片文件")
@RequiredArgsConstructor
@RestController
@RequestMapping("/admin")
public class AccessController {
private final UserService userService;
// http://localhost:9888/admin/avatar/avatar-20220528044034262.png
@ApiOperation("访问头像")
@GetMapping(value = "/avatar/{username}", produces = MediaType.IMAGE_JPEG_VALUE)
public byte[] avatar(@PathVariable String username) throws IOException {
UserDto userDto = userService.findByName(username);
AssertUtils.isTrue(userDto != null, "用户不存在");
AssertUtils.hasText(userDto.getAvatarPath(), "未设置头像");
File file = new File(userDto.getAvatarPath());
AssertUtils.isTrue(file.exists(), "访问图片不存在");
FileInputStream inputStream = new FileInputStream(file);
byte[] bytes = new byte[inputStream.available()];
inputStream.read(bytes, 0, inputStream.available());
inputStream.close();
return bytes;
}
/*@GetMapping(value = "/images/**", produces = MediaType.IMAGE_JPEG_VALUE)
public BufferedImage getImage(HttpServletRequest request) throws IOException {
try (InputStream is = new FileInputStream(request.getRequestURI())) {
return ImageIO.read(is);
}
}*/
/*@GetMapping(value = "/file/**")
public ResponseEntity<Resource> download(HttpServletRequest request) {
File file = new File(request.getRequestURI());
AssertUtils.isTrue(file.exists(), "访问文件不存在");
String contentDisposition = ContentDisposition
.builder("attachment")
.filename(request.getRequestURI())
.build().toString();
return ResponseEntity.ok()
.header(HttpHeaders.CONTENT_DISPOSITION, contentDisposition)
.contentType(MediaType.APPLICATION_OCTET_STREAM)
.body(new FileSystemResource(file));
}*/
}
...@@ -42,7 +42,7 @@ import java.util.*; ...@@ -42,7 +42,7 @@ import java.util.*;
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@Api(tags = "系统:部门管理") @Api(tags = "系统:部门管理")
@RequestMapping("/api/dept") @RequestMapping("/admin/dept")
public class DeptController { public class DeptController {
private final DeptService deptService; private final DeptService deptService;
......
...@@ -41,7 +41,7 @@ import java.util.Set; ...@@ -41,7 +41,7 @@ import java.util.Set;
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@Api(tags = "系统:字典管理") @Api(tags = "系统:字典管理")
@RequestMapping("/api/dict") @RequestMapping("/admin/dict")
public class DictController { public class DictController {
private final DictService dictService; private final DictService dictService;
......
...@@ -44,7 +44,7 @@ import java.util.Map; ...@@ -44,7 +44,7 @@ import java.util.Map;
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@Api(tags = "系统:字典详情管理") @Api(tags = "系统:字典详情管理")
@RequestMapping("/api/dictDetail") @RequestMapping("/admin/dictDetail")
public class DictDetailController { public class DictDetailController {
private final DictDetailService dictDetailService; private final DictDetailService dictDetailService;
......
...@@ -41,7 +41,7 @@ import java.util.Set; ...@@ -41,7 +41,7 @@ import java.util.Set;
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@Api(tags = "系统:岗位管理") @Api(tags = "系统:岗位管理")
@RequestMapping("/api/job") @RequestMapping("/admin/job")
public class JobController { public class JobController {
private final JobService jobService; private final JobService jobService;
......
...@@ -29,7 +29,7 @@ import java.util.concurrent.atomic.AtomicInteger; ...@@ -29,7 +29,7 @@ import java.util.concurrent.atomic.AtomicInteger;
* 接口限流测试类 * 接口限流测试类
*/ */
@RestController @RestController
@RequestMapping("/api/limit") @RequestMapping("/admin/limit")
@Api(tags = "系统:限流测试管理") @Api(tags = "系统:限流测试管理")
public class LimitController { public class LimitController {
......
...@@ -37,7 +37,7 @@ import java.io.IOException; ...@@ -37,7 +37,7 @@ import java.io.IOException;
*/ */
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@RequestMapping("/api/logs") @RequestMapping("/admin/logs")
@Api(tags = "系统:日志管理") @Api(tags = "系统:日志管理")
public class LogController { public class LogController {
......
...@@ -46,7 +46,7 @@ import java.util.stream.Collectors; ...@@ -46,7 +46,7 @@ import java.util.stream.Collectors;
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@Api(tags = "系统:菜单管理") @Api(tags = "系统:菜单管理")
@RequestMapping("/api/menus") @RequestMapping("/admin/menus")
public class MenuController { public class MenuController {
private final MenuService menuService; private final MenuService menuService;
......
...@@ -33,7 +33,7 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -33,7 +33,7 @@ import org.springframework.web.bind.annotation.RestController;
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@Api(tags = "系统-服务监控管理") @Api(tags = "系统-服务监控管理")
@RequestMapping("/api/monitor") @RequestMapping("/admin/monitor")
public class MonitorController { public class MonitorController {
private final MonitorService serverService; private final MonitorService serverService;
......
...@@ -48,7 +48,7 @@ import java.util.stream.Collectors; ...@@ -48,7 +48,7 @@ import java.util.stream.Collectors;
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@Api(tags = "系统:角色管理") @Api(tags = "系统:角色管理")
@RequestMapping("/api/roles") @RequestMapping("/admin/roles")
public class RoleController { public class RoleController {
private final RoleService roleService; private final RoleService roleService;
......
...@@ -57,7 +57,7 @@ import java.util.stream.Collectors; ...@@ -57,7 +57,7 @@ import java.util.stream.Collectors;
*/ */
@Api(tags = "系统:用户管理") @Api(tags = "系统:用户管理")
@RestController @RestController
@RequestMapping("/api/users") @RequestMapping("/admin/users")
@RequiredArgsConstructor @RequiredArgsConstructor
public class UserController { public class UserController {
......
...@@ -35,7 +35,7 @@ import java.util.Objects; ...@@ -35,7 +35,7 @@ import java.util.Objects;
*/ */
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@RequestMapping("/api/code") @RequestMapping("/admin/code")
@Api(tags = "系统:验证码管理") @Api(tags = "系统:验证码管理")
public class VerifyController { public class VerifyController {
......
...@@ -45,7 +45,7 @@ import java.util.Map; ...@@ -45,7 +45,7 @@ import java.util.Map;
@Slf4j @Slf4j
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@RequestMapping("/api/aliPay") @RequestMapping("/admin/aliPay")
@Api(tags = "工具:支付宝管理") @Api(tags = "工具:支付宝管理")
public class AliPayController { public class AliPayController {
......
...@@ -35,7 +35,7 @@ import org.springframework.web.bind.annotation.*; ...@@ -35,7 +35,7 @@ import org.springframework.web.bind.annotation.*;
*/ */
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@RequestMapping("api/email") @RequestMapping("admin/email")
@Api(tags = "工具:邮件管理") @Api(tags = "工具:邮件管理")
public class EmailController { public class EmailController {
......
...@@ -42,7 +42,7 @@ import java.io.IOException; ...@@ -42,7 +42,7 @@ import java.io.IOException;
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@Api(tags = "工具:本地存储管理") @Api(tags = "工具:本地存储管理")
@RequestMapping("/api/localStorage") @RequestMapping("/admin/localStorage")
public class LocalStorageController { public class LocalStorageController {
private final LocalStorageService localStorageService; private final LocalStorageService localStorageService;
......
...@@ -45,7 +45,7 @@ import java.util.Map; ...@@ -45,7 +45,7 @@ import java.util.Map;
@Slf4j @Slf4j
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@RequestMapping("/api/qiNiuContent") @RequestMapping("/admin/qiNiuContent")
@Api(tags = "工具:七牛云存储管理") @Api(tags = "工具:七牛云存储管理")
public class QiniuController { public class QiniuController {
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
*/ */
package com.zq.admin.utils; package com.zq.admin.utils;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.IoUtil; import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.poi.excel.BigExcelWriter; import cn.hutool.poi.excel.BigExcelWriter;
...@@ -188,7 +189,7 @@ public class FileUtil extends cn.hutool.core.io.FileUtil { ...@@ -188,7 +189,7 @@ public class FileUtil extends cn.hutool.core.io.FileUtil {
String nowStr = "-" + format.format(date); String nowStr = "-" + format.format(date);
try { try {
String fileName = name + nowStr + "." + suffix; String fileName = name + nowStr + "." + suffix;
String path = filePath + fileName; String path = filePath + (DateUtil.format(new Date(), "yyyyMM/dd/")) + fileName;
// getCanonicalFile 可解析正确各种路径 // getCanonicalFile 可解析正确各种路径
File dest = new File(path).getCanonicalFile(); File dest = new File(path).getCanonicalFile();
// 检测是否存在目录 // 检测是否存在目录
......
...@@ -53,8 +53,9 @@ spring: ...@@ -53,8 +53,9 @@ spring:
enabled: true enabled: true
stat-view-servlet: stat-view-servlet:
enabled: true enabled: true
url-pattern: /druid/* url-pattern: /admin/druid/*
reset-enable: false reset-enable: false
allow: ""
filter: filter:
stat: stat:
enabled: true enabled: true
...@@ -142,11 +143,11 @@ file: ...@@ -142,11 +143,11 @@ file:
path: ~/file/ path: ~/file/
avatar: ~/avatar/ avatar: ~/avatar/
linux: linux:
path: /home/eladmin/file/ path: /data/file/
avatar: /home/eladmin/avatar/ avatar: /data/avatar/
windows: windows:
path: C:\eladmin\file\ path: D:\data\file\
avatar: C:\eladmin\avatar\ avatar: D:\data\avatar\
# 文件大小 /M # 文件大小 /M
maxSize: 100 maxSize: 100
avatarMaxSize: 5 avatarMaxSize: 5
...@@ -38,7 +38,7 @@ import javax.servlet.http.HttpServletResponse; ...@@ -38,7 +38,7 @@ import javax.servlet.http.HttpServletResponse;
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@Api(tags = "${apiAlias}管理") @Api(tags = "${apiAlias}管理")
@RequestMapping("/api/${changeClassName}") @RequestMapping("/admin/${changeClassName}")
public class ${className}Controller { public class ${className}Controller {
private final ${className}Service ${changeClassName}Service; private final ${className}Service ${changeClassName}Service;
......
...@@ -2,7 +2,7 @@ import request from '@/utils/request' ...@@ -2,7 +2,7 @@ import request from '@/utils/request'
export function add(data) { export function add(data) {
return request({ return request({
url: 'api/${changeClassName}', url: 'admin/${changeClassName}',
method: 'post', method: 'post',
data data
}) })
...@@ -10,7 +10,7 @@ data ...@@ -10,7 +10,7 @@ data
export function del(ids) { export function del(ids) {
return request({ return request({
url: 'api/${changeClassName}/', url: 'admin/${changeClassName}/',
method: 'delete', method: 'delete',
data: ids data: ids
}) })
...@@ -18,7 +18,7 @@ data: ids ...@@ -18,7 +18,7 @@ data: ids
export function edit(data) { export function edit(data) {
return request({ return request({
url: 'api/${changeClassName}', url: 'admin/${changeClassName}',
method: 'put', method: 'put',
data data
}) })
......
...@@ -135,7 +135,7 @@ ...@@ -135,7 +135,7 @@
cruds() { cruds() {
return CRUD({ return CRUD({
title: '${apiAlias}', title: '${apiAlias}',
url: 'api/${changeClassName}', url: 'admin/${changeClassName}',
idField: '${pkChangeColName}', idField: '${pkChangeColName}',
sort: '${pkChangeColName},desc', sort: '${pkChangeColName},desc',
crudMethod: {...crud${className}} crudMethod: {...crud${className}}
......
...@@ -16,7 +16,7 @@ api.name: API-SERVER ...@@ -16,7 +16,7 @@ api.name: API-SERVER
user.port: 8700 user.port: 8700
user.name: USER-SERVER user.name: USER-SERVER
gateway.port: 8999 gateway.port: 9888
gateway.name: GATEWAY-SERVER gateway.name: GATEWAY-SERVER
redis.url: 127.0.0.1 redis.url: 127.0.0.1
......
...@@ -16,7 +16,7 @@ api.name: API-SERVER ...@@ -16,7 +16,7 @@ api.name: API-SERVER
user.port: 8700 user.port: 8700
user.name: USER-SERVER user.name: USER-SERVER
gateway.port: 8999 gateway.port: 9888
gateway.name: GATEWAY-SERVER gateway.name: GATEWAY-SERVER
redis.url: 127.0.0.1 redis.url: 127.0.0.1
......
...@@ -16,7 +16,7 @@ api.name: API-SERVER ...@@ -16,7 +16,7 @@ api.name: API-SERVER
user.port: 8700 user.port: 8700
user.name: USER-SERVER user.name: USER-SERVER
gateway.port: 8999 gateway.port: 9888
gateway.name: GATEWAY-SERVER gateway.name: GATEWAY-SERVER
redis.url: 127.0.0.1 redis.url: 127.0.0.1
......
...@@ -55,6 +55,7 @@ spring: ...@@ -55,6 +55,7 @@ spring:
enabled: true enabled: true
url-pattern: /druid/* url-pattern: /druid/*
reset-enable: false reset-enable: false
allow: ""
filter: filter:
stat: stat:
enabled: true enabled: true
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment