|
|
@@ -30,9 +30,197 @@ class SportsNoteList extends BaseModel
|
|
|
return $this->hasMany(MoneyBuyMatch::class, 'order_id', 'order_id');
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 获取单式注单 数据
|
|
|
+ * 测试 使用
|
|
|
+ */
|
|
|
+ function getinfo($list = 10, $page, $where = '', $type){
|
|
|
+ $orderData = $this
|
|
|
+ ->join('money_details', 'money_details.info_identity', '=', 'money_buy_simplex.info_identity')
|
|
|
+ ->join('st_' . $type . '_competition', 'st_' . $type . '_competition.id', '=', 'money_buy_simplex.match_id')
|
|
|
+ //->join('money_buy_match','money_buy_match.order_id','=','money_buy_simplex.order_id')
|
|
|
+ ->join('st_' . $type . '_league', 'money_buy_simplex.lg_id', '=', 'st_' . $type . '_league.id')
|
|
|
+ ->select('money_buy_simplex.id', 'money_buy_simplex.account_name', 'money_buy_simplex.is_champion', 'money_buy_simplex.account_identity', 'money_buy_simplex.order_id', 'money_buy_simplex.money', 'money_buy_simplex.prize_money', 'money_buy_simplex.status', 'money_buy_simplex.money_time', 'money_buy_simplex.settle_status', 'money_buy_simplex.gain_money', 'money_buy_simplex.game_code', 'money_buy_simplex.match_id', 'money_buy_simplex.game_status','money_buy_simplex.use_mark', 'st_' . $type . '_competition.home_team', 'st_' . $type . '_competition.guest_team', 'st_' . $type . '_competition.match_date', 'st_' . $type . '_competition.match_time', 'st_' . $type . '_competition.lg_id', 'st_' . $type . '_competition.status as match_status', 'money_details.money_cash', 'money_buy_simplex.batch_id', 'st_' . $type . '_league.name_chinese as league', 'st_' . $type . '_league.last_time')
|
|
|
+ ->whereIn('money_buy_simplex.roll_ratify',array(0,1,-1))
|
|
|
+ ->where($where)
|
|
|
+ //->distinct('money_buy_match.order_id')
|
|
|
+ ->orderby('money_buy_simplex.money_time', 'desc')
|
|
|
+ ->paginate($list);
|
|
|
+ if (count($orderData) < 1) {
|
|
|
+ return -2021052003; //
|
|
|
+ }
|
|
|
+ //获取各球类 控制器名
|
|
|
+ if($type == 'zq'){
|
|
|
+ $c_name = 'sportsfoot';
|
|
|
+ }
|
|
|
+ if($type == 'lq'){
|
|
|
+ $c_name = 'Sportsbk';
|
|
|
+ }
|
|
|
+ if($type == 'wq'){
|
|
|
+ $c_name = 'Sportswq';
|
|
|
+ }
|
|
|
+ if($type == 'bq'){
|
|
|
+ $c_name = 'Sportsbq';
|
|
|
+ }
|
|
|
|
|
|
- function getinfo($list = 10, $page, $where = '', $type)
|
|
|
- {
|
|
|
+ //获取注单 id
|
|
|
+ $order_ids = [];
|
|
|
+ //重组 注单数据
|
|
|
+ foreach($orderData as $k=>$v){
|
|
|
+ //所有注单 id
|
|
|
+ $order_ids[] = $v->order_id;
|
|
|
+ $v->match_id_order = '<a href="/admin/'.$c_name.'/outcome?home_team=' . $v->match_id . '">' . $v->match_id . '</a> (<span>' . $v->account_name . '</span>)<br>' . $v->order_id;
|
|
|
+ $v->home_guest = $v->home_team . ' VS ' . $v->guest_team;
|
|
|
+ $v->time = '开赛:' . $v->match_date . ' ' . $v->match_time;
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取 注单 反水 金额变动记录
|
|
|
+ $select_fs = ['trade_id','money','money_cash'];
|
|
|
+ $water_return_money = \App\Models\Money_details::SELECT($select_fs)->where('trade_type', '7')->whereIn('trade_id',$order_ids)->get();
|
|
|
+
|
|
|
+ //获取 注单 作废 金额变动记录
|
|
|
+ $select_zf = ['trade_id','money','money_cash'];
|
|
|
+ $invalid_money = \App\Models\Money_details::SELECT($select_zf)->where('trade_type', '3')->whereIn('trade_id',$order_ids)->get();
|
|
|
+
|
|
|
+ dd($invalid_money->toArray());
|
|
|
+ //获取注单 输赢 结果
|
|
|
+ $select_play = ['order_id','result','matchresult','condition','odds','odds_code','bet_money','home_team','guest_team'];
|
|
|
+ $content = \App\Models\MoneyBuyMatch::SELECT($select_play)->where('bet_type', '1')->whereIn('order_id',$order_ids)->get();
|
|
|
+
|
|
|
+ //获取 注单 玩法
|
|
|
+ $select_code = ['odds_code','odds_name'];
|
|
|
+ $result = \App\Models\Matchcode::SELECT($select_code)->where('game_code', $type)->get();
|
|
|
+
|
|
|
+ //拼接注单 玩法
|
|
|
+ foreach($content as $k=>$v){
|
|
|
+ foreach($result as $kk=>$vv){
|
|
|
+ if($v->odds_code == $vv->odds_code){
|
|
|
+ $v->content = $vv->odds_name . '<br>' . $v->condition . '@' . $v->odds . ' ¥' . $v->bet_money . '<br>';
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //生成最终数据
|
|
|
+ foreach($orderData as $k=>$v){
|
|
|
+ //追加输赢结果 /投注详情
|
|
|
+ $v->content = $this->getOrderC($content,$v);
|
|
|
+
|
|
|
+ //下注时间/开赛时间
|
|
|
+ $v->money_match_time = '下注:' . $v->money_time . $v->time;
|
|
|
+
|
|
|
+
|
|
|
+ if ($v->status == 2 || $v->status == 3) {
|
|
|
+ }
|
|
|
+
|
|
|
+ //未作废/撤单 数据
|
|
|
+ if($v->status < 2){
|
|
|
+ //反水
|
|
|
+ $v->water_return = commonFunction::filter_by_value($water_return_money,'trade_id',$v->order_id)['money'];
|
|
|
+ //结果金额 反水+中奖金额
|
|
|
+ $v->result = $v->water_return + $v->gain_money;
|
|
|
+
|
|
|
+ //用户投注前账户金额
|
|
|
+ $v->available_cash = $v->money_cash + $v->money;
|
|
|
+ //用户投注后账户金额
|
|
|
+ $v->frozen_cash = commonFunction::filter_by_value($water_return_money,'trade_id',$v->order_id)['money_cash'];
|
|
|
+
|
|
|
+ //投注前后账户金额
|
|
|
+ $v->account_money = $v->available_cash . '<br><span>' . $v->money . '</span><br>' . $v->frozen_cash;
|
|
|
+
|
|
|
+ }else{//已作废/撤单
|
|
|
+ //反水
|
|
|
+ $v->water_return = 0;
|
|
|
+ //如果注单已作废 结果金额 = 投注金额
|
|
|
+ $v->result = $v->money;
|
|
|
+
|
|
|
+ //作废资金变动
|
|
|
+ $money_data = commonFunction::filter_by_value($invalid_money,'trade_id',$v->order_id);
|
|
|
+ //用户作废后账户金额
|
|
|
+ $v->frozen_cash = $money_data['money_cash'];
|
|
|
+ //用户作废前账户金额
|
|
|
+ $v->available_cash = $v->frozen_cash - $v->money;
|
|
|
+ //作废前后账户金额
|
|
|
+ $v->account_money = $v->available_cash . '<br><span>' . $v->money . '</span><br>' . $v->frozen_cash;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ //===结算/订单状态===
|
|
|
+ if ($v->settle_status == 1) {
|
|
|
+ $settle_status = '未结算';
|
|
|
+ } else{
|
|
|
+ $settle_status = '已结算';
|
|
|
+ }
|
|
|
+ if($v->status==1 && $v->settle_status == 1){
|
|
|
+ $v->order_status = '投注<br>'.$settle_status;
|
|
|
+ }
|
|
|
+ else if ($v->status == 1 && $v->settle_status != 1) {
|
|
|
+ $v->order_status = '投注<br>'.$settle_status;
|
|
|
+
|
|
|
+ } else if ($v->status == 2) {
|
|
|
+ $v->order_status = '作废<br>'.$v->use_mark;
|
|
|
+ } else if ($v->status == 3) {
|
|
|
+ $v->order_status = '撤单<br>'.$settle_status;
|
|
|
+ }
|
|
|
+ if ($v->game_status == 0) {
|
|
|
+ $v->game_status = '未处理';
|
|
|
+ } else {
|
|
|
+ $v->game_status = '已处理';
|
|
|
+ }
|
|
|
+ //===end===
|
|
|
+
|
|
|
+ }
|
|
|
+ return $orderData->toArray();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 拼接 订单详情 字段内容
|
|
|
+ */
|
|
|
+ public function getOrderC($content,$order){
|
|
|
+
|
|
|
+ $content_str = commonFunction::filter_by_value($content,'order_id',$order->order_id);
|
|
|
+
|
|
|
+ //===投注详情===
|
|
|
+ if (!empty($order->match_time)) {
|
|
|
+ $content1 = '[' . $order->match_time . ']';
|
|
|
+ } else if (!empty($order->last_time)) {
|
|
|
+ $datetime = explode(' ', $order->last_time);
|
|
|
+ $content1 = '[' . $datetime[1] . ']';
|
|
|
+ }
|
|
|
+
|
|
|
+ // 当前赛事 投注 结果 0未处理 1 赢 -1输 2平 3赢半平半 4输半平半
|
|
|
+ if ($content_str['result'] == 0) {
|
|
|
+ $content = $content1.$content_str['content'];
|
|
|
+ } else {
|
|
|
+ if ($content_str['result'] == 0) {
|
|
|
+ $content_str['result'] = '未处理';
|
|
|
+ }
|
|
|
+ if ($content_str['result'] == 1) {
|
|
|
+ $content_str['result'] = '赢';
|
|
|
+ }
|
|
|
+ if ($content_str['result'] == -1) {
|
|
|
+ $content_str['result'] = '输';
|
|
|
+ }
|
|
|
+ if ($content_str['result'] == 2) {
|
|
|
+ $content_str['result'] = '平';
|
|
|
+ }
|
|
|
+ if ($content_str['result'] == 3) {
|
|
|
+ $content_str['result'] = '赢半平半';
|
|
|
+ }
|
|
|
+ if ($content_str['result'] == 4) {
|
|
|
+ $content_str['result'] = '输半平半';
|
|
|
+ }
|
|
|
+ $content = $content1.$content_str['content']. '<span>' . $content_str['result'] . '</span>(' . $content_str['matchresult'] . ')<br>';
|
|
|
+ }
|
|
|
+
|
|
|
+ return $content;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取单式注单 数据
|
|
|
+ * 因异常 暂停使用
|
|
|
+ */
|
|
|
+ function __getinfo($list = 10, $page, $where = '', $type){
|
|
|
$data = $this
|
|
|
->join('money_details', 'money_details.info_identity', '=', 'money_buy_simplex.info_identity')
|
|
|
->join('st_' . $type . '_competition', 'st_' . $type . '_competition.id', '=', 'money_buy_simplex.match_id')
|
|
|
@@ -523,7 +711,7 @@ class SportsNoteList extends BaseModel
|
|
|
}
|
|
|
$data[$i]->money_match_time = '下注:' . $data[$i]->money_time . $data[$i]->time;
|
|
|
|
|
|
- /*
|
|
|
+ /*1
|
|
|
$data[$i]->home_guest = $data[$i]->home_team.' VS '.$data[$i]->guest_team;
|
|
|
$data[$i]->time = '开赛:'.$data[$i]->match_date.' '.$data[$i]->match_time;
|
|
|
$data[$i]->money_match_time = '下注:'.$data[$i]->money_time.'<br>'.$data[$i]->time;
|
|
|
@@ -547,8 +735,15 @@ class SportsNoteList extends BaseModel
|
|
|
//用户投注后账户金额
|
|
|
$data[$i]->frozen_cash = $data[$i]->money_cash;
|
|
|
}
|
|
|
- //此时结果金额
|
|
|
- $data[$i]->result = $data[$i]->water_return + $data[$i]->gain_money;
|
|
|
+ //如果是作废/撤单状态 结果金额 为投注金额
|
|
|
+ if ($data[$i]->status == 2 || $data[$i]->status == 3){
|
|
|
+ //此时结果金额
|
|
|
+ $data[$i]->result = $data[$i]->money;
|
|
|
+ }else{
|
|
|
+ //此时结果金额
|
|
|
+ $data[$i]->result = $data[$i]->water_return + $data[$i]->gain_money;
|
|
|
+ }
|
|
|
+
|
|
|
//用户投注前账户金额
|
|
|
$data[$i]->available_cash = $data[$i]->money_cash + $data[$i]->money;
|
|
|
//投注前后账户金额
|