/* 推广系统-广告专用 */ import {Router} from 'express' import AdUid from '../../models/admin/AdUid' import RedisDao from '../../redis/redis.dao' import cors from 'cors' const router = new Router() const redisDao = new RedisDao() // 获取广告区域列表 router.get('/', cors(), async (req, res, next) => { try { const query = req.query const game_id = query.gameid const platform_id = query.channelid const key = `ad-ratio:${game_id}:${platform_id}` const ratio = await redisDao.getByKey(key) let records = await AdUid.find({ game_id, platform_id, deleted: false, }) records = JSON.parse(JSON.stringify(records)) let cfg = {} if (ratio) { const arr = ratio.split('\n') arr.map(item => { const kv = item.split('-') cfg[kv[0]] = kv[1] }) } const result = records.map(item => { item.ratio = item.ratio ? item.ratio : cfg[item.channel_name] || 100 return { adChannel: item.channel_id, ratio: parseFloat(item.ratio), } }) res.send({ errcode: 0, result, }) } catch (err) { next(err) } }) export default router