Пример #1
0
 def commitorder(self, data, tmp, user, type, id):
     try:
         x = [x.rstrip(';') for x in tmp]
         sql = ';'.join(x)
         sql = sql.strip(' ').rstrip(';')
         workId = util.workId()
         SqlOrder.objects.get_or_create(username=user,
                                        date=util.date(),
                                        work_id=workId,
                                        status=2,
                                        basename=data['basename'],
                                        sql=sql,
                                        type=type,
                                        text=data['text'],
                                        backup=data['backup'],
                                        bundle_id=id,
                                        assigned=data['assigned'],
                                        delay=data['delay'])
         # 记录转发消息
         Usermessage.objects.create(from_user=user,
                                    time=util.date(),
                                    title='工单:' + workId + ' 提交通知',
                                    content=data['text'],
                                    to_user=data['assigned'],
                                    state='unread')
         submit_push_messages(workId=workId,
                              user=user,
                              addr_ip=addr_ip,
                              text=data['text'],
                              assigned=data['assigned'],
                              id=id).start()
     except Exception as e:
         CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
         return HttpResponse(status=500)
Пример #2
0
    def post(self, request, args=None):
        print("post请求")
        try:
            data = json.loads(request.data['data'])
            tmp = json.loads(request.data['sql'])
            type = request.data['type']
            real_name = request.data['real_name']
            id = request.data['id']
        except KeyError as e:
            CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
            return HttpResponse(status=500)
        else:
            try:
                x = [x.rstrip(';') for x in tmp]
                if str(x[0]).lstrip().startswith('use'):
                    del x[0]
                sql = ';'.join(x)
                sql = sql.strip(' ').rstrip(';')
                workId = util.workId()
                env_name = Env.objects.filter(id=data['env_id'])[0].env_name
                service_name = Service.objects.filter(
                    id=data['service_id'])[0].service_name
                res, err = SqlOrder.objects.get_or_create(
                    username=request.user,
                    date=util.date(),
                    work_id=workId,
                    status=2,
                    basename=data['basename'],
                    sql=sql,
                    type=type,
                    text=data['text'],
                    backup=data['backup'],
                    bundle_id=id,
                    assigned=data['assigned'],
                    delay=data['delay'],
                    real_name=real_name,
                    version=data['version'],
                    env_name=env_name,
                    env_id=data['env_id'],
                    service_name=service_name,
                    service_id=data['service_id'],
                )

                user_res = Account.objects.filter(username=request.user)[0]
                if err and data['env_id'] == 1 and res.bundle_id == 18:
                    arr = order_push_message(addr_ip, res.id, real_name,
                                             real_name)
                    threading.Timer(0, arr.run).start()
                submit_push_messages(workId=workId,
                                     user=request.user,
                                     addr_ip=addr_ip,
                                     text=data['text'],
                                     assigned=data['assigned'],
                                     id=id).start()
                return Response('已提交,请等待管理员审核!')
            except Exception as e:
                traceback.print_exc()
                CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                return HttpResponse(status=500)
Пример #3
0
 def post(self, request, args=None):
     try:
         print(request.data)
         newserviceData = request.data['newserviceData']
         data = json.loads(request.data['data'])
         uporder = request.data['uporder']
         config_properties = request.data['config_properties']
         user = request.data['user']
     except KeyError as e:
         client.captureException()
         CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
         return HttpResponse(status=500)
     else:
         try:
             workId = util.workId()
             onlineinfo_db.objects.get_or_create(
                 iteration_name=data['iteration_name'],
                 date=util.date(),
                 workid=workId,
                 env_name=data['env_name'],
                 project_name=data['project_name'],
                 upstart_time=data['upstart_time'],
                 upbak_time=data['upbak_time'],
                 versionvalue=data['versionvalue'],
                 newserviceData=newserviceData,
                 state_em=data['state_em'],
                 updesc=data['updesc'],
                 sqlorder=str(data['sqlorder']).replace('\'', '\"'),
                 uporder=uporder,
                 addservice=data['addservice'],
                 config_properties=config_properties,
                 progress_editor=data['progress_editor'],
                 remark=data['remark'],
                 owner=user,
                 assigned=data['assigned'])
             CloudOrder.objects.get_or_create(
                 date=util.date(),
                 remark=data['project_name'] + '_' +
                 env_name_list[data['env_name']] + '_' +
                 iteration_list[data['iteration_name']],
                 type=0,
                 status=3,
                 username=user,
                 assigned=data['assigned'],
                 workid=workId)
             submit_push_messages(workId=workId,
                                  user=user,
                                  to_user=data['assigned'],
                                  id=1,
                                  addr_ip=addr_ip,
                                  assigned=data['assigned'],
                                  text='text').run()
             return Response({'status': 'success', 'orderid': workId})
         except Exception as e:
             client.captureException()
             return Response({'status': 'error', 'log': '后端保存失败'})
Пример #4
0
 def post(self, request, args=None):
     try:
         print(request.data)
         data = json.loads(request.data['data'])
         user = request.data['user']
     except KeyError as e:
         client.captureException()
         CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
         return HttpResponse(status=500)
     else:
         workId = util.workId()
         addnewpcinfo_db.objects.get_or_create(
             date=util.date(),
             workid=workId,
             env_name=data['env_name'],
             project_name=data['project_name'],
             remark=data['remark'],
             owner=user,
             os_soft_need=str(data['os_soft_need']).replace('\'', '\"'),
             opentime=data['opentime'],
             appname=data['appname'],
             assigned=data['assigned'],
             newpc_type=data['newpc_type'],
             servernum=data['servernum'],
             cpunum=data['cpunum'],
             mem=data['mem'],
             OsDiskType=data['OsDiskType'],
             OsDiskSize=data['OsDiskSize'],
             DataDiskSize=data['DataDiskSize'],
             domain=data['domain'],
             jdk_version=data['jdk_version'],
             jvm_properties=data['jvm_properties'],
             netbrand=data['netbrand'],
             https_choice=data['https_choice'],
             DataDiskType=data['DataDiskType'])
         CloudOrder.objects.get_or_create(date=util.date(),
                                          remark=data['remark'],
                                          type=2,
                                          status=3,
                                          username=user,
                                          assigned=data['assigned'],
                                          workid=workId)
         submit_push_messages(workId=workId,
                              user=user,
                              to_user=data['assigned'],
                              id=1,
                              addr_ip=addr_ip,
                              assigned=data['assigned'],
                              text='text').run()
         return Response('已提交,请等待管理员审核!')
Пример #5
0
 def post(self, request, args=None):
     try:
         data = json.loads(request.data['data'])
         tmp = json.loads(request.data['sql'])
         type = request.data['type']
         real_name = request.data['real_name']
         id = request.data['id']
     except KeyError as e:
         CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
         return HttpResponse(status=500)
     else:
         try:
             x = [x.rstrip(';') for x in tmp]
             if str(x[0]).lstrip().startswith('use'):
                 del x[0]
             sql = ';'.join(x)
             sql = sql.strip(' ').rstrip(';')
             workId = util.workId()
             SqlOrder.objects.get_or_create(
                 username=request.user,
                 date=util.date(),
                 work_id=workId,
                 status=2,
                 basename=data['basename'],
                 sql=sql,
                 type=type,
                 text=data['text'],
                 backup=data['backup'],
                 bundle_id=id,
                 assigned=data['assigned'],
                 delay=data['delay'],
                 real_name=real_name
             )
             submit_push_messages(
                 workId=workId,
                 user=request.user,
                 addr_ip=addr_ip,
                 text=data['text'],
                 assigned=data['assigned'],
                 id=id
             ).start()
             return Response('已提交,请等待Leader审核!')
         except Exception as e:
             CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
             return HttpResponse(status=500)
Пример #6
0
 def post(self, request, args=None):
     try:
         data = json.loads(request.data['data'])
         tmp = json.loads(request.data['sql'])
         type = request.data['type']
         real_name = request.data['real_name']
         id = request.data['id']
     except KeyError as e:
         CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
         return HttpResponse(status=500)
     else:
         try:
             x = [x.rstrip(';') for x in tmp]
             if str(x[0]).lstrip().startswith('use'):
                 del x[0]
             sql = ';'.join(x)
             sql = sql.strip(' ').rstrip(';')
             workId = util.workId()
             SqlOrder.objects.get_or_create(
                 username=request.user,
                 date=util.date(),
                 work_id=workId,
                 status=2,
                 basename=data['basename'],
                 sql=sql,
                 type=type,
                 text=data['text'],
                 backup=data['backup'],
                 bundle_id=id,
                 assigned=data['assigned'],
                 delay=data['delay'],
                 real_name=real_name
             )
             submit_push_messages(
                 workId=workId,
                 user=request.user,
                 addr_ip=addr_ip,
                 text=data['text'],
                 assigned=data['assigned'],
                 id=id
             ).start()
             return Response('已提交,请等待管理员审核!')
         except Exception as e:
             CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
             return HttpResponse(status=500)
Пример #7
0
 def post(self, request, args=None):
     try:
         data = json.loads(request.data['data'])
         tmp = json.loads(request.data['sql'])
         user = request.data['user']
         source_table = request.data['source_table']
         dest_table = request.data['dest_table']
         archive_condition = request.data['archive_condition']
         soure_dbname = request.data['source_dbname']
         dest_dbname = request.data['dest_dbname']
         source_id = request.data['source_id']
         dest_id = request.data['dest_id']
         source_id = request.data['source_id']
         status = request.data['status']
         type = request.data['type']
         ssh_hostid = request.data['ssh_hostid']
     except KeyError as e:
         CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
         return HttpResponse(status=500)
     else:
         try:
             workId = util.workId()
             ArchiveLog.objects.get_or_create(
                 source_id=source_id,
                 db_source=soure_dbname,
                 table_source=source_table,
                 dest_id=dest_id,
                 db_dest=dest_dbname,
                 dest_table=dest_table,
                 date=util.date(),
                 archive_condition=archive_condition,
                 status=status,
                 type=type,
                 ssh_hostid=ssh_hostid,
             )
             submit_push_messages(workId=workId,
                                  user=user,
                                  addr_ip=addr_ip,
                                  text=data['text'],
                                  assigned=data['assigned'],
                                  id=id).start()
             return Response('已提交!')
         except Exception as e:
             CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
             return HttpResponse(status=500)
Пример #8
0
 def post(self, request, args=None):
     try:
         data = json.loads(request.data['data'])
         user = request.data['user']
     except KeyError as e:
         client.captureException()
         CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
         return HttpResponse(status=500)
     else:
         workId = util.workId()
         extendinfo_db.objects.get_or_create(
             date=util.date(),
             workid=workId,
             env_name=data['env_name'],
             project_name=data['project_name'],
             remark=data['remark'],
             owner=user,
             extend_type=data['extend_type'],
             ghost_choice=data['ghost_choice'],
             os_soft_need=str(data['os_soft_need']).replace('\'', '\"'),
             opentime=data['opentime'],
             servernum=data['servernum'],
             properties_change=data['properties_change'],
             appname=data['appname'],
             assigned=data['assigned'])
         CloudOrder.objects.get_or_create(date=util.date(),
                                          remark=data['remark'],
                                          type=1,
                                          status=3,
                                          username=user,
                                          assigned=data['assigned'],
                                          workid=workId)
         submit_push_messages(workId=workId,
                              user=user,
                              to_user=data['assigned'],
                              id=1,
                              addr_ip=addr_ip,
                              assigned=data['assigned'],
                              text='text').run()
         return Response('已提交,请等待管理员审核!')