From edfa49f201d3fc8fc6b51b700e91f80246660855 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期二, 13 二月 2024 20:29:14 +0800 Subject: [PATCH] # --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/controller/RoleController.java | 1 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Dept.java | 2 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/User.java | 6 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Menu.java | 6 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Role.java | 2 zy-asrs-framework/src/main/java/com/zy/asrs/framework/generators/CoolGenerator.java | 6 + zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/domain/BaseParam.java | 31 ++++++ zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/domain/PageParam.java | 154 ++++++++++++++++++++++++++++++ zy-asrs-framework/src/main/java/com/zy/asrs/framework/domain/QueryType.java | 42 ++++++++ zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Host.java | 2 10 files changed, 244 insertions(+), 8 deletions(-) diff --git a/zy-asrs-framework/src/main/java/com/zy/asrs/framework/domain/QueryType.java b/zy-asrs-framework/src/main/java/com/zy/asrs/framework/domain/QueryType.java new file mode 100644 index 0000000..9927ecd --- /dev/null +++ b/zy-asrs-framework/src/main/java/com/zy/asrs/framework/domain/QueryType.java @@ -0,0 +1,42 @@ +package com.zy.asrs.framework.domain; + +/** + * 鏌ヨ鏂瑰紡 + * + * @author vincent + * @since 2021-09-01 20:48:16 + */ +public enum QueryType { + // 绛変簬 + EQ, + // 涓嶇瓑浜� + NE, + // 澶т簬 + GT, + // 澶т簬绛変簬 + GE, + // 灏忎簬 + LT, + // 灏忎簬绛変簬 + LE, + // 鍖呭惈 + LIKE, + // 涓嶅寘鍚� + NOT_LIKE, + // 缁撳熬绛変簬 + LIKE_LEFT, + // 寮�澶寸瓑浜� + LIKE_RIGHT, + // 涓篘ULL + IS_NULL, + // 涓嶄负绌� + IS_NOT_NULL, + // IN + IN, + // NOT IN + NOT_IN, + // IN鏉′欢瑙f瀽閫楀彿鍒嗗壊 + IN_STR, + // NOT IN鏉′欢瑙f瀽閫楀彿鍒嗗壊 + NOT_IN_STR +} diff --git a/zy-asrs-framework/src/main/java/com/zy/asrs/framework/generators/CoolGenerator.java b/zy-asrs-framework/src/main/java/com/zy/asrs/framework/generators/CoolGenerator.java index 09eb45f..58637da 100644 --- a/zy-asrs-framework/src/main/java/com/zy/asrs/framework/generators/CoolGenerator.java +++ b/zy-asrs-framework/src/main/java/com/zy/asrs/framework/generators/CoolGenerator.java @@ -406,6 +406,12 @@ } + if (column.getName().equals("deleted")) { + entityIm.append("import com.baomidou.mybatisplus.annotation.TableLogic;\n"); + sb.append(" ") + .append("@TableLogic\n"); + } + if ("Date".equals(column.getType())){ if (setDateTimeFormat){ entityIm.append("import org.springframework.format.annotation.DateTimeFormat;").append("\n"); diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/domain/BaseParam.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/domain/BaseParam.java new file mode 100644 index 0000000..ed92c8f --- /dev/null +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/domain/BaseParam.java @@ -0,0 +1,31 @@ +package com.zy.asrs.wcs.common.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import lombok.Data; + +import java.io.Serializable; + +/** + * Created by vincent on 2/13/2024 + */ +@Data +public class BaseParam implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableField(exist = false) + private Integer pageIdx; + + @TableField(exist = false) + private Integer pageSize; + + @TableField(exist = false) + private String timeStart; + + @TableField(exist = false) + private String timeEnd; + + @TableField(exist = false) + private String condition; + +} diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/domain/PageParam.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/domain/PageParam.java new file mode 100644 index 0000000..a5d610f --- /dev/null +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/domain/PageParam.java @@ -0,0 +1,154 @@ +package com.zy.asrs.wcs.common.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.zy.asrs.framework.common.Cools; +import com.zy.asrs.framework.domain.QueryType; + +import java.lang.reflect.Field; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * Created by vincent on 2/13/2024 + */ +public class PageParam<T, U extends BaseParam> extends Page<T> { + + private static final long serialVersionUID = 1L; + + private final U where; + + public PageParam() { + this(null); + } + + public PageParam(U where) { + super(); + this.where = where; + + if (where != null) { + if (where.getPageIdx() != null) { + setCurrent(where.getPageIdx()); + } + if (where.getPageSize() != null) { + setSize(where.getPageSize()); + } + } + } + + public QueryWrapper<T> getWrapper(String... excludes) { + return buildWrapper(null, Arrays.asList(excludes)); + } + + private QueryWrapper<T> buildWrapper(List<String> columns, List<String> excludes) { + QueryWrapper<T> queryWrapper = new QueryWrapper<>(); + Map<String, Object> map = Cools.conver(where); + for (String fieldName : map.keySet()) { + Object fieldValue = map.get(fieldName); + Field field = Cools.getField(where.getClass(), fieldName); + assert field != null; + // 杩囨护涓嶅寘鍚殑瀛楁 + if (columns != null && !columns.contains(fieldName)) { + continue; + } + + // 杩囨护鎺掗櫎鐨勫瓧娈� + if (excludes != null && excludes.contains(fieldName)) { + continue; + } + + // 杩囨护閫昏緫鍒犻櫎瀛楁 + if (field.getAnnotation(TableLogic.class) != null) { + continue; + } + + // 杩囨护绉熸埛id瀛楁 + if (fieldName.equals("hostId")) { + continue; + } + + // 鑾峰彇娉ㄨВ鎸囧畾鐨勬煡璇㈠瓧娈靛強鏌ヨ鏂瑰紡 + QueryType queryType = QueryType.LIKE; + QueryField queryField = field.getAnnotation(QueryField.class); + if (queryField != null) { + if (!Cools.isEmpty(queryField.value())) { + fieldName = queryField.value(); + } + if (queryField.type() != null) { + queryType = queryField.type(); + } + } else { + // 杩囨护闈炴湰琛ㄧ殑瀛楁 + TableField tableField = field.getAnnotation(TableField.class); + if (tableField != null && !tableField.exist()) { + continue; + } + } + + // 瀛楁鍚嶉┘宄拌浆涓嬪垝绾� + if (this.isToUnderlineCase) { + fieldName = Utils.toSymbolCase(fieldName, '_'); + } + + switch (queryType) { + case EQ: + queryWrapper.eq(fieldName, fieldValue); + break; + case NE: + queryWrapper.ne(fieldName, fieldValue); + break; + case GT: + queryWrapper.gt(fieldName, fieldValue); + break; + case GE: + queryWrapper.ge(fieldName, fieldValue); + break; + case LT: + queryWrapper.lt(fieldName, fieldValue); + break; + case LE: + queryWrapper.le(fieldName, fieldValue); + break; + case LIKE: + queryWrapper.like(fieldName, fieldValue); + break; + case NOT_LIKE: + queryWrapper.notLike(fieldName, fieldValue); + break; + case LIKE_LEFT: + queryWrapper.likeLeft(fieldName, fieldValue); + break; + case LIKE_RIGHT: + queryWrapper.likeRight(fieldName, fieldValue); + break; + case IS_NULL: + queryWrapper.isNull(fieldName); + break; + case IS_NOT_NULL: + queryWrapper.isNotNull(fieldName); + break; + case IN: + queryWrapper.in(fieldName, fieldValue); + break; + case NOT_IN: + queryWrapper.notIn(fieldName, fieldValue); + break; + case IN_STR: + if (fieldValue instanceof String) { + queryWrapper.in(fieldName, Arrays.asList(((String) fieldValue).split(","))); + } + break; + case NOT_IN_STR: + if (fieldValue instanceof String) { + queryWrapper.notIn(fieldName, Arrays.asList(((String) fieldValue).split(","))); + } + break; + } + } + return queryWrapper; + } + +} diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/controller/RoleController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/controller/RoleController.java index 00bfda1..ac71c19 100644 --- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/controller/RoleController.java +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/controller/RoleController.java @@ -25,6 +25,7 @@ @OperationLog @PostMapping("/role/page") public R updateInfo(@RequestBody PageParam param) { + System.out.println(param.get("condition")); List<Role> list = roleService.list(); return R.ok().add(list); } diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Dept.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Dept.java index f508616..149c285 100644 --- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Dept.java +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Dept.java @@ -2,6 +2,7 @@ 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 com.zy.asrs.framework.common.Cools; import com.zy.asrs.framework.common.SpringUtils; @@ -116,6 +117,7 @@ * 鏄惁鍒犻櫎 1: 鏄� 0: 鍚� */ @ApiModelProperty(value= "鏄惁鍒犻櫎 1: 鏄� 0: 鍚� ") + @TableLogic private Integer deleted; /** diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Host.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Host.java index e87c78b..8a1c6f8 100644 --- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Host.java +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Host.java @@ -2,6 +2,7 @@ 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 com.zy.asrs.framework.common.Cools; import io.swagger.annotations.ApiModelProperty; @@ -41,6 +42,7 @@ * 鏄惁鍒犻櫎 1: 鏄� 0: 鍚� */ @ApiModelProperty(value= "鏄惁鍒犻櫎 1: 鏄� 0: 鍚� ") + @TableLogic private Integer deleted; /** diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Menu.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Menu.java index 39832ab..26bedd4 100644 --- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Menu.java +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Menu.java @@ -1,9 +1,6 @@ package com.zy.asrs.wcs.sys.entity; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.*; import com.zy.asrs.framework.common.Cools; import com.zy.asrs.framework.common.SpringUtils; import com.zy.asrs.wcs.sys.service.HostService; @@ -134,6 +131,7 @@ * 鏄惁鍒犻櫎 1: 鏄� 0: 鍚� */ @ApiModelProperty(value= "鏄惁鍒犻櫎 1: 鏄� 0: 鍚� ") + @TableLogic private Integer deleted; /** diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Role.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Role.java index 0b663a8..c80b6e3 100644 --- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Role.java +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Role.java @@ -2,6 +2,7 @@ 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 com.zy.asrs.framework.common.Cools; import com.zy.asrs.framework.common.SpringUtils; @@ -55,6 +56,7 @@ * 鏄惁鍒犻櫎 1: 鏄� 0: 鍚� */ @ApiModelProperty(value= "鏄惁鍒犻櫎 1: 鏄� 0: 鍚� ") + @TableLogic private Integer deleted; /** diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/User.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/User.java index 33c1f18..167c016 100644 --- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/User.java +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/User.java @@ -1,9 +1,6 @@ package com.zy.asrs.wcs.sys.entity; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.*; import com.zy.asrs.framework.common.Cools; import com.zy.asrs.framework.common.SpringUtils; import com.zy.asrs.wcs.sys.service.DeptService; @@ -132,6 +129,7 @@ * 鏄惁鍒犻櫎 1: 鏄� 0: 鍚� */ @ApiModelProperty(value= "鏄惁鍒犻櫎 1: 鏄� 0: 鍚� ") + @TableLogic private Integer deleted; /** -- Gitblit v1.9.1