/**
* @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"