From e6c44608f25355eda2c86b3e1356682996194a64 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 22 五月 2024 18:05:59 +0800
Subject: [PATCH] 最新版本
---
server/system_service/src/main/java/com/doumee/core/utils/Constants.java | 151 ++++++
server/system_service/src/main/java/com/doumee/dao/system/SystemDataPermissionMapper.java | 3
admin/src/api/system/role.js | 7
server/system_service/src/main/java/com/doumee/biz/system/SystemRoleBiz.java | 3
server/system_service/src/main/java/com/doumee/dao/system/model/SystemDataPermission.java | 2
server/system_service/src/main/java/com/doumee/service/system/SystemDataPermissionService.java | 6
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/ApproveParamMapper.java | 3
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/HiddenDangerMapper.java | 3
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java | 76 +++
server/system_service/src/main/java/com/doumee/biz/system/impl/SystemRoleBizImpl.java | 32 +
admin/src/views/timer/components/OperaTimerWindow.vue | 106 ++++
server/system_service/src/main/java/com/doumee/dao/system/model/Multifile.java | 2
server/system_service/src/main/java/com/doumee/service/timer/QuartzJobService.java | 36 +
server/system_timer/src/main/java/com/doumee/api/timer/QuartzController.java | 2
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ApproveTemplCloudController.java | 14
server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java | 14
server/system_service/src/main/resources/mappers/SystemDataPermissionMapper.xml | 31 +
server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/ApproveTemplController.java | 4
admin/src/components/system/role/OperaSystemRoleDataWindow.vue | 198 ++++++++
server/system_service/src/main/java/com/doumee/api/cloud/SystemRoleCloudController.java | 12
server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/HiddenDangerParamController.java | 4
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/ApproveParam.java | 9
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java | 1
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveTemplServiceImpl.java | 72 ++
server/system_service/src/main/java/com/doumee/config/cloudfilter/CloudWebConfig.java | 18
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Approve.java | 4
admin/src/api/timer/timer.js | 31 +
server/system_service/src/main/java/com/doumee/dao/system/model/SystemUser.java | 4
server/system_service/src/main/java/com/doumee/service/system/impl/NoticesServiceImpl.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/ApproveTempl.java | 6
server/visits/admin_timer/src/main/java/com/doumee/api/InterfaceLogTimerController.java | 12
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java | 2
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformInterfaceLogServiceImpl.java | 15
server/system_service/src/main/java/com/doumee/core/aware/DefaultDataPermissionAware.java | 2
admin/src/views/timer/timer.vue | 168 +++++++
server/system_service/src/main/java/com/doumee/api/cloud/SystemDataPermissionCloudController.java | 23
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformInterfaceLogService.java | 2
server/system_service/src/main/java/com/doumee/service/system/impl/SystemDataPermissionServiceImpl.java | 159 ++++++
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ApproveTemplService.java | 7
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InterfaceLogServiceImpl.java | 11
server/system_timer/src/main/java/com/doumee/api/timer/QuartzCloudController.java | 79 +++
admin/src/views/system/role.vue | 25
admin/src/components/base/BaseTable.vue | 4
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java | 11
44 files changed, 1,300 insertions(+), 76 deletions(-)
diff --git a/admin/src/api/system/role.js b/admin/src/api/system/role.js
index ba65ae8..ccd0152 100644
--- a/admin/src/api/system/role.js
+++ b/admin/src/api/system/role.js
@@ -16,6 +16,10 @@
trim: true
})
}
+// 鑾峰彇瑙掕壊鏁版嵁鏉冮檺
+export function findByRoleId (data) {
+ return request.post('visitsAdmin/cloudService/system/dataPermission/findByRoleId', data)
+}
// 淇敼
export function updateById (data) {
@@ -42,6 +46,9 @@
export function createRolePermission (data) {
return request.post('/visitsAdmin/cloudService/system/role/createRolePermission', data)
}
+export function createRoleDataPermission (data) {
+ return request.post('/visitsAdmin/cloudService/system/role/createRoleDataPermission', data)
+}
// 閰嶇疆鑿滃崟
export function createRoleMenu (data) {
diff --git a/admin/src/api/timer/timer.js b/admin/src/api/timer/timer.js
new file mode 100644
index 0000000..def401d
--- /dev/null
+++ b/admin/src/api/timer/timer.js
@@ -0,0 +1,31 @@
+import request from '../../utils/request'
+
+// 鏌ヨ
+export function fetchList (data) {
+ return request.post('/systemTimer/cloudService/business/quartz/page', data, {
+ trim: true
+ })
+}
+export function create (data) {
+ return request.post('/systemTimer/cloudService/business/quartz/create', data, {
+ trim: true
+ })
+}
+export function updateById (data) {
+ return request.post('/systemTimer/cloudService/business/quartz/updateById', data, {
+ trim: true
+ })
+}
+// 鏍规嵁ID鏌ヨ
+export function queryById (id) {
+ return request.get(`/systemTimer/cloudService/business/quartz/${id}`)
+}
+export function pauseById (id) {
+ return request.get(`/systemTimer/cloudService/business/quartz/pause/${id}`)
+}
+export function resumeById (id) {
+ return request.get(`/systemTimer/cloudService/business/quartz/resume/${id}`)
+}
+export function runOnceById (id) {
+ return request.get(`/systemTimer/cloudService/business/quartz/runOnce/${id}`)
+}
diff --git a/admin/src/components/base/BaseTable.vue b/admin/src/components/base/BaseTable.vue
index 6ddfb22..6df292f 100644
--- a/admin/src/components/base/BaseTable.vue
+++ b/admin/src/components/base/BaseTable.vue
@@ -156,7 +156,7 @@
this.__afterDelete()
})
.catch(e => {
- this.$tip.apiFailed(e)
+ // this.$tip.apiFailed(e)
})
.finally(() => {
this.isWorking.delete = false
@@ -195,7 +195,7 @@
this.__afterDelete(this.tableData.selectedRows.length)
})
.catch(e => {
- this.$tip.apiFailed(e)
+ // this.$tip.apiFailed(e)
})
.finally(() => {
this.isWorking.delete = false
diff --git a/admin/src/components/system/role/OperaSystemRoleDataWindow.vue b/admin/src/components/system/role/OperaSystemRoleDataWindow.vue
new file mode 100644
index 0000000..9528a0b
--- /dev/null
+++ b/admin/src/components/system/role/OperaSystemRoleDataWindow.vue
@@ -0,0 +1,198 @@
+<template>
+ <GlobalWindow
+ :title="title"
+ width="60%"
+ :visible.sync="visible"
+ :confirm-working="isWorking"
+ @confirm="confirm"
+ >
+ <p class="tip">姝e湪涓鸿鑹层�� <em>{{role.name || '-'}}</em>銆� 閰嶇疆鏁版嵁鏉冮檺</p>
+ <p class="tip-warn"><i class="el-icon-warning"></i>鎻愰啋锛氭潈闄愰厤缃悗闇�閲嶆柊鐧诲綍鍚庣敓鏁�</p>
+ <el-form :model="form" ref="form" style="margin-top:15px">
+ <el-form-item label="鏉冮檺绫诲瀷锛�" prop="type">
+ <el-select v-model="form.type" clearable filterable placeholder="璇烽�夋嫨鏉冮檺绫诲瀷">
+ <el-option
+ v-for="(item, index) in options"
+ :key="index"
+ :label="item.name"
+ :value="item.id"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item v-if="form.type == 4" label="鑷畾涔夐儴闂細" prop="customData">
+ <el-cascader
+ :options="departments"
+ v-model="form.customData"
+ :props=defaultProps
+ clearable
+ ></el-cascader>
+ </el-form-item>
+
+ </el-form>
+ </GlobalWindow>
+</template>
+
+<script>
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import { createRoleDataPermission } from '@/api/system/role'
+import { fetchList } from '@/api/business/company'
+ // import the styles
+import '@riophae/vue-treeselect/dist/vue-treeselect.css'
+export default {
+ name: 'OperaSystemRoleWindow',
+ extends: BaseOpera,
+ components: { GlobalWindow },
+ data () {
+ return {
+ options: [
+ { name: '鍏ㄩ儴', id: 0 },
+ { name: '鎵�灞為儴闂ㄥ強涓嬪睘閮ㄩ棬', id: 1 },
+ { name: '鎵�灞為儴闂ㄥ強鍏跺瓙瀛欓儴闂�', id: 2 },
+ { name: '浠呮墍灞為儴闂�', id: 3 },
+ { name: '鑷畾涔夐儴闂�', id: 4 }
+ ],
+ // 琛ㄥ崟鏁版嵁
+ form: {
+ businessCode: null,
+ createTime: null,
+ createUser: null,
+ customData: [],
+ id: null,
+ roleId: null,
+ type: 0
+ },
+ defaultProps: {
+ multiple: true,
+ checkStrictly: true,
+ // children: 'children',
+ label: 'name',
+ value: 'id',
+ emitPath: false
+ },
+ role:{},
+ departments: []
+ }
+ },
+ created () {
+ this.config({
+ api: '/system/role',
+ 'field.id': 'id'
+ })
+ this.treeComList()
+ },
+ methods: {
+ // 閮ㄩ棬鏍戠姸缁撴瀯鏁版嵁
+ treeComList () {
+ fetchList()
+ .then(res => {
+ // this.departments = this.tree([res])
+ this.departments =this.newTree(res)
+ })
+ },
+ open (title, target,role) {
+ // console.log(title, target)
+ this.title = title
+ this.visible = true
+ this.role=role
+ // 鏂板缓
+ if (target == null) {
+ this.$nextTick(() => {
+ this.$refs.form.resetFields()
+ this.form[this.configData['field.id']] = null
+ })
+ return
+ }
+ // 缂栬緫
+ this.$nextTick(() => {
+ for (const key in this.form) {
+ this.form[key] = target[key]
+ }
+ console.log(target);
+ if (target.customData === undefined ||target.customData === null || target.customData === '') {
+ this.form.customData = []
+ } else {
+ const customD = this.form.customData.split(',')
+ this.form.customData = customD.map((item) => { return parseInt(item) })
+ }
+ })
+ },
+ newTree(tree) {
+ if(tree ==null){
+ return []
+ }
+ return tree.map(item => {
+ let newItem = {...item}
+ if(newItem){
+ newItem.children=newItem.childList
+ }
+ if (item.children && item.children.length == 0) {
+ this.$delete( newItem, 'children' )
+ } else {
+ newItem.children = this.newTree(newItem.children)
+ }
+ return newItem
+ });
+ },
+ __confirmCreate () {
+ // console.log(JSON.stringify(this.form.customData));
+ // return
+ this.$refs.form.validate((valid) => {
+ if (!valid) {
+ return
+ }
+
+ this.isWorking = true
+ let data = JSON.parse(JSON.stringify(this.form))
+ if (this.form.type === 4) {
+ data.customData = this.form.customData.join(',')
+ } else {
+ data.customData = ''
+ }
+ createRoleDataPermission(data)
+ .then(() => {
+ this.visible = false
+ this.$tip.apiSuccess('鏂板缓鎴愬姛')
+ this.$emit('success')
+ })
+ .catch(e => {
+ this.$tip.apiFailed(e)
+ })
+ .finally(() => {
+ this.isWorking = false
+ })
+ })
+ },
+ __confirmEdit () {
+ // console.log(JSON.stringify(this.form.customData));
+ // return
+ this.$refs.form.validate((valid) => {
+ if (!valid) {
+ return
+ }
+ // 璋冪敤鏇存柊鎺ュ彛
+ this.isWorking = true
+ let data = JSON.parse(JSON.stringify(this.form))
+ if (this.form.type === 4) {
+ data.customData = this.form.customData.join(',')
+ } else {
+ data.customData = ''
+ }
+ createRoleDataPermission(data)
+ .then(() => {
+ this.visible = false
+ this.$tip.apiSuccess('淇敼鎴愬姛')
+ this.$emit('success')
+ })
+ .catch(e => {
+ this.$tip.apiFailed(e)
+ })
+ .finally(() => {
+ this.isWorking = false
+ })
+ })
+ }
+ }
+}
+</script>
diff --git a/admin/src/views/system/role.vue b/admin/src/views/system/role.vue
index 91cf09e..cfb8d9d 100644
--- a/admin/src/views/system/role.vue
+++ b/admin/src/views/system/role.vue
@@ -40,13 +40,14 @@
</el-table-column>
<el-table-column prop="updateTime" label="鏇存柊鏃堕棿" min-width="140px"></el-table-column>
<el-table-column
- v-if="containPermissions(['system:role:update', 'system:role:createRolePermission', 'system:role:createRoleMenu', 'system:role:delete'])"
+ v-if="containPermissions(['system:role:update', 'system:role:createRolePermission','system:datapermission:create', 'system:role:createRoleMenu', 'system:role:delete'])"
label="鎿嶄綔"
min-width="270"
fixed="right"
>
<template v-if="isAdmin || (row.code !== adminCode && userInfo.roles.findIndex(code => code === row.code) === -1)" slot-scope="{row}">
- <el-button type="text" @click="$refs.operaRoleWindow.open('缂栬緫瑙掕壊', row)" icon="el-icon-edit" v-permissions="['system:role:update']">缂栬緫</el-button>
+ <el-button type="text" @click="$refs.operaRoleWindow.open('缂栬緫瑙掕壊', row)" v-permissions="['system:role:update']">缂栬緫</el-button>
+ <el-button type="text" @click="setData(row)" v-permissions="['system:datapermission:create']">鏁版嵁鏉冮檺</el-button>
<el-button type="text" @click="$refs.permissionConfigWindow.open(row)" v-permissions="['system:role:createRolePermission']">閰嶇疆鏉冮檺</el-button>
<el-button type="text" @click="$refs.menuConfigWindow.open(row)" icon="el-icon-menu" v-permissions="['system:role:createRoleMenu']">鎺堟潈鑿滃崟</el-button>
<el-button v-if="!row.fixed" type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['system:role:delete']">鍒犻櫎</el-button>
@@ -65,6 +66,7 @@
<PermissionConfigWindow ref="permissionConfigWindow" @success="handlePageChange(tableData.pagination.pageIndex)"/>
<!-- 鎺堟潈鑿滃崟 -->
<MenuConfigWindow ref="menuConfigWindow" @success="handlePageChange(tableData.pagination.pageIndex)"/>
+ <OperaSystemRoleDataWindow ref="OperaSystemRoleDataWindow" @success="handlePageChange(tableData.pagination.pageIndex)" />
</TableLayout>
</template>
@@ -75,10 +77,12 @@
import OperaRoleWindow from '@/components/system/role/OperaRoleWindow'
import PermissionConfigWindow from '@/components/system/role/PermissionConfigWindow'
import MenuConfigWindow from '@/components/system/role/MenuConfigWindow'
+import OperaSystemRoleDataWindow from '@/components/system/role/OperaSystemRoleDataWindow'
+import { findByRoleId } from '@/api/system/role'
export default {
name: 'SystemRole',
extends: BaseTable,
- components: { MenuConfigWindow, PermissionConfigWindow, OperaRoleWindow, TableLayout, Pagination },
+ components: { MenuConfigWindow, PermissionConfigWindow, OperaRoleWindow, TableLayout, OperaSystemRoleDataWindow, Pagination },
data () {
return {
// 鎼滅储
@@ -99,6 +103,21 @@
}]
})
this.search()
+ },
+ methods: {
+ setData (row) {
+ findByRoleId({ roleId: row.id })
+ .then(res => {
+ if (!res) {
+ this.$refs.OperaSystemRoleDataWindow.open('鏁版嵁鏉冮檺', { roleId: row.id },row)
+ } else {
+ this.$refs.OperaSystemRoleDataWindow.open('鏁版嵁鏉冮檺', res,row)
+ }
+ })
+ .catch(err => {
+ this.$tip.error(err)
+ })
+ }
}
}
</script>
diff --git a/admin/src/views/timer/components/OperaTimerWindow.vue b/admin/src/views/timer/components/OperaTimerWindow.vue
new file mode 100644
index 0000000..f3e8b6d
--- /dev/null
+++ b/admin/src/views/timer/components/OperaTimerWindow.vue
@@ -0,0 +1,106 @@
+<template>
+ <GlobalAlertWindow
+ v-loading="isUploading"
+ :title="title"
+ :visible.sync="visible"
+ :confirm-working="isWorking"
+ @confirm="confirm"
+ >
+ <el-form :model="form" ref="form" :rules="rules" label-width="120px" label-suffix="锛�">
+ <el-form-item label="Bean鍚嶇О" prop="beanName">
+ <el-input v-model="form.beanName" placeholder="璇疯緭鍏ean鍚嶇О" :maxlength="10" v-trim/>
+ </el-form-item>
+ <el-form-item label="妯″潡鍚嶇О" prop="module">
+ <el-input v-model="form.module" placeholder="璇疯緭鍏ユā鍧楀悕绉�" :maxlength="10" v-trim/>
+ </el-form-item>
+ <el-form-item label="Cron琛ㄨ揪寮�" prop="cronExpres">
+ <el-input v-model="form.cronExpres" placeholder="璇疯緭鍏ron琛ㄨ揪寮�" :maxlength="10" v-trim/>
+ </el-form-item>
+ <el-form-item label="澶囨敞" prop="remark">
+ <el-input v-model="form.remark" placeholder="璇疯緭鍏ュ娉�" :maxlength="10" v-trim/>
+ </el-form-item>
+ <el-form-item label="鎵ц鍙傛暟" prop="params">
+ <el-input v-model="form.params" type="textarea" placeholder="璇疯緭鍏ユ墽琛屽弬鏁�" v-trim/>
+ </el-form-item>
+ </el-form>
+ </GlobalAlertWindow>
+</template>
+
+<script>
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalAlertWindow from '@/components/common/GlobalAlertWindow'
+export default {
+ name: 'OperaTimerWindow',
+ extends: BaseOpera,
+ components: { GlobalAlertWindow },
+ data () {
+
+ return {
+ isUploading: false,
+ uploadData: {
+ folder: 'projects'
+ },
+ timeRange: ['', ''],
+ // 琛ㄥ崟鏁版嵁
+ form: {
+ id: null,
+ beanName: null,
+ params: null,
+ createTime: null,
+ module: '',
+ remark: '' ,
+ cronExpres: ''
+
+ },
+ // 楠岃瘉瑙勫垯
+ rules: {
+ beanName: [
+ { required: true, message: '璇疯緭鍏ean鍚嶇О', tigger: 'blur' }
+ ],
+ module: [
+ { required: true, message: '璇疯緭鍏ユā鍧楀悕绉�', tigger: 'blur' }
+ ],
+ cronExpres: [
+ { required: true, message: '璇疯緭鍏ron琛ㄨ揪寮�', tigger: 'blur' }
+ ]
+ }
+ }
+ },
+ created () {
+ this.config({
+ api: '/timer/timer',
+ 'field.id': 'id'
+ })
+ },
+ methods: {
+ /**
+ * 鎵撳紑绐楀彛
+ * @title 绐楀彛鏍囬
+ * @target 缂栬緫鐨勫璞�
+ */
+ open (title, target) {
+ this.title = title
+ this.visible = true
+ // 鏂板缓
+ if (target == null) {
+ this.$nextTick(() => {
+ this.$refs.form.resetFields()
+ this.form[this.configData['field.id']] = null
+ })
+ return
+ }
+ // 缂栬緫
+ this.$nextTick(() => {
+ for (const key in this.form) {
+ this.form[key] = target[key]
+ }
+ })
+ }
+ }
+}
+</script>
+
+<style lang="scss" scoped>
+@import "@/assets/style/alertstyle.scss";
+
+</style>
diff --git a/admin/src/views/timer/timer.vue b/admin/src/views/timer/timer.vue
new file mode 100644
index 0000000..9dccf33
--- /dev/null
+++ b/admin/src/views/timer/timer.vue
@@ -0,0 +1,168 @@
+<template>
+ <TableLayout :permissions="['business:devices:query']">
+ <!-- 鎼滅储琛ㄥ崟 -->
+ <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
+ <el-form-item label="Bean鍚嶇О" prop="beanName">
+ <el-input v-model="searchForm.beanName" placeholder="璇疯緭鍏ュ彂甯冧汉" @keypress.enter.native="search"></el-input>
+ </el-form-item>
+ <el-form-item label="妯″潡鍚嶇О" prop="module">
+ <el-input v-model="searchForm.module" placeholder="璇疯緭鍏ュ彂甯冧汉" @keypress.enter.native="search"></el-input>
+ </el-form-item>
+ <section>
+ <el-button type="primary" @click="search">鎼滅储</el-button>
+ <!-- <el-button type="primary" :loading="isWorking.export" v-permissions="['business:devices:exportExcel']" @click="exportExcel">瀵煎嚭</el-button> -->
+ <el-button @click="reset">閲嶇疆</el-button>
+ </section>
+ </el-form>
+ <!-- 琛ㄦ牸鍜屽垎椤� -->
+ <template v-slot:table-wrap>
+ <ul class="toolbar" v-permissions="['business:quartz:create']">
+ <li><el-button type="primary" @click="$refs.OperaTimerWindow.open('鏂板缓浠诲姟')" icon="el-icon-plus" v-permissions="['business:devices:create']">鏂板缓</el-button></li>
+ </ul>
+ <el-table
+ v-loading="isWorking.search"
+ :data="tableData.list"
+ stripe
+ border
+ @selection-change="handleSelectionChange"
+ >
+ <el-table-column type="index" prop="index" label="搴忓彿" align="center" min-width="50px"></el-table-column>
+ <el-table-column prop="beanName" label="BEAN鍚嶇О" align="center" min-width="150px"></el-table-column>
+ <el-table-column prop="module" label="妯″潡鍚嶇О" align="center" min-width="180px"></el-table-column>
+ <el-table-column prop="params" label="鎵ц鍙傛暟" align="center" min-width="180px"></el-table-column>
+ <el-table-column prop="state" label="鐘舵��" align="center" min-width="100px">
+ <template slot-scope="{row}">
+ <span v-if="row.state ==1" style="color:green">姝e父</span>
+ <span v-if="row.state ==2" style="color: red">鏆傚仠</span>
+ <span v-if="row.state ==3" style="color: red">宸插垹闄�</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="cronExpres" label="琛ㄨ揪寮�" align="center" min-width="100px"></el-table-column>
+ <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" align="center" min-width="180px"></el-table-column>
+ <el-table-column prop="remark" label="澶囨敞" align="center" min-width="180px"></el-table-column>
+ <el-table-column
+ v-if="containPermissions(['business:quartz:update'])"
+ label="鎿嶄綔"
+ fixed="right"
+ min-width="220"
+ align="center"
+ >
+ <template slot-scope="{row}">
+ <el-button type="text" @click="$refs.OperaTimerWindow.open('缂栬緫浠诲姟', row)" v-permissions="['business:quartz:update']">缂栬緫</el-button>
+ <el-button type="text" @click="runById(row)" v-permissions="['business:quartz:update']">鎵ц涓�娆�</el-button>
+ <el-button type="text" v-if="row.state == 1" style="color: red" @click="pauseById(row)" v-permissions="['business:quartz:update']">鏆傚仠</el-button>
+ <el-button type="text" v-if="row.state == 2" style="color: green" @click="resumeById(row)" v-permissions="['business:quartz:update']">鎭㈠</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <pagination
+ @size-change="handleSizeChange"
+ @current-change="handlePageChange"
+ :pagination="tableData.pagination"
+ ></pagination>
+ </template>
+ <!-- 鏂板缓/淇敼 -->
+ <OperaTimerWindow ref="OperaTimerWindow" @success="handlePageChange"/>
+ </TableLayout>
+</template>
+
+<script>
+import BaseTable from '@/components/base/BaseTable'
+import TableLayout from '@/layouts/TableLayout'
+import Pagination from '@/components/common/Pagination'
+import OperaTimerWindow from '@/views/timer/components/OperaTimerWindow'
+import {runOnceById} from "@/api/timer/timer";
+export default {
+ name: 'Devices',
+ extends: BaseTable,
+ components: { TableLayout, Pagination, OperaTimerWindow },
+ data () {
+ return {
+ // 鎼滅储
+ searchForm: {
+ id: '',
+ beanName: '',
+ module: ''
+ },
+ pausing:false,
+ running:false,
+ resuming:false,
+ room: []
+ }
+ },
+ provide() {
+ return {
+ room: () => this.room
+ }
+ },
+ created () {
+ this.config({
+ module: '璁惧绠$悊淇℃伅琛�',
+ api: '/timer/timer',
+ 'field.id': 'id',
+ 'field.main': 'id'
+ })
+ this.search()
+ },
+ methods: {
+ pauseById (row) {
+ this.__checkApi()
+ this.$dialog.actionConfirm('纭鏆傚仠璇ヤ换鍔″悧?')
+ .then(() => {
+ this.pausing = true
+ this.api.paustById(row.id)
+ .then(() => {
+ this.$message.info('鏆傚仠鎴愬姛')
+ this.search()
+ })
+ .catch(e => {
+ // this.$tip.apiFailed(e)
+ })
+ .finally(() => {
+ this.pausing = false
+ })
+ })
+ .catch(() => {})
+ },
+ resumeById (row) {
+ this.__checkApi()
+ this.$dialog.actionConfirm('纭鎭㈠璇ヤ换鍔″悧?')
+ .then(() => {
+ this.resuming = true
+ this.api.resumeById(row.id)
+ .then(() => {
+ this.$message.info('鎭㈠鎴愬姛')
+ this.search()
+ })
+ .catch(e => {
+ // this.$tip.apiFailed(e)
+ })
+ .finally(() => {
+ this.resuming = false
+ })
+ })
+ .catch(() => {})
+ },
+ runById (row) {
+ this.__checkApi()
+ this.$dialog.actionConfirm('纭鎵ц涓�娆¤浠诲姟鍚�?')
+ .then(() => {
+ this.running = true
+ this.api.runOnceById(row.id)
+ .then(() => {
+ this.$message.info('鎵ц鎴愬姛')
+ this.search()
+ })
+ .catch(e => {
+ // this.$tip.apiFailed(e)
+ })
+ .finally(() => {
+ this.running = false
+ })
+ })
+ .catch(() => {})
+ }
+ },
+}
+
+</script>
diff --git a/server/system_service/src/main/java/com/doumee/api/cloud/SystemDataPermissionCloudController.java b/server/system_service/src/main/java/com/doumee/api/cloud/SystemDataPermissionCloudController.java
index 866141a..6166fcb 100644
--- a/server/system_service/src/main/java/com/doumee/api/cloud/SystemDataPermissionCloudController.java
+++ b/server/system_service/src/main/java/com/doumee/api/cloud/SystemDataPermissionCloudController.java
@@ -2,6 +2,7 @@
import com.doumee.api.BaseController;
import com.doumee.biz.system.SystemDataPermissionBiz;
+import com.doumee.config.annotation.CloudRequiredPermission;
import com.doumee.core.annotation.pr.PreventRepeat;
import com.doumee.core.annotation.trace.Trace;
import com.doumee.core.constants.DataPermissionConstants;
@@ -15,7 +16,6 @@
import com.doumee.service.system.SystemDataPermissionService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -38,11 +38,16 @@
@Autowired
private SystemDataPermissionBiz systemDataPermissionBiz;
-
+ @ApiOperation("鏍规嵁roleId鏌ヨ浼佷笟鏁版嵁鏉冮檺")
+ @PostMapping("/findByRoleId")
+ @CloudRequiredPermission("system:datapermission:query")
+ public ApiResponse<SystemDataPermission> findByRoleId (@RequestBody SystemDataPermission pageWrap) {
+ return ApiResponse.success(systemDataPermissionService.findByRoleId(pageWrap));
+ }
@PreventRepeat
@ApiOperation("鏂板缓")
@PostMapping("/create")
- @RequiresPermissions("system:datapermission:create")
+ @CloudRequiredPermission("system:datapermission:create")
public ApiResponse create(@RequestHeader(Constants.HEADER_USER_TOKEN) String token, @Validated(OperaType.Create.class) @RequestBody SystemDataPermission systemDataPermission) {
systemDataPermission.setCreateUser(this.getLoginUser(token).getId());
return ApiResponse.success(systemDataPermissionBiz.create(systemDataPermission));
@@ -50,7 +55,7 @@
@ApiOperation("鏍规嵁ID鍒犻櫎")
@GetMapping("/delete/{id}")
- @RequiresPermissions("system:datapermission:delete")
+ @CloudRequiredPermission("system:datapermission:delete")
public ApiResponse deleteById(@PathVariable Integer id) {
systemDataPermissionService.deleteById(id);
return ApiResponse.success(null);
@@ -58,7 +63,7 @@
@ApiOperation("鎵归噺鍒犻櫎")
@GetMapping("/delete/batch")
- @RequiresPermissions("system:datapermission:delete")
+ @CloudRequiredPermission("system:datapermission:delete")
public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
String [] idArray = ids.split(",");
List<Integer> idList = new ArrayList<>();
@@ -71,7 +76,7 @@
@ApiOperation("淇敼")
@PostMapping("/updateById")
- @RequiresPermissions("system:datapermission:update")
+ @CloudRequiredPermission("system:datapermission:update")
public ApiResponse updateById(@RequestHeader(Constants.HEADER_USER_TOKEN) String token,@Validated(OperaType.Update.class) @RequestBody SystemDataPermission systemDataPermission) {
systemDataPermission.setUpdateUser(this.getLoginUser(token).getId());
systemDataPermissionBiz.update(systemDataPermission);
@@ -80,16 +85,16 @@
@ApiOperation("淇敼鐘舵��")
@PostMapping("/updateStatus")
- @RequiresPermissions("system:datapermission:update")
+ @CloudRequiredPermission("system:datapermission:update")
public ApiResponse updateStatus(@RequestHeader(Constants.HEADER_USER_TOKEN) String token,@Validated(OperaType.UpdateStatus.class) @RequestBody SystemDataPermission systemDataPermission) {
- systemDataPermission.setCreateUser(this.getLoginUser(token).getId());
+ systemDataPermission.setLoginUserInfo(this.getLoginUser(token));
systemDataPermissionBiz.updateStatus(systemDataPermission);
return ApiResponse.success(null);
}
@ApiOperation("鍒嗛〉鏌ヨ")
@PostMapping("/page")
- @RequiresPermissions("system:datapermission:query")
+ @CloudRequiredPermission("system:datapermission:query")
public ApiResponse<PageData<SystemDataPermissionListVO>> findPage (@RequestHeader(Constants.HEADER_USER_TOKEN) String token,@RequestBody PageWrap<SystemDataPermission> pageWrap) {
return ApiResponse.success(systemDataPermissionService.findPage(pageWrap));
}
diff --git a/server/system_service/src/main/java/com/doumee/api/cloud/SystemRoleCloudController.java b/server/system_service/src/main/java/com/doumee/api/cloud/SystemRoleCloudController.java
index fa6c59d..f5d0896 100644
--- a/server/system_service/src/main/java/com/doumee/api/cloud/SystemRoleCloudController.java
+++ b/server/system_service/src/main/java/com/doumee/api/cloud/SystemRoleCloudController.java
@@ -12,11 +12,13 @@
import com.doumee.dao.system.dto.CreateRoleMenuDTO;
import com.doumee.dao.system.dto.CreateRolePermissionDTO;
import com.doumee.dao.system.dto.QuerySystemRoleDTO;
+import com.doumee.dao.system.model.SystemDataPermission;
import com.doumee.dao.system.model.SystemRole;
import com.doumee.dao.system.vo.SystemRoleListVO;
import com.doumee.service.system.SystemRoleService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -59,6 +61,16 @@
}
@PreventRepeat
+ @ApiOperation("閰嶇疆瑙掕壊鏁版嵁鏉冮檺")
+ @PostMapping("/createRoleDataPermission")
+ @CloudRequiredPermission("system:datapermission:create")
+ public ApiResponse createRoleDataPermission (@RequestHeader(Constants.HEADER_USER_TOKEN) String token,@Validated @RequestBody SystemDataPermission dto) {
+ dto.setLoginUserInfo(this.getLoginUser(token));
+ systemRoleBiz.createRoleDataPermission(dto);
+ return ApiResponse.success(null);
+ }
+
+ @PreventRepeat
@ApiOperation("鏂板缓")
@PostMapping("/create")
@CloudRequiredPermission("system:role:create")
diff --git a/server/system_service/src/main/java/com/doumee/biz/system/SystemRoleBiz.java b/server/system_service/src/main/java/com/doumee/biz/system/SystemRoleBiz.java
index 3784377..8159684 100644
--- a/server/system_service/src/main/java/com/doumee/biz/system/SystemRoleBiz.java
+++ b/server/system_service/src/main/java/com/doumee/biz/system/SystemRoleBiz.java
@@ -2,6 +2,7 @@
import com.doumee.dao.system.dto.CreateRoleMenuDTO;
import com.doumee.dao.system.dto.CreateRolePermissionDTO;
+import com.doumee.dao.system.model.SystemDataPermission;
import com.doumee.dao.system.model.SystemRole;
import java.util.List;
@@ -54,4 +55,6 @@
* @date 2023/03/21 14:49
*/
void createRoleMenu(CreateRoleMenuDTO dto);
+
+ void createRoleDataPermission(SystemDataPermission dto);
}
diff --git a/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemRoleBizImpl.java b/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemRoleBizImpl.java
index d44d643..33b987b 100644
--- a/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemRoleBizImpl.java
+++ b/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemRoleBizImpl.java
@@ -3,14 +3,20 @@
import com.doumee.biz.system.SystemRoleBiz;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
import com.doumee.dao.system.dto.CreateRoleMenuDTO;
import com.doumee.dao.system.dto.CreateRolePermissionDTO;
+import com.doumee.dao.system.model.SystemDataPermission;
import com.doumee.dao.system.model.SystemRole;
import com.doumee.dao.system.model.SystemRoleMenu;
import com.doumee.dao.system.model.SystemRolePermission;
+import com.doumee.service.system.SystemDataPermissionService;
import com.doumee.service.system.SystemRoleMenuService;
import com.doumee.service.system.SystemRolePermissionService;
import com.doumee.service.system.SystemRoleService;
+import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -29,6 +35,8 @@
@Autowired
private SystemRoleMenuService systemRoleMenuService;
+ @Autowired
+ private SystemDataPermissionService systemDataPermissionService;
@Override
public Integer create(SystemRole systemRole) {
@@ -112,4 +120,28 @@
systemRoleMenuService.create(newRoleMenu);
}
}
+
+ @Override
+ @Transactional
+ public void createRoleDataPermission(SystemDataPermission dto) {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(user ==null){
+ user = dto.getLoginUserInfo();
+ }
+ if(dto.getRoleId()==null || dto.getType()==null ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝璇锋眰鍙傛暟涓嶆纭紒");
+ }
+ // 鍒犻櫎鍏宠仈鏉冮檺
+ SystemDataPermission deleteDto = new SystemDataPermission();
+ deleteDto.setRoleId(dto.getRoleId());
+
+ systemDataPermissionService.delete(deleteDto);
+ // 鏂板鏂扮殑鏉冮檺
+ dto.setDeleted(Boolean.FALSE);
+ dto.setBusinessCode("DEPARTMENT");
+ dto.setCreateTime(DateUtil.getCurrentDate());
+ dto.setCreateUser(user.getId());
+ dto.setDisabled(Boolean.FALSE);
+ systemDataPermissionService.create(dto);
+ }
}
diff --git a/server/system_service/src/main/java/com/doumee/config/cloudfilter/CloudWebConfig.java b/server/system_service/src/main/java/com/doumee/config/cloudfilter/CloudWebConfig.java
index 832854b..c8cf472 100644
--- a/server/system_service/src/main/java/com/doumee/config/cloudfilter/CloudWebConfig.java
+++ b/server/system_service/src/main/java/com/doumee/config/cloudfilter/CloudWebConfig.java
@@ -21,13 +21,13 @@
.addPathPatterns(Constants.CLOUD_SERVICE_URL_INDEX+"/**");
}
- @Bean
- public FilterRegistrationBean addRequestWrapperFilter() {
- FilterRegistrationBean<Filter> registration = new FilterRegistrationBean<>();
- registration.setFilter(new RequestWrapperFilter());
- registration.setName("RequestWrapperFilter");
- registration.addUrlPatterns(Constants.CLOUD_SERVICE_URL_INDEX+"/**");
- registration.setOrder(1);
- return registration;
- }
+// @Bean
+// public FilterRegistrationBean addRequestWrapperFilter() {
+// FilterRegistrationBean<Filter> registration = new FilterRegistrationBean<>();
+// registration.setFilter(new RequestWrapperFilter());
+// registration.setName("RequestWrapperFilter");
+// registration.addUrlPatterns(Constants.CLOUD_SERVICE_URL_INDEX+"/**");
+// registration.setOrder(1);
+// return registration;
+// }
}
\ No newline at end of file
diff --git a/server/system_service/src/main/java/com/doumee/core/aware/DefaultDataPermissionAware.java b/server/system_service/src/main/java/com/doumee/core/aware/DefaultDataPermissionAware.java
index 08f7789..8bf4831 100644
--- a/server/system_service/src/main/java/com/doumee/core/aware/DefaultDataPermissionAware.java
+++ b/server/system_service/src/main/java/com/doumee/core/aware/DefaultDataPermissionAware.java
@@ -43,7 +43,7 @@
// return this.defaultData(loginUserInfo.getId());
// }
SystemDataPermission systemDataPermission = new SystemDataPermission();
- systemDataPermission.setType((short)0);
+ systemDataPermission.setType(0);
List<SystemDataPermission> dataPermissions = new ArrayList<>();
dataPermissions.add(systemDataPermission);
// 鎸夎鑹茬殑鏁版嵁鏉冮檺浼樺厛绾ц繑鍥炴暟鎹�
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
index f4c5706..b6d0e88 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -5,16 +5,15 @@
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
+import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import java.io.IOException;
import java.math.BigDecimal;
import java.net.URLDecoder;
import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
+import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -87,6 +86,10 @@
public static final String CLOUD_SERVICE_URL_INDEX = "/cloudService";
public static final String VISIT_TIPS = "VISIT_TIPS";
public static final String VISIT_GUIDEMAP = "VISIT_GUIDEMAP";
+ public static final String HIDDEN_DANGER_FILE = "HIDDEN_DANGER_FILE";
+ public static final String LOG_DEL_DAYS_LIMIT ="LOG_DEL_DAYS_LIMIT" ;
+ public static final String HK_LOG_DEL_DAYS_LIMIT ="HK_LOG_DEL_DAYS_LIMIT" ;
+
public static boolean DEALING_HK_SYNCPRIVILEGE= false;
public static boolean DEALING_HK_SYNCDEVICE = false;
public static boolean DEALING_HK_SYNCDEVICE_STATUS = false;
@@ -115,7 +118,14 @@
// 瓒呮椂棰勮閰嶇疆
public static final String TIMEOUT_WARNING = "TIMEOUT_WARNING";
// FTP鏂囦欢鏈嶅姟鍣ㄨ祫婧愯闂湴鍧�
-
+ public interface DATAPERMISSION_TYPE{
+ public static final int all = 0;
+ public static final int departAndChild = 1;
+ public static final int departAndLeaf = 2;
+ public static final int depart = 3;
+ public static final int custom = 4;
+ public static final int self = -1;
+ }
public static Date getBirthdyByCardNo(String idCard){
if(idCard ==null || idCard.length()<14){
return null;
@@ -686,7 +696,138 @@
this.info = info;
}
}
+ /**
+ * 鍏宠仈瀵硅薄绫诲瀷
+ 鍏宠仈瀵硅薄绫诲瀷 0浼佷笟钀ヤ笟鎵х収 1鐞嗚禂鎶ユ浜嬫晠瑙嗛鎴栧浘鐗� 2鐞嗚禂鍛樺伐鍏崇郴璇佹槑鏉愭枡 3鐞嗚禂闂ㄨ瘖璧勬枡 4鐞嗚禂浣忛櫌璧勬枡 5鐞嗚禂浼ゆ畫璧勬枡 6鐞嗚禂璧斾粯缁撴鏉愭枡 7浼佷笟韬唤璇佸彿 8淇濆崟鐢宠琛≒DF 9绛剧讲鍚庝繚鍗曠敵璇疯〃PDF 10浼佷笟绛剧珷 11鏈�缁堟姤鍗�
+ */
+ public enum MultiFile{
+ HIDDEN_DANGER_SUBMIT(0, "闅愭偅闅忔墜鎷嶆彁鎶�", "闅愭偅闅忔墜鎷嶆彁鎶�"),
+ HIDDEN_DANGER_DEAL_BEFORE(1, "闅愭偅闅忔墜鎷嶅鐞嗗墠", "闅愭偅闅忔墜鎷嶅鐞嗗墠"),
+ HIDDEN_DANGER_DEAL_AFTER(2, "闅愭偅闅忔墜鎷嶅鐞嗗悗 ", "闅愭偅闅忔墜鎷嶅鐞嗗悗 "),
+ ;
+ // 鎴愬憳鍙橀噺
+ private String name;
+ private int key;
+ private String noteinfo;// 鎻忚堪
+ // 鏋勯�犳柟娉�
+ MultiFile(int key, String name, String noteinfo) {
+ this.name = name;
+ this.key = key;
+ this.noteinfo = noteinfo;
+ }
+
+ // 鏅�氭柟娉�
+ public static String getName(int index) {
+ for (MultiFile c : MultiFile.values()) {
+ if (c.getKey() == index) {
+ return c.name;
+ }
+ }
+ return null;
+ }
+
+ // 鏅�氭柟娉�
+ public static String getInfo(int index) {
+ for (MultiFile c : MultiFile.values()) {
+ if (c.getKey() == index) {
+ return c.noteinfo;
+ }
+ }
+ return null;
+ }
+
+ // get set 鏂规硶
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public int getKey() {
+ return key;
+ }
+
+ public void setKey(int key) {
+ this.key = key;
+ }
+
+ public String getNoteinfo() {
+ return noteinfo;
+ }
+
+
+
+ }
+ /**
+ * 瀹℃壒妯℃嫙绫诲瀷 0闈炴柦宸ヤ汉鍛樿瀹㈢敵璇� 1闈炴柦宸ヤ汉鍛樿瀹㈢敵璇� 2璁垮鎶ュ 3鍏溅甯傚唴鐢ㄨ溅 4鍏溅瀹ゅ鐢ㄨ溅 5甯傚叕鍙哥墿娴佽溅棰勭害
+ */
+ public enum ApproveTmplType{
+ NOT_SG_VISIT(0, "闈炴柦宸ヤ汉鍛樿瀹㈢敵璇�", "闈炴柦宸ヤ汉鍛樿瀹㈢敵璇�"),
+ SG_VISIT(1, "鏂藉伐浜哄憳璁垮鐢宠", "鏂藉伐浜哄憳璁垮鐢宠"),
+ CAR_VISIT(2, "璁垮鎶ュ ", "璁垮鎶ュ "),
+ IN_CITY_CAR_USE(3, "鍏溅甯傚唴鐢ㄨ溅 ", "鍏溅甯傚唴鐢ㄨ溅 "),
+ OUT_CITY_CAR_USE(4, "鍏溅瀹ゅ鐢ㄨ溅 ", "鍏溅瀹ゅ鐢ㄨ溅 "),
+ CITY_WLC_BOOK(5, "甯傚叕鍙哥墿娴佽溅棰勭害 ", "5甯傚叕鍙哥墿娴佽溅棰勭害 "),
+ ;
+ // 鎴愬憳鍙橀噺
+ private String name;
+ private int key;
+ private String noteinfo;// 鎻忚堪
+
+ // 鏋勯�犳柟娉�
+ ApproveTmplType(int key, String name, String noteinfo) {
+ this.name = name;
+ this.key = key;
+ this.noteinfo = noteinfo;
+ }
+
+ // 鏅�氭柟娉�
+ public static String getName(int index) {
+ for (ApproveTmplType c : ApproveTmplType.values()) {
+ if (c.getKey() == index) {
+ return c.name;
+ }
+ }
+ return null;
+ }
+
+ // 鏅�氭柟娉�
+ public static String getInfo(int index) {
+ for (ApproveTmplType c : ApproveTmplType.values()) {
+ if (c.getKey() == index) {
+ return c.noteinfo;
+ }
+ }
+ return null;
+ }
+
+ // get set 鏂规硶
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public int getKey() {
+ return key;
+ }
+
+ public void setKey(int key) {
+ this.key = key;
+ }
+
+ public String getNoteinfo() {
+ return noteinfo;
+ }
+
+
+
+ }
public enum NoticeObjectType {
MEETING_BOOK_SUCCESS(0, "浼氫笌棰勫畾鎴愬姛","浼氫笌棰勫畾鎴愬姛"),
MEETING_CACEL(1, "浼氳鍙栨秷","浼氳鍙栨秷"),
diff --git a/server/system_service/src/main/java/com/doumee/dao/system/SystemDataPermissionMapper.java b/server/system_service/src/main/java/com/doumee/dao/system/SystemDataPermissionMapper.java
index b972789..403d3c5 100644
--- a/server/system_service/src/main/java/com/doumee/dao/system/SystemDataPermissionMapper.java
+++ b/server/system_service/src/main/java/com/doumee/dao/system/SystemDataPermissionMapper.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.system.model.SystemDataPermission;
+import com.doumee.dao.system.model.SystemRole;
import com.doumee.dao.system.vo.SystemDataPermissionListVO;
import org.apache.ibatis.annotations.Param;
@@ -21,4 +22,6 @@
* @return List<SystemDataPermissionListVO>
*/
List<SystemDataPermissionListVO> selectManageList(@Param("dto") SystemDataPermission dto, @Param("orderByClause") String orderByClause);
+
+ List<SystemDataPermissionListVO> selectUserList(@Param("dto") SystemDataPermission dto, @Param("role") SystemRole role, @Param("userId") Integer userId);
}
diff --git a/server/system_service/src/main/java/com/doumee/dao/system/model/Multifile.java b/server/system_service/src/main/java/com/doumee/dao/system/model/Multifile.java
index 2c274ae..3efbe3b 100644
--- a/server/system_service/src/main/java/com/doumee/dao/system/model/Multifile.java
+++ b/server/system_service/src/main/java/com/doumee/dao/system/model/Multifile.java
@@ -79,6 +79,6 @@
@ApiModelProperty(value = "鏂囦欢鍦板潃")
@TableField(exist = false)
- private String fileFullUrl;
+ private String fileurlFull;
}
diff --git a/server/system_service/src/main/java/com/doumee/dao/system/model/SystemDataPermission.java b/server/system_service/src/main/java/com/doumee/dao/system/model/SystemDataPermission.java
index 7f82b15..028c6d1 100644
--- a/server/system_service/src/main/java/com/doumee/dao/system/model/SystemDataPermission.java
+++ b/server/system_service/src/main/java/com/doumee/dao/system/model/SystemDataPermission.java
@@ -40,7 +40,7 @@
@ApiModelProperty(value = "鏉冮檺绫诲瀷锛�0鍏ㄩ儴锛�1鑷畾涔夛紝2浠呯敤鎴锋墍灞烇紝3鐢ㄦ埛鎵�灞炲強鍏跺瓙鏁版嵁锛�", example = "1")
@NotNull(message = "鏉冮檺绫诲瀷涓嶈兘涓虹┖", groups = {OperaType.Create.class, OperaType.Update.class})
- private Short type;
+ private Integer type;
@ApiModelProperty(value = "鑷畾涔夋暟鎹�")
private String customData;
diff --git a/server/system_service/src/main/java/com/doumee/dao/system/model/SystemUser.java b/server/system_service/src/main/java/com/doumee/dao/system/model/SystemUser.java
index 7b8d088..5ebe99e 100644
--- a/server/system_service/src/main/java/com/doumee/dao/system/model/SystemUser.java
+++ b/server/system_service/src/main/java/com/doumee/dao/system/model/SystemUser.java
@@ -17,6 +17,7 @@
import javax.validation.constraints.Pattern;
import java.io.Serializable;
import java.util.Date;
+import java.util.List;
/**
* 绯荤粺鐢ㄦ埛
@@ -107,5 +108,8 @@
@ApiModelProperty(value = "0 鍚敤 1 绂佺敤")
@TableField(exist = false)
private String companyName;
+ @ApiModelProperty(value = "鏁版嵁鏉冮檺鍐呴儴闂ㄧ紪鐮侀泦鍚�")
+ @TableField(exist = false)
+ private List<Integer> companyIdList;
}
diff --git a/server/system_service/src/main/java/com/doumee/service/system/SystemDataPermissionService.java b/server/system_service/src/main/java/com/doumee/service/system/SystemDataPermissionService.java
index d05ec2a..8dfd607 100644
--- a/server/system_service/src/main/java/com/doumee/service/system/SystemDataPermissionService.java
+++ b/server/system_service/src/main/java/com/doumee/service/system/SystemDataPermissionService.java
@@ -3,6 +3,8 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.system.model.SystemDataPermission;
+import com.doumee.dao.system.model.SystemRole;
+import com.doumee.dao.system.model.SystemUser;
import com.doumee.dao.system.vo.SystemDataPermissionListVO;
import java.util.List;
@@ -105,4 +107,8 @@
* @return long
*/
long count(SystemDataPermission systemDataPermission);
+
+ List<Integer> selectHighRole(SystemDataPermission systemDataPermission, SystemRole rt, SystemUser user);
+
+ SystemDataPermission findByRoleId(SystemDataPermission pageWrap);
}
diff --git a/server/system_service/src/main/java/com/doumee/service/system/impl/NoticesServiceImpl.java b/server/system_service/src/main/java/com/doumee/service/system/impl/NoticesServiceImpl.java
index 6eaf6f6..67cbee2 100644
--- a/server/system_service/src/main/java/com/doumee/service/system/impl/NoticesServiceImpl.java
+++ b/server/system_service/src/main/java/com/doumee/service/system/impl/NoticesServiceImpl.java
@@ -95,7 +95,6 @@
Utils.MP.blankToNull(pageWrap.getModel());
LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
-
queryWrapper.selectAll(Notices.class);
if (pageWrap.getModel().getIsdeleted() != null) {
queryWrapper.eq(Notices::getIsdeleted, pageWrap.getModel().getIsdeleted());
@@ -130,7 +129,6 @@
}else{
queryWrapper.orderByDesc(Notices::getCreateDate);
}
-
PageData<Notices> pageData = PageData.from(noticesMapper.selectJoinPage(page,Notices.class, queryWrapper));
return pageData;
diff --git a/server/system_service/src/main/java/com/doumee/service/system/impl/SystemDataPermissionServiceImpl.java b/server/system_service/src/main/java/com/doumee/service/system/impl/SystemDataPermissionServiceImpl.java
index 6c62016..a62e6f6 100644
--- a/server/system_service/src/main/java/com/doumee/service/system/impl/SystemDataPermissionServiceImpl.java
+++ b/server/system_service/src/main/java/com/doumee/service/system/impl/SystemDataPermissionServiceImpl.java
@@ -1,25 +1,32 @@
package com.doumee.service.system.impl;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.dao.CompanyMapper;
+import com.doumee.dao.business.model.Company;
import com.doumee.dao.system.SystemDataPermissionMapper;
import com.doumee.dao.system.SystemRoleMapper;
import com.doumee.dao.system.model.SystemDataPermission;
import com.doumee.dao.system.model.SystemRole;
+import com.doumee.dao.system.model.SystemUser;
import com.doumee.dao.system.vo.SystemDataPermissionListVO;
import com.doumee.service.system.SystemDataPermissionService;
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
import java.util.List;
+import java.util.stream.Collectors;
/**
* 鏁版嵁鏉冮檺閰嶇疆Service瀹炵幇
@@ -34,6 +41,8 @@
@Autowired
private SystemRoleMapper systemRoleMapper;
+ @Autowired
+ private CompanyMapper companyMapper;
@Override
public Integer create(SystemDataPermission systemDataPermission) {
@@ -132,4 +141,148 @@
Wrapper<SystemDataPermission> wrapper = new QueryWrapper<>(systemDataPermission);
return systemDataPermissionMapper.selectCount(wrapper);
}
+ @Override
+ public SystemDataPermission findByRoleId(SystemDataPermission pageWrap){
+ if ( pageWrap.getRoleId() == null) {
+ return null;
+ }
+
+ // 鏌ヨ鏁版嵁鏉冮檺
+ QueryWrapper<SystemDataPermission> queryWrapper = new QueryWrapper<>();
+ queryWrapper.lambda()
+ .eq(SystemDataPermission::getBusinessCode, "DEPARTMENT")
+ .eq(SystemDataPermission::getRoleId, pageWrap.getRoleId())
+ .eq(SystemDataPermission::getDeleted, Boolean.FALSE)
+ .eq(SystemDataPermission::getDisabled, Boolean.FALSE);
+ List<SystemDataPermission> result = systemDataPermissionMapper.selectList(queryWrapper);
+ if(result!=null && result.size()>0){
+ return result.get(0);
+ }
+ return null;
+ }
+
+
+ @Override
+ public List<Integer> selectHighRole(SystemDataPermission model, SystemRole role, SystemUser user) {
+ List<SystemDataPermissionListVO>list = systemDataPermissionMapper.selectUserList(model,role,user.getId()) ;
+ if(list !=null){
+ boolean all = false;
+ boolean departAndChild=false;
+ boolean depart=false;
+ boolean departAndLeaf=false;
+ boolean custom=false;
+ String c = "";
+ for(SystemDataPermissionListVO d : list){
+ if(!all && Constants.equalsInteger(d.getType(),Constants.DATAPERMISSION_TYPE.all)){
+ all =true;
+ }
+ if(!depart && Constants.equalsInteger(d.getType(),Constants.DATAPERMISSION_TYPE.depart)){
+ depart =true;
+ }
+ if(!departAndChild && Constants.equalsInteger(d.getType(),Constants.DATAPERMISSION_TYPE.departAndChild)){
+ departAndChild =true;
+ }
+ if(!departAndLeaf && Constants.equalsInteger(d.getType(),Constants.DATAPERMISSION_TYPE.departAndLeaf)){
+ departAndLeaf =true;
+ }
+ if( Constants.equalsInteger(d.getType(),Constants.DATAPERMISSION_TYPE.custom)){
+ custom =true;
+ c += StringUtils.defaultString(d.getCustomData(),"");
+ }
+ }
+ Company department = new Company();
+ department.setId(user.getCompanyId());
+
+ if(all){
+ return null;
+ }else{
+ List<Integer> dList = new ArrayList<>();
+ dList.add(-1);//铏氭嫙閮ㄩ棬锛屾帓鏌ョ┖闆嗗悎
+ if(custom) {
+ //濡傛灉鏈夎嚜瀹氫箟閮ㄩ棬
+ String[] idStrs = c.split(",");
+ for(String s :idStrs){
+ try {
+ Integer si = Integer.parseInt(s);
+ if(!isExists(si,dList)){
+ dList.add(si);
+ }
+ }catch (Exception e){
+ }
+ }
+ }
+ if(departAndLeaf){
+ if(department!= null){
+ dList.addAll(userDataPermissonList(department,true));
+ }
+ }else if(departAndChild){
+ if(department!= null) {
+ dList.addAll(userDataPermissonList(department, false));
+ }
+ }else if(depart){
+ if(department!= null && !isExists(department.getId(), dList)){
+ dList.add(department.getId());
+ }
+ }
+ return dList;
+ }
+ }
+ return new ArrayList<>();
+ }
+
+ public List<Integer> userDataPermissonList(Company depart ,boolean isleaf) {
+ List<Integer> pool = new ArrayList<>();
+ List<Company> departList = companyMapper.selectList(new QueryWrapper<Company>().lambda()
+ .eq(Company::getIsdeleted,Constants.ZERO ) );
+ pool.add(depart.getId());
+ this.fillDepartChildren(pool, Arrays.asList(depart.getId()),isleaf,departList);
+ return pool;
+ }
+
+ private void fillDepartChildren(List<Integer> pool, List<Integer> asList, boolean isleaf, List<Company> departList) {
+ List<Company> departments = getDepartListByParentIds(asList,departList);
+ List<Integer> ids = departments.stream().map(Company::getId).collect(Collectors.toList());
+ if(isleaf){
+ if (ids.size() > 0) {
+ pool.addAll(ids);
+ this.fillDepartChildren(pool, ids,isleaf,departList);
+ }
+ }else{
+ pool.addAll(ids);
+ }
+
+ }
+
+ private List<Company> getDepartListByParentIds(List<Integer> asList, List<Company> departList) {
+ List<Company> list = new ArrayList<>();
+ if(asList.size()>0){
+ for(Integer id : asList){
+ list.addAll(getDepartListByParentId(id,departList));
+ }
+ }
+ return list;
+ }
+
+
+ private List<Company> getDepartListByParentId(Integer pId, List<Company> departList) {
+ List<Company> list = new ArrayList<>();
+ if(departList!= null){
+ for(Company d :departList){
+ if(Constants.equalsInteger(d.getParentId(),pId)){
+ list.add(d);
+ }
+ }
+ }
+ return list;
+ }
+ private boolean isExists(Integer s, List<Integer> dList) {
+ if(dList!=null){
+ for(Integer t : dList){
+ if(Constants.equalsInteger(s,t)){
+ return true;
+ }
+ }
+ }
+ return false;
+ }
}
diff --git a/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java b/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
index eeeea19..3cd3c00 100644
--- a/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
+++ b/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
@@ -5,10 +5,7 @@
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.utils.Utils;
import com.doumee.dao.system.dto.LoginDTO;
-import com.doumee.dao.system.model.SystemLoginLog;
-import com.doumee.dao.system.model.SystemPermission;
-import com.doumee.dao.system.model.SystemRole;
-import com.doumee.dao.system.model.SystemUser;
+import com.doumee.dao.system.model.*;
import com.doumee.service.common.CaptchaService;
import com.doumee.service.system.*;
import lombok.extern.slf4j.Slf4j;
@@ -39,6 +36,9 @@
@Autowired
private SystemUserService systemUserService;
+ @Lazy
+ @Autowired
+ private SystemDataPermissionService systemDataPermissionService;
@Lazy
@Autowired
private SystemRoleService systemRoleService;
@@ -138,6 +138,12 @@
// 鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅
List<SystemRole> roles = systemRoleService.findByUserId(user.getId());
List<SystemPermission> permissions = systemPermissionService.findByUserId(user.getId());
+
+ SystemRole rt = new SystemRole();
+ rt.setDeleted(Boolean.FALSE);
+ //鏁版嵁閮ㄩ棬鏉冮檺闆嗗悎
+ user.setCompanyIdList(systemDataPermissionService.selectHighRole(new SystemDataPermission(),rt,user));
+
LoginUserInfo userInfo = LoginUserInfo.from(user, roles, permissions,null);
return userInfo;
}
diff --git a/server/system_service/src/main/java/com/doumee/service/timer/QuartzJobService.java b/server/system_service/src/main/java/com/doumee/service/timer/QuartzJobService.java
index 0f894b1..bfe0442 100644
--- a/server/system_service/src/main/java/com/doumee/service/timer/QuartzJobService.java
+++ b/server/system_service/src/main/java/com/doumee/service/timer/QuartzJobService.java
@@ -1,6 +1,14 @@
package com.doumee.service.timer;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Utils;
import com.doumee.dao.timer.entity.JobState;
import com.doumee.dao.timer.entity.QuartzJob;
import com.doumee.dao.timer.mapper.QuartzJobMapper;
@@ -90,4 +98,32 @@
quartzManage.run(quartzJob);
}
}
+
+ public PageData<QuartzJob> findPage(PageWrap<QuartzJob> pageWrap) {
+ IPage<QuartzJob> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+ QueryWrapper<QuartzJob> queryWrapper = new QueryWrapper<>();
+ Utils.MP.blankToNull(pageWrap.getModel());
+ queryWrapper.lambda()
+ .eq(pageWrap.getModel().getId() != null, QuartzJob::getId, pageWrap.getModel().getId())
+ .eq(pageWrap.getModel().getParams() != null, QuartzJob::getParams, pageWrap.getModel().getParams())
+ .like(pageWrap.getModel().getBeanName() != null, QuartzJob::getBeanName, pageWrap.getModel().getBeanName())
+ .eq(pageWrap.getModel().getState() != null, QuartzJob::getState, pageWrap.getModel().getState())
+ .eq(pageWrap.getModel().getRemark() != null, QuartzJob::getRemark, pageWrap.getModel().getRemark())
+ .like(pageWrap.getModel().getModule() != null, QuartzJob::getModule, pageWrap.getModel().getModule())
+ ;
+ return PageData.from(quartzJobMapper.selectPage(page, queryWrapper));
+ }
+
+
+ public void updateById(QuartzJob model) {
+ QuartzJob quartzJob = quartzJobMapper.selectById(model.getId()) ;
+ if (Objects.isNull(quartzJob)) {
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ pause(model.getId());//鏆傚仠
+ //鍏堝垹闄ゅ氨浠诲姟
+ quartzManage.deleteJob(model.getId());
+ quartzJob.setState(JobState.JOB_STOP.getStatus());
+ quartzJobMapper.updateById(quartzJob) ;
+ }
}
\ No newline at end of file
diff --git a/server/system_service/src/main/resources/mappers/SystemDataPermissionMapper.xml b/server/system_service/src/main/resources/mappers/SystemDataPermissionMapper.xml
index 13f821f..bcce7d2a 100644
--- a/server/system_service/src/main/resources/mappers/SystemDataPermissionMapper.xml
+++ b/server/system_service/src/main/resources/mappers/SystemDataPermissionMapper.xml
@@ -43,5 +43,34 @@
</where>
${orderByClause}
</select>
-
+ <select id="selectUserList" resultMap="SystemDataPermissionListVO">
+ SELECT
+ sdp.`ID`, sdp.`BUSINESS_CODE`, sdp.`ROLE_ID`, sdp.`TYPE`, sdp.`CUSTOM_DATA`, sdp.`DISABLED`, sdp.`REMARK`, sdp.DISABLED, sdp.`CREATE_TIME`, sdp.`UPDATE_TIME`,
+ role.`ID` AS ROLE_ID, role.`CODE` AS ROLE_CODE, role.`NAME` AS ROLE_NAME,
+ create_user.ID CREATE_USER_ID, create_user.`USERNAME` CREATE_USER_NAME,
+ update_user.ID UPDETE_USER_ID, update_user.`USERNAME` UPDATE_USER_NAME
+ FROM SYSTEM_DATA_PERMISSION sdp
+ INNER JOIN `SYSTEM_ROLE` role ON role.ID = sdp.ROLE_ID
+ LEFT JOIN `SYSTEM_USER` create_user ON create_user.ID = sdp.CREATE_USER
+ LEFT JOIN `SYSTEM_USER` update_user ON update_user.ID = sdp.UPDATE_USER
+ <where>
+ sdp.DELETED = 0
+ <if test="dto.businessCode != null and dto.businessCode != ''">
+ AND sdp.`BUSINESS_CODE` = #{dto.businessCode}
+ </if>
+ <if test="dto.roleId != null">
+ AND role.`ID` = #{dto.roleId}
+ </if>
+ <if test="dto.type != null">
+ AND sdp.`TYPE` = #{dto.type}
+ </if>
+ <if test="role.companyId != null">
+ AND role.`COMPANY_ID` = #{role.companyId}
+ </if>
+ <if test="userId != null">
+ AND exists (select sr.id from system_user_role sr where sr.role_id=sdp.role_id and sr.user_id=#{userId} and sr.STATUS=0 and sr.deleted=0)
+ </if>
+ </where>
+ order by role.`TYPE` asc
+ </select>
</mapper>
diff --git a/server/system_timer/src/main/java/com/doumee/api/timer/QuartzCloudController.java b/server/system_timer/src/main/java/com/doumee/api/timer/QuartzCloudController.java
new file mode 100644
index 0000000..2c355e0
--- /dev/null
+++ b/server/system_timer/src/main/java/com/doumee/api/timer/QuartzCloudController.java
@@ -0,0 +1,79 @@
+package com.doumee.api.timer;
+
+import com.doumee.api.BaseController;
+import com.doumee.config.annotation.CloudRequiredPermission;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.timer.entity.QuartzJob;
+import com.doumee.service.timer.QuartzJobService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @author 姹熻箘韫�
+ * @since 2024/04/28 16:06
+ */
+@Api(tags = "浣滀笟璋冨害骞冲彴鎺ュ彛浜や簰璁板綍")
+@RestController
+@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/business/quartz")
+public class QuartzCloudController extends BaseController {
+
+ @Autowired
+ private QuartzJobService quartzJobService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @CloudRequiredPermission("business:quartz:create")
+ public ApiResponse create(@RequestBody QuartzJob quartzJob ,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
+ quartzJobService.insert(quartzJob) ;
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @CloudRequiredPermission("business:quartz:update")
+ public ApiResponse updateById(@RequestBody QuartzJob quartzJob,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
+ quartzJobService.update(quartzJob);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation( "鍋滄浠诲姟")
+ @GetMapping("/pause/{id}")
+ @CloudRequiredPermission("business:quartz:update")
+ public ApiResponse pause(@PathVariable("id") Integer id) {
+ quartzJobService.pause(id); return ApiResponse.success(null);
+ }
+
+ @ApiOperation( "鎭㈠浠诲姟")
+ @GetMapping("/resume/{id}")
+ @CloudRequiredPermission("business:quartz:update")
+ public ApiResponse resume(@PathVariable("id") Integer id) {
+ quartzJobService.resume(id) ; return ApiResponse.success(null);
+ }
+
+ @ApiOperation( "鎵ц涓�娆�")
+ @GetMapping("/runOnce/{id}")
+ @CloudRequiredPermission("business:quartz:update")
+ public ApiResponse runOnce(@PathVariable("id") Integer id) {
+ quartzJobService.runOnce(id) ; return ApiResponse.success(null);
+ }
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @CloudRequiredPermission("business:quartz:query")
+ public ApiResponse<PageData<QuartzJob>> findPage (@RequestBody PageWrap<QuartzJob> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
+ return ApiResponse.success(quartzJobService.findPage(pageWrap));
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @CloudRequiredPermission("business:quartz:query")
+ public ApiResponse<QuartzJob> findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
+ return ApiResponse.success( quartzJobService.getById(id));
+ }
+}
diff --git a/server/system_timer/src/main/java/com/doumee/api/timer/QuartzController.java b/server/system_timer/src/main/java/com/doumee/api/timer/QuartzController.java
index 0535e68..4695267 100644
--- a/server/system_timer/src/main/java/com/doumee/api/timer/QuartzController.java
+++ b/server/system_timer/src/main/java/com/doumee/api/timer/QuartzController.java
@@ -10,7 +10,7 @@
import javax.annotation.Resource;
@RestController
-@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/quartz")
+@RequestMapping( "/business/quartz")
@Api(tags = "瀹氭椂浠诲姟鎺ュ彛")
public class QuartzController {
diff --git a/server/visits/admin_timer/src/main/java/com/doumee/api/HkLogTimerController.java b/server/visits/admin_timer/src/main/java/com/doumee/api/InterfaceLogTimerController.java
similarity index 74%
rename from server/visits/admin_timer/src/main/java/com/doumee/api/HkLogTimerController.java
rename to server/visits/admin_timer/src/main/java/com/doumee/api/InterfaceLogTimerController.java
index 6a04b5e..e963898 100644
--- a/server/visits/admin_timer/src/main/java/com/doumee/api/HkLogTimerController.java
+++ b/server/visits/admin_timer/src/main/java/com/doumee/api/InterfaceLogTimerController.java
@@ -1,19 +1,14 @@
package com.doumee.api;
-import com.doumee.api.BaseController;
import com.doumee.core.model.ApiResponse;
-import com.doumee.core.utils.Constants;
import com.doumee.service.business.InterfaceLogService;
-import com.doumee.service.business.impl.hksync.HkSyncVisitServiceImpl;
-import com.doumee.service.business.impl.hksync.fhk.HkSyncVisitFromHKServiceImpl;
+import com.doumee.service.business.PlatformInterfaceLogService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
-
-import java.util.Date;
/**
* @author 姹熻箘韫�
@@ -22,14 +17,17 @@
@Api(tags = "鏃ュ織瀹氭椂鍣ㄦ帴鍙�")
@RestController
@RequestMapping("/timer/log")
-public class HkLogTimerController extends BaseController {
+public class InterfaceLogTimerController extends BaseController {
@Autowired
private InterfaceLogService interfaceLogService;
+ @Autowired
+ private PlatformInterfaceLogService platformInterfaceLogService;
@ApiOperation("寮�鍚畾鏃舵帴鍙f棩蹇楁竻鐞�")
@GetMapping("/clearThreeMonthLog")
public ApiResponse clearThreeMonthLog() {
interfaceLogService.clearThreeMonthLog();
+ platformInterfaceLogService.clearThreeMonthLog();
return ApiResponse.success("寮�鍚畾鏃舵帴鍙f棩蹇楁竻鐞嗘垚鍔�");
}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/ApproveTemplController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/ApproveTemplController.java
index cc3e9f8..cd76650 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/ApproveTemplController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/ApproveTemplController.java
@@ -39,7 +39,7 @@
@GetMapping("/delete/{id}")
@RequiresPermissions("business:approvetempl:delete")
public ApiResponse deleteById(@PathVariable Integer id) {
- approveTemplService.deleteById(id);
+ approveTemplService.deleteById(id,this.getLoginUser(null));
return ApiResponse.success(null);
}
@@ -47,7 +47,7 @@
@GetMapping("/delete/batch")
@RequiresPermissions("business:approvetempl:delete")
public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
- approveTemplService.deleteByIdInBatch(this.getIdList(ids));
+ approveTemplService.deleteByIdInBatch(this.getIdList(ids),this.getLoginUser(null));
return ApiResponse.success(null);
}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/HiddenDangerParamController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/HiddenDangerParamController.java
index eb57694..d0f1c31 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/HiddenDangerParamController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/HiddenDangerParamController.java
@@ -39,7 +39,7 @@
@GetMapping("/delete/{id}")
@RequiresPermissions("business:hiddendangerparam:delete")
public ApiResponse deleteById(@PathVariable Integer id) {
- hiddenDangerParamService.deleteById(id);
+ hiddenDangerParamService.deleteById(id,this.getLoginUser(null));
return ApiResponse.success(null);
}
@@ -47,7 +47,7 @@
@GetMapping("/delete/batch")
@RequiresPermissions("business:hiddendangerparam:delete")
public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
- hiddenDangerParamService.deleteByIdInBatch(this.getIdList(ids));
+ hiddenDangerParamService.deleteByIdInBatch(this.getIdList(ids),this.getLoginUser(null));
return ApiResponse.success(null);
}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ApproveTemplCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ApproveTemplCloudController.java
index 040c6f8..7d82a68 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ApproveTemplCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/ApproveTemplCloudController.java
@@ -34,14 +34,23 @@
@PostMapping("/create")
@CloudRequiredPermission("business:approvetempl:create")
public ApiResponse create(@RequestBody ApproveTempl approveTempl,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
+ approveTempl.setLoginUserInfo(this.getLoginUser(token));
return ApiResponse.success(approveTemplService.create(approveTempl));
+ }
+ @PreventRepeat
+ @ApiOperation("鍙戝竷妯$増")
+ @PostMapping("/save")
+ @CloudRequiredPermission("business:approvetempl:create")
+ public ApiResponse save(@RequestBody ApproveTempl approveTempl,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
+ approveTempl.setLoginUserInfo(this.getLoginUser(token));
+ return ApiResponse.success(approveTemplService.save(approveTempl));
}
@ApiOperation("鏍规嵁ID鍒犻櫎")
@GetMapping("/delete/{id}")
@CloudRequiredPermission("business:approvetempl:delete")
public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
- approveTemplService.deleteById(id);
+ approveTemplService.deleteById(id,this.getLoginUser(token));
return ApiResponse.success(null);
}
@@ -49,7 +58,7 @@
@GetMapping("/delete/batch")
@CloudRequiredPermission("business:approvetempl:delete")
public ApiResponse deleteByIdInBatch(@RequestParam String ids,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
- approveTemplService.deleteByIdInBatch(this.getIdList(ids));
+ approveTemplService.deleteByIdInBatch(this.getIdList(ids),this.getLoginUser(token));
return ApiResponse.success(null);
}
@@ -57,6 +66,7 @@
@PostMapping("/updateById")
@CloudRequiredPermission("business:approvetempl:update")
public ApiResponse updateById(@RequestBody ApproveTempl approveTempl,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
+ approveTempl.setLoginUserInfo(this.getLoginUser(token));
approveTemplService.updateById(approveTempl);
return ApiResponse.success(null);
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/ApproveParamMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/ApproveParamMapper.java
index a7f0618..0dfa3e2 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/ApproveParamMapper.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/ApproveParamMapper.java
@@ -3,10 +3,13 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.ApproveParam;
+import java.util.List;
+
/**
* @author 姹熻箘韫�
* @date 2023/12/28 11:46
*/
public interface ApproveParamMapper extends BaseMapper<ApproveParam> {
+ void insertBatchSomeColumn(List<ApproveParam> paramList);
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/HiddenDangerMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/HiddenDangerMapper.java
index 91715e6..6a22252 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/HiddenDangerMapper.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/HiddenDangerMapper.java
@@ -2,11 +2,12 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.HiddenDanger;
+import com.github.yulichang.base.MPJBaseMapper;
/**
* @author 姹熻箘韫�
* @since 2024/04/28 16:06
*/
-public interface HiddenDangerMapper extends BaseMapper<HiddenDanger> {
+public interface HiddenDangerMapper extends MPJBaseMapper<HiddenDanger> {
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Approve.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Approve.java
index 05d9e2e..0d25cc0 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Approve.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Approve.java
@@ -68,8 +68,8 @@
@ExcelColumn(name="ERP瀹℃壒缂栫爜")
private String erpId;
- @ApiModelProperty(value = "瀹℃壒鐘舵�� 0寰呭鎵� 1瀹℃壒涓� 2瀹℃壒閫氳繃 3瀹℃壒鏈�氳繃 4浠栦汉宸插鐞�", example = "1")
- @ExcelColumn(name="瀹℃壒鐘舵�� 0寰呭鎵� 1瀹℃壒涓� 2瀹℃壒閫氳繃 3瀹℃壒鏈�氳繃 4浠栦汉宸插鐞�")
+ @ApiModelProperty(value = "瀹℃壒鐘舵�� 0寰呰嚜宸卞鎵瑰鎵� 1寰呰嚜宸卞鎵� 2瀹℃壒閫氳繃 3瀹℃壒鏈�氳繃 4浠栦汉宸插鐞� ", example = "1")
+ @ExcelColumn(name="瀹℃壒鐘舵�� 0寰呰嚜宸卞鎵瑰鎵� 1寰呰嚜宸卞鎵� 2瀹℃壒閫氳繃 3瀹℃壒鏈�氳繃 4浠栦汉宸插鐞�")
private Integer status;
@ApiModelProperty(value = "鐘舵�佷俊鎭�")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/ApproveParam.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/ApproveParam.java
index fa3de7e..8147a87 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/ApproveParam.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/ApproveParam.java
@@ -71,6 +71,15 @@
@ApiModelProperty(value = "瀹℃壒浜虹紪鐮侊紝澶氫釜鐢ㄨ嫳鏂囬�楀彿闅斿紑")
@ExcelColumn(name="瀹℃壒浜虹紪鐮侊紝澶氫釜鐢ㄨ嫳鏂囬�楀彿闅斿紑")
private String objIds;
+ @ApiModelProperty(value = "妯$増Id")
+ @ExcelColumn(name="妯$増Id")
+ private Integer templId;
+ @ApiModelProperty(value = "鏄惁鎸囧畾鍙告満椤� 0鍚� 1鏄�")
+ @ExcelColumn(name="鏄惁鎸囧畾鍙告満椤� 0鍚� 1鏄�")
+ private Integer driverParam;
+ @ApiModelProperty(value = "鏄惁淇敼鐩殑鍦� 0鍚� 1鏄�")
+ @ExcelColumn(name="鏄惁淇敼鐩殑鍦� 0鍚� 1鏄�")
+ private Integer addrParam;
@ApiModelProperty(value = "瀹℃壒涓荤绛夌骇 0鐩存帴涓荤 1浜岀骇涓荤 2涓夌骇涓荤 4鍥涚骇涓荤", example = "1")
@ExcelColumn(name="瀹℃壒涓荤绛夌骇 0鐩存帴涓荤 1浜岀骇涓荤 2涓夌骇涓荤 4鍥涚骇涓荤")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/ApproveTempl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/ApproveTempl.java
index 43980aa..3735f00 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/ApproveTempl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/ApproveTempl.java
@@ -1,5 +1,6 @@
package com.doumee.dao.business.model;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import com.doumee.core.model.LoginUserModel;
import io.swagger.annotations.ApiModel;
@@ -10,6 +11,7 @@
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
+import java.util.List;
/**
* 瀹℃壒妯$増淇℃伅琛�
@@ -60,4 +62,8 @@
@ExcelColumn(name="鍚嶇О")
private String name;
+ @ApiModelProperty(value = "瀹℃壒妯$増閰嶇疆鏄庣粏闆嗗悎")
+ @TableField(exist = false)
+ private List<ApproveParam> paramList;
+
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java
index 8878ba9..8336948 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import com.doumee.core.model.LoginUserModel;
+import com.doumee.dao.system.model.Multifile;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
@@ -11,6 +12,7 @@
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
+import java.util.List;
/**
* 闅愭偅淇℃伅琛�
@@ -122,5 +124,14 @@
@ApiModelProperty(value = "鏌ヨ鎴濮嬫椂闂达紙鍩轰簬鎻愭姤鏃堕棿锛�", example = "2024-05-20 11:48:46")
@TableField(exist = false)
private Date queryEndTime;
+ @ApiModelProperty(value = "鐜板満鎯呭喌鎻愭姤闄勪欢闆嗗悎")
+ @TableField(exist = false)
+ private List<Multifile> submitFileList;
+ @ApiModelProperty(value = "澶勭悊鍓嶉檮浠堕泦鍚�")
+ @TableField(exist = false)
+ private List<Multifile> dealBeforeFileList;
+ @ApiModelProperty(value = "澶勭悊鍚庨檮浠堕泦鍚�")
+ @TableField(exist = false)
+ private List<Multifile> dealAfterFileList;
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
index 4f0e839..31dd657 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
@@ -76,7 +76,7 @@
private String imgurl;
@ApiModelProperty(value = "绫诲瀷 0鍔冲姟璁垮 1鏅�氳瀹� 2鍐呴儴浜哄憳", example = "1")
- @ExcelColumn(name="绫诲瀷 0鍔冲姟璁垮 1鏅�氳瀹� 2鍐呴儴浜哄憳")
+ @ExcelColumn(name="绫诲瀷 0鍔冲姟璁垮 1鏅�氳瀹� 2鍐呴儴浜哄憳")
private Integer type;
@ApiModelProperty(value = "璁垮鍚嶇О/鍐呴儴浜哄憳")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ApproveTemplService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ApproveTemplService.java
index 47b8bcb..662e9c0 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ApproveTemplService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ApproveTemplService.java
@@ -1,5 +1,6 @@
package com.doumee.service.business;
+import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.ApproveTempl;
@@ -25,7 +26,7 @@
*
* @param id 涓婚敭
*/
- void deleteById(Integer id);
+ void deleteById(Integer id, LoginUserInfo user);
/**
* 鍒犻櫎
@@ -39,7 +40,7 @@
*
* @param ids 涓婚敭闆�
*/
- void deleteByIdInBatch(List<Integer> ids);
+ void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user);
/**
* 涓婚敭鏇存柊
@@ -94,4 +95,6 @@
* @return long
*/
long count(ApproveTempl approveTempl);
+
+ int save(ApproveTempl approveTempl);
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformInterfaceLogService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformInterfaceLogService.java
index 4f4a6eb..1dd001d 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformInterfaceLogService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformInterfaceLogService.java
@@ -94,4 +94,6 @@
* @return long
*/
long count(PlatformInterfaceLog platformInterfaceLog);
+
+ void clearThreeMonthLog();
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveTemplServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveTemplServiceImpl.java
index 1271993..b940e2e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveTemplServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveTemplServiceImpl.java
@@ -7,11 +7,10 @@
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.ApproveParamMapper;
import com.doumee.dao.business.ApproveTemplMapper;
import com.doumee.dao.business.MemberMapper;
-import com.doumee.dao.business.model.ApproveTempl;
-import com.doumee.dao.business.model.CarDriver;
-import com.doumee.dao.business.model.Member;
+import com.doumee.dao.business.model.*;
import com.doumee.service.business.ApproveTemplService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -20,6 +19,7 @@
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.Date;
@@ -36,7 +36,58 @@
@Autowired
private ApproveTemplMapper approveTemplMapper;
@Autowired
+ private ApproveParamMapper approveParamMapper;
+ @Autowired
private MemberMapper memberMapper;
+
+ @Override
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+ public int save(ApproveTempl model) {
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(loginUserInfo == null){
+ loginUserInfo = model.getLoginUserInfo();
+ }
+ if(model.getType() == null || Constants.ApproveTmplType.getName(model.getType()) == null){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ ApproveTempl template = approveTemplMapper.selectOne(new QueryWrapper<ApproveTempl>().lambda()
+ .eq(ApproveTempl::getType,model.getType() )
+ .eq(ApproveTempl::getIsdeleted,Constants.ZERO)
+ .last("limit 1"));
+ Date date =new Date();
+ if(template == null){
+ //濡傛灉妯$増娌℃湁锛屽垯鏂板
+ template = new ApproveTempl();
+ template.setType(model.getType());
+ template.setCreateDate(date);
+ template.setCreator(loginUserInfo.getId());
+ template.setEditDate(date);
+ template.setIsdeleted(Constants.ZERO);
+ template.setEditor(loginUserInfo.getId());
+ template.setName(Constants.ApproveTmplType.getName(model.getType()));
+ approveTemplMapper.insert(template);
+ }
+ if(model.getParamList()!=null && model.getParamList().size()>0){
+ for(ApproveParam param : model.getParamList()){
+ param.setCreateDate(date);
+ param.setCreator(loginUserInfo.getId());
+ param.setEditDate(date);
+ param.setEditor(loginUserInfo.getId());
+ param.setIsdeleted(Constants.ZERO);
+ param.setTemplId(template.getId());
+ param.setType(Constants.formatIntegerNum(param.getType()));
+ param.setAddrParam(Constants.formatIntegerNum(param.getAddrParam()));
+ param.setDriverParam(Constants.formatIntegerNum(param.getDriverParam()));
+ param.setApproveType(Constants.formatIntegerNum(param.getApproveType()));
+ }
+ //鍏堟竻闄ゅ師鏉ユ墍鏈夌殑灏遍櫔閰嶇疆
+ approveParamMapper.delete(new UpdateWrapper<ApproveParam>().lambda()
+ .eq(ApproveParam::getTemplId,template.getId()));
+ //鎵归噺鎻掑叆鏂扮殑閰嶇疆
+ approveParamMapper.insertBatchSomeColumn(model.getParamList());
+ }
+ return model.getId();
+ }
@Override
public Integer create(ApproveTempl model) {
@@ -45,8 +96,13 @@
}
@Override
- public void deleteById(Integer id) {
- approveTemplMapper.deleteById(id);
+ public void deleteById(Integer id, LoginUserInfo userInfo) {
+ ApproveTempl model = new ApproveTempl();
+ model.setEditDate(new Date());
+ model.setEditor(userInfo.getId());
+ model.setId(id);
+ model.setIsdeleted(Constants.ONE);
+ approveTemplMapper.updateById(model);
}
@Override
@@ -56,11 +112,13 @@
}
@Override
- public void deleteByIdInBatch(List<Integer> ids) {
+ public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) {
if (CollectionUtils.isEmpty(ids)) {
return;
}
- approveTemplMapper.deleteBatchIds(ids);
+ for(Integer id:ids){
+ deleteById(id,user);
+ }
}
@Override
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java
index 437393f..6551e4e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java
@@ -78,6 +78,7 @@
model.setEditDate(new Date());
model.setEditor(loginUserInfo.getId());
model.setStatus(Constants.ZERO);
+ model.setIsdeleted(Constants.ZERO);
hiddenDangerParamMapper.insert(model);
return model.getId();
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
index d1351e6..c5113c3 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
@@ -1,5 +1,6 @@
package com.doumee.service.business.impl;
+import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
@@ -10,6 +11,8 @@
import com.doumee.dao.business.HiddenDangerMapper;
import com.doumee.dao.business.MemberMapper;
import com.doumee.dao.business.model.*;
+import com.doumee.dao.system.MultifileMapper;
+import com.doumee.dao.system.model.Multifile;
import com.doumee.service.business.HiddenDangerService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -22,9 +25,7 @@
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
/**
* 闅愭偅淇℃伅琛⊿ervice瀹炵幇
@@ -36,6 +37,10 @@
@Autowired
private HiddenDangerMapper hiddenDangerMapper;
+ @Autowired
+ private MultifileMapper multifileMapper;
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
@Autowired
private MemberMapper memberMapper;
@@ -82,9 +87,67 @@
@Override
public HiddenDanger findById(Integer id) {
- return hiddenDangerMapper.selectById(id);
- }
+ MPJLambdaWrapper<HiddenDanger> queryWrapper = new MPJLambdaWrapper<>();
+ queryWrapper.selectAll(HiddenDanger.class)
+ .selectAs(HiddenDangerParam::getName,HiddenDanger::getCategoryName)
+ .select("t1.name", HiddenDanger::getMemberName)
+ .select("t1.phone",HiddenDanger::getMemberPhone)
+ .select("t2.name",HiddenDanger::getCheckorName)
+ .select("t3.phone",HiddenDanger::getCheckorPhone)
+ .select("t4.company_name_path",HiddenDanger::getCompanyName);
+ queryWrapper.leftJoin(Member.class,Member::getId,HiddenDanger::getMemberId)
+ .leftJoin("company t4 on t1.company_id=t4.id")
+ .leftJoin(Member.class,Member::getId,HiddenDanger::getCheckUserId)
+ .leftJoin(HiddenDangerParam.class,HiddenDangerParam::getId,HiddenDanger::getCateId);
+ queryWrapper
+ .eq(HiddenDanger::getId, id).last("limit 1");
+ HiddenDanger model = hiddenDangerMapper.selectJoinOne(HiddenDanger.class,queryWrapper);
+ if(model ==null || Constants.equalsObject(model.getIsdeleted(),Constants.ONE)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ initFiles(model);
+ return model;
+ }
+ private void initFiles(HiddenDanger unionChange) {
+ List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda()
+ .eq(Multifile::getObjId, unionChange.getId() )
+ .in(Multifile::getObjType, Arrays.asList(new Integer[]{Constants.MultiFile.HIDDEN_DANGER_SUBMIT.getKey()
+ ,Constants.MultiFile.HIDDEN_DANGER_DEAL_BEFORE.getKey()
+ ,Constants.MultiFile.HIDDEN_DANGER_DEAL_AFTER.getKey()}))
+ .eq(Multifile::getIsdeleted,Constants.ZERO));
+ if(multifiles!=null){
+ String path = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()
+ +systemDictDataBiz.queryByCode(Constants.OSS,Constants.HIDDEN_DANGER_FILE).getCode();
+ for(Multifile f : multifiles){
+ if(StringUtils.isBlank(f.getFileurl())){
+ continue;
+ }
+ f.setFileurlFull(path+f.getFileurl());
+ if(Constants.equalsInteger(f.getObjType(),Constants.MultiFile.HIDDEN_DANGER_SUBMIT.getKey())){
+ //鐜板満鎯呭喌
+ if(unionChange.getSubmitFileList() == null){
+ unionChange.setSubmitFileList(new ArrayList<>());
+ }
+ unionChange.getSubmitFileList().add(f);
+ }
+ if(Constants.equalsInteger(f.getObjType(),Constants.MultiFile.HIDDEN_DANGER_DEAL_BEFORE.getKey())){
+ //澶勭悊鍓嶉檮浠�
+ if(unionChange.getDealBeforeFileList() == null){
+ unionChange.setDealBeforeFileList(new ArrayList<>());
+ }
+ unionChange.getDealBeforeFileList().add(f);
+ }
+ if(Constants.equalsInteger(f.getObjType(),Constants.MultiFile.HIDDEN_DANGER_DEAL_AFTER.getKey())){
+ //澶勭悊鍚庨檮浠�
+ if(unionChange.getDealAfterFileList() == null){
+ unionChange.setDealAfterFileList(new ArrayList<>());
+ }
+ unionChange.getDealAfterFileList().add(f);
+ }
+ }
+ }
+ }
@Override
public HiddenDanger findOne(HiddenDanger hiddenDanger) {
QueryWrapper<HiddenDanger> wrapper = new QueryWrapper<>(hiddenDanger);
@@ -134,6 +197,7 @@
.eq(pageWrap.getModel().getChecklInfo() != null, HiddenDanger::getChecklInfo, pageWrap.getModel().getChecklInfo())
.eq(pageWrap.getModel().getCheckUserId() != null, HiddenDanger::getCheckUserId, pageWrap.getModel().getCheckUserId())
.eq(pageWrap.getModel().getAreaName() != null, HiddenDanger::getAreaName, pageWrap.getModel().getAreaName())
+
.and(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()), ms->ms.like(Member::getName,pageWrap.getModel().getMemberName())
.or().like(Member::getPhone,pageWrap.getModel().getMemberName()))
.ge(Objects.nonNull(pageWrap.getModel().getQueryStartTime()), Empower::getCreateDate,pageWrap.getModel().getQueryStartTime())
@@ -147,7 +211,7 @@
queryWrapper.orderByAsc(sortData.getProperty());
}
}
- return PageData.from(hiddenDangerMapper.selectPage(page, queryWrapper));
+ return PageData.from(hiddenDangerMapper.selectJoinPage(page,HiddenDanger.class, queryWrapper));
}
@Override
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InterfaceLogServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InterfaceLogServiceImpl.java
index 9f11835..48ee0a9 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InterfaceLogServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InterfaceLogServiceImpl.java
@@ -1,7 +1,9 @@
package com.doumee.service.business.impl;
+import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.InterfaceLogMapper;
import com.doumee.dao.business.model.InterfaceLog;
@@ -26,6 +28,8 @@
@Autowired
private InterfaceLogMapper interfaceLogMapper;
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
@Override
public Integer create(InterfaceLog interfaceLog) {
@@ -157,8 +161,11 @@
}
@Override
public void clearThreeMonthLog() {
+ int days =15;
+ try {
+ days = Integer.parseInt(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.HK_LOG_DEL_DAYS_LIMIT).getCode());
+ }catch (Exception e){}
interfaceLogMapper.delete(new UpdateWrapper<InterfaceLog>().lambda()
- .apply("to_days(create_date)+15 < to_days(now())")
- .like(InterfaceLog::getUrl,"/artemis/api/"));
+ .apply("to_days(create_date)+"+days+" < to_days(now())") );
}
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformInterfaceLogServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformInterfaceLogServiceImpl.java
index 99055b2..b5038a0 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformInterfaceLogServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformInterfaceLogServiceImpl.java
@@ -1,9 +1,12 @@
package com.doumee.service.business.impl;
+import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.PlatformInterfaceLogMapper;
+import com.doumee.dao.business.model.InterfaceLog;
import com.doumee.dao.business.model.PlatformInterfaceLog;
import com.doumee.service.business.PlatformInterfaceLogService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -23,6 +26,9 @@
*/
@Service
public class PlatformInterfaceLogServiceImpl implements PlatformInterfaceLogService {
+
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
@Autowired
private PlatformInterfaceLogMapper platformInterfaceLogMapper;
@@ -125,4 +131,13 @@
QueryWrapper<PlatformInterfaceLog> wrapper = new QueryWrapper<>(platformInterfaceLog);
return platformInterfaceLogMapper.selectCount(wrapper);
}
+ @Override
+ public void clearThreeMonthLog() {
+ int days =15;
+ try {
+ days = Integer.parseInt(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.LOG_DEL_DAYS_LIMIT).getCode());
+ }catch (Exception e){}
+ platformInterfaceLogMapper.delete(new UpdateWrapper<PlatformInterfaceLog>().lambda()
+ .apply("to_days(create_date)+"+days+" < to_days(now())"));
+ }
}
--
Gitblit v1.9.3