diff --git a/common/common-generator/src/main/java/cn/bunny/common/generator/generator/WebGeneratorCode.java b/common/common-generator/src/main/java/cn/bunny/common/generator/generator/WebGeneratorCode.java index 4f100ad..55a66e4 100644 --- a/common/common-generator/src/main/java/cn/bunny/common/generator/generator/WebGeneratorCode.java +++ b/common/common-generator/src/main/java/cn/bunny/common/generator/generator/WebGeneratorCode.java @@ -3,9 +3,9 @@ package cn.bunny.common.generator.generator; import cn.bunny.common.generator.entity.BaseField; import cn.bunny.common.generator.entity.BaseResultMap; import cn.bunny.common.generator.utils.GeneratorCodeUtils; -import cn.bunny.dao.dto.financial.bill.BillAddDto; import cn.bunny.dao.dto.financial.bill.BillDto; -import cn.bunny.dao.dto.financial.bill.BillUpdateDto; +import cn.bunny.dao.dto.financial.bill.admin.BillAddDto; +import cn.bunny.dao.dto.financial.bill.admin.BillUpdateDto; import cn.bunny.dao.entity.financial.Bill; import cn.bunny.dao.vo.financial.admin.BillVo; import com.baomidou.mybatisplus.annotation.TableName; diff --git a/dao/src/main/java/cn/bunny/dao/dto/financial/bill/BillAddDto.java b/dao/src/main/java/cn/bunny/dao/dto/financial/bill/admin/BillAddDto.java similarity index 94% rename from dao/src/main/java/cn/bunny/dao/dto/financial/bill/BillAddDto.java rename to dao/src/main/java/cn/bunny/dao/dto/financial/bill/admin/BillAddDto.java index fd0a5ef..b6bef0b 100644 --- a/dao/src/main/java/cn/bunny/dao/dto/financial/bill/BillAddDto.java +++ b/dao/src/main/java/cn/bunny/dao/dto/financial/bill/admin/BillAddDto.java @@ -1,4 +1,4 @@ -package cn.bunny.dao.dto.financial.bill; +package cn.bunny.dao.dto.financial.bill.admin; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; @@ -21,6 +21,7 @@ import java.time.LocalDateTime; public class BillAddDto { @Schema(name = "userId", title = "绑定的用户id") + @NotNull(message = "用户不能为空") private Long userId; @Schema(name = "username", title = "类型:1 - 收入,-1 - 支出") diff --git a/dao/src/main/java/cn/bunny/dao/dto/financial/bill/BillUpdateDto.java b/dao/src/main/java/cn/bunny/dao/dto/financial/bill/admin/BillUpdateDto.java similarity index 94% rename from dao/src/main/java/cn/bunny/dao/dto/financial/bill/BillUpdateDto.java rename to dao/src/main/java/cn/bunny/dao/dto/financial/bill/admin/BillUpdateDto.java index bc650c0..e577f3f 100644 --- a/dao/src/main/java/cn/bunny/dao/dto/financial/bill/BillUpdateDto.java +++ b/dao/src/main/java/cn/bunny/dao/dto/financial/bill/admin/BillUpdateDto.java @@ -1,4 +1,4 @@ -package cn.bunny.dao.dto.financial.bill; +package cn.bunny.dao.dto.financial.bill.admin; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; @@ -25,6 +25,7 @@ public class BillUpdateDto { private Long id; @Schema(name = "userId", title = "绑定的用户id") + @NotNull(message = "用户不能为空") private Long userId; @Schema(name = "username", title = "类型:1 - 收入,-1 - 支出") diff --git a/dao/src/main/java/cn/bunny/dao/dto/financial/bill/user/BillAddUserDto.java b/dao/src/main/java/cn/bunny/dao/dto/financial/bill/user/BillAddUserDto.java new file mode 100644 index 0000000..f289df7 --- /dev/null +++ b/dao/src/main/java/cn/bunny/dao/dto/financial/bill/user/BillAddUserDto.java @@ -0,0 +1,46 @@ +package cn.bunny.dao.dto.financial.bill.user; + +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; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Schema(name = "BillAddDto对象", title = "账单信息添加内容", description = "账单信息添加内容") +public class BillAddUserDto { + + @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 = "描述") + private String description; + + @Schema(name = "transactionDate", title = "交易日期") + @NotNull(message = "交易日期不能为空") + @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime transactionDate; + + @Schema(name = "categoryId", title = "类别id") + @NotNull(message = "类别id不能为空") + private Long categoryId; + +} \ No newline at end of file diff --git a/dao/src/main/java/cn/bunny/dao/dto/financial/bill/user/BillUpdateUserDto.java b/dao/src/main/java/cn/bunny/dao/dto/financial/bill/user/BillUpdateUserDto.java new file mode 100644 index 0000000..37e4cd5 --- /dev/null +++ b/dao/src/main/java/cn/bunny/dao/dto/financial/bill/user/BillUpdateUserDto.java @@ -0,0 +1,48 @@ +package cn.bunny.dao.dto.financial.bill.user; + +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; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Schema(name = "BillUpdateDto对象", title = "账单信息更新内容", description = "账单信息更新内容") +public class BillUpdateUserDto { + + @Schema(name = "id", title = "主键") + @NotNull(message = "id不能为空") + private Long id; + + @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 = "描述") + private String description; + + @Schema(name = "transactionDate", title = "交易日期") + @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime transactionDate; + + @Schema(name = "categoryId", title = "类别id") + private Long categoryId; + +} \ No newline at end of file diff --git a/dao/src/main/java/cn/bunny/dao/dto/financial/budgetCategory/BudgetCategoryAddDto.java b/dao/src/main/java/cn/bunny/dao/dto/financial/budgetCategory/admin/BudgetCategoryAddDto.java similarity index 94% rename from dao/src/main/java/cn/bunny/dao/dto/financial/budgetCategory/BudgetCategoryAddDto.java rename to dao/src/main/java/cn/bunny/dao/dto/financial/budgetCategory/admin/BudgetCategoryAddDto.java index 64b2011..2eb2fd8 100644 --- a/dao/src/main/java/cn/bunny/dao/dto/financial/budgetCategory/BudgetCategoryAddDto.java +++ b/dao/src/main/java/cn/bunny/dao/dto/financial/budgetCategory/admin/BudgetCategoryAddDto.java @@ -1,4 +1,4 @@ -package cn.bunny.dao.dto.financial.budgetCategory; +package cn.bunny.dao.dto.financial.budgetCategory.admin; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; @@ -25,7 +25,7 @@ public class BudgetCategoryAddDto { private Long parentId; @Schema(name = "userId", title = "绑定的用户id") - @NotNull(message = "债绑定的用户不能为空") + @NotNull(message = "用户不能为空") private Long userId; @Schema(name = "categoryName", title = "分类名称") diff --git a/dao/src/main/java/cn/bunny/dao/dto/financial/budgetCategory/BudgetCategoryUpdateDto.java b/dao/src/main/java/cn/bunny/dao/dto/financial/budgetCategory/admin/BudgetCategoryUpdateDto.java similarity index 95% rename from dao/src/main/java/cn/bunny/dao/dto/financial/budgetCategory/BudgetCategoryUpdateDto.java rename to dao/src/main/java/cn/bunny/dao/dto/financial/budgetCategory/admin/BudgetCategoryUpdateDto.java index ed608e8..2e1273f 100644 --- a/dao/src/main/java/cn/bunny/dao/dto/financial/budgetCategory/BudgetCategoryUpdateDto.java +++ b/dao/src/main/java/cn/bunny/dao/dto/financial/budgetCategory/admin/BudgetCategoryUpdateDto.java @@ -1,4 +1,4 @@ -package cn.bunny.dao.dto.financial.budgetCategory; +package cn.bunny.dao.dto.financial.budgetCategory.admin; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; @@ -29,7 +29,7 @@ public class BudgetCategoryUpdateDto { private Long parentId; @Schema(name = "userId", title = "绑定的用户id") - @NotNull(message = "债绑定的用户不能为空") + @NotNull(message = "用户不能为空") private Long userId; @Schema(name = "categoryName", title = "分类名称") diff --git a/dao/src/main/java/cn/bunny/dao/dto/financial/budgetCategory/user/BudgetCategoryAddUserDto.java b/dao/src/main/java/cn/bunny/dao/dto/financial/budgetCategory/user/BudgetCategoryAddUserDto.java new file mode 100644 index 0000000..5702cd9 --- /dev/null +++ b/dao/src/main/java/cn/bunny/dao/dto/financial/budgetCategory/user/BudgetCategoryAddUserDto.java @@ -0,0 +1,57 @@ +package cn.bunny.dao.dto.financial.budgetCategory.user; + +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; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Schema(name = "BudgetCategoryAddDto对象", title = "预算分类添加", description = "预算分类添加") +public class BudgetCategoryAddUserDto { + + @Schema(name = "parentId", title = "父级id") + @NotNull(message = "父级id不能为空") + private Long parentId; + + @Schema(name = "categoryName", title = "分类名称") + @NotNull(message = "分类名称不能为空") + @NotBlank(message = "分类名称不能为空") + private String categoryName; + + @Schema(name = "budgetName", title = "预算名称") + @NotNull(message = "预算名称不能为空") + @NotBlank(message = "预算名称不能为空") + private String budgetName; + + @Schema(name = "statusType", title = "完成状态") + @NotNull(message = "完成状态不能为空") + @NotBlank(message = "完成状态不能为空") + private String statusType; + + @Schema(name = "amount", title = "预算金额") + @NotNull(message = "预算金额不能为空") + @Min(value = 0, message = "不能低于0") + private BigDecimal amount; + + @Schema(name = "period", title = "预算周期") + @NotNull(message = "预算周期不能为空") + @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; +} + diff --git a/dao/src/main/java/cn/bunny/dao/dto/financial/budgetCategory/user/BudgetCategoryUpdateUserDto.java b/dao/src/main/java/cn/bunny/dao/dto/financial/budgetCategory/user/BudgetCategoryUpdateUserDto.java new file mode 100644 index 0000000..d0a8aa8 --- /dev/null +++ b/dao/src/main/java/cn/bunny/dao/dto/financial/budgetCategory/user/BudgetCategoryUpdateUserDto.java @@ -0,0 +1,62 @@ +package cn.bunny.dao.dto.financial.budgetCategory.user; + +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; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Schema(name = "BudgetCategoryUpdateDto对象", title = "预算分类更新", description = "预算分类更新") +public class BudgetCategoryUpdateUserDto { + + @Schema(name = "id", title = "主键") + @NotNull(message = "id不能为空") + private Long id; + + @Schema(name = "parentId", title = "父级id") + @NotNull(message = "父级id不能为空") + private Long parentId; + + @Schema(name = "categoryName", title = "分类名称") + @NotNull(message = "分类名称不能为空") + @NotBlank(message = "分类名称不能为空") + private String categoryName; + + @Schema(name = "budgetName", title = "预算名称") + @NotNull(message = "预算名称不能为空") + @NotBlank(message = "预算名称不能为空") + private String budgetName; + + @Schema(name = "statusType", title = "完成状态") + @NotNull(message = "完成状态不能为空") + @NotBlank(message = "完成状态不能为空") + private String statusType; + + @Schema(name = "amount", title = "预算金额") + @NotNull(message = "预算金额不能为空") + @Min(value = 0, message = "不能低于0") + private BigDecimal amount; + + @Schema(name = "period", title = "预算周期") + @NotNull(message = "预算周期不能为空") + @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; + +} + diff --git a/dao/src/main/java/cn/bunny/dao/dto/financial/category/admin/CategoryDto.java b/dao/src/main/java/cn/bunny/dao/dto/financial/category/CategoryDto.java similarity index 92% rename from dao/src/main/java/cn/bunny/dao/dto/financial/category/admin/CategoryDto.java rename to dao/src/main/java/cn/bunny/dao/dto/financial/category/CategoryDto.java index 98c9411..802ec82 100644 --- a/dao/src/main/java/cn/bunny/dao/dto/financial/category/admin/CategoryDto.java +++ b/dao/src/main/java/cn/bunny/dao/dto/financial/category/CategoryDto.java @@ -1,4 +1,4 @@ -package cn.bunny.dao.dto.financial.category.admin; +package cn.bunny.dao.dto.financial.category; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; diff --git a/dao/src/main/java/cn/bunny/dao/dto/financial/category/admin/CategoryAddDto.java b/dao/src/main/java/cn/bunny/dao/dto/financial/category/admin/CategoryAddDto.java index 00eaef9..261531e 100644 --- a/dao/src/main/java/cn/bunny/dao/dto/financial/category/admin/CategoryAddDto.java +++ b/dao/src/main/java/cn/bunny/dao/dto/financial/category/admin/CategoryAddDto.java @@ -16,6 +16,7 @@ import lombok.NoArgsConstructor; public class CategoryAddDto { @Schema(name = "userId", title = "绑定的用户id") + @NotNull(message = "用户不能为空") private Long userId; @Schema(name = "categoryName", title = "分类名称") diff --git a/dao/src/main/java/cn/bunny/dao/dto/financial/category/admin/CategoryUpdateDto.java b/dao/src/main/java/cn/bunny/dao/dto/financial/category/admin/CategoryUpdateDto.java index e6937f0..06e3e4a 100644 --- a/dao/src/main/java/cn/bunny/dao/dto/financial/category/admin/CategoryUpdateDto.java +++ b/dao/src/main/java/cn/bunny/dao/dto/financial/category/admin/CategoryUpdateDto.java @@ -20,6 +20,7 @@ public class CategoryUpdateDto { private Long id; @Schema(name = "userId", title = "绑定的用户id") + @NotNull(message = "用户不能为空") private Long userId; @Schema(name = "categoryName", title = "分类名称") diff --git a/dao/src/main/java/cn/bunny/dao/dto/financial/debtRepaymentPlan/DebtRepaymentPlanAddDto.java b/dao/src/main/java/cn/bunny/dao/dto/financial/debtRepaymentPlan/admin/DebtRepaymentPlanAddDto.java similarity index 94% rename from dao/src/main/java/cn/bunny/dao/dto/financial/debtRepaymentPlan/DebtRepaymentPlanAddDto.java rename to dao/src/main/java/cn/bunny/dao/dto/financial/debtRepaymentPlan/admin/DebtRepaymentPlanAddDto.java index e7236f4..463605d 100644 --- a/dao/src/main/java/cn/bunny/dao/dto/financial/debtRepaymentPlan/DebtRepaymentPlanAddDto.java +++ b/dao/src/main/java/cn/bunny/dao/dto/financial/debtRepaymentPlan/admin/DebtRepaymentPlanAddDto.java @@ -1,4 +1,4 @@ -package cn.bunny.dao.dto.financial.debtRepaymentPlan; +package cn.bunny.dao.dto.financial.debtRepaymentPlan.admin; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; @@ -21,6 +21,7 @@ import java.time.LocalDateTime; public class DebtRepaymentPlanAddDto { @Schema(name = "userId", title = "绑定的用户id") + @NotNull(message = "用户不能为空") private Long userId; @Schema(name = "installmentNumber", title = "债务金额") diff --git a/dao/src/main/java/cn/bunny/dao/dto/financial/debtRepaymentPlan/DebtRepaymentPlanUpdateDto.java b/dao/src/main/java/cn/bunny/dao/dto/financial/debtRepaymentPlan/admin/DebtRepaymentPlanUpdateDto.java similarity index 94% rename from dao/src/main/java/cn/bunny/dao/dto/financial/debtRepaymentPlan/DebtRepaymentPlanUpdateDto.java rename to dao/src/main/java/cn/bunny/dao/dto/financial/debtRepaymentPlan/admin/DebtRepaymentPlanUpdateDto.java index 86cc58d..b389013 100644 --- a/dao/src/main/java/cn/bunny/dao/dto/financial/debtRepaymentPlan/DebtRepaymentPlanUpdateDto.java +++ b/dao/src/main/java/cn/bunny/dao/dto/financial/debtRepaymentPlan/admin/DebtRepaymentPlanUpdateDto.java @@ -1,4 +1,4 @@ -package cn.bunny.dao.dto.financial.debtRepaymentPlan; +package cn.bunny.dao.dto.financial.debtRepaymentPlan.admin; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; @@ -25,6 +25,7 @@ public class DebtRepaymentPlanUpdateDto { private Long id; @Schema(name = "userId", title = "绑定的用户id") + @NotNull(message = "用户不能为空") private Long userId; @Schema(name = "installmentNumber", title = "债务金额") diff --git a/dao/src/main/java/cn/bunny/dao/dto/financial/debtRepaymentPlan/user/DebtRepaymentPlanAddUserDto.java b/dao/src/main/java/cn/bunny/dao/dto/financial/debtRepaymentPlan/user/DebtRepaymentPlanAddUserDto.java new file mode 100644 index 0000000..fc9f82d --- /dev/null +++ b/dao/src/main/java/cn/bunny/dao/dto/financial/debtRepaymentPlan/user/DebtRepaymentPlanAddUserDto.java @@ -0,0 +1,46 @@ +package cn.bunny.dao.dto.financial.debtRepaymentPlan.user; + +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; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Schema(name = "CategoryUserAddDto对象", title = "债务还款计划表添加", description = "债务还款计划表添加") +public class DebtRepaymentPlanAddUserDto { + + @Schema(name = "installmentNumber", title = "债务金额") + @NotNull(message = "债务金额不能为空") + private BigDecimal installmentNumber; + + @Schema(name = "installmentAmount", title = "每期应还金额") + @NotNull(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 = "已还金额") + @NotNull(message = "已还金额不能为空") + @Min(value = 0, message = "金额格式不正确") + private BigDecimal paidAmount; + + @Schema(name = "paymentStatus", title = "还款状态") + @NotNull(message = "还款状态不能为空") + @NotBlank(message = "还款状态不能为空") + private String paymentStatus; + +} diff --git a/dao/src/main/java/cn/bunny/dao/dto/financial/debtRepaymentPlan/user/DebtRepaymentPlanUpdateUserDto.java b/dao/src/main/java/cn/bunny/dao/dto/financial/debtRepaymentPlan/user/DebtRepaymentPlanUpdateUserDto.java new file mode 100644 index 0000000..34e2469 --- /dev/null +++ b/dao/src/main/java/cn/bunny/dao/dto/financial/debtRepaymentPlan/user/DebtRepaymentPlanUpdateUserDto.java @@ -0,0 +1,50 @@ +package cn.bunny.dao.dto.financial.debtRepaymentPlan.user; + +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; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Schema(name = "DebtRepaymentPlanUpdateDto对象", title = "债务还款计划更新", description = "债务还款计划更新") +public class DebtRepaymentPlanUpdateUserDto { + + @Schema(name = "id", title = "主键") + @NotNull(message = "id不能为空") + private Long id; + + @Schema(name = "installmentNumber", title = "债务金额") + @NotNull(message = "债务金额不能为空") + private BigDecimal installmentNumber; + + @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 = "已还金额") + @NotNull(message = "已还金额不能为空") + private BigDecimal paidAmount; + + @Schema(name = "paymentStatus", title = "还款状态") + @NotNull(message = "还款状态不能为空") + @NotBlank(message = "还款状态不能为空") + private String paymentStatus; + +} \ No newline at end of file diff --git a/dao/src/main/java/cn/bunny/dao/dto/financial/debtTracking/DebtTrackingAddDto.java b/dao/src/main/java/cn/bunny/dao/dto/financial/debtTracking/admin/DebtTrackingAddDto.java similarity index 94% rename from dao/src/main/java/cn/bunny/dao/dto/financial/debtTracking/DebtTrackingAddDto.java rename to dao/src/main/java/cn/bunny/dao/dto/financial/debtTracking/admin/DebtTrackingAddDto.java index 2f59263..2c342cc 100644 --- a/dao/src/main/java/cn/bunny/dao/dto/financial/debtTracking/DebtTrackingAddDto.java +++ b/dao/src/main/java/cn/bunny/dao/dto/financial/debtTracking/admin/DebtTrackingAddDto.java @@ -1,4 +1,4 @@ -package cn.bunny.dao.dto.financial.debtTracking; +package cn.bunny.dao.dto.financial.debtTracking.admin; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; @@ -21,7 +21,7 @@ import java.time.LocalDateTime; public class DebtTrackingAddDto { @Schema(name = "userId", title = "绑定的用户") - @NotNull(message = "债务不能为空") + @NotNull(message = "用户不能为空") private Long userId; @Schema(name = "debtorName", title = "债务人姓名") diff --git a/dao/src/main/java/cn/bunny/dao/dto/financial/debtTracking/DebtTrackingUpdateDto.java b/dao/src/main/java/cn/bunny/dao/dto/financial/debtTracking/admin/DebtTrackingUpdateDto.java similarity index 94% rename from dao/src/main/java/cn/bunny/dao/dto/financial/debtTracking/DebtTrackingUpdateDto.java rename to dao/src/main/java/cn/bunny/dao/dto/financial/debtTracking/admin/DebtTrackingUpdateDto.java index 710a812..46cb487 100644 --- a/dao/src/main/java/cn/bunny/dao/dto/financial/debtTracking/DebtTrackingUpdateDto.java +++ b/dao/src/main/java/cn/bunny/dao/dto/financial/debtTracking/admin/DebtTrackingUpdateDto.java @@ -1,4 +1,4 @@ -package cn.bunny.dao.dto.financial.debtTracking; +package cn.bunny.dao.dto.financial.debtTracking.admin; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; @@ -25,6 +25,7 @@ public class DebtTrackingUpdateDto { private Long id; @Schema(name = "userId", title = "绑定的用户") + @NotNull(message = "用户不能为空") private Long userId; @Schema(name = "debtorName", title = "债务人姓名") diff --git a/dao/src/main/java/cn/bunny/dao/dto/financial/debtTracking/user/DebtTrackingAddUserDto.java b/dao/src/main/java/cn/bunny/dao/dto/financial/debtTracking/user/DebtTrackingAddUserDto.java new file mode 100644 index 0000000..a6d10a5 --- /dev/null +++ b/dao/src/main/java/cn/bunny/dao/dto/financial/debtTracking/user/DebtTrackingAddUserDto.java @@ -0,0 +1,49 @@ +package cn.bunny.dao.dto.financial.debtTracking.user; + +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; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Schema(name = "DebtTrackingAddDto对象", title = "债务追踪添加", description = "债务追踪") +public class DebtTrackingAddUserDto { + + @Schema(name = "debtorName", title = "债务人姓名") + @NotNull(message = "债务人姓名不能为空") + @NotBlank(message = "债务人姓名不能为空") + private String debtorName; + + @Schema(name = "debtAmount", title = "债务金额") + @NotNull(message = "债务不能为空") + @Min(value = 0, message = "金额格式不正确") + private BigDecimal debtAmount; + + @Schema(name = "debtType", title = "债务类型") + @NotNull(message = "债务类型不能为空") + @NotBlank(message = "债务类型不能为空") + private String debtType; + + @Schema(name = "debtStatus", title = "债务状态") + @NotNull(message = "债务状态不能为空") + @NotBlank(message = "债务状态不能为空") + private String debtStatus; + + @Schema(name = "dueDate", title = "还款截止日期") + @NotNull(message = "债务不能为空") + @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime dueDate; + +} + diff --git a/dao/src/main/java/cn/bunny/dao/dto/financial/debtTracking/user/DebtTrackingUpdateUserDto.java b/dao/src/main/java/cn/bunny/dao/dto/financial/debtTracking/user/DebtTrackingUpdateUserDto.java new file mode 100644 index 0000000..d37eeaa --- /dev/null +++ b/dao/src/main/java/cn/bunny/dao/dto/financial/debtTracking/user/DebtTrackingUpdateUserDto.java @@ -0,0 +1,52 @@ +package cn.bunny.dao.dto.financial.debtTracking.user; + +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; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Schema(name = "DebtTrackingUpdateDto对象", title = "债务追踪更新", description = "债务追踪更新") +public class DebtTrackingUpdateUserDto { + + @Schema(name = "id", title = "主键") + @NotNull(message = "id不能为空") + private Long id; + + @Schema(name = "debtorName", title = "债务人姓名") + @NotNull(message = "债务人姓名不能为空") + @NotBlank(message = "债务人姓名不能为空") + private String debtorName; + + @Schema(name = "debtAmount", title = "债务金额") + @NotNull(message = "债务不能为空") + @Min(value = 0, message = "金额格式不正确") + private BigDecimal debtAmount; + + @Schema(name = "debtType", title = "债务类型") + @NotNull(message = "债务类型不能为空") + @NotBlank(message = "债务类型不能为空") + private String debtType; + + @Schema(name = "debtStatus", title = "债务状态") + @NotNull(message = "债务状态不能为空") + @NotBlank(message = "债务状态不能为空") + private String debtStatus; + + @Schema(name = "dueDate", title = "还款截止日期") + @NotNull(message = "债务不能为空") + @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime dueDate; + +} diff --git a/dao/src/main/java/cn/bunny/dao/dto/financial/savingGoal/SavingGoalAddDto.java b/dao/src/main/java/cn/bunny/dao/dto/financial/savingGoal/admin/SavingGoalAddDto.java similarity index 94% rename from dao/src/main/java/cn/bunny/dao/dto/financial/savingGoal/SavingGoalAddDto.java rename to dao/src/main/java/cn/bunny/dao/dto/financial/savingGoal/admin/SavingGoalAddDto.java index e61d9ca..e04c308 100644 --- a/dao/src/main/java/cn/bunny/dao/dto/financial/savingGoal/SavingGoalAddDto.java +++ b/dao/src/main/java/cn/bunny/dao/dto/financial/savingGoal/admin/SavingGoalAddDto.java @@ -1,4 +1,4 @@ -package cn.bunny.dao.dto.financial.savingGoal; +package cn.bunny.dao.dto.financial.savingGoal.admin; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; @@ -21,7 +21,7 @@ import java.time.LocalDateTime; public class SavingGoalAddDto { @Schema(name = "userId", title = "绑定的用户id") - @NotNull(message = "用户id不能为空") + @NotNull(message = "用户不能为空") private Long userId; @Schema(name = "statusType", title = "完成状态") diff --git a/dao/src/main/java/cn/bunny/dao/dto/financial/savingGoal/SavingGoalUpdateDto.java b/dao/src/main/java/cn/bunny/dao/dto/financial/savingGoal/admin/SavingGoalUpdateDto.java similarity index 95% rename from dao/src/main/java/cn/bunny/dao/dto/financial/savingGoal/SavingGoalUpdateDto.java rename to dao/src/main/java/cn/bunny/dao/dto/financial/savingGoal/admin/SavingGoalUpdateDto.java index 26259aa..1bbda47 100644 --- a/dao/src/main/java/cn/bunny/dao/dto/financial/savingGoal/SavingGoalUpdateDto.java +++ b/dao/src/main/java/cn/bunny/dao/dto/financial/savingGoal/admin/SavingGoalUpdateDto.java @@ -1,4 +1,4 @@ -package cn.bunny.dao.dto.financial.savingGoal; +package cn.bunny.dao.dto.financial.savingGoal.admin; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; @@ -25,7 +25,7 @@ public class SavingGoalUpdateDto { private Long id; @Schema(name = "userId", title = "绑定的用户id") - @NotNull(message = "用户id不能为空") + @NotNull(message = "用户不能为空") private Long userId; @Schema(name = "statusType", title = "完成状态") diff --git a/dao/src/main/java/cn/bunny/dao/dto/financial/savingGoal/user/SavingGoalAddUserDto.java b/dao/src/main/java/cn/bunny/dao/dto/financial/savingGoal/user/SavingGoalAddUserDto.java new file mode 100644 index 0000000..d96c928 --- /dev/null +++ b/dao/src/main/java/cn/bunny/dao/dto/financial/savingGoal/user/SavingGoalAddUserDto.java @@ -0,0 +1,48 @@ +package cn.bunny.dao.dto.financial.savingGoal.user; + +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; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Schema(name = "SavingGoalAddDto对象", title = "用户储值添加", description = "用户储值添加") +public class SavingGoalAddUserDto { + + @Schema(name = "statusType", title = "完成状态") + @NotNull(message = "完成状态不能为空") + @NotBlank(message = "完成状态不能为空") + private String statusType; + + @Schema(name = "savingGoalName", title = "储值目标名称") + @NotNull(message = "储值目标名称不能为空") + @NotBlank(message = "储值目标名称不能为空") + private String savingGoalName; + + @Schema(name = "amount", title = "目标金额") + @NotNull(message = "目标金额不能为空") + @Min(value = 0, message = "储蓄值不能小于0") + private BigDecimal amount; + + @Schema(name = "startDuration", title = "开始目标时长") + @NotNull(message = "开始目标时长不能为空") + @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime startDuration; + + @Schema(name = "endDuration", title = "结束目标时长") + @NotNull(message = "结束目标时长不能为空") + @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime endDuration; + +} \ No newline at end of file diff --git a/dao/src/main/java/cn/bunny/dao/dto/financial/savingGoal/user/SavingGoalUpdateUserDto.java b/dao/src/main/java/cn/bunny/dao/dto/financial/savingGoal/user/SavingGoalUpdateUserDto.java new file mode 100644 index 0000000..51a799d --- /dev/null +++ b/dao/src/main/java/cn/bunny/dao/dto/financial/savingGoal/user/SavingGoalUpdateUserDto.java @@ -0,0 +1,52 @@ +package cn.bunny.dao.dto.financial.savingGoal.user; + +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; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Schema(name = "SavingGoalUpdateDto对象", title = "用户储值更新", description = "用户储值更新") +public class SavingGoalUpdateUserDto { + + @Schema(name = "id", title = "主键") + @NotNull(message = "id不能为空") + private Long id; + + @Schema(name = "statusType", title = "完成状态") + @NotNull(message = "完成状态不能为空") + @NotBlank(message = "完成状态不能为空") + private String statusType; + + @Schema(name = "savingGoalName", title = "储值目标名称") + @NotNull(message = "储值目标名称不能为空") + @NotBlank(message = "储值目标名称不能为空") + private String savingGoalName; + + @Schema(name = "amount", title = "目标金额") + @NotNull(message = "目标金额不能为空") + @Min(value = 0, message = "金额格式不正确") + private BigDecimal amount; + + @Schema(name = "startDuration", title = "开始目标时长") + @NotNull(message = "开始目标时长不能为空") + @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime startDuration; + + @Schema(name = "endDuration", title = "结束目标时长") + @NotNull(message = "结束目标时长不能为空") + @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime endDuration; + +} diff --git a/dao/src/main/java/cn/bunny/dao/vo/financial/admin/BudgetCategoryParentVo.java b/dao/src/main/java/cn/bunny/dao/vo/financial/BudgetCategoryParentVo.java similarity index 96% rename from dao/src/main/java/cn/bunny/dao/vo/financial/admin/BudgetCategoryParentVo.java rename to dao/src/main/java/cn/bunny/dao/vo/financial/BudgetCategoryParentVo.java index a94e3a2..dae9738 100644 --- a/dao/src/main/java/cn/bunny/dao/vo/financial/admin/BudgetCategoryParentVo.java +++ b/dao/src/main/java/cn/bunny/dao/vo/financial/BudgetCategoryParentVo.java @@ -1,4 +1,4 @@ -package cn.bunny.dao.vo.financial.admin; +package cn.bunny.dao.vo.financial; import com.alibaba.fastjson2.annotation.JSONField; import com.fasterxml.jackson.annotation.JsonFormat; diff --git a/dao/src/main/java/cn/bunny/dao/vo/financial/user/BudgetCategoryUserVo.java b/dao/src/main/java/cn/bunny/dao/vo/financial/user/BudgetCategoryUserVo.java new file mode 100644 index 0000000..a493ad1 --- /dev/null +++ b/dao/src/main/java/cn/bunny/dao/vo/financial/user/BudgetCategoryUserVo.java @@ -0,0 +1,54 @@ +package cn.bunny.dao.vo.financial.user; + +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 +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Schema(name = "BudgetCategoryVo对象", title = "预算分类查询返回对象", description = "预算分类查询返回对象") +public class BudgetCategoryUserVo extends BaseUserVo { + + @Schema(name = "parentId", title = "父级id") + @JsonFormat(shape = JsonFormat.Shape.STRING) + @JSONField(serializeUsing = ToStringSerializer.class) + private Long parentId; + + @Schema(name = "categoryName", title = "分类名称") + private String categoryName; + + @Schema(name = "budgetName", title = "预算名称") + private String budgetName; + + @Schema(name = "statusType", title = "完成状态") + private String statusType; + + @Schema(name = "amount", title = "预算金额") + private BigDecimal amount; + + @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 = "endPeriod", title = "预算周期") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonSerialize(using = LocalDateTimeSerializer.class) + @JsonDeserialize(using = LocalDateTimeDeserializer.class) + private LocalDateTime endPeriod; + +} \ No newline at end of file diff --git a/service/src/main/java/cn/bunny/services/controller/financial/BillController.java b/service/src/main/java/cn/bunny/services/controller/financial/BillController.java index 182e2d9..d8ac91e 100644 --- a/service/src/main/java/cn/bunny/services/controller/financial/BillController.java +++ b/service/src/main/java/cn/bunny/services/controller/financial/BillController.java @@ -1,9 +1,10 @@ package cn.bunny.services.controller.financial; -import cn.bunny.common.service.context.BaseContext; -import cn.bunny.dao.dto.financial.bill.BillAddDto; import cn.bunny.dao.dto.financial.bill.BillDto; -import cn.bunny.dao.dto.financial.bill.BillUpdateDto; +import cn.bunny.dao.dto.financial.bill.admin.BillAddDto; +import cn.bunny.dao.dto.financial.bill.admin.BillUpdateDto; +import cn.bunny.dao.dto.financial.bill.user.BillAddUserDto; +import cn.bunny.dao.dto.financial.bill.user.BillUpdateUserDto; import cn.bunny.dao.entity.financial.Bill; import cn.bunny.dao.pojo.result.PageResult; import cn.bunny.dao.pojo.result.Result; @@ -73,9 +74,8 @@ public class BillController { @Operation(summary = "用户添加账单信息", description = "用户添加账单信息") @PostMapping("noManage/addUserBill") - public Mono> addUserBill(@Valid @RequestBody BillAddDto dto) { - dto.setUserId(BaseContext.getUserId()); - billService.addBill(dto); + public Mono> addUserBill(@Valid @RequestBody BillAddUserDto dto) { + billService.addUserBill(dto); return Mono.just(Result.success(ResultCodeEnum.ADD_SUCCESS)); } @@ -88,9 +88,8 @@ public class BillController { @Operation(summary = "用户更新账单信息", description = "用户更新账单信息") @PutMapping("noManage/updateUserBill") - public Mono> updateUserBill(@Valid @RequestBody BillUpdateDto dto) { - dto.setUserId(BaseContext.getUserId()); - billService.updateBill(dto); + public Mono> updateUserBill(@Valid @RequestBody BillUpdateUserDto dto) { + billService.updateUserBill(dto); return Mono.just(Result.success(ResultCodeEnum.UPDATE_SUCCESS)); } diff --git a/service/src/main/java/cn/bunny/services/controller/financial/BudgetCategoryController.java b/service/src/main/java/cn/bunny/services/controller/financial/BudgetCategoryController.java index 78d00c8..0100354 100644 --- a/service/src/main/java/cn/bunny/services/controller/financial/BudgetCategoryController.java +++ b/service/src/main/java/cn/bunny/services/controller/financial/BudgetCategoryController.java @@ -1,14 +1,17 @@ package cn.bunny.services.controller.financial; -import cn.bunny.dao.dto.financial.budgetCategory.BudgetCategoryAddDto; import cn.bunny.dao.dto.financial.budgetCategory.BudgetCategoryDto; -import cn.bunny.dao.dto.financial.budgetCategory.BudgetCategoryUpdateDto; +import cn.bunny.dao.dto.financial.budgetCategory.admin.BudgetCategoryAddDto; +import cn.bunny.dao.dto.financial.budgetCategory.admin.BudgetCategoryUpdateDto; +import cn.bunny.dao.dto.financial.budgetCategory.user.BudgetCategoryAddUserDto; +import cn.bunny.dao.dto.financial.budgetCategory.user.BudgetCategoryUpdateUserDto; import cn.bunny.dao.entity.financial.BudgetCategory; import cn.bunny.dao.pojo.result.PageResult; import cn.bunny.dao.pojo.result.Result; import cn.bunny.dao.pojo.result.ResultCodeEnum; -import cn.bunny.dao.vo.financial.admin.BudgetCategoryParentVo; +import cn.bunny.dao.vo.financial.BudgetCategoryParentVo; import cn.bunny.dao.vo.financial.admin.BudgetCategoryVo; +import cn.bunny.dao.vo.financial.user.BudgetCategoryUserVo; import cn.bunny.services.service.financial.BudgetCategoryService; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.v3.oas.annotations.Operation; @@ -37,6 +40,20 @@ public class BudgetCategoryController { @Autowired private BudgetCategoryService budgetCategoryService; + @Operation(summary = "返回所有父级对象", description = "返回所有父级对象") + @GetMapping("noManage/getAllParentList") + public Mono>> getAllParentList(@RequestBody(required = false) Long userId) { + List voList = budgetCategoryService.getAllParentList(userId); + return Mono.just(Result.success(voList)); + } + + @Operation(summary = "返回当前用户所有父级对象", description = "返回当前用户所有父级对象") + @GetMapping("noManage/getAllUserParentList") + public Mono>> getAllUserParentList() { + List voList = budgetCategoryService.getAllUserParentList(); + return Mono.just(Result.success(voList)); + } + @Operation(summary = "分页查询预算分类表", description = "分页查询预算分类表") @GetMapping("getBudgetCategoryList/{page}/{limit}") public Mono>> getBudgetCategoryList( @@ -50,11 +67,17 @@ public class BudgetCategoryController { return Mono.just(Result.success(pageResult)); } - @Operation(summary = "返回所有父级对象", description = "返回所有父级对象") - @GetMapping("noManage/getAllParentList") - public Mono>> getAllParentList() { - List voList = budgetCategoryService.getAllParentList(); - return Mono.just(Result.success(voList)); + @Operation(summary = "用户分页查询预算分类表", description = "用户分页查询预算分类表") + @GetMapping("noManage/getUserBudgetCategoryList/{page}/{limit}") + public Mono>> getUserBudgetCategoryList( + @Parameter(name = "page", description = "当前页", required = true) + @PathVariable("page") Integer page, + @Parameter(name = "limit", description = "每页记录数", required = true) + @PathVariable("limit") Integer limit, + BudgetCategoryDto dto) { + Page pageParams = new Page<>(page, limit); + PageResult pageResult = budgetCategoryService.getUserBudgetCategoryList(pageParams, dto); + return Mono.just(Result.success(pageResult)); } @Operation(summary = "添加预算分类表", description = "添加预算分类表") @@ -64,6 +87,13 @@ public class BudgetCategoryController { return Mono.just(Result.success(ResultCodeEnum.ADD_SUCCESS)); } + @Operation(summary = "用户添加预算分类表", description = "用户添加预算分类表") + @PostMapping("noManage/addUserBudgetCategory") + public Mono> addUserBudgetCategory(@Valid @RequestBody BudgetCategoryAddUserDto dto) { + budgetCategoryService.addUserBudgetCategory(dto); + return Mono.just(Result.success(ResultCodeEnum.ADD_SUCCESS)); + } + @Operation(summary = "更新预算分类表", description = "更新预算分类表") @PutMapping("updateBudgetCategory") public Mono> updateBudgetCategory(@Valid @RequestBody BudgetCategoryUpdateDto dto) { @@ -71,10 +101,24 @@ public class BudgetCategoryController { return Mono.just(Result.success(ResultCodeEnum.UPDATE_SUCCESS)); } + @Operation(summary = "用户更新预算分类表", description = "用户更新预算分类表") + @PutMapping("noManage/updateUserBudgetCategory") + public Mono> updateUserBudgetCategory(@Valid @RequestBody BudgetCategoryUpdateUserDto dto) { + budgetCategoryService.updateUserBudgetCategory(dto); + return Mono.just(Result.success(ResultCodeEnum.UPDATE_SUCCESS)); + } + @Operation(summary = "删除预算分类表", description = "删除预算分类表") @DeleteMapping("deleteBudgetCategory") public Mono> deleteBudgetCategory(@RequestBody List ids) { budgetCategoryService.deleteBudgetCategory(ids); return Mono.just(Result.success(ResultCodeEnum.DELETE_SUCCESS)); } + + @Operation(summary = "用户删除预算分类表", description = "用户删除预算分类表") + @DeleteMapping("noManage/deleteUserBudgetCategory") + public Mono> deleteUserBudgetCategory(@RequestBody List ids) { + budgetCategoryService.deleteUserBudgetCategory(ids); + return Mono.just(Result.success(ResultCodeEnum.DELETE_SUCCESS)); + } } diff --git a/service/src/main/java/cn/bunny/services/controller/financial/CategoryController.java b/service/src/main/java/cn/bunny/services/controller/financial/CategoryController.java index 9337d1d..6a80354 100644 --- a/service/src/main/java/cn/bunny/services/controller/financial/CategoryController.java +++ b/service/src/main/java/cn/bunny/services/controller/financial/CategoryController.java @@ -1,9 +1,9 @@ package cn.bunny.services.controller.financial; +import cn.bunny.dao.dto.financial.budgetCategory.user.BudgetCategoryAddUserDto; +import cn.bunny.dao.dto.financial.category.CategoryDto; import cn.bunny.dao.dto.financial.category.admin.CategoryAddDto; -import cn.bunny.dao.dto.financial.category.admin.CategoryDto; import cn.bunny.dao.dto.financial.category.admin.CategoryUpdateDto; -import cn.bunny.dao.dto.financial.category.user.CategoryUserAddDto; import cn.bunny.dao.dto.financial.category.user.CategoryUserUpdateDto; import cn.bunny.dao.entity.financial.Category; import cn.bunny.dao.pojo.result.PageResult; @@ -81,7 +81,7 @@ public class CategoryController { @Operation(summary = "用戶分类添加分类信息", description = "用戶分类添加分类信息") @PostMapping("noManage/addCategoryUser") - public Mono> addCategoryUser(@Valid @RequestBody CategoryUserAddDto dto) { + public Mono> addCategoryUser(@Valid @RequestBody BudgetCategoryAddUserDto dto) { categoryService.addCategoryUser(dto); return Mono.just(Result.success(ResultCodeEnum.ADD_SUCCESS)); } diff --git a/service/src/main/java/cn/bunny/services/controller/financial/DebtRepaymentPlanController.java b/service/src/main/java/cn/bunny/services/controller/financial/DebtRepaymentPlanController.java index 8725ad0..25cc19f 100644 --- a/service/src/main/java/cn/bunny/services/controller/financial/DebtRepaymentPlanController.java +++ b/service/src/main/java/cn/bunny/services/controller/financial/DebtRepaymentPlanController.java @@ -1,8 +1,8 @@ package cn.bunny.services.controller.financial; -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.dto.financial.debtRepaymentPlan.admin.DebtRepaymentPlanAddDto; +import cn.bunny.dao.dto.financial.debtRepaymentPlan.admin.DebtRepaymentPlanUpdateDto; import cn.bunny.dao.entity.financial.DebtRepaymentPlan; import cn.bunny.dao.pojo.result.PageResult; import cn.bunny.dao.pojo.result.Result; diff --git a/service/src/main/java/cn/bunny/services/controller/financial/DebtTrackingController.java b/service/src/main/java/cn/bunny/services/controller/financial/DebtTrackingController.java index 321168e..1af3b00 100644 --- a/service/src/main/java/cn/bunny/services/controller/financial/DebtTrackingController.java +++ b/service/src/main/java/cn/bunny/services/controller/financial/DebtTrackingController.java @@ -1,8 +1,8 @@ package cn.bunny.services.controller.financial; -import cn.bunny.dao.dto.financial.debtTracking.DebtTrackingAddDto; import cn.bunny.dao.dto.financial.debtTracking.DebtTrackingDto; -import cn.bunny.dao.dto.financial.debtTracking.DebtTrackingUpdateDto; +import cn.bunny.dao.dto.financial.debtTracking.admin.DebtTrackingAddDto; +import cn.bunny.dao.dto.financial.debtTracking.admin.DebtTrackingUpdateDto; import cn.bunny.dao.entity.financial.DebtTracking; import cn.bunny.dao.pojo.result.PageResult; import cn.bunny.dao.pojo.result.Result; diff --git a/service/src/main/java/cn/bunny/services/controller/financial/SavingGoalController.java b/service/src/main/java/cn/bunny/services/controller/financial/SavingGoalController.java index 395b893..5454503 100644 --- a/service/src/main/java/cn/bunny/services/controller/financial/SavingGoalController.java +++ b/service/src/main/java/cn/bunny/services/controller/financial/SavingGoalController.java @@ -1,8 +1,8 @@ package cn.bunny.services.controller.financial; -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.dto.financial.savingGoal.admin.SavingGoalAddDto; +import cn.bunny.dao.dto.financial.savingGoal.admin.SavingGoalUpdateDto; import cn.bunny.dao.entity.financial.SavingGoal; import cn.bunny.dao.pojo.result.PageResult; import cn.bunny.dao.pojo.result.Result; diff --git a/service/src/main/java/cn/bunny/services/mapper/financial/CategoryMapper.java b/service/src/main/java/cn/bunny/services/mapper/financial/CategoryMapper.java index 3428beb..ac88298 100644 --- a/service/src/main/java/cn/bunny/services/mapper/financial/CategoryMapper.java +++ b/service/src/main/java/cn/bunny/services/mapper/financial/CategoryMapper.java @@ -1,6 +1,6 @@ package cn.bunny.services.mapper.financial; -import cn.bunny.dao.dto.financial.category.admin.CategoryDto; +import cn.bunny.dao.dto.financial.category.CategoryDto; import cn.bunny.dao.entity.financial.Category; import cn.bunny.dao.vo.financial.admin.CategoryVo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; diff --git a/service/src/main/java/cn/bunny/services/service/financial/BillService.java b/service/src/main/java/cn/bunny/services/service/financial/BillService.java index 83c1191..ce56f96 100644 --- a/service/src/main/java/cn/bunny/services/service/financial/BillService.java +++ b/service/src/main/java/cn/bunny/services/service/financial/BillService.java @@ -1,8 +1,10 @@ package cn.bunny.services.service.financial; -import cn.bunny.dao.dto.financial.bill.BillAddDto; import cn.bunny.dao.dto.financial.bill.BillDto; -import cn.bunny.dao.dto.financial.bill.BillUpdateDto; +import cn.bunny.dao.dto.financial.bill.admin.BillAddDto; +import cn.bunny.dao.dto.financial.bill.admin.BillUpdateDto; +import cn.bunny.dao.dto.financial.bill.user.BillAddUserDto; +import cn.bunny.dao.dto.financial.bill.user.BillUpdateUserDto; import cn.bunny.dao.entity.financial.Bill; import cn.bunny.dao.pojo.result.PageResult; import cn.bunny.dao.vo.financial.admin.BillVo; @@ -63,4 +65,18 @@ public interface BillService extends IService { * @param ids 删除的ids */ void deleteBill(List ids); + + /** + * 用户添加账单信息 + * + * @param dto 添加表单 + */ + void addUserBill(BillAddUserDto dto); + + /** + * 用户更新账单信息 + * + * @param dto 更新表单 + */ + void updateUserBill(BillUpdateUserDto dto); } diff --git a/service/src/main/java/cn/bunny/services/service/financial/BudgetCategoryService.java b/service/src/main/java/cn/bunny/services/service/financial/BudgetCategoryService.java index b372640..dd62536 100644 --- a/service/src/main/java/cn/bunny/services/service/financial/BudgetCategoryService.java +++ b/service/src/main/java/cn/bunny/services/service/financial/BudgetCategoryService.java @@ -1,12 +1,15 @@ package cn.bunny.services.service.financial; -import cn.bunny.dao.dto.financial.budgetCategory.BudgetCategoryAddDto; import cn.bunny.dao.dto.financial.budgetCategory.BudgetCategoryDto; -import cn.bunny.dao.dto.financial.budgetCategory.BudgetCategoryUpdateDto; +import cn.bunny.dao.dto.financial.budgetCategory.admin.BudgetCategoryAddDto; +import cn.bunny.dao.dto.financial.budgetCategory.admin.BudgetCategoryUpdateDto; +import cn.bunny.dao.dto.financial.budgetCategory.user.BudgetCategoryAddUserDto; +import cn.bunny.dao.dto.financial.budgetCategory.user.BudgetCategoryUpdateUserDto; import cn.bunny.dao.entity.financial.BudgetCategory; import cn.bunny.dao.pojo.result.PageResult; -import cn.bunny.dao.vo.financial.admin.BudgetCategoryParentVo; +import cn.bunny.dao.vo.financial.BudgetCategoryParentVo; import cn.bunny.dao.vo.financial.admin.BudgetCategoryVo; +import cn.bunny.dao.vo.financial.user.BudgetCategoryUserVo; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import jakarta.validation.Valid; @@ -56,5 +59,42 @@ public interface BudgetCategoryService extends IService { * * @return 父级列表 */ - List getAllParentList(); + List getAllParentList(Long userId); + + /** + * 用户分页查询预算分类表 + * + * @param pageParams 分页参数 + * @param dto 查询表单 + * @return 分页返回结果 + */ + PageResult getUserBudgetCategoryList(Page pageParams, BudgetCategoryDto dto); + + /** + * 用户删除预算分类表 + * + * @param ids 删除id列表 + */ + void deleteUserBudgetCategory(List ids); + + /** + * 返回当前用户所有父级对象 + * + * @return 所有父级列表 + */ + List getAllUserParentList(); + + /** + * 用户添加预算分类表 + * + * @param dto 添加表单 + */ + void addUserBudgetCategory(BudgetCategoryAddUserDto dto); + + /** + * 用户更新预算分类表 + * + * @param dto 更新表单 + */ + void updateUserBudgetCategory(BudgetCategoryUpdateUserDto dto); } diff --git a/service/src/main/java/cn/bunny/services/service/financial/CategoryService.java b/service/src/main/java/cn/bunny/services/service/financial/CategoryService.java index 6ec910c..6ff00b7 100644 --- a/service/src/main/java/cn/bunny/services/service/financial/CategoryService.java +++ b/service/src/main/java/cn/bunny/services/service/financial/CategoryService.java @@ -1,9 +1,9 @@ package cn.bunny.services.service.financial; +import cn.bunny.dao.dto.financial.budgetCategory.user.BudgetCategoryAddUserDto; +import cn.bunny.dao.dto.financial.category.CategoryDto; import cn.bunny.dao.dto.financial.category.admin.CategoryAddDto; -import cn.bunny.dao.dto.financial.category.admin.CategoryDto; import cn.bunny.dao.dto.financial.category.admin.CategoryUpdateDto; -import cn.bunny.dao.dto.financial.category.user.CategoryUserAddDto; import cn.bunny.dao.dto.financial.category.user.CategoryUserUpdateDto; import cn.bunny.dao.entity.financial.Category; import cn.bunny.dao.pojo.result.PageResult; @@ -58,7 +58,7 @@ public interface CategoryService extends IService { * * @param dto 添加表单 */ - void addCategoryUser(@Valid CategoryUserAddDto dto); + void addCategoryUser(@Valid BudgetCategoryAddUserDto dto); /** * * 更新分类信息 diff --git a/service/src/main/java/cn/bunny/services/service/financial/DebtRepaymentPlanService.java b/service/src/main/java/cn/bunny/services/service/financial/DebtRepaymentPlanService.java index 55c13c0..6a6e157 100644 --- a/service/src/main/java/cn/bunny/services/service/financial/DebtRepaymentPlanService.java +++ b/service/src/main/java/cn/bunny/services/service/financial/DebtRepaymentPlanService.java @@ -1,8 +1,8 @@ package cn.bunny.services.service.financial; -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.dto.financial.debtRepaymentPlan.admin.DebtRepaymentPlanAddDto; +import cn.bunny.dao.dto.financial.debtRepaymentPlan.admin.DebtRepaymentPlanUpdateDto; import cn.bunny.dao.entity.financial.DebtRepaymentPlan; import cn.bunny.dao.pojo.result.PageResult; import cn.bunny.dao.vo.financial.admin.DebtRepaymentPlanVo; diff --git a/service/src/main/java/cn/bunny/services/service/financial/DebtTrackingService.java b/service/src/main/java/cn/bunny/services/service/financial/DebtTrackingService.java index 92d20ea..5d3d07c 100644 --- a/service/src/main/java/cn/bunny/services/service/financial/DebtTrackingService.java +++ b/service/src/main/java/cn/bunny/services/service/financial/DebtTrackingService.java @@ -1,8 +1,8 @@ package cn.bunny.services.service.financial; -import cn.bunny.dao.dto.financial.debtTracking.DebtTrackingAddDto; import cn.bunny.dao.dto.financial.debtTracking.DebtTrackingDto; -import cn.bunny.dao.dto.financial.debtTracking.DebtTrackingUpdateDto; +import cn.bunny.dao.dto.financial.debtTracking.admin.DebtTrackingAddDto; +import cn.bunny.dao.dto.financial.debtTracking.admin.DebtTrackingUpdateDto; import cn.bunny.dao.entity.financial.DebtTracking; import cn.bunny.dao.pojo.result.PageResult; import cn.bunny.dao.vo.financial.admin.DebtTrackingVo; diff --git a/service/src/main/java/cn/bunny/services/service/financial/SavingGoalService.java b/service/src/main/java/cn/bunny/services/service/financial/SavingGoalService.java index 7101682..fde84b4 100644 --- a/service/src/main/java/cn/bunny/services/service/financial/SavingGoalService.java +++ b/service/src/main/java/cn/bunny/services/service/financial/SavingGoalService.java @@ -1,8 +1,8 @@ package cn.bunny.services.service.financial; -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.dto.financial.savingGoal.admin.SavingGoalAddDto; +import cn.bunny.dao.dto.financial.savingGoal.admin.SavingGoalUpdateDto; import cn.bunny.dao.entity.financial.SavingGoal; import cn.bunny.dao.pojo.result.PageResult; import cn.bunny.dao.vo.financial.admin.SavingGoalVo; diff --git a/service/src/main/java/cn/bunny/services/service/financial/impl/BillServiceImpl.java b/service/src/main/java/cn/bunny/services/service/financial/impl/BillServiceImpl.java index 37bbc7a..6966bda 100644 --- a/service/src/main/java/cn/bunny/services/service/financial/impl/BillServiceImpl.java +++ b/service/src/main/java/cn/bunny/services/service/financial/impl/BillServiceImpl.java @@ -2,9 +2,11 @@ package cn.bunny.services.service.financial.impl; import cn.bunny.common.service.context.BaseContext; import cn.bunny.common.service.exception.BunnyException; -import cn.bunny.dao.dto.financial.bill.BillAddDto; import cn.bunny.dao.dto.financial.bill.BillDto; -import cn.bunny.dao.dto.financial.bill.BillUpdateDto; +import cn.bunny.dao.dto.financial.bill.admin.BillAddDto; +import cn.bunny.dao.dto.financial.bill.admin.BillUpdateDto; +import cn.bunny.dao.dto.financial.bill.user.BillAddUserDto; +import cn.bunny.dao.dto.financial.bill.user.BillUpdateUserDto; import cn.bunny.dao.entity.financial.Bill; import cn.bunny.dao.pojo.result.PageResult; import cn.bunny.dao.pojo.result.ResultCodeEnum; @@ -41,11 +43,8 @@ public class BillServiceImpl extends ServiceImpl implements Bi */ @Override public PageResult getUserBillList(Page pageParams, BillDto dto) { - // 需要根据当前用户去查询 - Long userId = BaseContext.getUserId(); - dto.setUserId(userId); + dto.setUserId(BaseContext.getUserId()); - // 判断创建用户的Id是否和当前请求的用户id是否相同 IPage page = baseMapper.selectListByPage(pageParams, dto); List userVoList = page.getRecords().stream().map(billVo -> { BillUserVo billUserVo = new BillUserVo(); @@ -115,6 +114,36 @@ public class BillServiceImpl extends ServiceImpl implements Bi baseMapper.deleteBatchIdsWithPhysics(ids); } + /** + * 用户添加账单信息 + * + * @param dto 添加表单 + */ + @Override + public void addUserBill(BillAddUserDto dto) { + // 保存数据 + Bill bill = new Bill(); + BeanUtils.copyProperties(dto, bill); + + bill.setUserId(BaseContext.getUserId()); + save(bill); + } + + /** + * 用户更新账单信息 + * + * @param dto 更新表单 + */ + @Override + public void updateUserBill(BillUpdateUserDto dto) { + // 更新内容 + Bill bill = new Bill(); + BeanUtils.copyProperties(dto, bill); + + bill.setUserId(BaseContext.getUserId()); + updateById(bill); + } + /** * 删除|批量删除账单信息 * diff --git a/service/src/main/java/cn/bunny/services/service/financial/impl/BudgetCategoryServiceImpl.java b/service/src/main/java/cn/bunny/services/service/financial/impl/BudgetCategoryServiceImpl.java index e2b4909..84084b2 100644 --- a/service/src/main/java/cn/bunny/services/service/financial/impl/BudgetCategoryServiceImpl.java +++ b/service/src/main/java/cn/bunny/services/service/financial/impl/BudgetCategoryServiceImpl.java @@ -1,15 +1,22 @@ package cn.bunny.services.service.financial.impl; -import cn.bunny.dao.dto.financial.budgetCategory.BudgetCategoryAddDto; +import cn.bunny.common.service.context.BaseContext; +import cn.bunny.common.service.exception.BunnyException; import cn.bunny.dao.dto.financial.budgetCategory.BudgetCategoryDto; -import cn.bunny.dao.dto.financial.budgetCategory.BudgetCategoryUpdateDto; +import cn.bunny.dao.dto.financial.budgetCategory.admin.BudgetCategoryAddDto; +import cn.bunny.dao.dto.financial.budgetCategory.admin.BudgetCategoryUpdateDto; +import cn.bunny.dao.dto.financial.budgetCategory.user.BudgetCategoryAddUserDto; +import cn.bunny.dao.dto.financial.budgetCategory.user.BudgetCategoryUpdateUserDto; import cn.bunny.dao.entity.financial.BudgetCategory; import cn.bunny.dao.pojo.result.PageResult; -import cn.bunny.dao.vo.financial.admin.BudgetCategoryParentVo; +import cn.bunny.dao.pojo.result.ResultCodeEnum; +import cn.bunny.dao.vo.financial.BudgetCategoryParentVo; import cn.bunny.dao.vo.financial.admin.BudgetCategoryVo; +import cn.bunny.dao.vo.financial.user.BudgetCategoryUserVo; import cn.bunny.services.mapper.financial.BudgetCategoryMapper; import cn.bunny.services.service.financial.BudgetCategoryService; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import jakarta.validation.Valid; @@ -90,11 +97,94 @@ public class BudgetCategoryServiceImpl extends ServiceImpl getAllParentList() { + public List getAllParentList(Long userId) { return list().stream().map(budgetCategory -> { BudgetCategoryParentVo budgetCategoryParentVo = new BudgetCategoryParentVo(); BeanUtils.copyProperties(budgetCategory, budgetCategoryParentVo); return budgetCategoryParentVo; }).toList(); } + + /** + * 用户分页查询预算分类表 + * + * @param pageParams 分页参数 + * @param dto 查询表单 + * @return 分页返回结果 + */ + @Override + public PageResult getUserBudgetCategoryList(Page pageParams, BudgetCategoryDto dto) { + dto.setUserId(BaseContext.getUserId()); + + IPage page = baseMapper.selectListByPage(pageParams, dto); + List categoryUserVoList = page.getRecords().stream().map(budgetCategoryVo -> { + BudgetCategoryUserVo budgetCategoryUserVo = new BudgetCategoryUserVo(); + BeanUtils.copyProperties(budgetCategoryVo, budgetCategoryUserVo); + return budgetCategoryUserVo; + }).toList(); + + return PageResult.builder() + .list(categoryUserVoList) + .pageNo(page.getCurrent()) + .pageSize(page.getSize()) + .total(page.getTotal()) + .build(); + } + + @Override + public void deleteUserBudgetCategory(List ids) { + // 判断删除的是否是自己的账单 + List billList = list(Wrappers.lambdaQuery().in(BudgetCategory::getId, ids)) + .stream().filter(bill -> !bill.getUserId().equals(BaseContext.getUserId())).toList(); + if (!billList.isEmpty()) { + throw new BunnyException(ResultCodeEnum.ILLEGAL_DATA_REQUEST); + } + + baseMapper.deleteBatchIdsWithPhysics(ids); + } + + /** + * 返回当前用户所有父级对象 + * + * @return 父级列表 + */ + @Override + public List getAllUserParentList() { + return list(Wrappers.lambdaQuery().eq(BudgetCategory::getUserId, BaseContext.getUserId())) + .stream().map(budgetCategory -> { + BudgetCategoryParentVo budgetCategoryParentVo = new BudgetCategoryParentVo(); + BeanUtils.copyProperties(budgetCategory, budgetCategoryParentVo); + return budgetCategoryParentVo; + }).toList(); + } + + /** + * 用户添加预算分类表 + * + * @param dto 添加表单 + */ + @Override + public void addUserBudgetCategory(BudgetCategoryAddUserDto dto) { + // 保存数据 + BudgetCategory budgetCategory = new BudgetCategory(); + BeanUtils.copyProperties(dto, budgetCategory); + + budgetCategory.setUserId(BaseContext.getUserId()); + save(budgetCategory); + } + + /** + * 用户更新预算分类表 + * + * @param dto 更新表单 + */ + @Override + public void updateUserBudgetCategory(BudgetCategoryUpdateUserDto dto) { + // 更新内容 + BudgetCategory budgetCategory = new BudgetCategory(); + BeanUtils.copyProperties(dto, budgetCategory); + + budgetCategory.setUserId(BaseContext.getUserId()); + updateById(budgetCategory); + } } diff --git a/service/src/main/java/cn/bunny/services/service/financial/impl/CategoryServiceImpl.java b/service/src/main/java/cn/bunny/services/service/financial/impl/CategoryServiceImpl.java index 4138a17..60ca105 100644 --- a/service/src/main/java/cn/bunny/services/service/financial/impl/CategoryServiceImpl.java +++ b/service/src/main/java/cn/bunny/services/service/financial/impl/CategoryServiceImpl.java @@ -2,10 +2,10 @@ package cn.bunny.services.service.financial.impl; import cn.bunny.common.service.context.BaseContext; import cn.bunny.common.service.exception.BunnyException; +import cn.bunny.dao.dto.financial.budgetCategory.user.BudgetCategoryAddUserDto; +import cn.bunny.dao.dto.financial.category.CategoryDto; import cn.bunny.dao.dto.financial.category.admin.CategoryAddDto; -import cn.bunny.dao.dto.financial.category.admin.CategoryDto; import cn.bunny.dao.dto.financial.category.admin.CategoryUpdateDto; -import cn.bunny.dao.dto.financial.category.user.CategoryUserAddDto; import cn.bunny.dao.dto.financial.category.user.CategoryUserUpdateDto; import cn.bunny.dao.entity.financial.Category; import cn.bunny.dao.pojo.constant.UserConstant; @@ -125,7 +125,7 @@ public class CategoryServiceImpl extends ServiceImpl i * @param dto 分类信息添加 */ @Override - public void addCategoryUser(@Valid CategoryUserAddDto dto) { + public void addCategoryUser(@Valid BudgetCategoryAddUserDto dto) { // 查询当前用户添加了多少条 if (count(Wrappers.lambdaQuery().eq(Category::getIsBuiltin, false)) >= UserConstant.CATEGORY_COUNT) { throw new BunnyException(ResultCodeEnum.THE_MAXIMUM_BAR_CODE); diff --git a/service/src/main/java/cn/bunny/services/service/financial/impl/DebtRepaymentPlanServiceImpl.java b/service/src/main/java/cn/bunny/services/service/financial/impl/DebtRepaymentPlanServiceImpl.java index 4c6092f..774f505 100644 --- a/service/src/main/java/cn/bunny/services/service/financial/impl/DebtRepaymentPlanServiceImpl.java +++ b/service/src/main/java/cn/bunny/services/service/financial/impl/DebtRepaymentPlanServiceImpl.java @@ -1,8 +1,8 @@ package cn.bunny.services.service.financial.impl; -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.dto.financial.debtRepaymentPlan.admin.DebtRepaymentPlanAddDto; +import cn.bunny.dao.dto.financial.debtRepaymentPlan.admin.DebtRepaymentPlanUpdateDto; import cn.bunny.dao.entity.financial.DebtRepaymentPlan; import cn.bunny.dao.pojo.result.PageResult; import cn.bunny.dao.vo.financial.admin.DebtRepaymentPlanVo; diff --git a/service/src/main/java/cn/bunny/services/service/financial/impl/DebtTrackingServiceImpl.java b/service/src/main/java/cn/bunny/services/service/financial/impl/DebtTrackingServiceImpl.java index ea1fba6..617294f 100644 --- a/service/src/main/java/cn/bunny/services/service/financial/impl/DebtTrackingServiceImpl.java +++ b/service/src/main/java/cn/bunny/services/service/financial/impl/DebtTrackingServiceImpl.java @@ -1,8 +1,8 @@ package cn.bunny.services.service.financial.impl; -import cn.bunny.dao.dto.financial.debtTracking.DebtTrackingAddDto; import cn.bunny.dao.dto.financial.debtTracking.DebtTrackingDto; -import cn.bunny.dao.dto.financial.debtTracking.DebtTrackingUpdateDto; +import cn.bunny.dao.dto.financial.debtTracking.admin.DebtTrackingAddDto; +import cn.bunny.dao.dto.financial.debtTracking.admin.DebtTrackingUpdateDto; import cn.bunny.dao.entity.financial.DebtTracking; import cn.bunny.dao.pojo.result.PageResult; import cn.bunny.dao.vo.financial.admin.DebtTrackingVo; diff --git a/service/src/main/java/cn/bunny/services/service/financial/impl/SavingGoalServiceImpl.java b/service/src/main/java/cn/bunny/services/service/financial/impl/SavingGoalServiceImpl.java index efa7c29..5cfc3ba 100644 --- a/service/src/main/java/cn/bunny/services/service/financial/impl/SavingGoalServiceImpl.java +++ b/service/src/main/java/cn/bunny/services/service/financial/impl/SavingGoalServiceImpl.java @@ -1,8 +1,8 @@ package cn.bunny.services.service.financial.impl; -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.dto.financial.savingGoal.admin.SavingGoalAddDto; +import cn.bunny.dao.dto.financial.savingGoal.admin.SavingGoalUpdateDto; import cn.bunny.dao.entity.financial.SavingGoal; import cn.bunny.dao.pojo.result.PageResult; import cn.bunny.dao.vo.financial.admin.SavingGoalVo; diff --git a/service/src/main/resources/mapper/financial/BudgetCategoryMapper.xml b/service/src/main/resources/mapper/financial/BudgetCategoryMapper.xml index cb8d2c7..fe20164 100644 --- a/service/src/main/resources/mapper/financial/BudgetCategoryMapper.xml +++ b/service/src/main/resources/mapper/financial/BudgetCategoryMapper.xml @@ -38,7 +38,7 @@ left join sys_user update_user on update_user.id = base.update_user base.is_deleted = 0 - + and base.user_id = #{dto.userId} @@ -54,8 +54,10 @@ and base.amount like CONCAT('%',#{dto.amount},'%') - and (base.start_period between #{dto.startPeriod} and #{dto.endPeriod}) + and ( + (base.start_period between #{dto.startPeriod} and #{dto.endPeriod}) or (base.end_period between #{dto.startPeriod} and #{dto.endPeriod}) + ) diff --git a/service/src/main/resources/mapper/financial/DebtRepaymentPlanMapper.xml b/service/src/main/resources/mapper/financial/DebtRepaymentPlanMapper.xml index 14ea890..26dc71d 100644 --- a/service/src/main/resources/mapper/financial/DebtRepaymentPlanMapper.xml +++ b/service/src/main/resources/mapper/financial/DebtRepaymentPlanMapper.xml @@ -49,7 +49,7 @@ and base.paid_amount like CONCAT('%',#{dto.paidAmount},'%') - and base.payment_status like CONCAT('%',#{dto.paymentStatus},'%') + and base.payment_status = #{dto.paymentStatus} diff --git a/service/src/main/resources/mapper/financial/DebtTrackingMapper.xml b/service/src/main/resources/mapper/financial/DebtTrackingMapper.xml index 4e77c90..740138b 100644 --- a/service/src/main/resources/mapper/financial/DebtTrackingMapper.xml +++ b/service/src/main/resources/mapper/financial/DebtTrackingMapper.xml @@ -37,7 +37,7 @@ base.is_deleted = 0 - and base.user_id like CONCAT('%',#{dto.userId},'%') + and base.user_id = #{dto.userId} and base.debtor_name like CONCAT('%',#{dto.debtorName},'%') @@ -46,10 +46,10 @@ and base.debt_amount like CONCAT('%',#{dto.debtAmount},'%') - and base.debt_type like CONCAT('%',#{dto.debtType},'%') + and base.debt_type = #{dto.debtType} - and base.debt_status like CONCAT('%',#{dto.debtStatus},'%') + and base.debt_status = #{dto.debtStatus} and base.due_date like CONCAT('%',#{dto.dueDate},'%') diff --git a/service/src/main/resources/mapper/financial/SavingGoalMapper.xml b/service/src/main/resources/mapper/financial/SavingGoalMapper.xml index 602d45d..df4f78c 100644 --- a/service/src/main/resources/mapper/financial/SavingGoalMapper.xml +++ b/service/src/main/resources/mapper/financial/SavingGoalMapper.xml @@ -49,8 +49,10 @@ and base.amount like CONCAT('%',#{dto.amount},'%') - and (base.start_duration between #{dto.startDuration} and #{dto.endDuration}) + and ( + (base.start_duration between #{dto.startDuration} and #{dto.endDuration}) or (base.end_duration between #{dto.startDuration} and #{dto.endDuration}) + )