|
@@ -9,7 +9,7 @@ use App\Models\Message;
|
|
|
use App\Models\PcIssue;
|
|
use App\Models\PcIssue;
|
|
|
use App\Models\Rebate;
|
|
use App\Models\Rebate;
|
|
|
use App\Models\User;
|
|
use App\Models\User;
|
|
|
-use App\Models\Bet;
|
|
|
|
|
|
|
+use App\Models\LhcOrder;
|
|
|
use App\Models\Config;
|
|
use App\Models\Config;
|
|
|
use Illuminate\Support\Facades\App;
|
|
use Illuminate\Support\Facades\App;
|
|
|
use Illuminate\Support\Facades\DB;
|
|
use Illuminate\Support\Facades\DB;
|
|
@@ -115,7 +115,7 @@ class BetService extends BaseService
|
|
|
*/
|
|
*/
|
|
|
public static function model(): string
|
|
public static function model(): string
|
|
|
{
|
|
{
|
|
|
- return Bet::class;
|
|
|
|
|
|
|
+ return LhcOrder::class;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -132,16 +132,22 @@ class BetService extends BaseService
|
|
|
{
|
|
{
|
|
|
$where = [];
|
|
$where = [];
|
|
|
if (isset($search['issue_no']) && !empty($search['issue_no'])) {
|
|
if (isset($search['issue_no']) && !empty($search['issue_no'])) {
|
|
|
- $where[] = ['issue_no', '=', $search['issue_no']];
|
|
|
|
|
|
|
+ $where[] = ['issue', '=', $search['issue_no']];
|
|
|
|
|
+ }
|
|
|
|
|
+ if (isset($search['issue']) && !empty($search['issue'])) {
|
|
|
|
|
+ $where[] = ['issue', '=', $search['issue']];
|
|
|
}
|
|
}
|
|
|
if (isset($search['member_id']) && !empty($search['member_id'])) {
|
|
if (isset($search['member_id']) && !empty($search['member_id'])) {
|
|
|
$where[] = ['member_id', '=', $search['member_id']];
|
|
$where[] = ['member_id', '=', $search['member_id']];
|
|
|
}
|
|
}
|
|
|
if (isset($search['keywords']) && !empty($search['keywords'])) {
|
|
if (isset($search['keywords']) && !empty($search['keywords'])) {
|
|
|
- $where[] = ['keywords', '=', $search['keywords']];
|
|
|
|
|
|
|
+ $where[] = ['number', '=', $search['keywords']];
|
|
|
|
|
+ }
|
|
|
|
|
+ if (isset($search['number']) && !empty($search['number'])) {
|
|
|
|
|
+ $where[] = ['number', '=', $search['number']];
|
|
|
}
|
|
}
|
|
|
if (isset($search['issue_id']) && !empty($search['issue_id'])) {
|
|
if (isset($search['issue_id']) && !empty($search['issue_id'])) {
|
|
|
- $where[] = ['issue_id', '=', $search['issue_id']];
|
|
|
|
|
|
|
+ $where[] = ['lhc_number_id', '=', $search['issue_id']];
|
|
|
}
|
|
}
|
|
|
if (isset($search['id']) && !empty($search['id'])) {
|
|
if (isset($search['id']) && !empty($search['id'])) {
|
|
|
$where[] = ['id', '=', $search['id']];
|
|
$where[] = ['id', '=', $search['id']];
|
|
@@ -157,19 +163,22 @@ class BetService extends BaseService
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if (isset($search['is_winner']) && $search['is_winner'] != '') {
|
|
if (isset($search['is_winner']) && $search['is_winner'] != '') {
|
|
|
- $where[] = ['status', '=', 2];
|
|
|
|
|
|
|
+ $where[] = ['lottery_status', '=', 2];
|
|
|
if ($search['is_winner'] == 1) {
|
|
if ($search['is_winner'] == 1) {
|
|
|
- $where[] = ['profit', '>', 0];
|
|
|
|
|
|
|
+ $where[] = ['profit_and_loss', '>', 0];
|
|
|
} else {
|
|
} else {
|
|
|
- $where[] = ['profit', '<=', 0];
|
|
|
|
|
|
|
+ $where[] = ['profit_and_loss', '<=', 0];
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
if (isset($search['status']) && $search['status'] != '') {
|
|
if (isset($search['status']) && $search['status'] != '') {
|
|
|
- $where[] = ['status', '=', $search['status']];
|
|
|
|
|
|
|
+ $where[] = ['lottery_status', '=', $search['status']];
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
|
|
+ if (isset($search['lottery_status']) && !empty($search['lottery_status'])) {
|
|
|
|
|
+ $where[] = ['lottery_status', '=', $search['lottery_status']];
|
|
|
|
|
+ }
|
|
|
|
|
+ $where[] = ['type', '>=', 5];
|
|
|
|
|
+ $where[] = ['type', '<=', 6];
|
|
|
return $where;
|
|
return $where;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -178,7 +187,7 @@ class BetService extends BaseService
|
|
|
* @param array $search
|
|
* @param array $search
|
|
|
* @return \App\Models\Coin|null
|
|
* @return \App\Models\Coin|null
|
|
|
*/
|
|
*/
|
|
|
- public static function findOne(array $search): ?Bet
|
|
|
|
|
|
|
+ public static function findOne(array $search): ?LhcOrder
|
|
|
{
|
|
{
|
|
|
return self::model()::where(self::getWhere($search))->first();
|
|
return self::model()::where(self::getWhere($search))->first();
|
|
|
}
|
|
}
|
|
@@ -407,7 +416,8 @@ class BetService extends BaseService
|
|
|
|
|
|
|
|
$userInfo = UserService::findOne(['member_id' => $memberId]);
|
|
$userInfo = UserService::findOne(['member_id' => $memberId]);
|
|
|
|
|
|
|
|
- $betInfo = self::findOne(['member_id' => $memberId, 'issue_no' => $issueInfo->issue_no, 'keywords' => $keywords]); // 相同下注
|
|
|
|
|
|
|
+ $type = $pc28Switch == 1 ? 6 : 5;
|
|
|
|
|
+ $betInfo = LhcOrder::where(['type' => $type, 'member_id' => $memberId, 'issue' => $issueInfo->issue_no, 'number' => $keywords])->first(); // 相同下注
|
|
|
|
|
|
|
|
if ($betInfo) {
|
|
if ($betInfo) {
|
|
|
$betInfo->amount = $betInfo->amount + $amount;
|
|
$betInfo->amount = $betInfo->amount + $amount;
|
|
@@ -416,13 +426,15 @@ class BetService extends BaseService
|
|
|
} else {
|
|
} else {
|
|
|
$data = [];
|
|
$data = [];
|
|
|
$data['amount'] = $amount; // 分数
|
|
$data['amount'] = $amount; // 分数
|
|
|
- $data['keywords'] = $keywords; // 玩法
|
|
|
|
|
|
|
+ $data['number'] = $keywords; // 玩法
|
|
|
$data['member_id'] = $memberId;
|
|
$data['member_id'] = $memberId;
|
|
|
$data['user_id'] = $userInfo->id;
|
|
$data['user_id'] = $userInfo->id;
|
|
|
- $data['issue_no'] = $issueInfo->issue_no;
|
|
|
|
|
- $data['issue_id'] = $issueInfo->id;
|
|
|
|
|
|
|
+ $data['issue'] = $issueInfo->issue_no;
|
|
|
|
|
+ $data['lhc_number_id'] = $issueInfo->id;
|
|
|
$data['odds'] = $gameplayRuleInfo['odds'];
|
|
$data['odds'] = $gameplayRuleInfo['odds'];
|
|
|
- $newBet = self::model()::create($data);
|
|
|
|
|
|
|
+ $data['type'] = $type;
|
|
|
|
|
+ $newBet = LhcOrder::create($data);
|
|
|
|
|
+
|
|
|
$bet_id = $newBet->id;
|
|
$bet_id = $newBet->id;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -622,12 +634,12 @@ class BetService extends BaseService
|
|
|
$text = lang("期数") . " {$issue_no} \n";
|
|
$text = lang("期数") . " {$issue_no} \n";
|
|
|
// $text .= "\n";
|
|
// $text .= "\n";
|
|
|
// $text .= "----------\n";
|
|
// $text .= "----------\n";
|
|
|
- $list = self::findAll(['member_id' => $memberId, 'issue_no' => $issue_no]);
|
|
|
|
|
|
|
+ $list = self::findAll(['member_id' => $memberId, 'issue' => $issue_no]);
|
|
|
$list = $list->toArray();
|
|
$list = $list->toArray();
|
|
|
if (empty($list)) {
|
|
if (empty($list)) {
|
|
|
$text .= lang("本期暂未下注") . "! \n";
|
|
$text .= lang("本期暂未下注") . "! \n";
|
|
|
} else {
|
|
} else {
|
|
|
- $keywords = implode(',', array_column($list, 'keywords'));
|
|
|
|
|
|
|
+ $keywords = implode(',', array_column($list, 'number'));
|
|
|
$amounts = implode(',', array_column($list, 'amount'));
|
|
$amounts = implode(',', array_column($list, 'amount'));
|
|
|
|
|
|
|
|
|
|
|
|
@@ -657,15 +669,15 @@ class BetService extends BaseService
|
|
|
*/
|
|
*/
|
|
|
public static function recentlyRecord($memberId, $page = 1, $limit = 5)
|
|
public static function recentlyRecord($memberId, $page = 1, $limit = 5)
|
|
|
{
|
|
{
|
|
|
- $list = self::model()::where('member_id', $memberId)->whereIn('status', [self::model()::STATUS_STAY, self::model()::STATUS_SETTLED])->orderBy('id', 'desc')->forPage($page, $limit)->get();
|
|
|
|
|
|
|
+ $list = self::model()::where('type', 'in', [5,6])->where('member_id', $memberId)->orderBy('id', 'desc')->forPage($page, $limit)->get();
|
|
|
|
|
|
|
|
// $text = "```\n";
|
|
// $text = "```\n";
|
|
|
$text = "";
|
|
$text = "";
|
|
|
$text .= "期数--内容--盈亏 \n";
|
|
$text .= "期数--内容--盈亏 \n";
|
|
|
foreach ($list->toArray() as $k => $v) {
|
|
foreach ($list->toArray() as $k => $v) {
|
|
|
- $profit = $v['profit'] - $v['amount'];
|
|
|
|
|
|
|
+ $profit = $v['win_amount'] - $v['amount'];
|
|
|
// $text .= $v['issue_no']." ".$v['keywords']." ".$v['amount']." ".$v['profit']."\n";
|
|
// $text .= $v['issue_no']." ".$v['keywords']." ".$v['amount']." ".$v['profit']."\n";
|
|
|
- $item = $v['issue_no'] . "==" . $v['keywords'] . rtrim(rtrim(number_format($v['amount'], 2, '.', ''), '0'), '.') . "==" . rtrim(rtrim(number_format($profit, 2, '.', ''), '0'), '.') . "\n";
|
|
|
|
|
|
|
+ $item = $v['issue'] . "==" . $v['number'] . rtrim(rtrim(number_format($v['amount'], 2, '.', ''), '0'), '.') . "==" . rtrim(rtrim(number_format($profit, 2, '.', ''), '0'), '.') . "\n";
|
|
|
$text .= $item;
|
|
$text .= $item;
|
|
|
}
|
|
}
|
|
|
// $text .= "```\n";
|
|
// $text .= "```\n";
|
|
@@ -689,8 +701,8 @@ class BetService extends BaseService
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
$msg['chat_id'] = $memberId;
|
|
$msg['chat_id'] = $memberId;
|
|
|
- $list = self::model()::where('member_id', $memberId)->whereIn('status', [self::model()::STATUS_STAY, self::model()::STATUS_SETTLED])->where(self::getWhere(['is_winner' => $type]))->orderBy('id', 'desc')->forPage($page, $limit)->get();
|
|
|
|
|
- $count = self::model()::where('member_id', $memberId)->whereIn('status', [self::model()::STATUS_STAY, self::model()::STATUS_SETTLED])->where(self::getWhere(['is_winner' => $type]))->count();
|
|
|
|
|
|
|
+ $list = self::model()::where('type', 'in', [5,6])->where('member_id', $memberId)->orderBy('id', 'desc')->forPage($page, $limit)->get();
|
|
|
|
|
+ $count = self::model()::where('type', 'in', [5,6])->where('member_id', $memberId)->count();
|
|
|
|
|
|
|
|
$keyboard = [];
|
|
$keyboard = [];
|
|
|
|
|
|
|
@@ -700,16 +712,15 @@ class BetService extends BaseService
|
|
|
$text = lang("历史注单") . " \n";
|
|
$text = lang("历史注单") . " \n";
|
|
|
$text .= lang("中奖总派彩") . ":{$total_amount} \n";
|
|
$text .= lang("中奖总派彩") . ":{$total_amount} \n";
|
|
|
foreach ($list as $k => $v) {
|
|
foreach ($list as $k => $v) {
|
|
|
- if ($v->status == self::model()::STATUS_SETTLED) {
|
|
|
|
|
- $phase = $v->profit - $v->amount;
|
|
|
|
|
-
|
|
|
|
|
|
|
+ if ($v->lottery_status == self::model()::STATUS_WIN || $v->lottery_status == self::model()::STATUS_LOSS) {
|
|
|
|
|
+ $phase = $v->win_amount - $v->amount;
|
|
|
} else {
|
|
} else {
|
|
|
$phase = lang('待开奖');
|
|
$phase = lang('待开奖');
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
$text .= "-------------------------------------\n";
|
|
$text .= "-------------------------------------\n";
|
|
|
- $text .= lang("期数") . ":{$v->issue_no} \n";
|
|
|
|
|
- $text .= lang("内容") . ":{$v->keywords} \n";
|
|
|
|
|
|
|
+ $text .= lang("期数") . ":{$v->issue} \n";
|
|
|
|
|
+ $text .= lang("内容") . ":{$v->number} \n";
|
|
|
$text .= lang("金额") . ":{$v->amount} \n";
|
|
$text .= lang("金额") . ":{$v->amount} \n";
|
|
|
$text .= lang("盈亏") . ":{$phase} \n";
|
|
$text .= lang("盈亏") . ":{$phase} \n";
|
|
|
}
|
|
}
|
|
@@ -754,7 +765,7 @@ class BetService extends BaseService
|
|
|
*/
|
|
*/
|
|
|
public static function betFail($issue_no)
|
|
public static function betFail($issue_no)
|
|
|
{
|
|
{
|
|
|
- $list = self::findAll(['issue_no' => $issue_no, 'status' => self::model()::STATUS_STAY]);
|
|
|
|
|
|
|
+ $list = self::findAll(['issue' => $issue_no, 'lottery_status' => self::model()::STATUS_STAY]);
|
|
|
foreach ($list->toArray() as $k => $v) {
|
|
foreach ($list->toArray() as $k => $v) {
|
|
|
$profit = $v['amount'];
|
|
$profit = $v['amount'];
|
|
|
WalletService::updateBalance($v['member_id'], $profit);
|
|
WalletService::updateBalance($v['member_id'], $profit);
|
|
@@ -765,13 +776,13 @@ class BetService extends BaseService
|
|
|
BalanceLogService::addLog($v['member_id'], $profit, ($balance - $profit), $balance, '投注退分', $v['id'], '');
|
|
BalanceLogService::addLog($v['member_id'], $profit, ($balance - $profit), $balance, '投注退分', $v['id'], '');
|
|
|
|
|
|
|
|
$text = $issue_no . "期开奖失败 \n";
|
|
$text = $issue_no . "期开奖失败 \n";
|
|
|
- $text .= "投注类型:{$v['keywords']} \n";
|
|
|
|
|
|
|
+ $text .= "投注类型:{$v['number']} \n";
|
|
|
$text .= "投注金额:{$v['amount']} \n";
|
|
$text .= "投注金额:{$v['amount']} \n";
|
|
|
$text .= "投注的资金已退回您的钱包 \n";
|
|
$text .= "投注的资金已退回您的钱包 \n";
|
|
|
|
|
|
|
|
self::asyncSendMessage($v['member_id'], $text);
|
|
self::asyncSendMessage($v['member_id'], $text);
|
|
|
$item = [];
|
|
$item = [];
|
|
|
- $iem['status'] = self::model()::STATUS_SETTLED;
|
|
|
|
|
|
|
+ $item['lottery_status'] = self::model()::STATUS_LOSS;
|
|
|
self::model()::where('id', $v['id'])->update($item);
|
|
self::model()::where('id', $v['id'])->update($item);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -785,9 +796,9 @@ class BetService extends BaseService
|
|
|
*/
|
|
*/
|
|
|
public static function betSettled($issue_no, $awards)
|
|
public static function betSettled($issue_no, $awards)
|
|
|
{
|
|
{
|
|
|
- $list = self::findAll(['issue_no' => $issue_no, 'status' => self::model()::STATUS_STAY]);
|
|
|
|
|
|
|
+ $list = self::findAll(['issue' => $issue_no, 'lottery_status' => self::model()::STATUS_STAY]);
|
|
|
// 大小单双的
|
|
// 大小单双的
|
|
|
- $otherSum = self::model()::where('issue_no', $issue_no)->where('status', self::model()::STATUS_STAY)->whereIn('keywords', ['大', '小', '单', '双'])->sum('amount');
|
|
|
|
|
|
|
+ $otherSum = self::model()::where('type', 'in', [5,6])->where('issue', $issue_no)->where('lottery_status', self::model()::STATUS_STAY)->whereIn('number', ['大', '小', '单', '双'])->sum('amount');
|
|
|
|
|
|
|
|
$fakeOpenData = self::fakeLotteryDraw($issue_no, $awards, 0);
|
|
$fakeOpenData = self::fakeLotteryDraw($issue_no, $awards, 0);
|
|
|
$keywordsList = $fakeOpenData['keywordsList'];
|
|
$keywordsList = $fakeOpenData['keywordsList'];
|
|
@@ -798,33 +809,29 @@ class BetService extends BaseService
|
|
|
$betNoticeMini = max(1, (int)($betNoticeNum[0] ?? 26));
|
|
$betNoticeMini = max(1, (int)($betNoticeNum[0] ?? 26));
|
|
|
$betNoticeMax = max($betNoticeMini, (int)($betNoticeNum[1] ?? 38));
|
|
$betNoticeMax = max($betNoticeMini, (int)($betNoticeNum[1] ?? 38));
|
|
|
$noticeNum = rand($betNoticeMini, $betNoticeMax);
|
|
$noticeNum = rand($betNoticeMini, $betNoticeMax);
|
|
|
-
|
|
|
|
|
- $realNoticeNum = ceil($noticeNum / 2);
|
|
|
|
|
$openList = [];
|
|
$openList = [];
|
|
|
$memberList = [];
|
|
$memberList = [];
|
|
|
- $bet_num = 0;
|
|
|
|
|
|
|
+
|
|
|
foreach ($list->toArray() as $k => $v) {
|
|
foreach ($list->toArray() as $k => $v) {
|
|
|
- if (isset($keywordsList[$v['keywords']])) {
|
|
|
|
|
- $keywordsList[$v['keywords']] += $v['amount'];
|
|
|
|
|
|
|
+ if (isset($keywordsList[$v['number']])) {
|
|
|
|
|
+ $keywordsList[$v['number']] += $v['amount'];
|
|
|
} else {
|
|
} else {
|
|
|
- $keywordsList[$v['keywords']] = $v['amount'];
|
|
|
|
|
|
|
+ $keywordsList[$v['number']] = $v['amount'];
|
|
|
}
|
|
}
|
|
|
- // $userInfo = UserService::findAll(['member_id' => $v['member_id']]);
|
|
|
|
|
- // $lastStr = self::getLastChar($userInfo->first_name, 1);
|
|
|
|
|
$lastStr = self::hideMiddleDigits($v['member_id'], 4);
|
|
$lastStr = self::hideMiddleDigits($v['member_id'], 4);
|
|
|
$item = [];
|
|
$item = [];
|
|
|
$item['id'] = $v['id'];
|
|
$item['id'] = $v['id'];
|
|
|
- $item['status'] = self::model()::STATUS_SETTLED;
|
|
|
|
|
|
|
+ $item['lottery_status'] = self::model()::STATUS_LOSS;//未中奖
|
|
|
|
|
+ $item['profit_and_loss'] = -$v['amount'];
|
|
|
|
|
|
|
|
-
|
|
|
|
|
- if (in_array($v['keywords'], $awards)) {
|
|
|
|
|
|
|
+ if (in_array($v['number'], $awards)) {
|
|
|
$amount = $v['amount'];
|
|
$amount = $v['amount'];
|
|
|
$odds = $v['odds'];
|
|
$odds = $v['odds'];
|
|
|
|
|
|
|
|
// 玩 大单 小单 大双 小双 :如果开出13和14 总注小于10000 1.5赔率含本,大于等于10000退本金。
|
|
// 玩 大单 小单 大双 小双 :如果开出13和14 总注小于10000 1.5赔率含本,大于等于10000退本金。
|
|
|
if (in_array('13操', $awards) || in_array('14操', $awards)) {
|
|
if (in_array('13操', $awards) || in_array('14操', $awards)) {
|
|
|
// 13 14特殊处理倍率
|
|
// 13 14特殊处理倍率
|
|
|
- if (in_array($v['keywords'], self::$OTHER_BET_2)) {
|
|
|
|
|
|
|
+ if (in_array($v['number'], self::$OTHER_BET_2)) {
|
|
|
if ($sum < 10000) {
|
|
if ($sum < 10000) {
|
|
|
$odds = 1.5;
|
|
$odds = 1.5;
|
|
|
} else {
|
|
} else {
|
|
@@ -839,12 +846,10 @@ class BetService extends BaseService
|
|
|
$profit = 1000000; // 单注最高奖金1000000
|
|
$profit = 1000000; // 单注最高奖金1000000
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- $item['profit'] = $profit;
|
|
|
|
|
-
|
|
|
|
|
- // $yl = $profit - $amount;
|
|
|
|
|
|
|
+ $item['lottery_status'] = self::model()::STATUS_WIN;//中奖
|
|
|
|
|
+ $item['win_amount'] = $profit;
|
|
|
$yl = bcsub($profit, $amount, 2); // 盈利
|
|
$yl = bcsub($profit, $amount, 2); // 盈利
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
|
|
+ $item['profit_and_loss'] = $yl;
|
|
|
$rebate = Rebate::updateProfit([
|
|
$rebate = Rebate::updateProfit([
|
|
|
'member_id' => $v['member_id'],
|
|
'member_id' => $v['member_id'],
|
|
|
'profit' => $yl,
|
|
'profit' => $yl,
|
|
@@ -855,10 +860,9 @@ class BetService extends BaseService
|
|
|
ActivityUserService::updateBettingAmount($v['member_id'],$v['amount']);
|
|
ActivityUserService::updateBettingAmount($v['member_id'],$v['amount']);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-
|
|
|
|
|
$memberList[$v['member_id']][] = [
|
|
$memberList[$v['member_id']][] = [
|
|
|
'member_id' => $v['member_id'],
|
|
'member_id' => $v['member_id'],
|
|
|
- 'keywords' => $v['keywords'],
|
|
|
|
|
|
|
+ 'keywords' => $v['number'],
|
|
|
'amount' => $v['amount'],
|
|
'amount' => $v['amount'],
|
|
|
'profit' => $profit,
|
|
'profit' => $profit,
|
|
|
'yl' => $yl,
|
|
'yl' => $yl,
|
|
@@ -874,8 +878,8 @@ class BetService extends BaseService
|
|
|
$openList[$v['member_id']]['amount'] += $v['amount'];
|
|
$openList[$v['member_id']]['amount'] += $v['amount'];
|
|
|
$openList[$v['member_id']]['profit'] += $profit;
|
|
$openList[$v['member_id']]['profit'] += $profit;
|
|
|
$openList[$v['member_id']]['lastStr'] = $lastStr;
|
|
$openList[$v['member_id']]['lastStr'] = $lastStr;
|
|
|
- $openList[$v['member_id']]['openKeywords'][] = $v['keywords'] . "({$odds}" . lang("倍率") . ")";
|
|
|
|
|
- $openList[$v['member_id']]['keywords'][] = $v['keywords'];
|
|
|
|
|
|
|
+ $openList[$v['member_id']]['openKeywords'][] = $v['number'] . "({$odds}" . lang("倍率") . ")";
|
|
|
|
|
+ $openList[$v['member_id']]['keywords'][] = $v['number'];
|
|
|
$openList[$v['member_id']]['win_amount'] += $v['amount'];
|
|
$openList[$v['member_id']]['win_amount'] += $v['amount'];
|
|
|
|
|
|
|
|
} else {
|
|
} else {
|
|
@@ -885,8 +889,8 @@ class BetService extends BaseService
|
|
|
$openList[$v['member_id']]['lastStr'] = $lastStr;
|
|
$openList[$v['member_id']]['lastStr'] = $lastStr;
|
|
|
$openList[$v['member_id']]['openKeywords'] = [];
|
|
$openList[$v['member_id']]['openKeywords'] = [];
|
|
|
$openList[$v['member_id']]['keywords'] = [];
|
|
$openList[$v['member_id']]['keywords'] = [];
|
|
|
- $openList[$v['member_id']]['openKeywords'][] = $v['keywords'] . "({$odds}" . lang("倍率") . ")";
|
|
|
|
|
- $openList[$v['member_id']]['keywords'][] = $v['keywords'];
|
|
|
|
|
|
|
+ $openList[$v['member_id']]['openKeywords'][] = $v['number'] . "({$odds}" . lang("倍率") . ")";
|
|
|
|
|
+ $openList[$v['member_id']]['keywords'][] = $v['number'];
|
|
|
$openList[$v['member_id']]['win_amount'] = $v['amount'];
|
|
$openList[$v['member_id']]['win_amount'] = $v['amount'];
|
|
|
$openList[$v['member_id']]['is_send'] = true;
|
|
$openList[$v['member_id']]['is_send'] = true;
|
|
|
|
|
|
|
@@ -898,19 +902,17 @@ class BetService extends BaseService
|
|
|
'profit' => ($v['amount'] * -1),
|
|
'profit' => ($v['amount'] * -1),
|
|
|
]);
|
|
]);
|
|
|
|
|
|
|
|
-
|
|
|
|
|
if (!in_array('13操', $awards) && !in_array('14操', $awards)) {
|
|
if (!in_array('13操', $awards) && !in_array('14操', $awards)) {
|
|
|
RebateService::updateEffectiveBettingAmount($rebate, $v['amount']);
|
|
RebateService::updateEffectiveBettingAmount($rebate, $v['amount']);
|
|
|
ActivityUserService::updateBettingAmount($v['member_id'],$v['amount']);
|
|
ActivityUserService::updateBettingAmount($v['member_id'],$v['amount']);
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
$profit = 0;
|
|
$profit = 0;
|
|
|
// 玩 大单 小单 大双 小双 :如果开出13和14 总注小于10000 1.5赔率含本,大于等于10000退本金。
|
|
// 玩 大单 小单 大双 小双 :如果开出13和14 总注小于10000 1.5赔率含本,大于等于10000退本金。
|
|
|
if (in_array('13操', $awards) || in_array('14操', $awards)) {
|
|
if (in_array('13操', $awards) || in_array('14操', $awards)) {
|
|
|
$amount = $v['amount'];
|
|
$amount = $v['amount'];
|
|
|
$odds = 0;
|
|
$odds = 0;
|
|
|
// 13 14特殊处理倍率
|
|
// 13 14特殊处理倍率
|
|
|
- if (in_array($v['keywords'], self::$OTHER_BET_2)) {
|
|
|
|
|
|
|
+ if (in_array($v['number'], self::$OTHER_BET_2)) {
|
|
|
if ($sum < 10000) {
|
|
if ($sum < 10000) {
|
|
|
$odds = 1.5;
|
|
$odds = 1.5;
|
|
|
} else {
|
|
} else {
|
|
@@ -918,32 +920,29 @@ class BetService extends BaseService
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-// if (in_array($v['keywords'], self::$OTHER_BET_2)) {
|
|
|
|
|
-// $odds = 1;
|
|
|
|
|
-// }
|
|
|
|
|
$profit = bcmul($amount, $odds, 2); // 保留两位小数
|
|
$profit = bcmul($amount, $odds, 2); // 保留两位小数
|
|
|
|
|
|
|
|
if ($profit > 1000000) {
|
|
if ($profit > 1000000) {
|
|
|
$profit = 1000000; // 单注最高奖金1000000
|
|
$profit = 1000000; // 单注最高奖金1000000
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- $item['profit'] = $profit;
|
|
|
|
|
|
|
+ $item['lottery_status'] = self::model()::STATUS_WIN;//中奖
|
|
|
|
|
+ $item['win_amount'] = $profit;
|
|
|
|
|
|
|
|
$yl = bcsub($profit, $amount, 2); // 盈利
|
|
$yl = bcsub($profit, $amount, 2); // 盈利
|
|
|
|
|
+ $item['profit_and_loss'] = $yl;
|
|
|
$walletInfo = WalletService::findOne(['member_id' => $v['member_id']]);
|
|
$walletInfo = WalletService::findOne(['member_id' => $v['member_id']]);
|
|
|
$balance = $walletInfo['available_balance'];
|
|
$balance = $walletInfo['available_balance'];
|
|
|
WalletService::updateBalance($v['member_id'], $profit);
|
|
WalletService::updateBalance($v['member_id'], $profit);
|
|
|
BalanceLogService::addLog($v['member_id'], $profit, $balance, ($balance + $profit), '中奖', $v['id'], "盈利:{$yl}");
|
|
BalanceLogService::addLog($v['member_id'], $profit, $balance, ($balance + $profit), '中奖', $v['id'], "盈利:{$yl}");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-
|
|
|
|
|
if (isset($openList[$v['member_id']])) {
|
|
if (isset($openList[$v['member_id']])) {
|
|
|
$openList[$v['member_id']]['member_id'] = $v['member_id'];
|
|
$openList[$v['member_id']]['member_id'] = $v['member_id'];
|
|
|
$openList[$v['member_id']]['amount'] += $v['amount'];
|
|
$openList[$v['member_id']]['amount'] += $v['amount'];
|
|
|
$openList[$v['member_id']]['profit'] += $profit;
|
|
$openList[$v['member_id']]['profit'] += $profit;
|
|
|
$openList[$v['member_id']]['lastStr'] = $lastStr;
|
|
$openList[$v['member_id']]['lastStr'] = $lastStr;
|
|
|
- $openList[$v['member_id']]['keywords'][] = $v['keywords'];
|
|
|
|
|
|
|
+ $openList[$v['member_id']]['keywords'][] = $v['number'];
|
|
|
} else {
|
|
} else {
|
|
|
$openList[$v['member_id']]['member_id'] = $v['member_id'];
|
|
$openList[$v['member_id']]['member_id'] = $v['member_id'];
|
|
|
$openList[$v['member_id']]['amount'] = $v['amount'];
|
|
$openList[$v['member_id']]['amount'] = $v['amount'];
|
|
@@ -951,7 +950,7 @@ class BetService extends BaseService
|
|
|
$openList[$v['member_id']]['lastStr'] = $lastStr;
|
|
$openList[$v['member_id']]['lastStr'] = $lastStr;
|
|
|
$openList[$v['member_id']]['openKeywords'] = [];
|
|
$openList[$v['member_id']]['openKeywords'] = [];
|
|
|
$openList[$v['member_id']]['keywords'] = [];
|
|
$openList[$v['member_id']]['keywords'] = [];
|
|
|
- $openList[$v['member_id']]['keywords'][] = $v['keywords'];
|
|
|
|
|
|
|
+ $openList[$v['member_id']]['keywords'][] = $v['number'];
|
|
|
$openList[$v['member_id']]['win_amount'] = 0;
|
|
$openList[$v['member_id']]['win_amount'] = 0;
|
|
|
$openList[$v['member_id']]['is_send'] = true;
|
|
$openList[$v['member_id']]['is_send'] = true;
|
|
|
}
|
|
}
|
|
@@ -1182,7 +1181,7 @@ class BetService extends BaseService
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 真实投注
|
|
// 真实投注
|
|
|
- $list = self::findAll(['issue_no' => $issue_no, 'status' => self::model()::STATUS_STAY]);
|
|
|
|
|
|
|
+ $list = self::findAll(['issue_no' => $issue_no]);
|
|
|
foreach ($list->toArray() as $k => $v) {
|
|
foreach ($list->toArray() as $k => $v) {
|
|
|
if (isset($keywordsList[$v['keywords']])) {
|
|
if (isset($keywordsList[$v['keywords']])) {
|
|
|
$keywordsList[$v['keywords']] += $v['amount'];
|
|
$keywordsList[$v['keywords']] += $v['amount'];
|