UserMedalTotalController.class.php 1.45 KB
<?php
/**
 * Created by PhpStorm.
 * 赋予勋章
 * User: zs_anything
 * Date: 2017-06-21 11:33:56
 */

/**
 * 使用须知
 *
 * 调用方法:
 *  $rpcUrl = call_user_func_array('sprintf', [
 *      '%s://%s/%s/Integral/Rpc/Medal/UserMedalTotal',
 *      $_SERVER['REQUEST_SCHEME'],
 *      $_SERVER['HTTP_HOST'],
 *      QY_DOMAIN
 *  ]);
 *
 *  $postData = [
 *      '9301F6AF7F0000010AF9CD33DD051EB3', // 人员ID
 *      '9301F6AF7F0000010AF9CD33DD051EB3'  // 人员ID
 *  ];
 *  \Com\Rpc::phprpc($rpcUrl)->invoke('Index', $postData)
 *
 * 返回值预览:
 *  [
 *   '9301F6AF7F0000010AF9CD33DD051EB3': '2',
 *   '9301F6AF7F0000010AF9CD33DD051EB3': '4',
 *  ]
 */

namespace Rpc\Controller\Medal;

use Common\Service\MemberMedalService;

class UserMedalTotalController extends AbstractController
{
    /**
     * 获取用户获得的勋章总数
     * @param string $uids array 人员ID
     * @return bool
     */
    public function index($uids)
    {
        $uids = (array)$uids;

        if (count($uids) < 1) {
            return [];
        }

        $memMedalServ = new MemberMedalService();
        $memMedalTotalList = $memMedalServ->getMemMedalTotal($uids);
        $memMedalTotalList = array_combine_by_key($memMedalTotalList, "mem_uid");

        $resultArr = [];
        foreach ($uids as $uid) {
            $resultArr[$uid] = isset($memMedalTotalList[$uid]) ? (int)($memMedalTotalList[$uid]['medal_total']) : 0;
        }

        return $resultArr;
    }
}