From a56c87eea8a8725963360203539e4247fd750d8b Mon Sep 17 00:00:00 2001 From: zhl Date: Thu, 13 May 2021 16:52:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AE=A2=E6=88=B7=E7=AB=AF?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E9=99=84=E8=BF=91=E7=9A=84=E5=BA=97=E7=9A=84?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/controllers/game_user.controller.ts | 1 + src/api/controllers/shop.controller.ts | 59 +++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 src/api/controllers/shop.controller.ts diff --git a/src/api/controllers/game_user.controller.ts b/src/api/controllers/game_user.controller.ts index dcca123..340d7e2 100644 --- a/src/api/controllers/game_user.controller.ts +++ b/src/api/controllers/game_user.controller.ts @@ -4,6 +4,7 @@ import { GameUser } from '../../models/GameUser' import { ZError } from '../../common/ZError' class GameUserController extends BaseController { + // TODO:: 增加返回未使用的券 @role('anon') @router('post /weapp/login') async gameUserLogin(req, res) { diff --git a/src/api/controllers/shop.controller.ts b/src/api/controllers/shop.controller.ts new file mode 100644 index 0000000..8453b2d --- /dev/null +++ b/src/api/controllers/shop.controller.ts @@ -0,0 +1,59 @@ +import BaseController from '../../common/base.controller' +import { Shop } from '../../models/shop/Shop' +import { role, router } from '../../decorators/router' + + +class ShopController extends BaseController { + /** + * 获取附近的店铺 + * @param req + * lng: 经度 + * lat: 纬度 + * distance: 多少半径范围内, 单位: 米 + * @param res + * @return {Promise} + */ + @role('anon') + @router('post /weapp/nearme') + async shopNearby(req, res) { + let { lng, lat, distance } = req.params + let queryParam = { + location: { + $nearSphere: { + $geometry: { + type: "Point", + coordinates: [lng, lat] + }, + $maxDistance: distance + }, + }, + deleted: false + } + + let records = await Shop.find(queryParam) + let result = records.map(o => { + return { + id: o.id, + name: o.showName, + address: o.address + } + }) + + return result + } + + /** + * TODO:: 获取某店铺实时的活动信息 + * @param req + * @param res + * @return {Promise} + */ + @role('anon') + @router('get /weapp/act/:sid') + async shopActivity(req, res) { + let { sid } = req.params + + return {} + } + +}