* @version : HUOSDK_MP_LOTTERY 1.0 */ namespace huo\model\member; use huo\model\common\CommonModel; use huolib\constant\CacheConst; use think\Cache; class MemGameMapModel extends CommonModel { protected $name = 'mem_game_map'; // 开启自动写入时间戳字段 protected $autoWriteTimestamp = true; protected $cache_key_prefix = CacheConst::CACHE_MEM_GAME_MAP_PREFIX; /** * 获取单条记录缓存key * * @param int $id ID * * @return string */ protected function getSingleCacheKey($mem_id, $app_id) { return $this->cache_key_prefix.$mem_id.'_'.$app_id; } /** * 获取信息 * * @param int $id 主键ID * * @return array|false */ public function getInfoByMemIdAppId($mem_id, $app_id) { /* 缓存操作 */ $_single_cache_key = $this->getSingleCacheKey($mem_id, $app_id); $_data = Cache::get($_single_cache_key); if (!empty($_data)) { return $_data; } $_map = [ 'mem_id' => $mem_id, 'app_id' => $app_id, ]; $_data = $this->where($_map)->find(); if (is_object($_data)) { return $_data = $_data->toArray(); } Cache::set($_single_cache_key, $_data); return $_data; } /** * 新增数据 * * @param $data * * @return bool|mixed */ public function addData($data) { $_data = $data; if ($_obj = self::create($_data, true)) { $_data = parent::getInfoById($_obj->id); $_single_cache_key = $this->getSingleCacheKey($_data['mem_id'], $_data['app_id']); Cache::set($_single_cache_key, $_data); return $_obj->id; } else { return false; } } public function updateData($data, $id) { $_map['id'] = $id; $_data = $data; $_rs = self::update($_data, $_map); if (false === $_rs) { return false; } else { $_data = parent::getInfoById($id); $_single_cache_key = $this->getSingleCacheKey($_data['mem_id'], $_data['app_id']); Cache::set($_single_cache_key, $_data); return true; } } }