Exemplo n.º 1
0
 def sub_module_list(self, api_id, module, main_module):
     if main_module is None or module is None:
         return sub_module_temp()
     query_list = query_menu()
     query_list['main_module'] = main_module
     query_list['module'] = module
     query_list['state'] = 1
     sub_module_list = MySQLEngine("q_boss_menu").where(
         'group_by', **query_list).group_by('sub_module')
     name_list = []
     data_list = []
     for sub_module in sub_module_list:
         sub_module_name = sub_module.get('sub_module', '')
         name_list.append(sub_module_name)
     for val in name_list:
         val_list = [val, val]
         key_list = ['code', 'name']
         key_val_list = dict(zip(key_list, val_list))
         data_list.append(key_val_list)
     if api_id is None:
         rslt = sub_module_temp()
         rslt['data'] = data_list
         return rslt
     else:
         menu_id = MySQLEngine('pro_api').where(api_id=api_id,
                                                state=1)[0]['menu_id']
         selected = MySQLEngine('q_boss_menu').where(
             menu_id=menu_id, state=1)[0]['sub_module']
         rslt = sub_module_temp()
         rslt['data'] = data_list
         rslt['sub_module'] = selected
         return rslt
Exemplo n.º 2
0
def get_module(request):
    user_name = request.COOKIES.get('user_name')
    if user_name:
        if request.method == 'GET':
            data = {}
            if request.GET.get('type') == '1':
                sql = "select distinct main_module from q_boss_menu where state=1 and sys_name='产品系统'"
                res = MySQLEngine('q_boss_menu').defined('query', sql)
                for each in res:
                    data[each['main_module']] = each['main_module']
            elif request.GET.get('type') == '2':
                sql = "select distinct module from q_boss_menu where state=1 and sys_name='产品系统' and main_module='" + request.GET.get(
                    'main_module') + "'"
                res = MySQLEngine('q_boss_menu').defined('query', sql)
                for each in res:
                    data[each['module']] = each['module']
            elif request.GET.get('type') == '3':
                sql = "select menu_id, sub_module from q_boss_menu where state=1 and sys_name='产品系统' and module='" + request.GET.get(
                    'module') + "'"
                res = MySQLEngine('q_boss_menu').defined('query', sql)
                for each in res:
                    data[each['menu_id']] = each['sub_module']
            return JsonResponse(data)
    else:
        return HttpResponseRedirect('/')
Exemplo n.º 3
0
 def module_list(self, api_id, main_module):
     if main_module is None:
         return module_temp()
     module_list = MySQLEngine("q_boss_menu").where(
         'group_by', main_module=main_module, state=1).group_by('module')
     name_list = []
     data_list = []
     for module in module_list:
         module_name = module.get('module', '')
         name_list.append(module_name)
     for val in name_list:
         val_list = [val, val]
         key_list = ['code', 'name']
         key_val_list = dict(zip(key_list, val_list))
         data_list.append(key_val_list)
     if api_id is None:
         rslt = module_temp()
         rslt['data'] = data_list
         return rslt
     else:
         menu_id = MySQLEngine('pro_api').where(api_id=api_id,
                                                state=1)[0]['menu_id']
         clicked = MySQLEngine('q_boss_menu').where(menu_id=menu_id,
                                                    state=1)[0]['sys_name']
         selected = MySQLEngine('q_boss_menu').where(menu_id=menu_id,
                                                     state=1)[0]['module']
         rslt = module_temp()
         rslt['sys_name'] = clicked
         rslt['data'] = data_list
         rslt['module'] = selected
         return rslt
Exemplo n.º 4
0
 def add(self, user_name, realName, password, create_by, user_role, phone):
     try:
         num = 0
         if user_name is None or user_name is '': num += 1
         if password is None or password is '': num += 1
         if create_by is None or create_by is '': num += 1
         if user_role is None or user_role is '': num += 1
         password = Encryption(
             Encryption(password).make_password()).md5_salt()
         phone = [phone, ''][phone is None or phone is '']
         diff_name = MySQLEngine('sys_user').where(user_name=user_name)
         if len(diff_name) > 0:
             rslt = 2
         else:
             if 0 < num <= 4:
                 rslt = 0
             else:
                 me = MySQLEngine('sys_user')
                 rslt = me.insert_into(user_name=user_name,
                                       realName=realName,
                                       password=password,
                                       create_by=create_by,
                                       user_role=user_role,
                                       phone=phone)
         return rslt
     except BaseException as e:
         print(e)
Exemplo n.º 5
0
def case_query(request):
    user_name = request.COOKIES.get('user_name')
    if user_name:
        if request.method == 'GET':
            page = request.GET.get('page')
            limit = request.GET.get('limit')
            main_module = request.GET.get('main_module')
            module = request.GET.get('module')
            sub_module = request.GET.get('sub_module')
            level = request.GET.get('level')
            query_str = request.GET.get('query_str')
            sql = "SELECT * FROM pro_case WHERE state=1 "

            if level is not None and level != '':
                sql += "AND level = '{level}'".format(level=level)
            if query_str is not None and strClean(query_str) != '':
                query_str = strClean(query_str)
                sql += " AND (case_id like'{query_str}' or case_name LIKE'%{query_str}%' or api_id like'{query_str}')".format(
                    query_str=query_str)

            if sub_module is not None and sub_module != '':
                sql += "AND menu_id in (select menu_id from q_boss_menu where state=1 and sys_name='产品系统' and main_module='{main_module}' and module = '{module}' and sub_module ='{sub_module}')".format(
                    main_module=main_module,
                    module=module,
                    sub_module=sub_module)
            elif module is not None and module != '':
                sql += "AND menu_id in (select menu_id from q_boss_menu where state=1 and sys_name='产品系统' and main_module='{main_module}' and module = '{module}')".format(
                    main_module=main_module, module=module)
            elif main_module is not None and main_module != '':
                sql += "AND menu_id in (select menu_id from q_boss_menu where state=1 and sys_name='产品系统' and main_module='{main_module}')".format(
                    main_module=main_module)

            contact_list = MySQLEngine('pro_case').defined(type='query',
                                                           sql=sql)
            paginator = Paginator(contact_list,
                                  limit)  # Show 25 contacts per page
            try:
                contacts = paginator.page(page)
            except PageNotAnInteger:
                # If page is not an integer, deliver first page.
                contacts = paginator.page(1)
            except EmptyPage:
                # If page is out of range (e.g. 9999), deliver last page of results.
                contacts = paginator.page(paginator.num_pages)
            for each in contacts.object_list:
                r = MySQLEngine('q_boss_menu').where(menu_id=each['menu_id'])
                each['main_module'] = r[0]['main_module']
                each['module'] = r[0]['module']
                each['sub_module'] = r[0]['sub_module']
            data = contacts.object_list, len(contact_list)
            return JsonResponse({
                'code': 0,
                'msg': 'ok',
                'count': data[1],
                'data': data[0]
            })
    else:
        return HttpResponseRedirect('/')
Exemplo n.º 6
0
 def delete(self, id, delete_by):
     """
     软删除,使用update修改状态,不用delete
     :param id:
     :param delete_by:
     :return:
     """
     me = MySQLEngine('sys_user')
     # rslt = me.delete(id=id)
     update_dict = {'update_by': delete_by, 'state': 0}
     rslt = me.update_set(update_dict, id=id)
     return rslt
Exemplo n.º 7
0
 def api_list(self, page, limit):
     base_pro_api_list = MySQLEngine('pro_api').where(
         'limit', state=1).limit(page=page, limit=limit)
     qboss_menu_list = MySQLEngine('q_boss_menu').where(state=1)
     api_list = ProApiMapper('menu_id').mapping(
         list=base_pro_api_list, relation_list=qboss_menu_list)
     paginator = Paginator(api_list, limit)  # Show 25 contacts per page
     try:
         contacts = paginator.page(page)
     except PageNotAnInteger:
         # If page is not an integer, deliver first page.
         contacts = paginator.page(1)
     except EmptyPage:
         # If page is out of range (e.g. 9999), deliver last page of results.
         contacts = paginator.page(paginator.num_pages)
     return contacts.object_list, len(api_list)
Exemplo n.º 8
0
 def params_list(self, api_id):
     rslt = {}
     if api_id is None: return rslt
     base_pro_api_list = MySQLEngine('pro_api').where(api_id=api_id,
                                                      state=1)
     rslt = ProReqSingleParamsMapper().mapping(list=base_pro_api_list)
     return rslt
Exemplo n.º 9
0
 def edit_sub_module(self, api_id):
     if api_id is None:
         sub_module = None
     else:
         api_info = MySQLEngine('pro_api').where(id=api_id)
         sub_module = api_info[0].get('sub_module')
     return sub_module
Exemplo n.º 10
0
def task_query(request):
    user_name = request.COOKIES.get('user_name')
    if user_name:
        if request.method == 'GET':
            page = request.GET.get('page')
            limit = request.GET.get('limit')
            query_str = request.GET.get('query_str')
            sql = "SELECT * FROM pro_task WHERE state=1 "

            if query_str is not None and strClean(query_str) != '':
                query_str = strClean(query_str)
                sql += " AND (task_id like'{query_str}' or task_name LIKE'%{query_str}%')".format(
                    query_str=query_str)
            contact_list = MySQLEngine('pro_task').defined(type='query',
                                                           sql=sql)
            paginator = Paginator(contact_list,
                                  limit)  # Show 25 contacts per page
            try:
                contacts = paginator.page(page)
            except PageNotAnInteger:
                # If page is not an integer, deliver first page.
                contacts = paginator.page(1)
            except EmptyPage:
                # If page is out of range (e.g. 9999), deliver last page of results.
                contacts = paginator.page(paginator.num_pages)
            data = contacts.object_list, len(contact_list)
            print(data[0])
            return JsonResponse({
                'code': 0,
                'msg': 'ok',
                'count': data[1],
                'data': data[0]
            })
    else:
        return HttpResponseRedirect('/')
Exemplo n.º 11
0
 def add(self, QueryDict, create_by):
     try:
         key_list = []
         val_list = []
         for k in QueryDict:
             if k[:-2] == 'key':
                 key_list.append(str(QueryDict[k]))
             elif k[:-2] == 'val':
                 val_list.append(str(QueryDict[k]))
         params_dict = dict(zip(key_list, val_list))
         rslt = MySQLEngine('pro_api').insert_into(
             module=QueryDict.get('module', None),
             sub_module=QueryDict.get('sub_module', None),
             api_name=QueryDict.get('api_name', None),
             api_type=QueryDict.get('api_type', None),
             method=QueryDict.get('method', None),
             path=QueryDict.get('path', None),
             headers=QueryDict.get('headers', None),
             uri_params=QueryDict.get('uri_params', None),
             req_params=str(params_dict),
             req_body=QueryDict.get('req_body', None),
             create_by=create_by,
             remark=QueryDict.get('remark', None),
             state=QueryDict.get('state', None),
         )
         return rslt
     except BaseException as e:
         print(e)
Exemplo n.º 12
0
 def api_delete(self, api_id, update_by):
     update_dict = {'updated_by': update_by, 'state': 0}
     rslt = MySQLEngine('pro_api').update_set(update_dict,
                                              api_id=api_id,
                                              state=1)
     if rslt is str: rslt = 0
     return rslt
Exemplo n.º 13
0
def api_query(request):
    user_name = request.COOKIES.get('user_name')
    if user_name:
        if request.method == 'GET':
            res = MySQLEngine('pro_api').where(
                api_id=request.GET.get('api_id'))
            return JsonResponse(res[0])
    else:
        return HttpResponseRedirect('/')
Exemplo n.º 14
0
def case_delete(request):
    user_name = request.COOKIES.get('user_name')
    if user_name:
        if request.method == 'GET':
            data = {'updated_by': user_name, 'state': 0}
            res = MySQLEngine('pro_case').update_set(
                data, case_id=request.GET.get('case_id'))
            return HttpResponse(res)
    else:
        return HttpResponseRedirect('/')
Exemplo n.º 15
0
def pub_api_query(request):
    user_name = request.COOKIES.get('user_name')
    if user_name:
        if request.method == 'GET':
            res = MySQLEngine('pub_api').where(
                api_id=request.GET.get('api_id'), state=1)
            if len(res) == 0:
                return HttpResponse('API不存在')
            return JsonResponse(res[0])
    else:
        return HttpResponseRedirect('/')
Exemplo n.º 16
0
 def api_list(self, page, limit):
     contact_list = MySQLEngine('pro_api').where(state=1)
     paginator = Paginator(contact_list, limit)  # Show 25 contacts per page
     try:
         contacts = paginator.page(page)
     except PageNotAnInteger:
         # If page is not an integer, deliver first page.
         contacts = paginator.page(1)
     except EmptyPage:
         # If page is out of range (e.g. 9999), deliver last page of results.
         contacts = paginator.page(paginator.num_pages)
     return contacts.object_list, len(contact_list)
Exemplo n.º 17
0
 def edit(self, QueryDict, update_by):
     try:
         req_key_list = []
         k_list = []
         req_val_list = []
         v_list = []
         id = QueryDict.get('id', None)
         QueryList = []
         for key in QueryDict:
             if key == 'id':
                 pass
             elif key == 'data[csrfmiddlewaretoken]':
                 pass
             elif key[5:-1][:-2] == 'key':
                 req_key_list.append(key[5:-1])
             elif key[5:-1][:-2] == 'val':
                 req_val_list.append(key[5:-1])
             else:
                 QueryList.append("" + key[5:-1] + "")
         for req_key in req_key_list:
             key_v = QueryDict.get('data[%s]' % req_key, None)
             k_list.append(key_v)
         for req_val in req_val_list:
             val_v = QueryDict.get('data[%s]' % req_val, None)
             v_list.append(val_v)
         params_dict = dict(zip(k_list, v_list))
         QueryList.sort()
         # 封装Page类
         update_dict = {
             'api_name': None,
             'api_type': None,
             'req_body': None,
             'uri_params': None,
             'req_params': None,
             'headers': None,
             'method': None,
             'module': None,
             'remark': None,
             'state': None,
             'path': None,
             'sub_module': None,
             'update_by': None
         }
         update_dict['id'] = id
         update_dict['update_by'] = update_by
         update_dict['req_params'] = str(params_dict)
         for i in QueryList:
             update_dict[i] = QueryDict.get('data[' + i + ']', None)
         rslt = MySQLEngine('pro_api').update_set(update_dict, id=id)
         return rslt
     except BaseException as e:
         print(e)
Exemplo n.º 18
0
 def api_add(self, QueryDict, create_by):
     try:
         key_list = []
         val_list = []
         module_val = None
         for key in QueryDict:
             if key[:-2] == 'key':
                 key_list.append(str(QueryDict[key]))
             elif key[:-2] == 'val':
                 val_list.append(str(QueryDict[key]))
         params_dict = dict(zip(key_list, val_list))
         query = add_query_menu()
         query['sys_name'] = QueryDict['sys_name']
         query['main_module'] = QueryDict['main_module']
         query['module'] = module_val
         query['sub_module'] = QueryDict['sub_module']
         query['state'] = 1
         menu_id_list = MySQLEngine('q_boss_menu').where(**query)
         if len(menu_id_list) is 0:
             menu_id = 0
         else:
             menu_id = menu_id_list[0]['menu_id']
         insert_dict = api_add_info()
         insert_dict['menu_id'] = menu_id,
         insert_dict['api_name'] = QueryDict.get('api_name', None),
         insert_dict['api_type'] = QueryDict.get('api_type', None),
         insert_dict['method'] = QueryDict.get('method', None),
         insert_dict['path'] = QueryDict.get('path', None),
         insert_dict['headers'] = QueryDict.get('headers', None),
         insert_dict['uri_params'] = QueryDict.get('uri_params', None),
         insert_dict['req_params'] = strClean(str(params_dict)),
         insert_dict['req_body'] = QueryDict.get('req_body', None),
         insert_dict['created_by'] = create_by,
         insert_dict['remark'] = QueryDict.get('remark', None),
         insert_dict['state'] = QueryDict.get('state', None),
         rslt = MySQLEngine('pro_api').insert_into(**insert_dict)
         return rslt
     except BaseException as e:
         print(e)
Exemplo n.º 19
0
 def sub_module_list(self, module):
     sub_module_list = MySQLEngine('q_boss_sys_menu').where(module=module)
     list = []
     rslt_list = []
     for sub_module in sub_module_list:
         sub_module_name = sub_module.get('sub_module', '')
         list.append(sub_module_name)
     for val in list:
         val_list = [val, val]
         key_list = ['code', 'name']
         rslt = dict(zip(key_list, val_list))
         rslt_list.append(rslt)
     return rslt_list
Exemplo n.º 20
0
 def authenticate(self, user_name, password):
     """
     需要添加判重
     :param user_name:
     :param password:
     :return:
     """
     user_list = MySQLEngine('sys_user').where(user_name=user_name,
                                               password=password,
                                               state=1)
     if len(user_list) == 0 or len(user_list) > 1:
         user_name = '账号异常!!'
     elif len(user_list) == 1:
         user_name = user_list[0].get('user_name', '')
     return user_name
Exemplo n.º 21
0
def pub_case_add(request):
    user_name = request.COOKIES.get('user_name')
    if user_name:
        if request.method == 'POST':
            data = {}
            for key in request.POST:
                if strClean(request.POST.get(key)) != '':
                    data[key] = strClean(request.POST.get(key))
                elif key in [
                        'case_name', 'level', 'expected_result', 'api_id'
                ]:
                    return HttpResponse(key)
            data['created_by'] = user_name
            res = MySQLEngine('pub_case').insert_into(**data)
            return HttpResponse(res)
    else:
        return HttpResponseRedirect('/')
Exemplo n.º 22
0
def case_update(request):
    user_name = request.COOKIES.get('user_name')
    if user_name:
        if request.method == 'POST':
            data = {}
            for key in request.POST:
                if strClean(request.POST.get(key)) != '':
                    data[key] = strClean(request.POST.get(key))
                elif key in [
                        'case_name', 'module', 'sub_module', 'level',
                        'expected_result'
                ]:
                    return HttpResponse(key)
            data['updated_by'] = user_name
            res = MySQLEngine('pro_case').update_set(data,
                                                     id=request.POST.get('id'))
            return HttpResponse(res)
    else:
        return HttpResponseRedirect('/')
Exemplo n.º 23
0
def pub_case_query(request):
    user_name = request.COOKIES.get('user_name')
    if user_name:
        if request.method == 'GET':
            page = request.GET.get('page')
            limit = request.GET.get('limit')
            level = request.GET.get('level')
            query_str = request.GET.get('query_str')
            sql = "select case_id,b.api_id,case_name,level,path,uri_params_value,req_body_value,req_params_value,expected_result, a.remark as remark " \
                  "from pub_case as a left join pub_api b on a.api_id = b.api_id " \
                  "where a.state=1 "

            if level is not None and level != '':
                sql += "AND level = '{level}'".format(level=level)
            if query_str is not None and strClean(query_str) != '':
                query_str = strClean(query_str)
                sql += " AND (case_id like'{query_str}' or case_name LIKE'%{query_str}%' or api_id like'{query_str}')".format(
                    query_str=query_str)

            contact_list = MySQLEngine('pub_case').defined(type='query',
                                                           sql=sql)
            paginator = Paginator(contact_list,
                                  limit)  # Show 25 contacts per page
            try:
                contacts = paginator.page(page)
            except PageNotAnInteger:
                # If page is not an integer, deliver first page.
                contacts = paginator.page(1)
            except EmptyPage:
                # If page is out of range (e.g. 9999), deliver last page of results.
                contacts = paginator.page(paginator.num_pages)
            data = contacts.object_list, len(contact_list)
            return JsonResponse({
                'code': 0,
                'msg': 'ok',
                'count': data[1],
                'data': data[0]
            })
    else:
        return HttpResponseRedirect('/')
Exemplo n.º 24
0
 def delete(self, id, update_by):
     me = MySQLEngine('pro_api')
     update_dict = {'update_by': update_by, 'state': 0}
     rslt = me.update_set(update_dict, id=id)
     if rslt is str: rslt = 0
     return rslt
Exemplo n.º 25
0
 def api_edit(self, QueryDict, update_by):
     try:
         print(QueryDict)
         req_key_list = []
         k_list = []
         req_val_list = []
         v_list = []
         module_val = None
         sys_name_val = None
         main_module_val = None
         sub_module_val = None
         api_id = QueryDict.get('api_id', None)
         if api_id is None:
             return None
         else:
             QueryList = []
             for key in QueryDict:
                 if key == 'api_id':
                     pass
                 elif key == 'data[csrfmiddlewaretoken]':
                     pass
                 elif key[5:-1][:-2] == 'key':
                     req_key_list.append(key[5:-1])
                 elif key[5:-1][:-2] == 'val':
                     req_val_list.append(key[5:-1])
                 elif key == 'sys_name':
                     sys_name_val = QueryDict['sys_name']
                 elif key == 'main_module':
                     main_module_val = QueryDict['main_module']
                 elif key == 'module':
                     module_val = QueryDict['module']
                 elif key == 'sub_module_val':
                     sub_module_val = QueryDict['sub_module_val']
                 elif key == 'api_name':
                     api_name = QueryDict['api_name']
                     total = MySQLEngine("pro_api").where_like(
                         api_name=api_name, state=1)
                     if len(total) > 0: pass
                 else:
                     QueryList.append("%s" % (key[5:-1]))
             for req_key in req_key_list:
                 key_v = QueryDict.get('data[%s]' % req_key, None)
                 k_list.append(key_v)
             for req_val in req_val_list:
                 val_v = QueryDict.get('data[%s]' % req_val, None)
                 v_list.append(val_v)
             params_dict = dict(zip(k_list, v_list))
             query = edit_query_menu()
             query['sys_name'] = sys_name_val
             query['main_module'] = main_module_val
             query['module'] = module_val
             query['sub_module'] = sub_module_val
             query['state'] = 1
             menu_id_list = MySQLEngine('q_boss_menu').where(**query)
             QueryList.sort()
             if len(menu_id_list) is 0:
                 menu_id = 0
             else:
                 menu_id = menu_id_list[0]['menu_id']
             # 封装Template模版
             update_dict = update()
             update_dict['menu_id'] = menu_id
             update_dict['updated_by'] = update_by
             update_dict['req_params'] = str(params_dict)
             for i in QueryList:
                 if i in update_dict:
                     update_dict[i] = QueryDict.get('data[' + i + ']', None)
             rslt = MySQLEngine('pro_api').update_set(update_dict,
                                                      api_id=api_id,
                                                      state=1)
             return rslt
     except BaseException as e:
         print(e)
Exemplo n.º 26
0
 def query(self, user_name, id):
     user_list = MySQLEngine('sys_user').where_or(user_name=user_name,
                                                  id=id)
     return user_list[0].get('user_name', '')