123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- # 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(1):
- 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):
- sku_item_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
- 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)
- batch_insertPro_jst(sku_item_list, 'kwaixiaodian_jst_purchase_items_range')
- if __name__ == '__main__':
- KwaixiaodianJstPurchaseItemsRange().getSkuId()
|