设置订单

This commit is contained in:
mkm 2023-04-15 14:23:28 +08:00
parent 5d0c1c3590
commit c2356da553
4 changed files with 52 additions and 2 deletions

View File

@ -469,6 +469,17 @@ class StoreOrderRepository extends BaseRepository
Queue::push(UserBrokerageLevelJob::class, ['uid' => $groupOrder->uid, 'type' => 'pay_num', 'inc' => 1]);
app()->make(UserBrokerageRepository::class)->incMemberValue($groupOrder->uid, 'member_pay_num', $groupOrder->group_order_id);
event('order.paySuccess', compact('groupOrder'));
//店内扫码支付
if (isset($groupOrder['micro_pay']) && $groupOrder['micro_pay'] == 1) {
$groupOrder->status = 2;
$groupOrder->verify_time = date('Y-m-d H:i:s');
$user=Db::name('user')->where('uid',$groupOrder->uid)->find();
Db::transaction(function () use ($groupOrder, $user) {
$this->takeAfter($groupOrder, $user);
$groupOrder->save();
});
}
}
/**

View File

@ -150,10 +150,9 @@ class StoreMicropayOrder extends BaseController
return $orderCreateRepository->v2CreateOrder(array_search($payType, StoreOrderRepository::PAY_TYPE), $this->request->userInfo(), $cartId, $extend, $mark, $receipt_data, $takes, $couponIds, $useIntegral, $addressId, $post,$source);
});
try {
$param['openid']='';
$param['order_sn']=$groupOrder['group_order_sn'];
$param['pay_price']=$groupOrder['pay_price'];
$param['attach']=['type'=>1];
$param['attach']='micro_pay';
$param['body']='店内支付';
$service = new PayService('weixinQr',$param);
$code = $service->pay(null);

View File

@ -59,6 +59,7 @@ return [
'pay_success_user_recharge' => [\crmeb\listens\pay\UserRechargeSuccessListen::class],
'pay_success_user_order' => [\crmeb\listens\pay\UserOrderSuccessListen::class],
'pay_success_order' => [\crmeb\listens\pay\OrderPaySuccessListen::class],
'pay_success_micro_pay' => [\crmeb\listens\pay\OrderMicroPaySuccessListen::class],
'pay_success_presell' => [\crmeb\listens\pay\PresellPaySuccessListen::class],
'pay_success_meal' => [\crmeb\listens\pay\MealSuccessListen::class],
'community_address'=>[\app\listener\CommunityAddress::class],

View File

@ -0,0 +1,39 @@
<?php
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2022 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
namespace crmeb\listens\pay;
use app\common\repositories\store\order\StoreGroupOrderRepository;
use app\common\repositories\store\order\StoreOrderRepository;
use crmeb\interfaces\ListenerInterface;
class OrderMicroPaySuccessListen implements ListenerInterface
{
public function handle($data): void
{
$orderSn = $data['order_sn'];
$is_combine = $data['is_combine'] ?? 0;
$groupOrder = app()->make(StoreGroupOrderRepository::class)->getWhere(['group_order_sn' => $orderSn]);
if (!$groupOrder || $groupOrder->paid == 1) return;
$orders = [];
if ($is_combine) {
foreach ($data['data']['sub_orders'] as $order) {
$orders[$order['out_trade_no']] = $order;
}
}
$groupOrder['micro_pay']=1;
app()->make(StoreOrderRepository::class)->paySuccess($groupOrder, $is_combine, $orders);
}
}