Selaa lähdekoodia

站点白名单

skyline 2 kuukautta sitten
vanhempi
säilyke
881d01d780

+ 2 - 1
.gitignore

@@ -32,4 +32,5 @@ build/
 ### VS Code ###
 .vscode/
 file_storage/
-logs/
+*.class
+admin/src/main/resources/static/assets/

+ 2 - 18
admin-web/src/views/admin/whitelist/index.vue

@@ -125,9 +125,6 @@
             </template>
             <template v-else-if="'action' === field.prop">
               <el-button v-auth="'station.whitelist.modify'" size="small" plain type="warning" @click="onRowClick('edit', row)">编辑</el-button>
-              <el-button v-auth="'station.whitelist.modify'" size="small" plain :type="row.status === 1 ? 'info' : 'success'" @click="onToggleStatus(row)">
-                {{ row.status === 1 ? '禁用' : '启用' }}
-              </el-button>
               <el-button v-auth="'station.whitelist.delete'" size="small" plain type="danger" @click="onRowDel(row)">移除</el-button>
             </template>
             <template v-else>
@@ -146,7 +143,7 @@
 
 <script setup lang="ts" name="StationWhitelistList">
 import {defineAsyncComponent, reactive, onMounted, onBeforeMount, ref, nextTick, onBeforeUnmount} from 'vue';
-import {$body, $get, $delete, $put} from "/@/utils/request";
+import {$body, $get, $delete} from "/@/utils/request";
 import {Msg} from "/@/utils/message";
 import ExtPage from '/@/components/form/ExtPage.vue'
 import mittBus from '/@/utils/mitt';
@@ -185,7 +182,7 @@ const state = reactive({
       {label: '备注', prop: 'remark', minWidth: 200, resizable: true},
       {label: '创建时间', prop: 'createTime', width: 180, resizable: true},
       {
-        label: '操作', prop: 'action', width: 260, align: 'center', fixed: 'right',
+        label: '操作', prop: 'action', width: 160, align: 'center', fixed: 'right',
       }
     ],
   },
@@ -267,19 +264,6 @@ const onRowDel = (row: any) => {
   });
 };
 
-const onToggleStatus = (row: any) => {
-  const newStatus = row.status === 1 ? 0 : 1;
-  const statusText = newStatus === 1 ? '启用' : '禁用';
-  Msg.confirm(`确定要${statusText}用户『${row.userNickname || row.userPhone}』吗?`).then(() => {
-    $put(`/station-whitelist/status/${row.id}?status=${newStatus}`).then(() => {
-      Msg.message(`${statusText}成功`, 'success');
-      loadData(true);
-    }).catch(() => {
-      Msg.message(`${statusText}失败`, 'error');
-    })
-  });
-};
-
 const handleTableSelectionChange = (selection: any) => {
   state.selectedIds = selection.map((item: any) => item.id);
 }

+ 33 - 0
common/src/main/java/com/kym/common/config/JacksonConfig.java

@@ -10,6 +10,8 @@ import org.springframework.context.annotation.Configuration;
 import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
 
 import java.io.IOException;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.List;
 import java.util.Set;
 
@@ -85,6 +87,19 @@ public class JacksonConfig {
         }
     }
 
+    public class JsonLocalDateTimeSerializer extends JsonSerializer<LocalDateTime> {
+        private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        
+        @Override
+        public void serialize(LocalDateTime value, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
+            if (value != null) {
+                jsonGenerator.writeString(value.format(formatter));
+            } else {
+                jsonGenerator.writeNull();
+            }
+        }
+    }
+
 
     public void serialize(Long aLong, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
         jsonGenerator.writeString(Long.toString(aLong));
@@ -106,6 +121,11 @@ public class JacksonConfig {
         private JsonSerializer nullNumberJsonSerializer = new MyNullNumberJsonSerializer();
 
         private JsonSerializer longSerializer = new JsonLongSerializer();
+        
+        /**
+         * LocalDateTime类型
+         */
+        private JsonSerializer localDateTimeSerializer = new JsonLocalDateTimeSerializer();
 
 
         /**
@@ -127,6 +147,8 @@ public class JacksonConfig {
                     if(isLongType(writer)){
                         writer.assignSerializer(this.longSerializer);
                     }
+                } else if (isLocalDateTimeType(writer)) {
+                    writer.assignSerializer(this.localDateTimeSerializer);
                 } else {
                     writer.assignNullSerializer(this.nullJsonSerializer);
                 }
@@ -167,6 +189,17 @@ public class JacksonConfig {
             return clazz.equals(Long.class);
         }
 
+        /**
+         * 判断是LocalDateTime类型
+         *
+         * @param writer
+         * @return
+         */
+        protected boolean isLocalDateTimeType(BeanPropertyWriter writer) {
+            Class clazz = writer.getPropertyType();
+            return clazz.equals(LocalDateTime.class);
+        }
+
 
     }