| | |
| | | |
| | | |
| | | class DelegateRecordManager: |
| | | key_list = ["id", "orderLocalID", "securityID", "securityName", "direction", "orderSysID", "insertTime", |
| | | "insertDate", "acceptTime", "cancelTime", "limitPrice", "turnover", "volume", "volumeTraded", |
| | | "orderStatus", "orderSubmitStatus", "statusMsg", "createTime", "updateTime", "accountID"] |
| | | |
| | | @classmethod |
| | | def add(cls, datas): |
| | | mysqldb = mysql_data.Mysqldb() |
| | |
| | | results = mysqldb.select_all( |
| | | f"select * from hx_trade_delegate_record r where {' and '.join(where_list)} order by createTime") |
| | | # 转dict |
| | | key_list = ["id", "orderLocalID", "securityID", "securityName", "direction", "orderSysID", "insertTime", |
| | | "insertDate", "acceptTime", "cancelTime", "limitPrice", "turnover", "volume", "volumeTraded", |
| | | "orderStatus", "orderSubmitStatus", "statusMsg", "createTime", "updateTime", "accountID"] |
| | | fresults = [] |
| | | max_update_time = None |
| | | if results: |
| | |
| | | temp = {} |
| | | for i in range(len(r)): |
| | | if type(r[i]) == datetime.datetime: |
| | | temp[key_list[i]] = r[i].strftime("%Y-%m-%d %H:%M:%S") |
| | | temp[cls.key_list[i]] = r[i].strftime("%Y-%m-%d %H:%M:%S") |
| | | else: |
| | | temp[key_list[i]] = r[i] |
| | | temp[cls.key_list[i]] = r[i] |
| | | fresults.append(temp) |
| | | return fresults, max_update_time.strftime("%Y-%m-%d %H:%M:%S") if max_update_time else None |
| | | finally: |
| | | pass |
| | | |
| | | # 获取最近的撤单记录 |
| | | @classmethod |
| | | def list_latest_cancel_records(cls, count, day=tool.get_now_date_str("%Y%m%d")): |
| | | mysqldb = mysql_data.Mysqldb() |
| | | where_list = [f"r.insertDate='{day}'", "r.cancelTime!=''"] |
| | | results = mysqldb.select_many( |
| | | f"select * from hx_trade_delegate_record r where {' and '.join(where_list)} order by r.cancelTime desc", |
| | | count) |
| | | fresults = [] |
| | | if results: |
| | | for r in results: |
| | | temp = {} |
| | | for i in range(len(r)): |
| | | if type(r[i]) == datetime.datetime: |
| | | temp[cls.key_list[i]] = r[i].strftime("%Y-%m-%d %H:%M:%S") |
| | | else: |
| | | temp[cls.key_list[i]] = r[i] |
| | | fresults.append(temp) |
| | | return fresults |
| | | |
| | | |
| | | # 持仓记录 |
| | |
| | | |
| | | |
| | | if __name__ == "__main__": |
| | | results = DelegateRecordManager.list_by_day('20230704', '1970-01-01') |
| | | results = DelegateRecordManager.list_latest_cancel_records(10) |
| | | print(results) |