operate.py 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. import requests
  2. from model.DateUtils import DateUtils
  3. from model.DataBaseUtils import *
  4. from model.UserAuthUtils import super_auth
  5. du = DateUtils()
  6. def user_channel(arg):
  7. rsp = requests.get('http://api.zanxiangnet.com/system/api/mp/mpAccount/search/3')
  8. channel_list = []
  9. for _ in rsp.json()['data']:
  10. channel_list.append({'id': _['id'], 'nick_name': _['nickName']})
  11. return channel_list
  12. def user_channel_group(arg):
  13. db = MysqlUtils()
  14. rsp = requests.get('http://api.zanxiangnet.com/system/api/mp/mpAccount/search/3')
  15. channel_dict = {}
  16. for _ in rsp.json()['data']:
  17. channel_dict[str(_['id'])] = _['nickName']
  18. user_id = arg.get('user_id')
  19. if user_id:
  20. sql = f"""SELECT id,name,channel_ids from channel_group where id in
  21. (select channel_group_id from user_channel_group_auth where user_id={user_id})"""
  22. else:
  23. # 不传user_id 返回所有组
  24. sql = "select id,name,channel_ids from channel_group"
  25. data = db.quchen_text.getData_json(sql)
  26. for i in data:
  27. sr = ''
  28. for j in i['channel_ids'].split(','):
  29. sr += channel_dict[j] + ','
  30. i['channel_names'] = sr
  31. return data
  32. def user(arg):
  33. # 在2021-9月之后不被前端使用
  34. # 返回所有用户
  35. rsp = requests.get('http://api.zanxiangnet.com/erp/api/user/search/3?powerLevelMin=0')
  36. user_list = []
  37. for _ in rsp.json()['data']:
  38. user_list.append({'user_id': _['userId'], 'nick_name': _['nickName']})
  39. return user_list
  40. def group_add(arg):
  41. db = MysqlUtils()
  42. name = arg.get("name")
  43. ids = arg.get("channel_ids")
  44. if name and ids:
  45. sql = "insert into channel_group (name,channel_ids) values (%s,%s)"
  46. db.quchen_text.execute(sql, (name, ids))
  47. def group_del(arg):
  48. db = MysqlUtils()
  49. id = arg.get("id")
  50. if id:
  51. sql = f"delete from channel_group where id={id}"
  52. db.quchen_text.execute(sql)
  53. def group_auth_add(arg):
  54. db = MysqlUtils()
  55. user_id = arg.get("user_id")
  56. group_id = arg.get("group_id")
  57. if user_id and group_id:
  58. sql = "insert into user_channel_group_auth (user_id,channel_group_id) values (%s,%s)"
  59. db.quchen_text.execute(sql, (user_id, group_id))
  60. def group_auth_del(arg):
  61. db = MysqlUtils()
  62. user_id = arg.get("user_id")
  63. group_id = arg.get("group_id")
  64. if user_id and group_id:
  65. sql = f"delete from user_channel_group_auth where user_id={user_id} and channel_group_id={group_id}"
  66. # print(sql)
  67. db.quchen_text.execute(sql)
  68. def get_channel(arg):
  69. db = MysqlUtils()
  70. user_id = arg.get('user_id')
  71. name = arg.get('name')
  72. pitcher_id = arg.get('pitcher_id')
  73. # 获取公众号列表
  74. rsp = requests.get('http://api.zanxiangnet.com/system/api/mp/mpAccount/search/3')
  75. channel_list_all = []
  76. channel_dict = {}
  77. for _ in rsp.json()['data']:
  78. # channel_list.append((_['id'], _['nickName']))
  79. channel_list_all.append({'id': _['id'], 'nick_name': _['nickName']})
  80. channel_dict[_['id']] = _['nickName']
  81. if user_id in super_auth() and not pitcher_id:
  82. return channel_list_all[:100]
  83. select_id = user_id
  84. # 通过pitcher_id,来添加
  85. if pitcher_id:
  86. select_id = pitcher_id
  87. # 普通权限------java,获取本人对应拥有的公众号
  88. rsp = requests.get(f'http://api.zanxiangnet.com/system/api/mp/mpAccount/subAccountWithUser/3/{select_id}')
  89. channel_list = rsp.json()['data']
  90. data1 = []
  91. for _ in channel_list:
  92. if name in _['nickName']:
  93. data1.append({'id': _['id'], 'nick_name': _['nickName']})
  94. # # 加上配置的号
  95. sql2 = f"""select GROUP_CONCAT(channel_ids) from user_channel_group_auth a
  96. left join channel_group b on a.channel_group_id=b.id
  97. where user_id={select_id}"""
  98. data2 = db.quchen_text.getOne(sql2)
  99. data3 = []
  100. if data2:
  101. data2_2 = tuple(data2.split(','))
  102. for _ in data2_2:
  103. data3.append({'id': int(_), 'nick_name': channel_dict[int(_)]})
  104. data4 = data1 + data3
  105. return data4[:100] # 给100个
  106. def get_pitcher(arg):
  107. user_id = arg.get('user_id')
  108. if user_id in super_auth():
  109. user_list = []
  110. url = 'http://api.zanxiangnet.com/system/api/mp/mpAccount/allPutUser/3'
  111. rsp = requests.get(url)
  112. for _ in rsp.json()['data']:
  113. user_list.append({'user_id': _['userId'], 'nick_name': _['nickName']})
  114. return user_list
  115. user_list = []
  116. rsp = requests.get(url=f'http://api.zanxiangnet.com/erp/api/user/subUser/3/{user_id}')
  117. for _ in rsp.json()['data']:
  118. user_list.append({'user_id': _['userId'], 'nick_name': _['nickName']})
  119. return user_list
  120. def get_user_name_by_id(user_id):
  121. rsp = requests.get(url=f'http://api.zanxiangnet.com/erp/api/user/subUser/3/{user_id}')
  122. nick_name = None
  123. for _ in rsp.json()['data']:
  124. if str(_['userId']) == str(user_id):
  125. nick_name = _['nickName']
  126. return nick_name
  127. if __name__ == '__main__':
  128. # print(get_pitcher({'user_id':78}))
  129. # print(get_user_name_by_id(78))
  130. # user_channel_group({})
  131. # user()
  132. db = MysqlUtils()
  133. sql3 = f"""select id,nick_name from t_mp_account limit 100"""
  134. data3 = db.zx.getData_json(sql3)
  135. print(data3)
  136. # xx=db.quchen_text.getData_json(sql='''select order_id,amount from ods_order oo limit 100''')
  137. # print(xx)