feat: (feature/REQ-3167) 前端资源表增加ext扩展字段

This commit is contained in:
李龙 2024-11-20 11:14:02 +08:00
parent 55f1de7db4
commit 775d6a51cb
3 changed files with 73 additions and 1 deletions

1
.reviewboardrc Normal file
View File

@ -0,0 +1 @@
REPOSITORY = 'tyr'

View File

@ -1,10 +1,16 @@
package cn.axzo.tyr.server.repository.entity; package cn.axzo.tyr.server.repository.entity;
import cn.axzo.pokonyan.config.mybatisplus.BaseEntity; import cn.axzo.pokonyan.config.mybatisplus.BaseEntity;
import cn.axzo.tyr.client.model.base.FeatureResourceExtraDO;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import lombok.*; import lombok.*;
import java.util.List;
import java.util.Optional;
/** /**
* 页面元素表 * 页面元素表
* *
@ -94,4 +100,66 @@ public class SaasPageElement extends BaseEntity<SaasPageElement> {
* H5的应用ID * H5的应用ID
*/ */
private String appId; private String appId;
/**
* 扩展字段
*/
@TableField(value = "extra", typeHandler = FastjsonTypeHandler.class)
private JSONObject ext;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public static class Ext {
/**
* 端上的相关信息
*/
private List<Terminals> terminals;
public JSONObject toJSONObject() {
return JSONObject.parseObject(JSONObject.toJSONString(this));
}
}
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public static class Terminals {
/**
* 端的系统iosandroid
*/
private String system;
/**
* 最低版本要求
*/
private Long minVersion;
/**
* 最高版本要求
*/
private Long maxVersion;
/**
* 是否开启最高版本要求:true-开启false-关闭
*/
private Boolean maxVersionEnabled;
}
public JSONObject normalizedExt() {
return Optional.ofNullable(ext).orElse(new JSONObject());
}
public Ext covertToExt() {
return JSONObject.toJavaObject(normalizedExt(), Ext.class);
}
public JSONObject buildMergedExt(Ext ext) {
return normalizedExt()
.fluentPutAll(ext.toJSONObject());
}
} }

View File

@ -313,3 +313,6 @@ CREATE TABLE `permission_rule` (
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COMMENT='权限系统规则定义表'; ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COMMENT='权限系统规则定义表';
alter table saas_role_group add column `path` varchar(255) DEFAULT '0' COMMENT 'ID层级路径 逗号分隔'; alter table saas_role_group add column `path` varchar(255) DEFAULT '0' COMMENT 'ID层级路径 逗号分隔';
-- alter table saas_page_element add column `ext` JSON NULL COMMENT '额外信息, 使用json便于查询';
alter table saas_page_element add column `ext` VARCHAR(2048) NOT NULL DEFAULT '{}' COMMENT '额外信息';