package com.yunhai.userbase.entity; import com.yunhai.userbase.common.converter.ListIntegerJsonConverter; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import javax.persistence.Column; import javax.persistence.Convert; import javax.persistence.Entity; import javax.persistence.Table; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.util.List; /** * @author chenx * @date 2026/7/15 15:53 * @description */ @NoArgsConstructor @Data @Entity @Table(name = "application_info") @EqualsAndHashCode(onlyExplicitlyIncluded = true, callSuper = false) public class ApplicationInfo extends BaseEntity { /** * 应用名称(页面*必填) */ private String name; /** * 应用类型ID */ private Integer categoryId; /** * 排序号,仅在同一个应用类型内生效;默认为 null(新增时不赋值)。
*/ @Column(name = "sort_no") private Integer sortNo; /** * 应用描述 */ @Column(name = "app_desc", length = 500) private String desc; /** * appKey 系统生成唯一标识,整型,从100000起自增。
*/ @NotNull @Column(name = "app_key", unique = true, nullable = false) private Integer appKey; /** * appSecret 密钥,支持重设 */ @NotBlank @Column(name = "app_secret", nullable = false, length = 128) private String appSecret; //应用前端类型 @Convert(converter = ListIntegerJsonConverter.class) // @Column(name = "clients", columnDefinition = "json") @Column(name = "clients", columnDefinition = "TEXT") private List clients; /** * PC应用访问地址 */ @Column(name = "pc_url") private String pcUrl; /** * PC应用图标 图片URL */ @Column(name = "pc_icon") private String pcIcon; /** * App访问地址(移动端主地址) */ @Column(name = "app_url") private String appUrl; /** * App应用图标 图片URL */ @Column(name = "app_icon") private String appIcon; /** * 公众号应用地址 */ @Column(name = "official_account_url") private String officialAccountUrl; /** * 钉钉应用地址 */ @Column(name = "dingtalk_url") private String dingtalkUrl; }