From 5d67dd3dcc7dabd829d6bc47203e5dd6589b4a45 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期五, 06 十二月 2024 10:10:47 +0800
Subject: [PATCH] #增加cache
---
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/TaskDetlLogController.java | 5
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/MatField.java | 2
zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/CodeBuilder.java | 4
zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/UserLoginController.java | 4
zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/interceptor/DataChangeInterceptor.java | 108 ++
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocController.java | 7
zy-asrs-wms/src/main/resources/mapper/asrs/CacheStatisticsMapper.xml | 5
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/CacheStatisticsTimer.java | 72 +
zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/config/MybatisPlusConfig.java | 10
zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/security/CachedBodyHttpServletRequest.java | 110 ++
zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/OperationRecordController.java | 4
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderDetlController.java | 5
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderTypeController.java | 4
zy-asrs-admin/src/views/system/cacheStatistics/edit.vue | 202 ++++
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/mapper/CacheStatisticsMapper.java | 12
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MatController.java | 4
zy-asrs-wms/src/main/resources/sql/menu/cacheStatistics.sql | 9
zy-asrs-wms/pom.xml | 14
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderSettleController.java | 4
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/ZpalletBarcodeController.java | 4
zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/security/SecurityConfig.java | 6
zy-asrs-admin/src/views/system/cacheStatistics/index.vue | 241 +++++
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/CacheStatisticsController.java | 102 ++
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderDetlFieldController.java | 4
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderDetlFieldLogController.java | 4
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderController.java | 8
zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/Utils.java | 2
zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/WebkitParseUtils.java | 96 ++
zy-asrs-wms/src/main/resources/application.yml | 11
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewWorkInController.java | 3
zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/RoleController.java | 4
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/TaskDetlFieldLogController.java | 4
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/CacheStatisticsServiceImpl.java | 12
zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/UserController.java | 5
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderDetlLogController.java | 4
zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/HostController.java | 4
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewInOutController.java | 3
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewStayTimeController.java | 3
zy-asrs-admin/src/views/loc/stockTransfer/index.vue | 2
zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/RedisUtil.java | 666 +++++++++++++++
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocDetlController.java | 8
zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/security/CachedBodyHttpServletResponse.java | 49 +
zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/MenuController.java | 6
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewWorkCountInController.java | 3
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocAreaTypeController.java | 5
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/TagController.java | 5
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewWorkCountOutController.java | 3
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/CacheStatisticsService.java | 8
zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/domain/CacheHitDto.java | 16
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderLogController.java | 8
zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/constant/RedisConstants.java | 20
zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/annotation/CacheData.java | 16
zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/security/CacheFilter.java | 202 ++++
zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/EncryptUtils.java | 27
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/WaitPakinLogController.java | 4
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocAreaController.java | 4
zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/LanguageController.java | 5
zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/DeptController.java | 5
zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/config/RedisConfig.java | 98 ++
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewWorkOutController.java | 3
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/EChartController.java | 7
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/CacheStatistics.java | 219 +++++
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/TaskLogController.java | 4
63 files changed, 2,487 insertions(+), 11 deletions(-)
diff --git a/zy-asrs-admin/src/views/loc/stockTransfer/index.vue b/zy-asrs-admin/src/views/loc/stockTransfer/index.vue
index 328494c..29cb07d 100644
--- a/zy-asrs-admin/src/views/loc/stockTransfer/index.vue
+++ b/zy-asrs-admin/src/views/loc/stockTransfer/index.vue
@@ -208,6 +208,8 @@
postForm('/api/loc/search/like/locNo', {
locNo: sourceLocNo.value,
+ test: "123",
+ quer: ""
}).then(resp => {
let result = resp.data;
if (result.code == 200) {
diff --git a/zy-asrs-admin/src/views/system/cacheStatistics/edit.vue b/zy-asrs-admin/src/views/system/cacheStatistics/edit.vue
new file mode 100644
index 0000000..a54410b
--- /dev/null
+++ b/zy-asrs-admin/src/views/system/cacheStatistics/edit.vue
@@ -0,0 +1,202 @@
+<script setup>
+import { ref, nextTick } from 'vue';
+import { get, post, postBlob, postForm } from '@/utils/request.js'
+import { formatMessage } from '@/utils/localeUtils.js';
+import { message } from 'ant-design-vue';
+
+const formTable = ref(null);
+const submitButton = ref(null);
+const isSave = ref(true);
+const open = ref(false);
+const initFormData = {}
+let formData = ref(initFormData);
+
+const emit = defineEmits(['tableReload'])
+
+const handleOk = (e) => {
+ nextTick(() => {
+ setTimeout(() => {
+ submitButton.value.$el.click();
+ }, 100);
+ });
+};
+
+const onFinish = values => {
+ // console.log('Success:', values);
+ open.value = false;
+ post(isSave.value ? '/api/cacheStatistics/save' : '/api/cacheStatistics/update', formData.value).then((resp) => {
+ let result = resp.data;
+ if (result.code === 200) {
+ message.success(isSave.value ? formatMessage('page.add.success', '鏂板鎴愬姛') : formatMessage('page.update.success', '鏇存柊鎴愬姛'));
+ } else {
+ message.error(result.msg);
+ }
+ emit('tableReload', 'reload')
+ nextTick(() => {
+ formTable.value.resetFields()
+ })
+ })
+};
+const onFinishFailed = errorInfo => {
+ console.log('Failed:', errorInfo);
+};
+
+const userQueryList = ref(null);
+userQuery();
+function userQuery() {
+ postForm('/api/user/query', {}).then(resp => {
+ let result = resp.data;
+ userQueryList.value = result.data;
+ })
+}
+
+
+defineExpose({
+ open,
+ formData,
+ initFormData,
+ isSave,
+})
+
+</script>
+
+<script>
+export default {
+ name: '绯荤粺缂撳瓨缁熻-edit'
+}
+</script>
+
+<template>
+ <div>
+ <a-modal v-model:open="open"
+ :title="isSave ? formatMessage('page.add', '娣诲姞') : formatMessage('page.edit', '缂栬緫')" @ok="handleOk"
+ style="width: 600px;">
+ <a-form :model="formData" ref="formTable" name="formTable" :label-col="{ span: 8 }" :wrapper-col="{ span: 16 }"
+ style="display: flex;justify-content: space-between;flex-wrap: wrap;" autocomplete="off"
+ @finish="onFinish" @finishFailed="onFinishFailed">
+ <a-form-item
+ :label="formatMessage('db.sys_cache_statistics.ymd', '缁熻鏃堕棿') "
+ name="ymd"
+ style="width: 250px;"
+ >
+ <a-input
+ v-model:value="formData.ymd"
+ />
+ </a-form-item>
+ <a-form-item
+ :label="formatMessage('db.sys_cache_statistics.cache_key', '缂撳瓨璺緞') "
+ name="cacheKey"
+ style="width: 250px;"
+ >
+ <a-input
+ v-model:value="formData.cacheKey"
+ />
+ </a-form-item>
+ <a-form-item
+ :label="formatMessage('db.sys_cache_statistics.hit', '鍛戒腑娆℃暟') "
+ name="hit"
+ style="width: 250px;"
+ >
+ <a-input
+ v-model:value="formData.hit"
+ />
+ </a-form-item>
+ <a-form-item
+ :label="formatMessage('db.sys_cache_statistics.miss', '鏈懡涓鏁�') "
+ name="miss"
+ style="width: 250px;"
+ >
+ <a-input
+ v-model:value="formData.miss"
+ />
+ </a-form-item>
+ <a-form-item
+ :label="formatMessage('db.sys_cache_statistics.status', '鐘舵��') "
+ name="status"
+ style="width: 250px;"
+ >
+ <a-select
+ v-model:value="formData.status"
+ :options="[
+ { label: '姝e父', value: 1 },
+ { label: '绂佺敤', value: 0 },
+ ]"
+ >
+ </a-select>
+ </a-form-item>
+ <a-form-item
+ :label="formatMessage('db.sys_cache_statistics.create_time', '娣诲姞鏃堕棿') "
+ name="createTime"
+ style="width: 250px;"
+ >
+ <a-date-picker
+ v-model:value="formData.createTime"
+ show-time
+ format="YYYY-MM-DD HH:mm:ss"
+ value-format="YYYY-MM-DD HH:mm:ss"
+ />
+ </a-form-item>
+ <a-form-item
+ :label="formatMessage('db.sys_cache_statistics.create_by', '娣诲姞浜哄憳') "
+ name="createBy"
+ style="width: 250px;"
+ >
+ <a-select
+ v-model:value="formData.createBy"
+ :placeholder="formatMessage('common.select', '璇烽�夋嫨')"
+ style="width: 100%"
+ show-search
+ :options="userQueryList"
+ optionFilterProp="label"
+ optionLabelProp="label"
+ >
+ </a-select>
+ </a-form-item>
+ <a-form-item
+ :label="formatMessage('db.sys_cache_statistics.update_time', '淇敼鏃堕棿') "
+ name="updateTime"
+ style="width: 250px;"
+ >
+ <a-date-picker
+ v-model:value="formData.updateTime"
+ show-time
+ format="YYYY-MM-DD HH:mm:ss"
+ value-format="YYYY-MM-DD HH:mm:ss"
+ />
+ </a-form-item>
+ <a-form-item
+ :label="formatMessage('db.sys_cache_statistics.update_by', '淇敼浜哄憳') "
+ name="updateBy"
+ style="width: 250px;"
+ >
+ <a-select
+ v-model:value="formData.updateBy"
+ :placeholder="formatMessage('common.select', '璇烽�夋嫨')"
+ style="width: 100%"
+ show-search
+ :options="userQueryList"
+ optionFilterProp="label"
+ optionLabelProp="label"
+ >
+ </a-select>
+ </a-form-item>
+ <a-form-item
+ :label="formatMessage('db.sys_cache_statistics.memo', '澶囨敞') "
+ name="memo"
+ style="width: 250px;"
+ >
+ <a-input
+ v-model:value="formData.memo"
+ />
+ </a-form-item>
+
+ <a-form-item>
+ <a-button type="primary" html-type="submit" ref="submitButton"
+ style="visibility: hidden;">Submit</a-button>
+ </a-form-item>
+ </a-form>
+ </a-modal>
+ </div>
+</template>
+
+<style></style>
diff --git a/zy-asrs-admin/src/views/system/cacheStatistics/index.vue b/zy-asrs-admin/src/views/system/cacheStatistics/index.vue
new file mode 100644
index 0000000..28c71f9
--- /dev/null
+++ b/zy-asrs-admin/src/views/system/cacheStatistics/index.vue
@@ -0,0 +1,241 @@
+<script setup>
+import { getCurrentInstance, ref, computed, reactive } from 'vue';
+import { useRouter } from "vue-router";
+import { get, post, postBlob } from '@/utils/request.js'
+import { message, Modal } from 'ant-design-vue';
+import { logout } from '@/config.js';
+import EditView from './edit.vue'
+import { formatMessage } from '@/utils/localeUtils.js';
+import useTableSearch from '@/utils/tableUtils.jsx';
+const context = getCurrentInstance()?.appContext.config.globalProperties;
+
+const router = useRouter();
+
+const TABLE_KEY = 'table-cacheStatistics';
+let currentPage = 1;
+let pageSize = 10;
+const searchInput = ref("")
+const editChild = ref(null)
+
+const state = reactive({
+ selectedRowKeys: [],
+ loading: false,
+});
+
+let tableData = ref([]);
+getPage();
+
+const {
+ getColumnSearchProps,
+ handleResizeColumn,
+} = useTableSearch();
+
+const columns = [
+ {
+ title: formatMessage('db.sys_cache_statistics.ymd', '缁熻鏃堕棿'),
+ dataIndex: 'ymd',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('ymd'),
+ },
+ {
+ title: formatMessage('db.sys_cache_statistics.cache_key', '缂撳瓨璺緞'),
+ dataIndex: 'cacheKey',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('cacheKey'),
+ },
+ {
+ title: formatMessage('db.sys_cache_statistics.hit', '鍛戒腑娆℃暟'),
+ dataIndex: 'hit',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('hit'),
+ },
+ {
+ title: formatMessage('db.sys_cache_statistics.miss', '鏈懡涓鏁�'),
+ dataIndex: 'miss',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('miss'),
+ },
+ {
+ title: formatMessage('db.sys_cache_statistics.status', '鐘舵��'),
+ dataIndex: 'status$',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('status$'),
+ },
+ {
+ title: formatMessage('db.sys_cache_statistics.create_time', '娣诲姞鏃堕棿'),
+ dataIndex: 'createTime$',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('createTime$'),
+ },
+ {
+ title: formatMessage('db.sys_cache_statistics.create_by', '娣诲姞浜哄憳'),
+ dataIndex: 'createBy$',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('createBy$'),
+ },
+ {
+ title: formatMessage('db.sys_cache_statistics.update_time', '淇敼鏃堕棿'),
+ dataIndex: 'updateTime$',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('updateTime$'),
+ },
+ {
+ title: formatMessage('db.sys_cache_statistics.update_by', '淇敼浜哄憳'),
+ dataIndex: 'updateBy$',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('updateBy$'),
+ },
+ {
+ title: formatMessage('db.sys_cache_statistics.memo', '澶囨敞'),
+ dataIndex: 'memo',
+ width: 140,
+ ellipsis: true,
+ ...getColumnSearchProps('memo'),
+ },
+
+ {
+ title: formatMessage('common.operation', '鎿嶄綔'),
+ name: 'oper',
+ dataIndex: 'oper',
+ key: 'oper',
+ width: 140,
+ fixed: 'right',
+ },
+];
+
+const hasSelected = computed(() => state.selectedRowKeys.length > 0);
+const start = () => {
+ state.loading = true;
+ // ajax request after empty completing
+ setTimeout(() => {
+ state.loading = false;
+ state.selectedRowKeys = [];
+ }, 1000);
+};
+const onSelectChange = selectedRowKeys => {
+ // console.log('selectedRowKeys changed: ', selectedRowKeys);
+ state.selectedRowKeys = selectedRowKeys;
+};
+
+function getPage() {
+ state.loading = true;
+ post('/api/cacheStatistics/page', {
+ current: currentPage,
+ pageSize: pageSize,
+ condition: searchInput.value
+ }).then((resp) => {
+ let result = resp.data;
+ if (result.code == 200) {
+ let data = result.data;
+ tableData.value = data;
+
+ state.loading = false;
+ } else if (result.code === 401) {
+ message.error(result.msg);
+ logout()
+ } else {
+ message.error(result.msg);
+ }
+ })
+}
+
+const handleEdit = (item) => {
+ editChild.value.open = true;
+ editChild.value.formData = item == null ? editChild.value.initFormData : JSON.parse(JSON.stringify(item));
+ editChild.value.isSave = item == null;
+}
+
+const handleDel = (rows) => {
+ Modal.confirm({
+ title: formatMessage('page.delete', '鍒犻櫎'),
+ content: formatMessage('page.delete.confirm', '纭畾鍒犻櫎璇ラ」鍚楋紵'),
+ maskClosable: true,
+ onOk: async () => {
+ const hide = message.loading(formatMessage('common.loading', '璇锋眰涓�'));
+ try {
+ post('/api/cacheStatistics/remove/' + rows.map((row) => row.id).join(','), {}).then(resp => {
+ let result = resp.data;
+ if (result.code === 200) {
+ message.success(result.msg);
+ } else {
+ message.error(result.msg);
+ }
+ getPage()
+ hide()
+ })
+ } catch (error) {
+ message.error(formatMessage('common.fail', '璇锋眰澶辫触'));
+ }
+ },
+ });
+}
+
+const handleExport = async (intl) => {
+ postBlob('/api/cacheStatistics/export', {}).then(result => {
+ const blob = new Blob([result.data], { type: 'application/vnd.ms-excel' });
+ window.location.href = window.URL.createObjectURL(blob);
+ return true;
+ })
+};
+
+const onSearch = () => {
+ // console.log('search');
+ getPage()
+}
+
+const onPageChange = (page, size) => {
+ currentPage = page;
+ pageSize = size;
+ getPage();
+}
+
+function handleTableReload(value) {
+ getPage()
+}
+
+</script>
+
+<script>
+export default {
+ name: '绯荤粺缂撳瓨缁熻'
+}
+</script>
+
+<template>
+ <div>
+ <EditView ref="editChild" @tableReload="handleTableReload" />
+ <div class="table-header">
+ <a-input-search v-model:value="searchInput" :placeholder="formatMessage('page.input', '璇疯緭鍏�')"
+ style="width: 200px;" @search="onSearch" />
+ <div class="table-header-right">
+ <a-button @click="handleEdit(null)" type="primary">{{ formatMessage('page.add', '娣诲姞') }}</a-button>
+ <a-button @click="handleExport">{{ formatMessage('page.export', '瀵煎嚭') }}</a-button>
+ </div>
+ </div>
+ <a-table :row-selection="{ selectedRowKeys: state.selectedRowKeys, onChange: onSelectChange }"
+ :data-source="tableData.records" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
+ :pagination="{ total: tableData.total, onChange: onPageChange }"
+ :scroll="{ y: 768, scrollToFirstRowOnChange: true }" :columns="columns" @resizeColumn="handleResizeColumn" :loading="state.loading">
+ <template #bodyCell="{ column, text, record }">
+ <template v-if="column.dataIndex === 'oper'">
+ <div style="display: flex;justify-content: space-evenly;">
+ <a-button type="link" primary @click="handleEdit(record)">{{ formatMessage('page.edit', '缂栬緫') }}</a-button>
+ <a-button type="link" danger @click="handleDel([record])">{{ formatMessage('page.delete', '鍒犻櫎')
+ }}</a-button>
+ </div>
+ </template>
+ </template>
+ </a-table>
+ </div>
+</template>
+
+<style></style>
diff --git a/zy-asrs-wms/pom.xml b/zy-asrs-wms/pom.xml
index de2fc7f..c30ffae 100644
--- a/zy-asrs-wms/pom.xml
+++ b/zy-asrs-wms/pom.xml
@@ -72,6 +72,20 @@
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-data-redis</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-fileupload</groupId>
+ <artifactId>commons-fileupload</artifactId>
+ <version>1.4</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>2.8.0</version>
+ </dependency>
</dependencies>
<build>
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/CacheStatisticsController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/CacheStatisticsController.java
new file mode 100644
index 0000000..043c5f6
--- /dev/null
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/CacheStatisticsController.java
@@ -0,0 +1,102 @@
+package com.zy.asrs.wms.asrs.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zy.asrs.framework.common.Cools;
+import com.zy.asrs.framework.common.R;
+import com.zy.asrs.wms.common.annotation.OperationLog;
+import com.zy.asrs.wms.common.domain.BaseParam;
+import com.zy.asrs.wms.common.domain.KeyValVo;
+import com.zy.asrs.wms.common.domain.PageParam;
+import com.zy.asrs.wms.asrs.entity.CacheStatistics;
+import com.zy.asrs.wms.asrs.service.CacheStatisticsService;
+import com.zy.asrs.wms.system.controller.BaseController;
+import com.zy.asrs.wms.utils.ExcelUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/api")
+public class CacheStatisticsController extends BaseController {
+
+ @Autowired
+ private CacheStatisticsService cacheStatisticsService;
+
+ @PreAuthorize("hasAuthority('asrs:cacheStatistics:list')")
+ @PostMapping("/cacheStatistics/page")
+ public R page(@RequestBody Map<String, Object> map) {
+ BaseParam baseParam = buildParam(map, BaseParam.class);
+ PageParam<CacheStatistics, BaseParam> pageParam = new PageParam<>(baseParam, CacheStatistics.class);
+ return R.ok().add(cacheStatisticsService.page(pageParam, pageParam.buildWrapper(true)));
+ }
+
+ @PreAuthorize("hasAuthority('asrs:cacheStatistics:list')")
+ @PostMapping("/cacheStatistics/list")
+ public R list(@RequestBody Map<String, Object> map) {
+ return R.ok().add(cacheStatisticsService.list());
+ }
+
+ @PreAuthorize("hasAuthority('asrs:cacheStatistics:list')")
+ @GetMapping("/cacheStatistics/{id}")
+ public R get(@PathVariable("id") Long id) {
+ return R.ok().add(cacheStatisticsService.getById(id));
+ }
+
+ @PreAuthorize("hasAuthority('asrs:cacheStatistics:save')")
+ @OperationLog("娣诲姞绯荤粺缂撳瓨缁熻")
+ @PostMapping("/cacheStatistics/save")
+ public R save(@RequestBody CacheStatistics cacheStatistics) {
+ if (!cacheStatisticsService.save(cacheStatistics)) {
+ return R.error("娣诲姞澶辫触");
+ }
+ return R.ok("娣诲姞鎴愬姛");
+ }
+
+ @PreAuthorize("hasAuthority('asrs:cacheStatistics:update')")
+ @OperationLog("淇敼绯荤粺缂撳瓨缁熻")
+ @PostMapping("/cacheStatistics/update")
+ public R update(@RequestBody CacheStatistics cacheStatistics) {
+ if (!cacheStatisticsService.updateById(cacheStatistics)) {
+ return R.error("淇敼澶辫触");
+ }
+ return R.ok("淇敼鎴愬姛");
+ }
+
+ @PreAuthorize("hasAuthority('asrs:cacheStatistics:remove')")
+ @OperationLog("鍒犻櫎绯荤粺缂撳瓨缁熻")
+ @PostMapping("/cacheStatistics/remove/{ids}")
+ public R remove(@PathVariable Long[] ids) {
+ if (!cacheStatisticsService.removeByIds(Arrays.asList(ids))) {
+ return R.error("鍒犻櫎澶辫触");
+ }
+ return R.ok("鍒犻櫎鎴愬姛");
+ }
+
+ @PreAuthorize("hasAuthority('asrs:cacheStatistics:list')")
+ @PostMapping("/cacheStatistics/query")
+ public R query(@RequestParam(required = false) String condition) {
+ List<KeyValVo> vos = new ArrayList<>();
+ LambdaQueryWrapper<CacheStatistics> wrapper = new LambdaQueryWrapper<>();
+ if (!Cools.isEmpty(condition)) {
+ wrapper.like(CacheStatistics::getId, condition);
+ }
+ cacheStatisticsService.page(new Page<>(1, 30), wrapper).getRecords().forEach(
+ item -> vos.add(new KeyValVo(item.getId(), item.getId()))
+ );
+ return R.ok().add(vos);
+ }
+
+ @PreAuthorize("hasAuthority('asrs:cacheStatistics:list')")
+ @PostMapping("/cacheStatistics/export")
+ public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
+ ExcelUtil.build(ExcelUtil.create(cacheStatisticsService.list(), CacheStatistics.class), response);
+ }
+
+}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/EChartController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/EChartController.java
index 6aee8d7..2a6cdc4 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/EChartController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/EChartController.java
@@ -15,6 +15,7 @@
import com.zy.asrs.wms.asrs.service.MatService;
import com.zy.asrs.wms.asrs.service.TaskDetlLogService;
import com.zy.asrs.wms.asrs.service.TaskLogService;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.system.controller.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
@@ -40,6 +41,7 @@
private MatService matService;
@PostMapping("/charts/loc/use")
+ @CacheData(tableName = {"man_loc"})
public R locUse(){
List<EChartPieBean> list = new ArrayList<>();
@@ -71,6 +73,7 @@
}
@PostMapping("/charts/loc/line")
+ @CacheData(tableName = {"man_task_log"})
public R locIoLineCharts(){
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
@@ -123,6 +126,7 @@
}
@PostMapping("/charts/information")
+ @CacheData(tableName = {"man_mat", "man_task", "man_task_log"})
public R information() {
HashMap<String, Object> data = new HashMap<>();
long matCount = matService.count();
@@ -132,7 +136,7 @@
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
ViewInOut viewInOut = viewInOutMapper.selectOne(new LambdaQueryWrapper<ViewInOut>().eq(ViewInOut::getYmd, format.format(new Date())).orderByDesc(ViewInOut::getYmd).last("limit 0,1"));
- if(viewInOut != null) {
+ if (viewInOut != null) {
inQty = viewInOut.getInQty();
outQty = viewInOut.getOutQty();
totalQty = viewInOut.getTotalQty();
@@ -146,6 +150,7 @@
}
@PostMapping("/charts/information/top")
+ @CacheData(tableName = {"man_task_detl_log"})
public R informationTop() {
List<InformationTop> topIn = taskDetlLogService.getInformationTopIn(10);
List<InformationTop> topOut = taskDetlLogService.getInformationTopOut(10);
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocAreaController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocAreaController.java
index 8f51429..0a0ae51 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocAreaController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocAreaController.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.KeyValVo;
@@ -31,6 +32,7 @@
@PreAuthorize("hasAuthority('asrs:locArea:list')")
@PostMapping("/locArea/page")
+ @CacheData(tableName = {"man_loc_area"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<LocArea, BaseParam> pageParam = new PageParam<>(baseParam, LocArea.class);
@@ -39,12 +41,14 @@
@PreAuthorize("hasAuthority('asrs:locArea:list')")
@PostMapping("/locArea/list")
+ @CacheData(tableName = {"man_loc_area"})
public R list(@RequestBody Map<String, Object> map) {
return R.ok().add(locAreaService.list());
}
@PreAuthorize("hasAuthority('asrs:locArea:list')")
@GetMapping("/locArea/{id}")
+ @CacheData(tableName = {"man_loc_area"})
public R get(@PathVariable("id") Long id) {
return R.ok().add(locAreaService.getById(id));
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocAreaTypeController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocAreaTypeController.java
index c82fea4..44728d8 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocAreaTypeController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocAreaTypeController.java
@@ -5,6 +5,7 @@
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
import com.zy.asrs.wms.asrs.entity.Tag;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.KeyValVo;
@@ -33,6 +34,7 @@
@PreAuthorize("hasAuthority('asrs:locAreaType:list')")
@PostMapping("/locAreaType/page")
+ @CacheData(tableName = {"man_loc_area_type"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<LocAreaType, BaseParam> pageParam = new PageParam<>(baseParam, LocAreaType.class);
@@ -41,6 +43,7 @@
@PreAuthorize("hasAuthority('asrs:locAreaType:list')")
@PostMapping("/locAreaType/tree")
+ @CacheData(tableName = {"man_loc_area_type"})
public R tree(@RequestBody Map<String, Object> map) {
List<LocAreaType> locAreaTypeList = locAreaTypeService.list(new LambdaQueryWrapper<LocAreaType>().orderByAsc(LocAreaType::getSort));
List<LocAreaType> treeData = Utils.toTreeData(locAreaTypeList, 0L, LocAreaType::getParentId, LocAreaType::getId, LocAreaType::setChildren);
@@ -53,12 +56,14 @@
@PreAuthorize("hasAuthority('asrs:locAreaType:list')")
@PostMapping("/locAreaType/list")
+ @CacheData(tableName = {"man_loc_area_type"})
public R list(@RequestBody Map<String, Object> map) {
return R.ok().add(locAreaTypeService.list());
}
@PreAuthorize("hasAuthority('asrs:locAreaType:list')")
@GetMapping("/locAreaType/{id}")
+ @CacheData(tableName = {"man_loc_area_type"})
public R get(@PathVariable("id") Long id) {
return R.ok().add(locAreaTypeService.getById(id));
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocController.java
index fba74c9..a649c11 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocController.java
@@ -7,6 +7,7 @@
import com.zy.asrs.wms.asrs.entity.LocDetl;
import com.zy.asrs.wms.asrs.entity.enums.LocStsType;
import com.zy.asrs.wms.asrs.service.LocDetlService;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.KeyValVo;
@@ -33,6 +34,7 @@
@PreAuthorize("hasAuthority('asrs:loc:list')")
@PostMapping("/loc/page")
+ @CacheData(tableName = {"man_loc"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<Loc, BaseParam> pageParam = new PageParam<>(baseParam, Loc.class);
@@ -41,18 +43,21 @@
@PreAuthorize("hasAuthority('asrs:loc:list')")
@PostMapping("/loc/list")
+ @CacheData(tableName = {"man_loc"})
public R list(@RequestBody Map<String, Object> map) {
return R.ok().add(locService.list());
}
@PreAuthorize("hasAuthority('asrs:loc:list')")
@GetMapping("/loc/{id}")
+ @CacheData(tableName = {"man_loc"})
public R get(@PathVariable("id") Long id) {
return R.ok().add(locService.getById(id));
}
@PreAuthorize("hasAuthority('asrs:loc:list')")
@PostMapping("/loc/search/locNo")
+ @CacheData(tableName = {"man_loc"})
public R get(@RequestParam("locNo") String locNo) {
Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getLocNo, locNo));
if(loc == null) {
@@ -69,6 +74,7 @@
@PreAuthorize("hasAuthority('asrs:loc:list')")
@PostMapping("/loc/search/like/locNo")
+ @CacheData(tableName = {"man_loc"})
public R search(@RequestParam("locNo") String locNo) {
if (Cools.isEmpty(locNo)) {
return R.ok().add(new ArrayList<>());
@@ -80,6 +86,7 @@
@PreAuthorize("hasAuthority('asrs:loc:list')")
@PostMapping("/loc/search/empty/locNo")
+ @CacheData(tableName = {"man_loc"})
public R searchEmpty(@RequestParam("locNo") String locNo) {
if (Cools.isEmpty(locNo)) {
return R.ok().add(locService.list(new LambdaQueryWrapper<Loc>().eq(Loc::getLocStsId, LocStsType.O.val())));
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocDetlController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocDetlController.java
index 0033028..1516ea1 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocDetlController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/LocDetlController.java
@@ -14,6 +14,7 @@
import com.zy.asrs.wms.asrs.service.LocDetlFieldService;
import com.zy.asrs.wms.asrs.service.LocService;
import com.zy.asrs.wms.asrs.service.MatFieldService;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.KeyValVo;
@@ -43,6 +44,7 @@
@PreAuthorize("hasAuthority('asrs:locDetl:list')")
@PostMapping("/locDetl/page")
+ @CacheData(tableName = {"man_loc_detl"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<ViewLocDetl, BaseParam> pageParam = new PageParam<>(baseParam, ViewLocDetl.class);
@@ -52,6 +54,7 @@
@PreAuthorize("hasAuthority('asrs:locDetl:list')")
@PostMapping("/locDetl/outPage")
+ @CacheData(tableName = {"man_loc_detl"})
public R outPage(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<ViewLocDetl, BaseParam> pageParam = new PageParam<>(baseParam, ViewLocDetl.class);
@@ -68,6 +71,7 @@
@PreAuthorize("hasAuthority('asrs:locDetl:list')")
@PostMapping("/locDetl/list")
+ @CacheData(tableName = {"man_loc_detl"})
public R list(@RequestBody Map<String, Object> map) {
List<LocDetl> list = locDetlService.getLocDetlList(map);
return R.ok().add(list);
@@ -75,6 +79,7 @@
@PreAuthorize("hasAuthority('asrs:locDetl:list')")
@PostMapping("/locDetl/listByIds")
+ @CacheData(tableName = {"man_loc_detl"})
public R listByIds(@RequestBody List<Long> ids) {
List<LocDetl> list = locDetlService.listByIds(ids);
List<LocDetl> locDetls = locDetlService.parseLocDetl(list);
@@ -83,6 +88,7 @@
@PreAuthorize("hasAuthority('asrs:locDetl:list')")
@GetMapping("/locDetl/locId/{locId}")
+ @CacheData(tableName = {"man_loc_detl"})
public R list(@PathVariable("locId") Long locId) {
List<LocDetl> list = locDetlService.list(new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getLocId, locId));
List<LocDetl> locDetls = locDetlService.parseLocDetl(list);
@@ -91,6 +97,7 @@
@PreAuthorize("hasAuthority('asrs:locDetl:list')")
@GetMapping("/locDetl/locNo/{locNo}")
+ @CacheData(tableName = {"man_loc_detl"})
public R list(@PathVariable("locNo") String locNo) {
Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getLocNo, locNo));
if (loc == null) {
@@ -103,6 +110,7 @@
@PreAuthorize("hasAuthority('asrs:locDetl:list')")
@GetMapping("/locDetl/{id}")
+ @CacheData(tableName = {"man_loc_detl"})
public R get(@PathVariable("id") Long id) {
return R.ok().add(locDetlService.getById(id));
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MatController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MatController.java
index b11d721..682c7c2 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MatController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MatController.java
@@ -15,6 +15,7 @@
import com.zy.asrs.wms.asrs.service.MatFieldService;
import com.zy.asrs.wms.asrs.service.MatFieldValueService;
import com.zy.asrs.wms.asrs.service.TagService;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.KeyValVo;
@@ -47,6 +48,7 @@
@PreAuthorize("hasAuthority('asrs:mat:list')")
@PostMapping("/mat/page")
+ @CacheData(tableName = {"man_mat"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<Mat, BaseParam> pageParam = new PageParam<>(baseParam, Mat.class);
@@ -67,12 +69,14 @@
@PreAuthorize("hasAuthority('asrs:mat:list')")
@PostMapping("/mat/list")
+ @CacheData(tableName = {"man_mat"})
public R list(@RequestBody Map<String, Object> map) {
return R.ok().add(matService.list());
}
@PreAuthorize("hasAuthority('asrs:mat:list')")
@GetMapping("/mat/{id}")
+ @CacheData(tableName = {"man_mat"})
public R get(@PathVariable("id") Long id) {
return R.ok().add(matService.getById(id));
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderController.java
index 0e7df22..296c619 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderController.java
@@ -14,6 +14,7 @@
import com.zy.asrs.wms.asrs.entity.template.OrderTemplate;
import com.zy.asrs.wms.asrs.service.MatFieldService;
import com.zy.asrs.wms.asrs.service.OrderTypeService;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.KeyValVo;
@@ -45,6 +46,7 @@
@PreAuthorize("hasAuthority('asrs:order:list')")
@PostMapping("/order/page")
+ @CacheData(tableName = {"man_order"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<Order, BaseParam> pageParam = new PageParam<>(baseParam, Order.class);
@@ -53,6 +55,7 @@
@PreAuthorize("hasAuthority('asrs:order:list')")
@PostMapping("/order/in/page")
+ @CacheData(tableName = {"man_order", "man_order_type"})
public R pageIn(@RequestBody Map<String, Object> map) {
String condition = map.getOrDefault("condition", "").toString();
BaseParam baseParam = buildParam(map, BaseParam.class);
@@ -75,7 +78,7 @@
}
Object paramObj = map.get("_param");
- if(paramObj != null) {
+ if (paramObj != null) {
Map param = (Map) paramObj;
for (Object value : param.entrySet()) {
Map.Entry entry = (Map.Entry) value;
@@ -91,6 +94,7 @@
@PreAuthorize("hasAuthority('asrs:order:list')")
@PostMapping("/order/out/page")
+ @CacheData(tableName = {"man_order", "man_order_type"})
public R pageOut(@RequestBody Map<String, Object> map) {
String condition = map.getOrDefault("condition", "").toString();
BaseParam baseParam = buildParam(map, BaseParam.class);
@@ -133,12 +137,14 @@
@PreAuthorize("hasAuthority('asrs:order:list')")
@PostMapping("/order/list")
+ @CacheData(tableName = {"man_order"})
public R list(@RequestBody Map<String, Object> map) {
return R.ok().add(orderService.list());
}
@PreAuthorize("hasAuthority('asrs:order:list')")
@GetMapping("/order/{id}")
+ @CacheData(tableName = {"man_order"})
public R get(@PathVariable("id") Long id) {
return R.ok().add(orderService.getById(id));
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderDetlController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderDetlController.java
index fd2a8d0..56c7285 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderDetlController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderDetlController.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.KeyValVo;
@@ -31,6 +32,7 @@
@PreAuthorize("hasAuthority('asrs:orderDetl:list')")
@PostMapping("/orderDetl/page")
+ @CacheData(tableName = {"man_order_detl"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<OrderDetl, BaseParam> pageParam = new PageParam<>(baseParam, OrderDetl.class);
@@ -39,18 +41,21 @@
@PreAuthorize("hasAuthority('asrs:orderDetl:list')")
@PostMapping("/orderDetl/list")
+ @CacheData(tableName = {"man_order_detl"})
public R list(@RequestBody Map<String, Object> map) {
return R.ok().add(orderDetlService.list());
}
@PreAuthorize("hasAuthority('asrs:orderDetl:list')")
@GetMapping("/orderDetl/orderId/{orderId}")
+ @CacheData(tableName = {"man_order_detl", "man_order_detl_field"})
public R list(@PathVariable("orderId") Long orderId) {
return R.ok().add(orderDetlService.getOrderDetlByOrderId(orderId));
}
@PreAuthorize("hasAuthority('asrs:orderDetl:list')")
@GetMapping("/orderDetl/{id}")
+ @CacheData(tableName = {"man_order_detl"})
public R get(@PathVariable("id") Long id) {
return R.ok().add(orderDetlService.getById(id));
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderDetlFieldController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderDetlFieldController.java
index 1ee9cc9..f6262e4 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderDetlFieldController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderDetlFieldController.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.KeyValVo;
@@ -31,6 +32,7 @@
@PreAuthorize("hasAuthority('asrs:orderDetlField:list')")
@PostMapping("/orderDetlField/page")
+ @CacheData(tableName = {"man_order_detl_field"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<OrderDetlField, BaseParam> pageParam = new PageParam<>(baseParam, OrderDetlField.class);
@@ -39,12 +41,14 @@
@PreAuthorize("hasAuthority('asrs:orderDetlField:list')")
@PostMapping("/orderDetlField/list")
+ @CacheData(tableName = {"man_order_detl_field"})
public R list(@RequestBody Map<String, Object> map) {
return R.ok().add(orderDetlFieldService.list());
}
@PreAuthorize("hasAuthority('asrs:orderDetlField:list')")
@GetMapping("/orderDetlField/{id}")
+ @CacheData(tableName = {"man_order_detl_field"})
public R get(@PathVariable("id") Long id) {
return R.ok().add(orderDetlFieldService.getById(id));
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderDetlFieldLogController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderDetlFieldLogController.java
index 9f8fb99..93de688 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderDetlFieldLogController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderDetlFieldLogController.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.KeyValVo;
@@ -31,6 +32,7 @@
@PreAuthorize("hasAuthority('asrs:orderDetlFieldLog:list')")
@PostMapping("/orderDetlFieldLog/page")
+ @CacheData(tableName = {"man_order_detl_field_log"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<OrderDetlFieldLog, BaseParam> pageParam = new PageParam<>(baseParam, OrderDetlFieldLog.class);
@@ -39,12 +41,14 @@
@PreAuthorize("hasAuthority('asrs:orderDetlFieldLog:list')")
@PostMapping("/orderDetlFieldLog/list")
+ @CacheData(tableName = {"man_order_detl_field_log"})
public R list(@RequestBody Map<String, Object> map) {
return R.ok().add(orderDetlFieldLogService.list());
}
@PreAuthorize("hasAuthority('asrs:orderDetlFieldLog:list')")
@GetMapping("/orderDetlFieldLog/{id}")
+ @CacheData(tableName = {"man_order_detl_field_log"})
public R get(@PathVariable("id") Long id) {
return R.ok().add(orderDetlFieldLogService.getById(id));
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderDetlLogController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderDetlLogController.java
index 7f193c6..e5a7d89 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderDetlLogController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderDetlLogController.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.KeyValVo;
@@ -31,6 +32,7 @@
@PreAuthorize("hasAuthority('asrs:orderDetlLog:list')")
@PostMapping("/orderDetlLog/page")
+ @CacheData(tableName = {"man_order_detl_log"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<OrderDetlLog, BaseParam> pageParam = new PageParam<>(baseParam, OrderDetlLog.class);
@@ -39,12 +41,14 @@
@PreAuthorize("hasAuthority('asrs:orderDetlLog:list')")
@PostMapping("/orderDetlLog/list")
+ @CacheData(tableName = {"man_order_detl_log"})
public R list(@RequestBody Map<String, Object> map) {
return R.ok().add(orderDetlLogService.list());
}
@PreAuthorize("hasAuthority('asrs:orderDetl:list')")
@GetMapping("/orderDetlLog/orderId/{orderId}")
+ @CacheData(tableName = {"man_order_detl_log"})
public R list(@PathVariable("orderId") Long orderId) {
return R.ok().add(orderDetlLogService.getOrderDetlByOrderId(orderId));
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderLogController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderLogController.java
index d346b63..fcd3611 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderLogController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderLogController.java
@@ -7,6 +7,7 @@
import com.zy.asrs.framework.common.R;
import com.zy.asrs.wms.asrs.entity.OrderType;
import com.zy.asrs.wms.asrs.service.OrderTypeService;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.KeyValVo;
@@ -37,6 +38,7 @@
@PreAuthorize("hasAuthority('asrs:orderLog:list')")
@PostMapping("/orderLog/page")
+ @CacheData(tableName = {"man_order_log"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<OrderLog, BaseParam> pageParam = new PageParam<>(baseParam, OrderLog.class);
@@ -45,6 +47,7 @@
@PreAuthorize("hasAuthority('asrs:orderLog:list')")
@PostMapping("/orderLog/in/page")
+ @CacheData(tableName = {"man_order_log", "man_order_type"})
public R pageIn(@RequestBody Map<String, Object> map) {
String condition = map.getOrDefault("condition", "").toString();
BaseParam baseParam = buildParam(map, BaseParam.class);
@@ -67,7 +70,7 @@
}
Object paramObj = map.get("_param");
- if(paramObj != null) {
+ if (paramObj != null) {
Map param = (Map) paramObj;
for (Object value : param.entrySet()) {
Map.Entry entry = (Map.Entry) value;
@@ -83,6 +86,7 @@
@PreAuthorize("hasAuthority('asrs:orderLog:list')")
@PostMapping("/orderLog/out/page")
+ @CacheData(tableName = {"man_order_log", "man_order_type"})
public R pageOut(@RequestBody Map<String, Object> map) {
String condition = map.getOrDefault("condition", "").toString();
BaseParam baseParam = buildParam(map, BaseParam.class);
@@ -121,12 +125,14 @@
@PreAuthorize("hasAuthority('asrs:orderLog:list')")
@PostMapping("/orderLog/list")
+ @CacheData(tableName = {"man_order_log"})
public R list(@RequestBody Map<String, Object> map) {
return R.ok().add(orderLogService.list());
}
@PreAuthorize("hasAuthority('asrs:orderLog:list')")
@GetMapping("/orderLog/{id}")
+ @CacheData(tableName = {"man_order_log"})
public R get(@PathVariable("id") Long id) {
return R.ok().add(orderLogService.getById(id));
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderSettleController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderSettleController.java
index a17fab7..1b9e85b 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderSettleController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderSettleController.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.KeyValVo;
@@ -31,6 +32,7 @@
@PreAuthorize("hasAuthority('asrs:orderSettle:list')")
@PostMapping("/orderSettle/page")
+ @CacheData(tableName = {"man_order_settle"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<OrderSettle, BaseParam> pageParam = new PageParam<>(baseParam, OrderSettle.class);
@@ -39,12 +41,14 @@
@PreAuthorize("hasAuthority('asrs:orderSettle:list')")
@PostMapping("/orderSettle/list")
+ @CacheData(tableName = {"man_order_settle"})
public R list(@RequestBody Map<String, Object> map) {
return R.ok().add(orderSettleService.list());
}
@PreAuthorize("hasAuthority('asrs:orderSettle:list')")
@GetMapping("/orderSettle/{id}")
+ @CacheData(tableName = {"man_order_settle"})
public R get(@PathVariable("id") Long id) {
return R.ok().add(orderSettleService.getById(id));
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderTypeController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderTypeController.java
index 9f71240..9347edf 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderTypeController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/OrderTypeController.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.KeyValVo;
@@ -31,6 +32,7 @@
@PreAuthorize("hasAuthority('asrs:orderType:list')")
@PostMapping("/orderType/page")
+ @CacheData(tableName = {"man_order_type"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<OrderType, BaseParam> pageParam = new PageParam<>(baseParam, OrderType.class);
@@ -39,12 +41,14 @@
@PreAuthorize("hasAuthority('asrs:orderType:list')")
@PostMapping("/orderType/list")
+ @CacheData(tableName = {"man_order_type"})
public R list(@RequestBody Map<String, Object> map) {
return R.ok().add(orderTypeService.list());
}
@PreAuthorize("hasAuthority('asrs:orderType:list')")
@GetMapping("/orderType/{id}")
+ @CacheData(tableName = {"man_order_type"})
public R get(@PathVariable("id") Long id) {
return R.ok().add(orderTypeService.getById(id));
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/TagController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/TagController.java
index 604ddf7..c58fff5 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/TagController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/TagController.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.KeyValVo;
@@ -32,6 +33,7 @@
@PreAuthorize("hasAuthority('asrs:tag:list')")
@PostMapping("/tag/page")
+ @CacheData(tableName = {"man_tag"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<Tag, BaseParam> pageParam = new PageParam<>(baseParam, Tag.class);
@@ -40,6 +42,7 @@
@PreAuthorize("hasAuthority('asrs:tag:list')")
@PostMapping("/tag/tree")
+ @CacheData(tableName = {"man_tag"})
public R tree(@RequestBody Map<String, Object> map) {
List<Tag> tagList = tagService.list(new LambdaQueryWrapper<Tag>().orderByAsc(Tag::getSort));
List<Tag> treeData = Utils.toTreeData(tagList, 0L, Tag::getParentId, Tag::getId, Tag::setChildren);
@@ -52,12 +55,14 @@
@PreAuthorize("hasAuthority('asrs:tag:list')")
@PostMapping("/tag/list")
+ @CacheData(tableName = {"man_tag"})
public R list(@RequestBody Map<String, Object> map) {
return R.ok().add(tagService.list());
}
@PreAuthorize("hasAuthority('asrs:tag:list')")
@GetMapping("/tag/{id}")
+ @CacheData(tableName = {"man_tag"})
public R get(@PathVariable("id") Long id) {
return R.ok().add(tagService.getById(id));
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/TaskDetlFieldLogController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/TaskDetlFieldLogController.java
index 5d66a5d..305c145 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/TaskDetlFieldLogController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/TaskDetlFieldLogController.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.KeyValVo;
@@ -31,6 +32,7 @@
@PreAuthorize("hasAuthority('asrs:taskDetlFieldLog:list')")
@PostMapping("/taskDetlFieldLog/page")
+ @CacheData(tableName = {"man_task_detl_field_log"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<TaskDetlFieldLog, BaseParam> pageParam = new PageParam<>(baseParam, TaskDetlFieldLog.class);
@@ -39,12 +41,14 @@
@PreAuthorize("hasAuthority('asrs:taskDetlFieldLog:list')")
@PostMapping("/taskDetlFieldLog/list")
+ @CacheData(tableName = {"man_task_detl_field_log"})
public R list(@RequestBody Map<String, Object> map) {
return R.ok().add(taskDetlFieldLogService.list());
}
@PreAuthorize("hasAuthority('asrs:taskDetlFieldLog:list')")
@GetMapping("/taskDetlFieldLog/{id}")
+ @CacheData(tableName = {"man_task_detl_field_log"})
public R get(@PathVariable("id") Long id) {
return R.ok().add(taskDetlFieldLogService.getById(id));
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/TaskDetlLogController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/TaskDetlLogController.java
index 52455de..a44d302 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/TaskDetlLogController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/TaskDetlLogController.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.KeyValVo;
@@ -31,6 +32,7 @@
@PreAuthorize("hasAuthority('asrs:taskDetlLog:list')")
@PostMapping("/taskDetlLog/page")
+ @CacheData(tableName = {"man_task_detl_log"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<TaskDetlLog, BaseParam> pageParam = new PageParam<>(baseParam, TaskDetlLog.class);
@@ -39,18 +41,21 @@
@PreAuthorize("hasAuthority('asrs:taskDetlLog:list')")
@PostMapping("/taskDetlLog/list")
+ @CacheData(tableName = {"man_task_detl_log"})
public R list(@RequestBody Map<String, Object> map) {
return R.ok().add(taskDetlLogService.list());
}
@PreAuthorize("hasAuthority('asrs:taskDetlLog:list')")
@GetMapping("/taskDetlLog/{id}")
+ @CacheData(tableName = {"man_task_detl_log"})
public R get(@PathVariable("id") Long id) {
return R.ok().add(taskDetlLogService.getById(id));
}
@PreAuthorize("hasAuthority('asrs:taskDetlLog:list')")
@GetMapping("/taskDetlLog/taskId/{id}")
+ @CacheData(tableName = {"man_task_detl_log"})
public R getByTaskId(@PathVariable("id") Long id) {
return R.ok().add(taskDetlLogService.getTaskDetlLogByTaskId(id));
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/TaskLogController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/TaskLogController.java
index b61e229..b75f326 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/TaskLogController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/TaskLogController.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.KeyValVo;
@@ -31,6 +32,7 @@
@PreAuthorize("hasAuthority('asrs:taskLog:list')")
@PostMapping("/taskLog/page")
+ @CacheData(tableName = {"man_task_log"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<TaskLog, BaseParam> pageParam = new PageParam<>(baseParam, TaskLog.class);
@@ -39,12 +41,14 @@
@PreAuthorize("hasAuthority('asrs:taskLog:list')")
@PostMapping("/taskLog/list")
+ @CacheData(tableName = {"man_task_log"})
public R list(@RequestBody Map<String, Object> map) {
return R.ok().add(taskLogService.list());
}
@PreAuthorize("hasAuthority('asrs:taskLog:list')")
@GetMapping("/taskLog/{id}")
+ @CacheData(tableName = {"man_task_log"})
public R get(@PathVariable("id") Long id) {
return R.ok().add(taskLogService.getById(id));
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/WaitPakinLogController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/WaitPakinLogController.java
index 7778f14..d6585e8 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/WaitPakinLogController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/WaitPakinLogController.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.KeyValVo;
@@ -31,6 +32,7 @@
@PreAuthorize("hasAuthority('asrs:waitPakinLog:list')")
@PostMapping("/waitPakinLog/page")
+ @CacheData(tableName = {"man_wait_pakin_log"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<WaitPakinLog, BaseParam> pageParam = new PageParam<>(baseParam, WaitPakinLog.class);
@@ -39,12 +41,14 @@
@PreAuthorize("hasAuthority('asrs:waitPakinLog:list')")
@PostMapping("/waitPakinLog/list")
+ @CacheData(tableName = {"man_wait_pakin_log"})
public R list(@RequestBody Map<String, Object> map) {
return R.ok().add(waitPakinLogService.list());
}
@PreAuthorize("hasAuthority('asrs:waitPakinLog:list')")
@GetMapping("/waitPakinLog/{id}")
+ @CacheData(tableName = {"man_wait_pakin_log"})
public R get(@PathVariable("id") Long id) {
return R.ok().add(waitPakinLogService.getById(id));
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/ZpalletBarcodeController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/ZpalletBarcodeController.java
index 9711793..fead071 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/ZpalletBarcodeController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/ZpalletBarcodeController.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.KeyValVo;
@@ -31,6 +32,7 @@
@PreAuthorize("hasAuthority('asrs:zpalletBarcode:list')")
@PostMapping("/zpalletBarcode/page")
+ @CacheData(tableName = {"man_zpallet_barcode","loc_detl"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<ZpalletBarcode, BaseParam> pageParam = new PageParam<>(baseParam, ZpalletBarcode.class);
@@ -39,12 +41,14 @@
@PreAuthorize("hasAuthority('asrs:zpalletBarcode:list')")
@PostMapping("/zpalletBarcode/list")
+ @CacheData(tableName = {"man_zpallet_barcode"})
public R list(@RequestBody Map<String, Object> map) {
return R.ok().add(zpalletBarcodeService.list());
}
@PreAuthorize("hasAuthority('asrs:zpalletBarcode:list')")
@GetMapping("/zpalletBarcode/{id}")
+ @CacheData(tableName = {"man_zpallet_barcode"})
public R get(@PathVariable("id") Long id) {
return R.ok().add(zpalletBarcodeService.getById(id));
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewInOutController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewInOutController.java
index dd302f3..049b5b0 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewInOutController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewInOutController.java
@@ -4,6 +4,7 @@
import com.zy.asrs.framework.common.R;
import com.zy.asrs.wms.asrs.entity.statistics.ViewInOut;
import com.zy.asrs.wms.asrs.mapper.statistics.ViewInOutMapper;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.PageParam;
import com.zy.asrs.wms.system.controller.BaseController;
@@ -27,6 +28,7 @@
@PreAuthorize("hasAuthority('asrs:viewInOut:list')")
@PostMapping("/viewInOut/page")
+ @CacheData(tableName = {"view_in_out", "man_task", "man_task_log"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<ViewInOut, BaseParam> pageParam = new PageParam<>(baseParam, ViewInOut.class);
@@ -37,6 +39,7 @@
@PreAuthorize("hasAuthority('asrs:viewInOut:list')")
@PostMapping("/viewInOut/export")
+ @CacheData(tableName = {"view_in_out", "man_task", "man_task_log"})
public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
QueryWrapper<ViewInOut> wrapper = new QueryWrapper<>();
ExcelUtil.build(ExcelUtil.create(viewInOutMapper.selectList(wrapper), ViewInOut.class), response);
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewStayTimeController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewStayTimeController.java
index 9bced7d..e0927f0 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewStayTimeController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewStayTimeController.java
@@ -4,6 +4,7 @@
import com.zy.asrs.framework.common.R;
import com.zy.asrs.wms.asrs.entity.statistics.ViewStayTime;
import com.zy.asrs.wms.asrs.mapper.statistics.ViewStayTimeMapper;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.PageParam;
import com.zy.asrs.wms.system.controller.BaseController;
@@ -24,6 +25,7 @@
@PreAuthorize("hasAuthority('asrs:viewStayTime:list')")
@PostMapping("/viewStayTime/page")
+ @CacheData(tableName = {"view_stay_time", "man_loc_detl", "man_loc"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<ViewStayTime, BaseParam> pageParam = new PageParam<>(baseParam, ViewStayTime.class);
@@ -34,6 +36,7 @@
@PreAuthorize("hasAuthority('asrs:viewStayTime:list')")
@PostMapping("/viewStayTime/export")
+ @CacheData(tableName = {"view_stay_time", "man_loc_detl", "man_loc"})
public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
QueryWrapper<ViewStayTime> wrapper = new QueryWrapper<>();
ExcelUtil.build(ExcelUtil.create(viewStayTimeMapper.selectList(wrapper), ViewStayTime.class), response);
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewWorkCountInController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewWorkCountInController.java
index b6386d0..afa390b 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewWorkCountInController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewWorkCountInController.java
@@ -4,6 +4,7 @@
import com.zy.asrs.framework.common.R;
import com.zy.asrs.wms.asrs.entity.statistics.ViewWorkCountIn;
import com.zy.asrs.wms.asrs.mapper.statistics.ViewWorkCountInMapper;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.PageParam;
import com.zy.asrs.wms.system.controller.BaseController;
@@ -27,6 +28,7 @@
@PreAuthorize("hasAuthority('asrs:viewWorkCountIn:list')")
@PostMapping("/viewWorkCountIn/page")
+ @CacheData(tableName = {"view_work_count_in", "man_task_log", "man_task_detl_log"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<ViewWorkCountIn, BaseParam> pageParam = new PageParam<>(baseParam, ViewWorkCountIn.class);
@@ -37,6 +39,7 @@
@PreAuthorize("hasAuthority('asrs:viewWorkCountIn:list')")
@PostMapping("/viewWorkCountIn/export")
+ @CacheData(tableName = {"view_work_count_in", "man_task_log", "man_task_detl_log"})
public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
QueryWrapper<ViewWorkCountIn> wrapper = new QueryWrapper<>();
ExcelUtil.build(ExcelUtil.create(viewWorkCountInMapper.selectList(wrapper), ViewWorkCountIn.class), response);
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewWorkCountOutController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewWorkCountOutController.java
index cf61d11..e470d0a 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewWorkCountOutController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewWorkCountOutController.java
@@ -6,6 +6,7 @@
import com.zy.asrs.wms.asrs.entity.statistics.ViewWorkCountOut;
import com.zy.asrs.wms.asrs.mapper.statistics.ViewWorkCountInMapper;
import com.zy.asrs.wms.asrs.mapper.statistics.ViewWorkCountOutMapper;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.PageParam;
import com.zy.asrs.wms.system.controller.BaseController;
@@ -29,6 +30,7 @@
@PreAuthorize("hasAuthority('asrs:viewWorkCountOut:list')")
@PostMapping("/viewWorkCountOut/page")
+ @CacheData(tableName = {"view_work_count_out", "man_task_log", "man_task_detl_log"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<ViewWorkCountOut, BaseParam> pageParam = new PageParam<>(baseParam, ViewWorkCountOut.class);
@@ -39,6 +41,7 @@
@PreAuthorize("hasAuthority('asrs:viewWorkCountOut:list')")
@PostMapping("/viewWorkCountOut/export")
+ @CacheData(tableName = {"view_work_count_out", "man_task_log", "man_task_detl_log"})
public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
QueryWrapper<ViewWorkCountOut> wrapper = new QueryWrapper<>();
ExcelUtil.build(ExcelUtil.create(viewWorkCountOutMapper.selectList(wrapper), ViewWorkCountOut.class), response);
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewWorkInController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewWorkInController.java
index 4d967a0..0495da9 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewWorkInController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewWorkInController.java
@@ -7,6 +7,7 @@
import com.zy.asrs.wms.asrs.entity.statistics.ViewWorkIn;
import com.zy.asrs.wms.asrs.mapper.statistics.ViewWorkInMapper;
import com.zy.asrs.wms.asrs.service.TaskDetlFieldLogService;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.PageParam;
import com.zy.asrs.wms.system.controller.BaseController;
@@ -33,6 +34,7 @@
@PreAuthorize("hasAuthority('asrs:viewWorkIn:list')")
@PostMapping("/viewWorkIn/page")
+ @CacheData(tableName = {"view_work_in", "man_task_log", "man_task_detl_log", "man_task_detl_field_log"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<ViewWorkIn, BaseParam> pageParam = new PageParam<>(baseParam, ViewWorkIn.class);
@@ -48,6 +50,7 @@
@PreAuthorize("hasAuthority('asrs:viewWorkIn:list')")
@PostMapping("/viewWorkIn/export")
+ @CacheData(tableName = {"view_work_in", "man_task_log", "man_task_detl_log"})
public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
QueryWrapper<ViewWorkIn> wrapper = new QueryWrapper<>();
ExcelUtil.build(ExcelUtil.create(viewWorkInMapper.selectList(wrapper), ViewWorkIn.class), response);
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewWorkOutController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewWorkOutController.java
index 1c3cb56..234821c 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewWorkOutController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/statistics/ViewWorkOutController.java
@@ -7,6 +7,7 @@
import com.zy.asrs.wms.asrs.entity.statistics.ViewWorkOut;
import com.zy.asrs.wms.asrs.mapper.statistics.ViewWorkOutMapper;
import com.zy.asrs.wms.asrs.service.TaskDetlFieldLogService;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.PageParam;
import com.zy.asrs.wms.system.controller.BaseController;
@@ -33,6 +34,7 @@
@PreAuthorize("hasAuthority('asrs:viewWorkOut:list')")
@PostMapping("/viewWorkOut/page")
+ @CacheData(tableName = {"view_work_out", "man_task_log", "man_task_detl_log", "man_task_detl_field_log"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<ViewWorkOut, BaseParam> pageParam = new PageParam<>(baseParam, ViewWorkOut.class);
@@ -48,6 +50,7 @@
@PreAuthorize("hasAuthority('asrs:viewWorkOut:list')")
@PostMapping("/viewWorkOut/export")
+ @CacheData(tableName = {"view_work_out", "man_task_log", "man_task_detl_log"})
public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
QueryWrapper<ViewWorkOut> wrapper = new QueryWrapper<>();
ExcelUtil.build(ExcelUtil.create(viewWorkOutMapper.selectList(wrapper), ViewWorkOut.class), response);
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/CacheStatistics.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/CacheStatistics.java
new file mode 100644
index 0000000..b97092a
--- /dev/null
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/CacheStatistics.java
@@ -0,0 +1,219 @@
+package com.zy.asrs.wms.asrs.entity;
+
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import com.zy.asrs.wms.system.entity.Host;
+import com.zy.asrs.wms.system.entity.User;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import com.zy.asrs.framework.common.Cools;
+import com.zy.asrs.framework.common.SpringUtils;
+import com.zy.asrs.wms.system.service.UserService;
+import com.zy.asrs.wms.system.service.HostService;
+import com.zy.asrs.common.utils.Synchro;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+@TableName("sys_cache_statistics")
+public class CacheStatistics implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * ID
+ */
+ @ApiModelProperty(value= "ID")
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 缁熻鏃堕棿
+ */
+ @ApiModelProperty(value= "缁熻鏃堕棿")
+ private String ymd;
+
+ /**
+ * 缂撳瓨璺緞
+ */
+ @ApiModelProperty(value= "缂撳瓨璺緞")
+ private String cacheKey;
+
+ /**
+ * 鍛戒腑娆℃暟
+ */
+ @ApiModelProperty(value= "鍛戒腑娆℃暟")
+ private Integer hit;
+
+ /**
+ * 鏈懡涓鏁�
+ */
+ @ApiModelProperty(value= "鏈懡涓鏁�")
+ private Integer miss;
+
+ /**
+ * 鎵�灞炴満鏋�
+ */
+ @ApiModelProperty(value= "鎵�灞炴満鏋�")
+ private Long hostId;
+
+ /**
+ * 鐘舵�� 1: 姝e父 0: 绂佺敤
+ */
+ @ApiModelProperty(value= "鐘舵�� 1: 姝e父 0: 绂佺敤 ")
+ private Integer status;
+
+ /**
+ * 鏄惁鍒犻櫎 1: 鏄� 0: 鍚�
+ */
+ @ApiModelProperty(value= "鏄惁鍒犻櫎 1: 鏄� 0: 鍚� ")
+ @TableLogic
+ private Integer deleted;
+
+ /**
+ * 娣诲姞鏃堕棿
+ */
+ @ApiModelProperty(value= "娣诲姞鏃堕棿")
+ @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ private Date createTime;
+
+ /**
+ * 娣诲姞浜哄憳
+ */
+ @ApiModelProperty(value= "娣诲姞浜哄憳")
+ private Long createBy;
+
+ /**
+ * 淇敼鏃堕棿
+ */
+ @ApiModelProperty(value= "淇敼鏃堕棿")
+ @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ private Date updateTime;
+
+ /**
+ * 淇敼浜哄憳
+ */
+ @ApiModelProperty(value= "淇敼浜哄憳")
+ private Long updateBy;
+
+ /**
+ * 澶囨敞
+ */
+ @ApiModelProperty(value= "澶囨敞")
+ private String memo;
+
+ public CacheStatistics() {}
+
+ public CacheStatistics(String ymd,String cacheKey,Integer hit,Integer miss,Long hostId,Integer status,Integer deleted,Date createTime,Long createBy,Date updateTime,Long updateBy,String memo) {
+ this.ymd = ymd;
+ this.cacheKey = cacheKey;
+ this.hit = hit;
+ this.miss = miss;
+ this.hostId = hostId;
+ this.status = status;
+ this.deleted = deleted;
+ this.createTime = createTime;
+ this.createBy = createBy;
+ this.updateTime = updateTime;
+ this.updateBy = updateBy;
+ this.memo = memo;
+ }
+
+// CacheStatistics cacheStatistics = new CacheStatistics(
+// null, // 缁熻鏃堕棿
+// null, // 缂撳瓨璺緞
+// null, // 鍛戒腑娆℃暟
+// null, // 鏈懡涓鏁�
+// null, // 鎵�灞炴満鏋�
+// null, // 鐘舵��
+// null, // 鏄惁鍒犻櫎
+// null, // 娣诲姞鏃堕棿
+// null, // 娣诲姞浜哄憳
+// null, // 淇敼鏃堕棿
+// null, // 淇敼浜哄憳
+// null // 澶囨敞
+// );
+
+ public String getHostId$(){
+ HostService service = SpringUtils.getBean(HostService.class);
+ Host host = service.getById(this.hostId);
+ if (!Cools.isEmpty(host)){
+ return String.valueOf(host.getName());
+ }
+ return null;
+ }
+
+ public String getStatus$(){
+ if (null == this.status){ return null; }
+ switch (this.status){
+ case 1:
+ return "姝e父";
+ case 0:
+ return "绂佺敤";
+ default:
+ return String.valueOf(this.status);
+ }
+ }
+
+ public String getDeleted$(){
+ if (null == this.deleted){ return null; }
+ switch (this.deleted){
+ case 1:
+ return "鏄�";
+ case 0:
+ return "鍚�";
+ default:
+ return String.valueOf(this.deleted);
+ }
+ }
+
+ public String getCreateTime$(){
+ if (Cools.isEmpty(this.createTime)){
+ return "";
+ }
+ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
+ }
+
+ public String getCreateBy$(){
+ UserService service = SpringUtils.getBean(UserService.class);
+ User user = service.getById(this.createBy);
+ if (!Cools.isEmpty(user)){
+ return String.valueOf(user.getNickname());
+ }
+ return null;
+ }
+
+ public String getUpdateTime$(){
+ if (Cools.isEmpty(this.updateTime)){
+ return "";
+ }
+ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime);
+ }
+
+ public String getUpdateBy$(){
+ UserService service = SpringUtils.getBean(UserService.class);
+ User user = service.getById(this.updateBy);
+ if (!Cools.isEmpty(user)){
+ return String.valueOf(user.getNickname());
+ }
+ return null;
+ }
+
+
+
+ public void sync(Object source) {
+ Synchro.Copy(source, this);
+ }
+}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/MatField.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/MatField.java
index a8e961d..f159f5b 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/MatField.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/entity/MatField.java
@@ -75,7 +75,7 @@
* 瀛楁绫诲瀷 0: 鐗╂枡 1: 搴撳瓨
*/
@ApiModelProperty(value= "瀛楁绫诲瀷 0: 鐗╂枡 1: 搴撳瓨")
- @TableField("`field_type`")
+ @TableField("field_type")
private Integer fieldType;
/**
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/mapper/CacheStatisticsMapper.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/mapper/CacheStatisticsMapper.java
new file mode 100644
index 0000000..d384bb1
--- /dev/null
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/mapper/CacheStatisticsMapper.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.wms.asrs.mapper;
+
+import com.zy.asrs.wms.asrs.entity.CacheStatistics;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface CacheStatisticsMapper extends BaseMapper<CacheStatistics> {
+
+}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/CacheStatisticsService.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/CacheStatisticsService.java
new file mode 100644
index 0000000..4e54bc8
--- /dev/null
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/CacheStatisticsService.java
@@ -0,0 +1,8 @@
+package com.zy.asrs.wms.asrs.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zy.asrs.wms.asrs.entity.CacheStatistics;
+
+public interface CacheStatisticsService extends IService<CacheStatistics> {
+
+}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/CacheStatisticsServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/CacheStatisticsServiceImpl.java
new file mode 100644
index 0000000..8ef1fff
--- /dev/null
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/CacheStatisticsServiceImpl.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.wms.asrs.service.impl;
+
+import com.zy.asrs.wms.asrs.mapper.CacheStatisticsMapper;
+import com.zy.asrs.wms.asrs.entity.CacheStatistics;
+import com.zy.asrs.wms.asrs.service.CacheStatisticsService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service("cacheStatisticsService")
+public class CacheStatisticsServiceImpl extends ServiceImpl<CacheStatisticsMapper, CacheStatistics> implements CacheStatisticsService {
+
+}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/CacheStatisticsTimer.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/CacheStatisticsTimer.java
new file mode 100644
index 0000000..2dd0ccf
--- /dev/null
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/CacheStatisticsTimer.java
@@ -0,0 +1,72 @@
+package com.zy.asrs.wms.asrs.timer;
+
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.zy.asrs.wms.asrs.entity.CacheStatistics;
+import com.zy.asrs.wms.asrs.service.CacheStatisticsService;
+import com.zy.asrs.wms.common.constant.RedisConstants;
+import com.zy.asrs.wms.common.domain.CacheHitDto;
+import com.zy.asrs.wms.utils.RedisUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Set;
+
+@Component
+public class CacheStatisticsTimer {
+
+ @Autowired
+ private RedisUtil redisUtil;
+ @Autowired
+ private CacheStatisticsService cacheStatisticsService;
+
+ /**
+ * 灏嗙紦瀛樼粺璁′繚瀛樿嚦鏁版嵁搴�
+ * 姣�30鍒嗛挓鎵弿涓�娆�
+ */
+ @Scheduled(cron = "0 30 * * * ? ")
+ public void run() {
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+ String now = format.format(new Date());
+ Set<String> keys = redisUtil.searchRedisKeys(RedisConstants.STATISTICS_CACHE_DATA);
+ for (String key : keys) {
+ if(key.contains(now)){
+ continue;
+ }
+
+ try {
+ String[] split = key.split(":");
+ String ymd = split[1];
+ String cacheKey = split[2];
+ Object object = redisUtil.get(key);
+ if(object == null){
+ continue;
+ }
+
+ CacheHitDto cacheHitDto = JSON.parseObject(object.toString(), CacheHitDto.class);
+ CacheStatistics cacheStatistics = cacheStatisticsService.getOne(new LambdaQueryWrapper<CacheStatistics>().eq(CacheStatistics::getYmd, ymd).eq(CacheStatistics::getCacheKey, cacheKey));
+ if (cacheStatistics == null) {
+ cacheStatistics = new CacheStatistics();
+ cacheStatistics.setYmd(ymd);
+ cacheStatistics.setCacheKey(cacheKey);
+ cacheStatistics.setHit(0);
+ cacheStatistics.setMiss(0);
+ cacheStatisticsService.save(cacheStatistics);
+ }
+
+ cacheStatistics.setHit(cacheStatistics.getHit() + cacheHitDto.getHit());
+ cacheStatistics.setMiss(cacheStatistics.getMiss() + cacheHitDto.getMiss());
+ cacheStatisticsService.updateById(cacheStatistics);
+
+ redisUtil.del(key);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ }
+
+}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/annotation/CacheData.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/annotation/CacheData.java
new file mode 100644
index 0000000..b411359
--- /dev/null
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/annotation/CacheData.java
@@ -0,0 +1,16 @@
+package com.zy.asrs.wms.common.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Target({ElementType.METHOD})
+@Retention(RetentionPolicy.RUNTIME)
+public @interface CacheData {
+
+ String[] tableName() default {};
+
+ boolean cache() default true;
+
+}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/config/MybatisPlusConfig.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/config/MybatisPlusConfig.java
index 7a5bf23..a586e2d 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/config/MybatisPlusConfig.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/config/MybatisPlusConfig.java
@@ -6,6 +6,7 @@
import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor;
+import com.zy.asrs.wms.common.interceptor.DataChangeInterceptor;
import com.zy.asrs.wms.system.entity.User;
import com.zy.asrs.wms.system.entity.UserLogin;
import net.sf.jsqlparser.expression.Expression;
@@ -15,7 +16,6 @@
import org.springframework.context.annotation.Configuration;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
-
import java.util.Arrays;
/**
@@ -54,7 +54,8 @@
"man_task_sts",
"man_task_type",
"man_order_settle",
- "view_man_loc_detl_field"
+ "view_man_loc_detl_field",
+ "sys_cache_statistics"
).contains(tableName);
}
@@ -97,4 +98,9 @@
return configuration -> configuration.setObjectWrapperFactory(new MybatisMapWrapperFactory());
}
+ @Bean
+ public DataChangeInterceptor sqlStatementInterceptor() {
+ return new DataChangeInterceptor();
+ }
+
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/config/RedisConfig.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/config/RedisConfig.java
new file mode 100644
index 0000000..b75e59e
--- /dev/null
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/config/RedisConfig.java
@@ -0,0 +1,98 @@
+package com.zy.asrs.wms.common.config;
+
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.PropertyAccessor;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.springframework.cache.annotation.CachingConfigurerSupport;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.core.*;
+import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
+import org.springframework.data.redis.serializer.StringRedisSerializer;
+
+/**
+ * Redis閰嶇疆绫�
+ * Created by vincent on 2019-12-23
+ */
+@Configuration
+//@EnableCaching // 寮�鍚暟鎹紦瀛樻満鍒�
+public class RedisConfig extends CachingConfigurerSupport {
+
+
+ /**
+ * RedisTemplate鐩稿叧閰嶇疆
+ */
+ @Bean
+ public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
+
+ RedisTemplate<String, Object> template = new RedisTemplate<>();
+ // 閰嶇疆杩炴帴宸ュ巶
+ template.setConnectionFactory(factory);
+
+ //浣跨敤Jackson2JsonRedisSerializer鏉ュ簭鍒楀寲鍜屽弽搴忓垪鍖杛edis鐨剉alue鍊硷紙榛樿浣跨敤JDK鐨勫簭鍒楀寲鏂瑰紡锛�
+ Jackson2JsonRedisSerializer<Object> jacksonSerializer = new Jackson2JsonRedisSerializer<>(Object.class);
+
+ ObjectMapper om = new ObjectMapper();
+ // 鎸囧畾瑕佸簭鍒楀寲鐨勫煙锛宖ield,get鍜宻et,浠ュ強淇グ绗﹁寖鍥达紝ANY鏄兘鏈夊寘鎷琾rivate鍜宲ublic
+ om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
+ // 鎸囧畾搴忓垪鍖栬緭鍏ョ殑绫诲瀷锛岀被蹇呴』鏄潪final淇グ鐨勶紝final淇グ鐨勭被锛屾瘮濡係tring,Integer绛変細璺戝嚭寮傚父
+ om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
+ jacksonSerializer.setObjectMapper(om);
+
+ // 鍊奸噰鐢╦son搴忓垪鍖�
+ template.setValueSerializer(jacksonSerializer);
+ //浣跨敤StringRedisSerializer鏉ュ簭鍒楀寲鍜屽弽搴忓垪鍖杛edis鐨刱ey鍊�
+ template.setKeySerializer(new StringRedisSerializer());
+
+ // 璁剧疆hash key 鍜寁alue搴忓垪鍖栨ā寮�
+ template.setHashKeySerializer(new StringRedisSerializer());
+ template.setHashValueSerializer(jacksonSerializer);
+ template.afterPropertiesSet();
+
+ return template;
+ }
+
+
+ /**
+ * 瀵箁edis瀛楃涓茬被鍨嬫暟鎹搷浣�
+ */
+ @Bean
+ public ValueOperations<String, Object> valueOperations(RedisTemplate<String, Object> redisTemplate) {
+ return redisTemplate.opsForValue();
+ }
+
+ /**
+ * 瀵筯ash绫诲瀷鐨勬暟鎹搷浣�
+ */
+ @Bean
+ public HashOperations<String, String, Object> hashOperations(RedisTemplate<String, Object> redisTemplate) {
+ return redisTemplate.opsForHash();
+ }
+
+ /**
+ * 瀵归摼琛ㄧ被鍨嬬殑鏁版嵁鎿嶄綔
+ */
+ @Bean
+ public ListOperations<String, Object> listOperations(RedisTemplate<String, Object> redisTemplate) {
+ return redisTemplate.opsForList();
+ }
+
+ /**
+ * 瀵规棤搴忛泦鍚堢被鍨嬬殑鏁版嵁鎿嶄綔
+ */
+ @Bean
+ public SetOperations<String, Object> setOperations(RedisTemplate<String, Object> redisTemplate) {
+ return redisTemplate.opsForSet();
+ }
+
+ /**
+ * 瀵规湁搴忛泦鍚堢被鍨嬬殑鏁版嵁鎿嶄綔
+ */
+ @Bean
+ public ZSetOperations<String, Object> zSetOperations(RedisTemplate<String, Object> redisTemplate) {
+ return redisTemplate.opsForZSet();
+ }
+
+
+}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/constant/RedisConstants.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/constant/RedisConstants.java
new file mode 100644
index 0000000..2aa6fae
--- /dev/null
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/constant/RedisConstants.java
@@ -0,0 +1,20 @@
+package com.zy.asrs.wms.common.constant;
+
+public class RedisConstants {
+
+ public static final String CACHE_DATA = "CACHE_DATA";
+
+ public static final String STATISTICS_CACHE_DATA = "STATISTICS_CACHE_DATA";
+
+ public static String getCacheKey(String prefix, String[] tables, String uri, String md5, Long roleId) {
+ String tablesStr = "";
+ if (tables != null) {
+ tablesStr = String.join(";", tables);
+ }
+
+ String roleKey = "roleId:" + roleId.toString();
+ String key = prefix + ":" + roleKey + ":" + tablesStr + ":" + uri + ":" + md5;
+ return key;
+ }
+
+}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/domain/CacheHitDto.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/domain/CacheHitDto.java
new file mode 100644
index 0000000..206f6b6
--- /dev/null
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/domain/CacheHitDto.java
@@ -0,0 +1,16 @@
+package com.zy.asrs.wms.common.domain;
+
+import lombok.Data;
+
+@Data
+public class CacheHitDto {
+
+ private Integer hit;
+
+ private Integer miss;
+
+ public CacheHitDto(Integer hit, Integer miss) {
+ this.hit = hit;
+ this.miss = miss;
+ }
+}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/interceptor/DataChangeInterceptor.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/interceptor/DataChangeInterceptor.java
new file mode 100644
index 0000000..da14f60
--- /dev/null
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/interceptor/DataChangeInterceptor.java
@@ -0,0 +1,108 @@
+package com.zy.asrs.wms.common.interceptor;
+
+import com.zy.asrs.framework.common.SpringUtils;
+import com.zy.asrs.wms.common.constant.RedisConstants;
+import com.zy.asrs.wms.utils.RedisUtil;
+import org.apache.ibatis.executor.statement.StatementHandler;
+import org.apache.ibatis.plugin.*;
+import java.sql.Connection;
+import java.util.Properties;
+import java.util.Set;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+@Intercepts({
+ @Signature(type = StatementHandler.class, method = "prepare", args = {Connection.class, Integer.class})
+})
+public class DataChangeInterceptor implements Interceptor {
+
+ @Override
+ public Object intercept(Invocation invocation) throws Throwable {
+ StatementHandler statementHandler = (StatementHandler) invocation.getTarget();
+ String sql = statementHandler.getBoundSql().getSql();
+ if (sql != null) {
+ String trimmedSql = sql.trim().toUpperCase();
+// System.out.println("SQL: " + sql);
+ if (trimmedSql.startsWith("INSERT")) {
+ clearRedisCache(trimmedSql);
+ } else if (trimmedSql.startsWith("UPDATE")) {
+ clearRedisCache(trimmedSql);
+ } else if (trimmedSql.startsWith("DELETE")) {
+ clearRedisCache(trimmedSql);
+ }
+ }
+
+ // 鏍规嵁闇�瑕佽繘琛孲QL瑙f瀽
+ return invocation.proceed();
+ }
+
+ @Override
+ public Object plugin(Object target) {
+ return Plugin.wrap(target, this);
+ }
+
+ @Override
+ public void setProperties(Properties properties) {}
+
+ public static String extractTableName(String sql) {
+ if (sql == null || sql.trim().isEmpty()) {
+ return "鏃犳晥鐨凷QL璇彞";
+ }
+
+ String trimmedSql = sql.trim().toUpperCase();
+ String tableName = "";
+
+ // 瀹氫箟姝e垯琛ㄨ揪寮�
+ Pattern insertPattern = Pattern.compile("INSERT INTO (\\S+)", Pattern.CASE_INSENSITIVE);
+ Pattern updatePattern = Pattern.compile("UPDATE (\\S+)", Pattern.CASE_INSENSITIVE);
+ Pattern deletePattern = Pattern.compile("DELETE FROM (\\S+)", Pattern.CASE_INSENSITIVE);
+
+ Matcher matcher;
+
+ // 妫�鏌NSERT璇彞
+ matcher = insertPattern.matcher(trimmedSql);
+ if (matcher.find()) {
+ tableName = matcher.group(1);
+ } else {
+ // 妫�鏌PDATE璇彞
+ matcher = updatePattern.matcher(trimmedSql);
+ if (matcher.find()) {
+ tableName = matcher.group(1);
+ } else {
+ // 妫�鏌ELETE璇彞
+ matcher = deletePattern.matcher(trimmedSql);
+ if (matcher.find()) {
+ tableName = matcher.group(1);
+ }
+ }
+ }
+
+ if (tableName.isEmpty()) {
+ return null;
+ }
+
+ return tableName;
+ }
+
+ private void clearRedisCache(String sql) {
+ RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class);
+ if (redisUtil == null) {
+ return;
+ }
+
+ String tableName = extractTableName(sql);
+ if (tableName == null) {
+ return;
+ }
+
+ tableName = tableName.toLowerCase();
+
+ Set<String> keys = redisUtil.searchRedisKeys(tableName);
+ for (String key : keys) {
+ if (!key.startsWith(RedisConstants.CACHE_DATA)) {
+ continue;
+ }
+ redisUtil.del(key);
+ }
+ }
+}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/security/CacheFilter.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/security/CacheFilter.java
new file mode 100644
index 0000000..fa4baaf
--- /dev/null
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/security/CacheFilter.java
@@ -0,0 +1,202 @@
+package com.zy.asrs.wms.common.security;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.zy.asrs.framework.common.R;
+import com.zy.asrs.wms.common.annotation.CacheData;
+import com.zy.asrs.wms.common.constant.Constants;
+import com.zy.asrs.wms.common.constant.RedisConstants;
+import com.zy.asrs.wms.common.domain.CacheHitDto;
+import com.zy.asrs.wms.system.entity.User;
+import com.zy.asrs.wms.system.entity.UserLogin;
+import com.zy.asrs.wms.system.service.UserService;
+import com.zy.asrs.wms.utils.EncryptUtils;
+import com.zy.asrs.wms.utils.HttpUtils;
+import com.zy.asrs.wms.utils.RedisUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.context.SecurityContextHolder;
+import org.springframework.security.core.userdetails.UsernameNotFoundException;
+import org.springframework.stereotype.Component;
+import org.springframework.web.filter.OncePerRequestFilter;
+import org.springframework.web.method.HandlerMethod;
+import org.springframework.web.servlet.HandlerExecutionChain;
+import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
+
+import javax.servlet.FilterChain;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.lang.reflect.Method;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+@Component
+public class CacheFilter extends OncePerRequestFilter {
+
+ @Value("${system.enableCache}")
+ private Boolean enableCache;
+ @Autowired
+ private RequestMappingHandlerMapping handlerMapping;
+ @Autowired
+ private RedisUtil redisUtil;
+ @Autowired
+ private UserService userService;
+
+ @Override
+ protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws ServletException, IOException {
+ // 鑾峰彇褰撳墠璇锋眰鐨勫鐞嗗櫒鏂规硶
+ HandlerExecutionChain handlerChain;
+ try {
+ handlerChain = handlerMapping.getHandler(request);
+ if (handlerChain != null) {
+ Object handler = handlerChain.getHandler();
+ if (handler instanceof HandlerMethod) {
+ HandlerMethod handlerMethod = (HandlerMethod) handler;
+ Method method = handlerMethod.getMethod();
+ if (method.isAnnotationPresent(CacheData.class)) {
+ CacheData cacheData = method.getAnnotation(CacheData.class);
+ if (enableCache && cacheData.cache()) {
+ // 鍒涘缓涓�涓寘瑁呰姹備綋鐨� HttpServletRequestWrapper
+ CachedBodyHttpServletRequest cachedBodyHttpServletRequest = new CachedBodyHttpServletRequest(request);
+ // 鍒涘缓涓�涓寘瑁呭搷搴斾綋鐨� HttpServletResponseWrapper
+ CachedBodyHttpServletResponse cachedBodyHttpServletResponse = new CachedBodyHttpServletResponse(response);
+ String requestParamCode = getRequestParamCode(cachedBodyHttpServletRequest);
+
+ User user = getUser();
+ ArrayList<Long> roleIds = new ArrayList<>();
+ if (user == null) {
+ roleIds.add(0L);
+ }else {
+ roleIds.addAll(Arrays.asList(user.getUserRoleIds()));
+ }
+
+ Object object = null;
+ for (Long roleId : roleIds) {
+ Object obj = redisUtil.get(RedisConstants.getCacheKey(RedisConstants.CACHE_DATA, cacheData.tableName(), request.getRequestURI(), requestParamCode, roleId));
+ if(obj != null){
+ object = obj;
+ break;
+ }
+ }
+
+ if (object == null) {
+ chain.doFilter(cachedBodyHttpServletRequest, cachedBodyHttpServletResponse);
+
+ // 鑾峰彇鍝嶅簲鍐呭
+ byte[] responseContent = cachedBodyHttpServletResponse.getContent();
+ String responseBody = new String(responseContent);
+
+ JSONObject result = JSON.parseObject(responseBody);
+ if (Integer.parseInt(result.get("code").toString()) == 200) {
+ for (Long roleId : roleIds) {
+ redisUtil.set(RedisConstants.getCacheKey(RedisConstants.CACHE_DATA, cacheData.tableName(), request.getRequestURI(), requestParamCode, roleId), responseBody, 60 * 60 * 24);
+ }
+ }
+
+ // 灏嗗搷搴斿唴瀹瑰啓鍥炲師濮嬬殑 HttpServletResponse
+ response.getOutputStream().write(responseContent);
+ response.setContentLength(responseContent.length);
+ }else {
+ // 灏嗗搷搴斿唴瀹瑰啓鍥炲師濮嬬殑 HttpServletResponse
+ byte[] responseContent = object.toString().getBytes();
+ response.setContentType("application/json;charset=UTF-8");
+ response.getOutputStream().write(responseContent);
+ response.setContentLength(responseContent.length);
+ }
+
+ statisticsCacheHitCount(object, cacheData.tableName(), request.getRequestURI());
+ return;
+ }
+ }
+ }
+ }
+
+ chain.doFilter(request, response);
+ } catch (Exception e) {
+ e.printStackTrace();
+ HttpUtils.responseError(response, Constants.BAD_CREDENTIALS_CODE, Constants.BAD_CREDENTIALS_MSG,
+ e.toString());
+ return;
+ }
+ }
+
+ private String getRequestParamCode(CachedBodyHttpServletRequest request) throws IOException {
+ // 鑾峰彇璇锋眰鏂规硶
+ String requestMethod = request.getMethod();
+ String md5 = "";
+ // 妫�鏌ヨ姹傛柟娉曞苟澶勭悊
+ if ("POST".equalsIgnoreCase(requestMethod)) {
+ // 妫�鏌ユ槸鍚︿负 form-data 绫诲瀷
+ String contentType = request.getContentType();
+ if (contentType != null && (contentType.startsWith("application/x-www-form-urlencoded") || contentType.startsWith("multipart/form-data"))) {
+ // 澶勭悊 form-data 鍙傛暟
+ Map<String, String[]> parameterMap = request.getParameterMap();
+ String jsonString = JSON.toJSONString(parameterMap);
+ md5 = EncryptUtils.md5(jsonString);
+ } else {
+ // 璇诲彇璇锋眰浣撲腑鐨� JSON 鏁版嵁
+ String jsonRequestBody = request.getReader().lines().collect(Collectors.joining(System.lineSeparator()));
+ md5 = EncryptUtils.md5(jsonRequestBody);
+ }
+ } else if ("GET".equalsIgnoreCase(requestMethod)) {
+ Map<String, String[]> map = request.getParameterMap();
+ String jsonString = JSON.toJSONString(map);
+ md5 = EncryptUtils.md5(jsonString);
+ }
+ return md5;
+ }
+
+ private User getUser() {
+ try {
+ Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
+ if (authentication != null) {
+ Object object = authentication.getPrincipal();
+ if (object instanceof User) {
+ return (User) object;
+ }
+ if(object instanceof UserLogin) {
+ UserLogin userLogin = (UserLogin) object;
+ User user = userService.superGetById(userLogin.getUserId());
+ return user;
+ }
+ }
+ } catch (Exception e) {
+ System.out.println(e.getMessage());
+ }
+ return null;
+ }
+
+ private void statisticsCacheHitCount(Object object, String[] tableNames, String requestURI) {
+ statisticsCacheSaveRedis(object, requestURI);
+ for (String tableName : tableNames) {
+ statisticsCacheSaveRedis(object, tableName);
+ }
+ }
+
+ private void statisticsCacheSaveRedis(Object object, String key) {
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+ String now = format.format(new Date());
+
+ String urlKey = RedisConstants.STATISTICS_CACHE_DATA + ":" + now + ":" + key;
+ Object urlCache = redisUtil.get(urlKey);
+ CacheHitDto cacheHitDto = new CacheHitDto(0, 0);
+ if (urlCache != null) {
+ cacheHitDto = JSON.parseObject(urlCache.toString(), CacheHitDto.class);
+ }
+
+ if (object == null) {
+ cacheHitDto.setMiss(cacheHitDto.getMiss() + 1);
+ }else {
+ cacheHitDto.setHit(cacheHitDto.getHit() + 1);
+ }
+
+ redisUtil.set(urlKey, JSON.toJSONString(cacheHitDto));
+ }
+}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/security/CachedBodyHttpServletRequest.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/security/CachedBodyHttpServletRequest.java
new file mode 100644
index 0000000..ff328b7
--- /dev/null
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/security/CachedBodyHttpServletRequest.java
@@ -0,0 +1,110 @@
+package com.zy.asrs.wms.common.security;
+
+import com.alibaba.fastjson.JSON;
+import com.zy.asrs.wms.utils.EncryptUtils;
+import com.zy.asrs.wms.utils.WebkitParseUtils;
+import javax.servlet.ReadListener;
+import javax.servlet.ServletInputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletRequestWrapper;
+import java.io.*;
+import java.util.HashMap;
+import java.util.Map;
+
+public class CachedBodyHttpServletRequest extends HttpServletRequestWrapper {
+ private final byte[] cachedBody;
+ private final Map<String, String[]> parameterMap;
+
+ public CachedBodyHttpServletRequest(HttpServletRequest request) throws IOException {
+ super(request);
+ String requestMethod = request.getMethod();
+ if ("GET".equalsIgnoreCase(requestMethod)) {
+ Map<String, String[]> map = request.getParameterMap();
+ String jsonString = JSON.toJSONString(map);
+ this.cachedBody = jsonString.getBytes();
+ this.parameterMap = map;
+ }else {
+ // 璇诲彇璇锋眰浣撳苟缂撳瓨
+ InputStream inputStream = request.getInputStream();
+ // 鏂规硶鏉ヨ鍙栨墍鏈夊瓧鑺�
+ this.cachedBody = readBytesFromInputStream(inputStream);
+
+ this.parameterMap = new HashMap<>();
+ // 璇诲彇骞惰В鏋愯〃鍗曟暟鎹�
+ parseRequestParameters();
+ }
+ }
+
+ private byte[] readBytesFromInputStream(InputStream inputStream) throws IOException {
+ ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+ byte[] buffer = new byte[1024];
+ int bytesRead;
+ while ((bytesRead = inputStream.read(buffer)) != -1) {
+ byteArrayOutputStream.write(buffer, 0, bytesRead);
+ }
+ return byteArrayOutputStream.toByteArray();
+ }
+
+ @Override
+ public ServletInputStream getInputStream() {
+ return new CachedBodyServletInputStream(cachedBody);
+ }
+
+ @Override
+ public BufferedReader getReader() {
+ return new BufferedReader(new InputStreamReader(getInputStream()));
+ }
+
+ @Override
+ public String getParameter(String name) {
+ String[] values = parameterMap.get(name);
+ return (values != null && values.length > 0) ? values[0] : null;
+ }
+
+ @Override
+ public Map<String, String[]> getParameterMap() {
+ return parameterMap;
+ }
+
+ @Override
+ public String[] getParameterValues(String name) {
+ return parameterMap.get(name);
+ }
+
+ private static class CachedBodyServletInputStream extends ServletInputStream {
+ private final ByteArrayInputStream inputStream;
+
+ public CachedBodyServletInputStream(byte[] cachedBody) {
+ this.inputStream = new ByteArrayInputStream(cachedBody);
+ }
+
+ @Override
+ public boolean isFinished() {
+ return inputStream.available() == 0;
+ }
+
+ @Override
+ public boolean isReady() {
+ return true;
+ }
+
+ @Override
+ public void setReadListener(ReadListener listener) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public int read() {
+ return inputStream.read();
+ }
+ }
+
+ private void parseRequestParameters() {
+ String string = new String(cachedBody);
+ HashMap<String, Object> formData = WebkitParseUtils.getFormData(string);
+ for (Map.Entry<String, Object> entry : formData.entrySet()) {
+ parameterMap.put(entry.getKey(), new String[]{entry.getValue().toString()});
+ }
+ }
+}
+
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/security/CachedBodyHttpServletResponse.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/security/CachedBodyHttpServletResponse.java
new file mode 100644
index 0000000..45e4135
--- /dev/null
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/security/CachedBodyHttpServletResponse.java
@@ -0,0 +1,49 @@
+package com.zy.asrs.wms.common.security;
+
+import javax.servlet.ServletOutputStream;
+import javax.servlet.WriteListener;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpServletResponseWrapper;
+import java.io.ByteArrayOutputStream;
+import java.io.PrintWriter;
+
+public class CachedBodyHttpServletResponse extends HttpServletResponseWrapper {
+ private final ByteArrayOutputStream cachedBody;
+ private final PrintWriter writer;
+
+ public CachedBodyHttpServletResponse(HttpServletResponse response) {
+ super(response);
+ this.cachedBody = new ByteArrayOutputStream();
+ this.writer = new PrintWriter(cachedBody);
+ }
+
+ @Override
+ public PrintWriter getWriter() {
+ return writer;
+ }
+
+ @Override
+ public ServletOutputStream getOutputStream() {
+ return new ServletOutputStream() {
+ @Override
+ public void write(int b) {
+ cachedBody.write(b);
+ }
+
+ @Override
+ public boolean isReady() {
+ return true;
+ }
+
+ @Override
+ public void setWriteListener(WriteListener writeListener) {
+
+ }
+ };
+ }
+
+ public byte[] getContent() {
+ writer.flush();
+ return cachedBody.toByteArray();
+ }
+}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/security/SecurityConfig.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/security/SecurityConfig.java
index 1358a55..0e0a588 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/security/SecurityConfig.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/common/security/SecurityConfig.java
@@ -16,6 +16,7 @@
import org.springframework.security.web.AuthenticationEntryPoint;
import org.springframework.security.web.access.AccessDeniedHandler;
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
+import org.springframework.security.web.authentication.www.BasicAuthenticationFilter;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@@ -52,6 +53,8 @@
private JwtAuthenticationEntryPoint jwtAuthenticationEntryPoint;
@Resource
private JwtAuthenticationFilter jwtAuthenticationFilter;
+ @Resource
+ private CacheFilter cacheFilter;
@Override
protected void configure(HttpSecurity http) throws Exception {
@@ -82,7 +85,8 @@
.accessDeniedHandler(jwtAccessDeniedHandler)
.authenticationEntryPoint(jwtAuthenticationEntryPoint)
.and()
- .addFilterBefore(jwtAuthenticationFilter, UsernamePasswordAuthenticationFilter.class);
+ .addFilterBefore(jwtAuthenticationFilter, UsernamePasswordAuthenticationFilter.class)
+ .addFilterBefore(cacheFilter, BasicAuthenticationFilter.class);
}
@Bean
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/DeptController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/DeptController.java
index 612a72e..dd700f1 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/DeptController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/DeptController.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.KeyValVo;
@@ -29,6 +30,7 @@
@PreAuthorize("hasAuthority('system:dept:list')")
@PostMapping("/dept/page")
+ @CacheData(tableName = {"sys_dept"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<Dept, BaseParam> pageParam = new PageParam<>(baseParam, Dept.class);
@@ -37,12 +39,14 @@
@PreAuthorize("hasAuthority('system:dept:list')")
@PostMapping("/dept/list")
+ @CacheData(tableName = {"sys_dept"})
public R list(@RequestBody Map<String, Object> map) {
return R.ok().add(deptService.list());
}
@PreAuthorize("hasAuthority('system:dept:list')")
@PostMapping("/dept/tree")
+ @CacheData(tableName = {"sys_dept"})
public R tree(@RequestBody Map<String, Object> map) {
// PageParam<Dept, BaseParam> param = new PageParam<>(buildParam(map, BaseParam.class), Dept.class);
// QueryWrapper<Dept> wrapper = param.buildWrapper(true, queryWrapper -> queryWrapper.orderByAsc("sort"));
@@ -57,6 +61,7 @@
@PreAuthorize("hasAuthority('system:dept:list')")
@GetMapping("/dept/{id}")
+ @CacheData(tableName = {"sys_dept"})
public R get(@PathVariable("id") Long id) {
return R.ok().add(deptService.getById(id));
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/HostController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/HostController.java
index d30538e..2223a0c 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/HostController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/HostController.java
@@ -5,6 +5,7 @@
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
import com.zy.asrs.framework.exception.CoolException;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.KeyValVo;
@@ -39,6 +40,7 @@
@PreAuthorize("hasAuthority('system:host:list')")
@PostMapping("/host/page")
+ @CacheData(tableName = {"sys_host"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<Host, BaseParam> pageParam = new PageParam<>(baseParam, Host.class);
@@ -47,12 +49,14 @@
@PreAuthorize("hasAuthority('system:host:list')")
@PostMapping("/host/list")
+ @CacheData(tableName = {"sys_host"})
public R list(@RequestBody Map<String, Object> map) {
return R.ok().add(hostService.list());
}
@PreAuthorize("hasAuthority('system:host:list')")
@GetMapping("/host/{id}")
+ @CacheData(tableName = {"sys_host"})
public R get(@PathVariable("id") Long id) {
return R.ok().add(hostService.getById(id));
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/LanguageController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/LanguageController.java
index 7d5d162..3b9c1da 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/LanguageController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/LanguageController.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.KeyValVo;
@@ -28,6 +29,7 @@
@PreAuthorize("hasAuthority('system:language:list')")
@PostMapping("/language/page")
+ @CacheData(tableName = {"sys_language"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<Language, BaseParam> pageParam = new PageParam<>(baseParam, Language.class);
@@ -36,11 +38,13 @@
@PreAuthorize("hasAuthority('system:language:list')")
@PostMapping("/language/list")
+ @CacheData(tableName = {"sys_language"})
public R list(@RequestBody Map<String, Object> map) {
return R.ok().add(languageService.list());
}
@PostMapping("/language/json")
+ @CacheData(tableName = {"sys_language"})
public R json(@RequestBody Map<String, Object> map) {
LambdaQueryWrapper<Language> wrapper = new LambdaQueryWrapper<>();
if(map.containsKey("locale")){
@@ -56,6 +60,7 @@
@PreAuthorize("hasAuthority('system:language:list')")
@GetMapping("/language/{id}")
+ @CacheData(tableName = {"sys_language"})
public R get(@PathVariable("id") Long id) {
return R.ok().add(languageService.getById(id));
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/MenuController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/MenuController.java
index 75af03f..b063b5d 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/MenuController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/MenuController.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.KeyValVo;
@@ -29,6 +30,7 @@
@PreAuthorize("hasAuthority('system:menu:list')")
@PostMapping("/menu/page")
+ @CacheData(tableName = {"sys_menu"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<Menu, BaseParam> pageParam = new PageParam<>(baseParam, Menu.class);
@@ -37,12 +39,14 @@
@PreAuthorize("hasAuthority('system:menu:list')")
@PostMapping("/menu/list")
+ @CacheData(tableName = {"sys_menu"})
public R list(@RequestBody Map<String, Object> map) {
return R.ok().add(menuService.list());
}
@PreAuthorize("hasAuthority('system:menu:list')")
@PostMapping("/menu/tree")
+ @CacheData(tableName = {"sys_menu"})
public R tree(@RequestBody Map<String, Object> map) {
// PageParam<Menu, BaseParam> param = new PageParam<>(buildParam(map, BaseParam.class), Menu.class);
// QueryWrapper<Menu> wrapper = param.buildWrapper(true, queryWrapper -> queryWrapper.orderByAsc("sort"));
@@ -59,6 +63,7 @@
@PreAuthorize("hasAuthority('system:menu:list')")
@GetMapping("/menu/get/route")
+ @CacheData(tableName = {"sys_menu"})
public R getByRoute(@RequestParam("route") String route) {
Menu menu = menuService.getOne(new LambdaQueryWrapper<Menu>().eq(Menu::getRoute, route).eq(Menu::getStatus, 1).last("limit 1"));
if (menu == null) {
@@ -69,6 +74,7 @@
@PreAuthorize("hasAuthority('system:menu:list')")
@GetMapping("/menu/{id}")
+ @CacheData(tableName = {"sys_menu"})
public R get(@PathVariable("id") Long id) {
return R.ok().add(menuService.getById(id));
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/OperationRecordController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/OperationRecordController.java
index b2acae5..5c73cf1 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/OperationRecordController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/OperationRecordController.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.KeyValVo;
@@ -30,6 +31,7 @@
@PreAuthorize("hasAuthority('system:operationRecord:list')")
@PostMapping("/operationRecord/page")
+ @CacheData(tableName = {"sys_operation_record"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<OperationRecord, BaseParam> pageParam = new PageParam<>(baseParam, OperationRecord.class);
@@ -38,12 +40,14 @@
@PreAuthorize("hasAuthority('system:operationRecord:list')")
@PostMapping("/operationRecord/list")
+ @CacheData(tableName = {"sys_operation_record"})
public R list(@RequestBody Map<String, Object> map) {
return R.ok().add(operationRecordService.list());
}
@PreAuthorize("hasAuthority('system:operationRecord:list')")
@GetMapping("/operationRecord/{id}")
+ @CacheData(tableName = {"sys_operation_record"})
public R get(@PathVariable("id") Long id) {
return R.ok().add(operationRecordService.getById(id));
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/RoleController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/RoleController.java
index 726f3e9..b369601 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/RoleController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/RoleController.java
@@ -5,6 +5,7 @@
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
import com.zy.asrs.framework.exception.CoolException;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.KeyValVo;
@@ -40,6 +41,7 @@
@PreAuthorize("hasAuthority('system:role:list')")
@PostMapping("/role/page")
+ @CacheData(tableName = {"sys_role"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<Role, BaseParam> pageParam = new PageParam<>(baseParam, Role.class);
@@ -48,12 +50,14 @@
@PreAuthorize("hasAuthority('system:role:list')")
@PostMapping("/role/list")
+ @CacheData(tableName = {"sys_role"})
public R list(@RequestBody Map<String, Object> map) {
return R.ok().add(roleService.list());
}
@PreAuthorize("hasAuthority('system:role:list')")
@GetMapping("/role/{id}")
+ @CacheData(tableName = {"sys_role"})
public R get(@PathVariable("id") Long id) {
return R.ok().add(roleService.getById(id));
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/UserController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/UserController.java
index 3ab59ae..342bcd3 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/UserController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/UserController.java
@@ -5,6 +5,7 @@
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
import com.zy.asrs.framework.exception.CoolException;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.KeyValVo;
@@ -39,6 +40,7 @@
@PreAuthorize("hasAuthority('system:user:list')")
@PostMapping("/user/page")
+ @CacheData(tableName = {"sys_user"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<User, BaseParam> pageParam = new PageParam<>(baseParam, User.class);
@@ -47,6 +49,7 @@
@PreAuthorize("hasAuthority('system:user:list')")
@PostMapping("/user/page1")
+ @CacheData(tableName = {"sys_user"})
public R page1(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<User, BaseParam> pageParam = new PageParam<>(baseParam, User.class);
@@ -55,12 +58,14 @@
@PreAuthorize("hasAuthority('system:user:list')")
@PostMapping("/user/list")
+ @CacheData(tableName = {"sys_user"})
public R list(@RequestBody Map<String, Object> map) {
return R.ok().add(userService.list());
}
@PreAuthorize("hasAuthority('system:user:list')")
@GetMapping("/user/{id}")
+ @CacheData(tableName = {"sys_user"})
public R get(@PathVariable("id") Long id) {
return R.ok().add(userService.getById(id));
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/UserLoginController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/UserLoginController.java
index 8a235c6..1516deb 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/UserLoginController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/system/controller/UserLoginController.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
+import com.zy.asrs.wms.common.annotation.CacheData;
import com.zy.asrs.wms.common.annotation.OperationLog;
import com.zy.asrs.wms.common.domain.BaseParam;
import com.zy.asrs.wms.common.domain.KeyValVo;
@@ -30,6 +31,7 @@
@PreAuthorize("hasAuthority('system:userLogin:list')")
@PostMapping("/userLogin/page")
+ @CacheData(tableName = {"sys_user_login"})
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
PageParam<UserLogin, BaseParam> pageParam = new PageParam<>(baseParam, UserLogin.class);
@@ -38,12 +40,14 @@
@PreAuthorize("hasAuthority('system:userLogin:list')")
@PostMapping("/userLogin/list")
+ @CacheData(tableName = {"sys_user_login"})
public R list(@RequestBody Map<String, Object> map) {
return R.ok().add(userLoginService.list());
}
@PreAuthorize("hasAuthority('system:userLogin:list')")
@GetMapping("/userLogin/{id}")
+ @CacheData(tableName = {"sys_user_login"})
public R get(@PathVariable("id") Long id) {
return R.ok().add(userLoginService.getById(id));
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/CodeBuilder.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/CodeBuilder.java
index 2cbf817..ed655bb 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/CodeBuilder.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/CodeBuilder.java
@@ -22,8 +22,8 @@
// generator.username="sa";
// generator.password="Zoneyung@zy56$";
- generator.table="man_platform_detl_log";
- generator.tableName="闆嗚揣鍖哄煙搴撳瓨鍘嗗彶";
+ generator.table="sys_cache_statistics";
+ generator.tableName="绯荤粺缂撳瓨缁熻";
generator.rootPackagePath="com.zy.asrs.wms";
generator.packagePath="com.zy.asrs.wms.asrs";
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/EncryptUtils.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/EncryptUtils.java
new file mode 100644
index 0000000..f403c98
--- /dev/null
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/EncryptUtils.java
@@ -0,0 +1,27 @@
+package com.zy.asrs.wms.utils;
+
+import java.nio.charset.StandardCharsets;
+import java.security.MessageDigest;
+
+public class EncryptUtils {
+
+ public static String md5(String plainString) {
+ String cipherString = null;
+ try {
+ // 鑾峰彇瀹炰緥
+ MessageDigest messageDigest = MessageDigest.getInstance("MD5");
+ // 璁$畻鎽樿
+ byte[] cipherBytes = messageDigest.digest(plainString.getBytes(StandardCharsets.UTF_8));
+ // 杈撳嚭涓�16杩涘埗瀛楃涓�
+ StringBuilder sb = new StringBuilder();
+ for (byte b : cipherBytes) {
+ sb.append(String.format("%02x", b));
+ }
+ cipherString = sb.toString();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return cipherString;
+ }
+
+}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/RedisUtil.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/RedisUtil.java
new file mode 100644
index 0000000..a532f7c
--- /dev/null
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/RedisUtil.java
@@ -0,0 +1,666 @@
+package com.zy.asrs.wms.utils;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * redisTemplate灏佽
+ *
+ */
+@Component
+public class RedisUtil {
+
+ @Autowired
+ private RedisTemplate redisTemplate;
+
+ public RedisTemplate getRedisTemplate() {
+ return redisTemplate;
+ }
+
+ public RedisUtil(RedisTemplate redisTemplate) {
+ this.redisTemplate = redisTemplate;
+ }
+
+ /**
+ * 鎸囧畾缂撳瓨澶辨晥鏃堕棿
+ *
+ * @param key 閿�
+ * @param time 鏃堕棿(绉�)
+ * @return
+ */
+ public boolean expire(String key, long time) {
+ try {
+ if (time > 0) {
+ redisTemplate.expire(key, time, TimeUnit.SECONDS);
+ }
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+
+ /**
+ * 鏍规嵁key 鑾峰彇杩囨湡鏃堕棿
+ *
+ * @param key 閿� 涓嶈兘涓簄ull
+ * @return 鏃堕棿(绉�) 杩斿洖0浠h〃涓烘案涔呮湁鏁�
+ */
+ public long getExpire(String key) {
+ return redisTemplate.getExpire(key, TimeUnit.SECONDS);
+ }
+
+ /**
+ * 鍒ゆ柇key鏄惁瀛樺湪
+ *
+ * @param key 閿�
+ * @return true 瀛樺湪 false涓嶅瓨鍦�
+ */
+ public boolean hasKey(String key) {
+ try {
+ return redisTemplate.hasKey(key);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+
+ /**
+ * 鍒犻櫎缂撳瓨
+ *
+ * @param key 鍙互浼犱竴涓�� 鎴栧涓�
+ */
+ @SuppressWarnings("unchecked")
+ public void del(String... key) {
+ if (key != null && key.length > 0) {
+ if (key.length == 1) {
+ redisTemplate.delete(key[0]);
+ } else {
+ redisTemplate.delete(CollectionUtils.arrayToList(key));
+ }
+ }
+ }
+
+ //============================ String =============================
+
+ /**
+ * 鏅�氱紦瀛樿幏鍙�
+ *
+ * @param key 閿�
+ * @return 鍊�
+ */
+ public Object get(String key) {
+ return key == null ? null : redisTemplate.opsForValue().get(key);
+ }
+
+ /**
+ * 鑾峰彇鍏ㄩ儴鏁版嵁
+ * @return
+ */
+ public HashMap<Object, Object> getRedis() {
+ Set<String> keys = redisTemplate.keys("*");
+ HashMap<Object, Object> map = new HashMap<>();
+ for (String key : keys) {
+ Object value = redisTemplate.opsForValue().get(key);
+ map.put(key, value);
+ }
+
+ return map;//杩斿洖鍏ㄩ儴鏁版嵁闆嗗悎
+ }
+
+ /**
+ * 妯$硦鏌ヨ鏁版嵁
+ */
+ public HashMap<Object, Object> searchRedis(String data) {
+ Set<String> keys = redisTemplate.keys("*" + data + "*");
+ HashMap<Object, Object> map = new HashMap<>();
+ for (String key : keys) {
+ Object value = redisTemplate.opsForValue().get(key);
+ map.put(key, value);
+ }
+ return map;
+ }
+
+ /**
+ * 妯$硦鏌ヨ鏁版嵁
+ */
+ public Set<String> searchRedisKeys(String data) {
+ Set<String> keys = redisTemplate.keys("*" + data + "*");
+ return keys;
+ }
+
+ /**
+ * 鏅�氱紦瀛樻斁鍏�
+ *
+ * @param key 閿�
+ * @param value 鍊�
+ * @return true鎴愬姛 false澶辫触
+ */
+ public boolean set(String key, Object value) {
+ try {
+ redisTemplate.opsForValue().set(key, value);
+ long start = System.currentTimeMillis();
+ while (System.currentTimeMillis() - start < 10000) {//鏈夋晥鏈�10s
+ Object o = redisTemplate.opsForValue().get(key);
+ if (o == null) {
+ continue;
+ }
+
+ if (o.equals(value)) {
+ break;
+ }
+ }
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+
+ /**
+ * 鏅�氱紦瀛樻斁鍏�-寮傛
+ *
+ * @param key 閿�
+ * @param value 鍊�
+ * @return true鎴愬姛 false澶辫触
+ */
+ public boolean setAsync(String key, Object value) {
+ try {
+ redisTemplate.opsForValue().set(key, value);
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+
+ /**
+ * 鏅�氱紦瀛樻斁鍏ュ苟璁剧疆鏃堕棿
+ *
+ * @param key 閿�
+ * @param value 鍊�
+ * @param time 鏃堕棿(绉�) time瑕佸ぇ浜�0 濡傛灉time灏忎簬绛変簬0 灏嗚缃棤闄愭湡
+ * @return true鎴愬姛 false 澶辫触
+ */
+ public boolean set(String key, Object value, long time) {
+ try {
+ if (time > 0) {
+ redisTemplate.opsForValue().set(key, value, time, TimeUnit.SECONDS);
+ } else {
+ set(key, value);
+ }
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+
+ /**
+ * 閫掑
+ *
+ * @param key 閿�
+ * @param delta 瑕佸鍔犲嚑(澶т簬0)
+ * @return
+ */
+ public long incr(String key, long delta) {
+ if (delta < 0) {
+ throw new RuntimeException("閫掑鍥犲瓙蹇呴』澶т簬0");
+ }
+ return redisTemplate.opsForValue().increment(key, delta);
+ }
+
+ /**
+ * 閫掑噺
+ *
+ * @param key 閿�
+ * @param delta 瑕佸噺灏戝嚑(灏忎簬0)
+ * @return
+ */
+ public long decr(String key, long delta) {
+ if (delta < 0) {
+ throw new RuntimeException("閫掑噺鍥犲瓙蹇呴』澶т簬0");
+ }
+ return redisTemplate.opsForValue().increment(key, -delta);
+ }
+
+ //================================ Hash =================================
+
+ /**
+ * HashGet
+ *
+ * @param key 閿� 涓嶈兘涓簄ull
+ * @param item 椤� 涓嶈兘涓簄ull
+ * @return 鍊�
+ */
+ public Object hget(String key, String item) {
+ return redisTemplate.opsForHash().get(key, item);
+ }
+
+ /**
+ * 鑾峰彇hashKey瀵瑰簲鐨勬墍鏈夐敭鍊�
+ *
+ * @param key 閿�
+ * @return 瀵瑰簲鐨勫涓敭鍊�
+ */
+ public Map<Object, Object> hmget(String key) {
+ return redisTemplate.opsForHash().entries(key);
+ }
+
+ /**
+ * HashSet
+ *
+ * @param key 閿�
+ * @param map 瀵瑰簲澶氫釜閿��
+ * @return true 鎴愬姛 false 澶辫触
+ */
+ public boolean hmset(String key, Map<String, Object> map) {
+ try {
+ redisTemplate.opsForHash().putAll(key, map);
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+
+ /**
+ * HashSet 骞惰缃椂闂�
+ *
+ * @param key 閿�
+ * @param map 瀵瑰簲澶氫釜閿��
+ * @param time 鏃堕棿(绉�)
+ * @return true鎴愬姛 false澶辫触
+ */
+ public boolean hmset(String key, Map<String, Object> map, long time) {
+ try {
+ redisTemplate.opsForHash().putAll(key, map);
+ if (time > 0) {
+ expire(key, time);
+ }
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+
+ /**
+ * 鍚戜竴寮爃ash琛ㄤ腑鏀惧叆鏁版嵁,濡傛灉涓嶅瓨鍦ㄥ皢鍒涘缓
+ *
+ * @param key 閿�
+ * @param item 椤�
+ * @param value 鍊�
+ * @return true 鎴愬姛 false澶辫触
+ */
+ public boolean hset(String key, String item, Object value) {
+ try {
+ redisTemplate.opsForHash().put(key, item, value);
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+
+ /**
+ * 鍚戜竴寮爃ash琛ㄤ腑鏀惧叆鏁版嵁,濡傛灉涓嶅瓨鍦ㄥ皢鍒涘缓
+ *
+ * @param key 閿�
+ * @param item 椤�
+ * @param value 鍊�
+ * @param time 鏃堕棿(绉�) 娉ㄦ剰:濡傛灉宸插瓨鍦ㄧ殑hash琛ㄦ湁鏃堕棿,杩欓噷灏嗕細鏇挎崲鍘熸湁鐨勬椂闂�
+ * @return true 鎴愬姛 false澶辫触
+ */
+ public boolean hset(String key, String item, Object value, long time) {
+ try {
+ redisTemplate.opsForHash().put(key, item, value);
+ if (time > 0) {
+ expire(key, time);
+ }
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+
+ /**
+ * 鍒犻櫎hash琛ㄤ腑鐨勫��
+ *
+ * @param key 閿� 涓嶈兘涓簄ull
+ * @param item 椤� 鍙互浣垮涓� 涓嶈兘涓簄ull
+ */
+ public void hdel(String key, Object... item) {
+ redisTemplate.opsForHash().delete(key, item);
+ }
+
+ /**
+ * 鍒ゆ柇hash琛ㄤ腑鏄惁鏈夎椤圭殑鍊�
+ *
+ * @param key 閿� 涓嶈兘涓簄ull
+ * @param item 椤� 涓嶈兘涓簄ull
+ * @return true 瀛樺湪 false涓嶅瓨鍦�
+ */
+ public boolean hHasKey(String key, String item) {
+ return redisTemplate.opsForHash().hasKey(key, item);
+ }
+
+ /**
+ * hash閫掑 濡傛灉涓嶅瓨鍦�,灏变細鍒涘缓涓�涓� 骞舵妸鏂板鍚庣殑鍊艰繑鍥�
+ *
+ * @param key 閿�
+ * @param item 椤�
+ * @param by 瑕佸鍔犲嚑(澶т簬0)
+ * @return
+ */
+ public double hincr(String key, String item, double by) {
+ return redisTemplate.opsForHash().increment(key, item, by);
+ }
+
+ /**
+ * hash閫掑噺
+ *
+ * @param key 閿�
+ * @param item 椤�
+ * @param by 瑕佸噺灏戣(灏忎簬0)
+ * @return
+ */
+ public double hdecr(String key, String item, double by) {
+ return redisTemplate.opsForHash().increment(key, item, -by);
+ }
+
+ //============================ set =============================
+
+ /**
+ * 鏍规嵁key鑾峰彇Set涓殑鎵�鏈夊��
+ *
+ * @param key 閿�
+ * @return
+ */
+ public Set<Object> sGet(String key) {
+ try {
+ return redisTemplate.opsForSet().members(key);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return null;
+ }
+ }
+
+ /**
+ * 鏍规嵁value浠庝竴涓猻et涓煡璇�,鏄惁瀛樺湪
+ *
+ * @param key 閿�
+ * @param value 鍊�
+ * @return true 瀛樺湪 false涓嶅瓨鍦�
+ */
+ public boolean sHasKey(String key, Object value) {
+ try {
+ return redisTemplate.opsForSet().isMember(key, value);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+
+ /**
+ * 灏嗘暟鎹斁鍏et缂撳瓨
+ *
+ * @param key 閿�
+ * @param values 鍊� 鍙互鏄涓�
+ * @return 鎴愬姛涓暟
+ */
+ public long sSet(String key, Object... values) {
+ try {
+ return redisTemplate.opsForSet().add(key, values);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return 0;
+ }
+ }
+
+ /**
+ * 灏唖et鏁版嵁鏀惧叆缂撳瓨
+ *
+ * @param key 閿�
+ * @param time 鏃堕棿(绉�)
+ * @param values 鍊� 鍙互鏄涓�
+ * @return 鎴愬姛涓暟
+ */
+ public long sSetAndTime(String key, long time, Object... values) {
+ try {
+ Long count = redisTemplate.opsForSet().add(key, values);
+ if (time > 0) {
+ expire(key, time);
+ }
+ return count;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return 0;
+ }
+ }
+
+ /**
+ * 鑾峰彇set缂撳瓨鐨勯暱搴�
+ *
+ * @param key 閿�
+ * @return
+ */
+ public long sGetSetSize(String key) {
+ try {
+ return redisTemplate.opsForSet().size(key);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return 0;
+ }
+ }
+
+ /**
+ * 绉婚櫎鍊间负value鐨�
+ *
+ * @param key 閿�
+ * @param values 鍊� 鍙互鏄涓�
+ * @return 绉婚櫎鐨勪釜鏁�
+ */
+ public long setRemove(String key, Object... values) {
+ try {
+ Long count = redisTemplate.opsForSet().remove(key, values);
+ return count;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return 0;
+ }
+ }
+ //===============================list=================================
+
+ /**
+ * 鑾峰彇list缂撳瓨鐨勫唴瀹�
+ *
+ * @param key 閿�
+ * @param start 寮�濮�
+ * @param end 缁撴潫 0 鍒� -1浠h〃鎵�鏈夊��
+ * @return
+ */
+ public List<Object> lGet(String key, long start, long end) {
+ try {
+ return redisTemplate.opsForList().range(key, start, end);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return null;
+ }
+ }
+
+ /**
+ * 鑾峰彇list缂撳瓨鐨勯暱搴�
+ *
+ * @param key 閿�
+ * @return
+ */
+ public long lGetListSize(String key) {
+ try {
+ return redisTemplate.opsForList().size(key);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return 0;
+ }
+ }
+
+ /**
+ * 閫氳繃绱㈠紩 鑾峰彇list涓殑鍊�
+ *
+ * @param key 閿�
+ * @param index 绱㈠紩 index>=0鏃讹紝 0 琛ㄥご锛�1 绗簩涓厓绱狅紝渚濇绫绘帹锛沬ndex<0鏃讹紝-1锛岃〃灏撅紝-2鍊掓暟绗簩涓厓绱狅紝渚濇绫绘帹
+ * @return
+ */
+ public Object lGetIndex(String key, long index) {
+ try {
+ return redisTemplate.opsForList().index(key, index);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return null;
+ }
+ }
+
+ /**
+ * 灏唋ist鏀惧叆缂撳瓨
+ *
+ * @param key 閿�
+ * @param value 鍊�
+ * @return
+ */
+ public boolean lSet(String key, Object value) {
+ try {
+ redisTemplate.opsForList().rightPush(key, value);
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+
+ /**
+ * 灏唋ist鏀惧叆缂撳瓨
+ *
+ * @param key 閿�
+ * @param value 鍊�
+ * @param time 鏃堕棿(绉�)
+ * @return
+ */
+ public boolean lSet(String key, Object value, long time) {
+ try {
+ redisTemplate.opsForList().rightPush(key, value);
+ if (time > 0) {
+ expire(key, time);
+ }
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+
+ /**
+ * 灏唋ist鏀惧叆缂撳瓨
+ *
+ * @param key 閿�
+ * @param value 鍊�
+ * @return
+ */
+ public boolean lSet(String key, List<Object> value) {
+ try {
+ redisTemplate.opsForList().rightPushAll(key, value);
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+
+ /**
+ * 灏唋ist鏀惧叆缂撳瓨
+ *
+ * @param key 閿�
+ * @param value 鍊�
+ * @param time 鏃堕棿(绉�)
+ * @return
+ */
+ public boolean lSet(String key, List<Object> value, long time) {
+ try {
+ redisTemplate.opsForList().rightPushAll(key, value);
+ if (time > 0) {
+ expire(key, time);
+ }
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+
+ /**
+ * 鏍规嵁绱㈠紩淇敼list涓殑鏌愭潯鏁版嵁
+ *
+ * @param key 閿�
+ * @param index 绱㈠紩
+ * @param value 鍊�
+ * @return
+ */
+ public boolean lUpdateIndex(String key, long index, Object value) {
+ try {
+ redisTemplate.opsForList().set(key, index, value);
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+
+ /**
+ * 绉婚櫎N涓�间负value
+ *
+ * @param key 閿�
+ * @param count 绉婚櫎澶氬皯涓�
+ * @param value 鍊�
+ * @return 绉婚櫎鐨勪釜鏁�
+ */
+ public long lRemove(String key, long count, Object value) {
+ try {
+ Long remove = redisTemplate.opsForList().remove(key, count, value);
+ return remove;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return 0;
+ }
+ }
+
+ /**
+ * 妯$硦鏌ヨ鑾峰彇key鍊�
+ *
+ * @param pattern
+ * @return
+ */
+ public Set keys(String pattern) {
+ return redisTemplate.keys(pattern);
+ }
+
+ /**
+ * 浣跨敤Redis鐨勬秷鎭槦鍒�
+ *
+ * @param channel
+ * @param message 娑堟伅鍐呭
+ */
+ public void convertAndSend(String channel, Object message) {
+ redisTemplate.convertAndSend(channel, message);
+ }
+
+
+}
+
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/Utils.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/Utils.java
index 5d947dd..c94a23f 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/Utils.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/Utils.java
@@ -353,7 +353,7 @@
sb.append(c);
}
- return sb.toString();
+ return "`" + sb.toString() + "`";
}
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/WebkitParseUtils.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/WebkitParseUtils.java
new file mode 100644
index 0000000..2ea5a33
--- /dev/null
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/utils/WebkitParseUtils.java
@@ -0,0 +1,96 @@
+package com.zy.asrs.wms.utils;
+
+import com.alibaba.fastjson.JSON;
+
+import java.util.HashMap;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class WebkitParseUtils {
+
+ private static final Pattern BOUNDARY_PATTERN = Pattern.compile("--WebKitFormBoundary([A-Za-z0-9+/]+)");
+ private static final Pattern NAME_PATTERN = Pattern.compile("Content-Disposition: form-data; name=\"([^\"]+)\"");
+ private static final Pattern VALUE_PATTERN = Pattern.compile("Content-Disposition: form-data; name=\"[^\"]+\"\\s*\\n\\s*\\n\\s*([^\\n]+)");
+
+ // 瑙f瀽WebKitFormBoundary瀛楃涓叉暟鎹�
+ public static String parseBoundary(String input) {
+ Matcher matcher = BOUNDARY_PATTERN.matcher(input);
+ if (matcher.find()) {
+ return matcher.group(1); // 杩斿洖鎹曡幏鐨勫瓧绗︿覆
+ }
+ return null; // 濡傛灉娌℃湁鍖归厤锛屽垯杩斿洖null
+ }
+
+ // 瑙f瀽鎵�鏈塶ame鐨勫��
+ public static List<String> parseNames(String input) {
+ List<String> names = new ArrayList<>();
+ Matcher matcher = NAME_PATTERN.matcher(input);
+ while (matcher.find()) {
+ names.add(matcher.group(1)); // 娣诲姞鎹曡幏鍒扮殑name鍊煎埌鍒楄〃
+ }
+ return names; // 杩斿洖鎵�鏈夊尮閰嶅埌鐨刵ame鍊�
+ }
+
+ // 瑙f瀽鎵�鏈夊�奸儴鍒�
+ public static List<String> parseValues(String input) {
+ List<String> values = new ArrayList<>();
+ Matcher matcher = VALUE_PATTERN.matcher(input);
+ while (matcher.find()) {
+ String trim = matcher.group(1).trim();
+ Matcher matcher2 = BOUNDARY_PATTERN.matcher(trim);
+ if(matcher2.find()) {
+ trim = "";
+ }
+ values.add(trim); // 娣诲姞鎹曡幏鍒扮殑鍊煎埌鍒楄〃锛屽苟鍘绘帀鍓嶅悗鐨勭┖鐧�
+ }
+ return values; // 杩斿洖鎵�鏈夊尮閰嶅埌鐨勫��
+ }
+
+ public static HashMap<String, Object> getFormData(String input) {
+// // 瑙f瀽WebKitFormBoundary瀛楃涓�
+// String boundary = parseBoundary(input);
+// System.out.println("瑙f瀽鍑虹殑WebKitFormBoundary瀛楃涓叉槸: " + boundary);
+
+ // 瑙f瀽鎵�鏈塶ame鐨勫��
+ List<String> nameValues = parseNames(input);
+// System.out.println("瑙f瀽鍑虹殑鎵�鏈塶ame鍊兼槸: " + nameValues);
+
+ // 瑙f瀽鎵�鏈夊��
+ List<String> values = parseValues(input);
+// System.out.println("瑙f瀽鍑虹殑鎵�鏈夊�兼槸: " + values);
+
+ HashMap<String, Object> map = new HashMap<>();
+ for (int i = 0; i < nameValues.size(); i++) {
+ String key = nameValues.get(i);
+ // 纭繚鍗充娇鍊间负绌轰篃鑳芥甯稿瓨鍏ap
+ String value = i < values.size() ? values.get(i) : "";
+ map.put(key, value);
+ }
+
+// System.out.println(JSON.toJSONString(map));
+ return map;
+ }
+
+ public static void main(String[] args) {
+ String input = "------WebKitFormBoundarySOfEJLg0rR0hf3mm\n" +
+ "Content-Disposition: form-data; name=\"locNo\"\n" +
+ "\n" +
+ "1\n" +
+ "------WebKitFormBoundarySOfEJLg0rR0hf3mm\n" +
+ "Content-Disposition: form-data; name=\"test\"\n" +
+ "\n" +
+ "123\n" +
+ "------WebKitFormBoundarySOfEJLg0rR0hf3mm\n" +
+ "Content-Disposition: form-data; name=\"quer\"\n" +
+ "\n" +
+ "111\n" +
+ "------WebKitFormBoundarySOfEJLg0rR0hf3mm--";
+
+ getFormData(input);
+
+ }
+
+}
diff --git a/zy-asrs-wms/src/main/resources/application.yml b/zy-asrs-wms/src/main/resources/application.yml
index ac88949..2961220 100644
--- a/zy-asrs-wms/src/main/resources/application.yml
+++ b/zy-asrs-wms/src/main/resources/application.yml
@@ -26,6 +26,11 @@
multipart:
maxFileSize: 100MB
maxRequestSize: 100MB
+ redis:
+ host: 127.0.0.1
+ port: 6379
+ database: 6
+ # password: 123456
mybatis-plus:
mapper-locations: classpath:mapper/*/*.xml
@@ -58,4 +63,8 @@
publicAlias: publicCert
storePass: public_zhongyang_123456789
licensePath: license.lic
- publicKeysStorePath: publicCerts.keystore
\ No newline at end of file
+ publicKeysStorePath: publicCerts.keystore
+
+#鎺ュ彛缂撳瓨
+system:
+ enableCache: true
\ No newline at end of file
diff --git a/zy-asrs-wms/src/main/resources/mapper/asrs/CacheStatisticsMapper.xml b/zy-asrs-wms/src/main/resources/mapper/asrs/CacheStatisticsMapper.xml
new file mode 100644
index 0000000..8ff556b
--- /dev/null
+++ b/zy-asrs-wms/src/main/resources/mapper/asrs/CacheStatisticsMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zy.asrs.wms.asrs.mapper.CacheStatisticsMapper">
+
+</mapper>
diff --git a/zy-asrs-wms/src/main/resources/sql/menu/cacheStatistics.sql b/zy-asrs-wms/src/main/resources/sql/menu/cacheStatistics.sql
new file mode 100644
index 0000000..78b8ff0
--- /dev/null
+++ b/zy-asrs-wms/src/main/resources/sql/menu/cacheStatistics.sql
@@ -0,0 +1,9 @@
+-- save cacheStatistics record
+-- mysql
+insert into `sys_menu` ( `name`, `parent_id`, `route`, `component`, `type`, `sort`, `host_id`, `status`) values ( '绯荤粺缂撳瓨缁熻绠$悊', '0', '/asrs/cacheStatistics', '/asrs/cacheStatistics', '0' , '0', '1' , '1');
+
+insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `host_id`, `status`) values ( '鏌ヨ绯荤粺缂撳瓨缁熻', '', '1', 'asrs:cacheStatistics:list', '0', '1', '1');
+insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `host_id`, `status`) values ( '娣诲姞绯荤粺缂撳瓨缁熻', '', '1', 'asrs:cacheStatistics:save', '1', '1', '1');
+insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `host_id`, `status`) values ( '淇敼绯荤粺缂撳瓨缁熻', '', '1', 'asrs:cacheStatistics:update', '2', '1', '1');
+insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `host_id`, `status`) values ( '鍒犻櫎绯荤粺缂撳瓨缁熻', '', '1', 'asrs:cacheStatistics:remove', '3', '1', '1');
+
--
Gitblit v1.9.1