راکت

باگ تخفیف عمومی برای دسته بندی خاص

بدون پاسخ

سلام دوستان عزیز من وقتی برای دسته بندی خاص تخفیف در نظر میگیرم بدرستی تخفیف اعمال میشه و قیمت اپدیت میشه وقتی مثلا سه تا محصول به سبد خریدم اضافه میکنم که دوتا از این سه تا تخفیف خوردن قیمت مجموع بدون احتساب تخفیف بدرستی جمع میشه و میره میشنه توی فیلد total_price جدول کارت اما باگ مربوطه اینجاست که جمع قیمت ها پس از اعمال تخفیف بدرستی انجام نمیشه توی کد که قرار میدم فورایچ بخش دوم عملیات جمع قیمت با احتساب تخفیفبدرستی انجام نمیشه
و جمع قیمت ها پس از اعمال تخفیف هم باید بره توی فیلد final_price تو جدول کارت
جدول تخفیف من به صورت مورف چند به چند هست که به مدل های یوزر- کورس- کتگوری مربوط میشه توی ویدیو رکورد گرفتم مشکل رو ممنون میشم ملاحضه بفرمایید مشکل کارمو بگید
لینک ویدیو

این جدول کارت

        Schema::create('carts', function (Blueprint $table) {
            $table->id();
            $table->foreignId('user_id')->constrained('users')->cascadeOnDelete();
            $table->foreignId('coupon_id')->nullable()->constrained('coupons')->cascadeOnDelete();
            $table->string('status');
            $table->integer('total_price')->default(0);
            $table->integer('final_price')->default(0);
            $table->dateTime('expired_at');
            $table->timestamps();
        });

        Schema::create('cart_course', function (Blueprint $table) {

            $table->foreignId('cart_id')->constrained('carts')->cascadeOnDelete();
            $table->foreignId('course_id')->constrained('courses')->cascadeOnDelete();
        });

اینم جدول کوپن

    public function up()
    {
        Schema::create('coupons', function (Blueprint $table) {
            $table->id();
            $table->string('title');
            $table->string('code')->unique();
            $table->integer('percent');
            $table->bigInteger('limit')->nullable();
            $table->boolean('is_general')->default(0)->nullable();
            $table->unsignedInteger('quantity')->nullable();
            $table->enum('type'  , ['fixed' , 'percent'])->nullable();
            $table->enum('status'  , ['enable' , 'disable'])->default('disable');
            $table->text('description')->nullable();
            $table->dateTime('start_at');
            $table->dateTime('expired_at');
            $table->timestamps();
        });

        Schema::create('couponables', function (Blueprint $table) {
            $table->foreignId('coupon_id')->constrained('coupons')->cascadeOnDelete();
            $table->integer('couponable_id');
            $table->string('couponable_type');
        });

        Schema::create('coupon_used', function (Blueprint $table) {
            $table->foreignId('coupon_id')->constrained('coupons')->cascadeOnDelete();
            $table->foreignId('user_id')->constrained('users')->cascadeOnDelete();
        });
    }

مدل کورس ها عملیات مربوط به تخفیف دسته بندی

 public function getPriceAfterApplyCoupon()
    {
        foreach ($this->categories as $category) {
            $coupons = $category->validCoupons();
            if ($coupons->isNotEmpty()) {
                $amount = $this->price;
                $discount = ($amount * $coupons[0]->percent) / 100;
                $total = $amount - $discount;
                foreach ($this->carts as  $cart) {
                    $cart->coupon_id = $coupons[0]->id;
                    $final = (collect($amount)->sum() * $coupons[0]->percent) / 100;
                    $test = $cart->total_price - $final;
                    $cart->final_price  = $test;
                    $cart->save();
                }
                return number_format($total);
            }
        }

        return $this->price;
    }

خواهش میکنم ویدیو رو حتما ببینید متوجه مشکل بشید باگ مربوط به جمع قیمت ها با احتساب تخفیف هستش
@Rp76
@ali.bayat
@mhyeganeh

ثبت پرسش جدید

پاسخ‌ها

0

هنوز پاسخی ثبت نشده

اولین نفری باشید که به این پرسش کمک می‌کند و مسیر حل مشکل را باز می‌کند.

اولین پاسخ را بنویسید

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام