where(['adminId' => $adminId])->asArray()->one(); } public static function add($data) { $relation = xhAdminToMerchant::add($data); $adminId = $relation['adminId']; $cacheKey = configDict::getCacheKey('xhAdminToMerchant').'_'.$adminId; $params = [$cacheKey]; if(!empty($relation)){ foreach($relation as $key => $val){ $params[] = $key; $params[] = $val; } } Yii::$app->redis->executeCommand('HMSET',$params); $merchantId = $relation['merchantId']; self::refreshByMerchantId($merchantId); return $relation; } public static function getByMerchantId($merchantId) { $cacheKey = configDict::getCacheKey('xhAdminToMerchantList').'_'.$merchantId; $relation = Yii::$app->redis->executeCommand('HGETALL', [$cacheKey]); if(!empty($relation)){ $arr = []; $i = 0; $x = 0; foreach($relation as $key => $val){ $i++; if($i%2 == 0){ $arr[$x]['value'] = $val; $x++; }else{ $arr[$x]['key'] = $val; } } $relationArr = []; foreach($arr as $key => $val){ $relationArr[$val['key']] = $val['value']; } return $relationArr; } $relation = xhAdminToMerchant::find()->where(['merchantId' => $merchantId])->asArray()->one(); $params = [$cacheKey]; if(!empty($relation)){ foreach($relation as $key => $val){ $params[] = $key; $params[] = $val; } Yii::$app->redis->executeCommand('HMSET',$params); } return $relation; } public static function getAdminByMerchantId($merchantId) { $relation = self::getByMerchantId($merchantId); $admin = []; if(!empty($relation)){ $adminId = $relation['adminId']; $admin = xhAdminService::getById($adminId); } return $admin; } /** * 删除管理员 * @param int $adminId */ public static function delByAdminId($adminId) { xhAdminToMerchant::deleteByCondition(['adminId'=>$adminId]); $cacheKey = configDict::getCacheKey('xhAdminToMerchant').'_'.$adminId; Yii::$app->redis->executeCommand('DEL', [$cacheKey]); } /** * 更新商家的管理员缓存 * @param int $merchantId */ public static function refreshByMerchantId($merchantId) { $cacheKey = configDict::getCacheKey('xhAdminToMerchantList').'_'.$merchantId; Yii::$app->redis->executeCommand('DEL', [$cacheKey]); } }