小程序主页接口

This commit is contained in:
张松
2025-03-01 09:45:33 +08:00
parent ffc620f6d8
commit 8388d0dfad
30 changed files with 1096 additions and 17 deletions

View File

@@ -0,0 +1,120 @@
package com.czg.account.dto;
import java.io.Serializable;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 平台配置 实体类。
*
* @author zs
* @since 2025-02-28
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PlatformDictDTO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
private Integer id;
/**
* 标签前小图标
*/
private String shareImg;
/**
* 描述 同类型下 name唯一
*/
private String name;
/**
* 值
*/
private String value;
/**
* 字体色
*/
private String fontColor;
/**
* 背景色
*/
private String backColor;
/**
* homeDistrict--金刚区(首页)
carousel--轮播图
proTag--商品标签
shopTag--店铺标签
icon--小图标
subShop--预约到店顶部图
group--团购卷分类对应顶部图 value为团购卷Id
ownMenu--个人中心菜单
*/
private String type;
/**
* 展示图
*/
private String coverImg;
/**
* 视频URL地址
*/
private String video;
/**
* 视频封面图
*/
private String videoCoverImg;
/**
* 类型: scan拉起相机relative内部页面absolute外链url
*/
private String jumpType;
/**
* 跳转地址
*/
private String absUrl;
/**
* 创建时间
*/
private Long createdAt;
/**
* 更新时间
*/
private Long updatedAt;
/**
* 收银端展示 0:不展示 1:展示
*/
private Integer isShowCash;
/**
* 小程序端展示 0:不展示 1:展示
*/
private Integer isShowMall;
/**
* APP端展示 0:不展示 1:展示
*/
private Integer isShowApp;
/**
* 排序
*/
private Integer sort;
}

View File

@@ -0,0 +1,46 @@
package com.czg.account.dto;
import java.io.Serializable;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 平台配置类型 实体类。
*
* @author zs
* @since 2025-02-28
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PlatformDictTypeDTO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* id
*/
private Integer id;
/**
* 类型标识
*/
private String key;
/**
* 类型名称
*/
private String name;
/**
* 排序
*/
private Integer sort;
}

View File

@@ -0,0 +1,95 @@
package com.czg.account.dto;
import java.io.Serializable;
import java.time.LocalDateTime;
import com.alibaba.fastjson2.annotation.JSONField;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 数据字典 实体类。
*
* @author zs
* @since 2025-02-28
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SysDictDTO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* ID
*/
private Long id;
/**
* 父id
*/
private Integer releId;
/**
* name
*/
private String dictName;
/**
* 字典名称
*/
private String name;
/**
* 值
*/
private String value;
/**
* 类型:通用-common首页-home热销-hot
*/
private String type;
/**
* 是否展示 0否 1是
*/
private Integer status;
/**
* 是否有子类 0否1是
*/
private Integer isChild;
/**
* 创建者
*/
private String createBy;
/**
* 更新者
*/
private String updateBy;
/**
* 创建日期
*/
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
/**
* 更新时间
*/
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime;
/**
* 排序
*/
private Integer sort;
}

View File

@@ -0,0 +1,126 @@
package com.czg.account.entity;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 平台配置 实体类。
*
* @author zs
* @since 2025-02-28
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table("tb_platform_dict")
public class PlatformDict implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Id(keyType = KeyType.Auto)
private Integer id;
/**
* 标签前小图标
*/
private String shareImg;
/**
* 描述 同类型下 name唯一
*/
private String name;
/**
* 值
*/
private String value;
/**
* 字体色
*/
private String fontColor;
/**
* 背景色
*/
private String backColor;
/**
* homeDistrict--金刚区(首页)
carousel--轮播图
proTag--商品标签
shopTag--店铺标签
icon--小图标
subShop--预约到店顶部图
group--团购卷分类对应顶部图 value为团购卷Id
ownMenu--个人中心菜单
*/
private String type;
/**
* 展示图
*/
private String coverImg;
/**
* 视频URL地址
*/
private String video;
/**
* 视频封面图
*/
private String videoCoverImg;
/**
* 类型: scan拉起相机relative内部页面absolute外链url
*/
private String jumpType;
/**
* 跳转地址
*/
private String absUrl;
/**
* 创建时间
*/
private Long createdAt;
/**
* 更新时间
*/
private Long updatedAt;
/**
* 收银端展示 0:不展示 1:展示
*/
private Integer isShowCash;
/**
* 小程序端展示 0:不展示 1:展示
*/
private Integer isShowMall;
/**
* APP端展示 0:不展示 1:展示
*/
private Integer isShowApp;
/**
* 排序
*/
private Integer sort;
}

View File

@@ -0,0 +1,52 @@
package com.czg.account.entity;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 平台配置类型 实体类。
*
* @author zs
* @since 2025-02-28
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table("tb_platform_dict_type")
public class PlatformDictType implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* id
*/
@Id(keyType = KeyType.Auto)
private Integer id;
/**
* 类型标识
*/
private String key;
/**
* 类型名称
*/
private String name;
/**
* 排序
*/
private Integer sort;
}

View File

@@ -0,0 +1,107 @@
package com.czg.account.entity;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.io.Serial;
import java.util.ArrayList;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 数据字典 实体类。
*
* @author zs
* @since 2025-02-28
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table("sys_dict")
public class SysDict implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* ID
*/
@Id(keyType = KeyType.Auto)
private Long id;
/**
* 父id
*/
private Integer releId;
/**
* name
*/
private String dictName;
/**
* 字典名称
*/
private String name;
/**
* 值
*/
private String value;
/**
* 类型:通用-common首页-home热销-hot
*/
private String type;
/**
* 是否展示 0否 1是
*/
private Integer status;
/**
* 是否有子类 0否1是
*/
private Integer isChild;
/**
* 创建者
*/
private String createBy;
/**
* 更新者
*/
private String updateBy;
/**
* 创建日期
*/
@Column(onInsertValue = "now()")
private LocalDateTime createTime;
/**
* 更新时间
*/
@Column(onInsertValue = "now()", onUpdateValue = "now()")
private LocalDateTime updateTime;
/**
* 排序
*/
private Integer sort;
@Column(ignore = true)
private List<SysDict> detail;
}

View File

@@ -0,0 +1,30 @@
package com.czg.account.vo.home;
import lombok.Data;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
/**
* @author lyf
*/
@Data
@Accessors(chain = true)
public class BannerInfoVo {
/**
* 昵称
*/
private String name;
/**
* 昵称
*/
private String logo;
/**
* 免单了多少钱
*/
private String money;
}

View File

@@ -0,0 +1,30 @@
package com.czg.account.vo.home;
import lombok.Data;
/**
* 轮播图VO
* @author Administrator
*/
@Data
public class HomeCarouselVo {
/**
* 描述 同类型下 name唯一
*/
private String name;
/**
* 轮播图url
*/
private String coverImg;
/**
* 跳转类型 如 拉起相机 跳转小程序 跳转第三方url
*/
private String jumpType;
/**
* 绝对跳转地址
*/
private String absUrl;
}

View File

@@ -0,0 +1,43 @@
package com.czg.account.vo.home;
import com.czg.account.entity.PlatformDict;
import com.czg.account.entity.SysDict;
import com.czg.product.entity.Product;
import lombok.Data;
import java.util.List;
/**
* @author Administrator
*/
@Data
public class HomePageVO {
/**
* 轮播图列表
*/
private List<PlatformDict> bannerList;
/**
* 免单轮播列表
*/
private List<BannerInfoVo> freeBannerList;
/**
* 功能入口按钮组
*/
private List<PlatformDict> district;
/**
* 热销信息
*/
private HotRankingVO hotRanking;
/**
* 今日上新商品信息
*/
private List<Product> todayProInfo;
/**
* 菜单列表
*/
private List<SysDict> menuList;
}

View File

@@ -0,0 +1,20 @@
package com.czg.account.vo.home;
import com.czg.product.entity.Product;
import lombok.Data;
import java.util.List;
/**
* @author lyf
*/
@Data
public class HotRankingVO {
/**
* 榜单名称
*/
private String name = "飙升热榜";
private String date = "8点更新";
List<Product> hotList;
}

View File

@@ -0,0 +1,13 @@
package com.czg.product.service;
import com.czg.account.vo.home.HomePageVO;
/**
* @author Administrator
*/
public interface HomePageService {
HomePageVO getHomeInfo();
Object getProd(String lng, String lat, String address, Integer classify, Integer orderType, Integer distanceType);
}

View File

@@ -0,0 +1,14 @@
package com.czg.product.service;
import com.mybatisflex.core.service.IService;
import com.czg.account.entity.PlatformDict;
/**
* 平台配置 服务层。
*
* @author zs
* @since 2025-02-28
*/
public interface PlatformDictService extends IService<PlatformDict> {
}

View File

@@ -0,0 +1,14 @@
package com.czg.product.service;
import com.mybatisflex.core.service.IService;
import com.czg.account.entity.PlatformDictType;
/**
* 平台配置类型 服务层。
*
* @author zs
* @since 2025-02-28
*/
public interface PlatformDictTypeService extends IService<PlatformDictType> {
}

View File

@@ -0,0 +1,14 @@
package com.czg.product.service;
import com.mybatisflex.core.service.IService;
import com.czg.account.entity.SysDict;
/**
* 数据字典 服务层。
*
* @author zs
* @since 2025-02-28
*/
public interface SysDictService extends IService<SysDict> {
}