功能:
- 管理员登录:管理员通过工号和密码进行登录,密码在数据库中存储为加密后的形式,登录时进行比对验证。
- 外卖员管理:
- 添加外卖员:管理员可以通过 POST 请求添加新外卖员,包括工号、姓名、联系电话、性别和工资等信息。
- 查看外卖员列表:可以查询系统中的所有外卖员信息。
- 删除外卖员:通过 DELETE 请求删除指定工号的外卖员。
视图函数:
login(request)
: 管理员登录视图,验证管理员的工号和加密后的密码。addWorker(request)
: 添加外卖员的视图函数。showWorkers(request)
: 获取所有外卖员列表。removeWorker(request)
: 删除指定工号的外卖员。
功能:
- 信息管理:外卖员信息由管理员统一管理,外卖员不直接操作系统。
视图函数:
- 管理员通过外卖员管理功能管理所有外卖员信息。
功能:
- 商铺管理:
- 商铺注册:商铺可以注册,输入入驻时间、商户编号、法人信息等。
- 商铺登录:商铺通过商户编号和初始密码登录系统。
- 商铺信息更新:包括商铺名称、法人信息、地址、联系电话等字段的更新。
- 商铺删除:通过商户编号删除商铺信息。
- 食品管理:
- 添加食品:商铺可以添加食品,包括食品名称、价格、描述、图片等信息。
- 查看食品列表:根据商户编号获取其管理的所有食品。
- 删除食品:通过食品 ID 删除食品。
- 更新售罄状态:对食品的库存状态进行更新(售罄或重新上架)。
- 图片上传:商铺可以上传图片用于食品展示。
视图函数:
addShop(request)
: 注册商铺。login(request)
: 商铺登录。updateInfo(request)
: 更新商铺信息。removeShop(request)
: 删除商铺。addFood(request)
: 添加食品。showFoods(request)
: 查看商铺下所有食品。removeFood(request)
: 删除食品。updateSellOut(request)
: 更新食品售罄状态。uploadHead(request)
,upload(request)
: 上传图片。
功能:
- 学生注册与登录:学生可以注册账户,填写手机号、账号、密码及其他信息。
- 学生信息管理:
- 查看学生信息:根据手机号查询学生的基本信息。
- 更新学生余额:在支付订单或充值时更新余额。
- 更新学生个人信息:包括账号、收货地址等信息。
视图函数:
newStu(request)
: 注册新学生。getInfo(request)
: 获取学生信息。updateBalance(request)
: 更新学生余额。updateStuInfo(request)
: 更新学生个人信息。
功能:
- 订单管理:
- 下单:学生可以提交订单,选择商品和商铺,填写配送地址。
- 查看订单:商铺或学生可以查看与自己相关的订单。
- 更新订单状态:更新订单为“已完成”状态。
- 获取商铺每日销售总额:统计商铺每日订单的销售金额。
- 评价系统:
- 添加评价:学生可以对商铺或订单进行评价,包括评分、文字描述和图片。
- 查看评价:商铺可以查看用户给出的评价。
视图函数:
addOrder(request)
: 提交新订单。getOrders(request)
: 获取商铺的所有订单。updateStatus(request)
: 更新订单状态为已完成。getOrderByPhone(request)
: 根据学生手机号获取订单。getTotalOfAllDay(request)
: 计算商铺的总销售额。addEval(request)
: 添加用户评价。getEval(request)
: 获取商铺评价。
功能:
- 发布通知:管理员可以发布系统公告或通知。
- 查看最新通知:获取系统发布的最新公告。
视图函数:
addNotice(request)
: 发布新通知。getNotice(request)
: 获取最新的通知。
- 后端框架:Django
- 数据库:MySQL,使用 InnoDB 引擎以支持事务一致性和数据安全性
- 数据交互:Django ORM 进行数据交互,使用 JSON 格式进行数据传递
- 密码加密:使用
hashlib
模块对密码进行 SHA-256 加密 - 其他依赖:Django 提供的中间件如 CSRF 防护等
以下是项目后端各模块的主要 API 端点:
-
管理员模块:
/manager/login
:管理员登录接口。/show/workers
:获取所有外卖员信息。/add/worker
:添加新外卖员。/remove/worker
:删除外卖员。
-
商铺与食品模块:
/add/shop
:注册新商铺。/shop/login
:商铺登录接口。/update/shopinfo
:更新商铺信息。/add/food
:向商铺添加食品。/show/foods
:获取商铺下所有食品。/remove/food
:删除食品。/update/sellout
:更新食品售罄状态。
-
学生模块:
/new/stu
:注册新学生。/get/stu/info
:获取学生详细信息。/update/balance
:更新学生余额。/update/stu/info
:更新学生信息。
-
订单与评价模块:
/add/order
:添加新订单。/get/orders
:获取商铺相关的订单。/update/status
:更新订单状态。/add/eval
:添加评价。/get/evals
:获取商铺评价。
-
通知模块:
/add/notice
:发布新通知。/get/notice
:获取最新通知。