quanwei
2 days ago 73b874c72ad55eb9eef21c36160ac0de58f0189e
admin/app/api/service/order/paysuccess/source/MasterPaySuccessService.php
@@ -2,6 +2,9 @@
namespace app\api\service\order\paysuccess\source;
use app\api\model\plus\bonus\Apply as BonusApplyModel;
use app\api\model\plus\bonus\Order as BonusOrderModel;
use app\api\model\plus\vip\Apply as VipApplyModel;
use app\common\enum\settings\DeliveryTypeEnum;
use app\common\library\helper;
use app\api\model\plus\agent\Apply as AgentApplyModel;
@@ -22,6 +25,12 @@
        $this->becomeAgentUser($order);
        // 消费达到金额成为分销商
        $this->becomeAgentByOrder($order);
        // 购买指定商品成为分红用户
        $this->becomeBonusUser($order);
        // 购买指定商品成为VIP用户
        $this->becomeVipUser($order);
        // 分红订单 by lyzflash 2023.03.17 复购分红商品也产生奖励
        BonusOrderModel::createBonusOrder($order);
        // 如果是虚拟商品,则标记为已完成,无需发货
        if($order['delivery_type']['value'] == DeliveryTypeEnum::NO_EXPRESS && $order['virtual_auto'] == 1){
            $order->save([
@@ -55,5 +64,26 @@
        $model = new AgentApplyModel;
        return $model->becomeAgentByOrder($order['user_id'], $order['pay_price'], $order['app_id']);
    }
    /**
     * 购买指定商品成为分红用户
     */
    private function becomeBonusUser($order)
    {
        // 整理商品id集
        $productIds = helper::getArrayColumn($order['product'], 'product_id');
        $model = new BonusApplyModel;
        return $model->becomeBonusUser($order['user_id'], $productIds, $order['app_id'], $order);
    }
    /**
     * 购买指定商品成为VIP用户
     */
    private function becomeVipUser($order)
    {
        // 整理商品id集
        $productIds = helper::getArrayColumn($order['product'], 'product_id');
        $model = new VipApplyModel;
        return $model->becomeVipUser($order['user_id'], $productIds, $order['app_id'], $order);
    }
}