12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- from model.DingTalkUtils import DingTalkUtils
- from model.DateUtils import DateUtils
- from model.DataBaseUtils import MysqlUtils, CkUtils
- import logging
- du = DateUtils()
- db = MysqlUtils()
- ck = CkUtils()
- def src_book_info():
- logging.info('书籍卡点信息,开始')
- logging.info("run> src_book_info")
- sql = """
- SELECT date_format(a.effect_day,'%Y-%m-%d'),
- case a.type when 'mp' then 'MP' when 'gdt' then 'GDT' end type,
- b.book_name,c.platform_name,a.node_price from t_zx_book_ratio a
- left join t_zx_book b on a.zx_book_id=b.id
- left join t_platform_info c on b.platform_id=c.id
- """
- data = db.zx_platform.getData(sql)
- di = {}
- for i in data:
- thedate = i[0]
- while True:
- if thedate > du.get_n_days(0):
- break
- else:
- di[thedate + ',' + i[1] + ',' + i[2] + ',' + i[3]] = i[4]
- thedate = du.add_days(thedate, 1)
- li = []
- for i, j in di.items():
- li.append(i.split(',') + [j])
- # db.dm.execute("truncate table src_book_info")
- db.dm.executeMany("replace into src_book_info(dt,type,book,platform,node) values (%s,%s,%s,%s,%s)", li)
- logging.info('src_book_info success')
- logging.info('书籍卡点信息,结束')
- if __name__ == '__main__':
- try:
- src_book_info()
- except Exception as e:
- DingTalkUtils().send(str(e))
|