From 79e47c9ee6b668d0a0c1fa041d4683d86c97a297 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 09 九月 2024 15:53:27 +0800
Subject: [PATCH] #

---
 zy-acs-framework/src/main/java/com/zy/acs/framework/generators/ReactGenerator.java       |    2 
 zy-acs-manager/src/main/java/com/zy/acs/manager/system/service/impl/UserServiceImpl.java |    2 
 zy-acs-manager/src/main/java/com/zy/acs/manager/common/domain/BaseParam.java             |    3 +
 zy-acs-manager/src/main/java/com/zy/acs/manager/system/controller/UserController.java    |   15 ++-----
 zy-acs-flow/src/page/user/UserList.jsx                                                   |    4 +-
 zy-acs-manager/src/main/java/com/zy/acs/manager/common/domain/PageParam.java             |   17 ++++++--
 zy-acs-common/src/main/java/com/zy/acs/common/utils/Utils.java                           |   10 +++++
 zy-acs-manager/src/main/resources/mapper/system/UserMapper.xml                           |   14 ++++++
 8 files changed, 45 insertions(+), 22 deletions(-)

diff --git a/zy-acs-common/src/main/java/com/zy/acs/common/utils/Utils.java b/zy-acs-common/src/main/java/com/zy/acs/common/utils/Utils.java
index b765493..9aeb598 100644
--- a/zy-acs-common/src/main/java/com/zy/acs/common/utils/Utils.java
+++ b/zy-acs-common/src/main/java/com/zy/acs/common/utils/Utils.java
@@ -287,4 +287,14 @@
         return list;
     }
 
+    public static String convertToSnakeCaseForOrderByStr(String input) {
+        String[] parts = input.split("\\s+");
+        String fieldName = parts[0];
+        String order = parts.length > 1 ? parts[1] : "";
+
+        String snakeCaseField = fieldName.replaceAll("([a-z])([A-Z])", "$1_$2").toLowerCase();
+
+        return snakeCaseField + (order.isEmpty() ? "" : " " + order);
+    }
+
 }
diff --git a/zy-acs-flow/src/page/user/UserList.jsx b/zy-acs-flow/src/page/user/UserList.jsx
index be88111..4db3b37 100644
--- a/zy-acs-flow/src/page/user/UserList.jsx
+++ b/zy-acs-flow/src/page/user/UserList.jsx
@@ -150,7 +150,7 @@
                 >
                     <NumberField source="id" />
                     <TextField source="username" label="table.field.user.username" />
-                    <ReferenceField source="deptId" label="table.field.user.deptId" reference="dept" link={false}>
+                    <ReferenceField source="deptId" label="table.field.user.deptId" reference="dept" link={false} sortable={false}>
                         <TextField source="name" />
                     </ReferenceField>
                     <TextField source="nickname" label="table.field.user.nickname" />
@@ -161,7 +161,7 @@
                     <TextField source="realName" label="table.field.user.realName" />
                     <TextField source="idCard" label="table.field.user.idCard" />
                     <TextField source="birthday" label="table.field.user.birthday" />
-                    <RolesField source="roles" label="table.field.user.role" />
+                    <RolesField source="roles" label="table.field.user.role" sortable={false} />
                     <DateField source="updateTime" label="common.field.updateTime" showTime />
                     <DateField source="createTime" label="common.field.createTime" showTime />
                     <BooleanField source="statusBool" label="common.field.status" sortable={false} />
diff --git a/zy-acs-framework/src/main/java/com/zy/acs/framework/generators/ReactGenerator.java b/zy-acs-framework/src/main/java/com/zy/acs/framework/generators/ReactGenerator.java
index b2f6e7b..a01f9aa 100644
--- a/zy-acs-framework/src/main/java/com/zy/acs/framework/generators/ReactGenerator.java
+++ b/zy-acs-framework/src/main/java/com/zy/acs/framework/generators/ReactGenerator.java
@@ -843,7 +843,7 @@
                 case "Long":
                 case "Double":
                     if (!Cools.isEmpty(column.getForeignKeyMajor())) {
-                        sb.append("                    <ReferenceField source=\"").append(column.getHumpName()).append("\" label=\"table.field.").append(simpleEntityName).append(".").append(column.getHumpName()).append("\" reference=\"").append(GeneratorUtils.firstCharConvert(column.getForeignKey())).append("\" link={false}>\n");
+                        sb.append("                    <ReferenceField source=\"").append(column.getHumpName()).append("\" label=\"table.field.").append(simpleEntityName).append(".").append(column.getHumpName()).append("\" reference=\"").append(GeneratorUtils.firstCharConvert(column.getForeignKey())).append("\" link={false} sortable={false}>\n");
                         sb.append("                        <TextField source=\"").append(GeneratorUtils.firstCharConvert(column.getForeignKeyMajor())).append("\" />\n");
                         sb.append("                    </ReferenceField>\n");
                     } else {
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/common/domain/BaseParam.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/common/domain/BaseParam.java
index c56f8a5..360adbf 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/common/domain/BaseParam.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/common/domain/BaseParam.java
@@ -1,6 +1,7 @@
 package com.zy.acs.manager.common.domain;
 
 import com.baomidou.mybatisplus.annotation.TableField;
+import com.zy.acs.common.utils.Utils;
 import lombok.Data;
 
 import java.io.Serializable;
@@ -49,7 +50,7 @@
             map.remove("pageSize");
         }
         if (null != map.get("orderBy")) {
-            this.setOrderBy(String.valueOf(map.get("orderBy")));
+            this.setOrderBy(Utils.convertToSnakeCaseForOrderByStr(String.valueOf(map.get("orderBy"))));
             map.remove("orderBy");
         }
         if (null != map.get("timeStart")) {
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/common/domain/PageParam.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/common/domain/PageParam.java
index b89922b..42a6cc7 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/common/domain/PageParam.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/common/domain/PageParam.java
@@ -184,12 +184,19 @@
         return queryWrapper;
     }
 
-    public Map<String, Object> pickOutMap(boolean mergeCondition) {
+    public Map<String, Object> checkoutMap() {
         Map<String, Object> map = where.getMap();
-        if (mergeCondition) {
-            if (!Cools.isEmpty(where.getCondition())) {
-                map.put("condition", where.getCondition());
-            }
+        if (!Cools.isEmpty(where.getOrderBy())) {
+            map.put("orderBy", where.getOrderBy());
+        }
+        if (!Cools.isEmpty(where.getTimeStart())) {
+            map.put("timeStart", DateUtils.convert(String.valueOf(where.getTimeStart()), DateUtils.yyyyMMdd_F));
+        }
+        if (!Cools.isEmpty(where.getTimeEnd())) {
+            map.put("timeEnd", DateUtils.convert(String.valueOf(where.getTimeEnd()), DateUtils.yyyyMMdd_F));
+        }
+        if (!Cools.isEmpty(where.getCondition())) {
+            map.put("condition", where.getCondition());
         }
         return map;
     }
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/system/controller/UserController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/system/controller/UserController.java
index 8bc36f2..64fa4b2 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/system/controller/UserController.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/system/controller/UserController.java
@@ -6,6 +6,7 @@
 import com.zy.acs.manager.common.domain.BaseParam;
 import com.zy.acs.manager.common.domain.KeyValVo;
 import com.zy.acs.manager.common.domain.PageParam;
+import com.zy.acs.manager.common.domain.PageResult;
 import com.zy.acs.manager.common.utils.ExcelUtil;
 import com.zy.acs.manager.system.controller.param.ResetPwdParam;
 import com.zy.acs.manager.system.entity.User;
@@ -39,19 +40,11 @@
     public R page(@RequestBody Map<String, Object> map) {
         BaseParam baseParam = buildParam(map, BaseParam.class);
         PageParam<User, BaseParam> pageParam = new PageParam<>(baseParam, User.class);
-        PageParam<User, BaseParam> page = userService.page(pageParam, pageParam.buildWrapper(true, wrapper -> wrapper.orderByAsc("create_time")));
-        for (User record : page.getRecords()) {
+        PageResult<User> pageResult = userService.pageRel(pageParam);
+        for (User record : pageResult.getRecords()) {
             record.setRoles(userRoleService.listByUserId(record.getId()));
         }
-        return R.ok().add(page);
-    }
-
-    @PreAuthorize("hasAuthority('system:user:list')")
-    @PostMapping("/user/page1")
-    public R page1(@RequestBody Map<String, Object> map) {
-        BaseParam baseParam = buildParam(map, BaseParam.class);
-        PageParam<User, BaseParam> pageParam = new PageParam<>(baseParam, User.class);
-        return R.ok().add(userService.pageRel(pageParam));
+        return R.ok().add(pageResult);
     }
 
     @PreAuthorize("hasAuthority('system:user:list')")
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/system/service/impl/UserServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/system/service/impl/UserServiceImpl.java
index dac2d0a..544d67b 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/system/service/impl/UserServiceImpl.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/system/service/impl/UserServiceImpl.java
@@ -27,7 +27,7 @@
 
     @Override
     public PageResult<User> pageRel(PageParam<User, BaseParam> pageParam) {
-        return new PageResult<>(this.baseMapper.selectPageRel(pageParam, pageParam.pickOutMap(true)), pageParam.getTotal());
+        return new PageResult<>(this.baseMapper.selectPageRel(pageParam, pageParam.checkoutMap()), pageParam.getTotal());
     }
 
     @Override
diff --git a/zy-acs-manager/src/main/resources/mapper/system/UserMapper.xml b/zy-acs-manager/src/main/resources/mapper/system/UserMapper.xml
index 3928459..8be80bb 100644
--- a/zy-acs-manager/src/main/resources/mapper/system/UserMapper.xml
+++ b/zy-acs-manager/src/main/resources/mapper/system/UserMapper.xml
@@ -43,9 +43,21 @@
                    su.username like concat('%',#{param.condition},'%')
                 or su.nickname like concat('%',#{param.condition},'%')
                 or su.phone like concat('%',#{param.condition},'%')
+                or su.code like concat('%',#{param.condition},'%')
+                or su.email like concat('%',#{param.condition},'%')
+                or su.real_name like concat('%',#{param.condition},'%')
+                or su.id_card like concat('%',#{param.condition},'%')
             )
         </if>
-        order by su.create_time
+        <if test="param.timeStart != null">
+            and su.create_time >= #{param.timeStart}
+        </if>
+        <if test="param.timeEnd != null">
+            and su.create_time &lt; #{param.timeEnd}
+        </if>
+        <if test="param.orderBy != null and param.orderBy != '' ">
+            order by su.${param.orderBy}
+        </if>
     </select>
 
 </mapper>

--
Gitblit v1.9.1