feat:app统计

This commit is contained in:
dzc committed 2025-08-13 11:47:08 +08:00
1 parent 7584926e62
commit 75033aa225
13 files changed
+418 -6

No files matched your search

@@ -0,0 +1,31 @@
package com.bsd.pjcloud.hard.api.constant.total;
import cn.hutool.core.util.ObjectUtil;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
/**
* 日期范围类型
*/
@AllArgsConstructor
@Getter
public enum DateRangeTypeEnum {
TODAY("1", "本天"),
THIS_WEEK("2", "本周"),
THIS_MONTH("3", "本月"),
CURRENT_SEASON("4", "本季度"),
THIS_YEAR("5", "本年"),
;
private final String type;
private final String description;
public static DateRangeTypeEnum valueOfByType(String type) {
if (ObjectUtil.isEmpty(type)) return null;
return Arrays.stream(values()).filter(v -> ObjectUtil.equals(type, v.getType())).findFirst().get();
}
}
@@ -0,0 +1,26 @@
package com.bsd.pjcloud.hard.api.dto.order.app;
import com.bsd.pjcloud.hard.api.constant.total.DateRangeTypeEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
/**
* 各个食堂菜品购买统计
*/
@Data
public class HardAppProductByCanteenDto {
@Schema(description = "食堂id")
private List<String> canteenIdList;
@Schema(description = "用餐时间段")
private String hourType;
@Schema(description = "购买时间根据dateType运算")
private LocalDate[] payTimeList;
}
@@ -0,0 +1,27 @@
package com.bsd.pjcloud.hard.api.dto.order.app;
import com.bsd.pjcloud.hard.api.constant.total.DateRangeTypeEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
/**
* 菜品销量按照分类查询
*/
@Data
public class HardAppProductByClassifyDto {
@Schema(description = "食堂id")
private List<String> canteenIdList;
@Schema(description = "日期类型")
private DateRangeTypeEnum dateType;
@Schema(description = "用餐时间段")
private String hourType;
@Schema(description = "购买时间根据dateType运算")
private LocalDateTime[] payTimeList;
}
@@ -0,0 +1,45 @@
package com.bsd.pjcloud.hard.api.vo.order.app;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.time.LocalDate;
/**
* 菜品销量按照分类查询
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class HardAppProductByCanteenVo {
@Schema(description = "商户id")
private Long canteenId;
@Schema(description = "商户名")
private String canteenName;
@Schema(description = "购买总数")
private Long payCount;
@Schema(description = "购买总金额")
private BigDecimal totalPrice;
@Schema(description = "购买总数量")
private Long timeCount;
@Schema(description = "购买总人数")
private Long payUserCount;
@Schema(description = "时间")
private LocalDate time;
@Schema(description = "周几")
private String weekStr;
}
@@ -0,0 +1,32 @@
package com.bsd.pjcloud.hard.api.vo.order.app;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
/**
* 菜品销量按照分类查询
*/
@Data
public class HardAppProductByClassifyVo {
@Schema(description = "分类id")
private Long classifyId;
@Schema(description = "分类名")
private String classifyName;
@Schema(description = "购买总数")
private Long payCount;
@Schema(description = "购买总金额")
private BigDecimal totalPrice;
@Schema(description = "购买总数量")
private Long timeCount;
@Schema(description = "购买总人数")
private Long payUserCount;
}