From 520cb3bb7a9857d8aa3d44e6a30abfd826b3284e Mon Sep 17 00:00:00 2001
From: zhouweiqi <zhouweiqi@situdata.com>
Date: Mon, 17 Oct 2022 16:20:01 +0800
Subject: [PATCH] fix bug

---
 src/apps/doc/views.py | 12 ++++++++++--
 src/prese/compare.py  |  8 ++++----
 src/prese/consts.py   |  8 ++++----
 3 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/src/apps/doc/views.py b/src/apps/doc/views.py
index faf9c66..c69f37a 100644
--- a/src/apps/doc/views.py
+++ b/src/apps/doc/views.py
@@ -62,8 +62,16 @@ class CustomDate(fields.Date):
 
 class CustomDecimal(fields.Decimal):
 
+    def __init__(self, places_2=False, *args, **kwargs):
+        self.places_2 = places_2
+        super().__init__(*args, **kwargs)
+
     def _deserialize(self, value, attr, data, **kwargs):
-        return self._to_string(self._validated(value))
+        if self.places_2:
+            return format(self._validated(value), ".2f")
+        else:
+            return format(self._validated(value), "f")
+        # return self._to_string(self._validated(value))
 
 
 # restframework将request.body封装至request.data, webargs从request.data中获取参数
@@ -109,7 +117,7 @@ se_associated_args = {
 
 se_payment_args = {
     'term': fields.Int(required=True),
-    'amount': CustomDecimal(required=True)
+    'amount': CustomDecimal(required=True, places_2=True)
 }
 
 se_bank_args = {
diff --git a/src/prese/compare.py b/src/prese/compare.py
index 53f00db..962d201 100644
--- a/src/prese/compare.py
+++ b/src/prese/compare.py
@@ -254,7 +254,7 @@ def pre_compare_license_id(license_en, id_res_list, field_list, applicant_type):
 
             # 身份证、居住证 过期期限特殊处理
             expiry_dates = set()
-            key = compare_logic.get('idExpiryDate')[0]
+            key = compare_logic.get(consts.ID_FIELDS[2])[0]
             for ocr_res in ocr_res_list:
                 if key in ocr_res:
                     expiry_dates.add(ocr_res[key])
@@ -280,7 +280,7 @@ def pre_compare_license_id(license_en, id_res_list, field_list, applicant_type):
 
                     # 过期期限特殊处理
                     # N, N1, N2, Y
-                    if name == 'idExpiryDate' and result == consts.RESULT_N:  # 遍历所有背面过期时间
+                    if name == consts.ID_FIELDS[2] and result == consts.RESULT_N:  # 遍历所有背面过期时间
                         if len(expiry_dates) == 0:
                             result = consts.RESULT_N1
                             ocr_str = empty_str
@@ -302,7 +302,7 @@ def pre_compare_license_id(license_en, id_res_list, field_list, applicant_type):
                                     result = consts.RESULT_Y
 
                     if ca_or_se_idx == 0:
-                        if name == 'idExpiryDate':
+                        if name == consts.ID_FIELDS[2]:
                             if result == consts.RESULT_N or result == consts.RESULT_N1:
                                 break
                         elif result == consts.RESULT_N:
@@ -316,7 +316,7 @@ def pre_compare_license_id(license_en, id_res_list, field_list, applicant_type):
                     if isinstance(value, list):
                         value = json.dumps(value, ensure_ascii=False)
 
-                    comments = consts.ID_DATE_MAP[result] if name == 'idExpiryDate' else compare_logic[name][3]
+                    comments = consts.ID_DATE_MAP[result] if name == consts.ID_FIELDS[2] else compare_logic[name][3]
                     result_field_list.append((value, ocr_str, result, '{0}{1}'.format(applicant_type, comments)))
 
     if not is_find:
diff --git a/src/prese/consts.py b/src/prese/consts.py
index f431d2e..db3a7f8 100644
--- a/src/prese/consts.py
+++ b/src/prese/consts.py
@@ -111,10 +111,10 @@ HT_COMPARE_LOGIC = {
     AFC_CON_FIELDS[8]: ('ASP项目详情-重要条款', 'se_asp_compare', {}, '合同(重要条款)ASP名称或者金额与系统不一致'),
     AFC_CON_FIELDS[9]: ('ASP项目详情', 'se_asp_compare', {}, '合同ASP名称或者金额与系统不一致'),
 
-    '主借人日期': ('主借人日期', 'se_have_compare', {}, '合同主借款人签字日期无'),
-    '共借人日期': ('共借人日期', 'se_have_compare', {}, '合同共借人签字日期无'),
-    '保证人日期1': ('保证人日期1', 'se_have_compare', {}, '合同担保人1签字日期无'),
-    '保证人日期2': ('保证人日期2', 'se_have_compare', {}, '合同担保人2签字日期无'),
+    AFC_HT_DATE_FIELDS[0]: ('主借人日期', 'se_have_compare', {}, '合同主借款人签字日期无'),
+    AFC_HT_DATE_FIELDS[1]: ('共借人日期', 'se_have_compare', {}, '合同共借人签字日期无'),
+    AFC_HT_DATE_FIELDS[2]: ('保证人日期1', 'se_have_compare', {}, '合同担保人1签字日期无'),
+    AFC_HT_DATE_FIELDS[3]: ('保证人日期2', 'se_have_compare', {}, '合同担保人2签字日期无'),
 }
 
 ID_COMPARE_LOGIC = {
--
libgit2 0.24.0