epay / website /admin /ajax_user.php
xxsxx's picture
Upload 1045 files
0d5b03e verified
<?php
include("../includes/common.php");
if($islogin==1){}else exit("<script language='javascript'>window.location.href='./login.php';</script>");
$act=isset($_GET['act'])?daddslashes($_GET['act']):null;
if(!checkRefererHost())exit('{"code":403}');
@header('Content-Type: application/json; charset=UTF-8');
switch($act){
case 'userList':
$usergroup = [0=>'默认用户组'];
$rs = $DB->getAll("SELECT * FROM pre_group");
foreach($rs as $row){
$usergroup[$row['gid']] = $row['name'];
}
unset($rs);
$sql=" 1=1";
if(isset($_POST['dstatus']) && !empty($_POST['dstatus'])) {
$dstatus = explode('_',$_POST['dstatus']);
$sql.=" AND `{$dstatus[0]}`='{$dstatus[1]}'";
}
if(isset($_POST['gid']) && $_POST['gid']!=='') {
$gid = intval($_POST['gid']);
$sql.=" AND `gid`='$gid'";
}
if(isset($_POST['upid']) && $_POST['upid']!=='') {
$upid = intval($_POST['upid']);
$sql.=" AND `upid`='$upid'";
}
if(isset($_POST['value']) && !empty($_POST['value'])) {
$sql.=" AND `{$_POST['column']}`='{$_POST['value']}'";
}
$offset = intval($_POST['offset']);
$limit = intval($_POST['limit']);
$total = $DB->getColumn("SELECT count(*) from pre_user WHERE{$sql}");
$list = $DB->getAll("SELECT * FROM pre_user WHERE{$sql} order by uid desc limit $offset,$limit");
$list2 = [];
foreach($list as $row){
if($row['endtime']!=null && strtotime($row['endtime'])<time()){
$DB->exec("UPDATE pre_user SET gid=0,endtime=NULL WHERE uid='{$row['uid']}'");
$row['gid']=0;
}elseif($row['endtime']!=null){
$row['endtime'] = date("Y-m-d", strtotime($row['endtime']));
}
$row['groupname'] = $usergroup[$row['gid']];
$list2[] = $row;
}
exit(json_encode(['total'=>$total, 'rows'=>$list2]));
break;
case 'recordList':
$sql=" 1=1";
if(isset($_POST['value']) && !empty($_POST['value'])) {
$sql.=" AND `{$_POST['column']}`='{$_POST['value']}'";
}
$offset = intval($_POST['offset']);
$limit = intval($_POST['limit']);
$total = $DB->getColumn("SELECT count(*) from pre_record WHERE{$sql}");
$list = $DB->getAll("SELECT * FROM pre_record WHERE{$sql} order by id desc limit $offset,$limit");
exit(json_encode(['total'=>$total, 'rows'=>$list]));
break;
case 'userPayStat':
$day = trim($_POST['day']);
$method = trim($_POST['method']);
if(!$day)exit(json_encode(['code'=>0, 'msg'=>'no day']));
$starttime = date("Y-m-d H:i:s", strtotime($day));
$endtime = date("Y-m-d H:i:s", strtotime($day) + 3600 * 24);
$data = [];
$columns = ['uid'=>'商户ID', 'total'=>'总计'];
if($method == 'type'){
$paytype = [];
$rs = $DB->getAll("SELECT id,name,showname FROM pre_type WHERE status=1");
foreach($rs as $row){
$paytype[$row['id']] = $row['showname'];
$columns['type_'.$row['id']] = $row['showname'];
}
unset($rs);
}else{
$channel = [];
$rs = $DB->getAll("SELECT id,name FROM pre_channel WHERE status=1");
foreach($rs as $row){
$channel[$row['id']] = $row['name'];
}
unset($rs);
}
$rs=$DB->query("SELECT uid,type,channel,money from pre_order where status=1 and date='$day'");
while($row = $rs->fetch())
{
$money = (float)$row['money'];
if(!array_key_exists($row['uid'], $data)) $data[$row['uid']] = ['uid'=>$row['uid'], 'total'=>0];
$data[$row['uid']]['total'] += $money;
if($method == 'type'){
$ukey = 'type_'.$row['type'];
if(!array_key_exists($ukey, $data[$row['uid']])) $data[$row['uid']][$ukey] = $money;
else $data[$row['uid']][$ukey] += $money;
}else{
$ukey = 'channel_'.$row['channel'];
if(!array_key_exists($ukey, $data[$row['uid']])) $data[$row['uid']][$ukey] = $money;
else $data[$row['uid']][$ukey] += $money;
if(!in_array($ukey, $columns)) $columns[$ukey] = $channel[$row['channel']];
}
}
ksort($data);
$list = [];
foreach($data as $row){
$list[] = $row;
}
exit(json_encode(['code'=>0, 'columns'=>$columns, 'data'=>$list]));
break;
case 'logList':
$sql=" 1=1";
if(isset($_POST['value']) && $_POST['value']!=='') {
$sql.=" AND `{$_POST['column']}`='{$_POST['value']}'";
}
$offset = intval($_POST['offset']);
$limit = intval($_POST['limit']);
$total = $DB->getColumn("SELECT count(*) from pre_log WHERE{$sql}");
$list = $DB->getAll("SELECT * FROM pre_log WHERE{$sql} order by id desc limit $offset,$limit");
exit(json_encode(['total'=>$total, 'rows'=>$list]));
break;
case 'domainList':
$sql=" 1=1";
if(isset($_POST['uid']) && !empty($_POST['uid'])) {
$uid = intval($_POST['uid']);
$sql.=" AND `uid`='$uid'";
}
if(isset($_POST['kw']) && !empty($_POST['kw'])) {
$sql.=" AND `domain`='{$_POST['kw']}'";
}
if(isset($_POST['dstatus']) && $_POST['dstatus']>-1) {
$dstatus = intval($_POST['dstatus']);
$sql.=" AND `status`={$dstatus}";
}
$offset = intval($_POST['offset']);
$limit = intval($_POST['limit']);
$total = $DB->getColumn("SELECT count(*) from pre_domain WHERE{$sql}");
$list = $DB->getAll("SELECT * FROM pre_domain WHERE{$sql} order by id desc limit $offset,$limit");
exit(json_encode(['total'=>$total, 'rows'=>$list]));
break;
case 'blackList':
$sql=" 1=1";
if(isset($_POST['kw']) && !empty($_POST['kw'])) {
$sql.=" AND `content`='{$_POST['kw']}'";
}
if(isset($_POST['type']) && $_POST['type']>-1) {
$type = intval($_POST['type']);
$sql.=" AND `type`={$type}";
}
$offset = intval($_POST['offset']);
$limit = intval($_POST['limit']);
$total = $DB->getColumn("SELECT count(*) from pre_blacklist WHERE{$sql}");
$list = $DB->getAll("SELECT * FROM pre_blacklist WHERE{$sql} order by id desc limit $offset,$limit");
exit(json_encode(['total'=>$total, 'rows'=>$list]));
break;
case 'getGroup': //用户组
$gid=intval($_GET['gid']);
$row=$DB->getRow("select * from pre_group where gid='$gid' limit 1");
if(!$row)
exit('{"code":-1,"msg":"当前用户组不存在!"}');
$result = ['code'=>0,'msg'=>'succ','gid'=>$gid,'name'=>$row['name'],'info'=>json_decode($row['info'],true),'config'=>$row['config']?json_decode($row['config'],true):[],'settings'=>$row['settings']];
exit(json_encode($result));
break;
case 'delGroup':
$gid=intval($_GET['gid']);
$row=$DB->getRow("select * from pre_group where gid='$gid' limit 1");
if(!$row)
exit('{"code":-1,"msg":"当前用户组不存在!"}');
$sql = "DELETE FROM pre_group WHERE gid='$gid'";
if($DB->exec($sql)){
$DB->exec("UPDATE pre_user SET gid=0 WHERE gid='$gid'");
exit('{"code":0,"msg":"删除用户组成功!"}');
}
else exit('{"code":-1,"msg":"删除用户组失败['.$DB->error().']"}');
break;
case 'saveGroup':
if($_POST['action'] == 'add'){
$name=trim($_POST['name']);
$row=$DB->getRow("select * from pre_group where name='$name' limit 1");
if($row)
exit('{"code":-1,"msg":"用户组名称重复"}');
$info=json_encode($_POST['info']);
$config=json_encode($_POST['config']);
$settings=trim($_POST['settings']);
if($settings && !checkGroupSettings($settings))exit('{"code":-1,"msg":"用户变量格式不正确"}');
$data = ['name'=>$name, 'info'=>$info, 'config'=>$config, 'settings'=>$settings];
if($DB->insert('group', $data))exit('{"code":0,"msg":"新增用户组成功!"}');
else exit('{"code":-1,"msg":"新增用户组失败['.$DB->error().']"}');
}elseif($_POST['action'] == 'changebuy'){
$gid=intval($_POST['gid']);
$status=intval($_POST['status']);
$sql = "UPDATE pre_group SET isbuy='{$status}' WHERE gid='$gid'";
if($DB->exec($sql))exit('{"code":0,"msg":"修改上架状态成功!"}');
else exit('{"code":-1,"msg":"修改上架状态失败['.$DB->error().']"}');
}else{
$gid=intval($_POST['gid']);
$name=trim($_POST['name']);
$row=$DB->getRow("select * from pre_group where name='$name' and gid<>$gid limit 1");
if($row)
exit('{"code":-1,"msg":"用户组名称重复"}');
$info=json_encode($_POST['info']);
$config=json_encode($_POST['config']);
$settings=trim($_POST['settings']);
if($settings && !checkGroupSettings($settings))exit('{"code":-1,"msg":"用户变量格式不正确"}');
$data = ['name'=>$name, 'info'=>$info, 'config'=>$config, 'settings'=>$settings];
if($DB->update('group', $data, ['gid'=>$gid])!==false)exit('{"code":0,"msg":"修改用户组成功!"}');
else exit('{"code":-1,"msg":"修改用户组失败['.$DB->error().']"}');
}
break;
case 'saveGroupPrice':
$prices = $_POST['price'];
$expires = $_POST['expire'];
$sorts = $_POST['sort'];
foreach($prices as $gid=>$item){
$price = trim($item);
$expire = intval($expires[$gid]);
$sort = trim($sorts[$gid]);
if(empty($price)||!is_numeric($price))exit('{"code":-1,"msg":"GID:'.$gid.'的售价填写错误"}');
$DB->exec("UPDATE pre_group SET price='{$price}',expire='{$expire}',sort='{$sort}' WHERE gid='$gid'");
}
exit('{"code":0,"msg":"保存成功!"}');
break;
case 'addUser':
$key = random(32);
$data = [
'gid' => intval($_POST['gid']),
'key' => $key,
'settle_id' => intval($_POST['settle_id']),
'account' => trim($_POST['account']),
'username' => trim($_POST['username']),
'money' => '0.00',
'url' => trim($_POST['url']),
'email' => trim($_POST['email']),
'qq' => trim($_POST['qq']),
'phone' => trim($_POST['phone']),
'mode' => intval($_POST['mode']),
'cert' => 0,
'pay' => intval($_POST['pay']),
'settle' => intval($_POST['settle']),
'status' => intval($_POST['status']),
'addtime' => 'NOW()',
];
if(empty($data['account']) || empty($data['username'])) exit('{"code":-1,"msg":"必填项不能为空!"}');
if(!empty($data['phone'])){
if($DB->find('user','*',['phone'=>$data['phone']])) exit('{"code":-1,"msg":"手机号已存在!"}');
}
if(!empty($data['email'])){
if($DB->find('user','*',['email'=>$data['email']])) exit('{"code":-1,"msg":"邮箱已存在!"}');
}
$uid = $DB->insert('user', $data);
if($uid!==false){
if(!empty($_POST['pwd'])){
$pwd = getMd5Pwd(trim($_POST['pwd']), $uid);
$DB->update('user', ['pwd'=>$pwd], ['uid'=>$uid]);
}
exit(json_encode(['code'=>0, 'uid'=>$uid, 'key'=>$key]));
}else{
exit('{"code":-1,"msg":"添加商户失败!'.$DB->error().'"}');
}
break;
case 'editUser':
$uid=intval($_GET['uid']);
$rows=$DB->getRow("select * from pre_user where uid='$uid' limit 1");
if(!$rows) exit('{"code":-1,"msg":"当前商户不存在!"}');
$data = [
'gid' => intval($_POST['gid']),
'settle_id' => intval($_POST['settle_id']),
'account' => trim($_POST['account']),
'username' => trim($_POST['username']),
'money' => trim($_POST['money']),
'url' => trim($_POST['url']),
'email' => trim($_POST['email']),
'qq' => trim($_POST['qq']),
'phone' => trim($_POST['phone']),
'cert' => intval($_POST['cert']),
'certtype' => intval($_POST['certtype']),
'certmethod' => intval($_POST['certmethod']),
'certno' => trim($_POST['certno']),
'certname' => trim($_POST['certname']),
'certcorpno' => trim($_POST['certcorpno']),
'certcorpname' => trim($_POST['certcorpname']),
'ordername' => trim($_POST['ordername']),
'mode' => intval($_POST['mode']),
'pay' => intval($_POST['pay']),
'settle' => intval($_POST['settle']),
'status' => intval($_POST['status']),
];
if(empty($data['account']) || empty($data['username'])) exit('{"code":-1,"msg":"必填项不能为空!"}');
if($DB->update('user', $data, ['uid'=>$uid])!==false){
if(!empty($_POST['pwd'])){
$pwd = getMd5Pwd(trim($_POST['pwd']), $uid);
$DB->update('user', ['pwd'=>$pwd], ['uid'=>$uid]);
}
exit('{"code":0}');
}else{
exit('{"code":-1,"msg":"修改商户信息失败!'.$DB->error().'"}');
}
break;
case 'editUserChannelInfo':
$uid=intval($_GET['uid']);
$rows=$DB->getRow("select * from pre_user where uid='$uid' limit 1");
if(!$rows) exit('{"code":-1,"msg":"当前商户不存在!"}');
$setting=$_POST['setting'];
$channelinfo = json_encode($setting);
if($DB->update('user', ['channelinfo'=>$channelinfo], ['uid'=>$uid])!==false){
exit('{"code":0}');
}else{
exit('{"code":-1,"msg":"修改商户信息失败!'.$DB->error().'"}');
}
break;
case 'delUser':
$uid=intval($_GET['uid']);
if($DB->exec("DELETE FROM pre_user WHERE uid='$uid'")){
exit('{"code":0}');
}else{
exit('{"code":-1,"msg":"删除商户失败!'.$DB->error().'"}');
}
break;
case 'setUser':
$uid=intval($_POST['uid']);
$type=trim($_POST['type']);
$status=intval($_POST['status']);
if($type=='pay')$sql = "UPDATE pre_user SET pay='$status' WHERE uid='$uid'";
elseif($type=='settle')$sql = "UPDATE pre_user SET settle='$status' WHERE uid='$uid'";
elseif($type=='group')$sql = "UPDATE pre_user SET gid='$status' WHERE uid='$uid'";
else $sql = "UPDATE pre_user SET status='$status' WHERE uid='$uid'";
if($DB->exec($sql)!==false)exit('{"code":0,"msg":"修改用户成功!"}');
else exit('{"code":-1,"msg":"修改用户失败['.$DB->error().']"}');
break;
case 'setUserGroup':
$uid=intval($_POST['uid']);
$gid=intval($_POST['gid']);
$endtime=trim($_POST['endtime']);
if(changeUserGroup($uid, $gid, $endtime)!==false)exit('{"code":0,"msg":"修改用户成功!"}');
else exit('{"code":-1,"msg":"修改用户失败['.$DB->error().']"}');
break;
case 'resetUser':
$uid=intval($_GET['uid']);
$key = random(32);
$sql = "UPDATE pre_user SET `key`='$key' WHERE uid='$uid'";
if($DB->exec($sql)!==false)exit('{"code":0,"msg":"重置密钥成功","key":"'.$key.'"}');
else exit('{"code":-1,"msg":"重置密钥失败['.$DB->error().']"}');
break;
case 'user_settle_info':
$uid=intval($_GET['uid']);
$rows=$DB->getRow("select * from pre_user where uid='$uid' limit 1");
if(!$rows)
exit('{"code":-1,"msg":"当前用户不存在!"}');
$data = '<div class="form-group"><div class="input-group"><div class="input-group-addon">结算方式</div><select class="form-control" id="pay_type" default="'.$rows['settle_id'].'">'.($conf['settle_alipay']?'<option value="1">支付宝</option>':null).''.($conf['settle_wxpay']?'<option value="2">微信</option>':null).''.($conf['settle_qqpay']?'<option value="3">QQ钱包</option>':null).''.($conf['settle_bank']?'<option value="4">银行卡</option>':null).'</select></div></div>';
$data .= '<div class="form-group"><div class="input-group"><div class="input-group-addon">结算账号</div><input type="text" id="pay_account" value="'.$rows['account'].'" class="form-control" required/></div></div>';
$data .= '<div class="form-group"><div class="input-group"><div class="input-group-addon">真实姓名</div><input type="text" id="pay_name" value="'.$rows['username'].'" class="form-control" required/></div></div>';
$data .= '<input type="submit" id="save" onclick="saveInfo('.$uid.')" class="btn btn-primary btn-block" value="保存">';
$result=array("code"=>0,"msg"=>"succ","data"=>$data,"pay_type"=>$rows['settle_id']);
exit(json_encode($result));
break;
case 'user_settle_save':
$uid=intval($_POST['uid']);
$pay_type=trim(daddslashes($_POST['pay_type']));
$pay_account=trim(daddslashes($_POST['pay_account']));
$pay_name=trim(daddslashes($_POST['pay_name']));
$sds=$DB->exec("update `pre_user` set `settle_id`='$pay_type',`account`='$pay_account',`username`='$pay_name' where `uid`='$uid'");
if($sds!==false)
exit('{"code":0,"msg":"修改记录成功!"}');
else
exit('{"code":-1,"msg":"修改记录失败!'.$DB->error().'"}');
break;
case 'user_cert':
$uid=intval($_GET['uid']);
$rows=$DB->getRow("select cert,certtype,certmethod,certno,certname,certcorpno,certcorpname,certtime from pre_user where uid='$uid' limit 1");
if(!$rows)
exit('{"code":-1,"msg":"当前用户不存在!"}');
$rows['certmethodname'] = show_cert_method($rows['certmethod']);
$result = ['code'=>0,'msg'=>'succ','uid'=>$uid,'data'=>$rows];
exit(json_encode($result));
break;
case 'recharge':
$uid=intval($_POST['uid']);
$do=$_POST['actdo'];
$rmb=floatval($_POST['rmb']);
$row=$DB->getRow("select uid,money from pre_user where uid='$uid' limit 1");
if(!$row)
exit('{"code":-1,"msg":"当前用户不存在!"}');
if($do==1 && $rmb>$row['money'])$rmb=$row['money'];
if($do==0){
changeUserMoney($uid, $rmb, true, '后台加款');
}else{
changeUserMoney($uid, $rmb, false, '后台扣款');
}
exit('{"code":0,"msg":"succ"}');
break;
case 'addDomain':
$uid=intval($_POST['uid']);
$domain = trim(daddslashes($_POST['domain']));
if(empty($domain))exit('{"code":-1,"msg":"域名不能为空"}');
if(!checkDomain($domain))exit('{"code":-1,"msg":"域名格式不正确"}');
$row=$DB->getRow("select uid from pre_user where uid='$uid' limit 1");
if(!$row)
exit('{"code":-1,"msg":"当前用户不存在!"}');
if($DB->getRow("select * from pre_domain where uid=:uid and domain=:domain limit 1", [':uid'=>$uid, ':domain'=>$domain]))
exit('{"code":-1,"msg":"该域名已存在,请勿重复添加"}');
if(!$DB->exec("INSERT INTO `pre_domain` (`uid`,`domain`,`status`,`addtime`,`endtime`) VALUES (:uid, :domain, 1, NOW(), NOW())", [':uid'=>$uid, ':domain'=>$domain]))exit('{"code":-1,"msg":"添加失败'.$DB->error().'"}');
exit(json_encode(['code'=>0, 'msg'=>'添加域名成功!']));
break;
case 'setDomainStatus':
$id=intval($_POST['id']);
$status=intval($_POST['status']);
if($DB->exec("UPDATE pre_domain SET status='$status',endtime=NOW() WHERE id='$id'")!==false)exit('{"code":0,"msg":"succ"}');
else exit('{"code":-1,"msg":"修改失败['.$DB->error().']"}');
break;
case 'delDomain':
$id=intval($_POST['id']);
if($DB->exec("DELETE FROM pre_domain WHERE id='$id'")!==false)exit('{"code":0,"msg":"succ"}');
else exit('{"code":-1,"msg":"删除失败['.$DB->error().']"}');
break;
case 'getChannels':
$typeid = intval($_GET['typeid']);
$type=$DB->getColumn("SELECT name FROM pre_type WHERE id='$typeid'");
if(!$type)
exit('{"code":-1,"msg":"当前支付方式不存在!"}');
$list=$DB->getAll("SELECT id,name FROM pre_channel WHERE `type`='$typeid' AND status=1 ORDER BY id ASC");
if($list){
$result = ['code'=>0,'msg'=>'succ','data'=>$list];
exit(json_encode($result));
}
else exit('{"code":-1,"msg":"该支付方式下没有可用的支付通道"}');
break;
case 'getSubChannel':
$id=intval($_GET['id']);
$row=$DB->getRow("SELECT A.*,B.type FROM pre_subchannel A LEFT JOIN pre_channel B ON A.channel=B.id WHERE A.id='$id'");
if(!$row)
exit('{"code":-1,"msg":"当前子通道不存在!"}');
$result = ['code'=>0,'msg'=>'succ','data'=>$row];
exit(json_encode($result));
break;
case 'setSubChannel':
$id=intval($_GET['id']);
$status=intval($_GET['status']);
$row=$DB->getRow("SELECT * FROM pre_subchannel WHERE id='$id'");
if(!$row)
exit('{"code":-1,"msg":"当前子通道不存在!"}');
$sql = "UPDATE pre_subchannel SET status='$status' WHERE id='$id'";
if($DB->exec($sql))exit('{"code":0,"msg":"修改子通道成功!"}');
else exit('{"code":-1,"msg":"修改子通道失败['.$DB->error().']"}');
break;
case 'delSubChannel':
$id=intval($_GET['id']);
$row=$DB->getRow("SELECT * FROM pre_subchannel WHERE id='$id'");
if(!$row)
exit('{"code":-1,"msg":"当前子通道不存在!"}');
$sql = "DELETE FROM pre_subchannel WHERE id='$id'";
if($DB->exec($sql))exit('{"code":0,"msg":"删除子通道成功!"}');
else exit('{"code":-1,"msg":"删除子通道失败['.$DB->error().']"}');
break;
case 'saveSubChannel':
if($_POST['action'] == 'add'){
$uid=intval($_POST['uid']);
$name=trim($_POST['name']);
$type=intval($_POST['type']);
$channel=intval($_POST['channel']);
$row=$DB->getRow("SELECT * FROM pre_subchannel WHERE name='$name' AND uid='$uid' LIMIT 1");
if($row)
exit('{"code":-1,"msg":"子通道备注重复"}');
$data = ['channel'=>$channel, 'uid'=>$uid, 'name'=>$name, 'addtime'=>'NOW()', 'usetime'=>'NOW()'];
if($DB->insert('subchannel', $data))exit('{"code":0,"msg":"新增子通道成功!"}');
else exit('{"code":-1,"msg":"新增子通道失败['.$DB->error().']"}');
}else{
$id=intval($_POST['id']);
$row=$DB->getRow("SELECT * FROM pre_subchannel WHERE id='$id'");
if(!$row) exit('{"code":-1,"msg":"当前子通道不存在!"}');
$uid=intval($_POST['uid']);
$name=trim($_POST['name']);
$type=intval($_POST['type']);
$channel=intval($_POST['channel']);
$nrow=$DB->getRow("SELECT * FROM pre_subchannel WHERE name='$name' AND uid='$uid' AND id<>$id LIMIT 1");
if($nrow)
exit('{"code":-1,"msg":"子通道名称重复"}');
$data = ['channel'=>$channel, 'name'=>$name];
if($DB->update('subchannel', $data, ['id'=>$id])!==false){
exit('{"code":0,"msg":"修改子通道成功!"}');
}else exit('{"code":-1,"msg":"修改子通道失败['.$DB->error().']"}');
}
break;
case 'subChannelInfo':
$id=intval($_GET['id']);
$subrow=$DB->getRow("SELECT * FROM pre_subchannel WHERE id='$id'");
if(!$subrow)
exit('{"code":-1,"msg":"当前子通道不存在!"}');
$row=$DB->getRow("SELECT * FROM pre_channel WHERE id='{$subrow['channel']}'");
if(!$row)
exit('{"code":-1,"msg":"当前子通道对应支付通道不存在!"}');
$typename = $DB->getColumn("SELECT name FROM pre_type WHERE id='{$row['type']}'");
$plugin = \lib\Plugin::getConfig($row['plugin']);
if(!$plugin)
exit('{"code":-1,"msg":"当前支付插件不存在!"}');
$info = json_decode($subrow['info'], true);
$data = '<div class="modal-body"><form class="form" id="form-info">';
foreach($plugin['inputs'] as $key=>$input){
if(substr($row[$key],0,1)=='['){
$key = substr($row[$key],1,-1);
if($input['type'] == 'textarea'){
$data .= '<div class="form-group"><label>'.$input['name'].':</label><br/><textarea id="'.$key.'" name="info['.$key.']" rows="2" class="form-control" placeholder="'.$input['note'].'">'.$info[$key].'</textarea></div>';
}elseif($input['type'] == 'select'){
$addOptions = '';
foreach($input['options'] as $k=>$v){
$addOptions.='<option value="'.$k.'" '.($info[$key]==$k?'selected':'').'>'.$v.'</option>';
}
$data .= '<div class="form-group"><label>'.$input['name'].':</label><br/><select class="form-control" name="info['.$key.']" default="'.$info[$key].'">'.$addOptions.'</select></div>';
}else{
$data .= '<div class="form-group"><label>'.$input['name'].':</label><br/><input type="text" id="'.$key.'" name="info['.$key.']" value="'.$info[$key].'" class="form-control" placeholder="'.$input['note'].'"/></div>';
}
}
}
$data .= '<button type="button" id="save" onclick="saveInfo('.$id.')" class="btn btn-primary btn-block">保存</button></form></div>';
$result=array("code"=>0,"msg"=>"succ","data"=>$data);
exit(json_encode($result));
break;
case 'saveSubChannelInfo':
$id=intval($_GET['id']);
$info=$_POST['info'];
$info = $info ? json_encode($info) : null;
if($DB->update('subchannel', ['info'=>$info], ['id'=>$id])!==false)exit('{"code":0,"msg":"修改自定义支付参数成功!"}');
else exit('{"code":-1,"msg":"修改自定义支付参数失败['.$DB->error().']"}');
break;
case 'addBlack':
$type=intval($_POST['type']);
$content = trim($_POST['content']);
$days=intval($_POST['days']);
$remark = trim($_POST['remark']);
if(empty($content))exit('{"code":-1,"msg":"拉黑内容不能为空"}');
if($DB->getRow("select * from pre_blacklist where type=:type and content=:content limit 1", [':type'=>$type, ':content'=>$content]))
exit('{"code":-1,"msg":"该黑名单记录已存在,请勿重复添加"}');
$endtime = $days > 0 ? date('Y-m-d H:i:s', strtotime('+'.$days.' days')) : null;
$data = ['type'=>$type, 'content'=>$content, 'addtime'=>'NOW()', 'endtime'=>$endtime, 'remark'=>$remark];
if($DB->insert('blacklist', $data))exit(json_encode(['code'=>0, 'msg'=>'添加黑名单成功!']));
else exit('{"code":-1,"msg":"添加失败'.$DB->error().'"}');
break;
case 'delBlack':
$id=intval($_POST['id']);
if($DB->exec("DELETE FROM pre_blacklist WHERE id='$id'")!==false)exit('{"code":0,"msg":"succ"}');
else exit('{"code":-1,"msg":"删除失败['.$DB->error().']"}');
break;
case 'delRecord':
$id=intval($_GET['id']);
if($DB->exec("DELETE FROM pre_record WHERE id='$id'")!==false)exit('{"code":0,"msg":"succ"}');
else exit('{"code":-1,"msg":"删除失败['.$DB->error().']"}');
break;
default:
exit('{"code":-4,"msg":"No Act"}');
break;
}