Maison > Article > développement back-end > Comment utiliser PHP pour développer les fonctions complètes de remise et de promotion du système d'épicerie ?
À mesure que le marché du commerce électronique devient de plus en plus mature et développé, tous les horizons explorent et proposent des activités préférentielles plus riches, et le système d'épicerie ne fait pas exception. L'utilisation de PHP pour développer toutes les fonctions de remise et de promotion du système d'épicerie peut non seulement attirer davantage d'utilisateurs, mais également améliorer l'expérience d'achat de l'utilisateur. Dans cet article, nous présenterons comment utiliser PHP pour développer les fonctions complètes de remise et de promotion du système d'épicerie.
1. Activités à remise complète
La remise complète est l'une des méthodes de promotion courantes sur les plateformes de commerce électronique. Cela signifie généralement que lorsque les utilisateurs achètent un certain nombre ou une certaine quantité de produits, ils peuvent bénéficier d'une certaine remise ou réduire directement. leur argent.
Le développement d'activités de réduction complète nécessite la conception d'une base de données. Voici une conception de base de données simple :
Table d'activité (t_activity)
Remarques sur le type de nom de champ
id int ID d'incrémentation automatique
name varchar(255) nom de l'activité
description texte description de l'activité
type tinyint type d'activité (1 : remise complète, 2 : offre spéciale, 3 : remise)
start_time datetime heure de début
end_time datetime heure de fin
status tinyint statut de l'activité (1 : en cours, 2 : terminé)
Table des règles d'activité (t_activity_rule)
Remarques sur le type de nom de champ
id int ID d'incrémentation automatique
activity_id int ID d'activité
rule_name varchar(255) Nom de la règle
type tinyint Type de règle (1 : remise complète, 2 : offre spéciale , 3: Discount )
condition_amount decimal(10,2) Montant conditionnel
condition_count int Quantité conditionnelle
discount_amount decimal(10,2) Montant de la remise
discount_rate decimal(5,2) Taux de remise
Obligatoire pour réaliser la fonction d'activité de remise complète Les étapes suivantes :
(1) Obtenir les informations sur le panier de l'utilisateur et les informations complètes sur l'activité de remise ;
(2) Parcourez les produits dans le panier et calculez le montant sous-total de chaque produit ; 3) Suivez le tableau des règles d'activité En fonction du montant conditionnel et de la quantité conditionnelle dans le panier, filtrez les produits qui remplissent les conditions
(4) Calculez le montant de la remise en fonction du montant de la réduction et du taux de remise dans les règles d'activité ; tableau ;
(5) Renvoyez le prix de chaque article dans le panier Le montant total et le montant de la remise, ainsi que le montant total et le montant de la remise du panier.
Implémentation du code PHPCode de référence :
//Obtenir des informations sur le panier et des informations complètes sur l'activité de remise
$cart_items = array (
array('product_id'=>1, 'product_name'=>'苹果', 'product_price'=>5.00, 'product_count'=>3, 'subtotal'=>15.00), array('product_id'=>2, 'product_name'=>'橙子', 'product_price'=>10.00, 'product_count'=>2, 'subtotal'=>20.00), array('product_id'=>3, 'product_name'=>'西瓜', 'product_price'=>20.00, 'product_count'=>1, 'subtotal'=>20.00)
array('type'=>1, 'condition_amount'=>30.00, 'condition_count'=>0, 'discount_amount'=>10.00), array('type'=>1, 'condition_amount'=>0.00, 'condition_count'=>3, 'discount_amount'=>5.00)
foreach ($cart_items as &$item) {
$item['subtotal'] = $item['product_price'] * $item['product_count'];
//Selon le montant conditionnel et la quantité conditionnelle dans le tableau des règles d'activité, filtrez les produits éligibles et calculez le montant de la remise
$total_amount = $total_discount = 0.00;
foreach ( $activity_rules as $rule) {
$eligible_items = array(); if ($rule['type']==1) {//满减活动 foreach ($cart_items as &$item) { if ($rule['condition_amount']>0 && $item['subtotal']>=$rule['condition_amount']) { $eligible_items[] = &$item; } if ($rule['condition_count']>0 && $item['product_count']>=$rule['condition_count']) { $eligible_items[] = &$item; } } unset($item); $discount_amount = count($eligible_items) * $rule['discount_amount']; foreach ($eligible_items as &$item) { $item['discount'] = $rule['discount_amount']; } unset($item); $total_discount += $discount_amount; }
foreach ($cart_items as $item) {
$total_amount += $item['subtotal']; $total_discount += isset($item['discount']) ? $item['discount'] : 0.00;
$result = array('cart_items'=>$cart_items, 'total_amount'=>$total_amount, 'total_discount'=>$ total_discount);
echo json_encode($result);
?>
2. Promotions
En plus des remises complètes, le système d'épicerie peut également mettre en place d'autres types de promotions, telles que des promotions, des remises, etc.
Conception de base de donnéesTable de produits (t_product)
Remarques de type de nom de champid int ID d'incrémentation automatique
name varchar(255 ) Nom du produit
price decimal(10,2) Prix du produit
discount_price decimal(10,2) Prix réduit
is_special tinyint Est-ce une offre spéciale
is_discount tinyint Est-ce un article à prix réduit
(1) Obtenez la liste des produits et les informations sur les produits spéciaux et les produits à prix réduit
(2) Calculez le prix préférentiel de chaque produit en fonction des informations sur les produits spéciaux et ; produits en promotion ;
(3) Renvoyez la liste des produits et le prix préférentiel de chaque produit.
Implémentation du code PHPCode de référence :
//Obtenir la liste des produits et des informations sur les offres spéciales et produits à prix réduit
$products = array(
array('id'=>1, 'name'=>'苹果', 'price'=>5.00, 'discount_price'=>0.00, 'is_special'=>true, 'is_discount'=>false), array('id'=>2, 'name'=>'橙子', 'price'=>10.00, 'discount_price'=>8.00, 'is_special'=>false, 'is_discount'=>true), array('id'=>3, 'name'=>'西瓜', 'price'=>20.00, 'discount_price'=>0.00, 'is_special'=>false, 'is_discount'=>false)
foreach ($products as &$product) {
if ($product['is_special']) { $product['discount_price'] = $product['price'] * 0.8;//特价商品打八折 } if ($product['is_discount']) { $product['discount_price'] = $product['price'] * 0.85;//折扣商品打八五折 }
//Renvoyer la liste des produits et le prix préférentiel de chaque produit
$result = array('products'=>$products);
echo json_encode($result);
?>
3 .Résumé
Cet article explique comment utiliser PHP pour développer les fonctions complètes de remise et de promotion du système d'épicerie. Pour les systèmes d’épicerie, les activités promotionnelles constituent un moyen important d’attirer les utilisateurs et un moyen efficace d’améliorer l’expérience d’achat des utilisateurs. Par conséquent, lors du développement d’un système d’épicerie, la base de données et les algorithmes de mise en œuvre doivent être raisonnablement conçus en fonction des besoins réels afin d’améliorer les performances du système et l’expérience utilisateur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!