使用plus的逻辑删除、自动填充、通用枚举。定义了基础的实体类、表单类、查询类、响应类;数据校验分组
2个文件已修改
7个文件已添加
170 ■■■■■ 已修改文件
ycl-common/pom.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/system/domain/base/AbsEntity.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/system/domain/base/AbsForm.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/system/domain/base/AbsQuery.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/system/domain/base/AbsVo.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/system/domain/group/Add.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/system/domain/group/Update.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/plus/CustomMetaObjectHandler.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/application.yml 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/pom.xml
@@ -46,4 +46,4 @@
    </dependencies>
</project>
</project>
ycl-pojo/src/main/java/com/ycl/system/domain/base/AbsEntity.java
New file
@@ -0,0 +1,35 @@
package com.ycl.system.domain.base;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.util.Date;
/**
 * 简单的实体类字段
 *
 * @author:xp
 * @date:2024/3/4 14:27
 */
@Data
public abstract class AbsEntity {
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /** 创建时间 */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;
    /** 修改时间 */
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;
    /** 逻辑删除 */
    @TableField(value = "deleted", fill = FieldFill.INSERT)
    private String deleted;
}
ycl-pojo/src/main/java/com/ycl/system/domain/base/AbsForm.java
New file
@@ -0,0 +1,21 @@
package com.ycl.system.domain.base;
import com.ycl.system.domain.group.Update;
import io.swagger.annotations.ApiModelProperty;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;
/**
 * 基础表单(添加、修改)参数
 *
 * @author xp
 * @date 2022/11/29
 */
@Data
public abstract class AbsForm {
    @ApiModelProperty(value = "id,修改必传", required = false)
    @NotBlank(message = "请选择数据", groups = {Update.class})
    private String id;
}
ycl-pojo/src/main/java/com/ycl/system/domain/base/AbsQuery.java
New file
@@ -0,0 +1,21 @@
package com.ycl.system.domain.base;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * 基础查询(分页)类
 *
 * @author:xp
 * @date:2024/3/4 14:39
 */
@Data
public class AbsQuery {
    @ApiModelProperty(value = "当前页", required = true)
    private Long currentPage = 1L;
    @ApiModelProperty(value = "每页条数", required = true)
    private Long pageSize = 10L;
}
ycl-pojo/src/main/java/com/ycl/system/domain/base/AbsVo.java
New file
@@ -0,0 +1,25 @@
package com.ycl.system.domain.base;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
/**
 * 基础响应
 *
 * @author xp
 * @date 2024/3/4
 */
@Data
public abstract class AbsVo {
    private Integer id;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date gmtCreate;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date gmtUpdate;
}
ycl-pojo/src/main/java/com/ycl/system/domain/group/Add.java
New file
@@ -0,0 +1,10 @@
package com.ycl.system.domain.group;
/**
 * 数据校验分组-添加
 *
 * @author:xp
 * @date:2024/3/4 14:45
 */
public interface Add {
}
ycl-pojo/src/main/java/com/ycl/system/domain/group/Update.java
New file
@@ -0,0 +1,10 @@
package com.ycl.system.domain.group;
/**
 * 数据校验分组-修改
 *
 * @author:xp
 * @date:2024/3/4 14:46
 */
public interface Update {
}
ycl-server/src/main/java/com/ycl/plus/CustomMetaObjectHandler.java
New file
@@ -0,0 +1,39 @@
package com.ycl.plus;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
 * plus自动填充
 *
 * @author xp
 * @date 2024/3/4
 */
@Component
public class CustomMetaObjectHandler implements MetaObjectHandler {
    /**
     * 插入填充
     *
     * @param metaObject
     */
    @Override
    public void insertFill(MetaObject metaObject) {
        this.setFieldValByName("updateTime", new Date(), metaObject);
        this.setFieldValByName("createTime", new Date(), metaObject);
        this.setFieldValByName("deleted", "0", metaObject);
    }
    /**
     * 修改填充
     *
     * @param metaObject
     */
    @Override
    public void updateFill(MetaObject metaObject) {
        this.setFieldValByName("updateTime", new Date(), metaObject);
    }
}
ycl-server/src/main/resources/application.yml
@@ -59,11 +59,14 @@
  mapper-locations: classpath*:mapper/**/*.xml
  # 实体扫描,多个package用逗号或者分号分隔
  typeAliasesPackage: com.ycl.**.domain
  configuration:
    default-enum-type-handler: org.apache.ibatis.type.EnumOrdinalTypeHandler # 通用枚举处理器
  #    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 日志打印
  global-config:
    db-config:
      id-type: auto
      #逻辑删除配置字段
      logic-delete-field:
      logic-delete-field: deleted
      #逻辑删除配置字段 1 删除
      logic-delete-value: 1
      #逻辑删除配置字段 0 不删除
@@ -117,4 +120,4 @@
  # 排除链接(多个用逗号分隔)
  excludes: /system/notice
  # 匹配链接
  urlPatterns: /system/*,/monitor/*,/tool/*
  urlPatterns: /system/*,/monitor/*,/tool/*