| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619 |
- <?php
- namespace app\jobs\order;
- use app\constants\OptionSetting;
- use app\models\Coupon;
- use app\models\CouponAutoSend;
- use app\models\Goods;
- use app\models\IntegralAppreciationPoolSub;
- use app\models\Option;
- use app\models\OrderDetail;
- use app\models\PondUserNum;
- use app\models\OrderTransit;
- use app\models\PtActivityOrder;
- use app\models\ShareGroupMoney;
- use app\models\StoreDividendsCycle;
- use app\models\SuperSales;
- use app\models\Supplier;
- use app\models\TeamGradesPoolDetail;
- use app\models\UserCoupon;
- use app\models\VerifyCard;
- use app\models\VerifyCardAccount;
- use app\models\VerifyCardSale;
- use app\modules\alliance\models\NewMerchantForm;
- use app\utils\AutoSendCoupon;
- use app\utils\Tools;
- use app\utils\Wechat\WechatMini;
- use yii\base\BaseObject;
- use yii\queue\JobInterface;
- use app\utils\OrderUtil;
- use app\models\Order;
- use app\models\OrderRefund;
- use app\models\VideoShopOrderExt;
- use app\utils\Wechat\Wechat;
- use app\modules\admin\models\WechatThirdForm;
- use app\models\SharingReceiver;
- use app\utils\Wechat\WechatShare;
- use app\utils\Share\BonusPool;
- use app\models\Store;
- // 过售后期且未售后订单
- class NoAfterSalesOrderJob extends BaseObject implements JobInterface
- {
- public $order_id;
- public $store_id;
- public $retry = 30;
- public $is_scan = 0;//是否是当面付订单
- public function execute($queue)
- {
- $needOrderComplete = 0;
- if ($this->is_scan) {
- $order = \app\plugins\scanCodePay\models\Order::findOne(['id' => $this->order_id, 'is_delete' => 0, 'is_pay' => 1]);
- if (!$order) {
- return;
- }
- } else {
- $order = Order::findOne(['id' => $this->order_id, 'is_delete' => 0, 'is_pay' => 1, 'trade_status' => Order::ORDER_FLOW_CONFIRM]);
- if (!$order) {
- return;
- }
- $field_order_id = VideoShopOrderExt::find()->where(['order_id' => $this->order_id])->select('order_id')->column();
- if ($field_order_id) {
- $needOrderComplete = 1;
- //不处理视频号小店订单
- // return;
- }
- }
- if ($needOrderComplete) {
- try {
- $ShareMoneyForm = new \app\modules\client\models\v1\ShareMoneyForm();
- $ShareMoneyForm->store_id = $order->store_id;
- $ShareMoneyForm->order = $order;
- $ShareMoneyForm->setData();
- $form = new \app\modules\client\models\OrderComplete();
- $form->order_id = $order->id;
- $form->order_type = 0;
- $form->store_id = $order->store_id;
- $form->notify();
- } catch (\Exception $e) {
- \Yii::error($e);
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']], __CLASS__);
- }
- }
- if (OrderUtil::isCancel($order)) {
- // 已取消,不处理
- return;
- }
- if (OrderUtil::isAfterSale($order)) {
- // 已售后,不处理
- return;
- }
- if (!$this->is_scan) {
- $orderRefund = OrderRefund::findOne(['order_id' => $this->order_id, 'is_delete' => 0, 'is_user_cancel' => 0]);
- if ($orderRefund && !\in_array($orderRefund->status, [2, 3])) {
- // 如果售后类型不是换货或拒绝退换货,不处理
- return;
- }
- try {
- $form = new NewMerchantForm();
- $type = 1;
- $form->store_id = $order->store_id;
- $result = $form->saasGiveIntegral($order->pay_price, $order->user_id, $order->order_no, $type);
- debug_log($result, 'orderComplete.log');
- } catch (\Exception $e) {
- debug_log($e->getMessage(), 'orderComplete.log');
- }
- }
- try {
- if($order->transaction_id){
- //检测微信是否收货
- Wechat::init($this->store_id);
- $app = WechatMini::getWechatConfig($this->store_id);
- $form = new WechatThirdForm(['store_id' => $this->store_id]);
- $is_trade_managed = $form->is_trade_managed($app);
- $open = true;
- if($is_trade_managed){
- // \Yii::error(['--------$is_trade_managed=false---- ', $store_id]);
- $result = $form->wxOrderStateIsConfirm($app, $order);
- debug_log('检测是否收货', 'yunst.log');
- debug_log($result, 'yunst.log');
- if(!$result){
- $open = false;
- }
- }
- if($open){
- //如果没有添加成功分账接收人就完结分账
- $share_receiver = SharingReceiver::findOne(['store_id' => $this->store_id, 'order_no' => $order['order_no']]);
- if (!$share_receiver) {
- $res = WechatShare::complete($order['transaction_id'], $order['id'], false, '分账完结', $this->store_id, $order['is_platform'] );
- debug_log('分账完结_', 'yunst.log');
- debug_log($res, 'yunst.log');
- }
- }
- }
- } catch (\Exception $e) {
- debug_log($e->getMessage(), 'yunst.log');
- }
- $orderUtil = new OrderUtil();
- try {
- $order_id_arr = $orderUtil->profitSharing($order, $this->store_id);
- } catch (\Exception $e) {
- \Yii::warning('---- profitSharing END分账失败 ----' . $e->getMessage());
- }
- $this->retry--;
- if(!empty($order_id_arr) && $this->retry){
- //延时重试
- \queue_push(new NoAfterSalesOrderJob(['order_id' => $this->order_id, 'store_id' => $this->store_id, 'retry' => $this->retry, 'is_scan' => $this->is_scan ?? 0]), 86400);
- return;
- }
- if (!$this->is_scan) {
- //如果转单等供货商售后期过再执行逻辑 否则加延时重试
- $orderTransit = OrderTransit::findOne(['order_id' => $order->id, 'is_sale' => 0, 'is_delete' => 0]);
- if ($orderTransit) {
- $supplier = Supplier::findOne(['cloud_supplier_id' => $orderTransit->cloud_supplier_id, 'is_delete' => 0]);
- if ($supplier) {
- $confirm_time = $orderTransit->confirm_time;
- $sale_time = bcadd($confirm_time, $supplier->sale_day * 86400);
- if ($confirm_time <= 0 || $sale_time > time()) {
- $sale_day = 86400;
- if ($confirm_time > 0) {
- $sale_day = bcsub($sale_time, time());
- }
- \queue_push(new NoAfterSalesOrderJob(['order_id' => $this->order_id, 'store_id' => $this->store_id, 'retry' => $this->retry, 'is_scan' => $this->is_scan ?? 0]), $sale_day);
- return;
- }
- }
- }
- Order::updateAll(['is_sale' => 1, 'updated_at' => time()], ['id' => $order['id']]);
- try {
- //返回团长免单金额
- PtActivityOrder::handleHeadOrder($order['pt_order_id']);
- } catch (\Exception $e) {
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']] ,'pt_handleHeadOrder.log');
- }
- //处理超级卖货系统
- try {
- $result = SuperSales::getNotFinishSales($order->user_id, $order->id, $order->store_id);
- debug_log(['order_no' => $order->order_no, 'result' => $result], 'superSales.log');
- $result = \app\models\SuperSalesMoney::sendMoney($order);
- debug_log(['order_no' => $order->order_no, 'result' => $result], 'superSalesMoney.log');
- } catch (\Exception $e) {
- debug_log(['order_no' => $order['order_no'], 'message' => $e->getMessage()], 'superSales.log');
- }
- try {
- // 如果是复购订单,就释放冻结佣金
- if ((int)$order['is_fugou'] === 1) {
- \app\utils\FuGou::sendFrostPrice($order['user_id']);
- }
- } catch (\Exception $e) {
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']] ,'guGou.log');
- }
- try {
- \app\modules\admin\models\TeamBonusForm::afterOrderSales($order);
- } catch (\Exception $e) {
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']] ,'teamBonusPool.log');
- }
- try {
- BonusPool::sendRange($order['id']);
- // 奖金池补充奖金
- BonusPool::poolPush($order);
- BonusPool::generalUserConsume($order['user_id'], $order['store_id']);
- BonusPool::sendTwoPlusOneTeamLevelShare($order['id']);
- BonusPool::sendArea($order['id']);
- if(!$order['share_hold_pay_up']){
- BonusPool::userAuto2ShareHolder($order);
- BonusPool::userSelfBuyGoods2ShareHolder($order);
- }
- //处理滑落 单独拿出来 放sendRange里面会操作失败 因为处理滑落会先查询下级是否是股东 但是成为股东逻辑还没执行到
- BonusPool::userSlide($order);
- } catch (\Exception $e) {
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']] ,'share_holder_bonus.log');
- }
- try {
- \app\modules\admin\models\ActivityOrderRebateSelfForm::afterOrderSales($order);
- \app\models\ActivityRebateOrderNLog::priceInfoOrderId($order);
- } catch (\Exception $e) {
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']] ,'activityOrder.log');
- }
- try {
- TeamGradesPoolDetail::setPoolDetail($order);
- } catch (\Exception $e) {
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']] ,'teamGradesPoolDetail.log');
- }
- try {
- // 免单队列
- $orderUtil->orderQueueSeceiver($order);
- } catch (\Exception $e) {
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']] ,'orderQueue.log');
- }
- try {
- $orderUtil->share_money($order);
- } catch (\Exception $e) {
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']] ,'share_money.log');
- }
- try {
- $orderUtil->video_shop_order_share_money($order['id']);
- } catch (\Exception $e) {
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']] ,'video_shop_order_share_money.log');
- }
- try {
- $orderUtil->share_holder_money($order);
- } catch (\Exception $e) {
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']] ,'share_holder_money.log');
- }
- try {
- $store_integral_time = Option::get(OptionSetting::STORE_INTEGRAL_TIME, $order['store_id'], 'gift', 0)['value'];
- if ($store_integral_time == 2 || !$store_integral_time){
- $orderUtil->give_integral($order);
- }
- } catch (\Exception $e) {
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']] ,'give_integral.log');
- }
- // 消费获赠成长值
- try {
- $orderUtil->sendGrowthValue($order);
- } catch (\Exception $e) {
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']] ,'send_growth_value.log');
- }
- try {
- $orderUtil->shop_share($order['id']);
- } catch (\Exception $e) {
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']] ,'shop_share.log');
- }
- try {
- $orderUtil->league_price($order);
- } catch (\Exception $e) {
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']] ,'league_price.log');
- }
- // 门店收益
- if ($order['md_id'] > 0) {
- try {
- $orderUtil->handleMdProfit($order['id']);
- } catch (\Exception $e) {
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']] ,'handleMdProfit.log');
- }
- }
- try {
- $orderUtil->sendVideoGoodsProfit($order['id']);
- } catch (\Exception $e) {
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']] ,'sendVideoGoodsProfit.log');
- }
- try {
- //代理发放佣金
- $orderUtil->agencyPrice($order);
- } catch (\Exception $e) {
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']] ,'agencyPrice.log');
- }
- //代理发放佣金(二级佣金)
- $orderUtil->agencyPriceTwo($order);
- try {
- //产品代理发放佣金
- $orderUtil->sendGoodsAgentMoney($order);
- } catch (\Exception $e) {
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']] ,'sendGoodsAgentMoney.log');
- }
- try {
- //给上级发放大转盘抽奖次数
- (new PondUserNum())->sendNum($order['user_id']);
- } catch (\Exception $e) {
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']] ,'pondSendNum.log');
- }
- try {
- // 处理供应链平台商户号收款店铺结算
- $store_info = Store::findOne($order->store_id);
- if ($order->is_use_platform_mch == 1) {
- $profit = bcmul($order->pay_price, ($store_info->transfer_profit / 100), 3);
- $price = bcsub($order->pay_price, $profit, 3);
- //判断是否转单,
- $order_transit = OrderTransit::find()->where(['order_id' => $order->id, 'is_delete' => 0, 'is_use_platform_mch' => 1])
- ->select('order_price')->sum('order_price') ?: 0;
- if ($order_transit > 0) {
- $price = bcsub($price, $order_transit, 3);
- }
- Store::addMoney($store_info, $price, '用户下单', $order->id, $order->user_id);
- }
- } catch (\Exception $e) {
- // Todo
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']] ,'store_order_transit.log');
- }
- try {
- //服务人员分佣
- $workerProfitSend = \app\modules\admin\models\worker\WorkerForm::workerProfitSend($order['id']);
- debug_log(['服务人员分佣', $order['id'], $workerProfitSend], 'worker_order_sales.log');
- } catch (\Exception $e) {
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']], 'worker_order_sales.log');
- }
- try {
- //入驻商分佣
- $mchAccountMoney = \app\modules\admin\models\MchForm::accountMoneyAdd($order);
- debug_log(['入驻商分佣', $order['id'], $mchAccountMoney], 'mch_account_add.log');
- } catch (\Exception $e) {
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']], 'mch_account_add.log');
- }
- try {
- //达人
- $PublicRanking = \app\modules\admin\models\publicRanking\PublicRankingForm::afterOrderSave($order);
- debug_log(['达人', $order['id'], $PublicRanking], 'PublicRankingForm.log');
- } catch (\Exception $e) {
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']], 'PublicRankingForm.log');
- }
- try {
- $orderUtil->workerLevel($order);
- } catch (\Exception $e) {
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']], 'workerLevel.log');
- }
- try {
- $orderUtil->level($order);
- } catch (\Exception $e) {
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']], 'userLevel.log');
- }
- try {
- $result = ShareGroupMoney::sendMoney($order);
- if ($result['code']) {
- debug_log(['result' => $result, 'order_id' => $order['id']], 'share_group_money.log');
- }
- } catch (\Exception $e) {
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']], 'share_group_money.log');
- }
- // 在这里执行发放核销卡逻辑
- try {
- $store_card_time = Option::get(OptionSetting::STORE_CARD_TIME, $order['store_id'], 'gift', 0)['value'];
- if ($store_card_time == 2 || !$store_card_time){
- $this->sendVerifyCard($order['id'],$order['user_id'],$order['order_type']);
- }
- }catch (\Exception $e){
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']], 'sendVerifyCardErr.log');
- }
- // 在这里执行发放优惠券逻辑
- try {
- $store_coupon_time = Option::get(OptionSetting::STORE_COUPON_TIME, $order['store_id'], 'gift', 0)['value'];
- if ($store_coupon_time == 2 || !$store_coupon_time){
- $this->sendCouponCard($order['id'],$order['user_id']);
- }
- }catch (\Exception $e){
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']], 'sendCouponErr.log');
- }
- // 下单自动发放优惠券修改到这里
- AutoSendCoupon::send($order['user_id'], CouponAutoSend::EVENT_ORDER, $this->store_id);
- try {
- $result = IntegralAppreciationPoolSub::setPool($order['id'], $order['store_id']);
- } catch (\Exception $e) {
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']], 'integralAppreciation.log');
- }
- try {
- $result = StoreDividendsCycle::setDividendsCycle($order);
- debug_log(['result' => $result], 'storeDividendsCycle.log');
- } catch (\Exception $e) {
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']], 'storeDividendsCycle.log');
- }
- } else {
- \app\plugins\scanCodePay\models\Order::updateAll(['is_sale' => 1, 'updated_at' => time()], ['id' => $order['id']]);
- try {
- //入驻商分佣
- $mchAccountMoney = \app\modules\admin\models\MchForm::accountMoneyAdd($order);
- debug_log(['入驻商分佣', $order['id'], $mchAccountMoney], 'mch_account_add.log');
- } catch (\Exception $e) {
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']], 'mch_account_add.log');
- }
- try {
- $result = StoreDividendsCycle::setDividendsCycle($order);
- debug_log(['result' => $result], 'storeDividendsCycle.log');
- } catch (\Exception $e) {
- debug_log(['msg' => $e->getMessage(), 'order_id' => $order['id']], 'storeDividendsCycle.log');
- }
- }
- }
- private function sendVerifyCard($order_id, $user_id, $order_type) {
- try {
- if ($order_type != 4) {
- $goods_id = OrderDetail::find()->select('goods_id, num')->where(['order_id' => $order_id, 'is_delete' => 0])->asArray()->all();
- foreach ($goods_id as $k => $v) {
- $verify_card_info = Goods::find()->select('id, verify_card_id, send_verify_card_num, product_type')
- ->where(['id' => $v['goods_id'], 'is_delete' => 0])->asArray()->one();
- if (empty($verify_card_info)) {
- continue;
- }
- $num = intval($verify_card_info['send_verify_card_num'] ?? 0) * intval($v['num']);
- if (in_array($verify_card_info['product_type'], [4])) {
- $num = 1;
- }
- $this->startSendVerifyCard($verify_card_info['verify_card_id'], $verify_card_info['id'], $user_id, $order_type, $order_id, $num);
- }
- }
- } catch (\Exception $e) {
- debug_log(['message' => $e->getMessage(), 'line' => $e->getLine(), 'file' => $e->getFile()], 'order_complete.log');
- }
- }
- private function startSendVerifyCard($verify_card_id, $goods_id, $user_id, $order_type, $order_id, $num){
- if (!empty($verify_card_id)){
- $order = Order::findOne($order_id);
- $used_verify_card_id = '';
- if($order->verify_card_id){
- $used_verify_sale_id = $order->verify_card_id;
- $verify_sale = VerifyCardSale::findOne($used_verify_sale_id);
- $used_verify_card_id = $verify_sale['verify_card_id'];
- }
- $verify_card_id_arr = explode(',', $verify_card_id);
- $res = Tools::getVerifyList($verify_card_id_arr);
- \Yii::error($res);
- $ids = '';
- foreach($res as $value){
- if($value['id'] == $used_verify_card_id){
- \Yii::error('================== 卡券发放结果:订单消费的卡券不再赠送,卡券id为:' . $value['id']);
- continue;
- }
- for ($i = 0; $i < $num; $i++) {
- $verify_form = new VerifyCardSale();
- $verify_form->store_id = $order->store_id;
- $verify_form->user_id = $user_id;
- $verify_form->verify_card_id = $value['id'];
- //查询核销卡使用总次数
- $left_info = VerifyCard::find()->select('total_num, expire_day')->where([
- 'id' => $value['id'],
- 'is_delete' => 0
- ])->asArray()->one();
- if ($value['type'] == 1) {
- $verify_form->left_num = $left_info['total_num'];
- } else {
- $verify_form->left_num = 1;
- }
- $account = VerifyCardAccount::find()->where(['store_id' => $value['store_id'], 'card_id' => $value['id'], 'status' => 0])->limit(1)->one();
- if (!$account) {
- \Yii::error('================== 卡券发放结果:未找到数据,卡券id为:' . $value['id']);
- continue;
- }
- $verify_form->account_id = $account->id;
- $verify_form->sale_time = time();
- if ($value['date_type'] == 1) {
- $verify_form->end_time = time() + $left_info['expire_day'] * (3600*24);
- } else {
- $verify_form->end_time = $value['end_time'];
- }
- $verify_form->goods_id = $goods_id;
- $verify_form->order_type = $order_type;
- if ($verify_form->save()) {
- $ids .= $verify_form->id . ',';
- if ($value['type'] == 1) {
- //核销卡核销数量增加
- $verify_card_form = VerifyCard::findOne([
- 'id' => $value['id'],
- 'is_delete' => 0
- ]);
- $verify_card_form->use_num += 1;
- if (!$verify_card_form->save()) {
- continue;
- }
- } else {
- $card = VerifyCard::findOne(['id' => $value['id'], 'is_delete' => 0]);
- $account = VerifyCardAccount::findOne($verify_form->account_id);
- $card->send_times += 1;
- $card->save();
- }
- $account->status = 1;
- if (!$account->save()) {
- continue;
- }
- } else {
- \Yii::warning($verify_form->errors);
- }
- }
- }
- $order->get_verify_id = $ids;
- $order->save();
- }
- }
- private function sendCouponCard($order_id, $user_id) {
- $goods_id = OrderDetail::find()->select('goods_id, num')->where(['order_id' => $order_id,'is_delete' => 0])->asArray()->all();
- $coupon_arr = [];
- foreach ($goods_id as $k => $v) {
- $coupon_card_info = Goods::find()->select('id, coupon_card_id, send_coupon_card_num')->where(['id' => $v['goods_id'], 'is_delete' => 0])->asArray()->one();
- if (empty($coupon_card_info)) {
- continue;
- }
- $coupon_card_id = $coupon_card_info['coupon_card_id'];
- $coupon_card_id_arr = explode(',', $coupon_card_id);
- $send_coupon_card_num = intval($coupon_card_info['send_coupon_card_num']);
- $coupon_list = Coupon::find()->where(['id' => $coupon_card_id_arr, 'is_delete' => 0])->select('total_count, id')->asArray()->all();
- foreach ($coupon_list as $item) {
- for ($i = 0; $i < $send_coupon_card_num; $i++) {
- $coupon_send_count = UserCoupon::find()->where([
- 'coupon_id' => $item['id'],
- 'type' => [
- UserCoupon::TYPE_STORE,
- UserCoupon::TYPE_AUTO,
- UserCoupon::TYPE_GET
- ]
- ])->select('id')->count();
- if (intval($item['total_count']) === -1 || $item['total_count'] > $coupon_send_count) {
- debug_log([
- 'user_id' => $user_id,
- 'id' => $item['id']
- ] ,'coupon.log');
- $use_coupon = coupon::userAddCoupon($user_id, $item['id']);
- if ($use_coupon) {
- array_push($coupon_arr, intval($use_coupon));
- }
- }
- }
- }
- }
- $order = Order::findOne($order_id);
- $order->get_coupon_id = implode(',', $coupon_arr);
- $order->save();
- }
- }
|