目录
✨前言:
✨Java简单分销demo
🐱🚀创建一个Product类,包含商品的名称、价格和佣金比例。
🐱🚀创建一个User类,包含用户的姓名和佣金总额。
🐱🚀创建一个SalesSystem类,包含商品列表和用户列表,以及实现购买和分销的方法。
🐱🚀在主函数中创建商品和用户,并进行购买和分销操作。
🐱🚀✨运行结果:
🐱🚀✨代码描述:
✨简单表结构设计:
🐱🏍商品表(product)
🐱🏍用户表(user)
🐱🏍分销记录表(distribution)
✨前言:
🐱🚀之前做过分销场景,主要是A用户分享商品链接,然后B用户使用这个链接去购买以后,A用户可以获取佣金,当时记得是 通gu过A用户id ,还有分享商品id 房子url里面,然后B用户购买以后 会记录他们购买的关联信息,然后去做一些业务逻辑处理开心✨
✨Java简单分销demo
-
🐱🚀创建一个Product类,包含商品的名称、价格和佣金比例。
public class Product {private String name;private double price;private double commissionRate;public Product(String name, double price, double commissionRate) {this.name = name;this.price = price;this.commissionRate = commissionRate;}public String getName() {return name;}public double getPrice() {return price;}public double getCommissionRate() {return commissionRate;}
}
-
🐱🚀创建一个User类,包含用户的姓名和佣金总额。
public class User {private String name;private double commissionTotal;public User(String name) {this.name = name;this.commissionTotal = 0;}public String getName() {return name;}public double getCommissionTotal() {return commissionTotal;}public void addCommission(double commission) {this.commissionTotal += commission;}
}
-
🐱🚀创建一个SalesSystem类,包含商品列表和用户列表,以及实现购买和分销的方法。
import java.util.ArrayList;public class SalesSystem {private ArrayList<Product> productList;private ArrayList<User> userList;public SalesSystem() {this.productList = new ArrayList<>();this.userList = new ArrayList<>();}public void addProduct(Product product) {this.productList.add(product);}public void addUser(User user) {this.userList.add(user);}public void purchase(User buyer, Product product) {double commission = product.getPrice() * product.getCommissionRate();for (User seller : this.userList) {if (seller != buyer && seller.getName().equals(product.getName() + "的分享者")) {seller.addCommission(commission);}}}
}
-
🐱🚀在主函数中创建商品和用户,并进行购买和分销操作。
public static void main(String[] args) {SalesSystem salesSystem = new SalesSystem();// 创建商品Product product1 = new Product("商品1", 100, 0.1);Product product2 = new Product("商品2", 200, 0.2);salesSystem.addProduct(product1);salesSystem.addProduct(product2);// 创建用户User userA = new User("用户A");User userB = new User("用户B");User userC = new User("商品1的分享者");User userD = new User("商品2的分享者");salesSystem.addUser(userA);salesSystem.addUser(userB);salesSystem.addUser(userC);salesSystem.addUser(userD);// 用户B购买商品1salesSystem.purchase(userB, product1);// 商品1的分享者获得佣金System.out.println(userC.getName() + "的佣金总额为:" + userC.getCommissionTotal());// 用户B购买商品2salesSystem.purchase(userB, product2);// 商品2的分享者获得佣金System.out.println(userD.getName() + "的佣金总额为:" + userD.getCommissionTotal());
}
🐱🚀✨运行结果:
商品1的分享者的佣金总额为:10.0
商品2的分享者的佣金总额为:40.0
🐱🚀✨代码描述:
- 用户B购买商品1和商品2时,只有对应的分享者获得了相应的佣金。
这里主要逻辑就是 只要卖seller 满足他是分享者条件的时候 才会让他获取佣金, 在平常业务逻辑中 ,会有很多复杂业务, 分销者等级不同 分销金不同, 在设计表结构的时候, 简单设置的话就是直接在商品上面设计分销金, 商品在发布的时候就提前给他弄好佣金, 另一种就是分销规则, 根据分销者的等级 对应不同的分销佣金,这个就需要表之间的关联了, 或者使用标识 在业务层实现
✨简单表结构设计:
根据上面的代码,我们可以设计以下的MySQL表结构:
-
🐱🏍商品表(product)
字段名 | 类型 | 描述 |
---|---|---|
id | int | 商品ID |
name | varchar(50) | 商品名称 |
price | double | 商品价格 |
commission_rate | double | 分销佣金比例 |
share_user_id | int | 分享者用户ID |
-
🐱🏍用户表(user)
字段名 | 类型 | 描述 |
---|---|---|
id | int | 用户ID |
name | varchar(50) | 用户名称 |
balance | double | 用户余额 |
-
🐱🏍分销记录表(distribution)
字段名 | 类型 | 描述 |
---|---|---|
id | int | 分销记录ID |
product_id | int | 商品ID |
buyer_id | int | 购买者用户ID |
seller_id | int | 分享者用户ID |
commission | double | 分销佣金 |
🐱🚀✨
在这个表结构中,商品表(product)记录了商品的基本信息,包括商品ID、名称、价格、分销佣金比例和分享者用户ID。用户表(user)记录了用户的基本信息,包括用户ID、名称和余额。分销记录表(distribution)记录了每一次分销的详细信息,包括分销记录ID、商品ID、购买者用户ID、分享者用户ID和分销佣金。