feat: 债务计划和还款计划完成
This commit is contained in:
parent
94715f6601
commit
d835d962fc
|
@ -21,7 +21,6 @@ import java.time.LocalDateTime;
|
|||
public class BillAddDto {
|
||||
|
||||
@Schema(name = "userId", title = "绑定的用户id")
|
||||
@NotNull(message = "债绑定的用户不能为空")
|
||||
private Long userId;
|
||||
|
||||
@Schema(name = "username", title = "类型:1 - 收入,-1 - 支出")
|
||||
|
|
|
@ -2,6 +2,8 @@ package cn.bunny.dao.dto.financial.bill.admin;
|
|||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.Max;
|
||||
import jakarta.validation.constraints.Min;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
|
@ -23,13 +25,17 @@ public class BillUpdateDto {
|
|||
private Long id;
|
||||
|
||||
@Schema(name = "userId", title = "绑定的用户id")
|
||||
@NotNull(message = "债绑定的用户不能为空")
|
||||
private Long userId;
|
||||
|
||||
@Schema(name = "username", title = "类型:1 - 收入,-1 - 支出")
|
||||
@NotNull(message = "类型不能为空")
|
||||
@Min(value = -1, message = "类型格式不正确")
|
||||
@Max(value = 1, message = "类型格式不正确")
|
||||
private Byte type;
|
||||
|
||||
@Schema(name = "amount", title = "金额")
|
||||
@NotNull(message = "金额不能为空")
|
||||
@Min(value = 0, message = "金额格式不正确")
|
||||
private BigDecimal amount;
|
||||
|
||||
@Schema(name = "description", title = "描述")
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package cn.bunny.dao.dto.financial.budgetCategory;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.Min;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
|
@ -10,6 +11,7 @@ import lombok.Data;
|
|||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
|
@ -43,15 +45,17 @@ public class BudgetCategoryAddDto {
|
|||
|
||||
@Schema(name = "amount", title = "预算金额")
|
||||
@NotNull(message = "预算金额不能为空")
|
||||
@Min(value = 0L, message = "不能低于0")
|
||||
@Min(value = 0, message = "不能低于0")
|
||||
private BigDecimal amount;
|
||||
|
||||
@Schema(name = "period", title = "预算周期")
|
||||
@NotNull(message = "预算周期不能为空")
|
||||
private String startPeriod;
|
||||
|
||||
@Schema(name = "period", title = "预算周期")
|
||||
@NotNull(message = "预算周期不能为空")
|
||||
private String endPeriod;
|
||||
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime startPeriod;
|
||||
|
||||
@Schema(name = "period", title = "预算周期")
|
||||
@NotNull(message = "预算周期不能为空")
|
||||
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime endPeriod;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package cn.bunny.dao.dto.financial.budgetCategory;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
|
@ -7,6 +8,7 @@ import lombok.Data;
|
|||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
|
@ -30,11 +32,13 @@ public class BudgetCategoryDto {
|
|||
@Schema(name = "amount", title = "预算金额")
|
||||
private BigDecimal amount;
|
||||
|
||||
@Schema(name = "period", title = "预算周期")
|
||||
private String startPeriod;
|
||||
@Schema(name = "startPeriod", title = "开始预算周期")
|
||||
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private LocalDate startPeriod;
|
||||
|
||||
@Schema(name = "period", title = "预算周期")
|
||||
private String endPeriod;
|
||||
@Schema(name = "endPeriod", title = "结束预算周期")
|
||||
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private LocalDate endPeriod;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
package cn.bunny.dao.dto.financial.budgetCategory;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.Min;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
@ -9,6 +11,7 @@ import lombok.Data;
|
|||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
|
@ -46,15 +49,18 @@ public class BudgetCategoryUpdateDto {
|
|||
|
||||
@Schema(name = "amount", title = "预算金额")
|
||||
@NotNull(message = "预算金额不能为空")
|
||||
@Min(value = 0, message = "不能低于0")
|
||||
private BigDecimal amount;
|
||||
|
||||
@Schema(name = "period", title = "预算周期")
|
||||
@NotNull(message = "预算周期不能为空")
|
||||
private String startPeriod;
|
||||
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime startPeriod;
|
||||
|
||||
@Schema(name = "period", title = "预算周期")
|
||||
@NotNull(message = "预算周期不能为空")
|
||||
private String endPeriod;
|
||||
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime endPeriod;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -1,43 +0,0 @@
|
|||
package cn.bunny.dao.dto.financial.debtCollectionManagement;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "DebtCollectionManagementAddDto对象", title = "债务回收管理添加", description = "债务回收管理添加")
|
||||
public class DebtCollectionManagementAddDto {
|
||||
|
||||
@Schema(name = "debtId", title = "债务ID")
|
||||
@NotNull(message = "债务不能为空")
|
||||
private Long debtId;
|
||||
|
||||
@Schema(name = "recoveryDate", title = "回收日期")
|
||||
@NotNull(message = "回收日期不能为空")
|
||||
private LocalDateTime recoveryDate;
|
||||
|
||||
@Schema(name = "recoveryAmount", title = "回收金额")
|
||||
@NotNull(message = "回收金额不能为空")
|
||||
private BigDecimal recoveryAmount;
|
||||
|
||||
@Schema(name = "recoveryMethod", title = "回收方式")
|
||||
@NotNull(message = "回收方式不能为空")
|
||||
@NotBlank(message = "还款状态不能为空")
|
||||
private String recoveryMethod;
|
||||
|
||||
@Schema(name = "notes", title = "备注")
|
||||
@NotNull(message = "备注不能为空")
|
||||
@NotBlank(message = "备注不能为空")
|
||||
private String notes;
|
||||
|
||||
}
|
|
@ -1,36 +0,0 @@
|
|||
package cn.bunny.dao.dto.financial.debtCollectionManagement;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "DebtCollectionManagementDto对象", title = "债务回收管理查询", description = "债务回收管理查询")
|
||||
public class DebtCollectionManagementDto {
|
||||
|
||||
@Schema(name = "debtId", title = "债务ID")
|
||||
private Long debtId;
|
||||
|
||||
@Schema(name = "recoveryDate", title = "回收日期")
|
||||
private LocalDateTime recoveryDate;
|
||||
|
||||
@Schema(name = "recoveryAmount", title = "回收金额")
|
||||
private BigDecimal recoveryAmount;
|
||||
|
||||
@Schema(name = "recoveryMethod", title = "回收方式")
|
||||
private String recoveryMethod;
|
||||
|
||||
@Schema(name = "notes", title = "备注")
|
||||
private String notes;
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
package cn.bunny.dao.dto.financial.debtCollectionManagement;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Builder
|
||||
@Schema(name = "DebtCollectionManagementUpdateDto对象", title = "债务回收管理更新", description = "债务回收管理更新")
|
||||
public class DebtCollectionManagementUpdateDto {
|
||||
|
||||
@Schema(name = "id", title = "主键")
|
||||
@NotNull(message = "id不能为空")
|
||||
private Long id;
|
||||
|
||||
@Schema(name = "debtId", title = "债务ID")
|
||||
@NotNull(message = "债务不能为空")
|
||||
private Long debtId;
|
||||
|
||||
@Schema(name = "recoveryDate", title = "回收日期")
|
||||
@NotNull(message = "回收日期不能为空")
|
||||
private LocalDateTime recoveryDate;
|
||||
|
||||
@Schema(name = "recoveryAmount", title = "回收金额")
|
||||
@NotNull(message = "回收金额不能为空")
|
||||
private BigDecimal recoveryAmount;
|
||||
|
||||
@Schema(name = "recoveryMethod", title = "回收方式")
|
||||
@NotNull(message = "回收方式不能为空")
|
||||
@NotBlank(message = "还款状态不能为空")
|
||||
private String recoveryMethod;
|
||||
|
||||
@Schema(name = "notes", title = "备注")
|
||||
@NotNull(message = "备注不能为空")
|
||||
@NotBlank(message = "备注不能为空")
|
||||
private String notes;
|
||||
|
||||
}
|
|
@ -1,6 +1,8 @@
|
|||
package cn.bunny.dao.dto.financial.debtRepaymentPlan.admin;
|
||||
package cn.bunny.dao.dto.financial.debtRepaymentPlan;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.Min;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
@ -31,10 +33,12 @@ public class DebtRepaymentPlanAddDto {
|
|||
|
||||
@Schema(name = "dueDate", title = "还款截止日期")
|
||||
@NotNull(message = "还款截止日期不能为空")
|
||||
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime dueDate;
|
||||
|
||||
@Schema(name = "paidAmount", title = "已还金额")
|
||||
@NotNull(message = "已还金额不能为空")
|
||||
@Min(value = 0, message = "金额格式不正确")
|
||||
private BigDecimal paidAmount;
|
||||
|
||||
@Schema(name = "paymentStatus", title = "还款状态")
|
|
@ -1,5 +1,6 @@
|
|||
package cn.bunny.dao.dto.financial.debtRepaymentPlan.admin;
|
||||
package cn.bunny.dao.dto.financial.debtRepaymentPlan;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
|
@ -7,7 +8,7 @@ import lombok.Data;
|
|||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDate;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
|
@ -26,7 +27,8 @@ public class DebtRepaymentPlanDto {
|
|||
private BigDecimal installmentAmount;
|
||||
|
||||
@Schema(name = "dueDate", title = "还款截止日期")
|
||||
private LocalDateTime dueDate;
|
||||
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private LocalDate dueDate;
|
||||
|
||||
@Schema(name = "paidAmount", title = "已还金额")
|
||||
private BigDecimal paidAmount;
|
|
@ -1,6 +1,8 @@
|
|||
package cn.bunny.dao.dto.financial.debtRepaymentPlan.admin;
|
||||
package cn.bunny.dao.dto.financial.debtRepaymentPlan;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.Min;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
@ -31,10 +33,12 @@ public class DebtRepaymentPlanUpdateDto {
|
|||
|
||||
@Schema(name = "installmentAmount", title = "每期应还金额")
|
||||
@NotNull(message = "每期应还金额不能为空")
|
||||
@Min(value = 0, message = "金额格式不正确")
|
||||
private BigDecimal installmentAmount;
|
||||
|
||||
@Schema(name = "dueDate", title = "还款截止日期")
|
||||
@NotNull(message = "还款截止日期不能为空")
|
||||
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime dueDate;
|
||||
|
||||
@Schema(name = "paidAmount", title = "已还金额")
|
|
@ -1,6 +1,8 @@
|
|||
package cn.bunny.dao.dto.financial.debtTracking;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.Min;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
@ -29,6 +31,7 @@ public class DebtTrackingAddDto {
|
|||
|
||||
@Schema(name = "debtAmount", title = "债务金额")
|
||||
@NotNull(message = "债务不能为空")
|
||||
@Min(value = 0, message = "金额格式不正确")
|
||||
private BigDecimal debtAmount;
|
||||
|
||||
@Schema(name = "debtType", title = "债务类型")
|
||||
|
@ -43,6 +46,7 @@ public class DebtTrackingAddDto {
|
|||
|
||||
@Schema(name = "dueDate", title = "还款截止日期")
|
||||
@NotNull(message = "债务不能为空")
|
||||
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime dueDate;
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package cn.bunny.dao.dto.financial.debtTracking;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
|
@ -7,7 +8,7 @@ import lombok.Data;
|
|||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalDate;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
|
@ -32,7 +33,8 @@ public class DebtTrackingDto {
|
|||
private String debtStatus;
|
||||
|
||||
@Schema(name = "dueDate", title = "还款截止日期")
|
||||
private LocalDateTime dueDate;
|
||||
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private LocalDate dueDate;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
package cn.bunny.dao.dto.financial.debtTracking;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.Min;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
@ -23,7 +25,6 @@ public class DebtTrackingUpdateDto {
|
|||
private Long id;
|
||||
|
||||
@Schema(name = "userId", title = "绑定的用户")
|
||||
@NotNull(message = "债务不能为空")
|
||||
private Long userId;
|
||||
|
||||
@Schema(name = "debtorName", title = "债务人姓名")
|
||||
|
@ -33,6 +34,7 @@ public class DebtTrackingUpdateDto {
|
|||
|
||||
@Schema(name = "debtAmount", title = "债务金额")
|
||||
@NotNull(message = "债务不能为空")
|
||||
@Min(value = 0, message = "金额格式不正确")
|
||||
private BigDecimal debtAmount;
|
||||
|
||||
@Schema(name = "debtType", title = "债务类型")
|
||||
|
@ -47,6 +49,7 @@ public class DebtTrackingUpdateDto {
|
|||
|
||||
@Schema(name = "dueDate", title = "还款截止日期")
|
||||
@NotNull(message = "债务不能为空")
|
||||
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime dueDate;
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package cn.bunny.dao.dto.financial.savingGoal.admin;
|
||||
package cn.bunny.dao.dto.financial.savingGoal;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.Min;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
|
@ -10,6 +11,7 @@ import lombok.Data;
|
|||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
|
@ -34,17 +36,17 @@ public class SavingGoalAddDto {
|
|||
|
||||
@Schema(name = "amount", title = "目标金额")
|
||||
@NotNull(message = "目标金额不能为空")
|
||||
@Min(value = 0L, message = "储蓄值不能小于0")
|
||||
@Min(value = 0, message = "储蓄值不能小于0")
|
||||
private BigDecimal amount;
|
||||
|
||||
@Schema(name = "startDuration", title = "开始目标时长")
|
||||
@NotNull(message = "开始目标时长不能为空")
|
||||
@NotBlank(message = "开始目标时长不能为空")
|
||||
private String startDuration;
|
||||
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime startDuration;
|
||||
|
||||
@Schema(name = "endDuration", title = "结束目标时长")
|
||||
@NotNull(message = "结束目标时长不能为空")
|
||||
@NotBlank(message = "结束目标时长不能为空")
|
||||
private String endDuration;
|
||||
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime endDuration;
|
||||
|
||||
}
|
|
@ -1,5 +1,6 @@
|
|||
package cn.bunny.dao.dto.financial.savingGoal.admin;
|
||||
package cn.bunny.dao.dto.financial.savingGoal;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
|
@ -7,6 +8,7 @@ import lombok.Data;
|
|||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
|
@ -28,9 +30,11 @@ public class SavingGoalDto {
|
|||
private BigDecimal amount;
|
||||
|
||||
@Schema(name = "startDuration", title = "开始目标时长")
|
||||
private String startDuration;
|
||||
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private LocalDate startDuration;
|
||||
|
||||
@Schema(name = "endDuration", title = "结束目标时长")
|
||||
private String endDuration;
|
||||
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
private LocalDate endDuration;
|
||||
|
||||
}
|
|
@ -1,6 +1,8 @@
|
|||
package cn.bunny.dao.dto.financial.savingGoal.admin;
|
||||
package cn.bunny.dao.dto.financial.savingGoal;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.Min;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
@ -9,6 +11,7 @@ import lombok.Data;
|
|||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
|
@ -37,16 +40,17 @@ public class SavingGoalUpdateDto {
|
|||
|
||||
@Schema(name = "amount", title = "目标金额")
|
||||
@NotNull(message = "目标金额不能为空")
|
||||
@Min(value = 0, message = "金额格式不正确")
|
||||
private BigDecimal amount;
|
||||
|
||||
@Schema(name = "startDuration", title = "开始目标时长")
|
||||
@NotNull(message = "开始目标时长不能为空")
|
||||
@NotBlank(message = "开始目标时长不能为空")
|
||||
private String startDuration;
|
||||
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime startDuration;
|
||||
|
||||
@Schema(name = "endDuration", title = "结束目标时长")
|
||||
@NotNull(message = "结束目标时长不能为空")
|
||||
@NotBlank(message = "结束目标时长不能为空")
|
||||
private String endDuration;
|
||||
@JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime endDuration;
|
||||
|
||||
}
|
|
@ -8,6 +8,7 @@ import lombok.Setter;
|
|||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
|
@ -42,10 +43,10 @@ public class BudgetCategory extends BaseEntity {
|
|||
@Schema(name = "amount", title = "预算金额")
|
||||
private BigDecimal amount;
|
||||
|
||||
@Schema(name = "startPeriod", title = "开始预算周期")
|
||||
private String startPeriod;
|
||||
@Schema(name = "period", title = "预算周期")
|
||||
private LocalDateTime startPeriod;
|
||||
|
||||
@Schema(name = "endPeriod", title = "结束预算周期")
|
||||
private String endPeriod;
|
||||
@Schema(name = "period", title = "预算周期")
|
||||
private LocalDateTime endPeriod;
|
||||
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@ import lombok.Setter;
|
|||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
|
@ -37,10 +38,10 @@ public class SavingGoal extends BaseEntity {
|
|||
private BigDecimal amount;
|
||||
|
||||
@Schema(name = "startDuration", title = "开始目标时长")
|
||||
private String startDuration;
|
||||
private LocalDateTime startDuration;
|
||||
|
||||
@Schema(name = "endDuration", title = "结束目标时长")
|
||||
private String endDuration;
|
||||
private LocalDateTime endDuration;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -3,11 +3,16 @@ package cn.bunny.dao.vo.financial.admin;
|
|||
import cn.bunny.dao.common.vo.BaseUserVo;
|
||||
import com.alibaba.fastjson2.annotation.JSONField;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
|
||||
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
|
@ -42,10 +47,16 @@ public class BudgetCategoryVo extends BaseUserVo {
|
|||
@Schema(name = "amount", title = "预算金额")
|
||||
private BigDecimal amount;
|
||||
|
||||
@Schema(name = "period", title = "预算周期")
|
||||
private String startPeriod;
|
||||
@Schema(name = "startPeriod", title = "预算周期")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonSerialize(using = LocalDateTimeSerializer.class)
|
||||
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
|
||||
private LocalDateTime startPeriod;
|
||||
|
||||
@Schema(name = "period", title = "预算周期")
|
||||
private String endPeriod;
|
||||
@Schema(name = "endPeriod", title = "预算周期")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonSerialize(using = LocalDateTimeSerializer.class)
|
||||
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
|
||||
private LocalDateTime endPeriod;
|
||||
|
||||
}
|
|
@ -3,7 +3,11 @@ package cn.bunny.dao.vo.financial.admin;
|
|||
import cn.bunny.dao.common.vo.BaseUserVo;
|
||||
import com.alibaba.fastjson2.annotation.JSONField;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
|
||||
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
|
||||
|
@ -33,6 +37,9 @@ public class DebtRepaymentPlanVo extends BaseUserVo {
|
|||
private BigDecimal installmentAmount;
|
||||
|
||||
@Schema(name = "dueDate", title = "还款截止日期")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonSerialize(using = LocalDateTimeSerializer.class)
|
||||
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
|
||||
private LocalDateTime dueDate;
|
||||
|
||||
@Schema(name = "paidAmount", title = "已还金额")
|
||||
|
|
|
@ -3,7 +3,11 @@ package cn.bunny.dao.vo.financial.admin;
|
|||
import cn.bunny.dao.common.vo.BaseUserVo;
|
||||
import com.alibaba.fastjson2.annotation.JSONField;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
|
||||
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
|
||||
|
@ -39,6 +43,9 @@ public class DebtTrackingVo extends BaseUserVo {
|
|||
private String debtStatus;
|
||||
|
||||
@Schema(name = "dueDate", title = "还款截止日期")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonSerialize(using = LocalDateTimeSerializer.class)
|
||||
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
|
||||
private LocalDateTime dueDate;
|
||||
|
||||
}
|
|
@ -3,11 +3,16 @@ package cn.bunny.dao.vo.financial.admin;
|
|||
import cn.bunny.dao.common.vo.BaseUserVo;
|
||||
import com.alibaba.fastjson2.annotation.JSONField;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
|
||||
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
|
@ -35,9 +40,15 @@ public class SavingGoalVo extends BaseUserVo {
|
|||
private BigDecimal amount;
|
||||
|
||||
@Schema(name = "startDuration", title = "开始目标时长")
|
||||
private String startDuration;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonSerialize(using = LocalDateTimeSerializer.class)
|
||||
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
|
||||
private LocalDateTime startDuration;
|
||||
|
||||
@Schema(name = "endDuration", title = "结束目标时长")
|
||||
private String endDuration;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonSerialize(using = LocalDateTimeSerializer.class)
|
||||
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
|
||||
private LocalDateTime endDuration;
|
||||
|
||||
}
|
|
@ -24,8 +24,8 @@ VOLUME ["/www/root/server"]
|
|||
# 启动容器时的进程
|
||||
ENTRYPOINT ["java","-jar","/home/server/app.jar"]
|
||||
|
||||
#暴露 8000 端口
|
||||
EXPOSE 8000
|
||||
#暴露 1010 端口
|
||||
EXPOSE 1010
|
||||
|
||||
# 生产环境
|
||||
# mvn clean package -Pprod -DskipTests
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package cn.bunny.services.controller.financial;
|
||||
|
||||
import cn.bunny.dao.dto.financial.debtRepaymentPlan.admin.DebtRepaymentPlanAddDto;
|
||||
import cn.bunny.dao.dto.financial.debtRepaymentPlan.admin.DebtRepaymentPlanDto;
|
||||
import cn.bunny.dao.dto.financial.debtRepaymentPlan.admin.DebtRepaymentPlanUpdateDto;
|
||||
import cn.bunny.dao.dto.financial.debtRepaymentPlan.DebtRepaymentPlanAddDto;
|
||||
import cn.bunny.dao.dto.financial.debtRepaymentPlan.DebtRepaymentPlanDto;
|
||||
import cn.bunny.dao.dto.financial.debtRepaymentPlan.DebtRepaymentPlanUpdateDto;
|
||||
import cn.bunny.dao.entity.financial.DebtRepaymentPlan;
|
||||
import cn.bunny.dao.pojo.result.PageResult;
|
||||
import cn.bunny.dao.pojo.result.Result;
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package cn.bunny.services.controller.financial;
|
||||
|
||||
import cn.bunny.dao.dto.financial.savingGoal.admin.SavingGoalAddDto;
|
||||
import cn.bunny.dao.dto.financial.savingGoal.admin.SavingGoalDto;
|
||||
import cn.bunny.dao.dto.financial.savingGoal.admin.SavingGoalUpdateDto;
|
||||
import cn.bunny.dao.dto.financial.savingGoal.SavingGoalAddDto;
|
||||
import cn.bunny.dao.dto.financial.savingGoal.SavingGoalDto;
|
||||
import cn.bunny.dao.dto.financial.savingGoal.SavingGoalUpdateDto;
|
||||
import cn.bunny.dao.entity.financial.SavingGoal;
|
||||
import cn.bunny.dao.pojo.result.PageResult;
|
||||
import cn.bunny.dao.pojo.result.Result;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package cn.bunny.services.mapper.financial;
|
||||
|
||||
import cn.bunny.dao.dto.financial.debtRepaymentPlan.admin.DebtRepaymentPlanDto;
|
||||
import cn.bunny.dao.dto.financial.debtRepaymentPlan.DebtRepaymentPlanDto;
|
||||
import cn.bunny.dao.entity.financial.DebtRepaymentPlan;
|
||||
import cn.bunny.dao.vo.financial.admin.DebtRepaymentPlanVo;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package cn.bunny.services.mapper.financial;
|
||||
|
||||
import cn.bunny.dao.dto.financial.savingGoal.admin.SavingGoalDto;
|
||||
import cn.bunny.dao.dto.financial.savingGoal.SavingGoalDto;
|
||||
import cn.bunny.dao.entity.financial.SavingGoal;
|
||||
import cn.bunny.dao.vo.financial.admin.SavingGoalVo;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package cn.bunny.services.service.financial;
|
||||
|
||||
import cn.bunny.dao.dto.financial.debtRepaymentPlan.admin.DebtRepaymentPlanAddDto;
|
||||
import cn.bunny.dao.dto.financial.debtRepaymentPlan.admin.DebtRepaymentPlanDto;
|
||||
import cn.bunny.dao.dto.financial.debtRepaymentPlan.admin.DebtRepaymentPlanUpdateDto;
|
||||
import cn.bunny.dao.dto.financial.debtRepaymentPlan.DebtRepaymentPlanAddDto;
|
||||
import cn.bunny.dao.dto.financial.debtRepaymentPlan.DebtRepaymentPlanDto;
|
||||
import cn.bunny.dao.dto.financial.debtRepaymentPlan.DebtRepaymentPlanUpdateDto;
|
||||
import cn.bunny.dao.entity.financial.DebtRepaymentPlan;
|
||||
import cn.bunny.dao.pojo.result.PageResult;
|
||||
import cn.bunny.dao.vo.financial.admin.DebtRepaymentPlanVo;
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package cn.bunny.services.service.financial;
|
||||
|
||||
import cn.bunny.dao.dto.financial.savingGoal.admin.SavingGoalAddDto;
|
||||
import cn.bunny.dao.dto.financial.savingGoal.admin.SavingGoalDto;
|
||||
import cn.bunny.dao.dto.financial.savingGoal.admin.SavingGoalUpdateDto;
|
||||
import cn.bunny.dao.dto.financial.savingGoal.SavingGoalAddDto;
|
||||
import cn.bunny.dao.dto.financial.savingGoal.SavingGoalDto;
|
||||
import cn.bunny.dao.dto.financial.savingGoal.SavingGoalUpdateDto;
|
||||
import cn.bunny.dao.entity.financial.SavingGoal;
|
||||
import cn.bunny.dao.pojo.result.PageResult;
|
||||
import cn.bunny.dao.vo.financial.admin.SavingGoalVo;
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package cn.bunny.services.service.financial.impl;
|
||||
|
||||
import cn.bunny.dao.dto.financial.debtRepaymentPlan.admin.DebtRepaymentPlanAddDto;
|
||||
import cn.bunny.dao.dto.financial.debtRepaymentPlan.admin.DebtRepaymentPlanDto;
|
||||
import cn.bunny.dao.dto.financial.debtRepaymentPlan.admin.DebtRepaymentPlanUpdateDto;
|
||||
import cn.bunny.dao.dto.financial.debtRepaymentPlan.DebtRepaymentPlanAddDto;
|
||||
import cn.bunny.dao.dto.financial.debtRepaymentPlan.DebtRepaymentPlanDto;
|
||||
import cn.bunny.dao.dto.financial.debtRepaymentPlan.DebtRepaymentPlanUpdateDto;
|
||||
import cn.bunny.dao.entity.financial.DebtRepaymentPlan;
|
||||
import cn.bunny.dao.pojo.result.PageResult;
|
||||
import cn.bunny.dao.vo.financial.admin.DebtRepaymentPlanVo;
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package cn.bunny.services.service.financial.impl;
|
||||
|
||||
import cn.bunny.dao.dto.financial.savingGoal.admin.SavingGoalAddDto;
|
||||
import cn.bunny.dao.dto.financial.savingGoal.admin.SavingGoalDto;
|
||||
import cn.bunny.dao.dto.financial.savingGoal.admin.SavingGoalUpdateDto;
|
||||
import cn.bunny.dao.dto.financial.savingGoal.SavingGoalAddDto;
|
||||
import cn.bunny.dao.dto.financial.savingGoal.SavingGoalDto;
|
||||
import cn.bunny.dao.dto.financial.savingGoal.SavingGoalUpdateDto;
|
||||
import cn.bunny.dao.entity.financial.SavingGoal;
|
||||
import cn.bunny.dao.pojo.result.PageResult;
|
||||
import cn.bunny.dao.vo.financial.admin.SavingGoalVo;
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
server:
|
||||
port: 7070
|
||||
|
||||
logging:
|
||||
level:
|
||||
cn.bunny.service.mapper: info
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
server:
|
||||
port: 7070
|
||||
|
||||
#mybatis-plus:
|
||||
# configuration:
|
||||
# map-underscore-to-camel-case: true
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
server:
|
||||
port: 1000
|
||||
|
||||
spring:
|
||||
profiles:
|
||||
active: @profiles.active@
|
||||
|
|
|
@ -55,7 +55,7 @@
|
|||
</if>
|
||||
<if test="dto.startPeriod != null and dto.endPeriod != null">
|
||||
and (base.start_period between #{dto.startPeriod} and #{dto.endPeriod})
|
||||
and (base.end_period between #{dto.startPeriod} and #{dto.endPeriod})
|
||||
or (base.end_period between #{dto.startPeriod} and #{dto.endPeriod})
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
<select id="selectListByPage" resultType="cn.bunny.dao.vo.financial.admin.DebtRepaymentPlanVo">
|
||||
select
|
||||
base.*,
|
||||
base_user.username as username,
|
||||
create_user.username as create_username,
|
||||
update_user.username as update_username
|
||||
from t_debt_repayment_plan base
|
||||
|
|
|
@ -27,9 +27,11 @@
|
|||
<select id="selectListByPage" resultType="cn.bunny.dao.vo.financial.admin.DebtTrackingVo">
|
||||
select
|
||||
base.*,
|
||||
base_user.username as username,
|
||||
create_user.username as create_username,
|
||||
update_user.username as update_username
|
||||
from t_debt_tracking base
|
||||
left join sys_user base_user on base_user.id = base.user_id
|
||||
left join sys_user create_user on create_user.id = base.create_user
|
||||
left join sys_user update_user on update_user.id = base.update_user
|
||||
<where>
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
</if>
|
||||
<if test="dto.startDuration != null and dto.endDuration != null">
|
||||
and (base.start_duration between #{dto.startDuration} and #{dto.endDuration})
|
||||
and (base.end_duration between #{dto.startDuration} and #{dto.endDuration})
|
||||
or (base.end_duration between #{dto.startDuration} and #{dto.endDuration})
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
|
Loading…
Reference in New Issue