| 
				
					
						 | 
			||
|---|---|---|
| .vscode | ||
| data | ||
| logisticsClass | ||
| sell | ||
| utils | ||
| 拦截数据 | ||
| .gitattributes | ||
| .gitignore | ||
| 5-10月美国账单预测.ipynb | ||
| __init__.py | ||
| cal_sell_price.ipynb | ||
| change_price.ipynb | ||
| login_for_cookie.py | ||
| product_property_data.xlsx | ||
| readme.md | ||
| test.ipynb | ||
| ~$单包裹SKU售价分析1.xlsx | ||
| ~$表头更新方案.xlsx | ||
| 一票一件订单.ipynb | ||
| 产品上限优化.ipynb | ||
| 单包裹SKU售价分析.xlsx | ||
| 单包裹SKU售价分析1.xlsx | ||
| 取订单标准物流费.ipynb | ||
| 售价模型审核.ipynb | ||
| 售价模型计算.ipynb | ||
| 拦截订单详细数据.ipynb | ||
| 改SPU尺寸.ipynb | ||
| 物流t投递审核.py | ||
| 物流渠道测算.ipynb | ||
| 自动化跟单.ipynb | ||
| 自动化跟单11.ipynb | ||
| 订单拦截总数据.py | ||
| 账单预测.ipynb | ||
| 退款订单登记表.ipynb | ||
		
			
				
				readme.md
			
		
		
			
			
				
				
			
		
	
	类型更改计划
1. 先解决大量使用xlsx的问题, 统一通过使用LOGISDB数据库进行数据交互
2. 对售价模型或者其他类型的区分,统一使用数据库表管理
物流模块介绍
数据模块
数据存放地,部分物流的价格表和部分国家的邮编
物流实现类
美国,英国,澳洲,欧洲部分国家(德国,法国)
工具模块
新增物流渠道流程
1. 新增头程,继承自HeadLogistics
1.1 类属性(*必填)
*company: str                # 物流公司名称
*country_code: list[str]     # 国家代码,若只有一个国家,用str即可
*country: list[str]          # 国家全名,若只有一个国家,用str即可
logistics_type = LogisticsType.OCEAN    # 运输方式,空运|海运,默认海运 
currency = 'CNY'                        # 货币类型,默认人民币
port: PortType = PortType.DEFAULT       # 到达港口,东南西北,默认港口
active: bool = True                     # 物流状态,默认启用
1.2 实例属性(*必填)
*head_ratio: int  # 它*6000体积重为头程费用
1.3 样例代码
class AirLAXLogistics_US(HeadLogistics):
    """美国空运LAX"""
    company = "空LAX"  
    country_code = "US"
    country = "United States"
    logistics_type = LogisticsType.AIR  
    def __init__(self):
        super().__init__()
        self.head_ratio = 40
2.新增尾端,继承自TailLogistics
2.1 类属性(*必填)
    *company: str          # 物流公司名称
    *country_code: str     # 国家代码
    *country: str          # 国家全名
    logistics_type = LogisticsType.EXPRESS  # 运输方式,快递|卡派,默认快递
    currency:str = 'USD'                    # 货币类型,默认美元
    port: PortType = PortType.DEFAULT       # 到达港口,东南西北,默认港口
    active: bool = True                     # 物流状态,默认启用
2.2 实例属性(*必填)
    由各渠道情况自行定义实际物流实现类属性,如:
    self.oversize_fee: float  # 超尺寸费
    self.remote_fee: float    # 偏远费
    self.fuel_rate: float     # 燃油费率
2.3 样例代码
    class Logistics_UK(TailLogistics):
        company = '智谷'
        country_code = 'UK'
        country = 'United Kingdom'
        currency = 'GBP'
        def __init__(self):
            super().__init__()
            self.base_fee = 3.7
            self.oversize = 26
            self.fuel_rate = 0.2 # BT开头的有20%燃油费
            self.remote_fee = 35
        # 必须实现的接口方法
        def calculate_fee(self, packages, postcode):
            detail_amount = {
                "base":0.00,
                "oversize":0.00,
                "remote":0.00,
                "fuel":0.00,
                "total_amount":0.00
            }
            ***
            ***
            return detail_amount
账单输出流程
- 
实例化国家类/操作类,传入国家或国家代码
opCountry = OperateCountry('UK') - 
实例化账单工厂,初始为空
billFactory = BillFactory() # 该工厂可以对所有账单进行统一管理,包括: billFactory.create_bill(id,opCountry,packages,postcode,company_name,head_type,beizhu) # 创建账单 billFactory.add_bill(bill) # 添加账单 billFactory.get_bills() # 输出全部账单 billFactory.get_bill(id) # 输出指定账单,id为账单ID billFactory.bills_to_df() # 输出全部账单到DataFrame格式 - 
实例化账单类
bill = Billing(id,operator,packages,postcode,**kwargs) # 账单传参属性(*必填) *self.id:str = id *self.operator:OperateCountry = opCountry *self.packages:Package_group = packages *self.postcode:str = postcode self.company_name = kwargs.get('company_name', None) self.head_type = kwargs.get('head_type', 1) self.beizhu = kwargs.get('beizhu', None) - 
账单传参属性(*必填)
*opCountry = OperateCountry("US") # 实例化国家类/操作类 填写范围:US~UK~AU~JP~DE~CA~FR~SP~IT *bill = Billing(id,operator,packages,postcode,**kwargs) *id = "xxx" # str, 账单ID *operator = opCountry # 国家类/操作类 *packages = Package_group() # Package_group, 包裹组 *postcode = "xxx" # str, 邮编 company_name = "xxx" # str, 物流公司名称(不填则默认获取最小账单费用) 填写范围:operator.companies head_type = 1 # int, 头程类型,1-海运,0-空运 beizhu = "xxx" # str, 备注信息