report add go
Showing
4 changed files
with
45 additions
and
2 deletions
... | @@ -968,3 +968,13 @@ class AFCOfflineReport(models.Model): | ... | @@ -968,3 +968,13 @@ class AFCOfflineReport(models.Model): |
968 | db_table = 'afc_offline_report' | 968 | db_table = 'afc_offline_report' |
969 | situ_db_label = 'afc' | 969 | situ_db_label = 'afc' |
970 | 970 | ||
971 | |||
972 | class GenericOCRReport(models.Model): | ||
973 | id = models.AutoField(primary_key=True, verbose_name="id") # 主键 | ||
974 | status = models.BooleanField(default=True, verbose_name="是否成功") | ||
975 | duration = models.IntegerField(null=True, verbose_name='处理时长') | ||
976 | create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间') | ||
977 | |||
978 | class Meta: | ||
979 | managed = False | ||
980 | db_table = 'generic_ocr_report' | ... | ... |
... | @@ -46,6 +46,7 @@ from .models import ( | ... | @@ -46,6 +46,7 @@ from .models import ( |
46 | HILbankVerification, | 46 | HILbankVerification, |
47 | AFCbankVerification, | 47 | AFCbankVerification, |
48 | MposReport, | 48 | MposReport, |
49 | GenericOCRReport, | ||
49 | ) | 50 | ) |
50 | from .named_enum import ErrorType, AutoResult, WholeResult, RPAResult | 51 | from .named_enum import ErrorType, AutoResult, WholeResult, RPAResult |
51 | from .mixins import DocHandler, MPOSHandler | 52 | from .mixins import DocHandler, MPOSHandler |
... | @@ -1510,14 +1511,34 @@ class GoView(GenericView): | ... | @@ -1510,14 +1511,34 @@ class GoView(GenericView): |
1510 | 1511 | ||
1511 | @use_args(go_args, location='files') | 1512 | @use_args(go_args, location='files') |
1512 | def post(self, request, args): | 1513 | def post(self, request, args): |
1514 | result = None | ||
1515 | is_success = False | ||
1516 | start_time = time.time() | ||
1517 | try: | ||
1513 | files = [ | 1518 | files = [ |
1514 | ('img', ('file', args.get('image'), 'application/octet-stream')) | 1519 | ('img', ('file', args.get('image'), 'application/octet-stream')) |
1515 | ] | 1520 | ] |
1516 | 1521 | ||
1517 | go_result = requests.post(url=conf.GO_OCR_URL, files=files) | 1522 | go_result = requests.post(url=conf.GO_OCR_URL, files=files) |
1518 | 1523 | except Exception as e: | |
1524 | pass | ||
1525 | else: | ||
1519 | if go_result.status_code == 200: | 1526 | if go_result.status_code == 200: |
1527 | is_success = True | ||
1520 | result = go_result.json().get('data', '') | 1528 | result = go_result.json().get('data', '') |
1529 | finally: | ||
1530 | end_time = time.time() | ||
1531 | duration_second = int(end_time - start_time) | ||
1532 | |||
1533 | try: | ||
1534 | GenericOCRReport.objects.create( | ||
1535 | status=is_success, | ||
1536 | duration=duration_second, | ||
1537 | ) | ||
1538 | except Exception as e: | ||
1539 | self.exception_log.exception('[go view] [db save failed] [error={0}]'.format(traceback.format_exc())) | ||
1540 | |||
1541 | if is_success: | ||
1521 | return response.ok(data=result) | 1542 | return response.ok(data=result) |
1522 | else: | 1543 | else: |
1523 | return response.res_content(3, '识别错误', data=None) | 1544 | return response.error_msg(msg='识别错误') | ... | ... |
... | @@ -35,6 +35,10 @@ def ok(**kwargs): | ... | @@ -35,6 +35,10 @@ def ok(**kwargs): |
35 | return APIResponse(MetaStatus.SUCCESS.value, msg=MetaStatus.SUCCESS.verbose_name, **kwargs) | 35 | return APIResponse(MetaStatus.SUCCESS.value, msg=MetaStatus.SUCCESS.verbose_name, **kwargs) |
36 | 36 | ||
37 | 37 | ||
38 | def error_msg(msg='internal error', **kwargs): | ||
39 | return APIResponse(MetaStatus.INTERNAL_ERROR.value, msg=msg, **kwargs) | ||
40 | |||
41 | |||
38 | def need_update(**kwargs): | 42 | def need_update(**kwargs): |
39 | return APIResponse(MetaStatus.NEED_UPDATE.value, msg=MetaStatus.NEED_UPDATE.verbose_name, **kwargs) | 43 | return APIResponse(MetaStatus.NEED_UPDATE.value, msg=MetaStatus.NEED_UPDATE.verbose_name, **kwargs) |
40 | 44 | ... | ... |
1 | import pyodbc | 1 | import pyodbc |
2 | 2 | ||
3 | hil_sql = """ | 3 | hil_sql = """ |
4 | create table generic_ocr_report | ||
5 | ( | ||
6 | id bigint identity primary key, | ||
7 | status bit default 1 not null, | ||
8 | duration smallint, | ||
9 | create_time datetime not null | ||
10 | ); | ||
11 | |||
4 | ALTER TABLE mpos_report ADD source tinyint default 0 not null; | 12 | ALTER TABLE mpos_report ADD source tinyint default 0 not null; |
5 | """ | 13 | """ |
6 | 14 | ... | ... |
-
Please register or sign in to post a comment