|
@@ -3,9 +3,8 @@
|
|
|
namespace App\Http\Controllers\api;
|
|
namespace App\Http\Controllers\api;
|
|
|
|
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Http\Controllers\Controller;
|
|
|
|
|
+use App\Models\Bet;
|
|
|
use App\Models\Issue;
|
|
use App\Models\Issue;
|
|
|
-use App\Models\LhcOrder;
|
|
|
|
|
-use App\Models\LhcOrderItem;
|
|
|
|
|
use App\Models\PcIssue;
|
|
use App\Models\PcIssue;
|
|
|
use App\Services\BalanceLogService;
|
|
use App\Services\BalanceLogService;
|
|
|
use App\Services\GameplayRuleService;
|
|
use App\Services\GameplayRuleService;
|
|
@@ -65,52 +64,52 @@ class Settle extends Controller
|
|
|
|
|
|
|
|
DB::beginTransaction();
|
|
DB::beginTransaction();
|
|
|
try {
|
|
try {
|
|
|
- $order = new LhcOrder();
|
|
|
|
|
|
|
+ $order = new Bet();
|
|
|
$order->fill([
|
|
$order->fill([
|
|
|
- 'amount' => $amount,
|
|
|
|
|
- 'number' => $keywords,
|
|
|
|
|
- 'member_id' => $member_id,
|
|
|
|
|
- 'issue' => $issue_no,
|
|
|
|
|
- 'lhc_number_id' => $issue->id,
|
|
|
|
|
- 'odds' => $odds,
|
|
|
|
|
- 'type' => $type,
|
|
|
|
|
- 'lottery_status' => LhcOrder::STATUS_WIN,
|
|
|
|
|
- 'win_amount' => $win_amount,
|
|
|
|
|
- 'profit_and_loss' => $yl,
|
|
|
|
|
- 'total_amount' => $amount,
|
|
|
|
|
|
|
+ 'issue_no' => $issue_no,
|
|
|
|
|
+ 'keywords' => $keywords,
|
|
|
|
|
+ 'amount' => $amount,
|
|
|
|
|
+ 'odds' => $odds,
|
|
|
|
|
+ 'status' => Bet::STATUS_SETTLED,
|
|
|
|
|
+ 'profit' => $win_amount,
|
|
|
|
|
+ 'issue_id' => $issue->id,
|
|
|
|
|
+ 'member_id' => $member_id,
|
|
|
|
|
+ 'user_id' => $member_id,
|
|
|
]);
|
|
]);
|
|
|
$order->timestamps = false;
|
|
$order->timestamps = false;
|
|
|
$order->created_at = $bet_ts;
|
|
$order->created_at = $bet_ts;
|
|
|
$order->updated_at = $bet_ts;
|
|
$order->updated_at = $bet_ts;
|
|
|
$order->save();
|
|
$order->save();
|
|
|
|
|
|
|
|
- $orderItem = new LhcOrderItem();
|
|
|
|
|
- $orderItem->fill([
|
|
|
|
|
- 'ordernum' => $order->ordernum,
|
|
|
|
|
- 'number' => $keywords,
|
|
|
|
|
- 'member_id' => $member_id,
|
|
|
|
|
- 'lottery_status' => LhcOrder::STATUS_WIN,
|
|
|
|
|
- 'win_amount' => $win_amount,
|
|
|
|
|
- 'profit_and_loss' => $yl,
|
|
|
|
|
- ]);
|
|
|
|
|
- $orderItem->timestamps = false;
|
|
|
|
|
- $orderItem->created_at = $bet_ts;
|
|
|
|
|
- $orderItem->updated_at = $bet_ts;
|
|
|
|
|
- $orderItem->save();
|
|
|
|
|
-
|
|
|
|
|
$walletInfo = WalletService::findOne(['member_id' => $member_id]);
|
|
$walletInfo = WalletService::findOne(['member_id' => $member_id]);
|
|
|
if (!$walletInfo) {
|
|
if (!$walletInfo) {
|
|
|
DB::rollBack();
|
|
DB::rollBack();
|
|
|
return response()->json(['code' => 404, 'msg' => 'wallet not found']);
|
|
return response()->json(['code' => 404, 'msg' => 'wallet not found']);
|
|
|
}
|
|
}
|
|
|
$balance = floatval($walletInfo['available_balance']);
|
|
$balance = floatval($walletInfo['available_balance']);
|
|
|
- WalletService::updateBalance($member_id, $win_amount);
|
|
|
|
|
|
|
+ $betType = ($game === 'ca28') ? '加拿大28投注' : '极速28投注';
|
|
|
|
|
|
|
|
|
|
+ // 扣下注金额
|
|
|
|
|
+ WalletService::updateBalance($member_id, -$amount);
|
|
|
|
|
+ $balance_after_bet = bcsub($balance, $amount, 2);
|
|
|
BalanceLogService::addLog(
|
|
BalanceLogService::addLog(
|
|
|
$member_id,
|
|
$member_id,
|
|
|
- $win_amount,
|
|
|
|
|
|
|
+ $amount,
|
|
|
$balance,
|
|
$balance,
|
|
|
- bcadd($balance, $win_amount, 2),
|
|
|
|
|
|
|
+ $balance_after_bet,
|
|
|
|
|
+ $betType,
|
|
|
|
|
+ $order->id,
|
|
|
|
|
+ "期号:{$issue_no}"
|
|
|
|
|
+ );
|
|
|
|
|
+
|
|
|
|
|
+ // 加中奖金额
|
|
|
|
|
+ WalletService::updateBalance($member_id, $win_amount);
|
|
|
|
|
+ $balance_after_win = bcadd($balance_after_bet, $win_amount, 2);
|
|
|
|
|
+ BalanceLogService::addLog(
|
|
|
|
|
+ $member_id,
|
|
|
|
|
+ $win_amount,
|
|
|
|
|
+ $balance_after_bet,
|
|
|
|
|
+ $balance_after_win,
|
|
|
'中奖',
|
|
'中奖',
|
|
|
$order->id,
|
|
$order->id,
|
|
|
"盈利:{$yl}"
|
|
"盈利:{$yl}"
|
|
@@ -128,7 +127,7 @@ class Settle extends Controller
|
|
|
'win_amount' => $win_amount,
|
|
'win_amount' => $win_amount,
|
|
|
'profit' => $yl,
|
|
'profit' => $yl,
|
|
|
'balance_before' => $balance,
|
|
'balance_before' => $balance,
|
|
|
- 'balance_after' => bcadd($balance, $win_amount, 2),
|
|
|
|
|
|
|
+ 'balance_after' => $balance_after_win,
|
|
|
'order_id' => $order->id,
|
|
'order_id' => $order->id,
|
|
|
'bet_time' => date('Y-m-d H:i:s', $bet_ts),
|
|
'bet_time' => date('Y-m-d H:i:s', $bet_ts),
|
|
|
]);
|
|
]);
|