<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2019-05-05
 * Time: 14:18
 */

namespace App\Repositories;


use App\Service\RabbitMqUtil;
use Illuminate\Support\Facades\Log;
use Tymon\JWTAuth\Facades\JWTAuth;
use Illuminate\Support\Facades\Redis;
class MemberRepository
{

    public function getUserInfo($uid)
    {
        try {
            $sign = generateSign(['uid' => $uid], config('customer.app_secret'));
            $url = config("customer.app_service_url") . '/user/userInfo';
            $array = [
                'json' => ['sign' => $sign, 'uid' => $uid], 'query' => [], 'http_errors' => false, 'headers' => ['Authorization' => "Bearer " . JWTAuth::getToken()]
            ];
            return http($url, $array);
        } catch (\Exception $e) {
            return [];
        }
    }

    /**
     * 修改用户体力--异步
     * @param $value +5   -10
     * @return bool
     */
    public function updateStrength($uid, $value, $remark)
    {
        $rabbitmq = RabbitMqUtil::getInstance();
        $queueName = "user_strength_queue";
        if($value){
            $rabbitmq->push($queueName, ['uid' => $uid, 'value' => $value, 'remark' => $remark]);
            Log::debug('操作用户 ' . $uid . ' 体力' . $value . '备注:' . $remark);
        }else{
            Log::debug('放弃操作用户体力,原因:体力值为'.$value);
        }

    }

    /**
     * 修改用户彩虹豆--异步
     * @param $value +5   -10
     * @param $remark 备注
     * @return bool
     */
    public function updateRainbownBean($uid, $value, $remark)
    {
        $rabbitmq = RabbitMqUtil::getInstance();
        $queueName = "user_rainbownbean_queue";
        if($value){
            $rabbitmq->push($queueName, ['uid' => $uid, 'value' => $value, 'remark' => $remark]);
            Log::debug('操作用户 ' . $uid . ' 彩虹豆' . $value . '备注:' . $remark);
        }else{
            Log::debug('放弃操作用户彩虹豆,原因:彩虹豆值为'.$value);
        }
    }
}