This commit is contained in:
parent
6fe111863b
commit
6172f453b3
|
|
@ -4,7 +4,6 @@ namespace addon\futures\api\controller;
|
||||||
use app\api\controller\BaseApi;
|
use app\api\controller\BaseApi;
|
||||||
use addon\futures\model\Futures as FuturesModel;
|
use addon\futures\model\Futures as FuturesModel;
|
||||||
use app\model\system\Document;
|
use app\model\system\Document;
|
||||||
|
|
||||||
class Futures extends BaseApi{
|
class Futures extends BaseApi{
|
||||||
/**
|
/**
|
||||||
* 售卖列表
|
* 售卖列表
|
||||||
|
|
@ -29,7 +28,7 @@ class Futures extends BaseApi{
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'jianlou':
|
case 'jianlou':
|
||||||
$condition[] = ['a.status', '=', '7'];
|
$condition[] = ['a.status', '=', 7];
|
||||||
$times = $futuresModel->checkTimes($this->site_id, $this->member_id, 7);
|
$times = $futuresModel->checkTimes($this->site_id, $this->member_id, 7);
|
||||||
if($times['code'] != 0){
|
if($times['code'] != 0){
|
||||||
$times['message'] = '未到捡漏时间';
|
$times['message'] = '未到捡漏时间';
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace addon\futures\model;
|
namespace addon\futures\model;
|
||||||
|
|
||||||
use addon\fenxiao\model\FenxiaoAccount;
|
|
||||||
use addon\futures\model\Futures as FuturesModel;
|
use addon\futures\model\Futures as FuturesModel;
|
||||||
use addon\message\model\Message;
|
use addon\message\model\Message;
|
||||||
use app\model\member\MemberAccount;
|
use app\model\member\MemberAccount;
|
||||||
|
|
@ -11,7 +8,6 @@ use app\model\BaseModel;
|
||||||
use Psr\SimpleCache\InvalidArgumentException;
|
use Psr\SimpleCache\InvalidArgumentException;
|
||||||
use think\facade\Cache;
|
use think\facade\Cache;
|
||||||
use think\facade\Db;
|
use think\facade\Db;
|
||||||
|
|
||||||
class Futures extends BaseModel
|
class Futures extends BaseModel
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
@ -248,16 +244,13 @@ class Futures extends BaseModel
|
||||||
public function orderCreate($id, $order_id, $member_id)
|
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]]);
|
$date = model('futures')->getInfo([['id', '=', $id]]);
|
||||||
if (empty($date) || ($date['status'] !== 2 && $date['status'] !== 7)) {
|
if (empty($date) || ($date['status'] !== 2 && $date['status'] !== 7)) {
|
||||||
return $this->error($date, '下单失败-1001');
|
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(
|
model('futures')->update(
|
||||||
[
|
[
|
||||||
'status' => 6,
|
'status' => 6,
|
||||||
|
|
@ -274,7 +267,7 @@ class Futures extends BaseModel
|
||||||
'total_business_num' => Db::raw('total_business_num +1'),
|
'total_business_num' => Db::raw('total_business_num +1'),
|
||||||
]);
|
]);
|
||||||
(new Message())->addMessage($date['site_id'], '订单创建', 1, $member_id, $id);
|
(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();
|
return $this->success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -333,6 +326,11 @@ class Futures extends BaseModel
|
||||||
public function orderClose($id)
|
public function orderClose($id)
|
||||||
{
|
{
|
||||||
$date = model('futures')->getInfo([['id', '=', $id]]);
|
$date = model('futures')->getInfo([['id', '=', $id]]);
|
||||||
|
///将未被抢购方法抢购区
|
||||||
|
// model('futures')->update(['status' => 7], [
|
||||||
|
// ['status', '=', 2],
|
||||||
|
// ['release_time', '<', time()],
|
||||||
|
// ]);
|
||||||
if (empty($date) || $date['status'] !== 6) {
|
if (empty($date) || $date['status'] !== 6) {
|
||||||
return $this->error($date, '取消失败');
|
return $this->error($date, '取消失败');
|
||||||
}
|
}
|
||||||
|
|
@ -340,9 +338,7 @@ class Futures extends BaseModel
|
||||||
// return $this->error('','取消失败');
|
// return $this->error('','取消失败');
|
||||||
// }
|
// }
|
||||||
// Cache::store('redis_concurrent')->delete('addon_futures_pay_' . $id);
|
// Cache::store('redis_concurrent')->delete('addon_futures_pay_' . $id);
|
||||||
model('futures')->update(['status' => 7], [['id', '=', $id]]);
|
model('futures')->update(['status' => 7,'member_id'=>$date['seller_uid']], [['id', '=', $id]]);
|
||||||
Cache::store('redis_concurrent')->set('addon_futures_' . $id, '1');
|
|
||||||
(new Message())->addMessage($date['site_id'], '订单取消', 1, $date['member_id'], $id);
|
|
||||||
// 订单取消后 添加违规次数
|
// 订单取消后 添加违规次数
|
||||||
Db::name('futures_user')
|
Db::name('futures_user')
|
||||||
->where('member_id', $date['member_id'])
|
->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();
|
return $this->success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ use app\model\BaseModel;
|
||||||
use app\model\system\Pay as PayModel;
|
use app\model\system\Pay as PayModel;
|
||||||
use think\Exception;
|
use think\Exception;
|
||||||
use think\facade\Db;
|
use think\facade\Db;
|
||||||
|
use think\facade\Cache;
|
||||||
class User extends BaseModel{
|
class User extends BaseModel{
|
||||||
protected int $site_id;
|
protected int $site_id;
|
||||||
|
|
||||||
|
|
@ -139,11 +139,7 @@ class User extends BaseModel{
|
||||||
$nowTime = time() - strtotime("today");
|
$nowTime = time() - strtotime("today");
|
||||||
$futuresModel = new Futures();
|
$futuresModel = new Futures();
|
||||||
$basics = $futuresModel->getBasicsConfig($this->site_id)['data']['value'];
|
$basics = $futuresModel->getBasicsConfig($this->site_id)['data']['value'];
|
||||||
if($basics['auto_buyback'] == 0){
|
|
||||||
return $this->success('未达开启回购');
|
|
||||||
}
|
|
||||||
$status = 0;
|
$status = 0;
|
||||||
|
|
||||||
foreach($basics['times'] as $times){
|
foreach($basics['times'] as $times){
|
||||||
if($nowTime <= $times['jianlou_end_time'] && $nowTime >= $times['jianlou_end_time'] - $basics['auto_buyback_time'] * 60){// 配置在结束时间前多久开始回购
|
if($nowTime <= $times['jianlou_end_time'] && $nowTime >= $times['jianlou_end_time'] - $basics['auto_buyback_time'] * 60){// 配置在结束时间前多久开始回购
|
||||||
$status = 7; //捡漏
|
$status = 7; //捡漏
|
||||||
|
|
@ -162,6 +158,16 @@ class User extends BaseModel{
|
||||||
['status', '=', $status],
|
['status', '=', $status],
|
||||||
['release_time', '<', time()]
|
['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 = [];
|
$log = [];
|
||||||
foreach($futuresList as $futures){
|
foreach($futuresList as $futures){
|
||||||
//创建订单
|
//创建订单
|
||||||
|
|
@ -194,28 +200,22 @@ class User extends BaseModel{
|
||||||
'sku_id' => '',
|
'sku_id' => '',
|
||||||
'pay_password' => $basics['pay_password'], //回购账号密码
|
'pay_password' => $basics['pay_password'], //回购账号密码
|
||||||
];
|
];
|
||||||
$res = $order_create->create($data);
|
$res = $order_create->create($data,true);
|
||||||
//支付订单
|
//支付订单
|
||||||
$pay_type = 'wechatpay';
|
$pay_type = 'wechatpay';
|
||||||
$out_trade_no = $res['data'];
|
$out_trade_no = $res['data'];
|
||||||
$app_type = 'weapp';
|
$app_type = 'weapp';
|
||||||
if($out_trade_no){
|
if(!is_array($out_trade_no)){
|
||||||
$scene = 0;
|
$scene = 0;
|
||||||
$is_balance = 1;
|
$is_balance = 1;
|
||||||
$hb_fq_num = 0;
|
$hb_fq_num = 0;
|
||||||
$pay = new PayModel();
|
$pay = new PayModel();
|
||||||
$info = $pay->pay($pay_type, $out_trade_no, $app_type, $menberList[0]['member_id'], null, $is_balance, $scene, $hb_fq_num);
|
$info = $pay->pay($pay_type, $out_trade_no, $app_type, $menberList[0]['member_id'], null, $is_balance, $scene, $hb_fq_num);
|
||||||
$log[] = [
|
Cache::store('redis_concurrent')->delete('addon_futures_' . $futures[ 'id' ]);
|
||||||
'create_order' => $res,
|
$log[] = $futures[ 'id' ];
|
||||||
'pay' => $info
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $this->success([
|
return $this->success($log);
|
||||||
'member_list' => $menberList,
|
|
||||||
'futures_list' => $futuresList,
|
|
||||||
'log' => $log??''
|
|
||||||
]);
|
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Common: 获取违规记录
|
* Common: 获取违规记录
|
||||||
|
|
@ -253,9 +253,6 @@ class User extends BaseModel{
|
||||||
];
|
];
|
||||||
return $this->success($list);
|
return $this->success($list);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->success();
|
return $this->success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue