select_first_row('sq_agent', '*', array('username' => $tradeinfo['user']), 'AND')) { return makejson(-101,'代理信息获取失败'); } $newinfo['money'] = $agentinfo['money'] + $tradeinfo['paymoney']; $newinfo['allrecharge'] = $agentinfo['allrecharge'] + $tradeinfo['paymoney']; if (!$db->update('sq_agent', array('username' => $tradeinfo['user']), 'AND', $newinfo)) { return makejson(-102,'代理信息更新失败'); } $db->insert_back_id('sq_log_agent', array('time' => time(), 'aid' => $agentinfo['ID'], 'ip' => get_real_ip(), 'msg' => '成功充值' . $tradeinfo['paymoney'] . '元,余额' . $newinfo['allrecharge'])); return makejson(1,'充值余额成功!'); } if ($tradeinfo['type'] == '2') { //代理开通商品 if (!$fidinfo = $db->select_first_row('sq_fidlist', '*', array('ID' => $tradeinfo['fid']), 'AND')) { return makejson(-201,'商品信息拉取失败'); } if (!$agentinfo = $db->select_first_row('sq_agent', '*', array('ID' => $tradeinfo['agentid']), 'AND')) { return makejson(-202,'代理信息拉取失败'); } $allspend = $agentinfo['allspend'] + $tradeinfo['paymoney']; $db->update('sq_agent', array('ID' => $tradeinfo['agentid']), 'AND', array('allspend' => $allspend)); include_once __DIR__ . '/function_auth.php'; $back = auth_add($tradeinfo['user'],$tradeinfo['pass'],$tradeinfo['ip'],$tradeinfo['num'] * $fidinfo['num'],$tradeinfo['uqq'],$tradeinfo['mail'],$fidinfo['appid'],4,'',$agentinfo['ID'],$newkey,$tips); if ($back == 1){ return makejson(1,'授权新增成功'); }else if ($back==2){ return makejson(1,'授权续费成功'); }else if ($back==3){ return makejson(2,'成功生成卡密',array('kami'=>$newkey)); }else{ return makejson($back,$tips); } } if ($tradeinfo['type'] == '3') { //在线购买 if (!$fidinfo = $db->select_first_row('sq_fidlist', '*', array('ID' => $tradeinfo['fid']), 'AND')) { return makejson(-301,'商品信息拉取失败'); } include_once __DIR__ . '/function_auth.php'; if ($tradeinfo['paytype'] == 'czkm') { if (!$kamiinfo = $db->select_first_row('sq_key','*',array('kami'=>$tradeinfo['kami']),'AND')) { return makejson(-301,'卡密不存在'); } $back = auth_add($tradeinfo['user'],$tradeinfo['pass'],$tradeinfo['ip'],$tradeinfo['num'] * $fidinfo['num'],$tradeinfo['uqq'],$tradeinfo['mail'],$fidinfo['appid'],2,$kamiinfo['ID'],$kamiinfo['aid'],$newkey,$tips); }elseif ($tradeinfo['paytype'] == 'zxzf') { $back = auth_add($tradeinfo['user'],$tradeinfo['pass'],$tradeinfo['ip'],$tradeinfo['num'] * $fidinfo['num'],$tradeinfo['uqq'],$tradeinfo['mail'],$fidinfo['appid'],2,0,0,$newkey,$tips); }else { return makejson(-302,'操作错误'); } if ($back == 1){ return makejson(1,'授权新增成功'); }else if ($back==2){ return makejson(1,'授权续费成功'); }else if ($back==3){ return makejson(2,'成功生成卡密',array('kami'=>$newkey)); }else{ return makejson($back,$tips); } } if ($tradeinfo['type'] == '4') { $nowtime = Get_Date(); // P0-05: 代理密码以 bcrypt 哈希入库。幂等保护:订单创建点已哈希则原样保留, // 旧格式明文订单(升级前产生)在此处补哈希 if (!wq_is_hashed_password($tradeinfo['pass'])) { $tradeinfo['pass'] = wq_hash_password($tradeinfo['pass']); } $db->insert_back_id('sq_agent', array('username' => $tradeinfo['user'], 'password' => $tradeinfo['pass'], 'begintime' => time(), 'levelid' => $tradeinfo['fid'], 'status' => 1, 'qq' => $tradeinfo['uqq'])); $T['title'] = '您的代理已成功开通!'; $T['content'][] = 'QQ:'.$tradeinfo['uqq']; $T['content'][] = '账号:'.$tradeinfo['user']; $T['content'][] = '时间:'.Get_Date(); $T['content'][] = '等级:'.level_idgetname($tradeinfo['fid']); $MailTips[] = $T; SendTipsMail($tradeinfo['mail'],$MailTips,$back); return makejson(1,'代理开通成功'); } return makejson(-404,'订单类型异常'); } function MakeTradeTips($tradeinfo){ $T['title'] = '您的订单已成功处理!'; $T['content'][] = '订单金额:'.$tradeinfo['paymoney'].' 元'; switch ($tradeinfo['paytype']){ case 'czkm': $T['content'][] = '支付方式:充值卡密'; break; case 'yezf': $T['content'][] = '支付方式:代理余额'; break; case 'zxzf': switch ($tradeinfo['onlinepaytype']){ case 'zfb': $T['content'][] = '支付方式:在线支付-支付宝'; break; case 'wx': $T['content'][] = '支付方式:在线支付-微信支付'; break; case 'qq': $T['content'][] = '支付方式:在线支付-QQ钱包'; break; default: $T['content'][] = '支付方式:在线支付-未知'; } break; default: $T['content'][] = '支付方式:未知方式'; } $T['content'][] = '订单名称:'.$tradeinfo['name']; $T['content'][] = '下单时间:'.Get_Date($tradeinfo['begintime']); $T['content'][] = '完成时间:'.Get_Date(); $T['content'][] = '订单编号:'.$tradeinfo['tradeno']; return $T; }