1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- 'use strict'
- import HongbaoModel from '../../models/promotion/hongbao'
- import BaseComponent from '../../prototype/baseComponent'
- class Hongbao extends BaseComponent{
- constructor(){
- super()
- this.getHongbao = this.getHongbao.bind(this);
- this.getExpiredHongbao = this.getExpiredHongbao.bind(this);
- }
- async getHongbao(req, res, next){
- this.hongbaoHandle(req, res, 'intime')
- }
- async getExpiredHongbao(req, res, next){
- this.hongbaoHandle(req, res, 'expired')
- }
- async hongbaoHandle(req, res, type){
- const present_status = type == 'intime'? 1 : 4;
- const user_id = req.params.user_id;
- const {limit = 0, offset = 0} = req.query;
- try{
- if(!user_id || !Number(user_id)){
- throw new Error('user_id参数错误')
- }else if(!Number(limit)){
- throw new Error('limit参数错误')
- }else if(typeof Number(offset) !== 'number'){
- throw new Error('offset参数错误')
- }
- }catch(err){
- console.log(err.message, err);
- res.send({
- status: 0,
- type: 'ERROR_PARAMS',
- message: err.message
- })
- return
- }
- try{
- const hongbaos = await HongbaoModel.find({present_status}, '-_id').limit(Number(limit)).skip(Number(offset));
- res.send(hongbaos)
- }catch(err){
- console.log('获取红包数据失败');
- res.send({
- status: 0,
- type: 'ERROR_TO_GET_HONGBAO_DATA',
- message: '获取红包数据失败'
- })
- }
- }
- }
- export default new Hongbao()
|