一、系统概述
小象买菜系统是一款面向社区生鲜配送的电商平台,核心功能之一是支持用户选择就近自提点取货。为满足不同场景下的自提点管理需求,系统需具备高度灵活的自提点设置功能。
二、自提点灵活设置核心需求
1. 多维度自提点管理
- 地理位置灵活设置(经纬度/地址搜索)
- 营业时间自定义(按日/周设置不同时段)
- 服务范围划定(半径范围/行政区划)
2. 动态运营配置
- 临时关闭/开启功能
- 特殊日期营业时间调整
- 自提点容量限制设置
3. 多样化自提点类型
- 社区便利店合作点
- 智能快递柜集成
- 移动自提车(可变更位置)
- 临时自提点(展会/活动场景)
三、系统架构设计
1. 数据库设计
```
自提点表(pickup_point)
- id: 主键
- name: 自提点名称
- address: 详细地址
- lng: 经度
- lat: 纬度
- service_radius: 服务半径(米)
- business_hours: 营业时间JSON
- status: 状态(0-关闭,1-开启)
- capacity: 每日最大订单量
- current_orders: 当前订单数
- type: 自提点类型
- created_at: 创建时间
- updated_at: 更新时间
自提点营业时段表(pickup_time_slot)
- id: 主键
- point_id: 自提点ID
- weekday: 星期几(0-6)
- open_time: 开门时间
- close_time: 关门时间
- is_closed: 是否休息日
```
2. 核心功能模块
1. 自提点管理后台
- 地图可视化操作(拖拽定位、范围绘制)
- 批量导入/导出功能
- 状态监控仪表盘
2. 用户端功能
- LBS自动推荐最近自提点
- 自提点详情查看(地图位置、营业时间)
- 切换自提点功能
3. API接口
- 获取附近自提点列表
- 检查自提点可用性
- 更新自提点状态
四、关键技术实现
1. 地理位置服务
```javascript
// 示例:使用高德地图API实现自提点搜索
function searchNearbyPickupPoints(lng, lat, radius) {
// 调用地图API进行周边搜索
// 返回符合条件的自提点列表
}
```
2. 营业时间验证逻辑
```python
def is_pickup_available(point_id, current_time):
point = get_pickup_point(point_id)
today = current_time.weekday()
time_slot = get_time_slot(point_id, today)
if not time_slot or time_slot.is_closed:
return False
return time_slot.open_time <= current_time.time() <= time_slot.close_time
```
3. 服务范围验证算法
```
// 计算用户位置与自提点的距离
function isInServiceRange(userLng, userLat, pointLng, pointLat, radius) {
const R = 6371; // 地球半径(km)
const dLat = (pointLat - userLat) * Math.PI / 180;
const dLng = (pointLng - userLng) * Math.PI / 180;
const a =
Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(userLat * Math.PI / 180) *
Math.cos(pointLat * Math.PI / 180) *
Math.sin(dLng/2) * Math.sin(dLng/2);
const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
const distance = R * c;
return distance <= radius;
}
```
四、实施步骤
1. 需求分析与规划
- 明确自提点管理权限划分(总部/区域/门店)
- 确定自提点类型及特殊规则
2. 系统开发阶段
- 开发自提点管理后台
- 实现地图集成与范围划定功能
- 开发营业时间配置模块
3. 测试验证
- 边界条件测试(服务范围边缘)
- 特殊日期场景测试
- 高并发自提点查询测试
4. 上线部署
- 分阶段发布(先试点区域)
- 操作培训与文档准备
- 监控系统搭建
五、扩展功能建议
1. 智能推荐算法
- 基于用户历史行为推荐自提点
- 实时库存影响推荐优先级
2. 动态定价策略
- 不同自提点差异化定价
- 高峰时段附加费设置
3. 自提点评价体系
- 用户评分与评论功能
- 自提点服务质量分析
4. 多模式配送整合
- 自提与配送模式无缝切换
- 混合订单处理能力
六、技术选型建议
1. 地图服务:高德/百度/Google Maps API
2. 位置计算:Geohash或空间数据库(PostGIS)
3. 前端框架:Vue/React + 地图组件库
4. 后端服务:Spring Cloud/Django微服务架构
5. 数据库:MySQL(关系型)+MongoDB(文档型)混合
通过以上方案,小象买菜系统可实现自提点的灵活设置与管理,提升运营效率和用户体验,同时为未来业务扩展预留充足空间。