Browse Source

新增demo

tools
Jiaju Zhuang 8 months ago
parent
commit
7409c58d51
  1. 90
      easyexcel-test/easytools-common/c/demo/DemoController.java
  2. 58
      easyexcel-test/easytools-common/c/demo/DemoWebConverter.java
  3. 49
      easyexcel-test/easytools-common/c/demo/request/DemoCreateRequest.java
  4. 25
      easyexcel-test/easytools-common/c/demo/request/DemoPageQueryRequest.java
  5. 35
      easyexcel-test/easytools-common/c/demo/vo/DemoPageQueryVO.java
  6. 71
      easyexcel-test/easytools-common/c/demo/vo/DemoQueryVO.java
  7. 171
      easyexcel-test/easytools-common/s/demo/DemoCoreService.java
  8. 141
      easyexcel-test/easytools-common/s/demo/DemoDTO.java
  9. 36
      easyexcel-test/easytools-common/s/demo/enums/DemoStatusEnum.java
  10. 32
      easyexcel-test/easytools-common/s/demo/param/DemoComprehensivePageQueryParam.java
  11. 47
      easyexcel-test/easytools-common/s/demo/param/DemoCreateParam.java
  12. 68
      easyexcel-test/easytools-common/s/demo/param/DemoPageQueryParam.java
  13. 48
      easyexcel-test/easytools-common/s/demo/param/DemoQueryParam.java
  14. 50
      easyexcel-test/easytools-common/s/demo/param/DemoSelector.java
  15. 59
      easyexcel-test/easytools-common/s/demo/param/DemoUpdateParam.java

90
easyexcel-test/easytools-common/c/demo/DemoController.java

@ -0,0 +1,90 @@
package com.alibaba.atasuper.web.controller.demo;
import javax.annotation.Resource;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import com.alibaba.atasuper.api.demo.param.DemoPageQueryParam;
import com.alibaba.atasuper.api.demo.param.DemoPageQueryParam.OrderCondition;
import com.alibaba.atasuper.api.demo.param.DemoSelector;
import com.alibaba.atasuper.api.demo.DemoCoreService;
import com.alibaba.atasuper.api.user.param.DomainUserSelector;
import com.alibaba.atasuper.tools.base.wrapper.result.AtaPageResult;
import com.alibaba.atasuper.tools.base.wrapper.result.AtaPojoResult;
import com.alibaba.atasuper.web.controller.demo.request.DemoCreateRequest;
import com.alibaba.atasuper.web.controller.demo.request.DemoPageQueryRequest;
import com.alibaba.atasuper.web.controller.demo.vo.DemoPageQueryVO;
import com.alibaba.atasuper.web.controller.demo.vo.DemoQueryVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* TODO 模板的Controller 方法用到才复制 别全复制 参考<a href="https://aliyuque.antfin.com/ctoo-pic/rd/ixq0lu">...</a>
*
* @author 是仪
*/
@RestController
@RequestMapping(path = "/api/v1/demo")
@Slf4j
public class DemoController {
private static final DemoSelector DEMO_SELECTOR_GET = DemoSelector.builder()
.user(Boolean.TRUE)
.userDomainUserSelector(DomainUserSelector.builder()
.medals(Boolean.TRUE)
.build())
.image(Boolean.TRUE)
.build();
private static final DemoSelector DEMO_SELECTOR_PAGE_QUERY = DemoSelector.builder()
.createUser(Boolean.TRUE)
.build();
@Resource
private DemoCoreService demoCoreService;
@Resource
private DemoWebConverter demoWebConverter;
/**
* 创建一条数据
*
* @param request 创建参数
* @return id
*/
@PostMapping("create")
public AtaPojoResult<Long> create(@Valid @RequestBody DemoCreateRequest request) {
return AtaPojoResult.of(demoCoreService.create(demoWebConverter.request2param(request)));
}
/**
* 查询一条数据
*
* @param id 主键
* @return
*/
@GetMapping("query")
public AtaPojoResult<DemoQueryVO> query(@Valid @NotNull Long id) {
return AtaPojoResult.of(
demoWebConverter.dto2voQuery(demoCoreService.queryExistentWithPermission(id, DEMO_SELECTOR_GET)));
}
/**
* 分页查询列表数据
*
* @param request request
* @return
*/
@GetMapping("page-query")
public AtaPageResult<DemoPageQueryVO> pageQuery(@Valid DemoPageQueryRequest request) {
DemoPageQueryParam demoPageQueryParam = demoWebConverter.request2param(request);
demoPageQueryParam.orderBy(OrderCondition.GMT_MODIFIED_DESC);
return demoCoreService.pageQueryWithPermission(demoPageQueryParam, DEMO_SELECTOR_PAGE_QUERY)
.map(demoWebConverter::dto2voPageQuery);
}
}

58
easyexcel-test/easytools-common/c/demo/DemoWebConverter.java

@ -0,0 +1,58 @@
package com.alibaba.atasuper.web.controller.demo;
import com.alibaba.atasuper.api.demo.DemoDTO;
import com.alibaba.atasuper.api.demo.param.DemoCreateParam;
import com.alibaba.atasuper.api.demo.param.DemoPageQueryParam;
import com.alibaba.atasuper.web.controller.demo.request.DemoCreateRequest;
import com.alibaba.atasuper.web.controller.demo.request.DemoPageQueryRequest;
import com.alibaba.atasuper.web.controller.demo.vo.DemoPageQueryVO;
import com.alibaba.atasuper.web.controller.demo.vo.DemoQueryVO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
/**
* 转换器
*
* @author 是仪
*/
@Mapper(componentModel = "spring")
public abstract class DemoWebConverter {
/**
* 转换
*
* @param request
* @return
*/
public abstract DemoCreateParam request2param(DemoCreateRequest request);
/**
* 转换
*
* @param dto
* @return
*/
public abstract DemoQueryVO dto2voQuery(DemoDTO dto);
/**
* 转换
*
* @param dto
* @return
*/
public abstract DemoPageQueryVO dto2voPageQuery(DemoDTO dto);
/**
* 转换
*
* @param request
* @return
*/
@Mappings({
@Mapping(target = "userIdWhenPresent", source = "userId"),
})
public abstract DemoPageQueryParam request2param(DemoPageQueryRequest request);
}

49
easyexcel-test/easytools-common/c/demo/request/DemoCreateRequest.java

@ -0,0 +1,49 @@
package com.alibaba.atasuper.web.controller.demo.request;
import java.util.Date;
import javax.validation.constraints.NotNull;
import com.alibaba.atasuper.api.demo.enums.DemoStatusEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 创建对象
*
* @author 是仪
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DemoCreateRequest {
/**
* 用户id
*/
@NotNull
private Long userId;
/**
* 状态一般非空还要有默认值
*
* @see DemoStatusEnum
*/
private String status;
/**
* 图片的key, 图片存储一般存储key别存储连接
*/
private String imageKey;
/**
* 加入时间必须gmt开头日期字段没办法默认值直接默认空
*/
private Date gmtJoin;
}

25
easyexcel-test/easytools-common/c/demo/request/DemoPageQueryRequest.java

@ -0,0 +1,25 @@
package com.alibaba.atasuper.web.controller.demo.request;
import com.alibaba.atasuper.tools.base.wrapper.request.WebPageRequest;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* 列表对象
*
* @author 是仪
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class DemoPageQueryRequest extends WebPageRequest {
/**
* 用户id
*/
private String userId;
}

35
easyexcel-test/easytools-common/c/demo/vo/DemoPageQueryVO.java

@ -0,0 +1,35 @@
package com.alibaba.atasuper.web.controller.demo.vo;
import com.alibaba.atasuper.api.user.vo.UserVO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* 列表对象
*
* @author 是仪
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class DemoPageQueryVO {
/**
* 主键
*/
private Long id;
/**
* 姓名字符串字段一般默认空字符串不建议使用非空
*/
private String name;
/**
* 创建人
*/
private UserVO createUser;
}

71
easyexcel-test/easytools-common/c/demo/vo/DemoQueryVO.java

@ -0,0 +1,71 @@
package com.alibaba.atasuper.web.controller.demo.vo;
import javax.validation.constraints.NotNull;
import com.alibaba.atasuper.api.demo.enums.DemoStatusEnum;
import com.alibaba.atasuper.api.demo.param.DemoSelector;
import com.alibaba.atasuper.api.image.vo.ImageVO;
import com.alibaba.atasuper.api.user.param.DomainUserSelector;
import com.alibaba.atasuper.api.user.vo.UserVO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* 单个对象
*
* @author 是仪
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class DemoQueryVO {
/**
* 主键
*/
private Long id;
/**
* 用户id
*/
@NotNull
private String userId;
/**
* 用户
*
* @see DemoSelector#setUser(Boolean)
* @see DemoSelector#setUserDomainUserSelector(DomainUserSelector)
*/
@NotNull
private UserVO user;
/**
* 状态一般非空还要有默认值
*
* @see DemoStatusEnum
*/
private String status;
/**
* 图片的key, 图片存储一般存储key别存储连接
*/
private String imageKey;
/**
* 图片
*
* @see DemoSelector#setImage(Boolean)
*/
private ImageVO image;
/**
* 姓名字符串字段一般默认空字符串不建议使用非空
*/
private String name;
}

171
easyexcel-test/easytools-common/s/demo/DemoCoreService.java

@ -0,0 +1,171 @@
package com.alibaba.atasuper.api.demo;
import java.util.List;
import javax.annotation.Nullable;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import com.alibaba.atasuper.api.demo.param.DemoComprehensivePageQueryParam;
import com.alibaba.atasuper.api.demo.param.DemoCreateParam;
import com.alibaba.atasuper.api.demo.param.DemoPageQueryParam;
import com.alibaba.atasuper.api.demo.param.DemoQueryParam;
import com.alibaba.atasuper.api.demo.param.DemoSelector;
import com.alibaba.atasuper.api.demo.param.DemoUpdateParam;
import com.alibaba.atasuper.tools.base.exception.DataNotExistsBusinessException;
import com.alibaba.atasuper.tools.base.exception.NoPermissionBusinessException;
import com.alibaba.atasuper.tools.base.wrapper.result.AtaPageResult;
/**
* TODO 模板的service 方法用到才复制 别全复制 参考<a href="https://aliyuque.antfin.com/ctoo-pic/rd/ixq0lu">...</a>
*
* 思考
* 关于 create vs createWithPermission 修改类似
* 如果仅仅只是获取用户登陆信息 可以直接用create
* 如果需要获取用户登陆信息还需要获取用户的权限信息必须用createWithPermission
*
* @author 是仪
*/
public interface DemoCoreService {
/**
* 创建一条数据
*
* @param param 创建参数
* @return id
*/
Long create(@Valid @NotNull DemoCreateParam param);
/**
* 创建一条数据没有权限会抛出异常
*
* @param param 创建参数
* @return id
* @throws NoPermissionBusinessException 没有查询这条数据的权限
*/
Long createWithPermission(@Valid @NotNull DemoCreateParam param);
/**
* 根据主键修改一条数据
*
* @param param 修改参数
* @return id
*/
Long update(@Valid @NotNull DemoUpdateParam param);
/**
* 根据主键修改一条数据没有权限会抛出异常
*
* @param param 修改参数
* @return id
* @throws NoPermissionBusinessException 没有修改这条数据的权限
*/
Long updateWithPermission(@Valid @NotNull DemoUpdateParam param);
/**
* 根据主键删除一条数据
*
* @param id 主键id
* @return id
*/
Long delete(@Valid @NotNull Long id);
/**
* 根据主键删除一条数据没有权限会抛出异常
*
* @param id 主键id
* @return id
* @throws NoPermissionBusinessException 没有查询这条数据的权限
*/
Long deleteWithPermission(@Valid @NotNull Long id);
/**
* 查询一条数据不存在会抛出异常
*
* @param id 主键id
* @param selector 选择器
* @return 必定返回一条数据
* @throws DataNotExistsBusinessException 找不到数据的异常
*/
DemoDTO queryExistent(@Valid @NotNull Long id, @Nullable DemoSelector selector);
/**
* 查询一条数据不存在或者没有权限会抛出异常
*
* @param id 主键id
* @param selector 选择器
* @return 必定返回一条数据
* @throws DataNotExistsBusinessException 找不到数据的异常
* @throws NoPermissionBusinessException 没有查询这条数据的权限
*/
DemoDTO queryExistentWithPermission(@Valid @NotNull Long id, @Nullable DemoSelector selector);
/**
* 查询一条数据
*
* @param id 主键id
* @param selector 选择器
* @return 返回一条数据可能为空
*/
DemoDTO query(@Nullable Long id, @Nullable DemoSelector selector);
/**
* 查询一条数据,没有权限会抛出异常
*
* @param id 主键id
* @param selector 选择器
* @return 返回一条数据可能为空
* @throws NoPermissionBusinessException 没有查询这条数据的权限
*/
DemoDTO queryWithPermission(@Nullable Long id, @Nullable DemoSelector selector);
/**
* 根据id列表查询列表数据
*
* @param idList 主键id列表
* @param selector 选择器
* @return 返回全部查询到的数据
*/
List<DemoDTO> listQuery(@Nullable List<Long> idList, @Nullable DemoSelector selector);
/**
* 根据参数查询列表数据
*
* @param param 查询参数
* @param selector 选择器
* @return 返回查询数据最多500条
*/
List<DemoDTO> listQuery(@Valid @NotNull DemoQueryParam param, @Nullable DemoSelector selector);
/**
* 根据参数分页查询列表数据
*
* @param param 查询参数
* @param selector 选择器
* @return 返回分页查询数据
*/
AtaPageResult<DemoDTO> pageQuery(@Valid @NotNull DemoPageQueryParam param, @Nullable DemoSelector selector);
/**
* 根据参数分页查询列表数据只会查询有权限的数据
*
* @param param 查询参数
* @param selector 选择器
* @return 返回分页查询数据
*/
AtaPageResult<DemoDTO> pageQueryWithPermission(@Valid @NotNull DemoPageQueryParam param,
@Nullable DemoSelector selector);
/**
* 综合搜索
* 慎用一般涉及到join
*
* @param param 查询参数
* @param selector 选择器
* @return 返回分页查询数据
*/
AtaPageResult<DemoDTO> comprehensivePageQuery(@Valid @NotNull DemoComprehensivePageQueryParam param,
@Nullable DemoSelector selector);
}

141
easyexcel-test/easytools-common/s/demo/DemoDTO.java

@ -0,0 +1,141 @@
package com.alibaba.atasuper.api.demo;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import javax.validation.constraints.NotNull;
import com.alibaba.atasuper.api.demo.enums.DemoStatusEnum;
import com.alibaba.atasuper.api.demo.param.DemoSelector;
import com.alibaba.atasuper.api.image.dto.ImageDTO;
import com.alibaba.atasuper.api.user.dto.DomainUserDTO;
import com.alibaba.atasuper.api.user.param.DomainUserSelector;
import com.alibaba.easytools.base.constant.EasyToolsConstant;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* TODO 示例对象 仅放需要使用的字段
*
* @author 是仪
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class DemoDTO implements Serializable {
@Serial
private static final long serialVersionUID = EasyToolsConstant.SERIAL_VERSION_UID;
/**
* 主键
*/
private Long id;
/**
* 用户id
*/
@NotNull
private Long userId;
/**
* 用户
*
* @see DemoSelector#setUser(Boolean)
* @see DemoSelector#setUserDomainUserSelector(DomainUserSelector)
*/
@NotNull
private DomainUserDTO user;
/**
* 状态一般非空还要有默认值
*
* @see DemoStatusEnum
*/
private String status;
/**
* 图片的key, 图片存储一般存储key别存储连接
*/
private String imageKey;
/**
* 图片
*
* @see DemoSelector#setImage(Boolean)
*/
private ImageDTO image;
/**
* 姓名字符串字段一般默认空字符串不建议使用非空
*/
private String name;
/**
* 加入时间必须gmt开头日期字段没办法默认值直接默认空
*/
private Date gmtJoin;
/**
* 被访问次数统计型的数据一般默认0建议使用bigint代替int设置非空
*/
private Long viewedCount;
/**
* 角色id, 这种外键没有的情况下用空 别用0
*/
private Long roleId;
/**
* 是否同意协议 布尔值
*/
private Boolean agreeProtocol;
/**
* 创建时间
*/
private Date gmtCreate;
/**
* 创建人用户id
*/
private Long createUserId;
/**
* 创建人
*
* @see DemoSelector#setCreateUser(Boolean)
*/
private DomainUserDTO createUser;
/**
* 修改人用户id
*/
private Long modifiedUserId;
/**
* 修改人
*
* @see DemoSelector#setModifiedUser(Boolean)
*/
private DomainUserDTO modifiedUser;
/**
* 备注字段一般设置可以为空
*
* @see DemoSelector#setWithBlobs(Boolean)
*/
private String remark;
/**
* 是否已经被删除
* 这个只有在 {@code fill} 时才不会为空 其他任何情况都会为空
*/
private Boolean deleted;
}

36
easyexcel-test/easytools-common/s/demo/enums/DemoStatusEnum.java

@ -0,0 +1,36 @@
package com.alibaba.atasuper.api.demo.enums;
import com.alibaba.easytools.base.enums.BaseEnum;
import lombok.Getter;
/**
* TODO 示例状态枚举
*
* @author 是仪
*/
@Getter
public enum DemoStatusEnum implements BaseEnum<String> {
/**
* 草稿
*/
DRAFT("草稿"),
/**
* 线上
*/
RELEASE("线上"),
;
final String description;
DemoStatusEnum(String description) {
this.description = description;
}
@Override
public String getCode() {
return this.name();
}
}

32
easyexcel-test/easytools-common/s/demo/param/DemoComprehensivePageQueryParam.java

@ -0,0 +1,32 @@
package com.alibaba.atasuper.api.demo.param;
import java.util.List;
import com.alibaba.atasuper.tools.base.wrapper.param.CorePageQueryParam;
import lombok.Data;
import lombok.NonNull;
/**
* 综合搜索
* 慎用一般涉及到join
*
* @author 是仪
*/
@Data
public class DemoComprehensivePageQueryParam extends CorePageQueryParam {
/**
* 用户id
* 传null会报错
*/
@NonNull
private Long userId;
/**
* 用户id
* 传null会报错
*/
@NonNull
private List<Long> userIdList;
}

47
easyexcel-test/easytools-common/s/demo/param/DemoCreateParam.java

@ -0,0 +1,47 @@
package com.alibaba.atasuper.api.demo.param;
import java.util.Date;
import javax.validation.constraints.NotNull;
import com.alibaba.atasuper.api.demo.enums.DemoStatusEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 创建对象
*
* @author 是仪
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DemoCreateParam {
/**
* 用户id
*/
@NotNull
private Long userId;
/**
* 状态一般非空还要有默认值
*
* @see DemoStatusEnum
*/
private String status;
/**
* 图片的key, 图片存储一般存储key别存储连接
*/
private String imageKey;
/**
* 加入时间必须gmt开头日期字段没办法默认值直接默认空
*/
private Date gmtJoin;
}

68
easyexcel-test/easytools-common/s/demo/param/DemoPageQueryParam.java

@ -0,0 +1,68 @@
package com.alibaba.atasuper.api.demo.param;
import java.util.List;
import com.alibaba.atasuper.tools.base.wrapper.param.CorePageQueryParam;
import com.alibaba.easytools.base.wrapper.param.OrderBy;
import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.NonNull;
/**
* 单表分页查询
*
* @author 是仪
*/
@Data
@NoArgsConstructor
public class DemoPageQueryParam extends CorePageQueryParam {
/**
* id列表
* 传null会报错
*/
@NonNull
private List<Long> idList;
/**
* 用户id
* 传null会报错
*/
@NonNull
private Long userId;
/**
* 用户id
* 传null不查询
*/
private Long userIdWhenPresent;
/**
* 用户id列表
* 传null不查询
*/
@NonNull
private List<Long> userIdList;
/**
* 关键字搜索
*/
private String keywordWhenPresent;
@Getter
public enum OrderCondition implements com.alibaba.easytools.base.wrapper.param.OrderCondition {
/**
* 修改时间降序
*/
GMT_MODIFIED_DESC(OrderBy.asc("GMTMODIFIED")),
;
final OrderBy orderBy;
OrderCondition(OrderBy orderBy) {
this.orderBy = orderBy;
}
}
}

48
easyexcel-test/easytools-common/s/demo/param/DemoQueryParam.java

@ -0,0 +1,48 @@
package com.alibaba.atasuper.api.demo.param;
import java.util.List;
import com.alibaba.atasuper.tools.base.wrapper.param.CoreQueryParam;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.NonNull;
/**
* 单表普通查询
* 最多返回500条
*
* @author 是仪
*/
@Data
@NoArgsConstructor
public class DemoQueryParam extends CoreQueryParam {
/**
* id列表
* 传null会报错
*/
@NonNull
private List<Long> idList;
/**
* 用户id
* 传null会报错
*/
@NonNull
private Long userId;
/**
* 用户id
* 传null不查询
*/
private Long userIdWhenPresent;
/**
* 用户id列表
* 传null不查询
*/
@NonNull
private List<Long> userIdList;
}

50
easyexcel-test/easytools-common/s/demo/param/DemoSelector.java

@ -0,0 +1,50 @@
package com.alibaba.atasuper.api.demo.param;
import com.alibaba.atasuper.api.user.param.DomainUserSelector;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 选择器
*
* @author 是仪
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DemoSelector {
/**
* 用户
*/
private Boolean user;
/**
* 用户
*/
private DomainUserSelector userDomainUserSelector;
/**
* 图片
*/
private Boolean image;
/**
* 创建人
*/
private Boolean createUser;
/**
* 修改人
*/
private Boolean modifiedUser;
/**
* 查询withBlobs
*/
private Boolean withBlobs;
}

59
easyexcel-test/easytools-common/s/demo/param/DemoUpdateParam.java

@ -0,0 +1,59 @@
package com.alibaba.atasuper.api.demo.param;
import java.util.Date;
import javax.validation.constraints.NotNull;
import com.alibaba.atasuper.api.demo.enums.DemoStatusEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 创建对象
*
* @author 是仪
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DemoUpdateParam {
/**
* 主键
*/
@NotNull
private Long id;
/**
* 用户id
*/
private Long userId;
/**
* 状态一般非空还要有默认值
*
* @see DemoStatusEnum
*/
private String status;
/**
* 图片的key, 图片存储一般存储key别存储连接
*/
private String imageKey;
/**
* 加入时间必须gmt开头日期字段没办法默认值直接默认空
*/
private Date gmtJoin;
/**
* 当加入时间为空时删除加入时间
* 默认为空false
*/
private Boolean deleteGmtJoinWhenNull;
}
Loading…
Cancel
Save