添加:订单进入待评价 平台抽成相关内容解冻

This commit is contained in:
wuhui_zzw 2023-12-29 16:37:50 +08:00
parent 57504c93e3
commit ad9b9a70fa
7 changed files with 74 additions and 24 deletions

View File

@ -291,7 +291,7 @@ class StoreOrderDao extends BaseDao
->when(isset($where['uid']) && $where['uid'] !== '', function ($query) use ($where) { ->when(isset($where['uid']) && $where['uid'] !== '', function ($query) use ($where) {
$query->where('uid', $where['uid']); $query->where('uid', $where['uid']);
}) })
->when($where['activity_type'] == 20, function ($query) use ($where) { ->when(!empty($where['activity_type']) && $where['activity_type'] == 20, function ($query) use ($where) {
$query->where('mer_id', $where['mer_id'] ?? 0); $query->where('mer_id', $where['mer_id'] ?? 0);
}) })
->when(isset($where['is_user']) && $where['is_user'] !== '', function ($query) use ($where) { ->when(isset($where['is_user']) && $where['is_user'] !== '', function ($query) use ($where) {

View File

@ -773,11 +773,12 @@ class StoreOrderRepository extends BaseRepository
*/ */
public function takeOrder($id, ?User $user = null) public function takeOrder($id, ?User $user = null)
{ {
$order = $this->dao->searchAll(!$user ? [] : ['uid' => $user->uid])->where('order_id', $id)->where('StoreOrder.is_del', '<>',1)->find(); $order = $this->dao->searchAll(!$user ? [] : ['uid' => $user->uid])
if (!$order) ->where('order_id', $id)
throw new ValidateException('订单不存在'); ->where('StoreOrder.is_del', '<>',1)
if ($order['status'] != 1 || ($order['order_type'] && $order['order_type'] != 20)) ->find();
throw new ValidateException('订单状态有误'); if (!$order) throw new ValidateException('订单不存在');
if ($order['status'] != 1 || ($order['order_type'] && $order['order_type'] != 20)) throw new ValidateException('订单状态有误');
$func = 'createUserLog'; $func = 'createUserLog';
if (!$user){ if (!$user){
$func = 'createSysLog'; $func = 'createSysLog';
@ -1377,6 +1378,8 @@ class StoreOrderRepository extends BaseRepository
if (isset($temp_code)) Queue::push(SendSmsJob::class, ['tempId' => $temp_code, 'id' => $order->order_id]); if (isset($temp_code)) Queue::push(SendSmsJob::class, ['tempId' => $temp_code, 'id' => $order->order_id]);
event('order.delivery', compact('order', 'data')); event('order.delivery', compact('order', 'data'));
if($data['status'] == 2) event('order.take', compact('order'));
return $data; return $data;
} }

View File

@ -30,6 +30,9 @@ class LegumesLogRepository extends BaseRepository{
->when((int)$params['uid'] > 0,function($query) use ($params){ ->when((int)$params['uid'] > 0,function($query) use ($params){
$query->where('uid', (int)$params['uid']); $query->where('uid', (int)$params['uid']);
}) })
->when(isset($where['status']) && $where['status'] !== '',function($query) use($params){
$query->where('status',$params['status']);
})
->when((int)$params['legumes_id'] > 0,function($query) use ($params){ ->when((int)$params['legumes_id'] > 0,function($query) use ($params){
$query->where('legumes_id', (int)$params['legumes_id']); $query->where('legumes_id', (int)$params['legumes_id']);
}) })

View File

@ -147,7 +147,7 @@ class PlatformCommission extends BaseController{
['className' => 'el-icon-coin','count' => $legumesLogModel->sum('order_money'),'name' => '订单总金额(积分上限)'], ['className' => 'el-icon-coin','count' => $legumesLogModel->sum('order_money'),'name' => '订单总金额(积分上限)'],
['className' => 'el-icon-coin','count' => $legumesLogModel->sum('get_integral'),'name' => '已产生积分'], ['className' => 'el-icon-coin','count' => $legumesLogModel->sum('get_integral'),'name' => '已产生积分'],
['className' => 'el-icon-coin','count' => $legumesLogModel->sum('use_integral'),'name' => '已使用积分'], ['className' => 'el-icon-coin','count' => $legumesLogModel->sum('use_integral'),'name' => '已使用积分'],
['className' => 'el-icon-coin','count' => $legumesLogModel->where('status',0)->sum('use_integral'),'name' => '冻结中积分'], ['className' => 'el-icon-coin','count' => $legumesLogModel->where('status',0)->sum('get_integral'),'name' => '冻结中积分'],
]); ]);
} }
/** /**
@ -170,7 +170,7 @@ class PlatformCommission extends BaseController{
*/ */
public function legumesList(){ public function legumesList(){
[$page, $limit] = $this->getPage(); [$page, $limit] = $this->getPage();
$params = $this->request->params(['uid','legumes_id']); $params = $this->request->params(['uid','legumes_id','status']);
$data = app()->make(LegumesLogRepository::class)->getRecordList((array)$params,(int)$page,(int)$limit); $data = app()->make(LegumesLogRepository::class)->getRecordList((array)$params,(int)$page,(int)$limit);
return app('json')->success($data); return app('json')->success($data);

View File

@ -57,6 +57,11 @@ return [
// 支付成功处理平台抽成 // 支付成功处理平台抽成
'app\listener\platformCommission\OrderPaySuccessEvent' 'app\listener\platformCommission\OrderPaySuccessEvent'
], ],
// 订单完成事件触发(进入待评价)
'order.take' => [
// 订单完成 - 平台抽成相关冻结内容解冻
'app\listener\platformCommission\OrderTakeEvent'
],
], ],
'subscribe' => [], 'subscribe' => [],
]; ];

View File

@ -16,22 +16,25 @@ class OrderPaySuccessEvent{
public $groupOrder; public $groupOrder;
public function handle($groupOrder){ public function handle($groupOrder){
$groupOrder = $groupOrder['groupOrder']; try{
Log::info('支付成功 - 平台抽成处理 - 开始: '.var_export(['uid'=>$groupOrder->uid,'group_order_id'=>$groupOrder->group_order_id],1)); $groupOrder = $groupOrder['groupOrder'];
$this->orderPaySuccessHandle($groupOrder); Log::info('支付成功 - 平台抽成处理 - 开始: '.var_export(['uid'=>$groupOrder->uid,'group_order_id'=>$groupOrder->group_order_id],1));
// 订单支付成功 触发购买商品升级 $this->orderPaySuccessHandle($groupOrder);
Queue::push(UserBrokerageLevelJob::class,[ // 订单支付成功 触发购买商品升级
'uid' => $groupOrder->uid, Queue::push(UserBrokerageLevelJob::class,[
'type' => 'many_goods', 'uid' => $groupOrder->uid,
'inc' => 0, 'type' => 'many_goods',
'group_order_id' => $groupOrder->group_order_id 'inc' => 0,
]); 'group_order_id' => $groupOrder->group_order_id
// 订单支付成功 触发购买商品赠送上级权重值 ]);
Queue::push(GiveWeightValueJob::class,[ // 订单支付成功 触发购买商品赠送上级权重值
'uid' => $groupOrder->uid, Queue::push(GiveWeightValueJob::class,[
'group_order_id' => $groupOrder->group_order_id 'uid' => $groupOrder->uid,
]); 'group_order_id' => $groupOrder->group_order_id
]);
}catch(\Exception $e){
Log::info('支付成功 - 平台抽成处理 - 错误: '.$e->getMessage());
}
} }
/** /**
* Common: 支付成功 - 平台抽成处理 * Common: 支付成功 - 平台抽成处理

View File

@ -0,0 +1,36 @@
<?php
namespace app\listener\platformCommission;
use app\common\model\store\platformCommission\LegumesLog;
use think\facade\Log;
/**
* Common: 订单进入待评价 相关信息处理
* Author: wu-hui
* Time: 2023/12/29 16:27
* Class OrderTakeEvent
* @package app\listener\platformCommission
*/
class OrderTakeEvent{
public $groupOrder;
public function handle($data){
try{
$order = $data['order'];
Log::info('订单进入待评价 - 平台抽成相关处理 - 开始: '.var_export([
'order_id' => $order->order_id,
'uid' => $order->uid
],1));
// 分配豆豆解冻
LegumesLog::update(['status'=>1],['order_id'=>$order->order_id]);
}catch(\Exception $e){
Log::info('订单进入待评价 - 平台抽成相关处理 - 错误: '.$e->getMessage());
}
}
}