kimi
2020-05-18 c8aee7b9bfd79cfd741d7e5692520f4f51a31a86
src/main/java/com/highdatas/mdm/entity/SysViewJoin.java
@@ -1,9 +1,18 @@
package com.highdatas.mdm.entity;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableName;
import com.highdatas.mdm.pojo.Segment;
import com.highdatas.mdm.pojo.ViewJoinType;
import com.highdatas.mdm.util.Constant;
import com.highdatas.mdm.util.ContentBuilder;
import com.highdatas.mdm.util.DbUtils;
import org.apache.commons.lang3.StringUtils;
import java.io.Serializable;
import java.text.MessageFormat;
import java.util.List;
/**
 * <p>
@@ -20,14 +29,88 @@
    private String id;
    @TableField("view_id")
    private String viewId;
    @TableField("parent_id")
    private String parentId;
    @TableField("menu_id")
    private String menuId;
    private String fields;
    @TableField("join_maintain")
    private String joinMaintain;
    @TableField("join_field")
    private String joinField;
    @TableField("base_field")
    private String baseField;
    @TableField("join_segment")
    private String joinSegment;
    @TableField("join_type")
    private ViewJoinType joinType;
    @TableField("need_update")
    private Boolean needUpdate;
    private transient String joinTableName;
    private transient String baseTableName;
    private transient String joinVersion;
    private transient String menuName;
    public String getMenuName() {
        return menuName;
    }
    public SysViewJoin setMenuName(String menuName) {
        this.menuName = menuName;
        return this;
    }
    public ViewJoinType getJoinType() {
        return joinType;
    }
    public SysViewJoin setJoinType(ViewJoinType joinType) {
        this.joinType = joinType;
        return this;
    }
    public Boolean getNeedUpdate() {
        return needUpdate;
    }
    public SysViewJoin setNeedUpdate(Boolean needUpdate) {
        this.needUpdate = needUpdate;
        return this;
    }
    public String getMenuId() {
        return menuId;
    }
    public SysViewJoin setMenuId(String menuId) {
        this.menuId = menuId;
        return this;
    }
    public String getJoinTableName() {
        return joinTableName;
    }
    public void setJoinTableName(String joinTableName) {
        this.joinTableName = joinTableName;
    }
    public String getJoinVersion() {
        return joinVersion;
    }
    public void setJoinVersion(String joinVersion) {
        this.joinVersion = joinVersion;
    }
    public String getId() {
        return id;
@@ -37,12 +120,22 @@
        this.id = id;
        return this;
    }
    public String getViewId() {
        return viewId;
    public String getParentId() {
        return parentId;
    }
    public SysViewJoin setViewId(String viewId) {
        this.viewId = viewId;
    public SysViewJoin setParentId(String parentId) {
        this.parentId = parentId;
        return this;
    }
    public String getFields() {
        return fields;
    }
    public SysViewJoin setFields(String fields) {
        this.fields = fields;
        return this;
    }
    public String getJoinMaintain() {
@@ -51,6 +144,22 @@
    public SysViewJoin setJoinMaintain(String joinMaintain) {
        this.joinMaintain = joinMaintain;
        return this;
    }
    public String getJoinField() {
        return joinField;
    }
    public SysViewJoin setJoinField(String joinField) {
        this.joinField = joinField;
        return this;
    }
    public String getBaseField() {
        return baseField;
    }
    public SysViewJoin setBaseField(String baseField) {
        this.baseField = baseField;
        return this;
    }
    public String getJoinSegment() {
@@ -71,9 +180,43 @@
    public String toString() {
        return "SysViewJoin{" +
        "id=" + id +
        ", viewId=" + viewId +
        ", parentId=" + parentId +
        ", fields=" + fields +
        ", joinMaintain=" + joinMaintain +
        ", joinField=" + joinField +
        ", baseField=" + baseField +
        ", joinSegment=" + joinSegment +
        "}";
    }
    public String createJoinStr() {
        if (StringUtils.isEmpty(joinTableName)) {
            return null;
        }
        if (StringUtils.isEmpty(baseTableName)) {
            return null;
        }
        List<String> baseFieldList = DbUtils.split(baseField);
        List<String> joinFieldList = DbUtils.split(joinField);
        ContentBuilder builder = new ContentBuilder(Constant.AND);
        for (int i = 0; i < baseFieldList.size(); i++) {
            String oneBase = baseFieldList.get(i);
            String oneJoin = joinFieldList.get(i);
            String base = MessageFormat.format(Constant.Alias, baseTableName, oneBase);
            String join = MessageFormat.format(Constant.Alias, joinTableName, oneJoin);
            Segment segment = new Segment(base, join);
            builder.append(segment.toRawString());
        }
        return MessageFormat.format(Constant.InnerJoinTemplate, joinType.toString(), joinTableName, builder.toString());
    }
    public String getBaseTableName() {
        return baseTableName;
    }
    public SysViewJoin setBaseTableName(String baseTableName) {
        this.baseTableName = baseTableName;
        return this;
    }
}