12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- # Author renyupeng
- # coding=utf-8
- # @Time : 2024/11/27 13:24
- # @Site :
- # @File : KwaixiaodianJstPurchaseItemsRange.py
- # @Software: PyCharm
- # @contact: renyupeng@c-top.com.cn
- # @Tel 1501435553
- import threading
- from utils.mysql_helper import batch_insertPro, batch_insertPro_jst
- from utils.mysql_utils_pro import MysqlProUtils
- class KwaixiaodianJstPurchaseItemsRange:
- def __init__(self):
- self.conn = MysqlProUtils()
- def getSkuId(self):
- sql = """
- select sku_id from ruixuan.kwaixiaodian_jst_purchase_items
- group by sku_id
- """
- results = self.conn.QueryAll(sql=sql)
- items_per_thread = len(results)
- threads = []
- for i in range(5):
- start = i * items_per_thread
- end = start + items_per_thread
- thread = threading.Thread(target=self.handlerSkuRange, args=(results[start:end],))
- threads.append(thread)
- thread.start()
- for thread in threads:
- thread.join()
- def handlerSkuRange(self, sku_list):
- for sku_id in sku_list:
- sku_id = sku_id[0].decode("utf-8")
- sku_range_delete = """
- delete from ruixuan.kwaixiaodian_jst_purchase_items_range where sku_id='{sku_id}'
- """.format(sku_id=sku_id)
- self.conn.Operate(sku_range_delete)
- sku_sql = """select sku_id,qty,price,po_date ,poi_id,po_id
- from ruixuan.kwaixiaodian_jst_purchase_items
- where sku_id='{sku_id}'
- order by po_date """.format(sku_id=sku_id)
- data_list = self.conn.QueryAll(sql=sku_sql)
- sumqty = 0
- end_qty = 0
- sku_item_list = []
- for i, data in enumerate(data_list):
- if i == 0:
- start_qty = 0
- end_qty = data[1]
- qty = data[1]
- price = data[2]
- po_date = data[3].decode("utf-8")
- sumqty = data[1]
- poi_id = data[4]
- po_id = data[5]
- sku_num = i + 1
- else:
- sku_id = data[0].decode("utf-8")
- qty = data[1]
- price = data[2]
- sumqty += data[1]
- po_date = data[3].decode("utf-8")
- poi_id = data[4]
- po_id = data[5]
- start_qty = end_qty + 1
- end_qty = sumqty
- sku_num = i + 1
- # sku_item = {
- # "sku_id": sku_id,
- # "qty": qty,
- # "price": price,
- # "po_date": po_date,
- # "poi_id": poi_id,
- # "po_id": po_id,
- # "start_qty": start_qty,
- # "end_qty": end_pty,
- # "sku_num": i + 1
- # }
- sku_item=(
- poi_id, po_id, sku_id, qty, price, po_date, start_qty, end_qty, sku_num
- )
- sku_item_list.append(sku_item)
- print(sku_item_list)
- batch_insertPro_jst(sku_item_list, 'kwaixiaodian_jst_purchase_items_range')
- if __name__ == '__main__':
- KwaixiaodianJstPurchaseItemsRange().getSkuId()
|