user表role改为role_id;后台管理用户增删改查封装成component
This commit is contained in:
@@ -28,5 +28,14 @@
|
||||
<artifactId>spring-beans</artifactId>
|
||||
<version>5.3.22</version>
|
||||
</dependency>
|
||||
<!-- 分页 -->
|
||||
<dependency>
|
||||
<groupId>com.github.pagehelper</groupId>
|
||||
<artifactId>pagehelper-spring-boot-starter</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.alibaba.fastjson2</groupId>
|
||||
<artifactId>fastjson2</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
@@ -0,0 +1,17 @@
|
||||
package com.cxyxiaomo.epp.common.enums;
|
||||
|
||||
public enum EditType {
|
||||
PLAIN_TEXT("plainText"),
|
||||
INPUT("input"),
|
||||
SELECT("select");
|
||||
|
||||
private final String value;
|
||||
|
||||
private EditType(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
}
|
@@ -0,0 +1,17 @@
|
||||
package com.cxyxiaomo.epp.common.enums;
|
||||
|
||||
public enum SearchType {
|
||||
CAN_NOT_SEARCH(null),
|
||||
INPUT("input"),
|
||||
SELECT("select");
|
||||
|
||||
private final String value;
|
||||
|
||||
private SearchType(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
}
|
@@ -0,0 +1,18 @@
|
||||
package com.cxyxiaomo.epp.common.pojo;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
// 数据库关系映射
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@Accessors(chain = true) // 链式写法
|
||||
// 微服务必须要实现Serializable
|
||||
public class Role implements Serializable {
|
||||
private Integer id;
|
||||
private String roleName;
|
||||
}
|
@@ -20,7 +20,7 @@ public class User implements Serializable {
|
||||
private String realname;
|
||||
private String idNumber;
|
||||
private String phoneNumber;
|
||||
private Integer role;
|
||||
private Integer roleId;
|
||||
private String buildingId;
|
||||
private String doorplate;
|
||||
private String permission;
|
||||
|
@@ -0,0 +1,27 @@
|
||||
package com.cxyxiaomo.epp.common.query;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public class PageQuery {
|
||||
|
||||
private int pageIndex = 1; // 第几页
|
||||
private int pageSize = 10; // 每页几条数据
|
||||
|
||||
public void setPageIndex(int page) {
|
||||
if (page < 1) {
|
||||
page = 1;
|
||||
}
|
||||
this.pageIndex = page;
|
||||
}
|
||||
|
||||
public void setPageSize(int pageSize) {
|
||||
if (pageSize < 1) {
|
||||
pageSize = 1;
|
||||
}
|
||||
if (pageSize > 20) {
|
||||
pageSize = 20;
|
||||
}
|
||||
this.pageSize = pageSize;
|
||||
}
|
||||
}
|
@@ -0,0 +1,58 @@
|
||||
package com.cxyxiaomo.epp.common.utils;
|
||||
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.cxyxiaomo.epp.common.enums.EditType;
|
||||
import com.cxyxiaomo.epp.common.enums.SearchType;
|
||||
|
||||
public class PageTableFieldBuilder {
|
||||
|
||||
private JSONArray columns;
|
||||
|
||||
public static PageTableFieldBuilder create() {
|
||||
PageTableFieldBuilder builder = new PageTableFieldBuilder();
|
||||
builder.columns = new JSONArray();
|
||||
return builder;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param field 对应 POJO 中的属性名称 <br>
|
||||
* 用于新增/修改弹窗 <br>
|
||||
* @param prop 显示的字段名 如果需要翻译(例如roleId->roleName)则填写翻译后的字段 <br>
|
||||
* 用于渲染表格时指定显示列 <br>
|
||||
* @param label 列的显示名称 <br>
|
||||
* @param canSearch 该字段能否在表格上方被筛选 <br>
|
||||
* @param searchType 该筛选字段显示为什么类型 <br>
|
||||
* @param canEdit 该字段能否在新增/修改弹窗中被修改 <br>
|
||||
* @param editType 新增/修改弹窗中该字段显示为什么类型 <br>
|
||||
* @param defaultWhenAdd 新增弹窗中的默认值 <br>
|
||||
* @return
|
||||
*/
|
||||
public PageTableFieldBuilder add(String field, String prop, String label,
|
||||
Boolean canSearch, SearchType searchType,
|
||||
Boolean canEdit, EditType editType, Object defaultWhenAdd) {
|
||||
JSONObject jsonObject = new JSONObject(2);
|
||||
// 表格数据
|
||||
jsonObject.put("prop", prop);
|
||||
jsonObject.put("label", label);
|
||||
|
||||
// 上方筛选条件
|
||||
jsonObject.put("canSearch", canSearch);
|
||||
jsonObject.put("searchType", searchType.getValue());
|
||||
|
||||
// 新增、修改弹窗
|
||||
jsonObject.put("field", field);
|
||||
jsonObject.put("canEdit", canEdit);
|
||||
jsonObject.put("editType", editType.getValue());
|
||||
|
||||
// 新增弹窗 字段默认值
|
||||
jsonObject.put("default", defaultWhenAdd);
|
||||
|
||||
columns.add(jsonObject);
|
||||
return this;
|
||||
}
|
||||
|
||||
public JSONArray build() {
|
||||
return columns;
|
||||
}
|
||||
}
|
@@ -0,0 +1,42 @@
|
||||
package com.cxyxiaomo.epp.common.utils;
|
||||
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
public class PageTableFieldMapperBuilder {
|
||||
|
||||
private JSONArray columns;
|
||||
|
||||
public static PageTableFieldMapperBuilder create() {
|
||||
PageTableFieldMapperBuilder builder = new PageTableFieldMapperBuilder();
|
||||
builder.columns = new JSONArray();
|
||||
return builder;
|
||||
}
|
||||
|
||||
// public PageTableFieldMapperBuilder add(String prop, String label, List mapper) {
|
||||
// if (mapper == null || mapper.size() == 0) {
|
||||
// return this;
|
||||
// }
|
||||
// JSONObject jsonObject = new JSONObject(2);
|
||||
// jsonObject.put("key", prop);
|
||||
// jsonObject.put("value", label);
|
||||
// jsonObject.put("mapper", mapper);
|
||||
// columns.add(jsonObject);
|
||||
// return this;
|
||||
// }
|
||||
|
||||
public PageTableFieldMapperBuilder add(String prop, String label, HashMap mapper) {
|
||||
JSONObject jsonObject = new JSONObject(2);
|
||||
jsonObject.put("key", prop);
|
||||
jsonObject.put("value", label);
|
||||
jsonObject.put("mapper", mapper);
|
||||
columns.add(jsonObject);
|
||||
return this;
|
||||
}
|
||||
|
||||
public JSONArray build() {
|
||||
return columns;
|
||||
}
|
||||
}
|
@@ -0,0 +1,32 @@
|
||||
package com.cxyxiaomo.epp.common.utils;
|
||||
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class PageUtils {
|
||||
|
||||
/**
|
||||
* 转换PageInfo中的List
|
||||
*
|
||||
* @param pageInfoPo 原来的pageInfo
|
||||
* @param convert 转换方式
|
||||
* @param <P> 原来的类型
|
||||
* @param <V> 转换后的类型
|
||||
* @return 转换后的pageInfo
|
||||
*/
|
||||
public static <P, V> PageInfo<V> convert(PageInfo<P> pageInfoPo, Function<P, V> convert) {
|
||||
//视图pageInfo
|
||||
PageInfo<V> vPageInfo = new PageInfo<>();
|
||||
//copy属性
|
||||
BeanUtils.copyProperties(pageInfoPo, vPageInfo);
|
||||
//转化
|
||||
List<V> vList = pageInfoPo.getList().stream().map(convert).collect(Collectors.toList());
|
||||
//赋值
|
||||
vPageInfo.setList(vList);
|
||||
return vPageInfo;
|
||||
}
|
||||
}
|
@@ -8,6 +8,8 @@ import org.springframework.beans.BeanUtils;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
// 数据库关系映射
|
||||
|
||||
@@ -21,7 +23,7 @@ public class UserVO implements Serializable {
|
||||
private String realname;
|
||||
private String idNumber;
|
||||
private String phoneNumber;
|
||||
private Integer role;
|
||||
private Integer roleId;
|
||||
private String buildingId;
|
||||
private String doorplate;
|
||||
private String permission;
|
||||
@@ -35,4 +37,12 @@ public class UserVO implements Serializable {
|
||||
BeanUtils.copyProperties(user, userVO);
|
||||
return userVO;
|
||||
}
|
||||
|
||||
public static List<UserVO> convertFrom(List<User> userList) {
|
||||
if (userList == null) {
|
||||
return null;
|
||||
}
|
||||
List<UserVO> userVOList = userList.stream().map(UserVO::convertFrom).collect(Collectors.toList());
|
||||
return userVOList;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user