diff --git a/addon/futures/model/Futures.php b/addon/futures/model/Futures.php index 8ce187b3..a9f3004f 100644 --- a/addon/futures/model/Futures.php +++ b/addon/futures/model/Futures.php @@ -363,16 +363,23 @@ class Futures extends BaseModel ->where('member_id', $date['member_id']) ->find(); $basics = (new Futures())->getBasicsConfig($futuresUserInfo['site_id'])['data']['value']; - $violationHour = $basics['violation_hour'] ?? 0; - $violationUnpaid = $basics['violation_unpaid'] ?? 0; - if ($violationUnpaid > 0 && $futuresUserInfo['violation_num'] >= $violationUnpaid) { - $startTime = $futuresUserInfo['punish_time'] > time() ? $futuresUserInfo['punish_time'] : time(); - Db::name('futures_user') - ->where('member_id', $date['member_id']) - ->update([ - 'punish_time' => strtotime("+{$violationHour} hours", $startTime),// 添加惩罚时间 - 'violation_num' => Db::raw("violation_num - {$violationUnpaid}")// 减少违规次数 - ]); + $punish_money=$basics['punish_money']; + if($punish_money){ + //扣除服务费 + $memberAccountModel = new MemberAccount(); + $memberAccountModel->addMemberAccount($date['site_id'], $date['member_id'], 'balance_money', -$punish_money, 'service_price', $id, '服务罚金', $id); + }else{ + $violationHour = $basics['violation_hour'] ?? 0; + $violationUnpaid = $basics['violation_unpaid'] ?? 0; + if ($violationUnpaid > 0 && $futuresUserInfo['violation_num'] >= $violationUnpaid) { + $startTime = $futuresUserInfo['punish_time'] > time() ? $futuresUserInfo['punish_time'] : time(); + Db::name('futures_user') + ->where('member_id', $date['member_id']) + ->update([ + 'punish_time' => strtotime("+{$violationHour} hours", $startTime),// 添加惩罚时间 + 'violation_num' => Db::raw("violation_num - {$violationUnpaid}")// 减少违规次数 + ]); + } } return $this->success(); } diff --git a/addon/futures/model/User.php b/addon/futures/model/User.php index f3acc635..c26f108a 100644 --- a/addon/futures/model/User.php +++ b/addon/futures/model/User.php @@ -143,9 +143,10 @@ class User extends BaseModel{ return $this->success('未达开启回购'); } $status = 0; + foreach($basics['times'] as $times){ if($nowTime <= $times['jianlou_end_time'] && $nowTime >= $times['jianlou_end_time'] - $basics['auto_buyback_time'] * 60){// 配置在结束时间前多久开始回购 - $status = 7; + $status = 7; //捡漏 break; } if($nowTime <= $times['miaosha_end_time'] && $nowTime >= $times['miaosha_end_time'] - $basics['auto_buyback_time'] * 60){// 配置在结束时间前多久开始回购 @@ -154,7 +155,7 @@ class User extends BaseModel{ } } if($status == 0){ - return $this->success('未达到回购时间'); + return error('未达到回购时间'); } $menberList = model('futures_user')->getList([['is_special', '=', 1]]); $futuresList = model('futures')->getList([ @@ -191,26 +192,29 @@ class User extends BaseModel{ 'form_data' => [], 'goods_sku_list' => [], 'sku_id' => '', + 'pay_password' => $basics['pay_password'], //回购账号密码 ]; $res = $order_create->create($data); //支付订单 $pay_type = 'wechatpay'; $out_trade_no = $res['data']; $app_type = 'weapp'; - $scene = 0; - $is_balance = 1; - $hb_fq_num = 0; - $pay = new PayModel(); - $info = $pay->pay($pay_type, $out_trade_no, $app_type, $menberList[0]['member_id'], null, $is_balance, $scene, $hb_fq_num); - $log[] = [ - 'create_order' => $res, - 'pay' => $info - ]; + if($out_trade_no){ + $scene = 0; + $is_balance = 1; + $hb_fq_num = 0; + $pay = new PayModel(); + $info = $pay->pay($pay_type, $out_trade_no, $app_type, $menberList[0]['member_id'], null, $is_balance, $scene, $hb_fq_num); + $log[] = [ + 'create_order' => $res, + 'pay' => $info + ]; + } } return $this->success([ 'member_list' => $menberList, 'futures_list' => $futuresList, - 'log' => $log + 'log' => $log??'' ]); } /** diff --git a/addon/futures/shop/controller/Futures.php b/addon/futures/shop/controller/Futures.php index e9744858..f87f2803 100644 --- a/addon/futures/shop/controller/Futures.php +++ b/addon/futures/shop/controller/Futures.php @@ -27,7 +27,7 @@ class Futures extends BaseShop{ $page = input('page',1); $pageSize = input('page_size',PAGE_LIST_ROWS); $nickname = input('nickname',''); - $status = (int)input('status',0);// 状态(1=库存,2=已上架,3=已售出,4=提货中,5=提货完成,6=待支付,7=捡漏) + $status = (int)input('status',0);// 状态(1=库存,2=已上架,3=已售出,4=提货中,5=提货完成,6=待支付,7=捡漏,8=待上架) $timeType = (string)input('time_type','created'); $startTime = (int)input('start_time',0); $endTime = (int)input('end_time',0); @@ -58,7 +58,12 @@ class Futures extends BaseShop{ ['a.site_id','=',$this->site_id] ]; if($nickname) $condition[] = ['seller.username|seller.nickname',"like","%{$nickname}%"]; - if($status > 0) $condition[] = ['a.status',"=",$status]; + if($status==8){ + $condition[] = ['a.release_time',">=",strtotime(date('Y-m-d',strtotime('+1 day')))]; + $condition[] = ['a.release_time',"<=",strtotime(date('Y-m-d',strtotime('+1 day')).'23:59:59')]; + } elseif($status > 0){ + $condition[] = ['a.status',"=",$status]; + } $timeField = [ 'created' => 'a.created_time', 'release' => 'a.release_time', @@ -67,11 +72,25 @@ class Futures extends BaseShop{ ]; if($startTime > 0) $condition[] = [$timeField[$timeType],">=",$startTime]; if($endTime > 0) $condition[] = [$timeField[$timeType],"<=",$endTime]; - return (new futuresModel())->getPageList($condition, $page, $pageSize, 'a.created_time desc,a.id desc', $field, 'a', $join); } - + $where=[ + ['site_id','=',$this->site_id], + ['release_time','BETWEEN',[strtotime(date('Y-m-d',strtotime('+1 day'))),strtotime(date('Y-m-d',strtotime('+1 day')).'23:59:59')]] + ]; + $where1=[ + ['site_id','=',$this->site_id], + ['release_time','BETWEEN',[strtotime(date('Y-m-d')),strtotime(date('Y-m-d',strtotime('+1 day')))]] + ]; + $newCount=model('futures')->getSum($where1,'total'); + $todayCount=model('futures')->getSum($where,'total'); + $todayMoney=model('futures')->getSum($where,'price'); + $history=model('futures')->getSum(['status'=>3,'site_id'=>$this->site_id],'price'); + $this->assign("newCount",$newCount); + $this->assign("todayCount",$todayCount); + $this->assign("todayMoney",$todayMoney); + $this->assign("historyMoney",$history); $this->forthMenu(); return $this->fetch('futures/index'); } diff --git a/addon/futures/shop/view/config/basics.html b/addon/futures/shop/view/config/basics.html index f08a3932..3387df72 100644 --- a/addon/futures/shop/view/config/basics.html +++ b/addon/futures/shop/view/config/basics.html @@ -271,6 +271,17 @@