diff --git a/gm-server/app/controller/activity.ts b/gm-server/app/controller/activity.ts index c2afe2d0a..340d1e36f 100644 --- a/gm-server/app/controller/activity.ts +++ b/gm-server/app/controller/activity.ts @@ -4,8 +4,8 @@ export default class ActivityController extends Controller { public async getActivityList() { const { ctx } = this; - const { page, pageSize, type, groupId, current, activityId } = ctx.request.body; - ctx.body = await ctx.service.activity.getActivityList(page, pageSize, type, groupId, current, activityId); + const { page, pageSize, type, groupId, current, activityId, sortField, sortOrder } = ctx.request.body; + ctx.body = await ctx.service.activity.getActivityList(page, pageSize, sortField, sortOrder, type, groupId, current, activityId); return } diff --git a/gm-server/app/router.ts b/gm-server/app/router.ts index 6a68c41da..678a2d8f3 100644 --- a/gm-server/app/router.ts +++ b/gm-server/app/router.ts @@ -44,21 +44,21 @@ export default (app: Application) => { router.post('/api/users/setitemcount', tokenParser, controller.users.setItemCount); router.post('/api/game/getserverenv', tokenParser, controller.game.getServerEnv); - router.post('/api/game/getserverlistbyenv', controller.game.getServerListByEnv); - router.post('/api/game/getdicgoods', controller.game.getDicGoods); - router.post('/api/game/getdichero', controller.game.getDicHero); - router.post('/api/game/getdicrmb', controller.game.getDicRMB); - router.post('/api/game/getdicactivitytype', controller.game.getDicActivityType); - router.post('/api/game/getdictasktype', controller.game.getDicTaskType); + router.post('/api/game/getserverlistbyenv', tokenParser, controller.game.getServerListByEnv); + router.post('/api/game/getdicgoods', tokenParser, controller.game.getDicGoods); + router.post('/api/game/getdichero', tokenParser, controller.game.getDicHero); + router.post('/api/game/getdicrmb', tokenParser, controller.game.getDicRMB); + router.post('/api/game/getdicactivitytype', tokenParser, controller.game.getDicActivityType); + router.post('/api/game/getdictasktype', tokenParser, controller.game.getDicTaskType); - router.post('/api/activity/getactivitylist', controller.activity.getActivityList); - router.post('/api/activity/updateactivity', controller.activity.updateActivity); - router.post('/api/activity/deleteactivity', controller.activity.deleteActivity); - router.post('/api/activity/getactivitygrouplist', controller.activity.getActivityGroupList); - router.post('/api/activity/updateactivitygroupname', controller.activity.updateActivityGroupName); - router.post('/api/activity/saveactivitiestogroup', controller.activity.saveActivitiesToGroup); - router.post('/api/activity/savegrouptoserver', controller.activity.saveGroupToServer); - router.post('/api/activity/creategroup', controller.activity.createGroup); - router.post('/api/activity/deletegroup', controller.activity.deleteGroup); + router.post('/api/activity/getactivitylist', tokenParser, controller.activity.getActivityList); + router.post('/api/activity/updateactivity', tokenParser, controller.activity.updateActivity); + router.post('/api/activity/deleteactivity', tokenParser, controller.activity.deleteActivity); + router.post('/api/activity/getactivitygrouplist', tokenParser, controller.activity.getActivityGroupList); + router.post('/api/activity/updateactivitygroupname', tokenParser, controller.activity.updateActivityGroupName); + router.post('/api/activity/saveactivitiestogroup', tokenParser, controller.activity.saveActivitiesToGroup); + router.post('/api/activity/savegrouptoserver', tokenParser, controller.activity.saveGroupToServer); + router.post('/api/activity/creategroup', tokenParser, controller.activity.createGroup); + router.post('/api/activity/deletegroup', tokenParser, controller.activity.deleteGroup); }; diff --git a/gm-server/app/service/Activity.ts b/gm-server/app/service/Activity.ts index 3b4ecd53b..0c59e8add 100644 --- a/gm-server/app/service/Activity.ts +++ b/gm-server/app/service/Activity.ts @@ -12,10 +12,10 @@ export default class Activity extends Service { /** * 获得活动列表 */ - public async getActivityList(page: number, pageSize: number, type: number = 0, groupId: number = 0, current: boolean = false, activityId: number = 0) { + public async getActivityList(page: number, pageSize: number, sortField: string, sortOrder: string, type: number = 0, groupId: number = 0, current: boolean = false, activityId: number = 0) { const { ctx } = this; // console.log('***', page, pageSize, type, groupId, current, activityId) - const list = await ActivityModel.findByCondition(page, pageSize, type, groupId, current, activityId); + const list = await ActivityModel.findByCondition(page, pageSize, sortField, sortOrder, type, groupId, current, activityId); const total = await ActivityModel.countByCondition(type, groupId, current, activityId); return ctx.service.utils.resResult(STATUS.SUCCESS, { list: list.map(cur => { diff --git a/shared/db/Activity.ts b/shared/db/Activity.ts index 78844f84a..28de4e1d3 100644 --- a/shared/db/Activity.ts +++ b/shared/db/Activity.ts @@ -91,7 +91,7 @@ export default class Activity extends BaseModel { } //查询 - public static async findByCondition(page: number, pageSize: number, type: number = 0, groupId: number = 0, current: boolean = false, activityId: number = 0) { + public static async findByCondition(page: number, pageSize: number, sortField: string, sortOrder: string, type: number = 0, groupId: number = 0, current: boolean = false, activityId: number = 0) { let searchObj = {}; if (type != 0) searchObj['type'] = type; if (groupId != 0) searchObj['groupId'] = groupId; @@ -100,7 +100,15 @@ export default class Activity extends BaseModel { searchObj['beginTime'] = { $lte: new Date }; searchObj['endTime'] = { $gte: new Date }; } - const result: ActivityModelType[] = await ActivityModel.find(searchObj, { _id: 0 }).limit(pageSize).skip((page - 1) * pageSize).sort({ updatedAt: -1 }).lean(); + let sort = {}; + if(sortField && sortOrder) { + if(sortOrder == 'ascend') { + sort[sortField] = 1; + } else if (sortOrder == 'descend') { + sort[sortField] = -1; + } + } + const result: ActivityModelType[] = await ActivityModel.find(searchObj, { _id: 0 }).limit(pageSize).skip((page - 1) * pageSize).sort(sort).lean(); return result; }