项目明细调整

This commit is contained in:
2025-05-09 10:15:46 +08:00
parent 7c39a7634a
commit 093c8332e6
10 changed files with 542 additions and 0 deletions

View File

@ -0,0 +1,62 @@
package com.greenorange.promotion.model.dto.userProject;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Min;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 用户项目添加请求体
*/
@Data
@Schema(description = "用户项目添加请求体", requiredProperties = {
"projectId",
"projectName",
"projectImage",
"projectSettlementCycle",
"userId",
})
public class UserProjectAddRequest implements Serializable {
/**
* 项目ID
*/
@Min(value = 1L, message = "项目ID ID不能小于1")
@Schema(description = "项目ID", example = "")
private Long projectId;
/**
* 项目名称
*/
@NotBlank(message = "项目名称不能为空")
@Schema(description = "项目名称", example = "")
private String projectName;
/**
* 项目图片URL
*/
@NotBlank(message = "项目图片URL不能为空")
@Schema(description = "项目图片URL", example = "")
private String projectImage;
/**
* 项目结算周期
*/
@Schema(description = "项目结算周期", example = "")
private Integer projectSettlementCycle;
/**
* 用户ID
*/
@Min(value = 1L, message = "用户ID ID不能小于1")
@Schema(description = "用户ID", example = "")
private Long userId;
@Serial
private static final long serialVersionUID = 1L;
}

View File

@ -0,0 +1,64 @@
package com.greenorange.promotion.model.dto.userProject;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Min;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import com.greenorange.promotion.common.PageRequest;
/**
* 用户项目查询请求体,继承自分页请求 PageRequest
*/
@Data
@Schema(description = "用户项目查询请求体", requiredProperties = {"current", "pageSize"})
public class UserProjectQueryRequest extends PageRequest implements Serializable {
/**
* 用户项目ID
*/
@Min(value = 1L, message = "用户项目ID ID不能小于1")
@Schema(description = "用户项目ID", example = "")
private Long id;
/**
* 项目ID
*/
@Min(value = 1L, message = "项目ID ID不能小于1")
@Schema(description = "项目ID", example = "")
private Long projectId;
/**
* 项目名称
*/
@NotBlank(message = "项目名称不能为空")
@Schema(description = "项目名称", example = "")
private String projectName;
/**
* 项目图片URL
*/
@NotBlank(message = "项目图片URL不能为空")
@Schema(description = "项目图片URL", example = "")
private String projectImage;
/**
* 项目结算周期
*/
@Schema(description = "项目结算周期", example = "")
private Integer projectSettlementCycle;
/**
* 用户ID
*/
@Min(value = 1L, message = "用户ID ID不能小于1")
@Schema(description = "用户ID", example = "")
private Long userId;
@Serial
private static final long serialVersionUID = 1L;
}

View File

@ -0,0 +1,69 @@
package com.greenorange.promotion.model.dto.userProject;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Min;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 用户项目更新请求体
*/
@Data
@Schema(description = "用户项目更新请求体", requiredProperties = {
"id",
"projectId",
"projectName",
"projectImage",
"projectSettlementCycle",
"userId",
})
public class UserProjectUpdateRequest implements Serializable {
/**
* 用户项目ID
*/
@Min(value = 1L, message = "用户项目ID ID不能小于1")
@Schema(description = "用户项目ID", example = "")
private Long id;
/**
* 项目ID
*/
@Min(value = 1L, message = "项目ID ID不能小于1")
@Schema(description = "项目ID", example = "")
private Long projectId;
/**
* 项目名称
*/
@NotBlank(message = "项目名称不能为空")
@Schema(description = "项目名称", example = "")
private String projectName;
/**
* 项目图片URL
*/
@NotBlank(message = "项目图片URL不能为空")
@Schema(description = "项目图片URL", example = "")
private String projectImage;
/**
* 项目结算周期
*/
@Schema(description = "项目结算周期", example = "")
private Integer projectSettlementCycle;
/**
* 用户ID
*/
@Min(value = 1L, message = "用户ID ID不能小于1")
@Schema(description = "用户ID", example = "")
private Long userId;
@Serial
private static final long serialVersionUID = 1L;
}

View File

@ -0,0 +1,66 @@
package com.greenorange.promotion.model.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 用户项目表
* @TableName user_project
*/
@TableName(value ="user_project")
@Data
public class UserProject implements Serializable {
/**
* 用户项目ID
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 项目ID
*/
private Long projectId;
/**
* 项目名称
*/
private String projectName;
/**
* 项目图片URL
*/
private String projectImage;
/**
* 项目结算周期
*/
private Integer projectSettlementCycle;
/**
* 用户ID
*/
private Long userId;
/**
* 是否删除
*/
private Integer isDelete;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}

View File

@ -0,0 +1,56 @@
package com.greenorange.promotion.model.vo.userProject;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 用户项目 视图对象
*/
@Data
@Schema(description = "用户项目 视图对象")
public class UserProjectVO implements Serializable {
/**
* 用户项目ID
*/
@Schema(description = "用户项目ID", example = "1")
private Long id;
/**
* 项目ID
*/
@Schema(description = "项目ID", example = "${field.example}")
private Long projectId;
/**
* 项目名称
*/
@Schema(description = "项目名称", example = "${field.example}")
private String projectName;
/**
* 项目图片URL
*/
@Schema(description = "项目图片URL", example = "${field.example}")
private String projectImage;
/**
* 项目结算周期
*/
@Schema(description = "项目结算周期", example = "${field.example}")
private Integer projectSettlementCycle;
/**
* 用户ID
*/
@Schema(description = "用户ID", example = "${field.example}")
private Long userId;
@Serial
private static final long serialVersionUID = 1L;
}