1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- /**
- * @class Scenes 场景值模型
- */
- const BaseMod = require('./base')
- const Platform = require('./platform')
- module.exports = class Scenes extends BaseMod {
- constructor() {
- super()
- this.tableName = 'mp-scenes'
- this.defualtCode = '1001'
- }
- /**
- * 获取场景值
- * @param {String} platform 平台代码
- * @param {String} code 场景值代码
- */
- async getScenes(platform, code) {
- const cacheKey = 'uni-stat-scenes-' + platform + '-' + code
- let scenesData = await this.getCache(cacheKey)
- if (!scenesData) {
- const scenesInfo = await this.getCollection(this.tableName).where({
- platform: platform,
- scene_code: code
- }).limit(1).get()
- scenesData = []
- if (scenesInfo.data.length > 0) {
- scenesData = scenesInfo.data[0]
- await this.setCache(cacheKey, scenesData)
- }
- }
- return scenesData
- }
- /**
- * 通过平台编号获取场景值
- * @param {String} platformId 平台编号
- * @param {String} code 场景值代码
- */
- async getScenesByPlatformId(platformId, code) {
- const platform = new Platform()
- let platformInfo = await this.getCollection(platform.tableName).where({
- _id: platformId
- }).limit(1).get()
- let scenesData
- if (platformInfo.data.length > 0) {
- platformInfo = platformInfo.data[0]
- scenesData = await this.getScenes(platformInfo.code, code)
- } else {
- scenesData = []
- }
- return scenesData
- }
- /**
- * 获取场景值名称
- * @param {String} platform 平台代码
- * @param {String} code 场景值代码
- */
- async getScenesName(platform, code) {
- const scenesData = await this.getScenes(platform, code)
- if (scenesData.length === 0) {
- return ''
- }
- return scenesData.scene_name
- }
-
- /**
- * 通过平台编号获取场景值名称
- * @param {String} platformId 平台编号
- * @param {String} code 场景值代码
- */
- async getScenesNameByPlatformId(platformId, code) {
- const scenesData = await this.getScenesByPlatformId(platformId, code)
- if (scenesData.length === 0) {
- return code === this.defualtCode ? '默认' : ''
- }
- return scenesData.scene_name
- }
- }
|