def subscribe_save_user(): code = 200 data = {} message = 'success' register = False user_info = request.json['userInfo'] with session_manager.session_execute() as session: user = session.query(UserInfo).filter( UserInfo.openId == user_info['openId']).first() if not user: user = UserInfo(nick_name=user_info.get('nickName'), gender=user_info.get('gender'), language=user_info.get('language'), city=user_info.get('city'), province=user_info.get('province'), country=user_info.get('country'), avatar_url=user_info.get('avatarUrl'), openId=user_info.get('openId')) session.add(user) message = '用户信息保存成功!' register = True data['user_info'] = object_to_dict(user) if register: common_task.mail_send.delay(subject='Mp', sender='MincoX', recipients=['*****@*****.**'], body=f'【MincoX】新用户注册,用户信息: {user_info} ') res = {'code': code, 'data': data, 'msg': message} return jsonify(res)
def get_users(): code = 200 data = {} message = '' from apps.common.user.models import Admin, AdminLoginLog, SessionManager as cmSessionManager cmSession_manager = cmSessionManager() with cmSession_manager.session_execute() as session: admins = session.query(Admin).filter().all() data['admins'] = [object_to_dict(admin) for admin in admins] with session_manager.session_execute() as session: proxies = session.query(Proxy).filter().all() data['proxies'] = [object_to_dict(proxy) for proxy in proxies] res = {'code': code, 'data': data, 'msg': message} return jsonify(res)
def subscribe_audit_user(): code = 200 data = {} message = 'success' request_data = json.loads(request.data) openid = request_data.get('openId') operate = request_data.get('operate') with session_manager.session_execute() as session: user = session.query(UserInfo).filter( UserInfo.openId == openid).first() if operate == '2': user.apply_status = 2 result = True message = '已拒绝下发用户' common_task.mail_send.delay( subject='Mp', sender='MincoX', recipients=[user.email], body=f'【MincoX】管理员拒绝了您 {user.apply_date} 的预约') logger.info(f' 已拒绝用户 {user.real_name} 的下发 ') else: result, reason = user_to_device(user) if result: user.apply_status = 1 message = '用户已成下发设备' common_task.mail_send.delay( subject='Mp', sender='MincoX', recipients=[user.email], body=f'【MincoX】恭喜你预约 {user.apply_date} 成功') logger.info(f' 用户 {user.real_name} 下发成功,已发送邮件通知对方 ') else: message = reason user.fail_reason = reason # 利用 mq 实现任务延迟重试 mq = new_routing('routingExchange', 'routingQueue', 'task') mq.routing_producer(json.dumps(object_to_dict(user)), 'task') res = {'code': code, 'data': data, 'msg': message, 'status': result} return jsonify(res)
def subscribe_get_users(): code = 200 data = {} message = 'success' request_data = request.args filter_type = request_data.get('filterType') with session_manager.session_execute() as session: users = session.query(UserInfo).filter( UserInfo.apply_status == filter_type).all() if len(users) >= 1: data = [object_to_dict(user) for user in users] res = {'code': code, 'data': data, 'msg': message} return jsonify(res)