feat: get、put、delete改post
This commit is contained in:
@@ -16,20 +16,20 @@ export function login(username, password, code, uuid) {
|
|||||||
export function getInfo() {
|
export function getInfo() {
|
||||||
return request({
|
return request({
|
||||||
url: 'auth/info',
|
url: 'auth/info',
|
||||||
method: 'get'
|
method: 'post'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getCodeImg() {
|
export function getCodeImg() {
|
||||||
return request({
|
return request({
|
||||||
url: 'auth/code',
|
url: 'auth/code',
|
||||||
method: 'get'
|
method: 'post'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function logout() {
|
export function logout() {
|
||||||
return request({
|
return request({
|
||||||
url: 'auth/logout',
|
url: 'auth/logout',
|
||||||
method: 'delete'
|
method: 'post'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import request from '@/utils/request'
|
import request from '@/utils/request'
|
||||||
|
|
||||||
export function del(keys) {
|
export function kickOutUser(keys) {
|
||||||
return request({
|
return request({
|
||||||
url: 'auth/online',
|
url: 'auth/online/kickOutUser',
|
||||||
method: 'delete',
|
method: 'post',
|
||||||
data: keys
|
data: keys
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,18 +24,18 @@ export function edit(data) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function updateIsPause(id) {
|
export function switchJobPauseStatus(id) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/jobs/' + id,
|
url: 'api/jobs/switchJobPauseStatus/' + id,
|
||||||
method: 'put'
|
method: 'post'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function execution(id) {
|
export function executionQuartzJob(id) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/jobs/exec/' + id,
|
url: 'api/jobs/executionQuartzJob/' + id,
|
||||||
method: 'put'
|
method: 'post'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export default { del, updateIsPause, execution, add, edit }
|
export default { add, edit, del, switchJobPauseStatus, executionQuartzJob }
|
||||||
@@ -1,15 +1,22 @@
|
|||||||
import request from '@/utils/request'
|
import request from '@/utils/request'
|
||||||
|
|
||||||
export function sendCaptcha(data) {
|
export function sendResetEmailCaptcha(data) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/code/sendCaptcha?email=' + data,
|
url: 'api/code/sendResetEmailCaptcha?email=' + data,
|
||||||
method: 'post'
|
method: 'post'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function updatePass(pass) {
|
export function sendResetPasswordCaptcha(data) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/users/updatePass/' + pass,
|
url: 'api/code/sendResetPasswordCaptcha?email=' + data,
|
||||||
method: 'get'
|
method: 'post'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function validatedCaptcha(email, code, codeBi) {
|
||||||
|
return request({
|
||||||
|
url: `api/code/validatedCaptcha?email=${email}&code=${code}&codeBi=${codeBi}`,
|
||||||
|
method: 'post'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ export function getDeptSuperior(ids, exclude) {
|
|||||||
exclude = exclude !== undefined ? exclude : false
|
exclude = exclude !== undefined ? exclude : false
|
||||||
const data = Array.isArray(ids) ? ids : [ids]
|
const data = Array.isArray(ids) ? ids : [ids]
|
||||||
return request({
|
return request({
|
||||||
url: 'api/dept/superior?exclude=' + exclude,
|
url: 'api/dept/getDeptSuperior?exclude=' + exclude,
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
@@ -20,7 +20,7 @@ export function getDeptSuperior(ids, exclude) {
|
|||||||
|
|
||||||
export function add(data) {
|
export function add(data) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/dept',
|
url: 'api/dept/createDept',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
@@ -28,16 +28,16 @@ export function add(data) {
|
|||||||
|
|
||||||
export function del(ids) {
|
export function del(ids) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/dept',
|
url: 'api/dept/deleteDept',
|
||||||
method: 'delete',
|
method: 'post',
|
||||||
data: ids
|
data: ids
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function edit(data) {
|
export function edit(data) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/dept',
|
url: 'api/dept/updateDept',
|
||||||
method: 'put',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,14 @@ import request from '@/utils/request'
|
|||||||
|
|
||||||
export function getDicts() {
|
export function getDicts() {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/dict/all',
|
url: 'api/dict/queryAllDict',
|
||||||
method: 'get'
|
method: 'post'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function add(data) {
|
export function add(data) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/dict',
|
url: 'api/dict/createDict',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
@@ -17,16 +17,16 @@ export function add(data) {
|
|||||||
|
|
||||||
export function del(ids) {
|
export function del(ids) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/dict/',
|
url: 'api/dict/deleteDict',
|
||||||
method: 'delete',
|
method: 'post',
|
||||||
data: ids
|
data: ids
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function edit(data) {
|
export function edit(data) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/dict',
|
url: 'api/dict/updateDict',
|
||||||
method: 'put',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ export function getDictMap(dictName) {
|
|||||||
size: 9999
|
size: 9999
|
||||||
}
|
}
|
||||||
return request({
|
return request({
|
||||||
url: 'api/dictDetail/map',
|
url: 'api/dictDetail/getDictDetailMaps',
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params
|
params
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ export function getAllJob() {
|
|||||||
|
|
||||||
export function add(data) {
|
export function add(data) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/job',
|
url: 'api/job/createJob',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
@@ -23,16 +23,16 @@ export function add(data) {
|
|||||||
|
|
||||||
export function del(ids) {
|
export function del(ids) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/job',
|
url: 'api/job/deleteJob',
|
||||||
method: 'delete',
|
method: 'post',
|
||||||
data: ids
|
data: ids
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function edit(data) {
|
export function edit(data) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/job',
|
url: 'api/job/updateJob',
|
||||||
method: 'put',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ import request from '@/utils/request'
|
|||||||
|
|
||||||
export function getMenusTree(pid) {
|
export function getMenusTree(pid) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/menus/lazy?pid=' + pid,
|
url: 'api/menus/queryAllMenu?pid=' + pid,
|
||||||
method: 'get'
|
method: 'post'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -18,7 +18,7 @@ export function getMenus(params) {
|
|||||||
export function getMenuSuperior(ids) {
|
export function getMenuSuperior(ids) {
|
||||||
const data = Array.isArray(ids) ? ids : [ids]
|
const data = Array.isArray(ids) ? ids : [ids]
|
||||||
return request({
|
return request({
|
||||||
url: 'api/menus/superior',
|
url: 'api/menus/queryMenuSuperior',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
@@ -26,21 +26,21 @@ export function getMenuSuperior(ids) {
|
|||||||
|
|
||||||
export function getChild(id) {
|
export function getChild(id) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/menus/child?id=' + id,
|
url: 'api/menus/queryChildMenu?id=' + id,
|
||||||
method: 'get'
|
method: 'post'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function buildMenus() {
|
export function buildMenus() {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/menus/build',
|
url: 'api/menus/buildMenus',
|
||||||
method: 'get'
|
method: 'post'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function add(data) {
|
export function add(data) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/menus',
|
url: 'api/menus/createMenu',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
@@ -48,16 +48,16 @@ export function add(data) {
|
|||||||
|
|
||||||
export function del(ids) {
|
export function del(ids) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/menus',
|
url: 'api/menus/deleteMenu',
|
||||||
method: 'delete',
|
method: 'post',
|
||||||
data: ids
|
data: ids
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function edit(data) {
|
export function edit(data) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/menus',
|
url: 'api/menus/updateMenu',
|
||||||
method: 'put',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,14 +3,14 @@ import request from '@/utils/request'
|
|||||||
// 获取所有的Role
|
// 获取所有的Role
|
||||||
export function getAll() {
|
export function getAll() {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/roles/all',
|
url: 'api/roles/queryAllRole',
|
||||||
method: 'get'
|
method: 'post'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function add(data) {
|
export function add(data) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/roles',
|
url: 'api/roles/createRole',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
@@ -18,38 +18,38 @@ export function add(data) {
|
|||||||
|
|
||||||
export function get(id) {
|
export function get(id) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/roles/' + id,
|
url: 'api/roles/getRoleById/' + id,
|
||||||
method: 'get'
|
method: 'post'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getLevel() {
|
export function getLevel() {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/roles/level',
|
url: 'api/roles/getRoleLevel',
|
||||||
method: 'get'
|
method: 'post'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function del(ids) {
|
export function del(ids) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/roles',
|
url: 'api/roles/deleteRole',
|
||||||
method: 'delete',
|
method: 'post',
|
||||||
data: ids
|
data: ids
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function edit(data) {
|
export function edit(data) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/roles',
|
url: 'api/roles/updateRole',
|
||||||
method: 'put',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function editMenu(data) {
|
export function editMenu(data) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/roles/menu',
|
url: 'api/roles/updateRoleMenu',
|
||||||
method: 'put',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { encrypt } from '@/utils/rsaEncrypt'
|
|||||||
|
|
||||||
export function add(data) {
|
export function add(data) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/users',
|
url: 'api/users/createUser',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
@@ -11,8 +11,8 @@ export function add(data) {
|
|||||||
|
|
||||||
export function del(ids) {
|
export function del(ids) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/users',
|
url: 'api/users/deleteUser',
|
||||||
method: 'delete',
|
method: 'post',
|
||||||
data: ids
|
data: ids
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -20,23 +20,23 @@ export function del(ids) {
|
|||||||
export function resetPwd(ids) {
|
export function resetPwd(ids) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/users/resetPwd',
|
url: 'api/users/resetPwd',
|
||||||
method: 'put',
|
method: 'post',
|
||||||
data: ids
|
data: ids
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function edit(data) {
|
export function edit(data) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/users',
|
url: 'api/users/updateUser',
|
||||||
method: 'put',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function editUser(data) {
|
export function editUser(data) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/users/center',
|
url: 'api/users/updateCenterInfo',
|
||||||
method: 'put',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -47,7 +47,7 @@ export function updatePass(user) {
|
|||||||
newPass: encrypt(user.newPass)
|
newPass: encrypt(user.newPass)
|
||||||
}
|
}
|
||||||
return request({
|
return request({
|
||||||
url: 'api/users/updatePass/',
|
url: 'api/users/updatePassword/',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,24 +1,24 @@
|
|||||||
import request from '@/utils/request'
|
import request from '@/utils/request'
|
||||||
|
|
||||||
export function get() {
|
export function queryEmailConfig() {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/email',
|
url: 'api/email/queryEmailConfig',
|
||||||
method: 'get'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
export function update(data) {
|
|
||||||
return request({
|
|
||||||
url: 'api/email',
|
|
||||||
data,
|
|
||||||
method: 'put'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
export function send(data) {
|
|
||||||
return request({
|
|
||||||
url: 'api/email',
|
|
||||||
data,
|
|
||||||
method: 'post'
|
method: 'post'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function updateEmailConfig(data) {
|
||||||
|
return request({
|
||||||
|
url: 'api/email/updateEmailConfig',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function sendEmail(data) {
|
||||||
|
return request({
|
||||||
|
url: 'api/email/sendEmail',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
import request from '@/utils/request'
|
import request from '@/utils/request'
|
||||||
|
|
||||||
export function get() {
|
export function queryQiNiuConfig() {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/qiNiuContent/config',
|
url: 'api/qiNiuContent/queryQiNiuConfig',
|
||||||
method: 'get'
|
method: 'post'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function update(data) {
|
export function update(data) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/qiNiuContent/config',
|
url: 'api/qiNiuContent/updateQiNiuConfig',
|
||||||
data,
|
method: 'post',
|
||||||
method: 'put'
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -55,7 +55,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { del } from '@/api/monitor/online'
|
import { kickOutUser } from '@/api/monitor/online'
|
||||||
import CRUD, { presenter, header, crud } from '@crud/crud'
|
import CRUD, { presenter, header, crud } from '@crud/crud'
|
||||||
import rrOperation from '@crud/RR.operation'
|
import rrOperation from '@crud/RR.operation'
|
||||||
import crudOperation from '@crud/CRUD.operation'
|
import crudOperation from '@crud/CRUD.operation'
|
||||||
@@ -102,7 +102,7 @@ export default {
|
|||||||
})
|
})
|
||||||
} else ids.push(key)
|
} else ids.push(key)
|
||||||
this.delLoading = true
|
this.delLoading = true
|
||||||
del(ids).then(() => {
|
kickOutUser(ids).then(() => {
|
||||||
this.delLoading = false
|
this.delLoading = false
|
||||||
if (this.$refs[index]) {
|
if (this.$refs[index]) {
|
||||||
this.$refs[index].doClose()
|
this.$refs[index].doClose()
|
||||||
|
|||||||
@@ -114,7 +114,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import crudJob from '@/api/system/timing'
|
import crudJob from '@/api/quartzjob/timing'
|
||||||
import Log from './log'
|
import Log from './log'
|
||||||
import CRUD, { presenter, header, form, crud } from '@crud/crud'
|
import CRUD, { presenter, header, form, crud } from '@crud/crud'
|
||||||
import rrOperation from '@crud/RR.operation'
|
import rrOperation from '@crud/RR.operation'
|
||||||
@@ -163,7 +163,7 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
// 执行
|
// 执行
|
||||||
execute(id) {
|
execute(id) {
|
||||||
crudJob.execution(id).then(res => {
|
crudJob.executionQuartzJob(id).then(res => {
|
||||||
this.crud.notify('执行成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
this.crud.notify('执行成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
console.log(err.response.data.message)
|
console.log(err.response.data.message)
|
||||||
@@ -174,7 +174,7 @@ export default {
|
|||||||
if (status === '恢复') {
|
if (status === '恢复') {
|
||||||
this.updateParams(id)
|
this.updateParams(id)
|
||||||
}
|
}
|
||||||
crudJob.updateIsPause(id).then(res => {
|
crudJob.switchJobPauseStatus(id).then(res => {
|
||||||
this.crud.toQuery()
|
this.crud.toQuery()
|
||||||
this.crud.notify(status + '成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
this.crud.notify(status + '成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
import store from '@/store'
|
import store from '@/store'
|
||||||
import { validEmail } from '@/utils/validate'
|
import { validEmail } from '@/utils/validate'
|
||||||
import { updateEmail } from '@/api/system/user'
|
import { updateEmail } from '@/api/system/user'
|
||||||
import { sendCaptcha } from '@/api/system/code'
|
import { sendResetEmailCaptcha } from '@/api/system/code'
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
email: {
|
email: {
|
||||||
@@ -71,7 +71,7 @@ export default {
|
|||||||
this.codeLoading = true
|
this.codeLoading = true
|
||||||
this.buttonName = '验证码发送中'
|
this.buttonName = '验证码发送中'
|
||||||
const _this = this
|
const _this = this
|
||||||
sendCaptcha(this.form.email).then(res => {
|
sendResetEmailCaptcha(this.form.email).then(res => {
|
||||||
this.$message({
|
this.$message({
|
||||||
showClose: true,
|
showClose: true,
|
||||||
message: '发送成功,验证码有效期5分钟',
|
message: '发送成功,验证码有效期5分钟',
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { get, update } from '@/api/tools/email'
|
import { queryEmailConfig, updateEmailConfig } from '@/api/tools/email'
|
||||||
export default {
|
export default {
|
||||||
name: 'Config',
|
name: 'Config',
|
||||||
data() {
|
data() {
|
||||||
@@ -58,7 +58,7 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
init() {
|
init() {
|
||||||
get().then(res => {
|
queryEmailConfig().then(res => {
|
||||||
this.form = res
|
this.form = res
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -66,7 +66,7 @@ export default {
|
|||||||
this.$refs['form'].validate((valid) => {
|
this.$refs['form'].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
update(this.form).then(res => {
|
updateEmailConfig(this.form).then(res => {
|
||||||
this.$notify({
|
this.$notify({
|
||||||
title: '修改成功',
|
title: '修改成功',
|
||||||
type: 'success',
|
type: 'success',
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { send } from '@/api/tools/email'
|
import { sendEmail } from '@/api/tools/email'
|
||||||
import { upload } from '@/utils/upload'
|
import { upload } from '@/utils/upload'
|
||||||
import { mapGetters } from 'vuex'
|
import { mapGetters } from 'vuex'
|
||||||
import E from 'wangeditor'
|
import E from 'wangeditor'
|
||||||
@@ -66,7 +66,7 @@ export default {
|
|||||||
this.$refs['form'].validate((valid) => {
|
this.$refs['form'].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
send(this.form).then(res => {
|
sendEmail(this.form).then(res => {
|
||||||
this.$notify({
|
this.$notify({
|
||||||
title: '发送成功',
|
title: '发送成功',
|
||||||
type: 'success',
|
type: 'success',
|
||||||
|
|||||||
@@ -36,7 +36,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { get, update } from '@/api/tools/qiniu'
|
import { queryQiNiuConfig, update } from '@/api/tools/qiniu'
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@@ -63,7 +63,7 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
init() {
|
init() {
|
||||||
get().then(res => {
|
queryQiNiuConfig().then(res => {
|
||||||
this.form = res
|
this.form = res
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -0,0 +1,184 @@
|
|||||||
|
package cn.odboy.util;
|
||||||
|
|
||||||
|
import java.util.concurrent.atomic.AtomicLong;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分布式id生成工具
|
||||||
|
*
|
||||||
|
* @author odboy
|
||||||
|
* @date 2025-04-05
|
||||||
|
*/
|
||||||
|
public final class DistributedIdUtil {
|
||||||
|
/**
|
||||||
|
* 起始毫秒时间戳,2020-12-30
|
||||||
|
*/
|
||||||
|
private static final long START_TIMESTAMP = 1609314517000L;
|
||||||
|
/**
|
||||||
|
* 数据中心 ID 所占位数
|
||||||
|
*/
|
||||||
|
private final long dataCenterIdBits;
|
||||||
|
/**
|
||||||
|
* 机器 ID 所占位数
|
||||||
|
*/
|
||||||
|
private final long workerIdBits;
|
||||||
|
/**
|
||||||
|
* 序列号所占位数
|
||||||
|
*/
|
||||||
|
private final long sequenceBits;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据中心 ID 最大值
|
||||||
|
*/
|
||||||
|
private final long maxDataCenterId;
|
||||||
|
/**
|
||||||
|
* 机器 ID 最大值
|
||||||
|
*/
|
||||||
|
private final long maxWorkerId;
|
||||||
|
/**
|
||||||
|
* 序列号最大值
|
||||||
|
*/
|
||||||
|
private final long sequenceMask;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 机器 ID 向左移位数
|
||||||
|
*/
|
||||||
|
private final long workerIdShift;
|
||||||
|
/**
|
||||||
|
* 数据中心 ID 向左移位数
|
||||||
|
*/
|
||||||
|
private final long dataCenterIdShift;
|
||||||
|
/**
|
||||||
|
* 时间戳向左移位数
|
||||||
|
*/
|
||||||
|
private final long timestampLeftShift;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据中心 ID
|
||||||
|
*/
|
||||||
|
private final long dataCenterId;
|
||||||
|
/**
|
||||||
|
* 机器 ID
|
||||||
|
*/
|
||||||
|
private final long workerId;
|
||||||
|
/**
|
||||||
|
* 序列号
|
||||||
|
*/
|
||||||
|
private final AtomicLong sequence = new AtomicLong(0L);
|
||||||
|
/**
|
||||||
|
* 上一次生成 ID 的时间戳
|
||||||
|
*/
|
||||||
|
private final AtomicLong lastTimestamp = new AtomicLong(-1L);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 单例实例持有者类
|
||||||
|
*/
|
||||||
|
private static class InstanceHolder {
|
||||||
|
private static final DistributedIdUtil INSTANCE = new DistributedIdUtil(20, 12, 5, 5, 12);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构造函数,初始化数据中心 ID 和机器 ID
|
||||||
|
*
|
||||||
|
* @param dataCenterId 数据中心 ID
|
||||||
|
* @param workerId 机器 ID
|
||||||
|
* @param dataCenterIdBits 数据中心 ID 所占位数
|
||||||
|
* @param workerIdBits 机器 ID 所占位数
|
||||||
|
* @param sequenceBits 序列号所占位数
|
||||||
|
*/
|
||||||
|
public DistributedIdUtil(long dataCenterId, long workerId, long dataCenterIdBits, long workerIdBits, long sequenceBits) {
|
||||||
|
this.dataCenterIdBits = dataCenterIdBits;
|
||||||
|
this.workerIdBits = workerIdBits;
|
||||||
|
this.sequenceBits = sequenceBits;
|
||||||
|
|
||||||
|
this.maxDataCenterId = ~(-1L << dataCenterIdBits);
|
||||||
|
this.maxWorkerId = ~(-1L << workerIdBits);
|
||||||
|
this.sequenceMask = ~(-1L << sequenceBits);
|
||||||
|
|
||||||
|
this.workerIdShift = sequenceBits;
|
||||||
|
this.dataCenterIdShift = sequenceBits + workerIdBits;
|
||||||
|
this.timestampLeftShift = sequenceBits + workerIdBits + dataCenterIdBits;
|
||||||
|
|
||||||
|
if (dataCenterId > maxDataCenterId || dataCenterId < 0) {
|
||||||
|
throw new IllegalArgumentException("Data center ID can't be greater than " + maxDataCenterId + " or less than 0");
|
||||||
|
}
|
||||||
|
if (workerId > maxWorkerId || workerId < 0) {
|
||||||
|
throw new IllegalArgumentException("Worker ID can't be greater than " + maxWorkerId + " or less than 0");
|
||||||
|
}
|
||||||
|
this.dataCenterId = dataCenterId;
|
||||||
|
this.workerId = workerId;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生成下一个分布式 ID
|
||||||
|
*
|
||||||
|
* @return 生成的分布式 ID
|
||||||
|
*/
|
||||||
|
public long nextId() {
|
||||||
|
long currentTimestamp = System.currentTimeMillis();
|
||||||
|
|
||||||
|
// 如果当前时间戳小于上一次生成 ID 的时间戳,说明时钟回拨,抛出异常
|
||||||
|
if (currentTimestamp < lastTimestamp.get()) {
|
||||||
|
throw new RuntimeException("Clock moved backwards. Refusing to generate id for " + (lastTimestamp.get() - currentTimestamp) + " milliseconds");
|
||||||
|
}
|
||||||
|
|
||||||
|
long lastTimestampValue = lastTimestamp.get();
|
||||||
|
if (currentTimestamp == lastTimestampValue) {
|
||||||
|
// 同一毫秒内,序列号自增
|
||||||
|
long seq = sequence.incrementAndGet() & sequenceMask;
|
||||||
|
if (seq == 0) {
|
||||||
|
// 序列号溢出,等待下一毫秒
|
||||||
|
currentTimestamp = waitNextMillis(lastTimestampValue);
|
||||||
|
}
|
||||||
|
return ((currentTimestamp - START_TIMESTAMP) << timestampLeftShift) |
|
||||||
|
(dataCenterId << dataCenterIdShift) |
|
||||||
|
(workerId << workerIdShift) |
|
||||||
|
seq;
|
||||||
|
} else {
|
||||||
|
// 时间戳改变,重置序列号
|
||||||
|
sequence.set(0L);
|
||||||
|
lastTimestamp.set(currentTimestamp);
|
||||||
|
return ((currentTimestamp - START_TIMESTAMP) << timestampLeftShift) |
|
||||||
|
(dataCenterId << dataCenterIdShift) |
|
||||||
|
(workerId << workerIdShift);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 等待下一毫秒
|
||||||
|
*
|
||||||
|
* @param lastTimestamp 上一次生成 ID 的时间戳
|
||||||
|
* @return 当前时间戳
|
||||||
|
*/
|
||||||
|
private long waitNextMillis(long lastTimestamp) {
|
||||||
|
long timestamp = System.currentTimeMillis();
|
||||||
|
while (timestamp <= lastTimestamp) {
|
||||||
|
timestamp = System.currentTimeMillis();
|
||||||
|
}
|
||||||
|
return timestamp;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取单例实例的下一个分布式 ID
|
||||||
|
*
|
||||||
|
* @return 生成的分布式 ID
|
||||||
|
*/
|
||||||
|
public static long fastNextId() {
|
||||||
|
return InstanceHolder.INSTANCE.nextId();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主方法,用于测试分布式 ID 生成
|
||||||
|
*
|
||||||
|
* @param args 命令行参数
|
||||||
|
*/
|
||||||
|
public static void main(String[] args) {
|
||||||
|
for (int i = 0; i < 10; i++) {
|
||||||
|
new Thread(() -> {
|
||||||
|
long id = Thread.currentThread().getId();
|
||||||
|
for (int j = 0; j < 20; j++) {
|
||||||
|
System.out.println(id + " - " + DistributedIdUtil.fastNextId());
|
||||||
|
}
|
||||||
|
}).start();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+3
-4
@@ -36,7 +36,6 @@ import java.util.Set;
|
|||||||
@RequestMapping("/api/jobs")
|
@RequestMapping("/api/jobs")
|
||||||
@Api(tags = "系统:定时任务管理")
|
@Api(tags = "系统:定时任务管理")
|
||||||
public class QuartzJobController {
|
public class QuartzJobController {
|
||||||
|
|
||||||
private static final String ENTITY_NAME = "quartzJob";
|
private static final String ENTITY_NAME = "quartzJob";
|
||||||
private final QuartzJobService quartzJobService;
|
private final QuartzJobService quartzJobService;
|
||||||
|
|
||||||
@@ -94,15 +93,15 @@ public class QuartzJobController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("更改定时任务状态")
|
@ApiOperation("更改定时任务状态")
|
||||||
@PutMapping(value = "/{id}")
|
@PostMapping(value = "/switchJobPauseStatus/{id}")
|
||||||
@PreAuthorize("@el.check('timing:edit')")
|
@PreAuthorize("@el.check('timing:edit')")
|
||||||
public ResponseEntity<Object> updateQuartzJobStatus(@PathVariable Long id) {
|
public ResponseEntity<Object> switchJobPauseStatus(@PathVariable Long id) {
|
||||||
quartzJobService.switchJobPauseStatus(quartzJobService.getById(id));
|
quartzJobService.switchJobPauseStatus(quartzJobService.getById(id));
|
||||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("执行定时任务")
|
@ApiOperation("执行定时任务")
|
||||||
@PutMapping(value = "/exec/{id}")
|
@PostMapping(value = "/executionQuartzJob/{id}")
|
||||||
@PreAuthorize("@el.check('timing:edit')")
|
@PreAuthorize("@el.check('timing:edit')")
|
||||||
public ResponseEntity<Object> executionQuartzJob(@PathVariable Long id) {
|
public ResponseEntity<Object> executionQuartzJob(@PathVariable Long id) {
|
||||||
quartzJobService.executionJob(quartzJobService.getById(id));
|
quartzJobService.executionJob(quartzJobService.getById(id));
|
||||||
|
|||||||
+1
-4
@@ -1,6 +1,5 @@
|
|||||||
package cn.odboy.application.core.context;
|
package cn.odboy.application.core.context;
|
||||||
|
|
||||||
import cn.odboy.application.core.config.SecurityProperties;
|
|
||||||
import cn.odboy.application.core.service.impl.UserOnlineServiceImpl;
|
import cn.odboy.application.core.service.impl.UserOnlineServiceImpl;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.security.config.annotation.SecurityConfigurerAdapter;
|
import org.springframework.security.config.annotation.SecurityConfigurerAdapter;
|
||||||
@@ -10,14 +9,12 @@ import org.springframework.security.web.authentication.UsernamePasswordAuthentic
|
|||||||
|
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class TokenConfigurer extends SecurityConfigurerAdapter<DefaultSecurityFilterChain, HttpSecurity> {
|
public class TokenConfigurer extends SecurityConfigurerAdapter<DefaultSecurityFilterChain, HttpSecurity> {
|
||||||
|
|
||||||
private final TokenProvider tokenProvider;
|
private final TokenProvider tokenProvider;
|
||||||
private final SecurityProperties properties;
|
|
||||||
private final UserOnlineServiceImpl onlineUserService;
|
private final UserOnlineServiceImpl onlineUserService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void configure(HttpSecurity http) {
|
public void configure(HttpSecurity http) {
|
||||||
TokenFilter customFilter = new TokenFilter(tokenProvider, properties, onlineUserService);
|
TokenFilter customFilter = new TokenFilter(tokenProvider, onlineUserService);
|
||||||
http.addFilterBefore(customFilter, UsernamePasswordAuthenticationFilter.class);
|
http.addFilterBefore(customFilter, UsernamePasswordAuthenticationFilter.class);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-6
@@ -1,7 +1,6 @@
|
|||||||
package cn.odboy.application.core.context;
|
package cn.odboy.application.core.context;
|
||||||
|
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.odboy.application.core.config.SecurityProperties;
|
|
||||||
import cn.odboy.application.core.service.impl.UserOnlineServiceImpl;
|
import cn.odboy.application.core.service.impl.UserOnlineServiceImpl;
|
||||||
import cn.odboy.constant.SystemConst;
|
import cn.odboy.constant.SystemConst;
|
||||||
import cn.odboy.model.system.model.UserOnlineModel;
|
import cn.odboy.model.system.model.UserOnlineModel;
|
||||||
@@ -19,18 +18,14 @@ import java.io.IOException;
|
|||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class TokenFilter extends GenericFilterBean {
|
public class TokenFilter extends GenericFilterBean {
|
||||||
|
|
||||||
private final TokenProvider tokenProvider;
|
private final TokenProvider tokenProvider;
|
||||||
private final SecurityProperties properties;
|
|
||||||
private final UserOnlineServiceImpl onlineUserService;
|
private final UserOnlineServiceImpl onlineUserService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param tokenProvider Token
|
* @param tokenProvider Token
|
||||||
* @param properties JWT
|
|
||||||
* @param onlineUserService 用户在线
|
* @param onlineUserService 用户在线
|
||||||
*/
|
*/
|
||||||
public TokenFilter(TokenProvider tokenProvider, SecurityProperties properties, UserOnlineServiceImpl onlineUserService) {
|
public TokenFilter(TokenProvider tokenProvider, UserOnlineServiceImpl onlineUserService) {
|
||||||
this.properties = properties;
|
|
||||||
this.onlineUserService = onlineUserService;
|
this.onlineUserService = onlineUserService;
|
||||||
this.tokenProvider = tokenProvider;
|
this.tokenProvider = tokenProvider;
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-6
@@ -2,8 +2,6 @@ package cn.odboy.application.core.rest;
|
|||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.IdUtil;
|
||||||
import cn.odboy.annotation.AnonymousDeleteMapping;
|
|
||||||
import cn.odboy.annotation.AnonymousGetMapping;
|
|
||||||
import cn.odboy.annotation.AnonymousPostMapping;
|
import cn.odboy.annotation.AnonymousPostMapping;
|
||||||
import cn.odboy.application.core.config.CaptchaProperties;
|
import cn.odboy.application.core.config.CaptchaProperties;
|
||||||
import cn.odboy.application.core.config.LoginProperties;
|
import cn.odboy.application.core.config.LoginProperties;
|
||||||
@@ -34,7 +32,7 @@ import org.springframework.security.core.Authentication;
|
|||||||
import org.springframework.security.core.context.SecurityContextHolder;
|
import org.springframework.security.core.context.SecurityContextHolder;
|
||||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
@@ -101,7 +99,7 @@ public class AuthController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("获取用户信息")
|
@ApiOperation("获取用户信息")
|
||||||
@GetMapping(value = "/info")
|
@PostMapping(value = "/info")
|
||||||
public ResponseEntity<UserInfoResponse> getUserInfo() {
|
public ResponseEntity<UserInfoResponse> getUserInfo() {
|
||||||
UserJwtModel jwtUser = (UserJwtModel) SecurityHelper.getCurrentUser();
|
UserJwtModel jwtUser = (UserJwtModel) SecurityHelper.getCurrentUser();
|
||||||
UserInfoResponse userInfoResponse = BeanUtil.copyProperties(jwtUser, UserInfoResponse.class);
|
UserInfoResponse userInfoResponse = BeanUtil.copyProperties(jwtUser, UserInfoResponse.class);
|
||||||
@@ -109,7 +107,7 @@ public class AuthController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("获取验证码")
|
@ApiOperation("获取验证码")
|
||||||
@AnonymousGetMapping(value = "/code")
|
@AnonymousPostMapping(value = "/code")
|
||||||
public ResponseEntity<Object> getCode() {
|
public ResponseEntity<Object> getCode() {
|
||||||
// 获取运算的结果
|
// 获取运算的结果
|
||||||
Captcha captcha = captchaProperties.getCaptcha();
|
Captcha captcha = captchaProperties.getCaptcha();
|
||||||
@@ -130,7 +128,7 @@ public class AuthController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("退出登录")
|
@ApiOperation("退出登录")
|
||||||
@AnonymousDeleteMapping(value = "/logout")
|
@AnonymousPostMapping(value = "/logout")
|
||||||
public ResponseEntity<Object> logout(HttpServletRequest request) {
|
public ResponseEntity<Object> logout(HttpServletRequest request) {
|
||||||
String token = tokenProvider.getToken(request);
|
String token = tokenProvider.getToken(request);
|
||||||
onlineUserService.logoutByToken(token);
|
onlineUserService.logoutByToken(token);
|
||||||
|
|||||||
+3
-3
@@ -11,8 +11,8 @@ import org.springframework.data.domain.Pageable;
|
|||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
@@ -43,9 +43,9 @@ public class OnlineController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("踢出用户")
|
@ApiOperation("踢出用户")
|
||||||
@DeleteMapping
|
@PostMapping(value = "/kickOutUser")
|
||||||
@PreAuthorize("@el.check()")
|
@PreAuthorize("@el.check()")
|
||||||
public ResponseEntity<Object> deleteOnlineUser(@RequestBody Set<String> keys) throws Exception {
|
public ResponseEntity<Object> kickOutUser(@RequestBody Set<String> keys) throws Exception {
|
||||||
for (String token : keys) {
|
for (String token : keys) {
|
||||||
// 解密Key
|
// 解密Key
|
||||||
token = DesEncryptUtil.desDecrypt(token);
|
token = DesEncryptUtil.desDecrypt(token);
|
||||||
|
|||||||
+2
-2
@@ -14,8 +14,8 @@ public interface UserOnlineService {
|
|||||||
* 保存在线用户信息
|
* 保存在线用户信息
|
||||||
*
|
*
|
||||||
* @param userJwtModel /
|
* @param userJwtModel /
|
||||||
* @param token /
|
* @param token /
|
||||||
* @param request /
|
* @param request /
|
||||||
*/
|
*/
|
||||||
void save(UserJwtModel userJwtModel, String token, HttpServletRequest request);
|
void save(UserJwtModel userJwtModel, String token, HttpServletRequest request);
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -6,8 +6,8 @@ import cn.odboy.application.system.service.RoleService;
|
|||||||
import cn.odboy.application.system.service.UserService;
|
import cn.odboy.application.system.service.UserService;
|
||||||
import cn.odboy.exception.BadRequestException;
|
import cn.odboy.exception.BadRequestException;
|
||||||
import cn.odboy.model.system.domain.User;
|
import cn.odboy.model.system.domain.User;
|
||||||
import cn.odboy.model.system.model.UserJwtModel;
|
|
||||||
import cn.odboy.model.system.model.RoleCodeModel;
|
import cn.odboy.model.system.model.RoleCodeModel;
|
||||||
|
import cn.odboy.model.system.model.UserJwtModel;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.security.core.userdetails.UserDetailsService;
|
import org.springframework.security.core.userdetails.UserDetailsService;
|
||||||
|
|||||||
+6
-7
@@ -9,7 +9,6 @@ import io.swagger.annotations.ApiOperation;
|
|||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
@@ -29,23 +28,23 @@ public class CaptchaController {
|
|||||||
*
|
*
|
||||||
* @param email 邮件地址
|
* @param email 邮件地址
|
||||||
*/
|
*/
|
||||||
@PostMapping(value = "/sendCaptcha")
|
|
||||||
@ApiOperation("重置邮箱,发送验证码")
|
@ApiOperation("重置邮箱,发送验证码")
|
||||||
public ResponseEntity<Object> resetEmail(@RequestParam String email) {
|
@PostMapping(value = "/sendResetEmailCaptcha")
|
||||||
|
public ResponseEntity<Object> sendResetEmailCaptcha(@RequestParam String email) {
|
||||||
emailService.sendCaptcha(email, CodeEnum.EMAIL_RESET_EMAIL_CODE.getKey());
|
emailService.sendCaptcha(email, CodeEnum.EMAIL_RESET_EMAIL_CODE.getKey());
|
||||||
return new ResponseEntity<>(HttpStatus.OK);
|
return new ResponseEntity<>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping(value = "/resetPass")
|
|
||||||
@ApiOperation("重置密码,发送验证码")
|
@ApiOperation("重置密码,发送验证码")
|
||||||
public ResponseEntity<Object> resetPass(@RequestParam String email) {
|
@PostMapping(value = "/sendResetPasswordCaptcha")
|
||||||
|
public ResponseEntity<Object> sendResetPasswordCaptcha(@RequestParam String email) {
|
||||||
emailService.sendCaptcha(email, CodeEnum.EMAIL_RESET_PWD_CODE.getKey());
|
emailService.sendCaptcha(email, CodeEnum.EMAIL_RESET_PWD_CODE.getKey());
|
||||||
return new ResponseEntity<>(HttpStatus.OK);
|
return new ResponseEntity<>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping(value = "/validated")
|
|
||||||
@ApiOperation("验证码验证")
|
@ApiOperation("验证码验证")
|
||||||
public ResponseEntity<Object> validated(@RequestParam String email, @RequestParam String code, @RequestParam Integer codeBi) {
|
@PostMapping(value = "/validatedCaptcha")
|
||||||
|
public ResponseEntity<Object> validatedCaptcha(@RequestParam String email, @RequestParam String code, @RequestParam Integer codeBi) {
|
||||||
CodeBiEnum biEnum = CodeBiEnum.find(codeBi);
|
CodeBiEnum biEnum = CodeBiEnum.find(codeBi);
|
||||||
switch (Objects.requireNonNull(biEnum)) {
|
switch (Objects.requireNonNull(biEnum)) {
|
||||||
case ONE:
|
case ONE:
|
||||||
|
|||||||
+4
-6
@@ -13,10 +13,8 @@ import org.springframework.http.HttpStatus;
|
|||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.PutMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
@@ -52,7 +50,7 @@ public class DeptController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("查询部门:根据ID获取同级与上级数据")
|
@ApiOperation("查询部门:根据ID获取同级与上级数据")
|
||||||
@PostMapping("/superior")
|
@PostMapping("/getDeptSuperior")
|
||||||
@PreAuthorize("@el.check('user:list','dept:list')")
|
@PreAuthorize("@el.check('user:list','dept:list')")
|
||||||
public ResponseEntity<Object> getDeptSuperior(@RequestBody List<Long> ids, @RequestParam(defaultValue = "false") Boolean exclude) {
|
public ResponseEntity<Object> getDeptSuperior(@RequestBody List<Long> ids, @RequestParam(defaultValue = "false") Boolean exclude) {
|
||||||
Set<Dept> deptSet = new LinkedHashSet<>();
|
Set<Dept> deptSet = new LinkedHashSet<>();
|
||||||
@@ -74,7 +72,7 @@ public class DeptController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("新增部门")
|
@ApiOperation("新增部门")
|
||||||
@PostMapping
|
@PostMapping(value = "/createDept")
|
||||||
@PreAuthorize("@el.check('dept:add')")
|
@PreAuthorize("@el.check('dept:add')")
|
||||||
public ResponseEntity<Object> createDept(@Validated @RequestBody CreateDeptRequest resources) {
|
public ResponseEntity<Object> createDept(@Validated @RequestBody CreateDeptRequest resources) {
|
||||||
deptService.createDept(resources);
|
deptService.createDept(resources);
|
||||||
@@ -82,7 +80,7 @@ public class DeptController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("修改部门")
|
@ApiOperation("修改部门")
|
||||||
@PutMapping
|
@PostMapping(value = "/updateDept")
|
||||||
@PreAuthorize("@el.check('dept:edit')")
|
@PreAuthorize("@el.check('dept:edit')")
|
||||||
public ResponseEntity<Object> updateDept(@Validated(Dept.Update.class) @RequestBody Dept resources) {
|
public ResponseEntity<Object> updateDept(@Validated(Dept.Update.class) @RequestBody Dept resources) {
|
||||||
deptService.updateDept(resources);
|
deptService.updateDept(resources);
|
||||||
@@ -90,7 +88,7 @@ public class DeptController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("删除部门")
|
@ApiOperation("删除部门")
|
||||||
@DeleteMapping
|
@PostMapping(value = "/deleteDept")
|
||||||
@PreAuthorize("@el.check('dept:del')")
|
@PreAuthorize("@el.check('dept:del')")
|
||||||
public ResponseEntity<Object> deleteDept(@RequestBody Set<Long> ids) {
|
public ResponseEntity<Object> deleteDept(@RequestBody Set<Long> ids) {
|
||||||
Set<Dept> depts = new HashSet<>();
|
Set<Dept> depts = new HashSet<>();
|
||||||
|
|||||||
+4
-6
@@ -13,10 +13,8 @@ import org.springframework.http.HttpStatus;
|
|||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.PutMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
@@ -40,7 +38,7 @@ public class DictController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("查询字典")
|
@ApiOperation("查询字典")
|
||||||
@GetMapping(value = "/all")
|
@PostMapping(value = "/queryAllDict")
|
||||||
@PreAuthorize("@el.check('dict:list')")
|
@PreAuthorize("@el.check('dict:list')")
|
||||||
public ResponseEntity<List<Dict>> queryAllDict() {
|
public ResponseEntity<List<Dict>> queryAllDict() {
|
||||||
return new ResponseEntity<>(dictService.selectDictByCriteria(new QueryDictRequest()), HttpStatus.OK);
|
return new ResponseEntity<>(dictService.selectDictByCriteria(new QueryDictRequest()), HttpStatus.OK);
|
||||||
@@ -55,7 +53,7 @@ public class DictController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("新增字典")
|
@ApiOperation("新增字典")
|
||||||
@PostMapping
|
@PostMapping(value = "/createDict")
|
||||||
@PreAuthorize("@el.check('dict:add')")
|
@PreAuthorize("@el.check('dict:add')")
|
||||||
public ResponseEntity<Object> createDict(@Validated @RequestBody CreateDictRequest resources) {
|
public ResponseEntity<Object> createDict(@Validated @RequestBody CreateDictRequest resources) {
|
||||||
dictService.saveDict(resources);
|
dictService.saveDict(resources);
|
||||||
@@ -63,7 +61,7 @@ public class DictController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("修改字典")
|
@ApiOperation("修改字典")
|
||||||
@PutMapping
|
@PostMapping(value = "/updateDict")
|
||||||
@PreAuthorize("@el.check('dict:edit')")
|
@PreAuthorize("@el.check('dict:edit')")
|
||||||
public ResponseEntity<Object> updateDict(@Validated(Dict.Update.class) @RequestBody Dict resources) {
|
public ResponseEntity<Object> updateDict(@Validated(Dict.Update.class) @RequestBody Dict resources) {
|
||||||
dictService.updateDictById(resources);
|
dictService.updateDictById(resources);
|
||||||
@@ -71,7 +69,7 @@ public class DictController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("删除字典")
|
@ApiOperation("删除字典")
|
||||||
@DeleteMapping
|
@PostMapping(value = "/deleteDict")
|
||||||
@PreAuthorize("@el.check('dict:del')")
|
@PreAuthorize("@el.check('dict:del')")
|
||||||
public ResponseEntity<Object> deleteDict(@RequestBody Set<Long> ids) {
|
public ResponseEntity<Object> deleteDict(@RequestBody Set<Long> ids) {
|
||||||
dictService.deleteDictByIds(ids);
|
dictService.deleteDictByIds(ids);
|
||||||
|
|||||||
+1
-1
@@ -41,7 +41,7 @@ public class DictDetailController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("查询多个字典详情")
|
@ApiOperation("查询多个字典详情")
|
||||||
@GetMapping(value = "/map")
|
@GetMapping(value = "/getDictDetailMaps")
|
||||||
public ResponseEntity<Object> getDictDetailMaps(@RequestParam String dictName) {
|
public ResponseEntity<Object> getDictDetailMaps(@RequestParam String dictName) {
|
||||||
String[] names = dictName.split("[,,]");
|
String[] names = dictName.split("[,,]");
|
||||||
Map<String, List<DictDetail>> dictMap = new HashMap<>(16);
|
Map<String, List<DictDetail>> dictMap = new HashMap<>(16);
|
||||||
|
|||||||
+3
-5
@@ -13,10 +13,8 @@ import org.springframework.http.HttpStatus;
|
|||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.PutMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
@@ -48,7 +46,7 @@ public class JobController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("新增岗位")
|
@ApiOperation("新增岗位")
|
||||||
@PostMapping
|
@PostMapping(value = "/createJob")
|
||||||
@PreAuthorize("@el.check('job:add')")
|
@PreAuthorize("@el.check('job:add')")
|
||||||
public ResponseEntity<Object> createJob(@Validated @RequestBody CreateJobRequest resources) {
|
public ResponseEntity<Object> createJob(@Validated @RequestBody CreateJobRequest resources) {
|
||||||
jobService.createJob(resources);
|
jobService.createJob(resources);
|
||||||
@@ -56,7 +54,7 @@ public class JobController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("修改岗位")
|
@ApiOperation("修改岗位")
|
||||||
@PutMapping
|
@PostMapping(value = "/updateJob")
|
||||||
@PreAuthorize("@el.check('job:edit')")
|
@PreAuthorize("@el.check('job:edit')")
|
||||||
public ResponseEntity<Object> updateJob(@Validated(Job.Update.class) @RequestBody Job resources) {
|
public ResponseEntity<Object> updateJob(@Validated(Job.Update.class) @RequestBody Job resources) {
|
||||||
jobService.updateJobById(resources);
|
jobService.updateJobById(resources);
|
||||||
@@ -64,7 +62,7 @@ public class JobController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("删除岗位")
|
@ApiOperation("删除岗位")
|
||||||
@DeleteMapping
|
@PostMapping(value = "/deleteJob")
|
||||||
@PreAuthorize("@el.check('job:del')")
|
@PreAuthorize("@el.check('job:del')")
|
||||||
public ResponseEntity<Object> deleteJob(@RequestBody Set<Long> ids) {
|
public ResponseEntity<Object> deleteJob(@RequestBody Set<Long> ids) {
|
||||||
// 验证是否被用户关联
|
// 验证是否被用户关联
|
||||||
|
|||||||
+9
-11
@@ -16,10 +16,8 @@ import org.springframework.http.HttpStatus;
|
|||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.PutMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
@@ -49,7 +47,7 @@ public class MenuController {
|
|||||||
menuService.downloadExcel(menuService.selectMenuByCriteria(criteria, false), response);
|
menuService.downloadExcel(menuService.selectMenuByCriteria(criteria, false), response);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping(value = "/build")
|
@PostMapping(value = "/buildMenus")
|
||||||
@ApiOperation("获取前端所需菜单")
|
@ApiOperation("获取前端所需菜单")
|
||||||
public ResponseEntity<List<MenuResponse>> buildMenus() {
|
public ResponseEntity<List<MenuResponse>> buildMenus() {
|
||||||
List<Menu> menuList = menuService.selectMenuByUserId(SecurityHelper.getCurrentUserId());
|
List<Menu> menuList = menuService.selectMenuByUserId(SecurityHelper.getCurrentUserId());
|
||||||
@@ -58,16 +56,16 @@ public class MenuController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("返回全部的菜单")
|
@ApiOperation("返回全部的菜单")
|
||||||
@GetMapping(value = "/lazy")
|
@PostMapping(value = "/queryAllMenu")
|
||||||
@PreAuthorize("@el.check('menu:list','roles:list')")
|
@PreAuthorize("@el.check('menu:list','roles:list')")
|
||||||
public ResponseEntity<List<Menu>> queryAllMenu(@RequestParam Long pid) {
|
public ResponseEntity<List<Menu>> queryAllMenu(@RequestParam Long pid) {
|
||||||
return new ResponseEntity<>(menuService.selectMenuByPid(pid), HttpStatus.OK);
|
return new ResponseEntity<>(menuService.selectMenuByPid(pid), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("根据菜单ID返回所有子节点ID,包含自身ID")
|
@ApiOperation("根据菜单ID返回所有子节点ID,包含自身ID")
|
||||||
@GetMapping(value = "/child")
|
@PostMapping(value = "/queryChildMenu")
|
||||||
@PreAuthorize("@el.check('menu:list','roles:list')")
|
@PreAuthorize("@el.check('menu:list','roles:list')")
|
||||||
public ResponseEntity<Object> childMenu(@RequestParam Long id) {
|
public ResponseEntity<Object> queryChildMenu(@RequestParam Long id) {
|
||||||
Set<Menu> menuSet = new HashSet<>();
|
Set<Menu> menuSet = new HashSet<>();
|
||||||
List<Menu> menuList = menuService.selectMenuByPid(id);
|
List<Menu> menuList = menuService.selectMenuByPid(id);
|
||||||
menuSet.add(menuService.getById(id));
|
menuSet.add(menuService.getById(id));
|
||||||
@@ -85,9 +83,9 @@ public class MenuController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("查询菜单:根据ID获取同级与上级数据")
|
@ApiOperation("查询菜单:根据ID获取同级与上级数据")
|
||||||
@PostMapping("/superior")
|
@PostMapping("/queryMenuSuperior")
|
||||||
@PreAuthorize("@el.check('menu:list')")
|
@PreAuthorize("@el.check('menu:list')")
|
||||||
public ResponseEntity<List<Menu>> getMenuSuperior(@RequestBody List<Long> ids) {
|
public ResponseEntity<List<Menu>> queryMenuSuperior(@RequestBody List<Long> ids) {
|
||||||
Set<Menu> menus = new LinkedHashSet<>();
|
Set<Menu> menus = new LinkedHashSet<>();
|
||||||
if (CollectionUtil.isNotEmpty(ids)) {
|
if (CollectionUtil.isNotEmpty(ids)) {
|
||||||
for (Long id : ids) {
|
for (Long id : ids) {
|
||||||
@@ -108,7 +106,7 @@ public class MenuController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("新增菜单")
|
@ApiOperation("新增菜单")
|
||||||
@PostMapping
|
@PostMapping(value = "/createMenu")
|
||||||
@PreAuthorize("@el.check('menu:add')")
|
@PreAuthorize("@el.check('menu:add')")
|
||||||
public ResponseEntity<Object> createMenu(@Validated @RequestBody Menu resources) {
|
public ResponseEntity<Object> createMenu(@Validated @RequestBody Menu resources) {
|
||||||
if (resources.getId() != null) {
|
if (resources.getId() != null) {
|
||||||
@@ -119,7 +117,7 @@ public class MenuController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("修改菜单")
|
@ApiOperation("修改菜单")
|
||||||
@PutMapping
|
@PostMapping(value = "/updateMenu")
|
||||||
@PreAuthorize("@el.check('menu:edit')")
|
@PreAuthorize("@el.check('menu:edit')")
|
||||||
public ResponseEntity<Object> updateMenu(@Validated(Menu.Update.class) @RequestBody Menu resources) {
|
public ResponseEntity<Object> updateMenu(@Validated(Menu.Update.class) @RequestBody Menu resources) {
|
||||||
menuService.updateMenuById(resources);
|
menuService.updateMenuById(resources);
|
||||||
@@ -127,7 +125,7 @@ public class MenuController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("删除菜单")
|
@ApiOperation("删除菜单")
|
||||||
@DeleteMapping
|
@PostMapping(value = "/deleteMenu")
|
||||||
@PreAuthorize("@el.check('menu:del')")
|
@PreAuthorize("@el.check('menu:del')")
|
||||||
public ResponseEntity<Object> deleteMenu(@RequestBody Set<Long> ids) {
|
public ResponseEntity<Object> deleteMenu(@RequestBody Set<Long> ids) {
|
||||||
Set<Menu> menuSet = new HashSet<>();
|
Set<Menu> menuSet = new HashSet<>();
|
||||||
|
|||||||
+8
-10
@@ -16,11 +16,9 @@ import org.springframework.http.HttpStatus;
|
|||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.PutMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
@@ -40,9 +38,9 @@ public class RoleController {
|
|||||||
private final RoleService roleService;
|
private final RoleService roleService;
|
||||||
|
|
||||||
@ApiOperation("获取单个role")
|
@ApiOperation("获取单个role")
|
||||||
@GetMapping(value = "/{id}")
|
@PostMapping(value = "/getRoleById/{id}")
|
||||||
@PreAuthorize("@el.check('roles:list')")
|
@PreAuthorize("@el.check('roles:list')")
|
||||||
public ResponseEntity<Role> findRoleById(@PathVariable Long id) {
|
public ResponseEntity<Role> getRoleById(@PathVariable Long id) {
|
||||||
return new ResponseEntity<>(roleService.getRoleById(id), HttpStatus.OK);
|
return new ResponseEntity<>(roleService.getRoleById(id), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -54,7 +52,7 @@ public class RoleController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("返回全部的角色")
|
@ApiOperation("返回全部的角色")
|
||||||
@GetMapping(value = "/all")
|
@PostMapping(value = "/queryAllRole")
|
||||||
@PreAuthorize("@el.check('roles:list','user:add','user:edit')")
|
@PreAuthorize("@el.check('roles:list','user:add','user:edit')")
|
||||||
public ResponseEntity<List<Role>> queryAllRole() {
|
public ResponseEntity<List<Role>> queryAllRole() {
|
||||||
return new ResponseEntity<>(roleService.selectRole(), HttpStatus.OK);
|
return new ResponseEntity<>(roleService.selectRole(), HttpStatus.OK);
|
||||||
@@ -69,13 +67,13 @@ public class RoleController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("获取用户级别")
|
@ApiOperation("获取用户级别")
|
||||||
@GetMapping(value = "/level")
|
@PostMapping(value = "/getRoleLevel")
|
||||||
public ResponseEntity<Object> getRoleLevel() {
|
public ResponseEntity<Object> getRoleLevel() {
|
||||||
return new ResponseEntity<>(Dict.create().set("level", getLevels(null)), HttpStatus.OK);
|
return new ResponseEntity<>(Dict.create().set("level", getLevels(null)), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("新增角色")
|
@ApiOperation("新增角色")
|
||||||
@PostMapping
|
@PostMapping(value = "/createRole")
|
||||||
@PreAuthorize("@el.check('roles:add')")
|
@PreAuthorize("@el.check('roles:add')")
|
||||||
public ResponseEntity<Object> createRole(@Validated @RequestBody CreateRoleRequest resources) {
|
public ResponseEntity<Object> createRole(@Validated @RequestBody CreateRoleRequest resources) {
|
||||||
getLevels(resources.getLevel());
|
getLevels(resources.getLevel());
|
||||||
@@ -84,7 +82,7 @@ public class RoleController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("修改角色")
|
@ApiOperation("修改角色")
|
||||||
@PutMapping
|
@PostMapping(value = "/updateRole")
|
||||||
@PreAuthorize("@el.check('roles:edit')")
|
@PreAuthorize("@el.check('roles:edit')")
|
||||||
public ResponseEntity<Object> updateRole(@Validated(Role.Update.class) @RequestBody Role resources) {
|
public ResponseEntity<Object> updateRole(@Validated(Role.Update.class) @RequestBody Role resources) {
|
||||||
getLevels(resources.getLevel());
|
getLevels(resources.getLevel());
|
||||||
@@ -93,7 +91,7 @@ public class RoleController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("修改角色菜单")
|
@ApiOperation("修改角色菜单")
|
||||||
@PutMapping(value = "/menu")
|
@PostMapping(value = "/updateRoleMenu")
|
||||||
@PreAuthorize("@el.check('roles:edit')")
|
@PreAuthorize("@el.check('roles:edit')")
|
||||||
public ResponseEntity<Object> updateRoleMenu(@RequestBody Role resources) {
|
public ResponseEntity<Object> updateRoleMenu(@RequestBody Role resources) {
|
||||||
Role role = roleService.getById(resources.getId());
|
Role role = roleService.getById(resources.getId());
|
||||||
@@ -103,7 +101,7 @@ public class RoleController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("删除角色")
|
@ApiOperation("删除角色")
|
||||||
@DeleteMapping
|
@PostMapping(value = "/deleteRole")
|
||||||
@PreAuthorize("@el.check('roles:del')")
|
@PreAuthorize("@el.check('roles:del')")
|
||||||
public ResponseEntity<Object> deleteRole(@RequestBody Set<Long> ids) {
|
public ResponseEntity<Object> deleteRole(@RequestBody Set<Long> ids) {
|
||||||
for (Long id : ids) {
|
for (Long id : ids) {
|
||||||
|
|||||||
+8
-10
@@ -31,11 +31,9 @@ import org.springframework.security.crypto.password.PasswordEncoder;
|
|||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
import org.springframework.util.ObjectUtils;
|
import org.springframework.util.ObjectUtils;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.PutMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
@@ -99,7 +97,7 @@ public class UserController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("新增用户")
|
@ApiOperation("新增用户")
|
||||||
@PostMapping
|
@PostMapping(value = "/createUser")
|
||||||
@PreAuthorize("@el.check('user:add')")
|
@PreAuthorize("@el.check('user:add')")
|
||||||
public ResponseEntity<Object> createUser(@Validated @RequestBody User resources) {
|
public ResponseEntity<Object> createUser(@Validated @RequestBody User resources) {
|
||||||
checkLevel(resources);
|
checkLevel(resources);
|
||||||
@@ -110,7 +108,7 @@ public class UserController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("修改用户")
|
@ApiOperation("修改用户")
|
||||||
@PutMapping
|
@PostMapping(value = "/updateUser")
|
||||||
@PreAuthorize("@el.check('user:edit')")
|
@PreAuthorize("@el.check('user:edit')")
|
||||||
public ResponseEntity<Object> updateUser(@Validated(User.Update.class) @RequestBody User resources) throws Exception {
|
public ResponseEntity<Object> updateUser(@Validated(User.Update.class) @RequestBody User resources) throws Exception {
|
||||||
checkLevel(resources);
|
checkLevel(resources);
|
||||||
@@ -119,8 +117,8 @@ public class UserController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("修改用户:个人中心")
|
@ApiOperation("修改用户:个人中心")
|
||||||
@PutMapping(value = "center")
|
@PostMapping(value = "updateCenterInfo")
|
||||||
public ResponseEntity<Object> centerUser(@Validated(User.Update.class) @RequestBody User resources) {
|
public ResponseEntity<Object> updateCenterInfo(@Validated(User.Update.class) @RequestBody User resources) {
|
||||||
if (!resources.getId().equals(SecurityHelper.getCurrentUserId())) {
|
if (!resources.getId().equals(SecurityHelper.getCurrentUserId())) {
|
||||||
throw new BadRequestException("不能修改他人资料");
|
throw new BadRequestException("不能修改他人资料");
|
||||||
}
|
}
|
||||||
@@ -129,7 +127,7 @@ public class UserController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("删除用户")
|
@ApiOperation("删除用户")
|
||||||
@DeleteMapping
|
@PostMapping(value = "/deleteUser")
|
||||||
@PreAuthorize("@el.check('user:del')")
|
@PreAuthorize("@el.check('user:del')")
|
||||||
public ResponseEntity<Object> deleteUser(@RequestBody Set<Long> ids) {
|
public ResponseEntity<Object> deleteUser(@RequestBody Set<Long> ids) {
|
||||||
for (Long id : ids) {
|
for (Long id : ids) {
|
||||||
@@ -144,8 +142,8 @@ public class UserController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("修改密码")
|
@ApiOperation("修改密码")
|
||||||
@PostMapping(value = "/updatePass")
|
@PostMapping(value = "/updatePassword")
|
||||||
public ResponseEntity<Object> updateUserPassword(@RequestBody UpdateUserPasswordResponse passVo) throws Exception {
|
public ResponseEntity<Object> updatePassword(@RequestBody UpdateUserPasswordResponse passVo) throws Exception {
|
||||||
String oldPass = RsaEncryptUtil.decryptByPrivateKey(RsaProperties.privateKey, passVo.getOldPass());
|
String oldPass = RsaEncryptUtil.decryptByPrivateKey(RsaProperties.privateKey, passVo.getOldPass());
|
||||||
String newPass = RsaEncryptUtil.decryptByPrivateKey(RsaProperties.privateKey, passVo.getNewPass());
|
String newPass = RsaEncryptUtil.decryptByPrivateKey(RsaProperties.privateKey, passVo.getNewPass());
|
||||||
User user = userService.getUserByUsername(SecurityHelper.getCurrentUsername());
|
User user = userService.getUserByUsername(SecurityHelper.getCurrentUsername());
|
||||||
@@ -160,7 +158,7 @@ public class UserController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("重置密码")
|
@ApiOperation("重置密码")
|
||||||
@PutMapping(value = "/resetPwd")
|
@PostMapping(value = "/resetPwd")
|
||||||
public ResponseEntity<Object> resetPwd(@RequestBody Set<Long> ids) {
|
public ResponseEntity<Object> resetPwd(@RequestBody Set<Long> ids) {
|
||||||
String defaultPwd = passwordEncoder.encode("123456");
|
String defaultPwd = passwordEncoder.encode("123456");
|
||||||
userService.resetPasswordByIds(ids, defaultPwd);
|
userService.resetPasswordByIds(ids, defaultPwd);
|
||||||
|
|||||||
+2
-2
@@ -15,8 +15,8 @@ import cn.odboy.exception.EntityExistException;
|
|||||||
import cn.odboy.model.system.domain.Menu;
|
import cn.odboy.model.system.domain.Menu;
|
||||||
import cn.odboy.model.system.domain.Role;
|
import cn.odboy.model.system.domain.Role;
|
||||||
import cn.odboy.model.system.domain.User;
|
import cn.odboy.model.system.domain.User;
|
||||||
import cn.odboy.model.system.request.QueryMenuRequest;
|
|
||||||
import cn.odboy.model.system.model.MenuMetaModel;
|
import cn.odboy.model.system.model.MenuMetaModel;
|
||||||
|
import cn.odboy.model.system.request.QueryMenuRequest;
|
||||||
import cn.odboy.model.system.response.MenuResponse;
|
import cn.odboy.model.system.response.MenuResponse;
|
||||||
import cn.odboy.redis.RedisHelper;
|
import cn.odboy.redis.RedisHelper;
|
||||||
import cn.odboy.util.ClassUtil;
|
import cn.odboy.util.ClassUtil;
|
||||||
@@ -336,7 +336,7 @@ public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements Me
|
|||||||
/**
|
/**
|
||||||
* 获取 MenuResponse
|
* 获取 MenuResponse
|
||||||
*
|
*
|
||||||
* @param menu /
|
* @param menu /
|
||||||
* @param menuResponse /
|
* @param menuResponse /
|
||||||
* @return /
|
* @return /
|
||||||
*/
|
*/
|
||||||
|
|||||||
+4
-6
@@ -9,9 +9,7 @@ import lombok.RequiredArgsConstructor;
|
|||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.PutMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
@@ -24,23 +22,23 @@ import org.springframework.web.bind.annotation.RestController;
|
|||||||
@RequestMapping("api/email")
|
@RequestMapping("api/email")
|
||||||
@Api(tags = "工具:邮件管理")
|
@Api(tags = "工具:邮件管理")
|
||||||
public class EmailController {
|
public class EmailController {
|
||||||
|
|
||||||
private final EmailService emailService;
|
private final EmailService emailService;
|
||||||
|
|
||||||
@GetMapping
|
@ApiOperation("查询配置")
|
||||||
|
@PostMapping(value = "/queryEmailConfig")
|
||||||
public ResponseEntity<EmailConfig> queryEmailConfig() {
|
public ResponseEntity<EmailConfig> queryEmailConfig() {
|
||||||
return new ResponseEntity<>(emailService.getEmailConfig(), HttpStatus.OK);
|
return new ResponseEntity<>(emailService.getEmailConfig(), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PutMapping
|
|
||||||
@ApiOperation("配置邮件")
|
@ApiOperation("配置邮件")
|
||||||
|
@PostMapping(value = "/updateEmailConfig")
|
||||||
public ResponseEntity<Object> updateEmailConfig(@Validated @RequestBody EmailConfig emailConfig) throws Exception {
|
public ResponseEntity<Object> updateEmailConfig(@Validated @RequestBody EmailConfig emailConfig) throws Exception {
|
||||||
emailService.updateEmailConfigOnPassChange(emailConfig);
|
emailService.updateEmailConfigOnPassChange(emailConfig);
|
||||||
return new ResponseEntity<>(HttpStatus.OK);
|
return new ResponseEntity<>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping
|
|
||||||
@ApiOperation("发送邮件")
|
@ApiOperation("发送邮件")
|
||||||
|
@PostMapping(value = "/sendEmail")
|
||||||
public ResponseEntity<Object> sendEmail(@Validated @RequestBody SendEmailRequest sendEmailRequest) {
|
public ResponseEntity<Object> sendEmail(@Validated @RequestBody SendEmailRequest sendEmailRequest) {
|
||||||
emailService.sendEmail(sendEmailRequest);
|
emailService.sendEmail(sendEmailRequest);
|
||||||
return new ResponseEntity<>(HttpStatus.OK);
|
return new ResponseEntity<>(HttpStatus.OK);
|
||||||
|
|||||||
+4
-4
@@ -34,8 +34,8 @@ import java.io.IOException;
|
|||||||
public class LocalStorageController {
|
public class LocalStorageController {
|
||||||
private final LocalStorageService localStorageService;
|
private final LocalStorageService localStorageService;
|
||||||
|
|
||||||
@GetMapping
|
|
||||||
@ApiOperation("查询文件")
|
@ApiOperation("查询文件")
|
||||||
|
@GetMapping
|
||||||
@PreAuthorize("@el.check('storage:list')")
|
@PreAuthorize("@el.check('storage:list')")
|
||||||
public ResponseEntity<PageResult<LocalStorage>> queryFile(QueryLocalStorageRequest criteria) {
|
public ResponseEntity<PageResult<LocalStorage>> queryFile(QueryLocalStorageRequest criteria) {
|
||||||
Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
|
Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
|
||||||
@@ -49,8 +49,8 @@ public class LocalStorageController {
|
|||||||
localStorageService.downloadExcel(localStorageService.selectLocalStorageByCriteria(criteria), response);
|
localStorageService.downloadExcel(localStorageService.selectLocalStorageByCriteria(criteria), response);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping
|
|
||||||
@ApiOperation("上传文件")
|
@ApiOperation("上传文件")
|
||||||
|
@PostMapping
|
||||||
@PreAuthorize("@el.check('storage:add')")
|
@PreAuthorize("@el.check('storage:add')")
|
||||||
public ResponseEntity<Object> createFile(@RequestParam String name, @RequestParam("file") MultipartFile file) {
|
public ResponseEntity<Object> createFile(@RequestParam String name, @RequestParam("file") MultipartFile file) {
|
||||||
localStorageService.uploadFile(name, file);
|
localStorageService.uploadFile(name, file);
|
||||||
@@ -69,16 +69,16 @@ public class LocalStorageController {
|
|||||||
return new ResponseEntity<>(localStorage, HttpStatus.OK);
|
return new ResponseEntity<>(localStorage, HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PutMapping
|
|
||||||
@ApiOperation("修改文件")
|
@ApiOperation("修改文件")
|
||||||
|
@PutMapping
|
||||||
@PreAuthorize("@el.check('storage:edit')")
|
@PreAuthorize("@el.check('storage:edit')")
|
||||||
public ResponseEntity<Object> updateFile(@Validated @RequestBody LocalStorage resources) {
|
public ResponseEntity<Object> updateFile(@Validated @RequestBody LocalStorage resources) {
|
||||||
localStorageService.updateLocalStorageById(resources);
|
localStorageService.updateLocalStorageById(resources);
|
||||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@DeleteMapping
|
|
||||||
@ApiOperation("多选删除")
|
@ApiOperation("多选删除")
|
||||||
|
@DeleteMapping
|
||||||
public ResponseEntity<Object> deleteFile(@RequestBody Long[] ids) {
|
public ResponseEntity<Object> deleteFile(@RequestBody Long[] ids) {
|
||||||
localStorageService.deleteFileByIds(ids);
|
localStorageService.deleteFileByIds(ids);
|
||||||
return new ResponseEntity<>(HttpStatus.OK);
|
return new ResponseEntity<>(HttpStatus.OK);
|
||||||
|
|||||||
+3
-3
@@ -18,7 +18,6 @@ import org.springframework.web.bind.annotation.DeleteMapping;
|
|||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.PutMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
@@ -41,13 +40,14 @@ public class QiniuController {
|
|||||||
private final QiniuContentService qiniuContentService;
|
private final QiniuContentService qiniuContentService;
|
||||||
private final QiNiuConfigService qiNiuConfigService;
|
private final QiNiuConfigService qiNiuConfigService;
|
||||||
|
|
||||||
@GetMapping(value = "/config")
|
@ApiOperation("查询七牛云存储配置")
|
||||||
|
@PostMapping(value = "/queryQiNiuConfig")
|
||||||
public ResponseEntity<QiniuConfig> queryQiNiuConfig() {
|
public ResponseEntity<QiniuConfig> queryQiNiuConfig() {
|
||||||
return new ResponseEntity<>(qiNiuConfigService.getConfig(), HttpStatus.OK);
|
return new ResponseEntity<>(qiNiuConfigService.getConfig(), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("配置七牛云存储")
|
@ApiOperation("配置七牛云存储")
|
||||||
@PutMapping(value = "/config")
|
@PostMapping(value = "/updateQiNiuConfig")
|
||||||
public ResponseEntity<Object> updateQiNiuConfig(@Validated @RequestBody QiniuConfig qiniuConfig) {
|
public ResponseEntity<Object> updateQiNiuConfig(@Validated @RequestBody QiniuConfig qiniuConfig) {
|
||||||
qiNiuConfigService.saveConfig(qiniuConfig);
|
qiNiuConfigService.saveConfig(qiniuConfig);
|
||||||
qiNiuConfigService.updateType(qiniuConfig.getType());
|
qiNiuConfigService.updateType(qiniuConfig.getType());
|
||||||
|
|||||||
+2
-1
@@ -55,6 +55,7 @@ public class LocalStorageServiceImpl extends ServiceImpl<LocalStorageMapper, Loc
|
|||||||
throw new BadRequestException("上传失败");
|
throw new BadRequestException("上传失败");
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
|
String formatSize = FileUtil.getSize(size);
|
||||||
name = StringUtil.isBlank(name) ? FileUtil.getPrefix(multipartFile.getOriginalFilename()) : name;
|
name = StringUtil.isBlank(name) ? FileUtil.getPrefix(multipartFile.getOriginalFilename()) : name;
|
||||||
LocalStorage localStorage = new LocalStorage(
|
LocalStorage localStorage = new LocalStorage(
|
||||||
file.getName(),
|
file.getName(),
|
||||||
@@ -62,7 +63,7 @@ public class LocalStorageServiceImpl extends ServiceImpl<LocalStorageMapper, Loc
|
|||||||
suffix,
|
suffix,
|
||||||
file.getPath(),
|
file.getPath(),
|
||||||
type,
|
type,
|
||||||
FileUtil.getSize(size)
|
formatSize
|
||||||
);
|
);
|
||||||
save(localStorage);
|
save(localStorage);
|
||||||
return localStorage;
|
return localStorage;
|
||||||
|
|||||||
+64
-4
@@ -1,8 +1,68 @@
|
|||||||
## Mapper
|
## Mapper(持久层)
|
||||||
|
|
||||||
- 分页查询:query{TableSimpleName}By{ParamName}
|
- 分页&列表(2合1):query{TableSimpleName}By{ParamName}
|
||||||
- 查询列表:select{TableSimpleName}By{ParamName}
|
- queryUserByCriteria
|
||||||
|
- queryHostByCriteria
|
||||||
|
- 分页查询:query{TableSimpleName}PageBy{ParamName}
|
||||||
|
- queryUserPageByCriteria
|
||||||
|
- queryUserPageByUserId
|
||||||
|
- 查询列表:select{TableSimpleName}ListBy{ParamName}
|
||||||
|
- selectUserListByCriteria
|
||||||
|
- selectUserListByUserId
|
||||||
- 查询一个:get{TableSimpleName}By{ParamName}
|
- 查询一个:get{TableSimpleName}By{ParamName}
|
||||||
|
- getUserByUserId
|
||||||
|
- getUserByCriteria
|
||||||
- 批量更新:update{ParamName}ByIds
|
- 批量更新:update{ParamName}ByIds
|
||||||
|
- updateHostNameByIds
|
||||||
|
- updateHostIPByIds
|
||||||
- 批量删除:delete{TableSimpleName}ByIds
|
- 批量删除:delete{TableSimpleName}ByIds
|
||||||
- 统计数量:get{具体语义}Count
|
- deleteHostByIds
|
||||||
|
- deleteUserByIds
|
||||||
|
- 统计数量:get{具体语义}Count
|
||||||
|
- getUserOnlineCount
|
||||||
|
- getAlarmTotalCount
|
||||||
|
|
||||||
|
## Service(业务层)
|
||||||
|
|
||||||
|
- 分页查询:describe{TableSimpleName}Page
|
||||||
|
- describeUserPage
|
||||||
|
- describeHostPage
|
||||||
|
- 查询列表:describe{TableSimpleName}List
|
||||||
|
- describeUserList
|
||||||
|
- describeHostList
|
||||||
|
- 查询元数据:describe{TableSimpleName}{AttributeName}MetadataOptions
|
||||||
|
- describeHostIpMetadataOptions
|
||||||
|
- describeUserSexMetadataOptions
|
||||||
|
- 批量更新:modify{TableSimpleName}Attribute
|
||||||
|
- modifyHostAttribute
|
||||||
|
- modifyUserAttribute
|
||||||
|
- modifyHostIp
|
||||||
|
- modifyUserSex
|
||||||
|
- 批量删除:delete{TableSimpleName}ByIds
|
||||||
|
- deleteHostByIds
|
||||||
|
- deleteUserByIds
|
||||||
|
- 执行业务:{action}{TableSimpleName}{s}
|
||||||
|
- createInstance 创建实例
|
||||||
|
- createInstances 批量创建实例
|
||||||
|
- startInstance 启动实例
|
||||||
|
- stopInstance 停止实例
|
||||||
|
- rebootInstance 重启实例
|
||||||
|
- renewInstance 续费实例
|
||||||
|
- reActiveInstance 激活实例
|
||||||
|
- 其他业务动词参考
|
||||||
|
- create 创建
|
||||||
|
- delete 删除
|
||||||
|
- modify 修改
|
||||||
|
- scale 扩容
|
||||||
|
- attach 追加
|
||||||
|
- remove 移除
|
||||||
|
- upgrade 升级
|
||||||
|
- sync 同步
|
||||||
|
- install 安装
|
||||||
|
- unInstall 卸载
|
||||||
|
- grant 授权
|
||||||
|
- pause 暂停
|
||||||
|
- cancel 取消
|
||||||
|
- resume 重新开始
|
||||||
|
- check 检查
|
||||||
|
- deploy 部署
|
||||||
|
|||||||
Reference in New Issue
Block a user