def __run(self,func,outside_self,request,*args, **kwargs):

        if self.transaction:
            with transaction.atomic():
                res = func(outside_self, request, *args, **kwargs)
        else:
            res = func(outside_self, request, *args, **kwargs)

        if 'data' in res and 'res' in res['data'] and res['data']['res'] and 'htmlfile' in res['data'] and res['data']['htmlfile']:

            res['data']['res']['url'] = url_join('/other/{}.html').format(res['data']['ordercode'])

            html = loader.render_to_string( res['data']['htmlfile'],  {
                'data' : res['data']['res']
            }, request, using=None)
            print(html)
            with open('/project/sso/other/{}.html'.format( res['data']['ordercode']), 'w') as f1:
                f1.write(html)
            return HttpResponse(data={"path" : url_join('/other/{}.html').format(res['data']['ordercode'])}, headers=None, msg='操作成功!')
        else:
            if not isinstance(res, dict):
                res = {'data': None, 'msg': None, 'header': None}
            if 'data' not in res:
                res['data'] = None
            if 'msg' not in res:
                res['msg'] =  {}
            if 'header' not in res:
                res['header'] = None
            # logger.info("返回报文:{}".format(res['data']))
            return HttpResponse(data= res['data'],headers=res['header'], msg=res['msg'])
 def wrapper(outside_self, request, *args, **kwargs):
     try:
         self.start = time.time()
         self.__request_validate(request)
         response = self.__run(func, outside_self, request, *args,
                               **kwargs)
         self.end = time.time()
         return response
     except PubErrorCustom as e:
         logger.error('[%s : %s  ] : [%s]' %
                      (outside_self.__class__.__name__,
                       getattr(func, '__name__'), e.msg))
         return HttpResponse(success=False, msg=e.msg, data=None)
     except InnerErrorCustom as e:
         logger.error('[%s : %s  ] : [%s]' %
                      (outside_self.__class__.__name__,
                       getattr(func, '__name__'), e.msg))
         return HttpResponse(success=False,
                             msg=e.msg,
                             rescode=e.code,
                             data=None)
     except Exception as e:
         logger.error('[%s : %s  ] : [%s]' %
                      (outside_self.__class__.__name__,
                       getattr(func, '__name__'), str(e)))
         return HttpResponse(success=False, msg=str(e), data=None)
    def __run(self, func, outside_self, request, *args, **kwargs):

        if self.transaction:
            with transaction.atomic():
                res = func(outside_self, request, *args, **kwargs)
        else:
            res = func(outside_self, request, *args, **kwargs)

        if 'data' in res and 'res' in res['data'] and res['data'][
                'res'] and 'htmlfile' in res['data'] and res['data'][
                    'htmlfile']:

            if str(res['data']['userid']) != '60':
                html = loader.render_to_string(res['data']['htmlfile'],
                                               {'data': res['data']['res']},
                                               request,
                                               using=None)
                print(html)
                with open(
                        '/var/html/tianyi/{}.html'.format(
                            res['data']['ordercode']), 'w') as f1:
                    f1.write(html)
                return HttpResponse(data={
                    "path":
                    url_join('/tianyi/{}.html').format(
                        res['data']['ordercode'])
                },
                                    headers=None,
                                    msg='操作成功!')
            else:
                if request.data.get("pass") == '1':
                    html = loader.render_to_string(
                        res['data']['htmlfile'], {'data': res['data']['res']},
                        request,
                        using=None)
                    # print(html)
                    # with open('/var/html/tianyi/{}.html'.format( res['data']['ordercode']), 'w') as f1:
                    #     f1.write(html)
                    return HttpResponse(data={"html": html},
                                        headers=None,
                                        msg='操作成功!')
                else:
                    return render(request, res['data']['htmlfile'],
                                  {'data': res['data']['res']})
        else:
            if not isinstance(res, dict):
                res = {'data': None, 'msg': None, 'header': None}
            if 'data' not in res:
                res['data'] = None
            if 'msg' not in res:
                res['msg'] = {}
            if 'header' not in res:
                res['header'] = None
            logger.info("返回报文:{}".format(res['data']))
            return HttpResponse(data=res['data'],
                                headers=res['header'],
                                msg=res['msg'])
Beispiel #4
0
import time
Beispiel #5
0
import os
Beispiel #6
0