mns-scheduler 1.2.5.4__py3-none-any.whl → 1.2.5.6__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of mns-scheduler might be problematic. Click here for more details.

@@ -9,6 +9,7 @@ import mns_common.component.self_choose.black_list_service_api as black_list_ser
9
9
  from mns_common.db.MongodbUtil import MongodbUtil
10
10
  from datetime import datetime
11
11
  from mns_common.constant.black_list_classify_enum import BlackClassify
12
+ import mns_common.constant.db_name_constant as db_name_constant
12
13
 
13
14
  # 年报审计意见check
14
15
  mongodb_util = MongodbUtil('27017')
@@ -25,11 +26,12 @@ def annual_report_audit_check(new_report_df, period_time):
25
26
  notice_date = list(new_report_one_df['NOTICE_DATE'])[0]
26
27
  now_date = datetime.now()
27
28
  str_day = now_date.strftime('%Y-%m-%d')
28
- str_now_date = now_date.strftime('%Y-%m-%d %H:%M:%S')
29
-
29
+ query = {'symbol': symbol, 'level_code': BlackClassify.AUDIT_PROBLEM.up_level_code}
30
+ mongodb_util.remove_data(query, db_name_constant.SELF_BLACK_STOCK)
30
31
  # 年报有问题
31
32
  if opinion_type != OPINION_TYPE:
32
33
  id_key = symbol + "_" + period_time + "_" + BlackClassify.AUDIT_PROBLEM.level_code
34
+
33
35
  black_list_service_api.save_black_stock(id_key,
34
36
  symbol,
35
37
  name,
@@ -31,14 +31,17 @@ def net_assets_check(report_type, new_report_df, period_time):
31
31
  name = list(new_report_one_df['SECURITY_NAME_ABBR'])[0]
32
32
  now_date = datetime.now()
33
33
  str_day = now_date.strftime('%Y-%m-%d')
34
- str_now_date = now_date.strftime('%Y-%m-%d %H:%M:%S')
35
34
  id_key = symbol + "_" + period_time + "_" + BlackClassify.FINANCIAL_PROBLEM_DEBT.level_code
36
35
  notice_date = list(new_report_one_df['NOTICE_DATE'])[0]
37
36
  query_company = {'_id': symbol, 'industry': {'$in': EXCLUDE_INDUSTRY}}
37
+ query = {'symbol': symbol, 'level_code': BlackClassify.FINANCIAL_PROBLEM_DEBT.up_level_code}
38
+ mongodb_util.remove_data(query, db_name_constant.SELF_BLACK_STOCK)
39
+
38
40
  if mongodb_util.exist_data_query(db_name_constant.COMPANY_INFO, query_company):
39
41
  return None
40
42
 
41
- if liability_ratio >= MAX_LIABILITY_RATIO:
43
+ if liability_ratio >= MAX_LIABILITY_RATIO and net_asset < MIN_NET_ASSET:
44
+
42
45
  black_list_service_api.save_black_stock(id_key,
43
46
  symbol,
44
47
  name,
@@ -54,19 +57,19 @@ def net_assets_check(report_type, new_report_df, period_time):
54
57
  BlackClassify.FINANCIAL_PROBLEM_DEBT.up_level_name,
55
58
  BlackClassify.FINANCIAL_PROBLEM_DEBT.level_code,
56
59
  BlackClassify.FINANCIAL_PROBLEM_DEBT.level_name)
57
- if net_asset < MIN_NET_ASSET:
58
- black_list_service_api.save_black_stock(id_key,
59
- symbol,
60
- name,
61
- str_day,
62
- notice_date,
63
- '净资产低:' + "[" + "负债比:" + str(
64
- liability_ratio) + "]" + "," + "净资产:"
65
- + str(round(net_asset / common_service_fun_api.HUNDRED_MILLION,
66
- 0)) + "亿",
67
- '净资产低:' + "[" + str(liability_ratio) + "]",
68
- '',
69
- BlackClassify.FINANCIAL_PROBLEM_DEBT.up_level_code,
70
- BlackClassify.FINANCIAL_PROBLEM_DEBT.up_level_name,
71
- BlackClassify.FINANCIAL_PROBLEM_DEBT.level_code,
72
- BlackClassify.FINANCIAL_PROBLEM_DEBT.level_name)
60
+ # if net_asset < MIN_NET_ASSET:
61
+ # black_list_service_api.save_black_stock(id_key,
62
+ # symbol,
63
+ # name,
64
+ # str_day,
65
+ # notice_date,
66
+ # '净资产低:' + "[" + "负债比:" + str(
67
+ # liability_ratio) + "]" + "," + "净资产:"
68
+ # + str(round(net_asset / common_service_fun_api.HUNDRED_MILLION,
69
+ # 0)) + "亿",
70
+ # '净资产低:' + "[" + str(liability_ratio) + "]",
71
+ # '',
72
+ # BlackClassify.FINANCIAL_PROBLEM_DEBT.up_level_code,
73
+ # BlackClassify.FINANCIAL_PROBLEM_DEBT.up_level_name,
74
+ # BlackClassify.FINANCIAL_PROBLEM_DEBT.level_code,
75
+ # BlackClassify.FINANCIAL_PROBLEM_DEBT.level_name)
@@ -5,7 +5,9 @@ import mns_common.constant.db_name_constant as db_name_constant
5
5
  import mns_common.component.self_choose.black_list_service_api as black_list_service_api
6
6
  import mns_common.component.common_service_fun_api as common_service_fun_api
7
7
  from mns_common.constant.black_list_classify_enum import BlackClassify
8
+ from mns_common.db.MongodbUtil import MongodbUtil
8
9
 
10
+ mongodb_util = MongodbUtil('27017')
9
11
  file_path = os.path.abspath(__file__)
10
12
  end = file_path.index('mns') + 16
11
13
  project_path = file_path[0:end]
@@ -50,6 +52,10 @@ def profit_income_check(new_report_df, period_time, report_type):
50
52
  # 最小利润收入
51
53
  min_profit = min(total_profit, net_profit, operate_profit,
52
54
  continued_profit, parent_profit, deduct_parent_profit)
55
+
56
+ query = {'symbol': symbol, 'level_code': BlackClassify.FINANCIAL_PROBLEM_PROFIT.up_level_code}
57
+ mongodb_util.remove_data(query, db_name_constant.SELF_BLACK_STOCK)
58
+
53
59
  if min_profit < 0:
54
60
 
55
61
  classification = common_service_fun_api.classify_symbol_one(symbol)
@@ -7,10 +7,8 @@ project_path = file_path[0:end]
7
7
  sys.path.append(project_path)
8
8
 
9
9
  import mns_common.constant.db_name_constant as db_name_constant
10
-
11
- from mns_common.db.MongodbUtil import MongodbUtil
12
-
13
10
  import mns_scheduler.risk.financial_report_risk_check_api as financial_report_risk_check_api
11
+ from mns_common.db.MongodbUtil import MongodbUtil
14
12
 
15
13
  mongodb_util = MongodbUtil('27017')
16
14
 
@@ -18,7 +16,7 @@ mongodb_util = MongodbUtil('27017')
18
16
  def fix_profit_black_list():
19
17
  period_time = "2023-12-31 00:00:00"
20
18
  period = 4
21
- report_type_list = [db_name_constant.EM_STOCK_PROFIT, db_name_constant.EM_STOCK_ASSET_LIABILITY]
19
+ report_type_list = [db_name_constant.EM_STOCK_ASSET_LIABILITY, db_name_constant.EM_STOCK_PROFIT]
22
20
  for report_type in report_type_list:
23
21
  query = {'REPORT_DATE': period_time}
24
22
  em_stock_profit_df_list = mongodb_util.find_query_data(report_type, query)
@@ -495,37 +495,39 @@ blockingScheduler.add_job(sync_high_risk_stocks, 'cron', hour='0,09,12,16', minu
495
495
 
496
496
  # 同步互动回答
497
497
  blockingScheduler.add_job(sync_all_interactive_questions, 'cron', hour='08,12,17', minute='05')
498
-
499
- # 添加第一个时间段的任务:9:25 到 11:30,每 10 秒执行一次
500
- blockingScheduler.add_job(
501
- real_time_task_check_status,
502
- 'cron',
503
- hour='9-11', # 9 点到 11 点
504
- minute='30-59', # 25 分到 59 分(9:25-9:59)
505
- second='*/30', # 每 30
506
- max_instances=4
507
- )
508
-
509
- # 添加第二个时间段的任务:10:00 到 11:30,每 10 秒执行一次
510
- blockingScheduler.add_job(
511
- real_time_task_check_status,
512
- 'cron',
513
- hour='10-11', # 10 点到 11 点
514
- minute='*', # 每分钟
515
- second='*/30', # 每 30
516
- max_instances=4
517
- )
518
-
519
- # 添加第三个时间段的任务:13:00 到 15:00,每 10 秒执行一次
520
- blockingScheduler.add_job(
521
- real_time_task_check_status,
522
- 'cron',
523
- hour='13-15', # 13 点到 15 点
524
- minute='*', # 每分钟
525
- second='*/30', # 每 30
526
- max_instances=4
527
- )
528
-
498
+ #
499
+ # # 添加第一个时间段的任务:9:25 到 11:30,每 10 秒执行一次
500
+ # blockingScheduler.add_job(
501
+ # real_time_task_check_status,
502
+ # 'cron',
503
+ # hour='9-11', # 9 点到 11 点
504
+ # minute='25-59', # 25 分到 59 分(9:25-9:59)
505
+ # second='*/30', # 每 20
506
+ # max_instances=4
507
+ # )
508
+ #
509
+ # # 添加第二个时间段的任务:10:00 到 11:30,每 10 秒执行一次
510
+ # blockingScheduler.add_job(
511
+ # real_time_task_check_status,
512
+ # 'cron',
513
+ # hour='10-11', # 10 点到 11 点
514
+ # minute='*', # 每分钟
515
+ # second='*/30', # 每 20
516
+ # max_instances=4
517
+ # )
518
+ #
519
+ # # 添加第三个时间段的任务:13:00 到 15:00,每 10 秒执行一次
520
+ # blockingScheduler.add_job(
521
+ # real_time_task_check_status,
522
+ # 'cron',
523
+ # hour='13-15', # 13 点到 15 点
524
+ # minute='*', # 每分钟
525
+ # second='*/30', # 每 20
526
+ # max_instances=4
527
+ # )
528
+
529
+ # 实时数据状态同步check,使用 'cron' 触发器来限制任务在 9 点到 15 点之间执行
530
+ blockingScheduler.add_job(real_time_task_check_status, 'cron', hour='9-15', second='*/10', max_instances=4)
529
531
  # 打开交易客户端
530
532
  blockingScheduler.add_job(trader_client_auto_login, 'cron', hour='08,12', minute='30')
531
533
  # 同步公司备注信息
@@ -1,4 +1,4 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mns-scheduler
3
- Version: 1.2.5.4
3
+ Version: 1.2.5.6
4
4
 
@@ -99,16 +99,16 @@ mns_scheduler/risk/financial_report_risk_check_api.py,sha256=BPkMZ7aINfOFPswIV11
99
99
  mns_scheduler/risk/compliance/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
100
100
  mns_scheduler/risk/compliance/undisclosed_annual_report_api.py,sha256=4kY6mgDsZ-zd6W8E3awURwgP3Y71rNqwDkWTAFw8hZk,3676
101
101
  mns_scheduler/risk/financial/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
102
- mns_scheduler/risk/financial/annual_report_audit_check_api.py,sha256=HxQNxlVSPusBkB9k96qUNfIcImlTYHA5Dmr11jAx_LY,2125
103
- mns_scheduler/risk/financial/net_assets_check_api.py,sha256=TPiTDMlX8X7-rkx97M8biMorUVKQlXXes1IBNgtTs6w,4559
104
- mns_scheduler/risk/financial/profit_income_check_api.py,sha256=4iGZEIveq5SIOBziyMH72oxSKbQJ3WfyjUMhDJfxUEU,4358
102
+ mns_scheduler/risk/financial/annual_report_audit_check_api.py,sha256=gXVlca0pronMIfN8ThYh3P9HgnwP1eMUtm4AIAw8kJE,2292
103
+ mns_scheduler/risk/financial/net_assets_check_api.py,sha256=LXuEWhK3ne8qRRZuen6a5peUUvdsRWfODU_RG3v-_Rs,4740
104
+ mns_scheduler/risk/financial/profit_income_check_api.py,sha256=S2jgn29WT6Luoy13n0_JkW9JQUJmqLxfjl1TKsfA3zY,4630
105
105
  mns_scheduler/risk/financial/stock_equity_mortgage_check_api.py,sha256=SQ7dieSCOf1z42Wi1zDEii3poAT5wfyBrV43dXkAaaw,22
106
106
  mns_scheduler/risk/major_violations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
107
107
  mns_scheduler/risk/major_violations/register_and_investigate_stock_sync_api.py,sha256=_xPQxT6OS7J7_PtA7hbfCmMS7VzpZTWoZUOXzwoesUs,5672
108
108
  mns_scheduler/risk/self/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
109
109
  mns_scheduler/risk/self/wei_pan_stock_api.py,sha256=5ebrjFqK49j_yEMffFBCumMeBzq_rmtsA4--lL5mhZs,1899
110
110
  mns_scheduler/risk/test/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
111
- mns_scheduler/risk/test/fix_blask_list.py,sha256=jjLhhIWH1L4CgNp2jQ_HAHbC3wVgeX1TzhqC--_D2MI,1249
111
+ mns_scheduler/risk/test/fix_blask_list.py,sha256=zfUUZl-RrvSCUJPIBdj27cDt3xmz8sxA-OSdVg1z8xI,1245
112
112
  mns_scheduler/risk/transactions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
113
113
  mns_scheduler/risk/transactions/transactions_check_api.py,sha256=4NzdWgLmGPlzE7EgnicYmK115ThFN8O5_APlb2ZF2Do,6890
114
114
  mns_scheduler/self_choose/__init__.py,sha256=wEg73KlZo-dU0yKGwpA1C2y6LZm4IBb94tNda1tqLeg,163
@@ -151,8 +151,8 @@ mns_scheduler/zt/zt_pool/em_zt_pool_sync_api.py,sha256=A5YiAWYdbAxhlTTJ8pOStZrBb
151
151
  mns_scheduler/zt/zt_pool/ths_zt_pool_sync_api.py,sha256=Sy39T-yFwLSIIoSZqQzS-6-W1RlaFWvYpksEXKQVFdI,10456
152
152
  mns_scheduler/zt/zt_pool/update_null_zt_reason_api.py,sha256=1uoiR2Uw46kDfjkvNg2US5rd_4OIkYO3872gIJOufUY,2135
153
153
  mns_scheduler/zz_task/__init__.py,sha256=QWBdZwBCvQw8aS4hnL9_pg3U3ZiNLUXzlImyy9WhUcI,163
154
- mns_scheduler/zz_task/data_sync_task.py,sha256=8nlGKynBJgixUJalSn8azAWrCd5t3t7Jky7ktEZ9OwU,22414
155
- mns_scheduler-1.2.5.4.dist-info/METADATA,sha256=AfDhyM158xciODlERlyKYam9Dqee-i02ATNk3_abr_E,64
156
- mns_scheduler-1.2.5.4.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
157
- mns_scheduler-1.2.5.4.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
158
- mns_scheduler-1.2.5.4.dist-info/RECORD,,
154
+ mns_scheduler/zz_task/data_sync_task.py,sha256=LZqcTIx4X9jNE_rTF3RxDzzD2X_xe7lTM7GtG_hV_fQ,22685
155
+ mns_scheduler-1.2.5.6.dist-info/METADATA,sha256=Gk1t67NKezkNOFI97_SkzqC7F-R3N_lCHjo6-ELE6D0,64
156
+ mns_scheduler-1.2.5.6.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
157
+ mns_scheduler-1.2.5.6.dist-info/top_level.txt,sha256=PXQDFBGR1pWmsUbH5yiLAh71P5HZODTRED0zJ8CCgOc,14
158
+ mns_scheduler-1.2.5.6.dist-info/RECORD,,