From c465eb19e7b794c284bf8428ee5fb7e06f4f93e0 Mon Sep 17 00:00:00 2001 From: Wang Chen Chen <932560435@qq.com> Date: Mon, 5 Aug 2024 11:22:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=EF=BC=8C=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- platform-web-ui/src/utils/service.ts | 2 +- server/REST API/认证授权API.http | 6 ++-- server/REST API/设备管理API.http | 2 +- .../com/xaaef/molly/common/po/PagePO.java | 14 ++++++++++ .../service/impl/JwtTokenServiceImpl.java | 2 +- .../base/service/impl/BaseServiceImpl.java | 16 +++++++++++ tenant-web-ui/src/utils/service.ts | 28 +++++++++---------- 7 files changed, 50 insertions(+), 20 deletions(-) diff --git a/platform-web-ui/src/utils/service.ts b/platform-web-ui/src/utils/service.ts index 24c723d..97730c0 100644 --- a/platform-web-ui/src/utils/service.ts +++ b/platform-web-ui/src/utils/service.ts @@ -45,7 +45,7 @@ function createService() { case 400010: case 400011: case 400012: - logout(apiData.message, "登录过期") + logout("登录过期", apiData.message) return Promise.reject(new Error(apiData.message)) case 400444: case 400445: diff --git a/server/REST API/认证授权API.http b/server/REST API/认证授权API.http index 53b1e3c..8ec8f4c 100644 --- a/server/REST API/认证授权API.http +++ b/server/REST API/认证授权API.http @@ -13,10 +13,10 @@ x-tenant-id: {{tenantId}} User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0) Gecko/20100101 Firefox/86.0 { - "username": "eRiiBycWxMc8F0f3RIaaSuwVW+WsgDZcYUe+xqQEJklBjIzhRVhzjlRYDjyV6si93PN8fzgqt0olvbfUOnxtHauWGNoFQndqm5Ak71eau6IIKe0Z7VeV7IntNjO18JpogmkNrjAeAIXkCWNW09gmWeBkK2oAnaVSdK0E+tdPLnJNWmioXuApPVdF6yOWXDqF/UmNtBUz/Ytm/Mg76QRUvnudb6fVrfzJ2Fd6NBN4u07pr53VrZO9mb+a9dewURVWni4p++FrQoWcM6Kc6swfGgFWGQ7+oBOgs5nURsNwpGX3A1uwcaPRUS9ILzwOyxjAfNNxIl1XkFfNnSHpBQ54Ag==", - "password": "eRiiBycWxMc8F0f3RIaaSuwVW+WsgDZcYUe+xqQEJklBjIzhRVhzjlRYDjyV6si93PN8fzgqt0olvbfUOnxtHauWGNoFQndqm5Ak71eau6IIKe0Z7VeV7IntNjO18JpogmkNrjAeAIXkCWNW09gmWeBkK2oAnaVSdK0E+tdPLnJNWmioXuApPVdF6yOWXDqF/UmNtBUz/Ytm/Mg76QRUvnudb6fVrfzJ2Fd6NBN4u07pr53VrZO9mb+a9dewURVWni4p++FrQoWcM6Kc6swfGgFWGQ7+oBOgs5nURsNwpGX3A1uwcaPRUS9ILzwOyxjAfNNxIl1XkFfNnSHpBQ54Ag==", + "password": "bbBZpMGRm6Mflw8qaVD7AdRNWoaFbtJ21Tf4Ra4t5dK3eRo2VSPl+Z4QH3d5vy3rWdQTuiP1da5ERTbXoz2ZyAifq4w6GsJC0jZZav3e8KZunezWC8GQJmmTMbgTwV+XvEdafa3Asb9Q9lcRRCoJ1/trzHDMq9MUiEF/0bT32ULp9Lmz/CjilsZuj1tETLXEFxV3W3H7QgGiK8qRqehfqfGAQf/hLOij0954Wa2G9FLhKBdAtvxUzxu4RCRlzTVYoEEUOiWBqgp5/3YSR/XAnI0GW/xzQg2uQj1xs6I9lvB1tk3IfczLPqeqmc3nQaP8dylv1hUAFOaKe7fCtNqurQ==", + "username": "pMHtPBxc54hHAiM5WJW2R4hXNQc4wzz9ELuuKPQKGkEpy8ntNTazGq3LyMka9X6rBvAD59imR0CJMWwXs0tATv6TEMzYgjo/cpk8ZjF0vuiROisRYkfnAwteVEkeH0QitmVw6ker1rtlf8QhDxLb/qHhEqO5BdV02x8Mbr2329AHIRx6Hse48HTp3kEXvhc1GvFcE31Wfbh65qwpc2uos8Wp88YuKdNpthYipOShhDwPAx/cwsN2+Y76atIoD03ZaaOlAm/UxfmHYDbCj6sch07ngYAKm0JOfcXECzAkoFkCLUZZGSyhZy3PsP7riCkQ0GHNHgbGdCtMnTc4ajA19A==", "codeKey": "5jXzuwcoUzbtnHNh", - "codeText": "55g9" + "codeText": "fpvn" } > {% diff --git a/server/REST API/设备管理API.http b/server/REST API/设备管理API.http index 1d49a4b..926a577 100644 --- a/server/REST API/设备管理API.http +++ b/server/REST API/设备管理API.http @@ -7,7 +7,7 @@ Authorization: Bearer {{tokenValue}} ### 分页查询设备 -GET {{baseUrl}}/cms/device/query?includeCauu=true +GET {{baseUrl}}/cms/device/query?includeCauu=false&orderByColumns=createUser,lastUpdateTime,deviceId Content-Type: application/json x-tenant-id: {{tenantId}} x-project-id: {{projectId}} diff --git a/server/common/src/main/java/com/xaaef/molly/common/po/PagePO.java b/server/common/src/main/java/com/xaaef/molly/common/po/PagePO.java index 6a485b4..b57eaa6 100644 --- a/server/common/src/main/java/com/xaaef/molly/common/po/PagePO.java +++ b/server/common/src/main/java/com/xaaef/molly/common/po/PagePO.java @@ -6,6 +6,8 @@ import lombok.Setter; import lombok.ToString; import java.time.LocalDate; +import java.util.List; +import java.util.Set; import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.REQUIRED; @@ -53,4 +55,16 @@ public class PagePO implements java.io.Serializable { @Schema(description = "结束日期") private LocalDate endDate; + /** + * 排序的方向 "desc" 或者 "asc". + */ + @Schema(description = "排序的方向, true: 顺序、false: 倒序") + private boolean asc; + + /** + * 排序的字段,如: createUser,lastUpdateTime + */ + @Schema(description = "排序的字段,如: createUser,lastUpdateTime") + private Set orderByColumns; + } diff --git a/server/plugins/auth-jwt/src/main/java/com/xaaef/molly/auth/service/impl/JwtTokenServiceImpl.java b/server/plugins/auth-jwt/src/main/java/com/xaaef/molly/auth/service/impl/JwtTokenServiceImpl.java index a82dc5c..aec493d 100644 --- a/server/plugins/auth-jwt/src/main/java/com/xaaef/molly/auth/service/impl/JwtTokenServiceImpl.java +++ b/server/plugins/auth-jwt/src/main/java/com/xaaef/molly/auth/service/impl/JwtTokenServiceImpl.java @@ -162,7 +162,7 @@ public class JwtTokenServiceImpl implements JwtTokenService { // 删除 被挤下线 的消息提示 removeLoginUser(forcedOfflineKey); var errMsg = String.format("您的账号在[ %s ]被其他用户拥下线了!", offlineTime); - log.info("errMsg {}", errMsg); + log.warn("errMsg {}", errMsg); throw new JwtAuthException(errMsg); } } diff --git a/server/plugins/mbp-tenant/src/main/java/com/xaaef/molly/tenant/base/service/impl/BaseServiceImpl.java b/server/plugins/mbp-tenant/src/main/java/com/xaaef/molly/tenant/base/service/impl/BaseServiceImpl.java index 605f51a..3504328 100644 --- a/server/plugins/mbp-tenant/src/main/java/com/xaaef/molly/tenant/base/service/impl/BaseServiceImpl.java +++ b/server/plugins/mbp-tenant/src/main/java/com/xaaef/molly/tenant/base/service/impl/BaseServiceImpl.java @@ -1,5 +1,6 @@ package com.xaaef.molly.tenant.base.service.impl; +import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -19,9 +20,11 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.context.annotation.Lazy; import java.time.LocalDate; +import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; import static com.xaaef.molly.common.consts.MbpConst.CREATE_TIME; @@ -121,6 +124,19 @@ public class BaseServiceImpl, T extends BaseEntity> exte wrapper.between(String.format("DATE(%s)", CREATE_TIME), params.getStartDate(), LocalDate.now()); } } + // 排序 + if (CollectionUtil.isNotEmpty(params.getOrderByColumns())) { + var orderByColumns = params.getOrderByColumns() + .stream() + .map(column -> column.replaceAll("([A-Z])", "_$1").toLowerCase()) + .collect(Collectors.toList()); + if (params.isAsc()) { + wrapper.orderByAsc(orderByColumns); + } else { + wrapper.orderByDesc(orderByColumns); + } + } + // 搜索 if (StringUtils.isNotBlank(params.getKeywords()) && columns != null && !columns.isEmpty()) { wrapper.and(childWrapper -> { var index = 0; diff --git a/tenant-web-ui/src/utils/service.ts b/tenant-web-ui/src/utils/service.ts index 3c426f4..24055a8 100644 --- a/tenant-web-ui/src/utils/service.ts +++ b/tenant-web-ui/src/utils/service.ts @@ -1,11 +1,11 @@ -import axios, { AxiosResponse, type AxiosInstance, type AxiosRequestConfig } from "axios" -import { useUserStoreHook } from "@/store/modules/user" -import { ElMessage, ElMessageBox } from "element-plus" -import { get, merge } from "lodash-es" -import { getToken } from "./cache/local-storage" -import { useProjectStoreHook } from "@/store/modules/project" -import { getEnvBaseURLPrefix } from "." -import { ISimpleProject } from "@/types/base" +import axios, {AxiosResponse, type AxiosInstance, type AxiosRequestConfig} from "axios" +import {useUserStoreHook} from "@/store/modules/user" +import {ElMessage, ElMessageBox} from "element-plus" +import {get, merge} from "lodash-es" +import {getToken} from "./cache/local-storage" +import {useProjectStoreHook} from "@/store/modules/project" +import {getEnvBaseURLPrefix} from "." +import {ISimpleProject} from "@/types/base" /** 创建请求实例 */ function createService() { @@ -41,7 +41,7 @@ function createService() { case 400010: case 400011: case 400012: - logout(apiData.message, "登录过期") + logout("登录过期", apiData.message) return Promise.reject(new Error(apiData.message)) case 400444: ElMessage.error(apiData.message) @@ -180,22 +180,22 @@ function httpRequest(config: AxiosRequestConfig): Promise { /** 单独抽离的get工具函数 */ function httpGet(url: string, params?: T): Promise

{ - return httpRequest

({ method: "get", url, params }) + return httpRequest

({method: "get", url, params}) } /** 单独抽离的post工具函数 */ function httpPost(url: string, data?: T): Promise

{ - return httpRequest

({ method: "post", url, data }) + return httpRequest

({method: "post", url, data}) } /** 单独抽离的put工具函数 */ function httpPut(url: string, data?: T): Promise

{ - return httpRequest

({ method: "put", url, data }) + return httpRequest

({method: "put", url, data}) } /** 单独抽离的delete工具函数 */ function httpDelete(url: string, params?: T): Promise

{ - return httpRequest

({ method: "delete", url, params }) + return httpRequest

({method: "delete", url, params}) } -export { httpRequest, httpGet, httpPost, httpPut, httpDelete, axiosRequest } +export {httpRequest, httpGet, httpPost, httpPut, httpDelete, axiosRequest}