feat: 债务计划和还款计划完成

This commit is contained in:
Bunny 2024-11-15 18:03:45 +08:00
parent 94715f6601
commit d835d962fc
39 changed files with 164 additions and 204 deletions

View File

@ -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 - 支出")

View File

@ -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 = "描述")

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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 = "还款状态")

View File

@ -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;

View File

@ -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 = "已还金额")

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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 = "已还金额")

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -1,6 +1,3 @@
server:
port: 7070
logging:
level:
cn.bunny.service.mapper: info

View File

@ -1,6 +1,3 @@
server:
port: 7070
#mybatis-plus:
# configuration:
# map-underscore-to-camel-case: true

View File

@ -1,3 +1,6 @@
server:
port: 1000
spring:
profiles:
active: @profiles.active@

View File

@ -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>

View File

@ -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

View File

@ -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>

View File

@ -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>