Quellcode durchsuchen

add orderlist page

maguohua vor 8 Jahren
Ursprung
Commit
2a5b42064b
8 geänderte Dateien mit 93 neuen und 6 gelöschten Zeilen
  1. 1 1
      README.md
  2. 23 3
      controller/v1/address.js
  3. 41 0
      controller/v1/order.js
  4. 22 0
      controller/v2/user.js
  5. 1 1
      models/v2/userInfo.js
  6. 2 0
      routes/bos.js
  7. 1 1
      routes/home.js
  8. 2 0
      routes/v1.js

+ 1 - 1
README.md

@@ -74,7 +74,7 @@ npm run dev (需开启本地mongodb,如果没有安装mongodb,可以运行 n
 - [x] 商铺管理
 - [x] 食品管理
 - [x] 会员管理
-- [ ] 订单管理
+- [x] 订单管理
 - [ ] 流量统计
 - [ ] 超级管理员
 - [ ] 后台管理系统

+ 23 - 3
controller/v1/address.js

@@ -12,7 +12,7 @@ class Address extends BaseComponent{
 	}
 	async getAddress(req, res, next){
 		const user_id = req.params.user_id;
-		if (!user_id) {
+		if (!user_id || !Number(user_id)) {
 			res.send({
 				type: 'ERROR_USER_ID',
 				message: 'user_id参数错误',
@@ -36,7 +36,7 @@ class Address extends BaseComponent{
 			const user_id = req.params.user_id;
 			const {address, address_detail, geohash, name, phone, phone_bk, poi_type = 0, sex, tag, tag_type} = fields;
 			try{
-				if (!user_id) {
+				if (!user_id || !Number(user_id)) {
 					throw new Error('用户ID参数错误');
 				}else if(!address){
 					throw new Error('地址信息错误');
@@ -96,7 +96,7 @@ class Address extends BaseComponent{
 	}
 	async deleteAddress(req, res, next){
 		const {user_id, address_id} = req.params;
-		if (!user_id || !address_id) {
+		if (!user_id || !Number(user_id) || !address_id || !Number(address_id)) {
 			res.send({
 				type: 'ERROR_PARAMS',
 				message: '参数错误',
@@ -117,6 +117,26 @@ class Address extends BaseComponent{
 			})
 		}
 	}
+	async getAddAddressById(req, res, next){
+		const address_id = req.params.address_id;
+		if (!address_id || !Number(address_id)) {
+			res.send({
+				type: 'ERROR_PARAMS',
+				message: '参数错误',
+			})
+			return 
+		}
+		try{
+			const address = await AddressModel.findOne({id: address_id});
+			res.send(address)
+		}catch(err){
+			console.log('获取地址信息失败', err);
+			res.send({
+				type: 'ERROR_GET_ADDRESS',
+				message: '获取地址信息失败'
+			})
+		}
+	}
 }
 
 export default new Address()

+ 41 - 0
controller/v1/order.js

@@ -181,6 +181,47 @@ class Order extends BaseComponent{
 			})
 		}
 	}
+	async getAllOrders(req, res, next){
+		const {restaurant_id, limit = 20, offset = 0} = req.query;
+		try{
+			let filter = {};
+			if (restaurant_id && Number(restaurant_id)) {
+				filter = {restaurant_id}
+			}
+
+			const orders = await OrderModel.find(filter, '-_id').limit(Number(limit)).skip(Number(offset));
+			res.send(orders);
+		}catch(err){
+			console.log('获取订单数据失败', err);
+			res.send({
+				status: 0,
+				type: 'GET_ORDER_DATA_ERROR',
+				message: '获取订单数据失败'
+			})
+		}
+	}
+	async getOrdersCount(req, res, next){
+		const restaurant_id = req.query.restaurant_id;
+		try{
+			let filter = {};
+			if (restaurant_id && Number(restaurant_id)) {
+				filter = {restaurant_id}
+			}
+
+			const count = await OrderModel.find(filter).count();
+			res.send({
+				status: 1,
+				count,
+			})
+		}catch(err){
+			console.log('获取订单数量失败', err);
+			res.send({
+				status: 0,
+				type: 'ERROR_TO_GET_COUNT',
+				message: '获取订单数量失败'
+			})
+		}
+	}
 }
 
 export default new Order()

+ 22 - 0
controller/v2/user.js

@@ -111,6 +111,28 @@ class User extends AddressComponent {
 			})
 		}
 	}
+	async getInfoById(req, res, next){
+		const user_id = req.params.user_id;
+		if (!user_id || !Number(user_id)) {
+			res.send({
+				status: 0,
+				type: 'GET_USER_INFO_FAIELD',
+				message: '获取用户信息失败',
+			})
+			return 
+		}
+		try{
+			const userinfo = await UserInfoModel.findOne({user_id}, '-_id');
+			res.send(userinfo) 
+		}catch(err){
+			console.log('获取用户信息失败', err);
+			res.send({
+				status: 0,
+				type: 'GET_USER_INFO_FAIELD',
+				message: '获取用户信息失败',
+			})
+		}
+	}
 	async signout(req, res, next){
 		req.session.user_id = null;
 		res.send({

+ 1 - 1
models/v2/userInfo.js

@@ -5,7 +5,7 @@ import mongoose from 'mongoose'
 const Schema = mongoose.Schema;
 
 const userInfoSchema = new Schema({
-	avatar: {type: String, default: '/img/default/default.jpg'},
+	avatar: {type: String, default: '/default.jpg'},
 	balance: {type: Number, default: 0},
 	brand_member_new: {type: Number, default: 0},
 	current_address_id: {type: Number, default: 0},

+ 2 - 0
routes/bos.js

@@ -6,5 +6,7 @@ const router = express.Router();
 
 router.get('/v2/users/:user_id/orders', Order.getOrders)
 router.get('/v1/users/:user_id/orders/:order_id/snapshot', Order.getDetail)
+router.get('/orders', Order.getAllOrders)
+router.get('/orders/count', Order.getOrdersCount)
 
 export default router

+ 1 - 1
routes/home.js

@@ -4,7 +4,7 @@ import express from 'express';
 const router = express.Router();
 
 router.get('/', async (req, res) => {
-	res.send('成功开启服务器');
+	res.send('node-elm 后台程序正常启动');
 });
 
 export default router;

+ 2 - 0
routes/v1.js

@@ -23,10 +23,12 @@ router.post('/carts/checkout', Carts.checkout);
 router.get('/carts/:cart_id/remarks', Remark.getRemarks);
 router.post('/captchas', Captchas.getCaptchas);
 router.get('/user', User.getInfo);
+router.get('/user/:user_id', User.getInfoById);
 router.get('/users/list', User.getUserList);
 router.get('/users/count', User.getUserCount);
 router.get('/users/:user_id/addresses', Address.getAddress);
 router.post('/users/:user_id/addresses', Address.addAddress);
+router.get('/addresse/:address_id', Address.getAddAddressById);
 router.delete('/users/:user_id/addresses/:address_id', Address.deleteAddress);
 router.post('/users/:user_id/carts/:cart_id/orders', Order.postOrder);
 router.post('/users/:user_id/hongbao/exchange', Hongbao.exchange);