ball_func.py 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567
  1. import datetime
  2. import hashlib
  3. import time
  4. # 生成哈希索引 sole
  5. def hash_func(match_id, odds_code, sort, p_id):
  6. m = hashlib.md5()
  7. a = str(match_id) + str(odds_code) + str(sort) + str(p_id)
  8. m.update(a.encode('utf-8'))
  9. c = m.hexdigest()
  10. return c
  11. # 生成odds_only哈希
  12. def r_func(match_id, odds_code, sort, p_id, odd):
  13. m = hashlib.md5()
  14. a = str(match_id) + str(odds_code) + str(sort) + str(p_id) + str(odd)
  15. m.update(a.encode('utf-8'))
  16. c = m.hexdigest()
  17. return c
  18. # 转换成本地时间
  19. def new_time(ctime):
  20. time1 = time.mktime(time.strptime(ctime, '%Y-%m-%d %H:%M:%S')) + 43200
  21. time2 = time.localtime(time1)
  22. time3 = time.strftime('%Y-%m-%d %H:%M:%S', time2)
  23. time4 = time3
  24. data_time = str(time4).split(" ")
  25. match_date = data_time[0]
  26. match_time = data_time[1]
  27. return match_date, match_time, time3
  28. def out_time(ctime, i):
  29. ctime1 = datetime.datetime.strptime(ctime, "%Y-%m-%d %H:%M:%S")
  30. n_ctime = (ctime1 + datetime.timedelta(hours=i)).strftime("%Y-%m-%d %H:%M:%S")
  31. return n_ctime
  32. def fuhao(f):
  33. if f.startswith('+'):
  34. f = f.replace('+', '-')
  35. return f
  36. elif f.startswith('-'):
  37. f = f.replace('-', '+')
  38. return f
  39. else:
  40. return f
  41. # 篮球插入赔率 -----------------------------------------------------------------------------------------------------------
  42. def one_intodb(data1, data2, data3, cursor, redis_db):
  43. if data1:
  44. for key, value in data1.items():
  45. if value:
  46. for x, y in enumerate(value):
  47. new_hash = hash_func(match_id=data2['game_id'], odds_code=key, sort=x, p_id=data2['p_id'])
  48. r_hash = r_func(match_id=data2['game_id'], odds_code=key, sort=x, p_id=data2['p_id'],odd=y)
  49. odds_only = r_hash
  50. l_f = fuhao(str(data3[key][x]))
  51. if redis_db.hexists("hg3535_lanqiu", r_hash):
  52. pass
  53. else:
  54. redis_db.hset("hg3535_lanqiu", r_hash, 0)
  55. sql1 = "insert into st_lq_odds(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, sole, condition, expire_time,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,%s) on conflict(sole) do update set utime=%s,odds=%s,expire_time=%s,odds_only=%s,condition=%s;"
  56. cursor.execute(sql1, (
  57. int(data2['league_id']), key, int(data2['game_id']), data2['utime'], data2['utime'], y,
  58. data2['p_id'], data2["p_code"], x, data2["source"], new_hash,
  59. l_f, data2['expire_time'], odds_only,data2['utime'], y, data2['expire_time'],
  60. odds_only, l_f))
  61. # 更新主队st_zq_odds_record表
  62. sql2 = "insert into st_lq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, condition,odds_only) values (%s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s,%s);"
  63. cursor.execute(sql2, (
  64. int(data2['league_id']), key, int(data2['game_id']), data2['utime'], data2['utime'], y,
  65. data2['p_id'], data2["p_code"], x, data2["source"], l_f, odds_only))
  66. def two_intodb(data1, data2, data3, cursor, redis_db):
  67. if data1:
  68. for key, value in data1.items():
  69. if value:
  70. new_hash = hash_func(match_id=data2['game_id'], odds_code=data3 + key, sort=data2['sort'], p_id=data2['p_id'])
  71. r_hash = r_func(match_id=data2['game_id'], odds_code=data3 + key, sort=data2['sort'], p_id=data2['p_id'],odd=value)
  72. odds_only = r_hash
  73. if redis_db.hexists("hg3535_lanqiu", r_hash):
  74. pass
  75. else:
  76. redis_db.hset("hg3535_lanqiu", r_hash, 0)
  77. sql1 = "insert into st_lq_odds(lg_id, odds_code, match_id, ctime, utime,odds, p_id, p_code, sort, source, sole, condition, expire_time,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,%s) on conflict(sole) do update set utime=%s,odds=%s,expire_time=%s,odds_only=%s,condition=%s;"
  78. cursor.execute(sql1, (
  79. int(data2['league_id']), data3, int(data2['game_id']), data2['utime'], data2['utime'], float(value),
  80. data2['p_id'], data2["p_code"], data2['sort'], data2["source"], new_hash,
  81. key, data2['expire_time'], odds_only,data2['utime'], value, data2['expire_time'], odds_only,key))
  82. # 更新主队st_zq_odds_record表
  83. sql2 = "insert into st_lq_odds_record(lg_id, odds_code, match_id, ctime, utime,odds, p_id, p_code, sort, source, condition,odds_only) values (%s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s,%s);"
  84. cursor.execute(sql2, (
  85. int(data2['league_id']), data3, int(data2['game_id']), data2['utime'], data2['utime'], float(value),
  86. data2['p_id'], data2["p_code"], data2['sort'], data2["source"], key, odds_only))
  87. def three_intodb(data1, data2, cursor, redis_db):
  88. if data1:
  89. for key, value in data1.items():
  90. if value:
  91. new_hash = hash_func(match_id=data2['game_id'], odds_code=key, sort=data2['sort'], p_id=data2['p_id'])
  92. r_hash = r_func(match_id=data2['game_id'], odds_code=key, sort=data2['sort'], p_id=data2['p_id'],odd=value)
  93. odds_only = r_hash
  94. if redis_db.hexists("hg3535_lanqiu", r_hash):
  95. pass
  96. else:
  97. redis_db.hset("hg3535_lanqiu", r_hash, 0)
  98. sql1 = "insert into st_lq_odds(lg_id, odds_code, match_id, ctime, utime,odds, p_id, p_code, sort, source, sole, expire_time,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s,%s, %s,%s) on conflict(sole) do update set utime=%s,odds=%s,expire_time=%s,odds_only=%s;"
  99. cursor.execute(sql1, (
  100. int(data2['league_id']), key, int(data2['game_id']), data2['utime'], data2['utime'], float(value),
  101. data2['p_id'], data2["p_code"], data2['sort'], data2["source"], new_hash, data2['expire_time'],
  102. odds_only,data2['utime'], value, data2['expire_time'], odds_only))
  103. # 更新主队st_zq_odds_record表
  104. sql2 = "insert into st_lq_odds_record(lg_id, odds_code, match_id, ctime, utime,odds, p_id, p_code, sort, source,odds_only) values (%s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s);"
  105. cursor.execute(sql2, (
  106. int(data2['league_id']), key, int(data2['game_id']), data2['utime'], data2['utime'], float(value),
  107. data2['p_id'], data2["p_code"], data2['sort'], data2["source"], odds_only))
  108. # 插入篮球赛事表
  109. def into_competition(data, cursor):
  110. Competition_sql = "insert into st_lq_competition(home_team, guest_team, lg_id, match_id, match_date, match_time, ctime, utime, tag, type, source,expire_time,is_today,is_morningplate,is_stringscene) values (%s, %s, %s, %s, %s, %s, %s, %s,%s, %s, %s, %s,%s, %s, %s) on conflict(match_id) do update set tag = %s,expire_time=%s,is_today=%s,is_morningplate=%s,is_stringscene=%s;"
  111. cursor.execute(Competition_sql, (
  112. data['team_home'], data['team_guest'], data['league_id'], data['game_id'], data['match_date'],
  113. data['match_time'],
  114. data['utime'], data['utime'], data['number'], data['pt'], data["source"], data['expire_time'], data['is_today'],
  115. data['is_morningplate'], data['is_stringscene'], data['number'], data['expire_time'], data['is_today'],
  116. data['is_morningplate'], data['is_stringscene']))
  117. # 插入足球赛事表----------------------------------------------------------------------------------------------------------
  118. def zqone_competition(data, cursor):
  119. Competition_sql = "insert into st_zq_competition(home_team, guest_team, lg_id, match_id, match_date, match_time, ctime, utime, tag,source, expire_time,is_today,us_time) values (%s, %s, %s, %s, %s, %s, %s,%s, %s, %s,%s,%s,%s) on conflict(match_id) do update set tag = %s,expire_time=%s,is_today=%s,us_time=%s;"
  120. cursor.execute(Competition_sql, (
  121. data['team_home'], data['team_guest'], data['league_id'], data['game_id'], data['match_date'],
  122. data['match_time'],
  123. data['utime'], data['utime'], data['number'], data["source"], data['expire_time'], data['is_today'],
  124. data['us_time'], data['number'], data['expire_time'], data['is_today'],data['us_time']))
  125. def zqtwo_competition(data, cursor):
  126. Competition_sql = "insert into st_zq_competition(home_team, guest_team, lg_id, match_id, match_date, match_time, ctime, utime, tag,source, expire_time,is_morningplate,us_time) values (%s, %s, %s, %s, %s, %s, %s,%s, %s, %s,%s,%s,%s) on conflict(match_id) do update set tag = %s,expire_time=%s,is_morningplate=%s,us_time=%s;"
  127. cursor.execute(Competition_sql, (
  128. data['team_home'], data['team_guest'], data['league_id'], data['game_id'], data['match_date'],
  129. data['match_time'],
  130. data['utime'], data['utime'], data['number'], data["source"], data['expire_time'], data['is_morningplate'],
  131. data['us_time'], data['number'], data['expire_time'], data['is_morningplate'], data['us_time']))
  132. def zqthree_competition(data, cursor):
  133. Competition_sql = "insert into st_zq_competition(home_team, guest_team, lg_id, match_id, match_date, match_time, ctime, utime, tag,source, expire_time,is_stringscene,us_time) values (%s, %s, %s, %s, %s, %s, %s,%s, %s, %s, %s,%s,%s) on conflict(match_id) do update set tag = %s,expire_time=%s,is_stringscene=%s,us_time=%s;"
  134. cursor.execute(Competition_sql, (
  135. data['team_home'], data['team_guest'], data['league_id'], data['game_id'], data['match_date'],
  136. data['match_time'],
  137. data['utime'], data['utime'], data['number'], data["source"], data['expire_time'], data['is_stringscene'],
  138. data['us_time'], data['number'], data['expire_time'], data['is_stringscene'], data['us_time']))
  139. # 足球 插入赔率 让球 大小-------------------------------------------------------------------------------------------------
  140. def zqone_intodb(data1, data2, data3, data4, cursor, redis_db):
  141. if data1:
  142. for index, value in enumerate(data1):
  143. if value:
  144. new_hash = hash_func(match_id=data2['game_id'], odds_code=data3, sort=index, p_id=data2['p_id'])
  145. r_hash = r_func(match_id=data2['game_id'], odds_code=data3, sort=index, p_id=data2['p_id'], odd=value)
  146. odds_only = r_hash
  147. f1 = fuhao(str(data4[index]))
  148. if redis_db.hexists("hg3535_zuqiu", r_hash):
  149. pass
  150. else:
  151. redis_db.hset("hg3535_zuqiu", r_hash, 0)
  152. sql1 = "insert into st_zq_odds(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, sole, condition, expire_time,odds_only) values (%s,%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) on conflict(sole) do update set utime=%s,odds=%s,expire_time=%s,odds_only=%s,condition=%s;"
  153. cursor.execute(sql1, (
  154. int(data2['league_id']), data3, int(data2['game_id']), data2['utime'], data2['utime'], float(value),
  155. data2['p_id'], data2["p_code"], index, data2["source"], new_hash,
  156. f1, data2['expire_time'], odds_only,data2['utime'], value, data2['expire_time'],
  157. odds_only, f1))
  158. # 更新主队st_zq_odds_record表
  159. sql2 = "insert into st_zq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, condition,odds_only) values (%s, %s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s);"
  160. cursor.execute(sql2, (
  161. int(data2['league_id']), data3, int(data2['game_id']), data2['utime'], data2['utime'], float(value),
  162. data2['p_id'], data2["p_code"], index, data2["source"], f1, odds_only))
  163. # 足球 插入赔率 独赢 单双
  164. def zqtwo_intodb(data1, data2, data3, data4, cursor, redis_db):
  165. if data1:
  166. new_hash = hash_func(match_id=data2['game_id'], odds_code=data3, sort=data2['sort'], p_id=data2['p_id'])
  167. r_hash = r_func(match_id=data2['game_id'], odds_code=data3, sort=data2['sort'], p_id=data2['p_id'],
  168. odd=data1)
  169. odds_only = r_hash
  170. if redis_db.hexists("hg3535_zuqiu", r_hash):
  171. pass
  172. else:
  173. redis_db.hset("hg3535_zuqiu", r_hash, 0)
  174. sql1 = "insert into st_zq_odds(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, sole, condition, expire_time, odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) on conflict(sole) do update set utime=%s,odds=%s,expire_time=%s,odds_only=%s,condition=%s;"
  175. cursor.execute(sql1, (
  176. int(data2['league_id']), data3, int(data2['game_id']), data2['utime'], data2['utime'], data1,
  177. data2['p_id'], data2["p_code"], data2['sort'], data2["source"], new_hash,
  178. data4, data2['expire_time'], odds_only, data2['utime'], data1, data2['expire_time'], odds_only,data4))
  179. # 更新主队st_zq_odds_record表
  180. sql2 = "insert into st_zq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, condition,odds_only) values (%s,%s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s);"
  181. cursor.execute(sql2, (
  182. int(data2['league_id']), data3, int(data2['game_id']), data2['utime'], data2['utime'], data1,
  183. data2['p_id'], data2["p_code"], data2['sort'], data2["source"], data4, odds_only))
  184. def gjz_into(data, cursor, r_hash, s_hash, redis_db):
  185. if redis_db.hexists('hg3535_guanjun', r_hash):
  186. pass
  187. else:
  188. redis_db.hset('hg3535_guanjun', r_hash, 0)
  189. # if pt == 1:
  190. sql = "insert into st_zq_odds(lg_id, odds_code, match_id, ctime, utime,odds, p_id, p_code, team, type, source, sole, expire_time,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s,%s, %s,%s, %s, %s, %s) on conflict(sole) do update set utime = %s,odds = %s,expire_time=%s,odds_only=%s;"
  191. cursor.execute(sql, (
  192. int(data['league_id']), data['new_champion'], int(data['game_id']), data['utime'], data['utime'],
  193. data['champion_team'], data['p_id'], data['new_league_name'],
  194. data['tema_home'], 1, "hg3535", data['new_hash'], data['expire_time'], data['odds_only'],data['utime'],
  195. data['champion_team'], data['expire_time'], data['odds_only']))
  196. # 插入st_zq_odds_record表
  197. new_sql = "insert into st_zq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, team, type, source,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s,%s, %s, %s, %s)"
  198. cursor.execute(new_sql, (
  199. int(data['league_id']), data['new_champion'], int(data['game_id']), data['utime'], data['utime'],
  200. data['champion_team'], data['p_id'], data['new_league_name'],
  201. data['tema_home'], 1, "hg3535", data['odds_only']))
  202. if redis_db.hexists('hg3535_liansai', s_hash):
  203. pass
  204. else:
  205. redis_db.hset('hg3535_liansai', s_hash, 0)
  206. league_sql = "insert into st_zq_league(name_chinese, lg_id,last_time) values (%s, %s, %s) on conflict(lg_id) do update set last_time = %s,source=%s;"
  207. cursor.execute(league_sql, (data['league_name'], data['league_id'], data['time3'], data['time3'], "hg3535"))
  208. def gjl_into(data, cursor, r_hash, s_hash, redis_db):
  209. if redis_db.hexists('hg3535_guanjun', r_hash):
  210. pass
  211. else:
  212. redis_db.hset('hg3535_guanjun', r_hash, 0)
  213. sql = "insert into st_lq_odds(lg_id, odds_code, match_id, ctime, utime,odds, p_id, p_code, team, type, source, sole, expire_time,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s,%s, %s,%s, %s, %s, %s) on conflict(sole) do update set utime = %s,odds = %s,expire_time=%s,odds_only=%s;"
  214. cursor.execute(sql, (
  215. int(data['league_id']), data['new_champion'], int(data['game_id']), data['utime'], data['utime'],
  216. data['champion_team'], data['p_id'], data['new_league_name'],
  217. data['tema_home'], 1, "hg3535", data['new_hash'], data['expire_time'], data['odds_only'],data['utime'],
  218. data['champion_team'], data['expire_time'], data['odds_only']))
  219. # 插入st_zq_odds_record表
  220. new_sql = "insert into st_lq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, team, type, source,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s,%s, %s, %s, %s)"
  221. cursor.execute(new_sql, (
  222. int(data['league_id']), data['new_champion'], int(data['game_id']), data['utime'], data['utime'],
  223. data['champion_team'], data['p_id'], data['new_league_name'],
  224. data['tema_home'], 1, "hg3535", data['odds_only']))
  225. # 插入st_zq_league表
  226. if redis_db.hexists('hg3535_liansai', s_hash):
  227. pass
  228. else:
  229. redis_db.hset('hg3535_liansai', s_hash, 0)
  230. league_sql = "insert into st_lq_league(name_chinese, lg_id,last_time) values (%s, %s, %s) on conflict(lg_id) do update set last_time = %s,source=%s;"
  231. cursor.execute(league_sql, (data['league_name'], data['league_id'], data['time3'], data['time3'], "hg3535"))
  232. def gjw_into(data, cursor, r_hash, s_hash, redis_db):
  233. if redis_db.hexists('hg3535_guanjun', r_hash):
  234. pass
  235. else:
  236. redis_db.hset('hg3535_guanjun', r_hash, 0)
  237. sql = "insert into st_wq_odds(lg_id, odds_code, match_id, ctime, utime,odds, p_id, p_code, team, type, source, sole, expire_time,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s,%s, %s,%s, %s, %s, %s) on conflict(sole) do update set utime = %s,odds = %s,expire_time=%s,odds_only=%s;"
  238. cursor.execute(sql, (
  239. int(data['league_id']), data['new_champion'], int(data['game_id']), data['utime'], data['utime'],
  240. data['champion_team'], data['p_id'], data['new_league_name'],
  241. data['tema_home'], 1, "hg3535", data['new_hash'], data['expire_time'], data['odds_only'],data['utime'],
  242. data['champion_team'], data['expire_time'], data['odds_only']))
  243. # 插入st_zq_odds_record表
  244. new_sql = "insert into st_wq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, team, type, source,odds_only) values (%s,%s, %s, %s, %s, %s, %s, %s, %s,%s, %s, %s)"
  245. cursor.execute(new_sql, (
  246. int(data['league_id']), data['new_champion'], int(data['game_id']), data['utime'], data['utime'],
  247. data['champion_team'], data['p_id'], data['new_league_name'],
  248. data['tema_home'], 1, "hg3535", data['odds_only']))
  249. # 插入st_zq_league表
  250. if redis_db.hexists('hg3535_liansai', s_hash):
  251. pass
  252. else:
  253. redis_db.hset('hg3535_liansai', s_hash, 0)
  254. league_sql = "insert into st_wq_league(name_chinese, lg_id,last_time) values (%s, %s, %s) on conflict(lg_id) do update set last_time = %s,source=%s;"
  255. cursor.execute(league_sql, (data['league_name'], data['league_id'], data['time3'], data['time3'], "hg3535"))
  256. def gjb_into(data, cursor, r_hash, s_hash, redis_db):
  257. if redis_db.hexists('hg3535_guanjun', r_hash):
  258. pass
  259. else:
  260. redis_db.hset('hg3535_guanjun', r_hash, 0)
  261. sql = "insert into st_bq_odds(lg_id, odds_code, match_id, ctime, utime,odds, p_id, p_code, team, type, source, sole, expire_time,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s,%s, %s,%s, %s, %s, %s) on conflict(sole) do update set utime = %s,odds = %s,expire_time=%s,odds_only=%s;"
  262. cursor.execute(sql, (
  263. int(data['league_id']), data['new_champion'], int(data['game_id']), data['utime'], data['utime'],
  264. data['champion_team'], data['p_id'], data['new_league_name'],
  265. data['tema_home'], 1, "hg3535", data['new_hash'], data['expire_time'], data['odds_only'],data['utime'],
  266. data['champion_team'], data['expire_time'], data['odds_only']))
  267. # 插入st_zq_odds_record表
  268. new_sql = "insert into st_bq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, team, type, source,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s,%s, %s, %s, %s)"
  269. cursor.execute(new_sql, (
  270. int(data['league_id']), data['new_champion'], int(data['game_id']), data['utime'], data['utime'],
  271. data['champion_team'], data['p_id'], data['new_league_name'],
  272. data['tema_home'], 1, "hg3535", data['odds_only']))
  273. # 插入st_zq_league表
  274. if redis_db.hexists('hg3535_liansai', s_hash):
  275. pass
  276. else:
  277. redis_db.hset('hg3535_liansai', s_hash, 0)
  278. league_sql = "insert into st_bq_league(name_chinese, lg_id,last_time) values (%s, %s, %s) on conflict(lg_id) do update set last_time = %s,source=%s;"
  279. cursor.execute(league_sql, (data['league_name'], data['league_id'], data['time3'], data['time3'], "hg3535"))
  280. # 网球 插入赔率----------------------------------------------------------------------------------------------------------
  281. def wqone_intodb(data1, data2, data3, cursor, redis_db):
  282. if data1:
  283. for key, value in data1.items():
  284. if value:
  285. new_hash = hash_func(match_id=data2['game_id'], odds_code=key, sort=data2['sort'], p_id=data2['p_id'])
  286. r_hash = r_func(match_id=data2['game_id'], odds_code=key, sort=data2['sort'], p_id=data2['p_id'], odd=value)
  287. odds_only = r_hash
  288. w_f = fuhao(str(data3[key]))
  289. if redis_db.hexists("hg3535_wangqiu", r_hash):
  290. pass
  291. else:
  292. redis_db.hset("hg3535_wangqiu", r_hash, 0)
  293. sql1 = "insert into st_wq_odds(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, sole, condition, expire_time,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,%s) on conflict(sole) do update set utime=%s,odds=%s,expire_time=%s,odds_only=%s,condition=%s;"
  294. cursor.execute(sql1, (
  295. int(data2['league_id']), key, int(data2['game_id']), data2['utime'], data2['utime'], value,
  296. data2['p_id'], data2["p_code"], data2['sort'], data2["source"], new_hash,
  297. w_f, data2['expire_time'], odds_only,data2['utime'], value, data2['expire_time'],
  298. odds_only, w_f))
  299. # 更新主队st_zq_odds_record表
  300. sql2 = "insert into st_wq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, condition,odds_only) values (%s, %s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s);"
  301. cursor.execute(sql2, (
  302. int(data2['league_id']), key, int(data2['game_id']), data2['utime'], data2['utime'], value,
  303. data2['p_id'], data2["p_code"], data2['sort'], data2["source"], w_f, odds_only))
  304. # 棒球 插入赔率----------------------------------------------------------------------------------------------------------
  305. def bqone_intodb(data1, data2, data3, cursor, redis_db):
  306. if data1:
  307. for key, value in data1.items():
  308. if value:
  309. new_hash = hash_func(match_id=data2['game_id'], odds_code=key, sort=data2['sort'], p_id=data2['p_id'])
  310. r_hash = r_func(match_id=data2['game_id'], odds_code=key, sort=data2['sort'], p_id=data2['p_id'], odd=value)
  311. odds_only = r_hash
  312. b_f = fuhao(str(data3[key]))
  313. if redis_db.hexists("hg3535_bangqiu", r_hash):
  314. pass
  315. else:
  316. redis_db.hset("hg3535_bangqiu", r_hash, 0)
  317. sql1 = "insert into st_bq_odds(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, sole, condition, expire_time,odds_only) values (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,%s) on conflict(sole) do update set utime=%s,odds=%s,expire_time=%s,odds_only=%s,condition=%s"
  318. cursor.execute(sql1, (
  319. int(data2['league_id']), key, int(data2['game_id']), data2['utime'], data2['utime'], value,
  320. data2['p_id'], data2["p_code"], data2['sort'], data2["source"], new_hash,
  321. b_f, data2['expire_time'], odds_only, data2['utime'], value,data2['expire_time'],
  322. odds_only, b_f))
  323. # 更新主队st_zq_odds_record表
  324. sql2 = "insert into st_bq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, condition,odds_only) values (%s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s, %s);"
  325. cursor.execute(sql2, (
  326. int(data2['league_id']), key, int(data2['game_id']), data2['utime'], data2['utime'], value,
  327. data2['p_id'], data2["p_code"], data2['sort'], data2["source"], b_f, odds_only))
  328. def get_pcode(corner_ball, code):
  329. code_dict = {'concede_size': 1, 'capot': 2, 'two_sides': 3, 'total_goal': 4, 'half_full': 5, 'bodan': 6,
  330. 'first_last_ball': 7, 'temaball': 11}
  331. if corner_ball == "角球":
  332. p_code = "corner_ball"
  333. p_id = 9
  334. elif corner_ball == "会晋级":
  335. p_code = "promotion"
  336. p_id = 10
  337. elif corner_ball == "罚牌数":
  338. p_code = "Penalty_card"
  339. p_id = 12
  340. else:
  341. p_code = code
  342. p_id = code_dict[code]
  343. return p_code, p_id
  344. # ----------------------------------------------------------------------------------------------------------------------
  345. def new_times(ctime):
  346. time1 = time.mktime(time.strptime(ctime, '%Y-%m-%d %H:%M:%S')) + 43200
  347. time2 = time.localtime(time1)
  348. time3 = time.strftime('%Y-%m-%d %H:%M:%S', time2)
  349. data_time = str(time3).split(" ")
  350. match_date = data_time[0]
  351. match_time = data_time[1]
  352. return match_date,match_time
  353. def zqone_intodbs(data1, data2, data3, data4, cursor, redis_db):
  354. if data1:
  355. for index, value in enumerate(data1):
  356. if value:
  357. new_hash = hash_func(match_id=data2['game_id'], odds_code=data3, sort=index, p_id=data2['p_id'])
  358. r_hash = r_func(match_id=data2['game_id'], odds_code=data3, sort=index, p_id=data2['p_id'], odd=value)
  359. odds_only = r_hash
  360. if redis_db.hexists("hg3535_zuqiu", r_hash):
  361. pass
  362. else:
  363. redis_db.hset("hg3535_zuqiu", r_hash, 0)
  364. # if data2['pt'] == 0:
  365. sql1 = "insert into st_zq_odds(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, sole, condition, expire_time,odds_only,is_rollball) values (%s,%s,%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) on conflict(sole) do update set utime=%s,odds=%s,expire_time=%s,odds_only=%s,condition=%s;"
  366. cursor.execute(sql1, (
  367. int(data2['league_id']), data3, int(data2['game_id']), data2['utime'], data2['utime'], float(value),
  368. data2['p_id'], data2["p_code"], index, data2["source"], new_hash,
  369. data4[index], data2['expire_time'], odds_only, 1, data2['utime'], value, data2['expire_time'],
  370. odds_only,data4[index]))
  371. # 更新主队st_zq_odds_record表
  372. sql2 = "insert into st_zq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, condition,odds_only,is_rollball) values (%s,%s, %s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s);"
  373. cursor.execute(sql2, (
  374. int(data2['league_id']), data3, int(data2['game_id']), data2['utime'], data2['utime'], float(value),
  375. data2['p_id'], data2["p_code"], index, data2["source"], data4[index], odds_only,1))
  376. #写入数据设置默认值竟然不生效 待看
  377. sql3 = "insert into st_zq_result(match_id, match_score, home_team, guest_team, home_score, guest_score, all_goal, status, first_score, last_score, match_winer, update_time, match_time,match_process,tag,lg_id,u_home_score,u_guest_score,source,p_code) values (%s,%s,%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,%s,%s,%s,%s,%s) on conflict(match_id) do update set update_time=%s,match_score=%s,match_time=%s,match_process=%s,home_score=%s,guest_score=%s;"
  378. cursor.execute(sql3, (
  379. int(data2['game_id']), data2['match_score'],data2['team_home'],data2['team_guest'],data2['score_home'],data2['score_guest'],data2['number'],1,'','','',data2['utime'],data2['time_game'],data2['half_way'],data2['number'],int(data2['league_id']),0,0,'hg3535',data2["p_code"],data2['utime'],data2['match_score'],data2['time_game'],data2['half_way'],data2['score_home'],data2['score_guest']
  380. ))
  381. sql4 = "insert into st_zq_result_record(lg_id, home_team, guest_team, home_score, guest_score, all_goal, status, first_score, last_score, match_score, match_winer, update_time, match_time,match_process,tag,match_id,source,p_code) values (%s,%s,%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,%s,%s,%s);"
  382. cursor.execute(sql4, (
  383. int(data2['league_id']), data2['team_home'],data2['team_guest'],data2['score_home'],data2['score_guest'],data2['number'],1,'','',data2['match_score'],'',data2['utime'],data2['time_game'],data2['half_way'],data2['number'],int(data2['game_id']),'hg3535',data2["p_code"]
  384. ))
  385. def zqtwo_intodbs(data1, data2, data3, data4, cursor, redis_db):
  386. if data1:
  387. new_hash = hash_func(match_id=data2['game_id'], odds_code=data3, sort=data2['sort'], p_id=data2['p_id'])
  388. r_hash = r_func(match_id=data2['game_id'], odds_code=data3, sort=data2['sort'], p_id=data2['p_id'],
  389. odd=data1)
  390. odds_only = r_hash
  391. if redis_db.hexists("hg3535_zuqiu", r_hash):
  392. pass
  393. else:
  394. redis_db.hset("hg3535_zuqiu", r_hash, 0)
  395. # if data2['pt'] == 1:
  396. sql1 = "insert into st_zq_odds(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, sole, condition, expire_time, odds_only,is_today) values (%s,%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) on conflict(sole) do update set utime=%s,odds=%s,expire_time=%s,odds_only=%s,condition=%s;"
  397. cursor.execute(sql1, (
  398. int(data2['league_id']), data3, int(data2['game_id']), data2['utime'], data2['utime'], data1,
  399. data2['p_id'], data2["p_code"], data2['sort'], data2["source"], new_hash,
  400. data4, data2['expire_time'], odds_only, 1, data2['utime'], data1, data2['expire_time'], odds_only,data4))
  401. # 更新主队st_zq_odds_record表
  402. sql2 = "insert into st_zq_odds_record(lg_id, odds_code, match_id, ctime, utime, odds, p_id, p_code, sort, source, condition,odds_only, is_today) values (%s,%s,%s, %s, %s, %s, %s, %s,%s, %s, %s, %s, %s);"
  403. cursor.execute(sql2, (
  404. int(data2['league_id']), data3, int(data2['game_id']), data2['utime'], data2['utime'], data1,
  405. data2['p_id'], data2["p_code"], data2['sort'], data2["source"], data4, odds_only, 1))
  406. sql3 = "insert into st_zq_result(match_id, match_score, home_team, guest_team, home_score, guest_score, all_goal, status, first_score, last_score, match_winer, update_time, match_time,match_process,tag,lg_id,u_home_score,u_guest_score,source,p_code) values (%s,%s,%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,%s,%s,%s,%s,%s) on conflict(match_id) do update set update_time=%s,match_score=%s,match_time=%s,match_process=%s,home_score=%s,guest_score=%s;"
  407. cursor.execute(sql3, (
  408. int(data2['game_id']), data2['match_score'],data2['team_home'],data2['team_guest'],data2['score_home'],data2['score_guest'],data2['number'],1,'','','',data2['utime'],data2['time_game'],data2['half_way'],data2['number'],int(data2['league_id']),0,0,'hg3535',data2["p_code"],data2['utime'],data2['match_score'],data2['time_game'],data2['half_way'],data2['score_home'],data2['score_guest']
  409. ))
  410. sql4 = "insert into st_zq_result_record(lg_id, home_team, guest_team, home_score, guest_score, all_goal, status, first_score, last_score, match_score, match_winer, update_time, match_time,match_process,tag,match_id,source,p_code) values (%s,%s,%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,%s,%s,%s);"
  411. cursor.execute(sql4, (
  412. int(data2['league_id']), data2['team_home'],data2['team_guest'],data2['score_home'],data2['score_guest'],data2['number'],1,'','',data2['match_score'],'',data2['utime'],data2['time_game'],data2['half_way'],data2['number'],int(data2['game_id']),'hg3535',data2["p_code"]
  413. ))
  414. def zqone_competitions(data, cursor):
  415. Competition_sql = "insert into st_zq_competition(home_team, guest_team, lg_id, status, match_id, match_date, match_time, ctime, utime,tag, source,type,expire_time,us_time,is_rollball) values (%s, %s, %s, %s, %s, %s, %s,%s, %s, %s,%s,%s,%s,%s,%s) on conflict(match_id) do update set utime = %s,status=%s,tag=%s,expire_time=%s;"
  416. cursor.execute(Competition_sql, (
  417. data['team_home'], data['team_guest'], data['league_id'],1,data['game_id'], data['match_date'],
  418. data['match_time'],
  419. data['utime'], data['utime'], data['number'], data["source"], 4,data['expire_time'], data['us_time'],data['is_rollball'],
  420. data['utime'], 1, data['number'], data['expire_time']))
  421. def get_pcodes(corner_ball, code):
  422. code_dict = {'concede_size': 1, 'capot': 2, 'two_sides': 3, 'total_goal': 4, 'half_full': 5, 'bodan': 6,
  423. 'first_last_ball': 7, 'temaball': 11}
  424. if corner_ball == "角球":
  425. p_code = "corner_ball"
  426. p_id = 9
  427. elif corner_ball == "会晋级":
  428. p_code = "promotion"
  429. p_id = 10
  430. elif corner_ball == "罚牌数":
  431. p_code = "Penalty_card"
  432. p_id = 12
  433. else:
  434. p_code = code
  435. p_id = code_dict[code]
  436. return p_code, p_id
  437. def news_times(ctime):
  438. time1 = time.mktime(time.strptime(ctime, '%Y-%m-%d %H:%M:%S')) + 43200
  439. time2 = time.localtime(time1)
  440. time3 = time.strftime('%Y-%m-%d %H:%M:%S', time2)
  441. time4 = time3
  442. data_time = str(time4).split(" ")
  443. match_date = data_time[0]
  444. match_time = data_time[1]
  445. return match_date, match_time, time3
  446. def one_post(data, match_id, odds_code, p_id, league_id, p_code, condition, game_code):
  447. if data:
  448. new_hash = hash_func(match_id=match_id, odds_code=odds_code, sort=0, p_id=p_id)
  449. r_hash = r_func(match_id=match_id, odds_code=odds_code, sort=0, p_id=p_id, odd=data)
  450. payload = {
  451. "game_code": game_code,
  452. "title": "odds",
  453. "data": {
  454. "match_id": match_id,
  455. "lg_id": league_id,
  456. "odds_code": odds_code,
  457. "status": 0,
  458. "sort": 0,
  459. "p_code": p_code,
  460. "odds": data,
  461. "condition": condition,
  462. "odds_only": r_hash,
  463. "sole": new_hash,
  464. "source": "hg3535",
  465. "type": 0,
  466. "team": ""
  467. }
  468. }
  469. return payload
  470. def two_post(data, match_id, odds_code, p_id, league_id, p_code, condition, game_code):
  471. if data:
  472. for index, value in enumerate(data):
  473. if value:
  474. s_hash = hash_func(match_id=match_id, odds_code=odds_code, sort=0, p_id=p_id)
  475. o_hash = r_func(match_id=match_id, odds_code=odds_code, sort=0, p_id=p_id, odd=value)
  476. f1 = fuhao(str(condition[index]))
  477. payload = {
  478. "game_code": game_code,
  479. "title": "odds",
  480. "data": {
  481. "match_id": match_id,
  482. "lg_id": league_id,
  483. "odds_code": odds_code,
  484. "status": 0,
  485. "sort": index,
  486. "p_code": p_code,
  487. "odds": value,
  488. "condition": f1,
  489. "odds_only": o_hash,
  490. "sole": s_hash,
  491. "source": "hg3535",
  492. "type": 0,
  493. "team": ""
  494. }
  495. }
  496. return payload