Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
周伟奇
/
bmw-ocr
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Graphs
Network
Create a new issue
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
44b10463
authored
2021-08-16 15:06:43 +0800
by
周伟奇
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
cms part 1
1 parent
1d68ef28
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
1178 additions
and
48 deletions
docs/cms.yaml
src/apps/doc/compare_urls.py
src/apps/doc/views.py
src/common/api_doc.py
src/common/api_doc_bak3.py
src/common/management/commands/generate_api_doc.py
docs/cms.yaml
0 → 100644
View file @
44b1046
swagger
:
'
2.0'
info
:
title
:
接口文档
description
:
宝马ocr/biz_logic接口文档
version
:
1.0.0
host
:
li19dkocruat01vm.bmwgroup.net
basePath
:
/
tags
:
-
name
:
info
description
:
比对结果
schemes
:
-
https
security
:
-
OAuth2
:
[]
paths
:
/api/compare/settlement/cms/v1
:
post
:
tags
:
-
info
summary
:
CMS上传比对信息
consumes
:
-
application/json
produces
:
-
application/json
parameters
:
-
in
:
body
name
:
body
required
:
true
schema
:
$ref
:
'
#/definitions/CMS'
responses
:
200
:
description
:
ok
schema
:
$ref
:
'
#/definitions/ApiResponse'
securityDefinitions
:
OAuth2
:
type
:
oauth2
flow
:
application
description
:
'
This
API
uses
OAuth
2
with
the
application(clientCredentials)
grant
flow.
client_id=sMlciTkppsMzARwHpCVarm5q7DP2Vucj3ny8JFhw
client_secret=WNoOilDx140ZLcenDKfsnikv7S2LIFs60DciYoqnrZaYLqYsKpcmt7mJIL69o9AEf84uQvRnS3K2UioxfjNyImjR4UOyXbDcF6qYgTLC4KDVByKFdVhKfrn2Lc4q4BNW
scopes=write
'
tokenUrl
:
https://li19dkocruat01vm.bmwgroup.net/api/oauth/token/
scopes
:
write
:
Grants write access
responses
:
ErrorResponse
:
description
:
调用异常, 具体情况请参考`HTTP`状态码和`code`字段
schema
:
$ref
:
'
#/definitions/ApiResponse'
NoContent
:
description
:
后台接收请求,但是没有响应内容
schema
:
$ref
:
'
#/definitions/ApiResponse'
definitions
:
associatedServices
:
description
:
associatedServices
type
:
object
required
:
-
associatedServices
-
price
-
financed
-
total
properties
:
associatedServices
:
description
:
associatedServices
type
:
string
example
:
机动车保险
price
:
description
:
price
type
:
number
format
:
float
example
:
1234.56
financed
:
description
:
financed
type
:
number
format
:
float
example
:
1234.56
total
:
description
:
total
type
:
number
format
:
float
example
:
1234.56
paymentSchedule
:
description
:
paymentSchedule
type
:
object
required
:
-
false
-
grossRentalAmount
properties
:
false
:
description
:
false
type
:
integer
example
:
3
grossRentalAmount
:
description
:
grossRentalAmount
type
:
number
format
:
float
example
:
1234.56
IDInformation
:
description
:
IDInformation
type
:
object
required
:
-
idType
-
idNum
-
idExpiryDate
properties
:
idType
:
description
:
idType
type
:
string
example
:
ITARI
idNum
:
description
:
idNum
type
:
string
example
:
111111199404251111
idExpiryDate
:
description
:
idExpiryDate
type
:
string
example
:
2027-04-30
applicantInformation
:
description
:
applicantInformation
type
:
object
required
:
-
applicantType
-
customersubType
-
name
-
legalRepName
-
IDInformation
properties
:
applicantType
:
description
:
applicantType
type
:
string
example
:
Borrower
customersubType
:
description
:
customersubType
type
:
string
example
:
TCCOR
selfEmployedSubType
:
description
:
selfEmployedSubType
type
:
string
example
:
CSIBM
name
:
description
:
name
type
:
string
example
:
李四
legalRepName
:
description
:
legalRepName
type
:
string
example
:
张三
dateOfBirth
:
description
:
dateOfBirth
type
:
string
example
:
2027-04-30
nationality
:
description
:
nationality
type
:
string
example
:
中国
establishmentDate
:
description
:
establishmentDate
type
:
string
example
:
2027-04-30
IDInformation
:
description
:
IDInformation
type
:
array
items
:
$ref
:
'
#/definitions/IDInformation'
CMS
:
type
:
object
required
:
-
financeCompany
-
contractNo
-
status
-
branch
-
fpCampaign
-
applicationVersion
-
submissionDate
-
mortgageType
-
dealerRegion
-
insuranceRealNameCity
-
totalFinanceAmount
-
terms
-
dealerName
-
tier
-
province
-
fapiaoIssuerDealer
-
customerName
-
customerIdNo
-
vehicleStatus
-
applicationSource
-
contractSource
-
applicationRating
-
applicantInformation
-
autoApprovedDetails
-
financialInformation
-
paymentSchedule
-
associatedServices
-
vehicleInformation
-
bankAccountDetails
-
insuranceDetails
-
corporateFinancialInformation
-
settlemnetVerification
properties
:
financeCompany
:
description
:
financeCompany
type
:
string
example
:
宝马汽车金融有限公司
contractNo
:
description
:
contractNo
type
:
string
example
:
CH-B100000123
status
:
description
:
status
type
:
string
example
:
HIL
branch
:
description
:
branch
type
:
string
example
:
宝马汽车金融有限公司
fpCampaign
:
description
:
fpCampaign
type
:
string
example
:
Q1_2021_BMW_BASIC
applicationVersion
:
description
:
applicationVersion
type
:
integer
example
:
1
submissionDate
:
description
:
submissionDate
type
:
string
example
:
2020-01-01
mortgageType
:
description
:
mortgageType
type
:
string
example
:
Mortgage Contract
dealerRegion
:
description
:
dealerRegion
type
:
string
example
:
West
insuranceRealNameCity
:
description
:
insuranceRealNameCity
type
:
boolean
example
:
false
totalFinanceAmount
:
description
:
totalFinanceAmount
type
:
number
format
:
float
example
:
1234.56
terms
:
description
:
terms
type
:
integer
example
:
24
dealerName
:
description
:
dealerName
type
:
string
example
:
乐山长宝汽车销售服务有限公司
tier
:
description
:
tier
type
:
string
example
:
2
province
:
description
:
province
type
:
string
example
:
四川省
fapiaoIssuerDealer
:
description
:
fapiaoIssuerDealer
type
:
string
example
:
乐山长宝汽车销售服务有限公司
customerName
:
description
:
customerName
type
:
string
example
:
蔡红
customerIdNo
:
description
:
customerIdNo
type
:
string
example
:
511102196706080000
vehicleStatus
:
description
:
vehicleStatus
type
:
string
example
:
Used
applicationSource
:
description
:
applicationSource
type
:
string
example
:
eApp
contractSource
:
description
:
contractSource
type
:
string
example
:
Online Sign
applicationRating
:
description
:
applicationRating
type
:
integer
example
:
100
applicantInformation
:
description
:
applicantInformation
type
:
array
items
:
$ref
:
'
#/definitions/applicantInformation'
autoApprovedDetails
:
description
:
autoApprovedDetails
type
:
object
required
:
-
aaType
properties
:
aaType
:
description
:
aaType
type
:
string
example
:
CAA1
financialInformation
:
description
:
financialInformation
type
:
object
required
:
-
vehiclePrice
-
grossPrice
-
associatedServicePrice
-
vehiclePrincipal
-
associatedServicePrincipal
-
originationPrincipal
-
totalDownPayment
-
vehicleDownPaymentRatio
-
optionAmount
-
sumOfMSRPAndOption
properties
:
vehiclePrice
:
description
:
vehiclePrice
type
:
number
format
:
float
example
:
1234.56
grossPrice
:
description
:
grossPrice
type
:
number
format
:
float
example
:
1234.56
associatedServicePrice
:
description
:
associatedServicePrice
type
:
number
format
:
float
example
:
1234.56
vehiclePrincipal
:
description
:
vehiclePrincipal
type
:
number
format
:
float
example
:
1234.56
associatedServicePrincipal
:
description
:
associatedServicePrincipal
type
:
number
format
:
float
example
:
1234.56
originationPrincipal
:
description
:
originationPrincipal
type
:
number
format
:
float
example
:
1234.56
totalDownPayment
:
description
:
totalDownPayment
type
:
number
format
:
float
example
:
1234.56
vehicleDownPaymentRatio
:
description
:
vehicleDownPaymentRatio
type
:
number
format
:
float
example
:
1234.56
optionAmount
:
description
:
optionAmount
type
:
number
format
:
float
example
:
1234.56
sumOfMSRPAndOption
:
description
:
sumOfMSRPAndOption
type
:
number
format
:
float
example
:
1234.56
paymentSchedule
:
description
:
paymentSchedule
type
:
array
items
:
$ref
:
'
#/definitions/paymentSchedule'
associatedServices
:
description
:
associatedServices
type
:
array
items
:
$ref
:
'
#/definitions/associatedServices'
vehicleInformation
:
description
:
vehicleInformation
type
:
object
required
:
-
vinNo
properties
:
vinNo
:
description
:
vinNo
type
:
string
example
:
LBV23482934DJFKD
bankAccountDetails
:
description
:
bankAccountDetails
type
:
object
required
:
-
bankName
-
accountHolderName
-
accountNo
properties
:
bankName
:
description
:
bankName
type
:
string
example
:
中国银行
accountHolderName
:
description
:
accountHolderName
type
:
string
example
:
张三
accountNo
:
description
:
accountNo
type
:
string
example
:
12312123123123123
insuranceDetails
:
description
:
insuranceDetails
type
:
object
required
:
-
insuranceType
-
insuranceAmount
-
startDate
-
endDate
properties
:
insuranceType
:
description
:
insuranceType
type
:
string
example
:
ComprehensiveInsurance
insuranceAmount
:
description
:
insuranceAmount
type
:
string
example
:
60000000.0
startDate
:
description
:
startDate
type
:
string
example
:
2020-01-01
endDate
:
description
:
endDate
type
:
string
example
:
2020-01-01
corporateFinancialInformation
:
description
:
corporateFinancialInformation
type
:
object
required
:
-
hashCode
-
borrowerName
-
fiscalYear
-
totaAssets
-
totalLiabilitiesAndOwnersEquity
-
cashAndCashEquivalentAtEndOfPeriod
-
netProfit
properties
:
hashCode
:
description
:
hashCode
type
:
string
example
:
238231
borrowerName
:
description
:
borrowerName
type
:
string
example
:
张三
fiscalYear
:
description
:
fiscalYear
type
:
integer
example
:
2019
totaAssets
:
description
:
totaAssets
type
:
number
format
:
float
example
:
1234.56
totalLiabilitiesAndOwnersEquity
:
description
:
totalLiabilitiesAndOwnersEquity
type
:
number
format
:
float
example
:
1234.56
cashAndCashEquivalentAtEndOfPeriod
:
description
:
cashAndCashEquivalentAtEndOfPeriod
type
:
number
format
:
float
example
:
1234.56
netProfit
:
description
:
netProfit
type
:
number
format
:
float
example
:
1234.56
settlemnetVerification
:
description
:
settlemnetVerification
type
:
object
required
:
-
applicationNo
properties
:
applicationNo
:
description
:
applicationNo
type
:
string
example
:
CH-B100000123
ApiResponse
:
description
:
响应对象,code字段用于表示响应的状态; data字段用于存放响应内容
type
:
object
required
:
-
code
-
msg
properties
:
code
:
type
:
integer
format
:
uint8
description
:
'
0:
success
1:
need
login
2:
invalid
params
3:
internal
error
4:
object
not
exist
5:
async
wait
6:
no
permission
7:
illegal
operation'
example
:
0
enum
:
-
0
-
1
-
2
-
3
-
4
-
5
-
6
-
7
msg
:
type
:
string
example
:
success
data
:
type
:
object
src/apps/doc/compare_urls.py
View file @
44b1046
...
...
@@ -5,6 +5,7 @@ from . import views
urlpatterns
=
[
path
(
r'v1'
,
views
.
CompareView
.
as_view
()),
path
(
r'settlement/v1'
,
views
.
SECompareView
.
as_view
()),
path
(
r'settlement/cms/v1'
,
views
.
SECMSView
.
as_view
()),
path
(
r'offline/v1'
,
views
.
CompareOfflineView
.
as_view
()),
path
(
r'result'
,
views
.
CompareResultView
.
as_view
()),
]
...
...
src/apps/doc/views.py
View file @
44b1046
...
...
@@ -312,6 +312,128 @@ compare_offline_args = {
'workflow_name'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
1024
)),
}
id_info_args
=
{
'idType'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
32
)),
'idNum'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
64
)),
'idExpiryDate'
:
CustomDate
(
required
=
True
),
}
info_args
=
{
'applicantType'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
64
)),
'customersubType'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
32
)),
'selfEmployedSubType'
:
fields
.
Str
(
required
=
False
,
validate
=
validate
.
Length
(
max
=
32
)),
'name'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
64
)),
'legalRepName'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
64
)),
'dateOfBirth'
:
CustomDate
(
required
=
False
),
'nationality'
:
fields
.
Str
(
required
=
False
,
validate
=
validate
.
Length
(
max
=
64
)),
'establishmentDate'
:
CustomDate
(
required
=
False
),
'IDInformation'
:
fields
.
List
(
fields
.
Nested
(
id_info_args
),
required
=
True
,
validate
=
validate
.
Length
(
min
=
1
)),
}
auto_approve_details
=
{
'aaType'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
64
)),
}
financial_info
=
{
'vehiclePrice'
:
CustomDecimal
(
required
=
True
),
'grossPrice'
:
CustomDecimal
(
required
=
True
),
'associatedServicePrice'
:
CustomDecimal
(
required
=
True
),
'vehiclePrincipal'
:
CustomDecimal
(
required
=
True
),
'associatedServicePrincipal'
:
CustomDecimal
(
required
=
True
),
'originationPrincipal'
:
CustomDecimal
(
required
=
True
),
'totalDownPayment'
:
CustomDecimal
(
required
=
True
),
'vehicleDownPaymentRatio'
:
CustomDecimal
(
required
=
True
),
'optionAmount'
:
CustomDecimal
(
required
=
True
),
'sumOfMSRPAndOption'
:
CustomDecimal
(
required
=
True
),
}
payment_schedule
=
{
'no'
:
fields
.
Int
(
required
=
True
),
'grossRentalAmount'
:
CustomDecimal
(
required
=
True
),
}
associated_services
=
{
'associatedServices'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
64
)),
'price'
:
CustomDecimal
(
required
=
True
),
'financed'
:
CustomDecimal
(
required
=
True
),
'total'
:
CustomDecimal
(
required
=
True
),
}
vehicle_info
=
{
'vinNo'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
64
)),
}
bank_details
=
{
'bankName'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
64
)),
'accountHolderName'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
64
)),
'accountNo'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
64
)),
}
insurance_details
=
{
'insuranceType'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
64
)),
'insuranceAmount'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
64
)),
'startDate'
:
CustomDate
(
required
=
True
),
'endDate'
:
CustomDate
(
required
=
True
),
}
corporate_info
=
{
'hashCode'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
64
)),
'borrowerName'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
64
)),
'fiscalYear'
:
fields
.
Int
(
required
=
True
),
'totaAssets'
:
CustomDecimal
(
required
=
True
),
'totalLiabilitiesAndOwnersEquity'
:
CustomDecimal
(
required
=
True
),
'cashAndCashEquivalentAtEndOfPeriod'
:
CustomDecimal
(
required
=
True
),
'netProfit'
:
CustomDecimal
(
required
=
True
),
}
se_verification
=
{
'applicationNo'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
64
)),
}
se_cms_content
=
{
'financeCompany'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
512
)),
'contractNo'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
64
)),
'status'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
64
)),
'branch'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
512
)),
'fpCampaign'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
512
)),
'applicationVersion'
:
fields
.
Int
(
required
=
True
),
'submissionDate'
:
CustomDate
(
required
=
True
),
'mortgageType'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
64
)),
'dealerRegion'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
64
)),
'insuranceRealNameCity'
:
fields
.
Boolean
(
required
=
True
),
'totalFinanceAmount'
:
CustomDecimal
(
required
=
True
),
'terms'
:
fields
.
Int
(
required
=
True
),
'dealerName'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
512
)),
'tier'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
64
)),
'province'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
64
)),
'fapiaoIssuerDealer'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
512
)),
'customerName'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
64
)),
'customerIdNo'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
64
)),
'vehicleStatus'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
64
)),
'applicationSource'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
64
)),
'contractSource'
:
fields
.
Str
(
required
=
True
,
validate
=
validate
.
Length
(
max
=
64
)),
'applicationRating'
:
fields
.
Int
(
required
=
True
),
'applicantInformation'
:
fields
.
List
(
fields
.
Nested
(
info_args
),
required
=
True
,
validate
=
validate
.
Length
(
min
=
1
,
max
=
4
)),
'autoApprovedDetails'
:
fields
.
Nested
(
auto_approve_details
,
required
=
True
),
'financialInformation'
:
fields
.
Nested
(
financial_info
,
required
=
True
),
'paymentSchedule'
:
fields
.
List
(
fields
.
Nested
(
payment_schedule
),
required
=
True
,
validate
=
validate
.
Length
(
min
=
1
)),
'associatedServices'
:
fields
.
List
(
fields
.
Nested
(
associated_services
),
required
=
True
,
validate
=
validate
.
Length
(
min
=
1
)),
'vehicleInformation'
:
fields
.
Nested
(
vehicle_info
,
required
=
True
),
'bankAccountDetails'
:
fields
.
Nested
(
bank_details
,
required
=
True
),
'insuranceDetails'
:
fields
.
Nested
(
insurance_details
,
required
=
True
),
'corporateFinancialInformation'
:
fields
.
Nested
(
corporate_info
,
required
=
True
),
'settlemnetVerification'
:
fields
.
Nested
(
se_verification
,
required
=
True
),
}
se_cms_args
=
{
'content'
:
fields
.
Nested
(
se_cms_content
,
required
=
True
)
}
class
UploadDocView
(
GenericView
,
DocHandler
):
# permission_classes = []
...
...
@@ -806,3 +928,33 @@ class CompareResultView(GenericView):
return
HttpResponse
(
html
)
# return response.ok(data=compare_result)
class
SECMSView
(
GenericView
):
permission_classes
=
[
IsAuthenticated
]
authentication_classes
=
[
OAuth2AuthenticationWithUser
]
# pos上传比对信息接口 SE
@use_args
(
se_cms_args
,
location
=
'data'
)
def
post
(
self
,
request
,
args
):
self
.
running_log
.
info
(
'cms in'
)
return
response
.
ok
()
post
.
openapi_doc
=
'''
tags: [info]
summary: CMS上传比对信息
consumes: [application/json]
produces: [application/json]
parameters:
- in: body
name: body
required: true
schema:
$ref: "#/definitions/CMS"
responses:
200:
description: ok
schema:
$ref: '#/definitions/ApiResponse'
'''
\ No newline at end of file
...
...
src/common/api_doc.py
View file @
44b1046
...
...
@@ -47,60 +47,385 @@ NoContent:
parameters
=
''
definitions
=
'''
ComparisonOffline:
associatedServices:
description: associatedServices
type: object
required: [is_hil, case_number, request_team, request_trigger, input_file, transaction_start, transaction_end, successful_at_this_level, process_name, total_fields, workflow_name]
required: [associatedServices, price, financed, total]
properties:
associatedServices:
description: associatedServices
type: string
example: 机动车保险
price:
description: price
type: number
format: float
example: 1234.56
financed:
description: financed
type: number
format: float
example: 1234.56
total:
description: total
type: number
format: float
example: 1234.56
paymentSchedule:
description: paymentSchedule
type: object
required: [no, grossRentalAmount]
properties:
no:
description: no
type: integer
example: 3
grossRentalAmount:
description: grossRentalAmount
type: number
format: float
example: 1234.56
IDInformation:
description: IDInformation
type: object
required: [idType, idNum, idExpiryDate]
properties:
idType:
description: idType
type: string
example: ITARI
idNum:
description: idNum
type: string
example: 111111199404251111
idExpiryDate:
description: idExpiryDate
type: string
example: 2027-04-30
applicantInformation:
description: applicantInformation
type: object
required: [applicantType, customersubType, name, legalRepName, IDInformation]
properties:
applicantType:
description: applicantType
type: string
example: Borrower
customersubType:
description: customersubType
type: string
example: TCCOR
selfEmployedSubType:
description: selfEmployedSubType
type: string
example: CSIBM
name:
description: name
type: string
example: 李四
legalRepName:
description: legalRepName
type: string
example: 张三
dateOfBirth:
description: dateOfBirth
type: string
example: 2027-04-30
nationality:
description: nationality
type: string
example: 中国
establishmentDate:
description: establishmentDate
type: string
example: 2027-04-30
IDInformation:
description: IDInformation
type: array
items:
$ref: "#/definitions/IDInformation"
CMS:
type: object
required: [financeCompany, contractNo, status, branch, fpCampaign, applicationVersion, submissionDate, mortgageType, dealerRegion, insuranceRealNameCity, totalFinanceAmount, terms, dealerName, tier, province, fapiaoIssuerDealer, customerName, customerIdNo, vehicleStatus, applicationSource, contractSource, applicationRating, applicantInformation, autoApprovedDetails, financialInformation, paymentSchedule, associatedServices, vehicleInformation, bankAccountDetails, insuranceDetails, corporateFinancialInformation, settlemnetVerification]
properties:
is_hil:
description: is_hil
type: boolean
example: false
case_number:
description: case_number
type: string
example: VAT Invoice Number
request_team:
description: request_team
type: string
example: Accounting
request_trigger:
description: request_trigger
type: string
example: Attended RPA (Q-Account + Machine Number)
input_file:
description: input_file
type: string
example: CH-B1000000身份证.jpeg
transaction_start:
description: transaction_start
type: string
format: date-time
example: "2027-04-30 19:22:29"
transaction_end:
description: transaction_end
type: string
format: date-time
example: "2027-04-30 19:22:29"
successful_at_this_level:
description: successful_at_this_level
financeCompany:
description: financeCompany
type: string
example: 宝马汽车金融有限公司
contractNo:
description: contractNo
type: string
example: CH-B100000123
status:
description: status
type: string
example: HIL
branch:
description: branch
type: string
example: 宝马汽车金融有限公司
fpCampaign:
description: fpCampaign
type: string
example: Q1_2021_BMW_BASIC
applicationVersion:
description: applicationVersion
type: integer
example: 1
submissionDate:
description: submissionDate
type: string
example: 2020-01-01
mortgageType:
description: mortgageType
type: string
example: Mortgage Contract
dealerRegion:
description: dealerRegion
type: string
example: West
insuranceRealNameCity:
description: insuranceRealNameCity
type: boolean
example: false
failure_reason:
description: failure_reason
totalFinanceAmount:
description: totalFinanceAmount
type: number
format: float
example: 1234.56
terms:
description: terms
type: integer
example: 24
dealerName:
description: dealerName
type: string
example:
Fileds Name which doesn’t pass verification
process_name
:
description:
process_name
example:
乐山长宝汽车销售服务有限公司
tier
:
description:
tier
type: string
example: F1_VATInvoiceMapping
total_fields:
description: total_fields
type: integer
example: 0
workflow_name:
description: workflow_name
example: 2
province:
description: province
type: string
example: Normal invoice or Special invoice
example: 四川省
fapiaoIssuerDealer:
description: fapiaoIssuerDealer
type: string
example: 乐山长宝汽车销售服务有限公司
customerName:
description: customerName
type: string
example: 蔡红
customerIdNo:
description: customerIdNo
type: string
example: 511102196706080000
vehicleStatus:
description: vehicleStatus
type: string
example: Used
applicationSource:
description: applicationSource
type: string
example: eApp
contractSource:
description: contractSource
type: string
example: Online Sign
applicationRating:
description: applicationRating
type: integer
example: 100
applicantInformation:
description: applicantInformation
type: array
items:
$ref: "#/definitions/applicantInformation"
autoApprovedDetails:
description: autoApprovedDetails
type: object
required: [aaType]
properties:
aaType:
description: aaType
type: string
example: CAA1
financialInformation:
description: financialInformation
type: object
required: [vehiclePrice, grossPrice, associatedServicePrice, vehiclePrincipal, associatedServicePrincipal, originationPrincipal, totalDownPayment, vehicleDownPaymentRatio, optionAmount, sumOfMSRPAndOption]
properties:
vehiclePrice:
description: vehiclePrice
type: number
format: float
example: 1234.56
grossPrice:
description: grossPrice
type: number
format: float
example: 1234.56
associatedServicePrice:
description: associatedServicePrice
type: number
format: float
example: 1234.56
vehiclePrincipal:
description: vehiclePrincipal
type: number
format: float
example: 1234.56
associatedServicePrincipal:
description: associatedServicePrincipal
type: number
format: float
example: 1234.56
originationPrincipal:
description: originationPrincipal
type: number
format: float
example: 1234.56
totalDownPayment:
description: totalDownPayment
type: number
format: float
example: 1234.56
vehicleDownPaymentRatio:
description: vehicleDownPaymentRatio
type: number
format: float
example: 1234.56
optionAmount:
description: optionAmount
type: number
format: float
example: 1234.56
sumOfMSRPAndOption:
description: sumOfMSRPAndOption
type: number
format: float
example: 1234.56
paymentSchedule:
description: paymentSchedule
type: array
items:
$ref: "#/definitions/paymentSchedule"
associatedServices:
description: associatedServices
type: array
items:
$ref: "#/definitions/associatedServices"
vehicleInformation:
description: vehicleInformation
type: object
required: [vinNo]
properties:
vinNo:
description: vinNo
type: string
example: LBV23482934DJFKD
bankAccountDetails:
description: bankAccountDetails
type: object
required: [bankName, accountHolderName, accountNo]
properties:
bankName:
description: bankName
type: string
example: 中国银行
accountHolderName:
description: accountHolderName
type: string
example: 张三
accountNo:
description: accountNo
type: string
example: 12312123123123123
insuranceDetails:
description: insuranceDetails
type: object
required: [insuranceType, insuranceAmount, startDate, endDate]
properties:
insuranceType:
description: insuranceType
type: string
example: ComprehensiveInsurance
insuranceAmount:
description: insuranceAmount
type: string
example: 60000000.00
startDate:
description: startDate
type: string
example: 2020-01-01
endDate:
description: endDate
type: string
example: 2020-01-01
corporateFinancialInformation:
description: corporateFinancialInformation
type: object
required: [hashCode, borrowerName, fiscalYear, totaAssets, totalLiabilitiesAndOwnersEquity, cashAndCashEquivalentAtEndOfPeriod, netProfit]
properties:
hashCode:
description: hashCode
type: string
example: 238231
borrowerName:
description: borrowerName
type: string
example: 张三
fiscalYear:
description: fiscalYear
type: integer
example: 2019
totaAssets:
description: totaAssets
type: number
format: float
example: 1234.56
totalLiabilitiesAndOwnersEquity:
description: totalLiabilitiesAndOwnersEquity
type: number
format: float
example: 1234.56
cashAndCashEquivalentAtEndOfPeriod:
description: cashAndCashEquivalentAtEndOfPeriod
type: number
format: float
example: 1234.56
netProfit:
description: netProfit
type: number
format: float
example: 1234.56
settlemnetVerification:
description: settlemnetVerification
type: object
required: [applicationNo]
properties:
applicationNo:
description: applicationNo
type: string
example: CH-B100000123
ApiResponse:
description: 响应对象,code字段用于表示响应的状态; data字段用于存放响应内容
...
...
src/common/api_doc_bak3.py
0 → 100644
View file @
44b1046
base_part
=
'''
swagger: "2.0"
info:
title: 接口文档
description: 宝马ocr/biz_logic接口文档
version: 1.0.0
host: "li19dkocruat01vm.bmwgroup.net"
basePath: "/"
tags:
- name: info
description: 比对结果
schemes:
- "https"
security:
- OAuth2: []
'''
# scheme: oauth
security_definitions
=
'''
OAuth2:
type: oauth2
flow: application
description: >
This API uses OAuth 2 with the application(clientCredentials) grant flow.
client_id=sMlciTkppsMzARwHpCVarm5q7DP2Vucj3ny8JFhw
client_secret=WNoOilDx140ZLcenDKfsnikv7S2LIFs60DciYoqnrZaYLqYsKpcmt7mJIL69o9AEf84uQvRnS3K2UioxfjNyImjR4UOyXbDcF6qYgTLC4KDVByKFdVhKfrn2Lc4q4BNW
scopes=write
tokenUrl: https://li19dkocruat01vm.bmwgroup.net/api/oauth/token/
scopes:
write: Grants write access
'''
responses
=
'''
ErrorResponse:
description: 调用异常, 具体情况请参考`HTTP`状态码和`code`字段
schema:
$ref: '#/definitions/ApiResponse'
NoContent:
description: 后台接收请求,但是没有响应内容
schema:
$ref: '#/definitions/ApiResponse'
'''
parameters
=
''
definitions
=
'''
ComparisonOffline:
type: object
required: [is_hil, case_number, request_team, request_trigger, input_file, transaction_start, transaction_end, successful_at_this_level, process_name, total_fields, workflow_name]
properties:
is_hil:
description: is_hil
type: boolean
example: false
case_number:
description: case_number
type: string
example: VAT Invoice Number
request_team:
description: request_team
type: string
example: Accounting
request_trigger:
description: request_trigger
type: string
example: Attended RPA (Q-Account + Machine Number)
input_file:
description: input_file
type: string
example: CH-B1000000身份证.jpeg
transaction_start:
description: transaction_start
type: string
format: date-time
example: "2027-04-30 19:22:29"
transaction_end:
description: transaction_end
type: string
format: date-time
example: "2027-04-30 19:22:29"
successful_at_this_level:
description: successful_at_this_level
type: boolean
example: false
failure_reason:
description: failure_reason
type: string
example: Fileds Name which doesn’t pass verification
process_name:
description: process_name
type: string
example: F1_VATInvoiceMapping
total_fields:
description: total_fields
type: integer
example: 0
workflow_name:
description: workflow_name
type: string
example: Normal invoice or Special invoice
ApiResponse:
description: 响应对象,code字段用于表示响应的状态; data字段用于存放响应内容
type: object
required: [code, msg]
properties:
code:
type: integer
format: uint8
description: '0: success
1: need login
2: invalid params
3: internal error
4: object not exist
5: async wait
6: no permission
7: illegal operation'
example: 0
enum: [0, 1, 2, 3, 4, 5, 6, 7]
msg:
type: string
example: success
data:
type: object
'''
\ No newline at end of file
src/common/management/commands/generate_api_doc.py
View file @
44b1046
...
...
@@ -48,7 +48,7 @@ class Command(BaseCommand):
view_class
=
view
.
view_class
url_path
,
path_parameters
=
pattern
[
0
][
0
]
url_path
=
unify_url_path_format
(
url_path
)
if
url_path
not
in
[
'/api/compare/
offline
/v1'
]:
if
url_path
not
in
[
'/api/compare/
settlement/cms
/v1'
]:
continue
url_path_paramters
=
getattr
(
view
,
'parameters_doc'
,
None
)
if
url_path_paramters
:
...
...
Write
Preview
Styling with
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment