From 6f637a8700279bb7e6a8f3573c242b14b7645d2b Mon Sep 17 00:00:00 2001 From: gaoxq <376340421@qq.com> Date: Tue, 11 Nov 2025 19:25:37 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=9B=BE=E8=A1=A8?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../capi/biz/domain/ErpPeriodSummary.java | 2 +- .../java/com/mini/capi/model/ChartResult.java | 23 +++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/mini/capi/model/ChartResult.java diff --git a/src/main/java/com/mini/capi/biz/domain/ErpPeriodSummary.java b/src/main/java/com/mini/capi/biz/domain/ErpPeriodSummary.java index a3f430e..50d549b 100644 --- a/src/main/java/com/mini/capi/biz/domain/ErpPeriodSummary.java +++ b/src/main/java/com/mini/capi/biz/domain/ErpPeriodSummary.java @@ -20,7 +20,7 @@ import lombok.Setter; */ @Getter @Setter -@TableName("erp_period_summary") +@TableName("erp_period_summary_view") public class ErpPeriodSummary implements Serializable { private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/mini/capi/model/ChartResult.java b/src/main/java/com/mini/capi/model/ChartResult.java new file mode 100644 index 0000000..f7eac4f --- /dev/null +++ b/src/main/java/com/mini/capi/model/ChartResult.java @@ -0,0 +1,23 @@ +package com.mini.capi.model; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class ChartResult implements Serializable { + + + private String name; + + private String type; + + private String value; + + + public ChartResult(String name, String type, String value) { + this.name = name; + this.type = type; + this.value = value; + } +} From 1817930d47f053c6c12e370598b522b9b417e13c Mon Sep 17 00:00:00 2001 From: gaoxq <376340421@qq.com> Date: Tue, 11 Nov 2025 20:02:59 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=9B=BE=E8=A1=A8?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...eriodSummaryAccountWeekViewController.java | 18 +++++ ...eriodSummaryAccountYearViewController.java | 18 +++++ .../ErpPeriodSummaryAllViewController.java | 18 +++++ .../ErpPeriodSummaryViewController.java | 18 +++++ .../ErpPeriodSummaryWeekViewController.java | 18 +++++ .../ErpPeriodSummaryYearViewController.java | 18 +++++ .../capi/biz/domain/ErpPeriodSummary.java | 2 +- .../ErpPeriodSummaryAccountWeekView.java | 33 +++++++++ .../ErpPeriodSummaryAccountYearView.java | 33 +++++++++ .../biz/domain/ErpPeriodSummaryAllView.java | 39 +++++++++++ .../capi/biz/domain/ErpPeriodSummaryView.java | 67 +++++++++++++++++++ .../biz/domain/ErpPeriodSummaryWeekView.java | 39 +++++++++++ .../biz/domain/ErpPeriodSummaryYearView.java | 39 +++++++++++ ...ErpPeriodSummaryAccountWeekViewMapper.java | 16 +++++ ...ErpPeriodSummaryAccountYearViewMapper.java | 16 +++++ .../mapper/ErpPeriodSummaryAllViewMapper.java | 16 +++++ .../mapper/ErpPeriodSummaryViewMapper.java | 16 +++++ .../ErpPeriodSummaryWeekViewMapper.java | 16 +++++ .../ErpPeriodSummaryYearViewMapper.java | 16 +++++ ...rpPeriodSummaryAccountWeekViewService.java | 16 +++++ ...rpPeriodSummaryAccountYearViewService.java | 16 +++++ .../ErpPeriodSummaryAllViewService.java | 16 +++++ .../service/ErpPeriodSummaryViewService.java | 16 +++++ .../ErpPeriodSummaryWeekViewService.java | 16 +++++ .../ErpPeriodSummaryYearViewService.java | 16 +++++ ...riodSummaryAccountWeekViewServiceImpl.java | 20 ++++++ ...riodSummaryAccountYearViewServiceImpl.java | 20 ++++++ .../ErpPeriodSummaryAllViewServiceImpl.java | 20 ++++++ .../impl/ErpPeriodSummaryViewServiceImpl.java | 20 ++++++ .../ErpPeriodSummaryWeekViewServiceImpl.java | 20 ++++++ .../ErpPeriodSummaryYearViewServiceImpl.java | 20 ++++++ .../ErpPeriodSummaryAccountWeekViewMapper.xml | 17 +++++ .../ErpPeriodSummaryAccountYearViewMapper.xml | 17 +++++ .../mapper/ErpPeriodSummaryAllViewMapper.xml | 19 ++++++ .../mapper/ErpPeriodSummaryViewMapper.xml | 28 ++++++++ .../mapper/ErpPeriodSummaryWeekViewMapper.xml | 19 ++++++ .../mapper/ErpPeriodSummaryYearViewMapper.xml | 19 ++++++ 37 files changed, 790 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/mini/capi/biz/controller/ErpPeriodSummaryAccountWeekViewController.java create mode 100644 src/main/java/com/mini/capi/biz/controller/ErpPeriodSummaryAccountYearViewController.java create mode 100644 src/main/java/com/mini/capi/biz/controller/ErpPeriodSummaryAllViewController.java create mode 100644 src/main/java/com/mini/capi/biz/controller/ErpPeriodSummaryViewController.java create mode 100644 src/main/java/com/mini/capi/biz/controller/ErpPeriodSummaryWeekViewController.java create mode 100644 src/main/java/com/mini/capi/biz/controller/ErpPeriodSummaryYearViewController.java create mode 100644 src/main/java/com/mini/capi/biz/domain/ErpPeriodSummaryAccountWeekView.java create mode 100644 src/main/java/com/mini/capi/biz/domain/ErpPeriodSummaryAccountYearView.java create mode 100644 src/main/java/com/mini/capi/biz/domain/ErpPeriodSummaryAllView.java create mode 100644 src/main/java/com/mini/capi/biz/domain/ErpPeriodSummaryView.java create mode 100644 src/main/java/com/mini/capi/biz/domain/ErpPeriodSummaryWeekView.java create mode 100644 src/main/java/com/mini/capi/biz/domain/ErpPeriodSummaryYearView.java create mode 100644 src/main/java/com/mini/capi/biz/mapper/ErpPeriodSummaryAccountWeekViewMapper.java create mode 100644 src/main/java/com/mini/capi/biz/mapper/ErpPeriodSummaryAccountYearViewMapper.java create mode 100644 src/main/java/com/mini/capi/biz/mapper/ErpPeriodSummaryAllViewMapper.java create mode 100644 src/main/java/com/mini/capi/biz/mapper/ErpPeriodSummaryViewMapper.java create mode 100644 src/main/java/com/mini/capi/biz/mapper/ErpPeriodSummaryWeekViewMapper.java create mode 100644 src/main/java/com/mini/capi/biz/mapper/ErpPeriodSummaryYearViewMapper.java create mode 100644 src/main/java/com/mini/capi/biz/service/ErpPeriodSummaryAccountWeekViewService.java create mode 100644 src/main/java/com/mini/capi/biz/service/ErpPeriodSummaryAccountYearViewService.java create mode 100644 src/main/java/com/mini/capi/biz/service/ErpPeriodSummaryAllViewService.java create mode 100644 src/main/java/com/mini/capi/biz/service/ErpPeriodSummaryViewService.java create mode 100644 src/main/java/com/mini/capi/biz/service/ErpPeriodSummaryWeekViewService.java create mode 100644 src/main/java/com/mini/capi/biz/service/ErpPeriodSummaryYearViewService.java create mode 100644 src/main/java/com/mini/capi/biz/service/impl/ErpPeriodSummaryAccountWeekViewServiceImpl.java create mode 100644 src/main/java/com/mini/capi/biz/service/impl/ErpPeriodSummaryAccountYearViewServiceImpl.java create mode 100644 src/main/java/com/mini/capi/biz/service/impl/ErpPeriodSummaryAllViewServiceImpl.java create mode 100644 src/main/java/com/mini/capi/biz/service/impl/ErpPeriodSummaryViewServiceImpl.java create mode 100644 src/main/java/com/mini/capi/biz/service/impl/ErpPeriodSummaryWeekViewServiceImpl.java create mode 100644 src/main/java/com/mini/capi/biz/service/impl/ErpPeriodSummaryYearViewServiceImpl.java create mode 100644 src/main/resources/mapper/ErpPeriodSummaryAccountWeekViewMapper.xml create mode 100644 src/main/resources/mapper/ErpPeriodSummaryAccountYearViewMapper.xml create mode 100644 src/main/resources/mapper/ErpPeriodSummaryAllViewMapper.xml create mode 100644 src/main/resources/mapper/ErpPeriodSummaryViewMapper.xml create mode 100644 src/main/resources/mapper/ErpPeriodSummaryWeekViewMapper.xml create mode 100644 src/main/resources/mapper/ErpPeriodSummaryYearViewMapper.xml diff --git a/src/main/java/com/mini/capi/biz/controller/ErpPeriodSummaryAccountWeekViewController.java b/src/main/java/com/mini/capi/biz/controller/ErpPeriodSummaryAccountWeekViewController.java new file mode 100644 index 0000000..9ed2398 --- /dev/null +++ b/src/main/java/com/mini/capi/biz/controller/ErpPeriodSummaryAccountWeekViewController.java @@ -0,0 +1,18 @@ +package com.mini.capi.biz.controller; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * VIEW 前端控制器 + *

+ * + * @author gaoxq + * @since 2025-11-11 + */ +@RestController +@RequestMapping("/biz/erpPeriodSummaryAccountWeekView") +public class ErpPeriodSummaryAccountWeekViewController { + +} diff --git a/src/main/java/com/mini/capi/biz/controller/ErpPeriodSummaryAccountYearViewController.java b/src/main/java/com/mini/capi/biz/controller/ErpPeriodSummaryAccountYearViewController.java new file mode 100644 index 0000000..a15909d --- /dev/null +++ b/src/main/java/com/mini/capi/biz/controller/ErpPeriodSummaryAccountYearViewController.java @@ -0,0 +1,18 @@ +package com.mini.capi.biz.controller; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * VIEW 前端控制器 + *

+ * + * @author gaoxq + * @since 2025-11-11 + */ +@RestController +@RequestMapping("/biz/erpPeriodSummaryAccountYearView") +public class ErpPeriodSummaryAccountYearViewController { + +} diff --git a/src/main/java/com/mini/capi/biz/controller/ErpPeriodSummaryAllViewController.java b/src/main/java/com/mini/capi/biz/controller/ErpPeriodSummaryAllViewController.java new file mode 100644 index 0000000..237799d --- /dev/null +++ b/src/main/java/com/mini/capi/biz/controller/ErpPeriodSummaryAllViewController.java @@ -0,0 +1,18 @@ +package com.mini.capi.biz.controller; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * VIEW 前端控制器 + *

+ * + * @author gaoxq + * @since 2025-11-11 + */ +@RestController +@RequestMapping("/biz/erpPeriodSummaryAllView") +public class ErpPeriodSummaryAllViewController { + +} diff --git a/src/main/java/com/mini/capi/biz/controller/ErpPeriodSummaryViewController.java b/src/main/java/com/mini/capi/biz/controller/ErpPeriodSummaryViewController.java new file mode 100644 index 0000000..9aa558a --- /dev/null +++ b/src/main/java/com/mini/capi/biz/controller/ErpPeriodSummaryViewController.java @@ -0,0 +1,18 @@ +package com.mini.capi.biz.controller; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * VIEW 前端控制器 + *

+ * + * @author gaoxq + * @since 2025-11-11 + */ +@RestController +@RequestMapping("/biz/erpPeriodSummaryView") +public class ErpPeriodSummaryViewController { + +} diff --git a/src/main/java/com/mini/capi/biz/controller/ErpPeriodSummaryWeekViewController.java b/src/main/java/com/mini/capi/biz/controller/ErpPeriodSummaryWeekViewController.java new file mode 100644 index 0000000..f53f268 --- /dev/null +++ b/src/main/java/com/mini/capi/biz/controller/ErpPeriodSummaryWeekViewController.java @@ -0,0 +1,18 @@ +package com.mini.capi.biz.controller; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * VIEW 前端控制器 + *

+ * + * @author gaoxq + * @since 2025-11-11 + */ +@RestController +@RequestMapping("/biz/erpPeriodSummaryWeekView") +public class ErpPeriodSummaryWeekViewController { + +} diff --git a/src/main/java/com/mini/capi/biz/controller/ErpPeriodSummaryYearViewController.java b/src/main/java/com/mini/capi/biz/controller/ErpPeriodSummaryYearViewController.java new file mode 100644 index 0000000..f100a18 --- /dev/null +++ b/src/main/java/com/mini/capi/biz/controller/ErpPeriodSummaryYearViewController.java @@ -0,0 +1,18 @@ +package com.mini.capi.biz.controller; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * VIEW 前端控制器 + *

+ * + * @author gaoxq + * @since 2025-11-11 + */ +@RestController +@RequestMapping("/biz/erpPeriodSummaryYearView") +public class ErpPeriodSummaryYearViewController { + +} diff --git a/src/main/java/com/mini/capi/biz/domain/ErpPeriodSummary.java b/src/main/java/com/mini/capi/biz/domain/ErpPeriodSummary.java index 50d549b..a3f430e 100644 --- a/src/main/java/com/mini/capi/biz/domain/ErpPeriodSummary.java +++ b/src/main/java/com/mini/capi/biz/domain/ErpPeriodSummary.java @@ -20,7 +20,7 @@ import lombok.Setter; */ @Getter @Setter -@TableName("erp_period_summary_view") +@TableName("erp_period_summary") public class ErpPeriodSummary implements Serializable { private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/mini/capi/biz/domain/ErpPeriodSummaryAccountWeekView.java b/src/main/java/com/mini/capi/biz/domain/ErpPeriodSummaryAccountWeekView.java new file mode 100644 index 0000000..a80681d --- /dev/null +++ b/src/main/java/com/mini/capi/biz/domain/ErpPeriodSummaryAccountWeekView.java @@ -0,0 +1,33 @@ +package com.mini.capi.biz.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.math.BigDecimal; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * VIEW + *

+ * + * @author gaoxq + * @since 2025-11-11 + */ +@Getter +@Setter +@TableName("erp_period_summary_account_week_view") +public class ErpPeriodSummaryAccountWeekView implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableField("account_name") + private String accountName; + + @TableField("amount") + private BigDecimal amount; + + @TableField("type") + private String type; +} diff --git a/src/main/java/com/mini/capi/biz/domain/ErpPeriodSummaryAccountYearView.java b/src/main/java/com/mini/capi/biz/domain/ErpPeriodSummaryAccountYearView.java new file mode 100644 index 0000000..79f9500 --- /dev/null +++ b/src/main/java/com/mini/capi/biz/domain/ErpPeriodSummaryAccountYearView.java @@ -0,0 +1,33 @@ +package com.mini.capi.biz.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.math.BigDecimal; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * VIEW + *

+ * + * @author gaoxq + * @since 2025-11-11 + */ +@Getter +@Setter +@TableName("erp_period_summary_account_year_view") +public class ErpPeriodSummaryAccountYearView implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableField("account_name") + private String accountName; + + @TableField("amount") + private BigDecimal amount; + + @TableField("type") + private String type; +} diff --git a/src/main/java/com/mini/capi/biz/domain/ErpPeriodSummaryAllView.java b/src/main/java/com/mini/capi/biz/domain/ErpPeriodSummaryAllView.java new file mode 100644 index 0000000..14289f3 --- /dev/null +++ b/src/main/java/com/mini/capi/biz/domain/ErpPeriodSummaryAllView.java @@ -0,0 +1,39 @@ +package com.mini.capi.biz.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.math.BigDecimal; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * VIEW + *

+ * + * @author gaoxq + * @since 2025-11-11 + */ +@Getter +@Setter +@TableName("erp_period_summary_all_view") +public class ErpPeriodSummaryAllView implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableField("category_name") + private String categoryName; + + @TableField("account_name") + private String accountName; + + @TableField("f_full_name") + private String fFullName; + + @TableField("type") + private String type; + + @TableField("amount") + private BigDecimal amount; +} diff --git a/src/main/java/com/mini/capi/biz/domain/ErpPeriodSummaryView.java b/src/main/java/com/mini/capi/biz/domain/ErpPeriodSummaryView.java new file mode 100644 index 0000000..5a63dfc --- /dev/null +++ b/src/main/java/com/mini/capi/biz/domain/ErpPeriodSummaryView.java @@ -0,0 +1,67 @@ +package com.mini.capi.biz.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * VIEW + *

+ * + * @author gaoxq + * @since 2025-11-11 + */ +@Getter +@Setter +@TableName("erp_period_summary_view") +public class ErpPeriodSummaryView implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableField("create_time") + private LocalDateTime createTime; + + @TableField("summary_id") + private Long summaryId; + + @TableField("cycle_type") + private String cycleType; + + @TableField("cycle_code") + private String cycleCode; + + @TableField("total_income") + private BigDecimal totalIncome; + + @TableField("total_expense") + private BigDecimal totalExpense; + + @TableField("net_cashflow") + private BigDecimal netCashflow; + + @TableField("income_count") + private BigDecimal incomeCount; + + @TableField("expense_count") + private BigDecimal expenseCount; + + @TableField("update_time") + private LocalDateTime updateTime; + + @TableField("f_tenant_id") + private String fTenantId; + + @TableField("f_flow_id") + private byte[] fFlowId; + + @TableField("f_flow_task_id") + private byte[] fFlowTaskId; + + @TableField("f_flow_state") + private byte[] fFlowState; +} diff --git a/src/main/java/com/mini/capi/biz/domain/ErpPeriodSummaryWeekView.java b/src/main/java/com/mini/capi/biz/domain/ErpPeriodSummaryWeekView.java new file mode 100644 index 0000000..10a716b --- /dev/null +++ b/src/main/java/com/mini/capi/biz/domain/ErpPeriodSummaryWeekView.java @@ -0,0 +1,39 @@ +package com.mini.capi.biz.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.math.BigDecimal; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * VIEW + *

+ * + * @author gaoxq + * @since 2025-11-11 + */ +@Getter +@Setter +@TableName("erp_period_summary_week_view") +public class ErpPeriodSummaryWeekView implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableField("category_name") + private String categoryName; + + @TableField("account_name") + private String accountName; + + @TableField("f_full_name") + private String fFullName; + + @TableField("type") + private String type; + + @TableField("amount") + private BigDecimal amount; +} diff --git a/src/main/java/com/mini/capi/biz/domain/ErpPeriodSummaryYearView.java b/src/main/java/com/mini/capi/biz/domain/ErpPeriodSummaryYearView.java new file mode 100644 index 0000000..b18dba2 --- /dev/null +++ b/src/main/java/com/mini/capi/biz/domain/ErpPeriodSummaryYearView.java @@ -0,0 +1,39 @@ +package com.mini.capi.biz.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.math.BigDecimal; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * VIEW + *

+ * + * @author gaoxq + * @since 2025-11-11 + */ +@Getter +@Setter +@TableName("erp_period_summary_year_view") +public class ErpPeriodSummaryYearView implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableField("category_name") + private String categoryName; + + @TableField("account_name") + private String accountName; + + @TableField("f_full_name") + private String fFullName; + + @TableField("type") + private String type; + + @TableField("amount") + private BigDecimal amount; +} diff --git a/src/main/java/com/mini/capi/biz/mapper/ErpPeriodSummaryAccountWeekViewMapper.java b/src/main/java/com/mini/capi/biz/mapper/ErpPeriodSummaryAccountWeekViewMapper.java new file mode 100644 index 0000000..e050a2a --- /dev/null +++ b/src/main/java/com/mini/capi/biz/mapper/ErpPeriodSummaryAccountWeekViewMapper.java @@ -0,0 +1,16 @@ +package com.mini.capi.biz.mapper; + +import com.mini.capi.biz.domain.ErpPeriodSummaryAccountWeekView; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * VIEW Mapper 接口 + *

+ * + * @author gaoxq + * @since 2025-11-11 + */ +public interface ErpPeriodSummaryAccountWeekViewMapper extends BaseMapper { + +} diff --git a/src/main/java/com/mini/capi/biz/mapper/ErpPeriodSummaryAccountYearViewMapper.java b/src/main/java/com/mini/capi/biz/mapper/ErpPeriodSummaryAccountYearViewMapper.java new file mode 100644 index 0000000..90caf3b --- /dev/null +++ b/src/main/java/com/mini/capi/biz/mapper/ErpPeriodSummaryAccountYearViewMapper.java @@ -0,0 +1,16 @@ +package com.mini.capi.biz.mapper; + +import com.mini.capi.biz.domain.ErpPeriodSummaryAccountYearView; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * VIEW Mapper 接口 + *

+ * + * @author gaoxq + * @since 2025-11-11 + */ +public interface ErpPeriodSummaryAccountYearViewMapper extends BaseMapper { + +} diff --git a/src/main/java/com/mini/capi/biz/mapper/ErpPeriodSummaryAllViewMapper.java b/src/main/java/com/mini/capi/biz/mapper/ErpPeriodSummaryAllViewMapper.java new file mode 100644 index 0000000..5952ef6 --- /dev/null +++ b/src/main/java/com/mini/capi/biz/mapper/ErpPeriodSummaryAllViewMapper.java @@ -0,0 +1,16 @@ +package com.mini.capi.biz.mapper; + +import com.mini.capi.biz.domain.ErpPeriodSummaryAllView; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * VIEW Mapper 接口 + *

+ * + * @author gaoxq + * @since 2025-11-11 + */ +public interface ErpPeriodSummaryAllViewMapper extends BaseMapper { + +} diff --git a/src/main/java/com/mini/capi/biz/mapper/ErpPeriodSummaryViewMapper.java b/src/main/java/com/mini/capi/biz/mapper/ErpPeriodSummaryViewMapper.java new file mode 100644 index 0000000..b3e1ac0 --- /dev/null +++ b/src/main/java/com/mini/capi/biz/mapper/ErpPeriodSummaryViewMapper.java @@ -0,0 +1,16 @@ +package com.mini.capi.biz.mapper; + +import com.mini.capi.biz.domain.ErpPeriodSummaryView; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * VIEW Mapper 接口 + *

+ * + * @author gaoxq + * @since 2025-11-11 + */ +public interface ErpPeriodSummaryViewMapper extends BaseMapper { + +} diff --git a/src/main/java/com/mini/capi/biz/mapper/ErpPeriodSummaryWeekViewMapper.java b/src/main/java/com/mini/capi/biz/mapper/ErpPeriodSummaryWeekViewMapper.java new file mode 100644 index 0000000..47c7ba3 --- /dev/null +++ b/src/main/java/com/mini/capi/biz/mapper/ErpPeriodSummaryWeekViewMapper.java @@ -0,0 +1,16 @@ +package com.mini.capi.biz.mapper; + +import com.mini.capi.biz.domain.ErpPeriodSummaryWeekView; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * VIEW Mapper 接口 + *

+ * + * @author gaoxq + * @since 2025-11-11 + */ +public interface ErpPeriodSummaryWeekViewMapper extends BaseMapper { + +} diff --git a/src/main/java/com/mini/capi/biz/mapper/ErpPeriodSummaryYearViewMapper.java b/src/main/java/com/mini/capi/biz/mapper/ErpPeriodSummaryYearViewMapper.java new file mode 100644 index 0000000..972295a --- /dev/null +++ b/src/main/java/com/mini/capi/biz/mapper/ErpPeriodSummaryYearViewMapper.java @@ -0,0 +1,16 @@ +package com.mini.capi.biz.mapper; + +import com.mini.capi.biz.domain.ErpPeriodSummaryYearView; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * VIEW Mapper 接口 + *

+ * + * @author gaoxq + * @since 2025-11-11 + */ +public interface ErpPeriodSummaryYearViewMapper extends BaseMapper { + +} diff --git a/src/main/java/com/mini/capi/biz/service/ErpPeriodSummaryAccountWeekViewService.java b/src/main/java/com/mini/capi/biz/service/ErpPeriodSummaryAccountWeekViewService.java new file mode 100644 index 0000000..15389a8 --- /dev/null +++ b/src/main/java/com/mini/capi/biz/service/ErpPeriodSummaryAccountWeekViewService.java @@ -0,0 +1,16 @@ +package com.mini.capi.biz.service; + +import com.mini.capi.biz.domain.ErpPeriodSummaryAccountWeekView; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * VIEW 服务类 + *

+ * + * @author gaoxq + * @since 2025-11-11 + */ +public interface ErpPeriodSummaryAccountWeekViewService extends IService { + +} diff --git a/src/main/java/com/mini/capi/biz/service/ErpPeriodSummaryAccountYearViewService.java b/src/main/java/com/mini/capi/biz/service/ErpPeriodSummaryAccountYearViewService.java new file mode 100644 index 0000000..56ebc71 --- /dev/null +++ b/src/main/java/com/mini/capi/biz/service/ErpPeriodSummaryAccountYearViewService.java @@ -0,0 +1,16 @@ +package com.mini.capi.biz.service; + +import com.mini.capi.biz.domain.ErpPeriodSummaryAccountYearView; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * VIEW 服务类 + *

+ * + * @author gaoxq + * @since 2025-11-11 + */ +public interface ErpPeriodSummaryAccountYearViewService extends IService { + +} diff --git a/src/main/java/com/mini/capi/biz/service/ErpPeriodSummaryAllViewService.java b/src/main/java/com/mini/capi/biz/service/ErpPeriodSummaryAllViewService.java new file mode 100644 index 0000000..46be8e4 --- /dev/null +++ b/src/main/java/com/mini/capi/biz/service/ErpPeriodSummaryAllViewService.java @@ -0,0 +1,16 @@ +package com.mini.capi.biz.service; + +import com.mini.capi.biz.domain.ErpPeriodSummaryAllView; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * VIEW 服务类 + *

+ * + * @author gaoxq + * @since 2025-11-11 + */ +public interface ErpPeriodSummaryAllViewService extends IService { + +} diff --git a/src/main/java/com/mini/capi/biz/service/ErpPeriodSummaryViewService.java b/src/main/java/com/mini/capi/biz/service/ErpPeriodSummaryViewService.java new file mode 100644 index 0000000..0263a9c --- /dev/null +++ b/src/main/java/com/mini/capi/biz/service/ErpPeriodSummaryViewService.java @@ -0,0 +1,16 @@ +package com.mini.capi.biz.service; + +import com.mini.capi.biz.domain.ErpPeriodSummaryView; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * VIEW 服务类 + *

+ * + * @author gaoxq + * @since 2025-11-11 + */ +public interface ErpPeriodSummaryViewService extends IService { + +} diff --git a/src/main/java/com/mini/capi/biz/service/ErpPeriodSummaryWeekViewService.java b/src/main/java/com/mini/capi/biz/service/ErpPeriodSummaryWeekViewService.java new file mode 100644 index 0000000..b8be18c --- /dev/null +++ b/src/main/java/com/mini/capi/biz/service/ErpPeriodSummaryWeekViewService.java @@ -0,0 +1,16 @@ +package com.mini.capi.biz.service; + +import com.mini.capi.biz.domain.ErpPeriodSummaryWeekView; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * VIEW 服务类 + *

+ * + * @author gaoxq + * @since 2025-11-11 + */ +public interface ErpPeriodSummaryWeekViewService extends IService { + +} diff --git a/src/main/java/com/mini/capi/biz/service/ErpPeriodSummaryYearViewService.java b/src/main/java/com/mini/capi/biz/service/ErpPeriodSummaryYearViewService.java new file mode 100644 index 0000000..d9aee22 --- /dev/null +++ b/src/main/java/com/mini/capi/biz/service/ErpPeriodSummaryYearViewService.java @@ -0,0 +1,16 @@ +package com.mini.capi.biz.service; + +import com.mini.capi.biz.domain.ErpPeriodSummaryYearView; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * VIEW 服务类 + *

+ * + * @author gaoxq + * @since 2025-11-11 + */ +public interface ErpPeriodSummaryYearViewService extends IService { + +} diff --git a/src/main/java/com/mini/capi/biz/service/impl/ErpPeriodSummaryAccountWeekViewServiceImpl.java b/src/main/java/com/mini/capi/biz/service/impl/ErpPeriodSummaryAccountWeekViewServiceImpl.java new file mode 100644 index 0000000..91093c0 --- /dev/null +++ b/src/main/java/com/mini/capi/biz/service/impl/ErpPeriodSummaryAccountWeekViewServiceImpl.java @@ -0,0 +1,20 @@ +package com.mini.capi.biz.service.impl; + +import com.mini.capi.biz.domain.ErpPeriodSummaryAccountWeekView; +import com.mini.capi.biz.mapper.ErpPeriodSummaryAccountWeekViewMapper; +import com.mini.capi.biz.service.ErpPeriodSummaryAccountWeekViewService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * VIEW 服务实现类 + *

+ * + * @author gaoxq + * @since 2025-11-11 + */ +@Service +public class ErpPeriodSummaryAccountWeekViewServiceImpl extends ServiceImpl implements ErpPeriodSummaryAccountWeekViewService { + +} diff --git a/src/main/java/com/mini/capi/biz/service/impl/ErpPeriodSummaryAccountYearViewServiceImpl.java b/src/main/java/com/mini/capi/biz/service/impl/ErpPeriodSummaryAccountYearViewServiceImpl.java new file mode 100644 index 0000000..f49120c --- /dev/null +++ b/src/main/java/com/mini/capi/biz/service/impl/ErpPeriodSummaryAccountYearViewServiceImpl.java @@ -0,0 +1,20 @@ +package com.mini.capi.biz.service.impl; + +import com.mini.capi.biz.domain.ErpPeriodSummaryAccountYearView; +import com.mini.capi.biz.mapper.ErpPeriodSummaryAccountYearViewMapper; +import com.mini.capi.biz.service.ErpPeriodSummaryAccountYearViewService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * VIEW 服务实现类 + *

+ * + * @author gaoxq + * @since 2025-11-11 + */ +@Service +public class ErpPeriodSummaryAccountYearViewServiceImpl extends ServiceImpl implements ErpPeriodSummaryAccountYearViewService { + +} diff --git a/src/main/java/com/mini/capi/biz/service/impl/ErpPeriodSummaryAllViewServiceImpl.java b/src/main/java/com/mini/capi/biz/service/impl/ErpPeriodSummaryAllViewServiceImpl.java new file mode 100644 index 0000000..cfc1ecc --- /dev/null +++ b/src/main/java/com/mini/capi/biz/service/impl/ErpPeriodSummaryAllViewServiceImpl.java @@ -0,0 +1,20 @@ +package com.mini.capi.biz.service.impl; + +import com.mini.capi.biz.domain.ErpPeriodSummaryAllView; +import com.mini.capi.biz.mapper.ErpPeriodSummaryAllViewMapper; +import com.mini.capi.biz.service.ErpPeriodSummaryAllViewService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * VIEW 服务实现类 + *

+ * + * @author gaoxq + * @since 2025-11-11 + */ +@Service +public class ErpPeriodSummaryAllViewServiceImpl extends ServiceImpl implements ErpPeriodSummaryAllViewService { + +} diff --git a/src/main/java/com/mini/capi/biz/service/impl/ErpPeriodSummaryViewServiceImpl.java b/src/main/java/com/mini/capi/biz/service/impl/ErpPeriodSummaryViewServiceImpl.java new file mode 100644 index 0000000..c61a79d --- /dev/null +++ b/src/main/java/com/mini/capi/biz/service/impl/ErpPeriodSummaryViewServiceImpl.java @@ -0,0 +1,20 @@ +package com.mini.capi.biz.service.impl; + +import com.mini.capi.biz.domain.ErpPeriodSummaryView; +import com.mini.capi.biz.mapper.ErpPeriodSummaryViewMapper; +import com.mini.capi.biz.service.ErpPeriodSummaryViewService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * VIEW 服务实现类 + *

+ * + * @author gaoxq + * @since 2025-11-11 + */ +@Service +public class ErpPeriodSummaryViewServiceImpl extends ServiceImpl implements ErpPeriodSummaryViewService { + +} diff --git a/src/main/java/com/mini/capi/biz/service/impl/ErpPeriodSummaryWeekViewServiceImpl.java b/src/main/java/com/mini/capi/biz/service/impl/ErpPeriodSummaryWeekViewServiceImpl.java new file mode 100644 index 0000000..10c4f4e --- /dev/null +++ b/src/main/java/com/mini/capi/biz/service/impl/ErpPeriodSummaryWeekViewServiceImpl.java @@ -0,0 +1,20 @@ +package com.mini.capi.biz.service.impl; + +import com.mini.capi.biz.domain.ErpPeriodSummaryWeekView; +import com.mini.capi.biz.mapper.ErpPeriodSummaryWeekViewMapper; +import com.mini.capi.biz.service.ErpPeriodSummaryWeekViewService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * VIEW 服务实现类 + *

+ * + * @author gaoxq + * @since 2025-11-11 + */ +@Service +public class ErpPeriodSummaryWeekViewServiceImpl extends ServiceImpl implements ErpPeriodSummaryWeekViewService { + +} diff --git a/src/main/java/com/mini/capi/biz/service/impl/ErpPeriodSummaryYearViewServiceImpl.java b/src/main/java/com/mini/capi/biz/service/impl/ErpPeriodSummaryYearViewServiceImpl.java new file mode 100644 index 0000000..3c2ac0d --- /dev/null +++ b/src/main/java/com/mini/capi/biz/service/impl/ErpPeriodSummaryYearViewServiceImpl.java @@ -0,0 +1,20 @@ +package com.mini.capi.biz.service.impl; + +import com.mini.capi.biz.domain.ErpPeriodSummaryYearView; +import com.mini.capi.biz.mapper.ErpPeriodSummaryYearViewMapper; +import com.mini.capi.biz.service.ErpPeriodSummaryYearViewService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * VIEW 服务实现类 + *

+ * + * @author gaoxq + * @since 2025-11-11 + */ +@Service +public class ErpPeriodSummaryYearViewServiceImpl extends ServiceImpl implements ErpPeriodSummaryYearViewService { + +} diff --git a/src/main/resources/mapper/ErpPeriodSummaryAccountWeekViewMapper.xml b/src/main/resources/mapper/ErpPeriodSummaryAccountWeekViewMapper.xml new file mode 100644 index 0000000..4ff9de4 --- /dev/null +++ b/src/main/resources/mapper/ErpPeriodSummaryAccountWeekViewMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + account_name, amount, type + + + diff --git a/src/main/resources/mapper/ErpPeriodSummaryAccountYearViewMapper.xml b/src/main/resources/mapper/ErpPeriodSummaryAccountYearViewMapper.xml new file mode 100644 index 0000000..5b87593 --- /dev/null +++ b/src/main/resources/mapper/ErpPeriodSummaryAccountYearViewMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + account_name, amount, type + + + diff --git a/src/main/resources/mapper/ErpPeriodSummaryAllViewMapper.xml b/src/main/resources/mapper/ErpPeriodSummaryAllViewMapper.xml new file mode 100644 index 0000000..377df99 --- /dev/null +++ b/src/main/resources/mapper/ErpPeriodSummaryAllViewMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + category_name, account_name, f_full_name, type, amount + + + diff --git a/src/main/resources/mapper/ErpPeriodSummaryViewMapper.xml b/src/main/resources/mapper/ErpPeriodSummaryViewMapper.xml new file mode 100644 index 0000000..729b3b7 --- /dev/null +++ b/src/main/resources/mapper/ErpPeriodSummaryViewMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + create_time, summary_id, cycle_type, cycle_code, total_income, total_expense, net_cashflow, income_count, expense_count, update_time, f_tenant_id, f_flow_id, f_flow_task_id, f_flow_state + + + diff --git a/src/main/resources/mapper/ErpPeriodSummaryWeekViewMapper.xml b/src/main/resources/mapper/ErpPeriodSummaryWeekViewMapper.xml new file mode 100644 index 0000000..4298c6c --- /dev/null +++ b/src/main/resources/mapper/ErpPeriodSummaryWeekViewMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + category_name, account_name, f_full_name, type, amount + + + diff --git a/src/main/resources/mapper/ErpPeriodSummaryYearViewMapper.xml b/src/main/resources/mapper/ErpPeriodSummaryYearViewMapper.xml new file mode 100644 index 0000000..a512d31 --- /dev/null +++ b/src/main/resources/mapper/ErpPeriodSummaryYearViewMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + category_name, account_name, f_full_name, type, amount + + + From 36aa3cc07bc86bddb6fdaa3998839c36d24feff0 Mon Sep 17 00:00:00 2001 From: gaoxq <376340421@qq.com> Date: Tue, 11 Nov 2025 20:20:28 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=9B=BE=E8=A1=A8?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mini/capi/api/biz/appController.java | 55 +++++++++++++++++++ .../java/com/mini/capi/model/ChartResult.java | 5 +- 2 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/mini/capi/api/biz/appController.java diff --git a/src/main/java/com/mini/capi/api/biz/appController.java b/src/main/java/com/mini/capi/api/biz/appController.java new file mode 100644 index 0000000..0591900 --- /dev/null +++ b/src/main/java/com/mini/capi/api/biz/appController.java @@ -0,0 +1,55 @@ +package com.mini.capi.api.biz; + +import com.mini.capi.biz.domain.ErpPeriodSummaryAccountWeekView; +import com.mini.capi.biz.domain.ErpPeriodSummaryAccountYearView; +import com.mini.capi.biz.service.ErpPeriodSummaryAccountWeekViewService; +import com.mini.capi.biz.service.ErpPeriodSummaryAccountYearViewService; +import com.mini.capi.model.ApiResult; +import com.mini.capi.model.ChartResult; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +@RestController +@RequestMapping("/appApi") +public class appController { + + + @Resource + private ErpPeriodSummaryAccountWeekViewService weekViewService; + + @Resource + private ErpPeriodSummaryAccountYearViewService yearViewService; + + + /** + * 账号周汇总 + */ + @GetMapping("getCardWeekChart") + public ApiResult getCardWeekChart() { + List chartResults = new ArrayList<>(); + List weekViews = weekViewService.list(); + for (ErpPeriodSummaryAccountWeekView weekView : weekViews) { + chartResults.add(new ChartResult(weekView.getAccountName(), weekView.getType(), weekView.getAmount())); + } + return ApiResult.success(chartResults); + } + + + /** + * 账号年汇总 + */ + @GetMapping("getCardYearChart") + public ApiResult getCardYearChart() { + List chartResults = new ArrayList<>(); + List weekViews = yearViewService.list(); + for (ErpPeriodSummaryAccountYearView weekView : weekViews) { + chartResults.add(new ChartResult(weekView.getAccountName(), weekView.getType(), weekView.getAmount())); + } + return ApiResult.success(chartResults); + } +} diff --git a/src/main/java/com/mini/capi/model/ChartResult.java b/src/main/java/com/mini/capi/model/ChartResult.java index f7eac4f..347fa16 100644 --- a/src/main/java/com/mini/capi/model/ChartResult.java +++ b/src/main/java/com/mini/capi/model/ChartResult.java @@ -3,6 +3,7 @@ package com.mini.capi.model; import lombok.Data; import java.io.Serializable; +import java.math.BigDecimal; @Data public class ChartResult implements Serializable { @@ -12,10 +13,10 @@ public class ChartResult implements Serializable { private String type; - private String value; + private BigDecimal value; - public ChartResult(String name, String type, String value) { + public ChartResult(String name, String type, BigDecimal value) { this.name = name; this.type = type; this.value = value; From bae6724e3b192ce6e2dd5e002cbee30457113039 Mon Sep 17 00:00:00 2001 From: gaoxq <376340421@qq.com> Date: Tue, 11 Nov 2025 20:55:08 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=9B=BE=E8=A1=A8?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mini/capi/api/biz/appController.java | 28 ++++++ .../java/com/mini/capi/utils/DateUtils.java | 91 ++++++++++--------- 2 files changed, 75 insertions(+), 44 deletions(-) diff --git a/src/main/java/com/mini/capi/api/biz/appController.java b/src/main/java/com/mini/capi/api/biz/appController.java index 0591900..bf5a79a 100644 --- a/src/main/java/com/mini/capi/api/biz/appController.java +++ b/src/main/java/com/mini/capi/api/biz/appController.java @@ -1,16 +1,22 @@ package com.mini.capi.api.biz; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.mini.capi.biz.domain.ErpPeriodSummaryAccountWeekView; import com.mini.capi.biz.domain.ErpPeriodSummaryAccountYearView; +import com.mini.capi.biz.domain.ErpPeriodSummaryView; import com.mini.capi.biz.service.ErpPeriodSummaryAccountWeekViewService; import com.mini.capi.biz.service.ErpPeriodSummaryAccountYearViewService; +import com.mini.capi.biz.service.ErpPeriodSummaryViewService; import com.mini.capi.model.ApiResult; import com.mini.capi.model.ChartResult; +import com.mini.capi.utils.DateUtils; import jakarta.annotation.Resource; +import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; + import java.util.ArrayList; import java.util.List; @@ -19,6 +25,10 @@ import java.util.List; public class appController { + @Resource + private ErpPeriodSummaryViewService summaryViewService; + + @Resource private ErpPeriodSummaryAccountWeekViewService weekViewService; @@ -26,6 +36,24 @@ public class appController { private ErpPeriodSummaryAccountYearViewService yearViewService; + /** + * 实时汇总 + */ + @GetMapping("getSummaryChart") + public ApiResult getSummaryChart(String cycleType) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (StringUtils.hasText(cycleType)) { + queryWrapper.eq("cycle_type", cycleType); + String cycleCode = DateUtils.calculateStartCycleCode(cycleType); + if (cycleCode != null) { + queryWrapper.ge("cycle_code", cycleCode); + } + } + List summaryViews = summaryViewService.list(queryWrapper); + return ApiResult.success(summaryViews); + } + + /** * 账号周汇总 */ diff --git a/src/main/java/com/mini/capi/utils/DateUtils.java b/src/main/java/com/mini/capi/utils/DateUtils.java index 3105ead..c1cc989 100644 --- a/src/main/java/com/mini/capi/utils/DateUtils.java +++ b/src/main/java/com/mini/capi/utils/DateUtils.java @@ -1,63 +1,66 @@ package com.mini.capi.utils; -import com.mini.capi.model.DateInfo; + import java.time.LocalDate; -import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class DateUtils { - /** - * 格式化当前日期 - * - * @param pattern 格式模式 - * @return 格式化后的日期字符串 - */ - public static String formatCurrentDate(String pattern) { - return LocalDateTime.now().format(DateTimeFormatter.ofPattern(pattern)); + // 日期格式化器(线程安全,复用提升性能) + private static final DateTimeFormatter DAY_FORMATTER = DateTimeFormatter.ISO_LOCAL_DATE; // yyyy-MM-dd + private static final DateTimeFormatter MONTH_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM"); // yyyy-MM + + + public static String calculateStartCycleCode(String cycleType) { + // 默认使用当前日期计算,留参便于测试时指定日期 + return calculateStartCycleCode(cycleType, LocalDate.now()); } /** - * 格式化指定日期 + * 重载方法:支持指定基准日期计算起始cycleCode(便于测试) * - * @param date 日期 - * @param pattern 格式模式 - * @return 格式化后的日期字符串 + * @param cycleType 周期类型(D:日, M:月, Q:季度, Y:年) + * @param baseDate 基准日期(以此日期为起点计算时间范围) + * @return 起始cycleCode(符合对应格式),未识别类型返回null */ - public static String formatDate(LocalDateTime date, String pattern) { - if (date == null) { - return ""; + public static String calculateStartCycleCode(String cycleType, LocalDate baseDate) { + if (baseDate == null) { + throw new IllegalArgumentException("基准日期不能为null"); } - return date.format(DateTimeFormatter.ofPattern(pattern)); + if (cycleType == null) { + return null; + } + + return switch (cycleType) { + case "D" -> + // 日:最近30天,格式 yyyy-MM-dd + baseDate.minusDays(30).format(DAY_FORMATTER); + case "M" -> + // 月:最近1年,格式 yyyy-MM + baseDate.minusYears(1).format(MONTH_FORMATTER); + case "Q" -> + // 季度:最近3年,格式 yyyy-Qx + getQuarterCycleCode(baseDate.minusYears(3)); + case "Y" -> + // 年:最近6年,格式 yyyy + String.valueOf(baseDate.minusYears(6).getYear()); + default -> + // 未识别的周期类型,返回null + null; + }; } - - public static String getSevenDaysAgo() { - // 获取当前日期 - LocalDate today = LocalDate.now(); - // 减去7天 - LocalDate sevenDaysAgo = today.minusDays(7); - // 格式化日期为yyyymmdd - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); - return sevenDaysAgo.format(formatter); + /** + * 计算指定日期对应的季度cycleCode(格式:yyyy-Qx) + * + * @param date 日期 + * @return 季度cycleCode(如2023-Q3) + */ + private static String getQuarterCycleCode(LocalDate date) { + int month = date.getMonthValue(); // 1-12月 + int quarter = (month - 1) / 3 + 1; + return String.format("%d-Q%d", date.getYear(), quarter); } - - public static DateInfo getDates() { - // 获取当前日期 - LocalDate today = LocalDate.now(); - // 1. 获取昨天(yyyyMMdd) - LocalDate yesterday = today.minusDays(1); - String yesterdayStr = yesterday.format(DateTimeFormatter.ofPattern("yyyyMMdd")); - // 2. 获取当月(yyyyMM) - String currentMonthStr = today.format(DateTimeFormatter.ofPattern("yyyyMM")); - // 3. 获取当前季度(yyyyQ1-Q4) - int quarter = (today.getMonthValue() - 1) / 3 + 1; - String currentQuarterStr = today.format(DateTimeFormatter.ofPattern("yyyy")) + "Q" + quarter; - // 4. 获取当前年度(yyyy) - String currentYearStr = today.format(DateTimeFormatter.ofPattern("yyyy")); - DateInfo dateInfo = new DateInfo(yesterdayStr, currentMonthStr, currentQuarterStr, currentYearStr); - return dateInfo; - } }