Compare commits

...
26 Commits
Author SHA1 Message Date
OG Backup a437868f6e Merge branch 'master' of https://git.20031227.de5.net/og/Pro 2026-06-14 14:20:01 +08:00
OG Backup 171f8fce5c backup: 线上最终版本全量备份
包含所有线上运行的改动:
- 代理编辑功能修复(码率/占成/返水率保存)
- CORS跨域修复(Pcapi构造函数统一Origin)
- 支付通道(ccpay/epay新增)
- 代理报表洗码量显示
- AlinPay金额调整
- 代理/会员编辑页面优化
- 多语言更新
2026-06-14 14:19:49 +08:00
fengshao1227 788b8a0af3 revert+fix: 回滚充值扣费折算(恢复全额上分)+取消提现手续费
业务调整:客户不让用户承担手续费,改为客户自行预存代付账户余额(全额上分全额提现)。
1) 回滚 alin_recharge_settle 的代收费率折算,恢复充值全额上分
2) apply_withdraw/apply_withdraw_bank 提现手续费默认值 1→0,取消提现手续费
2026-06-03 19:31:14 +08:00
fengshao1227 ccf0af4ed2 fix: AlinPay充值上分按代收手续费率折算,客户承担手续费,防代付账户被掏空
根因:AlinPay代收时从平台代付账户扣手续费(回调real_amount仍是充值全额),
但系统全额上分→客户余额>账户实收→提现必差手续费那块,账户越提越空。
改为按ALIN_VN配置collection_fee_rate(%)折算上分额:充100万→上分99万(1%费率),
上分/扣代理同步折算,使客户余额=账户实收,代付永远够。back_money仍记全额供审计。
2026-06-03 19:12:26 +08:00
fengshao1227 dd84f674b0 fix: 彻底解耦存取款显隐与agent_type,只按pay_channel下发(防错配复发)
根因:登录/用户信息接口死卡 agent_type==1 才下发支付渠道,靠运营手动保持
agent_type 与 pay_channel 一致,一改错(如人工线配在线通道)用户就没存取款。
改为只看 pay_channel:OPR=人工(下发收款信息),非空非OPR=在线(下发币种/链),空=隐藏。
顺带修复 get_user_info 此前缺 OPR 分支导致人工线用户刷新丢充值信息的隐患。
覆盖移动端(Portal)+PC,均走此接口。170 错配存量已单独 UPDATE 修复。
2026-06-01 23:45:15 +08:00
fengshao1227 f67439bfe2 fix: 修复顶级代理(agent_parent_id=0)无法编辑保存(总账号给一级代理改参数报'上级错误')
do_edit 原逻辑 parent_id<=0 直接 die(parent_error),且后续全程访问 agentParent 做封顶校验,
导致顶级代理(一级总代)永远无法编辑保存。改为:顶级代理构造不设限虚拟上级,
封顶校验自动放行,封底校验(不得低于下级最高费率)与写入逻辑保持不变。对非顶级代理零影响。
2026-06-01 23:11:33 +08:00
fengshao1227 6012eff994 fix: '近一周'记录查询改为最近7天滚动窗口(含昨天),修复周一查不到昨天记录
time_interval=3 原为'本周自然周',周一时本周从今天起、昨天属上周故查无数据,
与前端'近一周/Gần một tuần'语义不符。改为 date(d)-6 ~ date(d) 最近7天滚动,
任意一天都含昨天且无星期边界问题。仅会员记录查询(onlinechip/admin Pcapi),
代理结算 Settle.php 的本周/上周保持自然周不变。
2026-06-01 15:27:50 +08:00
fengshao1227 e56ce3b132 fix: 修复结算(洗码/返水)周界查询在周日(date(w)=0)算成下周
Settle.php xima()/rebate() 的本周/上周周界同样受 date(w) 周日=0 影响,
周日会把本周算成下周、上周算成本周, 导致代理结算页查无未结数据或周次错位.
统一 date(w)->date(w)?:7, -7 上周偏移保留, 周一~周六零影响.
2026-05-31 20:15:42 +08:00
fengshao1227 a94b9f7fcc fix: 修复会员记录/报表查询'本周'在周日(date(w)=0)时间范围算成下周导致查无数据
PHP date(w) 周日返回0, date(d)-date(w)+1 在周日会把本周一推到下周一,
整个本周区间变成未来时间, 注单/记录查询返回0条(仅周日触发, 周一~周六正常).
用 date(w)?:7 将周日按第7天计算, 对周一~周六零影响.
覆盖 onlinechip/Pcapi(会员端 get_user_bets 等3处) + admin/Pcapi(3处)。
2026-05-31 20:09:18 +08:00
fengshao1227 fbeb9787dc feat(agent-report): 注单查询新增今日注单自动刷新开关(默认开,10秒刷新当前查询)
原自动刷新仅在线管理(online=1)进入时生效;现普通注单查询页也支持,
带开关(localStorage持久化)+倒计时显示,免手动点刷新。
2026-05-30 22:27:51 +08:00
fengshao1227 750a5472fa fix(alinpay): 网关域名 fallback 由 fantianchuangshi.com 迁至 hypayment.net
第三方支付网关改版迁移域名。DB配置已补 domain 字段, 同步更新代码回退默认值。
appid/secret/product_id/请求格式不变, 经账户查询验证新网关可用。
2026-05-29 21:35:01 +08:00
fengshao1227 ca2513bb7a feat(agent-home): 首页今日投注统计(tpbet)默认时间统一为 08:00:00~次日07:59:59 2026-05-29 21:17:13 +08:00
fengshao1227 2d7b15c1ad feat(agent-report): 统一全部报表默认时间为 今天08:00:00~次日07:59:59
Report.php 中 18 个报表(上下水/游戏/注单/上下分/台桌/棋牌等)默认时间
从 今天00:00~此刻 统一为 今天08:00:00~次日07:59:59(博彩日), 与结算报表一致。
保留2个默认'全部时间'(startTime=0)的查询不变。
2026-05-29 21:15:24 +08:00
fengshao1227 e763c561f1 feat(agent-report): 结算报表默认时间改为08:00~次日07:59:59, 码量列改名码粮
- Report::settle 默认日期边界 07:00/06:59:59 → 08:00/07:59:59(博彩日)
- code_amount 翻译 码量/碼量/Code amount → 码粮/碼糧/Rebate(代理后台全局)
2026-05-29 21:04:21 +08:00
fengshao1227 3ac1c2bf42 fix(agent): 代理编辑校验失败改用必须确认的弹窗, 让操作员看清原因
返水率/码率/占股超过上级上限时后端已返回具体原因(含上级上限值),
但前端用 layer.msg 一闪而过易被忽略, 误以为'改不动'。改为 layer.alert
必须点确认, 确保看清失败原因(如'返水率不能超过所属代理的返水率 0!')。
2026-05-29 11:44:46 +08:00
fengshao1227 020dd802d6 feat(agent): 编辑代理费率时检测下级未结算注单并二次确认
洗码率/返水率/占成率在下注未结算期间被修改, 结算(openingBet)会按新值
参与代理分账, 导致本局佣金与下注时预期不符。新增编辑时检测: 费率确有
变动且下级存在近1小时内 is_end=0 的注单时返回 code=2, 前端弹框二次
确认, 确认后带 confirm_pending 重提。纯增量护栏, 不改结算逻辑。
2026-05-29 06:43:21 +08:00
fengshao1227 50d131aa75 fix: 会员编辑保存后字段被清零
1. JS里agent_commission系列字段被注释掉,每次编辑保存抽水率被重置为0
2. rebate_rate为0时PHP不保存,导致无法设为0
2026-05-29 05:44:17 +08:00
fengshao1227 bcf604dc0a fix: CORS改为回显Origin,去掉白名单限制和credentials 2026-05-28 14:37:33 +08:00
fengshao1227 0f952a36a5 fix: CORS头冲突修复 — 删除方法级重复header,统一由构造函数处理
根因:构造函数设 Access-Control-Allow-Origin: 具体域名 + Credentials: true,
但每个方法又覆盖成 Origin: *,导致 Credentials+通配符冲突,浏览器拒绝请求。
删除全部41处方法级CORS头,只保留构造函数的白名单机制。
2026-05-28 14:29:43 +08:00
fengshao1227 24c71fa7a0 Revert "feat: 线上自助充值不再扣代理余额(系统直充)"
This reverts commit 0bf387f7d5.
2026-05-24 20:55:06 +08:00
fengshao1227 0bf387f7d5 feat: 线上自助充值不再扣代理余额(系统直充)
会员通过第三方支付通道线上充值时,不再检查/扣减总代理余额。
真金白银从支付通道进来,直接加分给会员。

改动覆盖全部9个支付通道trait:
- 删除下单时的代理余额检查(不再拦截"余额不足")
- 回调时只检查代理是否存在,不检查余额
- 不扣减代理money字段
- 充值记录标记为"系统直充"而非"扣取总代理余分"

代理手动给会员上分(信用盘模式)不受影响,仍然扣代理自己的分。
2026-05-24 19:25:05 +08:00
testadmin 0186f561c4 fix: Pro 路单查询补查 luck_six/dragon_seven/panda_eight
PC/Game 前端路单走的是 Pro 的 deal/waybill API,不是 Socket 的
2026-05-02 00:06:07 +08:00
testadmin 3997bbd3cb fix: alinPay.php 补漏 limit_agent 空数组放行逻辑 2026-04-26 20:32:45 +08:00
testadmin c2fa69ddcb fix: 校验 agent_type 与 pay_channel 一致性,防止人工上分+在线渠道错配 2026-04-26 20:23:51 +08:00
黎小北 490df4c4c5 修复因缺少boot_id导致路子换靴后恢复 2026-03-25 01:19:33 +08:00
黎小北 3786a0ea99 换靴后旧路子残留 2026-03-24 23:48:15 +08:00
18 changed files with 212 additions and 224 deletions
+3
View File
@@ -200,6 +200,9 @@ class Agent extends Common{
if( empty($pay_channel) ){
die(json_encode(['code'=>0,'msg'=>'请选择支付渠道']));
}
if( $agent_type == 2 && $pay_channel != 'OPR' ){
die(json_encode(['code'=>0,'msg'=>'人工上分模式只能选OPR渠道']));
}
if( !in_array($type_xima,[1,2]) ){
die(json_encode(['code'=>0,'msg'=>'洗码方式错误']));
}
+6 -6
View File
@@ -1240,8 +1240,8 @@ class Pcapi extends Controller{
$startTime = mktime(0,0,0,date('m'),date('d')-1,date('Y'));
$endTime = mktime(0,0,0,date('m'),date('d'),date('Y'))-1;
}elseif($time_interval == 3){
$startTime = mktime(0,0,0,date("m"),date("d")-date("w")+1,date("Y"));
$endTime = mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y"));
$startTime = mktime(0,0,0,date("m"),date("d")-6,date("Y"));
$endTime = mktime(23,59,59,date("m"),date("d"),date("Y"));
}
$betWhere = array();
$betWhere['create_time'] = array('between',[$startTime,$endTime]);
@@ -1571,8 +1571,8 @@ class Pcapi extends Controller{
$startTime = mktime(0,0,0,date('m'),date('d')-1,date('Y'));
$endTime = mktime(0,0,0,date('m'),date('d'),date('Y'))-1;
}elseif($time_interval == 3){
$startTime = mktime(0,0,0,date("m"),date("d")-date("w")+1,date("Y"));
$endTime = mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y"));
$startTime = mktime(0,0,0,date("m"),date("d")-6,date("Y"));
$endTime = mktime(23,59,59,date("m"),date("d"),date("Y"));
}
$betWhere = array();
$betWhere['create_time'] = array('between',[$startTime,$endTime]);
@@ -1639,8 +1639,8 @@ class Pcapi extends Controller{
$startTime = mktime(0,0,0,date('m'),date('d')-1,date('Y'));
$endTime = mktime(0,0,0,date('m'),date('d'),date('Y'))-1;
}elseif($time_interval == 3){
$startTime = mktime(0,0,0,date("m"),date("d")-date("w")+1,date("Y"));
$endTime = mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y"));
$startTime = mktime(0,0,0,date("m"),date("d")-6,date("Y"));
$endTime = mktime(23,59,59,date("m"),date("d"),date("Y"));
}
$betWhere = array();
$betWhere['create_time'] = array('between',[$startTime,$endTime]);
+49 -5
View File
@@ -565,12 +565,24 @@ class Agent Extends Common{
if(!$user || $user['agent'] == 0){
die(json_encode(['code'=>0,'msg'=>$lang['error_id']]));
}
// 顶级代理(agent_parent_id=0)无真实上级:构造一个不设限的虚拟上级,使所有"不得高于上级"封顶校验自动放行;
// "不得低于下级"封底校验与写入逻辑保持不变(顶级代理仍受其下级最高费率约束)。
if($parent_id <= 0){
die(json_encode(['code'=>0,'msg'=>$lang['parent_error']]));
}
$agentParent = Db::name('user')->where('id',$parent_id)->find();
if(!$agentParent || $agentParent['agent'] == 0){
die(json_encode(['code'=>0,'msg'=>$lang['parent_error']]));
$agentParent = [
'limit_low' => 0, 'limit_high' => 99999999999,
'limit_low_tie' => 0, 'limit_high_tie' => 99999999999,
'limit_low_pair' => 0, 'limit_high_pair' => 99999999999,
'limit_low_nn' => 0, 'limit_high_nn' => 0,
'agent_ximalv' => 100, 'agent_ximalv_dt' => 100,
'agent_ximalv_nn' => 100, 'agent_ximalv_tc' => 100,
'agent_cs' => 100, 'rebate_rate' => 100,
'agent_parent_id' => 0,
];
}else{
$agentParent = Db::name('user')->where('id',$parent_id)->find();
if(!$agentParent || $agentParent['agent'] == 0){
die(json_encode(['code'=>0,'msg'=>$lang['parent_error']]));
}
}
if(!$nickname){
die(json_encode(['code'=>0,'msg'=>$lang['empty_nickname']]));
@@ -682,6 +694,38 @@ class Agent Extends Common{
die(json_encode(['code'=>0,'msg'=>$lang['rebate_cannot_lower_agent'].' '.$childMaxRebateRate.'%']));
}
// —— 时序风险检测 ——
// 洗码率/返水率/占成率在「下注未结算」期间被修改,结算(openingBet)会按新值参与代理分账,
// 导致本局佣金与下注时预期不符。仅当上述费率确有变化、且该代理下级存在未结算注单时,要求二次确认。
// 限红(limit_*)不参与结算、赔率(price_*)代理端只读,故不在检测范围。
$confirm_pending = Request::instance()->post('confirm_pending');
$rateChanged = (
abs($agent_ximalv - (float)$user['agent_ximalv']) > 0.001 ||
abs($agent_ximalv_dt - (float)$user['agent_ximalv_dt']) > 0.001 ||
abs($agent_ximalv_nn - (float)$user['agent_ximalv_nn']) > 0.001 ||
abs($agent_ximalv_tc - (float)$user['agent_ximalv_tc']) > 0.001 ||
abs($agent_cs - (float)$user['agent_cs']) > 0.001 ||
abs((float)$rebate_rate - (float)$user['rebate_rate']) > 0.001
);
if($rateChanged && !$confirm_pending){
// bet 表位于 DB2 连接(与 Report 模块一致);下级注单路径匹配沿用全站约定的两段 LIKE。
// create_time 限定近 1 小时,规避历史异常残留的 is_end=0 注单造成的误报。
$pendingCount = Db::connect('DB2')->name('bet')
->where('is_end', 0)
->where('create_time', '>=', time() - 3600)
->where(function($q) use ($user_id){
$q->where('agent_parent_id_path', 'like', '%,'.$user_id.',%')
->whereOr('agent_parent_id_path', 'like', $user_id.',%');
})
->count();
if($pendingCount > 0){
die(json_encode([
'code' => 2,
'pending' => $pendingCount,
'msg' => '该代理下级当前有 '.$pendingCount.' 笔注单尚未结算。本次修改的洗码率 / 返水率 / 占成率将按新值参与这些注单的代理分账,可能使本局佣金与下注时预期不符。确定仍要立即保存吗?',
]));
}
}
// 拼装数据创建代理
$user_data = array();
+2 -2
View File
@@ -260,13 +260,13 @@ class Login extends Controller {
if($startDate){
$startTime = strtotime($startDate);
}else{
$startTime = strtotime(date('Y-m-d'));
$startTime = strtotime(date('Y-m-d') . ' 08:00:00');
$get['startDate'] = date('Y-m-d H:i:s',$startTime);
}
if($endDate){
$endTime = strtotime($endDate);
}else{
$endTime = time();
$endTime = strtotime(date('Y-m-d', strtotime('+1 day')) . ' 07:59:59');
$get['endDate'] = date('Y-m-d H:i:s',$endTime);
}
$where = array();
+1 -3
View File
@@ -760,9 +760,7 @@ class Player Extends Common{
$user_data['agent_ximalv_nn'] = $agent_ximalv_nn;
$user_data['agent_ximalv_tc'] = $agent_ximalv_tc;
$user_data['manager_id'] = $manager_id;
if ($rebate_rate){
$user_data['rebate_rate'] = $rebate_rate;
}
$user_data['rebate_rate'] = $rebate_rate ?: 0;
$user_data['update_time'] = time();
$user_data['remarks'] = $remark;
$result = Db::name('user')->where('id',$user_id)->update($user_data);
+39 -39
View File
@@ -36,17 +36,17 @@ class Report Extends Common{
$game_id = intval(Request::instance()->get('game_id'));
$export = intval(Request::instance()->get('export'));
// 转换日期时间(默认:今天07:00:00 ~ 明天06:59:59
// 转换日期时间(默认:今天08:00:00 ~ 明天07:59:59
if ($startDate) {
$startTime = strtotime($startDate);
} else {
$startTime = strtotime(date('Y-m-d') . ' 07:00:00');
$startTime = strtotime(date('Y-m-d') . ' 08:00:00');
$get['startDate'] = date('Y-m-d H:i:s', $startTime);
}
if ($endDate) {
$endTime = strtotime($endDate);
} else {
$endTime = strtotime(date('Y-m-d', strtotime('+1 day')) . ' 06:59:59');
$endTime = strtotime(date('Y-m-d', strtotime('+1 day')) . ' 07:59:59');
$get['endDate'] = date('Y-m-d H:i:s', $endTime);
}
@@ -309,14 +309,14 @@ class Report Extends Common{
if($startDate){
$startTime = strtotime($startDate);
}else{
$startTime = strtotime(date('Y-m-d'));
$startTime = strtotime(date('Y-m-d') . ' 08:00:00');
$get['startDate'] = date('Y-m-d H:i:s',$startTime);
$this->assign('get',$get);
}
if($endDate){
$endTime = strtotime($endDate);
}else{
$endTime = time();
$endTime = strtotime(date('Y-m-d', strtotime('+1 day')) . ' 07:59:59');
$get['endDate'] = date('Y-m-d H:i:s',$endTime);
$this->assign('get',$get);
}
@@ -505,13 +505,13 @@ class Report Extends Common{
if($startDate){
$startTime = strtotime($startDate);
}else{
$startTime = strtotime(date('Y-m-d'));
$startTime = strtotime(date('Y-m-d') . ' 08:00:00');
$get['startDate'] = date('Y-m-d H:i:s',$startTime);
}
if($endDate){
$endTime = strtotime($endDate);
}else{
$endTime = time();
$endTime = strtotime(date('Y-m-d', strtotime('+1 day')) . ' 07:59:59');
$get['endDate'] = date('Y-m-d H:i:s',$endTime);
}
@@ -1032,13 +1032,13 @@ class Report Extends Common{
if($startDate){
$startTime = strtotime($startDate);
}else{
$startTime = strtotime(date('Y-m-d'));
$startTime = strtotime(date('Y-m-d') . ' 08:00:00');
$get['startDate'] = date('Y-m-d H:i:s',$startTime);
}
if($endDate){
$endTime = strtotime($endDate);
}else{
$endTime = time();
$endTime = strtotime(date('Y-m-d', strtotime('+1 day')) . ' 07:59:59');
$get['endDate'] = date('Y-m-d H:i:s',$endTime);
}
@@ -2054,14 +2054,14 @@ class Report Extends Common{
if($startDate){
$startTime = strtotime($startDate);
}else{
$startTime = strtotime(date('Y-m-d'));
$startTime = strtotime(date('Y-m-d') . ' 08:00:00');
$get['startDate'] = date('Y-m-d H:i:s',$startTime);
$this->assign('get',$get);
}
if($endDate){
$endTime = strtotime($endDate);
}else{
$endTime = time();
$endTime = strtotime(date('Y-m-d', strtotime('+1 day')) . ' 07:59:59');
$get['endDate'] = date('Y-m-d H:i:s',$endTime);
$this->assign('get',$get);
}
@@ -2172,14 +2172,14 @@ class Report Extends Common{
if($startDate){
$startTime = strtotime($startDate);
}else{
$startTime = strtotime(date('Y-m-d'));
$startTime = strtotime(date('Y-m-d') . ' 08:00:00');
$get['startDate'] = date('Y-m-d H:i:s',$startTime);
$this->assign('get',$get);
}
if($endDate){
$endTime = strtotime($endDate);
}else{
$endTime = time();
$endTime = strtotime(date('Y-m-d', strtotime('+1 day')) . ' 07:59:59');
$get['endDate'] = date('Y-m-d H:i:s',$endTime);
$this->assign('get',$get);
}
@@ -2269,14 +2269,14 @@ class Report Extends Common{
if($startDate){
$startTime = strtotime($startDate);
}else{
$startTime = strtotime(date('Y-m-d'));
$startTime = strtotime(date('Y-m-d') . ' 08:00:00');
$get['startDate'] = date('Y-m-d H:i:s',$startTime);
$this->assign('get',$get);
}
if($endDate){
$endTime = strtotime($endDate);
}else{
$endTime = time();
$endTime = strtotime(date('Y-m-d', strtotime('+1 day')) . ' 07:59:59');
$get['endDate'] = date('Y-m-d H:i:s',$endTime);
$this->assign('get',$get);
}
@@ -2819,14 +2819,14 @@ class Report Extends Common{
if($startDate){
$startTime = strtotime($startDate);
}else{
$startTime = strtotime(date('Y-m-d'));
$startTime = strtotime(date('Y-m-d') . ' 08:00:00');
$get['startDate'] = date('Y-m-d H:i:s',$startTime);
$this->assign('get',$get);
}
if($endDate){
$endTime = strtotime($endDate);
}else{
$endTime = time();
$endTime = strtotime(date('Y-m-d', strtotime('+1 day')) . ' 07:59:59');
$get['endDate'] = date('Y-m-d H:i:s',$endTime);
$this->assign('get',$get);
}
@@ -2869,13 +2869,13 @@ class Report Extends Common{
if ($startDate) {
$startTime = strtotime($startDate);
} else {
$startTime = strtotime(date('Y-m-d'));
$startTime = strtotime(date('Y-m-d') . ' 08:00:00');
$get['startDate'] = date('Y-m-d H:i:s', $startTime);
}
if ($endDate) {
$endTime = strtotime($endDate);
} else {
$endTime = time();
$endTime = strtotime(date('Y-m-d', strtotime('+1 day')) . ' 07:59:59');
$get['endDate'] = date('Y-m-d H:i:s', $endTime);
}
@@ -3075,14 +3075,14 @@ class Report Extends Common{
if ($startDate) {
$startTime = strtotime($startDate);
} else {
$startTime = strtotime(date('Y-m-d'));
$startTime = strtotime(date('Y-m-d') . ' 08:00:00');
$get['startDate'] = date('Y-m-d H:i:s', $startTime);
$this->assign('get', $get);
}
if ($endDate) {
$endTime = strtotime($endDate);
} else {
$endTime = time();
$endTime = strtotime(date('Y-m-d', strtotime('+1 day')) . ' 07:59:59');
$get['endDate'] = date('Y-m-d H:i:s', $endTime);
$this->assign('get', $get);
}
@@ -3168,14 +3168,14 @@ class Report Extends Common{
if ($startDate) {
$startTime = strtotime($startDate);
} else {
$startTime = strtotime(date('Y-m-d'));
$startTime = strtotime(date('Y-m-d') . ' 08:00:00');
$get['startDate'] = date('Y-m-d H:i:s', $startTime);
$this->assign('get', $get);
}
if ($endDate) {
$endTime = strtotime($endDate);
} else {
$endTime = time();
$endTime = strtotime(date('Y-m-d', strtotime('+1 day')) . ' 07:59:59');
$get['endDate'] = date('Y-m-d H:i:s', $endTime);
$this->assign('get', $get);
}
@@ -3275,14 +3275,14 @@ class Report Extends Common{
if ($startDate) {
$startTime = strtotime($startDate);
} else {
$startTime = strtotime(date('Y-m-d'));
$startTime = strtotime(date('Y-m-d') . ' 08:00:00');
$get['startDate'] = date('Y-m-d H:i:s', $startTime);
$this->assign('get', $get);
}
if ($endDate) {
$endTime = strtotime($endDate);
} else {
$endTime = time();
$endTime = strtotime(date('Y-m-d', strtotime('+1 day')) . ' 07:59:59');
$get['endDate'] = date('Y-m-d H:i:s', $endTime);
$this->assign('get', $get);
}
@@ -3366,14 +3366,14 @@ class Report Extends Common{
if ($startDate) {
$startTime = strtotime($startDate);
} else {
$startTime = strtotime(date('Y-m-d'));
$startTime = strtotime(date('Y-m-d') . ' 08:00:00');
$get['startDate'] = date('Y-m-d H:i:s', $startTime);
$this->assign('get', $get);
}
if ($endDate) {
$endTime = strtotime($endDate);
} else {
$endTime = time();
$endTime = strtotime(date('Y-m-d', strtotime('+1 day')) . ' 07:59:59');
$get['endDate'] = date('Y-m-d H:i:s', $endTime);
$this->assign('get', $get);
}
@@ -3479,14 +3479,14 @@ class Report Extends Common{
if ($startDate) {
$startTime = strtotime($startDate);
} else {
$startTime = strtotime(date('Y-m-d'));
$startTime = strtotime(date('Y-m-d') . ' 08:00:00');
$get['startDate'] = date('Y-m-d H:i:s', $startTime);
$this->assign('get', $get);
}
if ($endDate) {
$endTime = strtotime($endDate);
} else {
$endTime = time();
$endTime = strtotime(date('Y-m-d', strtotime('+1 day')) . ' 07:59:59');
$get['endDate'] = date('Y-m-d H:i:s', $endTime);
$this->assign('get', $get);
}
@@ -3574,14 +3574,14 @@ class Report Extends Common{
if ($startDate) {
$startTime = strtotime($startDate);
} else {
$startTime = strtotime(date('Y-m-d'));
$startTime = strtotime(date('Y-m-d') . ' 08:00:00');
$get['startDate'] = date('Y-m-d H:i:s', $startTime);
$this->assign('get', $get);
}
if ($endDate) {
$endTime = strtotime($endDate);
} else {
$endTime = time();
$endTime = strtotime(date('Y-m-d', strtotime('+1 day')) . ' 07:59:59');
$get['endDate'] = date('Y-m-d H:i:s', $endTime);
$this->assign('get', $get);
}
@@ -3683,14 +3683,14 @@ class Report Extends Common{
if($startDate){
$startTime = strtotime($startDate);
}else{
$startTime = strtotime(date('Y-m-d'));
$startTime = strtotime(date('Y-m-d') . ' 08:00:00');
$get['startDate'] = date('Y-m-d H:i:s',$startTime);
$this->assign('get',$get);
}
if($endDate){
$endTime = strtotime($endDate);
}else{
$endTime = time();
$endTime = strtotime(date('Y-m-d', strtotime('+1 day')) . ' 07:59:59');
$get['endDate'] = date('Y-m-d H:i:s',$endTime);
$this->assign('get',$get);
}
@@ -3895,14 +3895,14 @@ class Report Extends Common{
if($startDate){
$startTime = strtotime($startDate);
}else{
$startTime = strtotime(date('Y-m-d'));
$startTime = strtotime(date('Y-m-d') . ' 08:00:00');
$get['startDate'] = date('Y-m-d H:i:s',$startTime);
$this->assign('get',$get);
}
if($endDate){
$endTime = strtotime($endDate);
}else{
$endTime = time();
$endTime = strtotime(date('Y-m-d', strtotime('+1 day')) . ' 07:59:59');
$get['endDate'] = date('Y-m-d H:i:s',$endTime);
$this->assign('get',$get);
}
@@ -3994,14 +3994,14 @@ class Report Extends Common{
if($startDate){
$startTime = strtotime($startDate);
}else{
$startTime = strtotime(date('Y-m-d'));
$startTime = strtotime(date('Y-m-d') . ' 08:00:00');
$get['startDate'] = date('Y-m-d H:i:s',$startTime);
$this->assign('get',$get);
}
if($endDate){
$endTime = strtotime($endDate);
}else{
$endTime = time();
$endTime = strtotime(date('Y-m-d', strtotime('+1 day')) . ' 07:59:59');
$get['endDate'] = date('Y-m-d H:i:s',$endTime);
$this->assign('get',$get);
}
@@ -4100,14 +4100,14 @@ class Report Extends Common{
if($startDate){
$startTime = strtotime($startDate);
}else{
$startTime = strtotime(date('Y-m-d'));
$startTime = strtotime(date('Y-m-d') . ' 08:00:00');
$get['startDate'] = date('Y-m-d H:i:s',$startTime);
$this->assign('get',$get);
}
if($endDate){
$endTime = strtotime($endDate);
}else{
$endTime = time();
$endTime = strtotime(date('Y-m-d', strtotime('+1 day')) . ' 07:59:59');
$get['endDate'] = date('Y-m-d H:i:s',$endTime);
$this->assign('get',$get);
}
+8 -8
View File
@@ -30,12 +30,12 @@ class Settle Extends Common{
if($timeLength == 1 || $timeLength == 2){
if($timeLength == 1){
//上周时间
$weekStart = date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1-7,date("Y")));
$weekEnd = date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7-7,date("Y")));
$weekStart = date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-(date("w")?:7)+1-7,date("Y")));
$weekEnd = date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-(date("w")?:7)+7-7,date("Y")));
}elseif($timeLength == 2){
//本周时间
$weekStart = date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y")));
$weekEnd = date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y")));
$weekStart = date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-(date("w")?:7)+1,date("Y")));
$weekEnd = date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-(date("w")?:7)+7,date("Y")));
}
$startTime = strtotime($weekStart);
$endTime = strtotime($weekEnd);
@@ -474,12 +474,12 @@ class Settle Extends Common{
if($timeLength == 1 || $timeLength == 2){
if($timeLength == 1){
//上周时间
$weekStart = date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1-7,date("Y")));
$weekEnd = date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7-7,date("Y")));
$weekStart = date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-(date("w")?:7)+1-7,date("Y")));
$weekEnd = date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-(date("w")?:7)+7-7,date("Y")));
}elseif($timeLength == 2){
//本周时间
$weekStart = date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y")));
$weekEnd = date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y")));
$weekStart = date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-(date("w")?:7)+1,date("Y")));
$weekEnd = date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-(date("w")?:7)+7,date("Y")));
}
$startTime = strtotime($weekStart);
$endTime = strtotime($weekEnd);
+1 -1
View File
@@ -301,7 +301,7 @@ return [
'betting_money' => 'Bet money',
'code_washing_amount' => 'Code washing amount',
'odd_code_fee' => 'Odd code fee',
'code_amount' => 'Code amount',
'code_amount' => 'Rebate',
'settled_code_amount' => 'Settled code amount',
'unsettled_code_amount' => 'Unsettled code amount',
'unsettled_rebate_amount' => 'Unsettled rebate amount',
+1 -1
View File
@@ -301,7 +301,7 @@ return [
'betting_money' => '下注金额',
'code_washing_amount' => '洗码量',
'odd_code_fee' => '注单码费',
'code_amount' => '码',
'code_amount' => '码',
'settled_code_amount' => '已结码量',
'unsettled_code_amount' => '未结码量',
'unsettled_rebate_amount' => '未结返水',
+1 -1
View File
@@ -301,7 +301,7 @@ return [
'betting_money' => '下注金額',
'code_washing_amount' => '洗碼量',
'odd_code_fee' => '注單碼費',
'code_amount' => '碼',
'code_amount' => '碼',
'settled_code_amount' => '已結碼量',
'unsettled_code_amount' => '未結碼量',
'unsettled_rebate_amount' => '未結返水',
+36 -1
View File
@@ -269,7 +269,12 @@
dataType: 'JSON',
success: function (data) {
if (data.code == 0) {
layer.msg(data.msg);
// 校验未通过:用必须点确认的弹窗代替一闪而过的 toast,确保操作员看清失败原因
// (如返水率/码率/占股超过上级上限时,后端会返回具体上限值)
layer.alert(data.msg, {
title: lang.message,
icon: 0
});
} else if (data.code == 1) {
layer.alert(data.msg,{
title:lang.message,
@@ -277,6 +282,36 @@
x_admin_close();
parent.location.reload();
});
} else if (data.code == 2) {
// 时序风险:下级有未结算注单,二次确认后带 confirm_pending 重新提交
layer.confirm(data.msg, {
title: lang.message,
btn: ['确定保存', '取消']
}, function (idx) {
layer.close(idx);
query.confirm_pending = 1;
$.ajax({
url: '/agent/do_edit',
data: query,
type: 'POST',
dataType: 'JSON',
success: function (d) {
if (d.code == 0) {
layer.alert(d.msg, {
title: lang.message,
icon: 0
});
} else if (d.code == 1) {
layer.alert(d.msg, {
title: lang.message
}, function () {
x_admin_close();
parent.location.reload();
});
}
}
});
});
}
}
})
-2
View File
@@ -644,13 +644,11 @@
//query.mobile = $('#mobile').val();
//query.bet_type = $('#bet_type').val();
query.win_limit = $('#win_limit').val();
/*
query.agent_commission = $('#agent_commission').val();
query.agent_commission_dt = $('#agent_commission_dt').val();
query.agent_commission_nn = $('#agent_commission_nn').val();
query.agent_commission_tc = $('#agent_commission_tc').val();
query.agent_commission_tc_banker = $('#agent_commission_tc_banker').val();
*/
query.limit_low = $('#limit_low').val();
query.limit_high = $('#limit_high').val();
query.limit_low_tie = $('#limit_low_tie').val();
+39 -8
View File
@@ -77,7 +77,10 @@
<div class="gap">
<button class="layui-btn search-btn" id="search" onclick="showShadow()">{$lang['search']}</button>
<a class="layui-btn search-btn" onclick="showShadow()" href="javascript:location.replace(location.href);">{$lang['refresh']}</a>
<button class="layui-btn search-btn countDown">5</button>
<label style="margin-left:6px;line-height:38px;cursor:pointer;font-weight:normal;vertical-align:middle;">
<input type="checkbox" id="autoRefresh" style="vertical-align:middle;"> 自动刷新
</label>
<button type="button" class="layui-btn search-btn countDown" style="display:none;">10</button>
</div>
</div>
</form>
@@ -187,16 +190,44 @@
$(function(){
var online = $('#online').val();
var refreshUrl = $('#refreshUrl').val();
var countDown = 10;
if(online == 1){
$('.countDown').show();
setInterval(function(){
var INTERVAL = 10; // 自动刷新间隔(秒)
var countDown = INTERVAL;
var autoTimer = null;
function startAuto(reloadFn){
countDown = INTERVAL;
$('.countDown').show().html(countDown);
autoTimer = setInterval(function(){
countDown = countDown - 1;
$('.countDown').html(countDown);
if(countDown == 0){
location.href = refreshUrl;
if(countDown <= 0){
reloadFn();
}
},1000);
}, 1000);
}
function stopAuto(){
if(autoTimer){ clearInterval(autoTimer); autoTimer = null; }
$('.countDown').hide();
}
if(online == 1){
// 从“在线管理”进入:保持原有自动刷新行为
startAuto(function(){ location.href = refreshUrl; });
}else{
// 注单查询:可开关的今日实时自动刷新(默认开,刷新当前查询条件)
var saved = localStorage.getItem('bet_auto_refresh');
var enabled = (saved === null) ? true : (saved === '1');
$('#autoRefresh').prop('checked', enabled);
if(enabled){ startAuto(function(){ location.replace(location.href); }); }
$('#autoRefresh').on('change', function(){
if($(this).is(':checked')){
localStorage.setItem('bet_auto_refresh','1');
startAuto(function(){ location.replace(location.href); });
}else{
localStorage.setItem('bet_auto_refresh','0');
stopAuto();
}
});
}
})
+1 -1
View File
@@ -245,7 +245,7 @@ class Index Extends Common{
// 验证靴ID
if($boot_id > 0){
$ns = Db::name($numberTabTable)->where(array('game_id' => $game_id, 'boot_id' => $boot_id, 'bet_status' => 3))->field('result,pair')->order('start_time ASC,id ASC')->select();
$ns = Db::name($numberTabTable)->where(array('game_id' => $game_id, 'boot_id' => $boot_id, 'bet_status' => 3))->field('result,pair,luck_six,dragon_seven,panda_eight')->order('start_time ASC,id ASC')->select();
if($forecast == 1){
// 庄问路
$ns[] = array('result'=>1,'pair'=>0);
+1 -1
View File
@@ -275,7 +275,7 @@ function waybill($ns){
$showRoadLocation = array();
foreach($showRoad as $k => $v){
foreach($v as $key => $val){
$pushData = array('show_x' => $k + 1, 'show_y' =>$key + 1, 'result' => $val['result'], 'pair' => $val['pair']);
$pushData = array('show_x' => $k + 1, 'show_y' =>$key + 1, 'result' => $val['result'], 'pair' => $val['pair'], 'luck_six' => $val['luck_six'] ?? 0, 'dragon_seven' => $val['dragon_seven'] ?? 0, 'panda_eight' => $val['panda_eight'] ?? 0);
array_push($showRoadLocation,$pushData);
}
}
+19 -141
View File
@@ -23,13 +23,13 @@ class Pcapi extends Controller{
parent::__construct();
// CORS headers
$origin = Request::instance()->header('origin');
$allowed = ['https://ww1.g7g7.top','https://m.g7g7.top','https://m1.g7g7.top','https://m3.g7g7.top','https://p.g7g7.top'];
if($origin && in_array($origin, $allowed)){
if($origin){
header('Access-Control-Allow-Origin: '.$origin);
header('Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization');
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE,OPTIONS');
header('Access-Control-Allow-Credentials: true');
} else {
header('Access-Control-Allow-Origin: *');
}
header('Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization');
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE,OPTIONS');
if(Request::instance()->isOptions()){
exit();
}
@@ -50,9 +50,6 @@ class Pcapi extends Controller{
}
public function get_version(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
return json(config('app_version'));
}
public function get_system_info(){
@@ -66,9 +63,6 @@ class Pcapi extends Controller{
}
//试玩登录
public function demologin(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
if($json_arr){
@@ -121,9 +115,6 @@ class Pcapi extends Controller{
//保持在线--心跳
public function keepOnline(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
if($json_arr){
@@ -147,9 +138,6 @@ class Pcapi extends Controller{
}
//登录optimum
public function login(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
if($json_arr){
@@ -209,7 +197,7 @@ class Pcapi extends Controller{
$find['pay_channel'] = '';
$find['pay_channel_currency'] = [];
$find['pay_channel_coin_chain'] = [];
if($topAgent['agent_type'] == 1){
if($topAgent['pay_channel'] && $topAgent['pay_channel'] != 'OPR'){
// 现金线走支付渠道
$find['pay_channel'] = $topAgent['pay_channel'];
$find['pay_channel_currency'] = [];
@@ -223,7 +211,7 @@ class Pcapi extends Controller{
$find['pay_channel_coin_chain'] = json_decode($payChannelInfo['coin_chain'],true);
}
}
} elseif ($topAgent['agent_type'] == 2 && $topAgent['pay_channel'] == 'OPR') { // 人工转帐上分,前端显示充值信息
} elseif ($topAgent['pay_channel'] == 'OPR') { // 人工转帐上分,前端显示充值信息(不依赖 agent_type,只看 pay_channel)
$find['pay_channel'] = $topAgent['pay_channel'];
$find['pay_channel_address'] = $topAgent['pay_channel_address'];
}
@@ -255,9 +243,6 @@ class Pcapi extends Controller{
}
// 获取用户信息
public function get_user_info(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
if($json_arr){
@@ -285,7 +270,7 @@ class Pcapi extends Controller{
$find['pay_channel'] = '';
$find['pay_channel_currency'] = [];
$find['pay_channel_coin_chain'] = [];
if($topAgent['agent_type'] == 1){
if($topAgent['pay_channel'] && $topAgent['pay_channel'] != 'OPR'){
// 现金线走支付渠道
$find['pay_channel'] = $topAgent['pay_channel'];
$find['pay_channel_currency'] = [];
@@ -299,6 +284,9 @@ class Pcapi extends Controller{
$find['pay_channel_coin_chain'] = json_decode($payChannelInfo['coin_chain'],true);
}
}
} elseif($topAgent['pay_channel'] == 'OPR'){ // 人工转帐上分:与 login 保持一致下发收款信息(此前 get_user_info 缺失,刷新会丢)
$find['pay_channel'] = 'OPR';
$find['pay_channel_address'] = $topAgent['pay_channel_address'];
}
$find['manager'] = [];
if($find['bet_type'] == 2){
@@ -324,9 +312,6 @@ class Pcapi extends Controller{
}
//用户钱
public function user_money(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
if($json_arr){
@@ -350,9 +335,6 @@ class Pcapi extends Controller{
}
//修改密码
public function update_password(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
if($json_arr){
@@ -390,9 +372,6 @@ class Pcapi extends Controller{
}
//打赏
public function to_tip(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
if($json_arr){
@@ -436,9 +415,6 @@ class Pcapi extends Controller{
}
//好路
public function good_road(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
if($json_arr){
@@ -474,9 +450,6 @@ class Pcapi extends Controller{
}
//返回全部桌子
public function all_table(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
if($json_arr){
@@ -1219,9 +1192,6 @@ class Pcapi extends Controller{
}
//返回单张桌子
public function singletable(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
// $json_arr = Request::instance()->post();
@@ -1770,9 +1740,6 @@ class Pcapi extends Controller{
}
//今日最佳
public function optimum(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
if($json_arr){
@@ -1798,9 +1765,6 @@ class Pcapi extends Controller{
}
//游戏记录
public function get_user_bets(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
if($json_arr){
@@ -1829,8 +1793,8 @@ class Pcapi extends Controller{
$startTime = mktime(0,0,0,date('m'),date('d')-1,date('Y'));
$endTime = mktime(0,0,0,date('m'),date('d'),date('Y'))-1;
}elseif($time_interval == 3){
$startTime = mktime(0,0,0,date("m"),date("d")-date("w")+1,date("Y"));
$endTime = mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y"));
$startTime = mktime(0,0,0,date("m"),date("d")-6,date("Y"));
$endTime = mktime(23,59,59,date("m"),date("d"),date("Y"));
}
$betWhere = array();
$betWhere['create_time'] = array('between',[$startTime,$endTime]);
@@ -2318,9 +2282,6 @@ class Pcapi extends Controller{
}
//上下分记录
public function recharge_record(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
if($json_arr){
@@ -2340,8 +2301,8 @@ class Pcapi extends Controller{
$startTime = mktime(0,0,0,date('m'),date('d')-1,date('Y'));
$endTime = mktime(0,0,0,date('m'),date('d'),date('Y'))-1;
}elseif($time_interval == 3){
$startTime = mktime(0,0,0,date("m"),date("d")-date("w")+1,date("Y"));
$endTime = mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y"));
$startTime = mktime(0,0,0,date("m"),date("d")-6,date("Y"));
$endTime = mktime(23,59,59,date("m"),date("d"),date("Y"));
}
$betWhere = array();
$betWhere['create_time'] = array('between',[$startTime,$endTime]);
@@ -2387,9 +2348,6 @@ class Pcapi extends Controller{
}
//上下分记录
public function tip_record(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
if($json_arr){
@@ -2408,8 +2366,8 @@ class Pcapi extends Controller{
$startTime = mktime(0,0,0,date('m'),date('d')-1,date('Y'));
$endTime = mktime(0,0,0,date('m'),date('d'),date('Y'))-1;
}elseif($time_interval == 3){
$startTime = mktime(0,0,0,date("m"),date("d")-date("w")+1,date("Y"));
$endTime = mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y"));
$startTime = mktime(0,0,0,date("m"),date("d")-6,date("Y"));
$endTime = mktime(23,59,59,date("m"),date("d"),date("Y"));
}
$betWhere = array();
$betWhere['create_time'] = array('between',[$startTime,$endTime]);
@@ -2449,9 +2407,6 @@ class Pcapi extends Controller{
}
//开结果后获取会员的下注信息及计算其输赢数目
public function user_bet_baccarat(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
if($json_arr){
@@ -2608,9 +2563,6 @@ class Pcapi extends Controller{
}
//开结果后获取会员的下注信息及计算其输赢数目
public function user_bet_dt(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
if($json_arr){
@@ -2699,9 +2651,6 @@ class Pcapi extends Controller{
//开结果后获取会员的下注信息及计算其输赢数目
public function user_bet_nn(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
if($json_arr){
@@ -2734,9 +2683,6 @@ class Pcapi extends Controller{
}
//开结果后获取会员的下注信息及计算其输赢数目
public function user_bet_tc(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
if($json_arr){
@@ -2769,9 +2715,6 @@ class Pcapi extends Controller{
}
//开结果后获取会员的下注信息及计算其输赢数目
public function user_bet_toning(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
if($json_arr){
@@ -2803,9 +2746,6 @@ class Pcapi extends Controller{
}
//开结果后获取会员的下注信息及计算其输赢数目
public function user_bet_dice(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
if($json_arr){
@@ -2836,9 +2776,6 @@ class Pcapi extends Controller{
}
}
public function user_bet_roulette(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
if($json_arr){
@@ -2870,9 +2807,6 @@ class Pcapi extends Controller{
}
//快速提现
public function show_withdrawal(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
if($json_arr){
@@ -2900,9 +2834,6 @@ class Pcapi extends Controller{
}
//确认提现
public function withdrawal(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
if($json_arr){
@@ -2983,9 +2914,6 @@ class Pcapi extends Controller{
}
//充值信息
public function show_recharge(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
if($json_arr){
@@ -3022,9 +2950,6 @@ class Pcapi extends Controller{
}
//确认充值
public function recharge(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
if($json_arr){
@@ -3081,9 +3006,6 @@ class Pcapi extends Controller{
}
//游戏记录
public function get_rob_bet(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
if($json_arr){
@@ -3299,9 +3221,6 @@ class Pcapi extends Controller{
//电话呼入
public function online_call(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
$phone = Request::instance()->post('phone');
if($phone){
$table_info = Db::name('table')->where('phone',$phone)->find();
@@ -3331,9 +3250,6 @@ class Pcapi extends Controller{
* DateTime: 2019/12/12 12:53
*/
public function doRegister(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST');
if($data = Request::instance()->post()){
$data = decrypt_data($data);
$username = isset($data['username'])?$data['username']:'';
@@ -3687,9 +3603,6 @@ class Pcapi extends Controller{
//登录
public function lineLogin(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
if($json_arr){
@@ -3762,9 +3675,6 @@ class Pcapi extends Controller{
}
public function app_entrance(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$entrance = array();
$entrance['HallUrl'] = HallUrl;
@@ -3780,9 +3690,6 @@ class Pcapi extends Controller{
}
//api用户通过接口获取铺信息
public function api_get_info(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$appId = intval(Request::instance()->post("appId"));
$nonceStr = trim(Request::instance()->post("nonceStr"));
@@ -3831,9 +3738,6 @@ class Pcapi extends Controller{
// 用户充值记录
public function user_recharge()
{
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()) {
$json_arr = decrypt_data(Request::instance()->post());
if ($json_arr) {
@@ -3869,9 +3773,6 @@ class Pcapi extends Controller{
// 用户提现记录
public function user_withdraw()
{
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()) {
$json_arr = decrypt_data(Request::instance()->post());
if ($json_arr) {
@@ -3907,9 +3808,6 @@ class Pcapi extends Controller{
//申请提现
public function apply_withdraw(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
if($json_arr){
@@ -3932,7 +3830,7 @@ class Pcapi extends Controller{
$system = Db::name('system')->find();
$money = $user['money'];
$withdrawMoney = empty($system['withdraw_money']) ? 100 : $system['withdraw_money'];
$withdrawFee = empty($system['withdraw_fee']) ? 1 : $system['withdraw_fee'];
$withdrawFee = empty($system['withdraw_fee']) ? 0 : $system['withdraw_fee'];
// 计算积分兑换
$amountMoney = $withdrawMoney/100*($amount);
@@ -3983,9 +3881,6 @@ class Pcapi extends Controller{
// 申请银行卡提现(越南AlinPay)
public function apply_withdraw_bank(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
if($json_arr){
@@ -4017,7 +3912,7 @@ class Pcapi extends Controller{
$system = Db::name('system')->find();
$money = $user['money'];
$withdrawMoney = empty($system['withdraw_money']) ? 100 : $system['withdraw_money'];
$withdrawFee = empty($system['withdraw_fee']) ? 1 : $system['withdraw_fee'];
$withdrawFee = empty($system['withdraw_fee']) ? 0 : $system['withdraw_fee'];
// 计算积分兑换
$amountMoney = $withdrawMoney/100*($amount);
@@ -4079,9 +3974,6 @@ class Pcapi extends Controller{
// 获取越南银行列表
public function get_bank_list_vn(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
$banks = \pay\AlinPay::getBankCodes();
$list = [];
@@ -4099,9 +3991,6 @@ class Pcapi extends Controller{
// 取消提现
public function cancel_withdraw(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
if($json_arr) {
@@ -4157,9 +4046,6 @@ class Pcapi extends Controller{
*/
public function deposit()
{
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
if($json_arr) {
@@ -4221,9 +4107,6 @@ class Pcapi extends Controller{
*/
public function get_free_seat(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE');
if(Request::instance()->isPost()){
$json_arr = decrypt_data(Request::instance()->post());
if($json_arr) {
@@ -4265,11 +4148,6 @@ class Pcapi extends Controller{
* 无需鉴权,游客可访问
*/
public function get_lobby_data(){
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: token, Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: POST,GET,PUT,DELETE,OPTIONS');
header('Access-Control-Max-Age: 86400');
// 处理 OPTIONS 预检请求
if(Request::instance()->isOptions()){
return response('', 200);
@@ -50,8 +50,9 @@ trait alinPay
return json(['status' => 0, 'message' => '所在地区暂不支持充值']);
}
$isAllow = false;
foreach ($area_list[$user['area_id']]['limit_agent'] as $allowAgentId) {
$limitAgents = $area_list[$user['area_id']]['limit_agent'];
$isAllow = empty($limitAgents);
foreach ($limitAgents as $allowAgentId) {
if (in_array($allowAgentId, $zdlIdArr)) {
$isAllow = true;
}
+2 -2
View File
@@ -64,8 +64,8 @@ class AlinPay
$config = json_decode($config, true);
$this->config = $config;
// 域名从配置读取,回退默认值
$this->domain = $config['domain'] ?? 'https://alinintermon-api.fantianchuangshi.com';
// 域名从配置读取,回退默认值2026-05 第三方网关由 fantianchuangshi.com 迁至 hypayment.net
$this->domain = $config['domain'] ?? 'https://alinintermon-api.hypayment.net';
}
/**