This commit is contained in:
sunday 2023-05-02 10:40:14 +08:00
parent 6fe111863b
commit 6172f453b3
3 changed files with 29 additions and 35 deletions

View File

@ -4,7 +4,6 @@ namespace addon\futures\api\controller;
use app\api\controller\BaseApi;
use addon\futures\model\Futures as FuturesModel;
use app\model\system\Document;
class Futures extends BaseApi{
/**
* 售卖列表
@ -29,7 +28,7 @@ class Futures extends BaseApi{
}
break;
case 'jianlou':
$condition[] = ['a.status', '=', '7'];
$condition[] = ['a.status', '=', 7];
$times = $futuresModel->checkTimes($this->site_id, $this->member_id, 7);
if($times['code'] != 0){
$times['message'] = '未到捡漏时间';

View File

@ -1,8 +1,5 @@
<?php
namespace addon\futures\model;
use addon\fenxiao\model\FenxiaoAccount;
use addon\futures\model\Futures as FuturesModel;
use addon\message\model\Message;
use app\model\member\MemberAccount;
@ -11,7 +8,6 @@ use app\model\BaseModel;
use Psr\SimpleCache\InvalidArgumentException;
use think\facade\Cache;
use think\facade\Db;
class Futures extends BaseModel
{
@ -248,16 +244,13 @@ class Futures extends BaseModel
public function orderCreate($id, $order_id, $member_id)
{
if(Cache::store('redis_concurrent')->get('addon_futures_' . $id)){
return $this->error('', '你太慢了已被抢购');
}
$date = model('futures')->getInfo([['id', '=', $id]]);
if (empty($date) || ($date['status'] !== 2 && $date['status'] !== 7)) {
return $this->error($date, '下单失败-1001');
}
// if (!Cache::store('redis_concurrent')->delete('addon_futures_' . $id)) {
// return $this->error('', '下单失败-1002');
// }
if(Cache::store('redis_concurrent')->get('addon_futures_' . $id)){
return $this->error('', '你太慢了已被抢购');
}
model('futures')->update(
[
'status' => 6,
@ -274,7 +267,7 @@ class Futures extends BaseModel
'total_business_num' => Db::raw('total_business_num +1'),
]);
(new Message())->addMessage($date['site_id'], '订单创建', 1, $member_id, $id);
Cache::store('redis_concurrent')->set('addon_futures_' . $id, '1');
Cache::store('redis_concurrent')->tag('addon_futures_goods')->set('addon_futures_' . $id, '1');
return $this->success();
}
@ -333,6 +326,11 @@ class Futures extends BaseModel
public function orderClose($id)
{
$date = model('futures')->getInfo([['id', '=', $id]]);
///将未被抢购方法抢购区
// model('futures')->update(['status' => 7], [
// ['status', '=', 2],
// ['release_time', '<', time()],
// ]);
if (empty($date) || $date['status'] !== 6) {
return $this->error($date, '取消失败');
}
@ -340,9 +338,7 @@ class Futures extends BaseModel
// return $this->error('','取消失败');
// }
// Cache::store('redis_concurrent')->delete('addon_futures_pay_' . $id);
model('futures')->update(['status' => 7], [['id', '=', $id]]);
Cache::store('redis_concurrent')->set('addon_futures_' . $id, '1');
(new Message())->addMessage($date['site_id'], '订单取消', 1, $date['member_id'], $id);
model('futures')->update(['status' => 7,'member_id'=>$date['seller_uid']], [['id', '=', $id]]);
// 订单取消后 添加违规次数
Db::name('futures_user')
->where('member_id', $date['member_id'])
@ -381,6 +377,8 @@ class Futures extends BaseModel
]);
}
}
Cache::store('redis_concurrent')->tag('addon_futures_goods')->clear();//删除缓存
(new Message())->addMessage($date['site_id'], '订单取消', 1, $date['member_id'], $id);
return $this->success();
}

View File

@ -6,7 +6,7 @@ use app\model\BaseModel;
use app\model\system\Pay as PayModel;
use think\Exception;
use think\facade\Db;
use think\facade\Cache;
class User extends BaseModel{
protected int $site_id;
@ -139,11 +139,7 @@ class User extends BaseModel{
$nowTime = time() - strtotime("today");
$futuresModel = new Futures();
$basics = $futuresModel->getBasicsConfig($this->site_id)['data']['value'];
if($basics['auto_buyback'] == 0){
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; //捡漏
@ -162,6 +158,16 @@ class User extends BaseModel{
['status', '=', $status],
['release_time', '<', time()]
]);
if($basics['auto_buyback'] == 0){
//未回购继续卖
foreach ($futuresList as $key=>$item){
model('futures')->update([
'status' => 2,
'member_id'=>$item['seller_uid']
],[['id', '=', $item['id']]]);
}
return $this->success('未达开启回购');
}
$log = [];
foreach($futuresList as $futures){
//创建订单
@ -194,28 +200,22 @@ class User extends BaseModel{
'sku_id' => '',
'pay_password' => $basics['pay_password'], //回购账号密码
];
$res = $order_create->create($data);
$res = $order_create->create($data,true);
//支付订单
$pay_type = 'wechatpay';
$out_trade_no = $res['data'];
$app_type = 'weapp';
if($out_trade_no){
if(!is_array($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
];
Cache::store('redis_concurrent')->delete('addon_futures_' . $futures[ 'id' ]);
$log[] = $futures[ 'id' ];
}
}
return $this->success([
'member_list' => $menberList,
'futures_list' => $futuresList,
'log' => $log??''
]);
return $this->success($log);
}
/**
* Common: 获取违规记录
@ -253,9 +253,6 @@ class User extends BaseModel{
];
return $this->success($list);
}
return $this->success();
}
}