目录

批量生成测试通行证


批量生成测试通行证

/**
 * @param null $sid 软件ID,可空,为空则只生成通行证
 * @param int $num 生成数量,可空,默认为1
 * @param null $endTime 到期时间,可空,默认为生成时间
 * @param int $point 点数余额 可空,默认为0点
 * @param int $reference 推荐人id 可空,默认为0
 * @return false|string 返回值
 */
function createUsers($sid = null, $num = 1, $endTime = null, $point = 0, $reference = 0)
{
    //引用全局变量
    global $date;
    // 如果提供了sid,先校验sid是否有效。
    if (!empty($sid)) {
        $soft = dbFindOne('soft', array('sid' => $sid));
        if (!$soft) {
            return json_encode(array('code' => 201, 'msg' => '软件sid不存在。'), JSON_UNESCAPED_UNICODE);
        }
    }

    // 新建数组,用于存放随机生产的账号数据。
    $users = [];
    // 生成账号密码
    for ($i = 0; $i < $num; $i++) {
        array_push($users, array('username' => 'u' . mt_rand(100000, 999999), 'password' => 'p' . mt_rand(100000, 999999)));
    }
    // 定义成功、失败数量变量
    $error = 0;
    $success = 0;
    // 循环账号密码数组
    foreach ($users as $val) {
        // 查询是否存在此用户
        $info = dbFindOne('user', array('username' => $val['username']));
        if (!$info) {
            // 不存在则新增
            $data = array(
                'username' => $val['username'],
                'password' => $val['password'],
                'salt' => mt_rand(1000, 9999),
                'mail' => $val['username'] . "@qq.com",
                'reg_time' => $date,
                'endtime' => $date,
                'reference' => $reference,
            );
            dbInsert('user', $data);
            // 如果sid不为null,则同时添加软件账户
            if (!empty($sid)) {
                $data = array(
                    'sid' => $sid,
                    'user' => $val['username'],
                    'endtime' => $endTime ?: date('Y-m-d H:i:s'),
                    'point' => $point
                );
                dbInsert('user_softuser', $data);
            }
            // 成功数量+1
            $success++;
        } else {
            // 失败数量+1
            $error++;
        }
    }
    // 返回执行结果。
    return json_encode(array('code' => 200, 'msg' => '执行成功。', 'success' => $success, 'error' => $error, 'data' => $users), JSON_UNESCAPED_UNICODE);
}

调用方法

此函数无需再客户端执行,直接在后台使用函数测试按钮即可。

// 函数测试中填写如下格式方法,点击‘函数测试’即可
"createUsers","软件sid,生成数量,到期时间,点数余额,推荐人ID"