浏览代码

back manage shoplist foodlist

maguohua 8 年之前
父节点
当前提交
d99bd0ca01
共有 3 个文件被更改,包括 78 次插入3 次删除
  1. 2 2
      README.md
  2. 73 0
      controller/shopping/shop.js
  3. 3 1
      routes/shopping.js

+ 2 - 2
README.md

@@ -71,8 +71,8 @@ npm run dev (需开启本地mongodb,如果没有安装mongodb,可以运行 n
 - [x] 服务中心
 - [x] 红包
 - [x] 兑换会员卡
-- [ ] 商铺管理
-- [ ] 食品管理
+- [x] 商铺管理
+- [x] 食品管理
 - [ ] 订单管理
 - [ ] 会员管理
 - [ ] 流量统计

+ 73 - 0
controller/shopping/shop.js

@@ -370,6 +370,79 @@ class Shop extends AddressComponent{
 			})
 		}
 	}
+	async updateshop(req, res, next){
+		const form = new formidable.IncomingForm();
+		form.parse(req, async (err, fields, files) => {
+			if (err) {
+				console.log('更新商铺信息form出错');
+				res.send({
+					status: 0,
+					type: 'ERROR_FORM',
+					message: '表单信息错误',
+				})
+				return 
+			}
+			const {name, address, description = "暂无介绍", phone, category, id, latitude, longitude, image_path} = fields;
+			try{
+				if (!name) {
+					throw new Error('餐馆名称错误');
+				}else if(!address){
+					throw new Error('餐馆地址错误');
+				}else if(!phone){
+					throw new Error('餐馆联系电话错误');
+				}else if(!category){
+					throw new Error('餐馆分类错误');
+				}else if(!id || !Number(id)){
+					throw new Error('餐馆ID错误');
+				}
+				let newData;
+				if (latitude && longitude) {
+					newData = {name, address, description, phone, category, latitude, longitude, image_path}
+				}else{
+					newData = {name, address, description, phone, category, image_path}
+				}
+				await ShopModel.findOneAndUpdate({id}, {$set: newData});
+				res.send({
+					status: 1,
+					success: '修改商铺信息成功',
+				})
+			}catch(err){
+				console.log(err.message);
+				res.send({
+					status: 0,
+					type: 'ERROR_QUERY',
+					message: err.message,
+				})
+				return
+			}
+		})
+	}
+	async deleteResturant(req, res, next){
+		const restaurant_id = req.params.restaurant_id;
+		if (!restaurant_id || !Number(restaurant_id)) {
+			console.log('restaurant_id参数错误');
+			res.send({
+				status: 0,
+				type: 'ERROR_PARAMS',
+				message: 'restaurant_id参数错误',
+			})
+			return 
+		}
+		try{
+			await ShopModel.remove({id: restaurant_id});
+			res.send({
+				status: 1,
+				success: '删除餐馆成功',
+			})
+		}catch(err){
+			console.log('删除餐馆失败', err);
+			res.send({
+				status: 0,
+				type: 'DELETE_RESTURANT_FAILED',
+				message: '删除餐馆失败',
+			})
+		}
+	}
 }
 
 export default new Shop()

+ 3 - 1
routes/shopping.js

@@ -9,11 +9,13 @@ const router = express.Router();
 router.post('/addshop', Shop.addShop);
 router.get('/restaurants', Shop.getRestaurants);
 router.get('/allrestaurants', Shop.getShopCount);
+router.post('/updateshop', Shop.updateshop);
+router.delete('/resturant/:restaurant_id/delete', Shop.deleteResturant);
+router.get('/restaurant/:restaurant_id', Shop.getRestaurantDetail);
 router.post('/addfood', Food.addFood);
 router.get('/getcategory/:restaurant_id', Food.getCategory);
 router.post('/addcategory', Food.addCategory);
 router.get('/v2/menu', Food.getMenu);
-router.get('/restaurant/:restaurant_id', Shop.getRestaurantDetail);
 router.get('/v2/restaurant/category', Category.getCategories);
 router.get('/v1/restaurants/delivery_modes', Category.getDelivery);
 router.get('/v1/restaurants/activity_attributes', Category.getActivity);