|
|
|
@ -146,6 +146,10 @@ class PromoteGameRatioController extends ThinkController
|
|
|
|
|
if (empty($promoteGameRatio)) {
|
|
|
|
|
$this->error('参数异常');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$promoteId = $promoteGameRatio['promote_id'];
|
|
|
|
|
$this->isWithdraw($promoteId, $save['begin_time']);//是否存在开始时间后已提现数据
|
|
|
|
|
|
|
|
|
|
if ($promoteGameRatio['status'] == 1) {
|
|
|
|
|
$save['last_ratio'] = $promoteGameRatio['ratio'];
|
|
|
|
|
$save['last_ratio_status'] = 1;
|
|
|
|
@ -161,6 +165,7 @@ class PromoteGameRatioController extends ThinkController
|
|
|
|
|
}
|
|
|
|
|
$promoteId = intval($params['promote_id']);
|
|
|
|
|
$gameId = intval($params['game_id']);
|
|
|
|
|
$this->isWithdraw($promoteId, $save['begin_time']);//是否存在开始时间后已提现数据
|
|
|
|
|
|
|
|
|
|
$promote = M('promote', 'tab_')->find($promoteId);
|
|
|
|
|
if (empty($promote) || $promote['level'] != 1) {
|
|
|
|
@ -217,6 +222,26 @@ class PromoteGameRatioController extends ThinkController
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private function isWithdraw($promoteId, $beginTime)
|
|
|
|
|
{
|
|
|
|
|
$promote = M('promote', 'tab_')->find($promoteId);
|
|
|
|
|
if (empty($promote)) {
|
|
|
|
|
$this->error("数据异常");
|
|
|
|
|
}
|
|
|
|
|
if ($promote['level'] != 1) {
|
|
|
|
|
$this->error("该推广员不是会长账号,无法执行此操作");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$withdrawMap['promote_id'] = $promoteId;
|
|
|
|
|
$withdrawMap['status'] = ['neq', -2];
|
|
|
|
|
$withdrawMap['settlement_end_time'] = ['egt', $beginTime];
|
|
|
|
|
$withdraw = M('withdraw', 'tab_')->where($withdrawMap)->order('create_time desc')->find();
|
|
|
|
|
if (!empty($withdraw) && $withdraw['status'] != -2) {
|
|
|
|
|
$time = date('Y-m-d', $withdraw['create_time']);
|
|
|
|
|
$this->error("{$time}之前的订单已经申请提现, 无法变更分成比例,请重新选择开始时间");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function setStatus($status)
|
|
|
|
|
{
|
|
|
|
|
$params = I('post.');
|
|
|
|
@ -228,6 +253,7 @@ class PromoteGameRatioController extends ThinkController
|
|
|
|
|
if (empty($status) || !in_array($status, [-1, 1])) {
|
|
|
|
|
$this->error('操作失败');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$time = time();
|
|
|
|
|
$map['id'] = ['in', $ids];
|
|
|
|
|
$map['status'] = 0;
|
|
|
|
@ -240,6 +266,32 @@ class PromoteGameRatioController extends ThinkController
|
|
|
|
|
}
|
|
|
|
|
$result = D(self::MODEL_NAME)->where($map)->save($save);
|
|
|
|
|
if ($result) {
|
|
|
|
|
if ($status == 1) {
|
|
|
|
|
foreach ($ids as $id) {
|
|
|
|
|
$promoteGameRatio = D(self::MODEL_NAME)->find($id);
|
|
|
|
|
if (!empty($promoteGameRatio)) {
|
|
|
|
|
if ($promoteGameRatio['begin_time'] <= strtotime(date('Y-m-d', time()))) {
|
|
|
|
|
$promoteId = $promoteGameRatio['promote_id'];
|
|
|
|
|
$promoteMap['chain'] = ['like', "/{$promoteId}/%"];
|
|
|
|
|
$promoteIds = M('promote', 'tab_')->where($promoteMap)->getField('id', true);
|
|
|
|
|
$promoteIds[] = $promoteId;
|
|
|
|
|
|
|
|
|
|
$spendMap['promote_id'] = ['in', $promoteIds];
|
|
|
|
|
$spendMap['game_id'] = $promoteGameRatio['game_id'];
|
|
|
|
|
if ($promoteGameRatio['end_time'] > 0) {
|
|
|
|
|
$spendMap['pay_time'] = ['between', [$promoteGameRatio['begin_time'], $promoteGameRatio['end_time'] + 3600 * 24 - 1]];
|
|
|
|
|
} else {
|
|
|
|
|
$spendMap['pay_time'] = ['egt', $promoteGameRatio['begin_time']];
|
|
|
|
|
}
|
|
|
|
|
$spendMap['pay_status'] = 1;
|
|
|
|
|
$spendMap['selle_status'] = 0;
|
|
|
|
|
|
|
|
|
|
$spendSave['selle_ratio'] = $promoteGameRatio['ratio'];
|
|
|
|
|
M('spend', 'tab_')->where($spendMap)->save($spendSave);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
$this->success('操作成功');
|
|
|
|
|
} else {
|
|
|
|
|
$this->error('操作失败');
|
|
|
|
|