65 lines
1.9 KiB
Java
65 lines
1.9 KiB
Java
package com.yunhai.userhome.entity;
|
||
|
||
import com.yunhai.userhome.common.BaseEntity;
|
||
import com.yunhai.userhome.model.SetType;
|
||
import lombok.Data;
|
||
import lombok.EqualsAndHashCode;
|
||
import lombok.NoArgsConstructor;
|
||
|
||
import javax.persistence.Column;
|
||
import javax.persistence.Entity;
|
||
import javax.persistence.EnumType;
|
||
import javax.persistence.Enumerated;
|
||
import javax.persistence.Index;
|
||
import javax.persistence.Table;
|
||
import java.util.Date;
|
||
|
||
/**
|
||
* 用户「常用应用」设置(本地表)。
|
||
*
|
||
* <p>对齐旧 UserHome used_app 结构:<b>一行存一组常用</b>(appIds 逗号分隔),
|
||
* 按 {@code setType(0系统/1学校/2用户) + setId + roleType + schId} 四维唯一覆盖保存。
|
||
* 应用元数据不落本地,跨仓来自 UserBase。</p>
|
||
*/
|
||
@NoArgsConstructor
|
||
@Data
|
||
@Entity
|
||
@Table(
|
||
name = "used_app",
|
||
indexes = {
|
||
@Index(name = "idx_used_app_set", columnList = "set_id,set_type,role_type,sch_id")
|
||
}
|
||
)
|
||
@EqualsAndHashCode(onlyExplicitlyIncluded = true, callSuper = false)
|
||
public class UsedApp extends BaseEntity {
|
||
|
||
/** 常用应用ID,逗号分隔字符串(按展示顺序)。 */
|
||
@Column(name = "app_ids", length = 500)
|
||
private String appIds;
|
||
|
||
/** 设置级别:0=系统 1=学校 2=用户。 */
|
||
@Enumerated(EnumType.ORDINAL)
|
||
@Column(name = "set_type")
|
||
private SetType type;
|
||
|
||
/** 归属维度ID:系统=超管用户ID、学校=schId、用户=用户ID。 */
|
||
@Column(name = "set_id")
|
||
private Integer setId;
|
||
|
||
/** 学校ID(逻辑外键 → UserBase sys_group.id,schId=0 表示非学校群组)。 */
|
||
@Column(name = "sch_id")
|
||
private Integer schId;
|
||
|
||
/** 角色类型(-1 表示用户级不区分角色)。 */
|
||
@Column(name = "role_type")
|
||
private Integer roleType;
|
||
|
||
/** 操作人ID(逻辑外键 → UserBase 用户)。 */
|
||
@Column(name = "c_id")
|
||
private Integer cId;
|
||
|
||
/** 操作时间。 */
|
||
@Column(name = "c_date")
|
||
private Date cDate;
|
||
}
|