工具類:每次隨機生成有銷售庫存有實際庫存的1個店鋪商品和對應的2個店鋪商品sku


#
coding:utf-8 # @fileName :2.每次隨機生成有銷售庫存有實際庫存的1個店鋪商品和對應的2個店鋪商品sku.py # @createTime :2020/4/4 10:33 # @author :hongjingsheng # @email :[email protected] # @software :PyCharm # 請從下一行開始編寫腳本 from testcase.goodsAPI.goodsSave.createData.create_one_goods_of_have_twoSku import Create_one_goods_of_have_twoSku from testcase.goodsStockAPI.realStockSet.createData.set_real_stock_of_have_twoSku import Set_real_stock_of_have_twosSku from testcase.itemAPI.itemSalesStockUpdate.createData.set_sales_stock_of_have_twoSku import Set_sales_stock_of_have_twoSku from config.config import relationshipOfShopAndWarehouses from model.m_kd_goods import M_kd_goods from model.m_kd_item import M_kd_item from model.m_kd_item_sku import M_kd_item_sku m_kd_goods = M_kd_goods() m_kd_item = M_kd_item() m_kd_item_sku = M_kd_item_sku() class run: ''' 1.該工具類實現功能:每次隨機生成有銷售庫存有實際庫存的1個店鋪商品和對應的2個店鋪商品sku; 2.生成數據用於:下訂單、關聯優惠券、用於拼團/秒殺/滿減送活動等; ''' def __init__(self,goods_lib_id:int,whatGroupOfDataDoYouChoose:str): ''' :param goods_lib_id 參數含義:商品庫id;數據類型:int :param whatGroupOfDataDoYouChoose 參數含義:用戶選擇哪一組門店倉庫關係 ''' self.goods_lib_id = goods_lib_id self.whatGroupOfDataDoYouChoose = whatGroupOfDataDoYouChoose self.oneRelationshipOfShopAndWarehouse = self.__oneRelationshipOfShopAndWarehouse() self.sys_item_id = self.__get_one_sys_item_id() self.two_sysSkuIds_skuIds = self.__get_two_sysSkuIds_skuIds() self.sys_sku_id_of_sku_a = self.two_sysSkuIds_skuIds['商品A的第一個商品sku-a的信息']["sys_sku_id"] self.sku_id_of_sku_a = self.two_sysSkuIds_skuIds['商品A的第一個商品sku-a的信息']["sku_id"] self.sys_sku_id_of_sku_b = self.two_sysSkuIds_skuIds['商品A的第二個商品sku-b的信息']["sys_sku_id"] self.sku_id_of_sku_b = self.two_sysSkuIds_skuIds['商品A的第二個商品sku-b的信息']["sku_id"] self.out_item_id= self.realStockSet_of_DigitalStoreA() self.realStockSet_of_OfflineStoreB() self.realStockSet_of_OfflineStoreC() self.set_sales_stock_of_have_twoSku() self.log() def __oneRelationshipOfShopAndWarehouse(self): ''' :return 返回一組門店倉庫關聯數據;數據類型爲int ''' if self.whatGroupOfDataDoYouChoose == "第一組門店倉庫關聯數據": return relationshipOfShopAndWarehouses["第一組門店倉庫關聯數據"] elif self.whatGroupOfDataDoYouChoose == "第二組門店倉庫關聯數據": return relationshipOfShopAndWarehouses["第二組門店倉庫關聯數據"] elif self.whatGroupOfDataDoYouChoose == "第三組門店倉庫關聯數據": return relationshipOfShopAndWarehouses["第三組門店倉庫關聯數據"] else: raise Exception("whatGroupOfDataDoYouChoose入參值輸入錯誤;用戶只能輸入這三者中其中一個值:第一組門店倉庫關聯數據、第二組門店倉庫關聯數據、第三組門店倉庫關聯數據") def __get_one_sys_item_id(self): ''' :return 返回一個新增商品後的sys_item_id值;數據類型爲int ''' create_one_goods_of_have_twoSku = Create_one_goods_of_have_twoSku() create_one_goods_of_have_twoSku.goodsLibId = self.goods_lib_id r = create_one_goods_of_have_twoSku.sendRequest() sys_item_id = r["result"]["sysItemId"] return sys_item_id def __get_two_sysSkuIds_skuIds(self): ''' :return 返回一個商品的兩個商品sku的sys_sku_id和sku_id等信息;數據類型爲dict ''' r = m_kd_goods.mysql_getRows_new("select sys_item_id,sys_sku_id,sku_id from kd_goods_sku where sys_item_id = %s"%self.sys_item_id) result ={ "商品A的第一個商品sku-a的信息":{"sys_item_id":r[0][0],"sys_sku_id":r[0][1],"sku_id":r[0][2]}, "商品A的第二個商品sku-b的信息":{"sys_item_id":r[1][0],"sys_sku_id":r[1][1],"sku_id":r[1][2]} } print(result) return result def realStockSet_of_DigitalStoreA(self): ''' :return 返回數字門店A的一個店鋪商品的out_item_id值 1.接口主要實現功能: 設置店鋪商品配置倉A的實際庫存 ''' set_real_stock_of_have_twosSku = Set_real_stock_of_have_twosSku() set_real_stock_of_have_twosSku.goodsLibId = self.goods_lib_id set_real_stock_of_have_twosSku.realStockA = 100 set_real_stock_of_have_twosSku.sysSkuIdA = self.sys_sku_id_of_sku_a set_real_stock_of_have_twosSku.realStockB = 100 set_real_stock_of_have_twosSku.sysSkuIdB = self.sys_sku_id_of_sku_b set_real_stock_of_have_twosSku.sysItemId = self.sys_item_id set_real_stock_of_have_twosSku.warehouseId = self.oneRelationshipOfShopAndWarehouse["數字門店A"]["綁定倉庫id"] r = set_real_stock_of_have_twosSku.sendRequest() print(r) # 當上面的接口請求成功後,會在kd_item表生成一條數字門店A的店鋪商品A數據,可以獲取到字段out_item_id的值 out_item_id = m_kd_item.get_one_random_value_of_one_tableField("out_item_id",[["sys_item_id",self.sys_item_id],["digit_shop_id",self.oneRelationshipOfShopAndWarehouse["數字門店A"]["門店id"]]]) return out_item_id def realStockSet_of_OfflineStoreB(self): ''' :return None 1.接口主要實現功能: 設置店鋪商品一個線下倉B的實際庫存 ''' set_real_stock_of_have_twosSku = Set_real_stock_of_have_twosSku() set_real_stock_of_have_twosSku.goodsLibId = self.goods_lib_id set_real_stock_of_have_twosSku.realStockA = 200 set_real_stock_of_have_twosSku.sysSkuIdA = self.sys_sku_id_of_sku_a set_real_stock_of_have_twosSku.realStockB = 200 set_real_stock_of_have_twosSku.sysSkuIdB = self.sys_sku_id_of_sku_b set_real_stock_of_have_twosSku.sysItemId = self.sys_item_id set_real_stock_of_have_twosSku.warehouseId = self.oneRelationshipOfShopAndWarehouse["線下門店B"]["綁定倉庫id"] set_real_stock_of_have_twosSku.sendRequest()
def realStockSet_of_OfflineStoreC(self): ''' :return None 1.接口主要實現功能: 設置店鋪商品一個線下倉C的實際庫存 ''' set_real_stock_of_have_twosSku = Set_real_stock_of_have_twosSku() set_real_stock_of_have_twosSku.goodsLibId = self.goods_lib_id set_real_stock_of_have_twosSku.realStockA = 300 set_real_stock_of_have_twosSku.sysSkuIdA = self.sys_sku_id_of_sku_a set_real_stock_of_have_twosSku.realStockB = 300 set_real_stock_of_have_twosSku.sysSkuIdB = self.sys_sku_id_of_sku_b set_real_stock_of_have_twosSku.sysItemId = self.sys_item_id set_real_stock_of_have_twosSku.warehouseId = self.oneRelationshipOfShopAndWarehouse["線下門店C"]["綁定倉庫id"] set_real_stock_of_have_twosSku.sendRequest() def set_sales_stock_of_have_twoSku(self): ''' :return None 1.接口主要實現功能: 設置店鋪商品和2個店鋪商品sku的最大銷售庫存 ''' set_sales_stock_of_have_twoSku = Set_sales_stock_of_have_twoSku() set_sales_stock_of_have_twoSku.goodsLibId = self.goods_lib_id set_sales_stock_of_have_twoSku.salesStock_of_skuA = 600 set_sales_stock_of_have_twoSku.skuIdA = self.sku_id_of_sku_a set_sales_stock_of_have_twoSku.salesStock_of_skuB = 600 set_sales_stock_of_have_twoSku.skuIdB = self.sku_id_of_sku_b set_sales_stock_of_have_twoSku.outItemId = self.out_item_id set_sales_stock_of_have_twoSku.salesStock_of_good = 1200 set_sales_stock_of_have_twoSku.shopId = self.oneRelationshipOfShopAndWarehouse["數字門店A"]["門店id"] set_sales_stock_of_have_twoSku.sendRequest() def log(self): ''' :return None 1.接口主要實現功能: 輸出相關日誌 ''' print("1.生成一個商品A的sys_item_id值是:%s; --->值可以在kd_goods表裏找到;"%self.sys_item_id) print("2.生成一個商品A的兩個商品sku的sys_sku_id和sku_id的信息:%s; --->值可以在kd_goods_sku表裏找到;"%self.two_sysSkuIds_skuIds) print("3.生成一個商品A的數字門店A的店鋪商品A的out_item_id值是:%s; --->值可以在kd_item表裏找到;"%self.out_item_id) r1 = m_kd_item.get_one_random_value_of_one_tableField("sales_stock",[["sys_item_id",self.sys_item_id],["out_item_id",self.out_item_id],["digit_shop_id",self.oneRelationshipOfShopAndWarehouse["數字門店A"]["門店id"]],["goods_lib_id",self.goods_lib_id]]) r2 = m_kd_item_sku.get_one_random_value_of_one_tableField("sales_stock",[["out_item_id",self.out_item_id],["digit_shop_id",self.oneRelationshipOfShopAndWarehouse["數字門店A"]["門店id"]],["goods_lib_id",self.goods_lib_id],["sku_id",self.sku_id_of_sku_a]]) r3 = m_kd_item_sku.get_one_random_value_of_one_tableField("sales_stock",[["out_item_id",self.out_item_id],["digit_shop_id",self.oneRelationshipOfShopAndWarehouse["數字門店A"]["門店id"]],["goods_lib_id",self.goods_lib_id],["sku_id",self.sku_id_of_sku_b]]) print("4.生成一個店鋪商品A的最大銷售庫存值是:%s --->值可以在kd_item表裏找到;"%r1) print("5.生成一個店鋪商品A的一個店鋪商品sku-a最大銷售庫存值是:%s --->值可以在kd_item_sku表裏找到;"%r2) print("6.生成一個店鋪商品A的一個店鋪商品sku-b最大銷售庫存值是:%s --->值可以在kd_item_sku表裏找到;"%r3) print("7.生成該店鋪商品A和店鋪商品sku-a&sku-b涉及的數字門店/線下門店/倉庫等等信息爲:%s"%self.oneRelationshipOfShopAndWarehouse) if __name__ == "__main__": r = run(100009,"第一組門店倉庫關聯數據")

 

 

2.相關調試結果(調試通過;數據庫相關表信息都存儲正確;)


3.備註
(1).類屬性、類的實例化、類繼承、類方法/屬性重寫, 等理論需熟悉;
(2).類被實例化後,屬性和初始化參數會自動分配物理內存;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章