package cn.lihu.jh.module.system.controller.admin.socail.vo.client; 
 | 
  
 | 
import cn.hutool.core.util.StrUtil; 
 | 
import cn.lihu.jh.framework.common.enums.CommonStatusEnum; 
 | 
import cn.lihu.jh.framework.common.enums.UserTypeEnum; 
 | 
import cn.lihu.jh.framework.common.validation.InEnum; 
 | 
import cn.lihu.jh.module.system.enums.social.SocialTypeEnum; 
 | 
import com.fasterxml.jackson.annotation.JsonIgnore; 
 | 
import io.swagger.v3.oas.annotations.media.Schema; 
 | 
import lombok.Data; 
 | 
  
 | 
import javax.validation.constraints.AssertTrue; 
 | 
import javax.validation.constraints.NotNull; 
 | 
import java.util.Objects; 
 | 
  
 | 
@Schema(description = "管理后台 - 社交客户端创建/修改 Request VO") 
 | 
@Data 
 | 
public class SocialClientSaveReqVO { 
 | 
  
 | 
    @Schema(description = "编号", example = "27162") 
 | 
    private Long id; 
 | 
  
 | 
    @Schema(description = "应用名", requiredMode = Schema.RequiredMode.REQUIRED, example = "jh商城") 
 | 
    @NotNull(message = "应用名不能为空") 
 | 
    private String name; 
 | 
  
 | 
    @Schema(description = "社交平台的类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "31") 
 | 
    @NotNull(message = "社交平台的类型不能为空") 
 | 
    @InEnum(SocialTypeEnum.class) 
 | 
    private Integer socialType; 
 | 
  
 | 
    @Schema(description = "用户类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") 
 | 
    @NotNull(message = "用户类型不能为空") 
 | 
    @InEnum(UserTypeEnum.class) 
 | 
    private Integer userType; 
 | 
  
 | 
    @Schema(description = "客户端编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "wwd411c69a39ad2e54") 
 | 
    @NotNull(message = "客户端编号不能为空") 
 | 
    private String clientId; 
 | 
  
 | 
    @Schema(description = "客户端密钥", requiredMode = Schema.RequiredMode.REQUIRED, example = "peter") 
 | 
    @NotNull(message = "客户端密钥不能为空") 
 | 
    private String clientSecret; 
 | 
  
 | 
    @Schema(description = "授权方的网页应用编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2000045") 
 | 
    private String agentId; 
 | 
  
 | 
    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") 
 | 
    @NotNull(message = "状态不能为空") 
 | 
    @InEnum(CommonStatusEnum.class) 
 | 
    private Integer status; 
 | 
  
 | 
    @AssertTrue(message = "agentId 不能为空") 
 | 
    @JsonIgnore 
 | 
    public boolean isAgentIdValid() { 
 | 
        // 如果是企业微信,必须填写 agentId 属性 
 | 
        return !Objects.equals(socialType, SocialTypeEnum.WECHAT_ENTERPRISE.getType()) 
 | 
                || !StrUtil.isEmpty(agentId); 
 | 
    } 
 | 
  
 | 
} 
 |