作者 bianxinhua

add README

要显示太多修改。

为保证性能只显示 21 of 21+ 个文件。

@@ -5,6 +5,6 @@ @@ -5,6 +5,6 @@
5 #base_worth_url = https://suplus-worth-web-gateway-test.fjmaimaimai.com/ 5 #base_worth_url = https://suplus-worth-web-gateway-test.fjmaimaimai.com/
6 #base_manager_url= https://public-interface.fjmaimaimai.com/mmm-partnermg 6 #base_manager_url= https://public-interface.fjmaimaimai.com/mmm-partnermg
7 #base_manager_url=http://mmm-partnermg-test.fjmaimaimai.com/ 7 #base_manager_url=http://mmm-partnermg-test.fjmaimaimai.com/
8 -#base_manager_url=https://public-interface-test.fjmaimaimai.com/partnermg/  
9 -base_manager_url=https://public-interface.fjmaimaimai.com/mmm-partnermg/ 8 +base_manager_url=https://public-interface-test.fjmaimaimai.com/partnermg/
  9 +#base_manager_url=https://public-interface.fjmaimaimai.com/mmm-partnermg/
10 base_url = http://mmm-partner-test.fjmaimaimai.com/ 10 base_url = http://mmm-partner-test.fjmaimaimai.com/
@@ -2,15 +2,27 @@ @@ -2,15 +2,27 @@
2 <project version="4"> 2 <project version="4">
3 <component name="ChangeListManager"> 3 <component name="ChangeListManager">
4 <list default="true" id="d6814b48-28ec-40b6-bcea-dcd9b8613715" name="Default Changelist" comment=""> 4 <list default="true" id="d6814b48-28ec-40b6-bcea-dcd9b8613715" name="Default Changelist" comment="">
  5 + <change afterPath="$PROJECT_DIR$/reports/20200812T033205.613604.html" afterDir="false" />
  6 + <change afterPath="$PROJECT_DIR$/reports/20200812T033521.571604.html" afterDir="false" />
5 <change beforePath="$PROJECT_DIR$/.env" beforeDir="false" afterPath="$PROJECT_DIR$/.env" afterDir="false" /> 7 <change beforePath="$PROJECT_DIR$/.env" beforeDir="false" afterPath="$PROJECT_DIR$/.env" afterDir="false" />
6 <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> 8 <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
7 - <change beforePath="$PROJECT_DIR$/api/m_api/actual/m_add_order_actual_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/m_api/actual/m_add_order_actual_api.yml" afterDir="false" /> 9 + <change beforePath="$PROJECT_DIR$/api/app_api/order/statistics_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/app_api/order/statistics_api.yml" afterDir="false" />
8 <change beforePath="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_add_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_add_api.yml" afterDir="false" /> 10 <change beforePath="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_add_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_add_api.yml" afterDir="false" />
9 - <change beforePath="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_edit_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_edit_api.yml" afterDir="false" />  
10 - <change beforePath="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_sendout_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_sendout_api.yml" afterDir="false" /> 11 + <change beforePath="$PROJECT_DIR$/config/accessToken.csv" beforeDir="false" afterPath="$PROJECT_DIR$/config/accessToken.csv" afterDir="false" />
  12 + <change beforePath="$PROJECT_DIR$/config/authCode.csv" beforeDir="false" afterPath="$PROJECT_DIR$/config/authCode.csv" afterDir="false" />
11 <change beforePath="$PROJECT_DIR$/config/m_accessToken.csv" beforeDir="false" afterPath="$PROJECT_DIR$/config/m_accessToken.csv" afterDir="false" /> 13 <change beforePath="$PROJECT_DIR$/config/m_accessToken.csv" beforeDir="false" afterPath="$PROJECT_DIR$/config/m_accessToken.csv" afterDir="false" />
  14 + <change beforePath="$PROJECT_DIR$/config/refreshToken.csv" beforeDir="false" afterPath="$PROJECT_DIR$/config/refreshToken.csv" afterDir="false" />
12 <change beforePath="$PROJECT_DIR$/helpfunc/pg_app_db_func.py" beforeDir="false" afterPath="$PROJECT_DIR$/helpfunc/pg_app_db_func.py" afterDir="false" /> 15 <change beforePath="$PROJECT_DIR$/helpfunc/pg_app_db_func.py" beforeDir="false" afterPath="$PROJECT_DIR$/helpfunc/pg_app_db_func.py" afterDir="false" />
13 - <change beforePath="$PROJECT_DIR$/helpfunc/pg_db_func.py" beforeDir="false" afterPath="$PROJECT_DIR$/helpfunc/pg_db_func.py" afterDir="false" /> 16 + <change beforePath="$PROJECT_DIR$/reports/20200806T015502.489234.html" beforeDir="false" />
  17 + <change beforePath="$PROJECT_DIR$/reports/20200806T020234.973114.html" beforeDir="false" />
  18 + <change beforePath="$PROJECT_DIR$/reports/20200806T020249.929970.html" beforeDir="false" />
  19 + <change beforePath="$PROJECT_DIR$/reports/20200806T022337.373320.html" beforeDir="false" />
  20 + <change beforePath="$PROJECT_DIR$/reports/20200806T022632.120315.html" beforeDir="false" />
  21 + <change beforePath="$PROJECT_DIR$/reports/20200806T034153.490922.html" beforeDir="false" />
  22 + <change beforePath="$PROJECT_DIR$/reports/20200807T130412.509038.html" beforeDir="false" />
  23 + <change beforePath="$PROJECT_DIR$/reports/20200807T131750.133804.html" beforeDir="false" />
  24 + <change beforePath="$PROJECT_DIR$/testcases/order/order_statistics_testcases.yml" beforeDir="false" afterPath="$PROJECT_DIR$/testcases/order/order_statistics_testcases.yml" afterDir="false" />
  25 + <change beforePath="$PROJECT_DIR$/testcases_excel/partner_api.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/testcases_excel/partner_api.xlsx" afterDir="false" />
14 <change beforePath="$PROJECT_DIR$/testsuites/partner_testsuite.yml" beforeDir="false" afterPath="$PROJECT_DIR$/testsuites/partner_testsuite.yml" afterDir="false" /> 26 <change beforePath="$PROJECT_DIR$/testsuites/partner_testsuite.yml" beforeDir="false" afterPath="$PROJECT_DIR$/testsuites/partner_testsuite.yml" afterDir="false" />
15 </list> 27 </list>
16 <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> 28 <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
@@ -21,7 +33,7 @@ @@ -21,7 +33,7 @@
21 </component> 33 </component>
22 <component name="CoverageDataManager"> 34 <component name="CoverageDataManager">
23 <SUITE FILE_PATH="coverage/partner_api$debugtalk.coverage" NAME="debugtalk Coverage Results" MODIFIED="1595408122991" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> 35 <SUITE FILE_PATH="coverage/partner_api$debugtalk.coverage" NAME="debugtalk Coverage Results" MODIFIED="1595408122991" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
24 - <SUITE FILE_PATH="coverage/partner_api$pg_app_db_func.coverage" NAME="pg_app_db_func Coverage Results" MODIFIED="1596509191478" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/helpfunc" /> 36 + <SUITE FILE_PATH="coverage/partner_api$pg_app_db_func.coverage" NAME="pg_app_db_func Coverage Results" MODIFIED="1597204031938" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/helpfunc" />
25 <SUITE FILE_PATH="coverage/partner_api$db_pg_func.coverage" NAME="db_pg_func Coverage Results" MODIFIED="1594485069390" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/helpfunc" /> 37 <SUITE FILE_PATH="coverage/partner_api$db_pg_func.coverage" NAME="db_pg_func Coverage Results" MODIFIED="1594485069390" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/helpfunc" />
26 <SUITE FILE_PATH="coverage/partner_api$pg_db_func.coverage" NAME="pg_db_func Coverage Results" MODIFIED="1596181551908" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/helpfunc" /> 38 <SUITE FILE_PATH="coverage/partner_api$pg_db_func.coverage" NAME="pg_db_func Coverage Results" MODIFIED="1596181551908" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/helpfunc" />
27 </component> 39 </component>
@@ -30,44 +42,44 @@ @@ -30,44 +42,44 @@
30 <file pinned="false" current-in-tab="false"> 42 <file pinned="false" current-in-tab="false">
31 <entry file="file://$PROJECT_DIR$/testsuites/partner_testsuite.yml"> 43 <entry file="file://$PROJECT_DIR$/testsuites/partner_testsuite.yml">
32 <provider selected="true" editor-type-id="text-editor"> 44 <provider selected="true" editor-type-id="text-editor">
33 - <state relative-caret-position="1496">  
34 - <caret line="68" column="40" selection-start-line="68" selection-start-column="40" selection-end-line="68" selection-end-column="40" /> 45 + <state relative-caret-position="2210">
  46 + <caret line="85" selection-start-line="85" selection-end-line="86" selection-end-column="60" />
35 </state> 47 </state>
36 </provider> 48 </provider>
37 </entry> 49 </entry>
38 </file> 50 </file>
39 - <file pinned="false" current-in-tab="true">  
40 - <entry file="file://$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_add_api.yml"> 51 + <file pinned="false" current-in-tab="false">
  52 + <entry file="file://$PROJECT_DIR$/api/app_api/login/login_api.yml">
41 <provider selected="true" editor-type-id="text-editor"> 53 <provider selected="true" editor-type-id="text-editor">
42 - <state relative-caret-position="242">  
43 - <caret line="20" column="23" selection-start-line="20" selection-start-column="23" selection-end-line="20" selection-end-column="23" /> 54 + <state relative-caret-position="390">
  55 + <caret line="15" column="33" selection-start-line="15" selection-start-column="33" selection-end-line="15" selection-end-column="33" />
44 </state> 56 </state>
45 </provider> 57 </provider>
46 </entry> 58 </entry>
47 </file> 59 </file>
48 <file pinned="false" current-in-tab="false"> 60 <file pinned="false" current-in-tab="false">
49 - <entry file="file://$PROJECT_DIR$/.env"> 61 + <entry file="file://$PROJECT_DIR$/api/app_api/order/statistics_api.yml">
50 <provider selected="true" editor-type-id="text-editor"> 62 <provider selected="true" editor-type-id="text-editor">
51 - <state relative-caret-position="176">  
52 - <caret line="8" column="71" selection-start-line="8" selection-start-column="71" selection-end-line="8" selection-end-column="71" /> 63 + <state relative-caret-position="962">
  64 + <caret line="37" column="54" selection-start-line="37" selection-start-column="36" selection-end-line="37" selection-end-column="54" />
53 </state> 65 </state>
54 </provider> 66 </provider>
55 </entry> 67 </entry>
56 </file> 68 </file>
57 <file pinned="false" current-in-tab="false"> 69 <file pinned="false" current-in-tab="false">
58 - <entry file="file://$PROJECT_DIR$/api/m_api/actual/m_add_order_actual_api.yml"> 70 + <entry file="file://$PROJECT_DIR$/testcases/order/order_statistics_testcases.yml">
59 <provider selected="true" editor-type-id="text-editor"> 71 <provider selected="true" editor-type-id="text-editor">
60 - <state relative-caret-position="308">  
61 - <caret line="14" column="19" selection-start-line="14" selection-start-column="19" selection-end-line="14" selection-end-column="19" /> 72 + <state relative-caret-position="182">
  73 + <caret line="7" column="34" selection-start-line="7" selection-start-column="34" selection-end-line="7" selection-end-column="52" />
62 </state> 74 </state>
63 </provider> 75 </provider>
64 </entry> 76 </entry>
65 </file> 77 </file>
66 - <file pinned="false" current-in-tab="false"> 78 + <file pinned="false" current-in-tab="true">
67 <entry file="file://$PROJECT_DIR$/helpfunc/pg_app_db_func.py"> 79 <entry file="file://$PROJECT_DIR$/helpfunc/pg_app_db_func.py">
68 <provider selected="true" editor-type-id="text-editor"> 80 <provider selected="true" editor-type-id="text-editor">
69 - <state relative-caret-position="1650">  
70 - <caret line="77" column="34" selection-start-line="77" selection-start-column="4" selection-end-line="77" selection-end-column="34" /> 81 + <state relative-caret-position="4170">
  82 + <caret line="344" column="56" selection-start-line="344" selection-start-column="56" selection-end-line="344" selection-end-column="56" />
71 <folding> 83 <folding>
72 <element signature="e#108#123#0" expanded="true" /> 84 <element signature="e#108#123#0" expanded="true" />
73 </folding> 85 </folding>
@@ -76,10 +88,19 @@ @@ -76,10 +88,19 @@
76 </entry> 88 </entry>
77 </file> 89 </file>
78 <file pinned="false" current-in-tab="false"> 90 <file pinned="false" current-in-tab="false">
79 - <entry file="file://$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_edit_api.yml"> 91 + <entry file="file://$PROJECT_DIR$/testcases/dividend/dividend_statistics_testcases.yml">
80 <provider selected="true" editor-type-id="text-editor"> 92 <provider selected="true" editor-type-id="text-editor">
81 - <state relative-caret-position="704">  
82 - <caret line="32" column="12" selection-start-line="32" selection-start-column="12" selection-end-line="32" selection-end-column="12" /> 93 + <state relative-caret-position="208">
  94 + <caret line="8" column="19" selection-start-line="8" selection-start-column="19" selection-end-line="8" selection-end-column="19" />
  95 + </state>
  96 + </provider>
  97 + </entry>
  98 + </file>
  99 + <file pinned="false" current-in-tab="false">
  100 + <entry file="file://$PROJECT_DIR$/api/app_api/dividend/statistics_api.yml">
  101 + <provider selected="true" editor-type-id="text-editor">
  102 + <state relative-caret-position="676">
  103 + <caret line="26" column="25" selection-start-line="26" selection-start-column="25" selection-end-line="26" selection-end-column="25" />
83 </state> 104 </state>
84 </provider> 105 </provider>
85 </entry> 106 </entry>
@@ -99,22 +120,24 @@ @@ -99,22 +120,24 @@
99 <find>todayRealMoney</find> 120 <find>todayRealMoney</find>
100 <find>orderQuantity</find> 121 <find>orderQuantity</find>
101 <find>partShipmentQuantity</find> 122 <find>partShipmentQuantity</find>
102 - <find>cumulativeQuantity</find>  
103 <find>allShipmentQuantity</find> 123 <find>allShipmentQuantity</find>
104 <find>get_allShipmentQuantity_from_database</find> 124 <find>get_allShipmentQuantity_from_database</find>
105 <find>intentionQuantity</find> 125 <find>intentionQuantity</find>
106 <find>received</find> 126 <find>received</find>
107 <find>outstanding</find> 127 <find>outstanding</find>
108 <find>ArgumentParser</find> 128 <find>ArgumentParser</find>
109 - <find>todayRealQuantity</find>  
110 <find>print(get_expend_from_database())</find> 129 <find>print(get_expend_from_database())</find>
111 - <find>cumulativeMoney</find>  
112 <find>todayIntentionMoney</find> 130 <find>todayIntentionMoney</find>
113 <find>todayIntentionQuantity</find> 131 <find>todayIntentionQuantity</find>
114 <find>get_purpose_address_from_database</find> 132 <find>get_purpose_address_from_database</find>
115 <find>get_purpose_id_from_database</find> 133 <find>get_purpose_id_from_database</find>
116 <find>buyerPhone</find> 134 <find>buyerPhone</find>
  135 + <find>todayRealQuantity</find>
  136 + <find>rou</find>
117 <find>get_partner_id_from_database</find> 137 <find>get_partner_id_from_database</find>
  138 + <find>cumulativeMoney</find>
  139 + <find>tbl</find>
  140 + <find>cumulativeQuantity</find>
118 </findStrings> 141 </findStrings>
119 </component> 142 </component>
120 <component name="Git.Settings"> 143 <component name="Git.Settings">
@@ -123,7 +146,6 @@ @@ -123,7 +146,6 @@
123 <component name="IdeDocumentHistory"> 146 <component name="IdeDocumentHistory">
124 <option name="CHANGED_PATHS"> 147 <option name="CHANGED_PATHS">
125 <list> 148 <list>
126 - <option value="$PROJECT_DIR$/testcases/actual/ACTUAL004_actual_list_testcases.yml" />  
127 <option value="$PROJECT_DIR$/testcases/actual/ACTUAL005_actual_detail_testcases.yml" /> 149 <option value="$PROJECT_DIR$/testcases/actual/ACTUAL005_actual_detail_testcases.yml" />
128 <option value="$PROJECT_DIR$/testcases/purpose/PURPOSE001_add_purpose_testcases.yml" /> 150 <option value="$PROJECT_DIR$/testcases/purpose/PURPOSE001_add_purpose_testcases.yml" />
129 <option value="$PROJECT_DIR$/api/m_api/actual/m_edit_order_actual_api.yml" /> 151 <option value="$PROJECT_DIR$/api/m_api/actual/m_edit_order_actual_api.yml" />
@@ -161,19 +183,20 @@ @@ -161,19 +183,20 @@
161 <option value="$PROJECT_DIR$/api/app_api/dividend/orders002.api.yml" /> 183 <option value="$PROJECT_DIR$/api/app_api/dividend/orders002.api.yml" />
162 <option value="$PROJECT_DIR$/testcases/dividend/dividend_orders001_testcases.yml" /> 184 <option value="$PROJECT_DIR$/testcases/dividend/dividend_orders001_testcases.yml" />
163 <option value="$PROJECT_DIR$/testcases/dividend/dividend_orders002_testcases.yml" /> 185 <option value="$PROJECT_DIR$/testcases/dividend/dividend_orders002_testcases.yml" />
164 - <option value="$PROJECT_DIR$/testcases/order/order_statistics_testcases.yml" />  
165 - <option value="$PROJECT_DIR$/api/app_api/order/statistics_api.yml" />  
166 <option value="$PROJECT_DIR$/api/app_api/order/list_api.yml" /> 186 <option value="$PROJECT_DIR$/api/app_api/order/list_api.yml" />
167 <option value="$PROJECT_DIR$/testcases/order/order_list_testcases.yml" /> 187 <option value="$PROJECT_DIR$/testcases/order/order_list_testcases.yml" />
168 <option value="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_convert_api.yml" /> 188 <option value="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_convert_api.yml" />
169 <option value="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_sendout_api.yml" /> 189 <option value="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_sendout_api.yml" />
170 <option value="$PROJECT_DIR$/helpfunc/pg_db_func.py" /> 190 <option value="$PROJECT_DIR$/helpfunc/pg_db_func.py" />
171 <option value="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_edit_api.yml" /> 191 <option value="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_edit_api.yml" />
172 - <option value="$PROJECT_DIR$/helpfunc/pg_app_db_func.py" />  
173 <option value="$PROJECT_DIR$/api/m_api/actual/m_add_order_actual_api.yml" /> 192 <option value="$PROJECT_DIR$/api/m_api/actual/m_add_order_actual_api.yml" />
174 - <option value="$PROJECT_DIR$/testsuites/partner_testsuite.yml" />  
175 <option value="$PROJECT_DIR$/.env" /> 193 <option value="$PROJECT_DIR$/.env" />
176 <option value="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_add_api.yml" /> 194 <option value="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_add_api.yml" />
  195 + <option value="$PROJECT_DIR$/api/app_api/order/statistics_api.yml" />
  196 + <option value="$PROJECT_DIR$/testcases/order/order_statistics_testcases.yml" />
  197 + <option value="$PROJECT_DIR$/testsuites/partner_testsuite.yml" />
  198 + <option value="$USER_HOME$/AppData/Local/Programs/Python/Python38/Lib/site-packages/httprunner/report/html/template.html" />
  199 + <option value="$PROJECT_DIR$/helpfunc/pg_app_db_func.py" />
177 </list> 200 </list>
178 </option> 201 </option>
179 </component> 202 </component>
@@ -188,6 +211,7 @@ @@ -188,6 +211,7 @@
188 <foldersAlwaysOnTop value="true" /> 211 <foldersAlwaysOnTop value="true" />
189 </navigator> 212 </navigator>
190 <panes> 213 <panes>
  214 + <pane id="Scope" />
191 <pane id="ProjectPane"> 215 <pane id="ProjectPane">
192 <subPane> 216 <subPane>
193 <expand> 217 <expand>
@@ -204,21 +228,41 @@ @@ -204,21 +228,41 @@
204 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" /> 228 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />
205 <item name="partner_api" type="462c0819:PsiDirectoryNode" /> 229 <item name="partner_api" type="462c0819:PsiDirectoryNode" />
206 <item name="api" type="462c0819:PsiDirectoryNode" /> 230 <item name="api" type="462c0819:PsiDirectoryNode" />
207 - <item name="m_api" type="462c0819:PsiDirectoryNode" /> 231 + <item name="app_api" type="462c0819:PsiDirectoryNode" />
  232 + </path>
  233 + <path>
  234 + <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />
  235 + <item name="partner_api" type="462c0819:PsiDirectoryNode" />
  236 + <item name="api" type="462c0819:PsiDirectoryNode" />
  237 + <item name="app_api" type="462c0819:PsiDirectoryNode" />
  238 + <item name="dividend" type="462c0819:PsiDirectoryNode" />
  239 + </path>
  240 + <path>
  241 + <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />
  242 + <item name="partner_api" type="462c0819:PsiDirectoryNode" />
  243 + <item name="api" type="462c0819:PsiDirectoryNode" />
  244 + <item name="app_api" type="462c0819:PsiDirectoryNode" />
  245 + <item name="login" type="462c0819:PsiDirectoryNode" />
  246 + </path>
  247 + <path>
  248 + <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />
  249 + <item name="partner_api" type="462c0819:PsiDirectoryNode" />
  250 + <item name="api" type="462c0819:PsiDirectoryNode" />
  251 + <item name="app_api" type="462c0819:PsiDirectoryNode" />
  252 + <item name="order" type="462c0819:PsiDirectoryNode" />
208 </path> 253 </path>
209 <path> 254 <path>
210 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" /> 255 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />
211 <item name="partner_api" type="462c0819:PsiDirectoryNode" /> 256 <item name="partner_api" type="462c0819:PsiDirectoryNode" />
212 <item name="api" type="462c0819:PsiDirectoryNode" /> 257 <item name="api" type="462c0819:PsiDirectoryNode" />
213 <item name="m_api" type="462c0819:PsiDirectoryNode" /> 258 <item name="m_api" type="462c0819:PsiDirectoryNode" />
214 - <item name="actual" type="462c0819:PsiDirectoryNode" />  
215 </path> 259 </path>
216 <path> 260 <path>
217 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" /> 261 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />
218 <item name="partner_api" type="462c0819:PsiDirectoryNode" /> 262 <item name="partner_api" type="462c0819:PsiDirectoryNode" />
219 <item name="api" type="462c0819:PsiDirectoryNode" /> 263 <item name="api" type="462c0819:PsiDirectoryNode" />
220 <item name="m_api" type="462c0819:PsiDirectoryNode" /> 264 <item name="m_api" type="462c0819:PsiDirectoryNode" />
221 - <item name="purpose" type="462c0819:PsiDirectoryNode" /> 265 + <item name="actual" type="462c0819:PsiDirectoryNode" />
222 </path> 266 </path>
223 <path> 267 <path>
224 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" /> 268 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />
@@ -234,7 +278,13 @@ @@ -234,7 +278,13 @@
234 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" /> 278 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />
235 <item name="partner_api" type="462c0819:PsiDirectoryNode" /> 279 <item name="partner_api" type="462c0819:PsiDirectoryNode" />
236 <item name="testcases" type="462c0819:PsiDirectoryNode" /> 280 <item name="testcases" type="462c0819:PsiDirectoryNode" />
237 - <item name="purpose" type="462c0819:PsiDirectoryNode" /> 281 + <item name="dividend" type="462c0819:PsiDirectoryNode" />
  282 + </path>
  283 + <path>
  284 + <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />
  285 + <item name="partner_api" type="462c0819:PsiDirectoryNode" />
  286 + <item name="testcases" type="462c0819:PsiDirectoryNode" />
  287 + <item name="order" type="462c0819:PsiDirectoryNode" />
238 </path> 288 </path>
239 <path> 289 <path>
240 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" /> 290 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />
@@ -246,16 +296,19 @@ @@ -246,16 +296,19 @@
246 <item name="partner_api" type="462c0819:PsiDirectoryNode" /> 296 <item name="partner_api" type="462c0819:PsiDirectoryNode" />
247 <item name="venv" type="462c0819:PsiDirectoryNode" /> 297 <item name="venv" type="462c0819:PsiDirectoryNode" />
248 </path> 298 </path>
  299 + <path>
  300 + <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />
  301 + <item name="External Libraries" type="cb654da1:ExternalLibrariesNode" />
  302 + </path>
249 </expand> 303 </expand>
250 <select /> 304 <select />
251 </subPane> 305 </subPane>
252 </pane> 306 </pane>
253 - <pane id="Scope" />  
254 </panes> 307 </panes>
255 </component> 308 </component>
256 <component name="PropertiesComponent"> 309 <component name="PropertiesComponent">
257 <property name="WebServerToolWindowFactoryState" value="false" /> 310 <property name="WebServerToolWindowFactoryState" value="false" />
258 - <property name="last_opened_file_path" value="F:/myhrun" /> 311 + <property name="last_opened_file_path" value="$PROJECT_DIR$" />
259 <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" /> 312 <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
260 <property name="nodejs_npm_path_reset_for_default_project" value="true" /> 313 <property name="nodejs_npm_path_reset_for_default_project" value="true" />
261 <property name="settings.editor.selected.configurable" value="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable" /> 314 <property name="settings.editor.selected.configurable" value="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable" />
@@ -426,26 +479,29 @@ @@ -426,26 +479,29 @@
426 <workItem from="1596678833734" duration="2504000" /> 479 <workItem from="1596678833734" duration="2504000" />
427 <workItem from="1596805266484" duration="1392000" /> 480 <workItem from="1596805266484" duration="1392000" />
428 <workItem from="1596899522553" duration="58000" /> 481 <workItem from="1596899522553" duration="58000" />
  482 + <workItem from="1597197819907" duration="7375000" />
  483 + <workItem from="1597211046716" duration="599000" />
429 </task> 484 </task>
430 <servers /> 485 <servers />
431 </component> 486 </component>
432 <component name="TimeTrackingManager"> 487 <component name="TimeTrackingManager">
433 - <option name="totallyTimeSpent" value="178088000" /> 488 + <option name="totallyTimeSpent" value="186062000" />
434 </component> 489 </component>
435 <component name="ToolWindowManager"> 490 <component name="ToolWindowManager">
436 - <frame x="-8" y="-8" width="1382" height="744" extended-state="6" /> 491 + <frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
  492 + <editor active="true" />
437 <layout> 493 <layout>
438 <window_info id="Favorites" order="0" side_tool="true" /> 494 <window_info id="Favorites" order="0" side_tool="true" />
439 - <window_info content_ui="combo" id="Project" order="1" visible="true" weight="0.2965204" /> 495 + <window_info content_ui="combo" id="Project" order="1" visible="true" weight="0.3052575" />
440 <window_info id="Structure" order="2" side_tool="true" weight="0.25" /> 496 <window_info id="Structure" order="2" side_tool="true" weight="0.25" />
441 <window_info anchor="bottom" id="Docker" order="0" show_stripe_button="false" /> 497 <window_info anchor="bottom" id="Docker" order="0" show_stripe_button="false" />
442 - <window_info active="true" anchor="bottom" id="Terminal" order="1" visible="true" weight="0.28620103" /> 498 + <window_info anchor="bottom" id="Terminal" order="1" weight="0.2857143" />
443 <window_info anchor="bottom" id="Message" order="2" /> 499 <window_info anchor="bottom" id="Message" order="2" />
444 <window_info anchor="bottom" id="Event Log" order="3" side_tool="true" /> 500 <window_info anchor="bottom" id="Event Log" order="3" side_tool="true" />
445 <window_info anchor="bottom" id="Find" order="4" weight="0.32879046" /> 501 <window_info anchor="bottom" id="Find" order="4" weight="0.32879046" />
446 - <window_info anchor="bottom" id="Python Console" order="5" weight="0.32879046" /> 502 + <window_info anchor="bottom" id="Python Console" order="5" weight="0.328125" />
447 <window_info anchor="bottom" id="Database Changes" order="6" /> 503 <window_info anchor="bottom" id="Database Changes" order="6" />
448 - <window_info anchor="bottom" id="Run" order="7" weight="0.3270869" /> 504 + <window_info active="true" anchor="bottom" id="Run" order="7" visible="true" weight="0.32700893" />
449 <window_info anchor="bottom" id="Version Control" order="8" weight="0.32879046" /> 505 <window_info anchor="bottom" id="Version Control" order="8" weight="0.32879046" />
450 <window_info anchor="bottom" id="Debug" order="9" weight="0.4" /> 506 <window_info anchor="bottom" id="Debug" order="9" weight="0.4" />
451 <window_info anchor="bottom" id="Cvs" order="10" weight="0.25" /> 507 <window_info anchor="bottom" id="Cvs" order="10" weight="0.25" />
@@ -462,27 +518,6 @@ @@ -462,27 +518,6 @@
462 <option name="version" value="1" /> 518 <option name="version" value="1" />
463 </component> 519 </component>
464 <component name="editorHistoryManager"> 520 <component name="editorHistoryManager">
465 - <entry file="file://$PROJECT_DIR$/api/m_api/actual/m_order_actual_detail_api.yml">  
466 - <provider selected="true" editor-type-id="text-editor">  
467 - <state relative-caret-position="88">  
468 - <caret line="4" column="37" selection-start-line="4" selection-start-column="37" selection-end-line="4" selection-end-column="37" />  
469 - </state>  
470 - </provider>  
471 - </entry>  
472 - <entry file="file://$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_partner_list_api.yml">  
473 - <provider selected="true" editor-type-id="text-editor">  
474 - <state>  
475 - <caret line="3" column="57" selection-start-line="3" selection-start-column="19" selection-end-line="3" selection-end-column="57" />  
476 - </state>  
477 - </provider>  
478 - </entry>  
479 - <entry file="file://$PROJECT_DIR$/testcases/purpose/PURPOSE003_purpose_list_testcases.yml">  
480 - <provider selected="true" editor-type-id="text-editor">  
481 - <state relative-caret-position="110">  
482 - <caret line="5" column="61" selection-start-line="5" selection-start-column="23" selection-end-line="5" selection-end-column="61" />  
483 - </state>  
484 - </provider>  
485 - </entry>  
486 <entry file="file://$PROJECT_DIR$/testcases/purpose/PURPOSE004_purpose_list_testcases.yml"> 521 <entry file="file://$PROJECT_DIR$/testcases/purpose/PURPOSE004_purpose_list_testcases.yml">
487 <provider selected="true" editor-type-id="text-editor"> 522 <provider selected="true" editor-type-id="text-editor">
488 <state relative-caret-position="110"> 523 <state relative-caret-position="110">
@@ -532,13 +567,6 @@ @@ -532,13 +567,6 @@
532 </state> 567 </state>
533 </provider> 568 </provider>
534 </entry> 569 </entry>
535 - <entry file="file://$PROJECT_DIR$/api/m_api/actual/m_edit_order_actual_api.yml">  
536 - <provider selected="true" editor-type-id="text-editor">  
537 - <state relative-caret-position="-110">  
538 - <caret line="2" selection-start-line="2" selection-end-line="9" selection-end-column="59" />  
539 - </state>  
540 - </provider>  
541 - </entry>  
542 <entry file="file://$PROJECT_DIR$/testcases/order/order_list_1_testcases.yml" /> 570 <entry file="file://$PROJECT_DIR$/testcases/order/order_list_1_testcases.yml" />
543 <entry file="file://$PROJECT_DIR$/testcases/order/order_list_0_testcases.yml" /> 571 <entry file="file://$PROJECT_DIR$/testcases/order/order_list_0_testcases.yml" />
544 <entry file="file://$PROJECT_DIR$/api/app_api/order/list_2_api.yml" /> 572 <entry file="file://$PROJECT_DIR$/api/app_api/order/list_2_api.yml" />
@@ -571,13 +599,6 @@ @@ -571,13 +599,6 @@
571 </state> 599 </state>
572 </provider> 600 </provider>
573 </entry> 601 </entry>
574 - <entry file="file://$PROJECT_DIR$/api/app_api/login/login_api.yml">  
575 - <provider selected="true" editor-type-id="text-editor">  
576 - <state relative-caret-position="330">  
577 - <caret line="15" column="33" selection-start-line="15" selection-start-column="33" selection-end-line="15" selection-end-column="33" />  
578 - </state>  
579 - </provider>  
580 - </entry>  
581 <entry file="file://$PROJECT_DIR$/api/app_api/order/details_api.yml"> 602 <entry file="file://$PROJECT_DIR$/api/app_api/order/details_api.yml">
582 <provider selected="true" editor-type-id="text-editor"> 603 <provider selected="true" editor-type-id="text-editor">
583 <state> 604 <state>
@@ -659,118 +680,155 @@ @@ -659,118 +680,155 @@
659 </state> 680 </state>
660 </provider> 681 </provider>
661 </entry> 682 </entry>
662 - <entry file="file://$PROJECT_DIR$/testcases/order/order_statistics_testcases.yml"> 683 + <entry file="file://$PROJECT_DIR$/testcases/order/order_list_testcases.yml">
663 <provider selected="true" editor-type-id="text-editor"> 684 <provider selected="true" editor-type-id="text-editor">
664 - <state relative-caret-position="88">  
665 - <caret line="4" column="65" selection-start-line="4" selection-start-column="65" selection-end-line="4" selection-end-column="65" /> 685 + <state relative-caret-position="308">
  686 + <caret line="14" column="40" selection-start-line="14" selection-start-column="40" selection-end-line="14" selection-end-column="40" />
666 </state> 687 </state>
667 </provider> 688 </provider>
668 </entry> 689 </entry>
669 - <entry file="file://$PROJECT_DIR$/api/app_api/order/statistics_api.yml"> 690 + <entry file="file://$PROJECT_DIR$/testcases/purpose/PURPOSE001_add_purpose_testcases.yml">
670 <provider selected="true" editor-type-id="text-editor"> 691 <provider selected="true" editor-type-id="text-editor">
671 - <state relative-caret-position="405">  
672 - <caret line="26" column="14" selection-start-line="26" selection-start-column="14" selection-end-line="26" selection-end-column="14" /> 692 + <state relative-caret-position="286">
  693 + <caret line="13" column="55" selection-start-line="13" selection-start-column="55" selection-end-line="13" selection-end-column="55" />
673 </state> 694 </state>
674 </provider> 695 </provider>
675 </entry> 696 </entry>
676 - <entry file="file://$PROJECT_DIR$/api/app_api/order/list_api.yml"> 697 + <entry file="file://$PROJECT_DIR$/testcases/purpose/PURPOSE002_edit_purpose_testcases.yml">
677 <provider selected="true" editor-type-id="text-editor"> 698 <provider selected="true" editor-type-id="text-editor">
678 - <state relative-caret-position="317">  
679 - <caret line="26" column="22" selection-start-line="26" selection-start-column="22" selection-end-line="26" selection-end-column="22" /> 699 + <state relative-caret-position="154">
  700 + <caret line="13" column="56" selection-start-line="13" selection-start-column="56" selection-end-line="13" selection-end-column="56" />
680 </state> 701 </state>
681 </provider> 702 </provider>
682 </entry> 703 </entry>
683 - <entry file="file://$PROJECT_DIR$/testcases/order/order_list_testcases.yml"> 704 + <entry file="file://$PROJECT_DIR$/helpfunc/pg_db_func.py">
684 <provider selected="true" editor-type-id="text-editor"> 705 <provider selected="true" editor-type-id="text-editor">
685 - <state relative-caret-position="308">  
686 - <caret line="14" column="40" selection-start-line="14" selection-start-column="40" selection-end-line="14" selection-end-column="40" /> 706 + <state relative-caret-position="5854">
  707 + <caret line="316" selection-start-line="316" selection-end-line="316" />
687 </state> 708 </state>
688 </provider> 709 </provider>
689 </entry> 710 </entry>
690 - <entry file="file://$PROJECT_DIR$/api/app_api/dividend/statistics_api.yml"> 711 + <entry file="file://$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_sendout_api.yml">
691 <provider selected="true" editor-type-id="text-editor"> 712 <provider selected="true" editor-type-id="text-editor">
692 - <state relative-caret-position="471">  
693 - <caret line="26" column="25" selection-start-line="26" selection-start-column="25" selection-end-line="26" selection-end-column="25" /> 713 + <state relative-caret-position="154">
  714 + <caret line="7" column="58" selection-start-line="7" selection-start-column="58" selection-end-line="7" selection-end-column="58" />
694 </state> 715 </state>
695 </provider> 716 </provider>
696 </entry> 717 </entry>
697 - <entry file="file://$PROJECT_DIR$/testcases/dividend/dividend_statistics_testcases.yml"> 718 + <entry file="file://$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_edit_api.yml">
698 <provider selected="true" editor-type-id="text-editor"> 719 <provider selected="true" editor-type-id="text-editor">
699 - <state relative-caret-position="44">  
700 - <caret line="8" column="19" selection-start-line="8" selection-start-column="19" selection-end-line="8" selection-end-column="19" /> 720 + <state relative-caret-position="832">
  721 + <caret line="32" column="12" selection-start-line="32" selection-start-column="12" selection-end-line="32" selection-end-column="12" />
701 </state> 722 </state>
702 </provider> 723 </provider>
703 </entry> 724 </entry>
704 - <entry file="file://$PROJECT_DIR$/testcases/purpose/PURPOSE001_add_purpose_testcases.yml"> 725 + <entry file="file://$PROJECT_DIR$/.env">
  726 + <provider selected="true" editor-type-id="text-editor">
  727 + <state relative-caret-position="182">
  728 + <caret line="7" selection-start-line="7" selection-end-line="7" />
  729 + </state>
  730 + </provider>
  731 + </entry>
  732 + <entry file="file://$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_add_api.yml">
705 <provider selected="true" editor-type-id="text-editor"> 733 <provider selected="true" editor-type-id="text-editor">
706 <state relative-caret-position="286"> 734 <state relative-caret-position="286">
707 - <caret line="13" column="55" selection-start-line="13" selection-start-column="55" selection-end-line="13" selection-end-column="55" /> 735 + <caret line="11" column="52" lean-forward="true" selection-start-line="11" selection-start-column="8" selection-end-line="11" selection-end-column="52" />
708 </state> 736 </state>
709 </provider> 737 </provider>
710 </entry> 738 </entry>
711 - <entry file="file://$PROJECT_DIR$/testcases/purpose/PURPOSE002_edit_purpose_testcases.yml"> 739 + <entry file="file://$PROJECT_DIR$/api/app_api/order/list_api.yml">
712 <provider selected="true" editor-type-id="text-editor"> 740 <provider selected="true" editor-type-id="text-editor">
713 - <state relative-caret-position="154">  
714 - <caret line="13" column="56" selection-start-line="13" selection-start-column="56" selection-end-line="13" selection-end-column="56" /> 741 + <state relative-caret-position="676">
  742 + <caret line="26" column="22" selection-start-line="26" selection-start-column="22" selection-end-line="26" selection-end-column="22" />
715 </state> 743 </state>
716 </provider> 744 </provider>
717 </entry> 745 </entry>
718 - <entry file="file://$PROJECT_DIR$/helpfunc/pg_db_func.py"> 746 + <entry file="file://$PROJECT_DIR$/api/m_api/actual/m_edit_order_actual_api.yml">
719 <provider selected="true" editor-type-id="text-editor"> 747 <provider selected="true" editor-type-id="text-editor">
720 - <state relative-caret-position="5854">  
721 - <caret line="316" selection-start-line="316" selection-end-line="316" /> 748 + <state relative-caret-position="26">
  749 + <caret line="2" selection-start-line="2" selection-end-line="9" selection-end-column="59" />
722 </state> 750 </state>
723 </provider> 751 </provider>
724 </entry> 752 </entry>
725 - <entry file="file://$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_sendout_api.yml"> 753 + <entry file="file://$PROJECT_DIR$/api/m_api/actual/m_add_order_actual_api.yml">
726 <provider selected="true" editor-type-id="text-editor"> 754 <provider selected="true" editor-type-id="text-editor">
727 - <state relative-caret-position="154">  
728 - <caret line="7" column="58" selection-start-line="7" selection-start-column="58" selection-end-line="7" selection-end-column="58" /> 755 + <state relative-caret-position="338">
  756 + <caret line="14" column="19" selection-start-line="14" selection-start-column="19" selection-end-line="14" selection-end-column="19" />
  757 + </state>
  758 + </provider>
  759 + </entry>
  760 + <entry file="file://$USER_HOME$/AppData/Local/Programs/Python/Python38/Lib/site-packages/urllib3/request.py">
  761 + <provider selected="true" editor-type-id="text-editor">
  762 + <state relative-caret-position="658">
  763 + <caret line="170" selection-start-line="170" selection-end-line="170" />
  764 + </state>
  765 + </provider>
  766 + </entry>
  767 + <entry file="file://$USER_HOME$/AppData/Local/Programs/Python/Python38/Lib/site-packages/httprunner/report/report.py">
  768 + <provider selected="true" editor-type-id="text-editor">
  769 + <state relative-caret-position="-905">
  770 + <folding>
  771 + <element signature="e#0#11#0" expanded="true" />
  772 + </folding>
  773 + </state>
  774 + </provider>
  775 + </entry>
  776 + <entry file="file://$USER_HOME$/AppData/Local/Programs/Python/Python38/Lib/site-packages/httprunner/report/html/template.html">
  777 + <provider selected="true" editor-type-id="text-editor">
  778 + <state relative-caret-position="286">
  779 + <caret line="293" column="50" selection-start-line="293" selection-start-column="50" selection-end-line="293" selection-end-column="50" />
729 </state> 780 </state>
730 </provider> 781 </provider>
731 </entry> 782 </entry>
732 <entry file="file://$PROJECT_DIR$/testsuites/partner_testsuite.yml"> 783 <entry file="file://$PROJECT_DIR$/testsuites/partner_testsuite.yml">
733 <provider selected="true" editor-type-id="text-editor"> 784 <provider selected="true" editor-type-id="text-editor">
734 - <state relative-caret-position="1496">  
735 - <caret line="68" column="40" selection-start-line="68" selection-start-column="40" selection-end-line="68" selection-end-column="40" /> 785 + <state relative-caret-position="2210">
  786 + <caret line="85" selection-start-line="85" selection-end-line="86" selection-end-column="60" />
736 </state> 787 </state>
737 </provider> 788 </provider>
738 </entry> 789 </entry>
739 - <entry file="file://$PROJECT_DIR$/.env"> 790 + <entry file="file://$PROJECT_DIR$/api/app_api/login/login_api.yml">
740 <provider selected="true" editor-type-id="text-editor"> 791 <provider selected="true" editor-type-id="text-editor">
741 - <state relative-caret-position="176">  
742 - <caret line="8" column="71" selection-start-line="8" selection-start-column="71" selection-end-line="8" selection-end-column="71" /> 792 + <state relative-caret-position="390">
  793 + <caret line="15" column="33" selection-start-line="15" selection-start-column="33" selection-end-line="15" selection-end-column="33" />
743 </state> 794 </state>
744 </provider> 795 </provider>
745 </entry> 796 </entry>
746 - <entry file="file://$PROJECT_DIR$/api/m_api/actual/m_add_order_actual_api.yml"> 797 + <entry file="file://$PROJECT_DIR$/api/app_api/order/statistics_api.yml">
747 <provider selected="true" editor-type-id="text-editor"> 798 <provider selected="true" editor-type-id="text-editor">
748 - <state relative-caret-position="308">  
749 - <caret line="14" column="19" selection-start-line="14" selection-start-column="19" selection-end-line="14" selection-end-column="19" /> 799 + <state relative-caret-position="962">
  800 + <caret line="37" column="54" selection-start-line="37" selection-start-column="36" selection-end-line="37" selection-end-column="54" />
750 </state> 801 </state>
751 </provider> 802 </provider>
752 </entry> 803 </entry>
753 - <entry file="file://$PROJECT_DIR$/helpfunc/pg_app_db_func.py"> 804 + <entry file="file://$PROJECT_DIR$/testcases/order/order_statistics_testcases.yml">
754 <provider selected="true" editor-type-id="text-editor"> 805 <provider selected="true" editor-type-id="text-editor">
755 - <state relative-caret-position="1650">  
756 - <caret line="77" column="34" selection-start-line="77" selection-start-column="4" selection-end-line="77" selection-end-column="34" />  
757 - <folding>  
758 - <element signature="e#108#123#0" expanded="true" />  
759 - </folding> 806 + <state relative-caret-position="182">
  807 + <caret line="7" column="34" selection-start-line="7" selection-start-column="34" selection-end-line="7" selection-end-column="52" />
760 </state> 808 </state>
761 </provider> 809 </provider>
762 </entry> 810 </entry>
763 - <entry file="file://$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_edit_api.yml"> 811 + <entry file="file://$PROJECT_DIR$/testcases/dividend/dividend_statistics_testcases.yml">
764 <provider selected="true" editor-type-id="text-editor"> 812 <provider selected="true" editor-type-id="text-editor">
765 - <state relative-caret-position="704">  
766 - <caret line="32" column="12" selection-start-line="32" selection-start-column="12" selection-end-line="32" selection-end-column="12" /> 813 + <state relative-caret-position="208">
  814 + <caret line="8" column="19" selection-start-line="8" selection-start-column="19" selection-end-line="8" selection-end-column="19" />
767 </state> 815 </state>
768 </provider> 816 </provider>
769 </entry> 817 </entry>
770 - <entry file="file://$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_add_api.yml"> 818 + <entry file="file://$PROJECT_DIR$/api/app_api/dividend/statistics_api.yml">
  819 + <provider selected="true" editor-type-id="text-editor">
  820 + <state relative-caret-position="676">
  821 + <caret line="26" column="25" selection-start-line="26" selection-start-column="25" selection-end-line="26" selection-end-column="25" />
  822 + </state>
  823 + </provider>
  824 + </entry>
  825 + <entry file="file://$PROJECT_DIR$/helpfunc/pg_app_db_func.py">
771 <provider selected="true" editor-type-id="text-editor"> 826 <provider selected="true" editor-type-id="text-editor">
772 - <state relative-caret-position="242">  
773 - <caret line="20" column="23" selection-start-line="20" selection-start-column="23" selection-end-line="20" selection-end-column="23" /> 827 + <state relative-caret-position="4170">
  828 + <caret line="344" column="56" selection-start-line="344" selection-start-column="56" selection-end-line="344" selection-end-column="56" />
  829 + <folding>
  830 + <element signature="e#108#123#0" expanded="true" />
  831 + </folding>
774 </state> 832 </state>
775 </provider> 833 </provider>
776 </entry> 834 </entry>
@@ -5,6 +5,10 @@ variables: @@ -5,6 +5,10 @@ variables:
5 uuid: ${make_uuid()} 5 uuid: ${make_uuid()}
6 var_access_token: ${get_accesstoken()} 6 var_access_token: ${get_accesstoken()}
7 sign: ${make_sign($currtime, $uuid, $var_access_token)} 7 sign: ${make_sign($currtime, $uuid, $var_access_token)}
  8 + todayRealQuantity: ${get_todayRealQuantity_from_database()}
  9 + todayRealMoney: ${get_todayRealMoney_from_database()}
  10 + cumulativeQuantity: ${get_cumulativeQuantity_from_database()}
  11 + cumulativeMoney: ${get_cumulativeMoney_from_database()}
8 msg: 成功 12 msg: 成功
9 request: 13 request:
10 headers: 14 headers:
@@ -24,4 +28,20 @@ request: @@ -24,4 +28,20 @@ request:
24 validate: 28 validate:
25 - eq: 29 - eq:
26 - content.msg 30 - content.msg
27 - - $msg  
  31 + - $msg
  32 +
  33 + - eq:
  34 + - content.data.statistics.cumulativeMoney
  35 + - $cumulativeMoney
  36 +
  37 + - eq:
  38 + - content.data.statistics.cumulativeQuantity
  39 + - $cumulativeQuantity
  40 +
  41 + - eq:
  42 + - content.data.statistics.todayRealMoney
  43 + - $todayRealMoney
  44 +
  45 + - eq:
  46 + - content.data.statistics.todayRealQuantity
  47 + - $todayRealQuantity
@@ -9,8 +9,8 @@ request: @@ -9,8 +9,8 @@ request:
9 orderId: ${get_nowtime()} 9 orderId: ${get_nowtime()}
10 buyer: 我是客户${get_second()} 10 buyer: 我是客户${get_second()}
11 orderDist: '福建二区' 11 orderDist: '福建二区'
12 -# partnerID: ${get_partner_id_from_database()}  
13 - partnerID: 003 12 + partnerID: ${get_partner_id_from_database()}
  13 +# partnerID: 003
14 commissionProportion: 10.2 14 commissionProportion: 10.2
15 product: 15 product:
16 - productName: 产品名称${get_second()} 16 - productName: 产品名称${get_second()}
1 -eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjI5LCJleHAiOjE1OTUxODE2NDksImlzcyI6Imp3dCJ9.040kthvHTswNtk9W6N2BY2pqWdpcp010TCDcxUzsgoU  
  1 +eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjI5LCJleHAiOjE1OTcyMTA1MjUsImlzcyI6Imp3dCJ9.RUTWbqfQEq7QGvsWtJ_s7k8J-rsM4ZEk--q8RIZy1tc
1 -eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjI5LCJleHAiOjE1OTUxNzUzNDksImlzcyI6Imp3dCJ9.pg_SIaCWY8Sq1NY_eoyiRqZBXvtOGxxAD0W9rMtZ2_c  
  1 +eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjI5LCJleHAiOjE1OTcyMDQyMjQsImlzcyI6Imp3dCJ9.Dgwkb4m8Hwwj5ViMmOp5cOL_L0Hatw2qqPIUI0wkQpI
1 -eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1OTY4NDk0NzAsImlhdCI6MTU5NjgwNjI3MCwiaXNzIjoibW1tX3BhcnRuZXJtZyIsIm5iZiI6MTU5NjgwNjI3MCwidWlkIjoxfQ.HlIr_mrPM8571Lly_QRPADD1IctjQg8ZN3RLeY_dkOQ  
  1 +eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1OTcyNDI2OTcsImlhdCI6MTU5NzE5OTQ5NywiaXNzIjoibW1tX3BhcnRuZXJtZyIsIm5iZiI6MTU5NzE5OTQ5NywidWlkIjoxOH0.GVz6hlPMNJo4xB5Y_hU3WLI5WF7Dk2YzXm9iG7TtfXs
1 -eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjI5LCJleHAiOjE1OTc3NjY0NDksImlzcyI6Imp3dCJ9.ppsxSGGy7O0fwk-QGlBlkAYn2gwhxEMaqlU3yzioBaA  
  1 +eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjI5LCJleHAiOjE1OTk3OTUzMjUsImlzcyI6Imp3dCJ9.8XGDZICB7lu03ItOSL7psvQhyMtn0DHne9unDhSXK5U
@@ -63,7 +63,7 @@ def get_partner_id_from_database(): @@ -63,7 +63,7 @@ def get_partner_id_from_database():
63 cursor = db.cursor() 63 cursor = db.cursor()
64 # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc ' 64 # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '
65 sql = '''select id from partner_info where account = '13459147023' ''' 65 sql = '''select id from partner_info where account = '13459147023' '''
66 - print(sql) 66 + # print(sql)
67 try: 67 try:
68 cursor.execute(sql) 68 cursor.execute(sql)
69 result = cursor.fetchone() 69 result = cursor.fetchone()
@@ -92,11 +92,11 @@ def get_partner_name_from_database(): @@ -92,11 +92,11 @@ def get_partner_name_from_database():
92 db.close() 92 db.close()
93 # print(get_partner_name_from_database()) 93 # print(get_partner_name_from_database())
94 #获取超级管理员账号 94 #获取超级管理员账号
95 -def get_partner_account_from_database(tbl): 95 +def get_partner_account_from_database():
96 db = GetConnect() 96 db = GetConnect()
97 cursor = db.cursor() 97 cursor = db.cursor()
98 # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc ' 98 # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '
99 - sql = '''select account from \"{}\" where account = '13459147023' '''.format(tbl) 99 + sql = '''select account from partner_info where account = '13459147023' '''
100 # print(sql) 100 # print(sql)
101 try: 101 try:
102 cursor.execute(sql) 102 cursor.execute(sql)
@@ -124,11 +124,11 @@ def get_partner_password_from_database(tbl): @@ -124,11 +124,11 @@ def get_partner_password_from_database(tbl):
124 db.rollback() 124 db.rollback()
125 db.close() 125 db.close()
126 #累计实发订单 126 #累计实发订单
127 -def get_cumulativeQuantity_from_database(tbl): 127 +def get_cumulativeQuantity_from_database():
128 db = GetConnect() 128 db = GetConnect()
129 cursor = db.cursor() 129 cursor = db.cursor()
130 # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc ' 130 # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '
131 - sql = '''select COUNT(id) from \"{}\" where partner_id = {} and order_status in (2,3) '''.format(tbl,get_partner_id_from_database('partner_info')) 131 + sql = '''select COUNT(id) from order_base where partner_id = {} and order_type in (1) '''.format(get_partner_id_from_database())
132 # print(sql) 132 # print(sql)
133 try: 133 try:
134 cursor.execute(sql) 134 cursor.execute(sql)
@@ -141,33 +141,39 @@ def get_cumulativeQuantity_from_database(tbl): @@ -141,33 +141,39 @@ def get_cumulativeQuantity_from_database(tbl):
141 db.close() 141 db.close()
142 142
143 #累计实发订单金额 143 #累计实发订单金额
144 -def get_cumulativeMoney_from_database(tbl): 144 +def get_cumulativeMoney_from_database():
145 db = GetConnect() 145 db = GetConnect()
146 cursor = db.cursor() 146 cursor = db.cursor()
147 # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc ' 147 # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '
148 - sql = '''select sum(order_actual_amount) from \"{}\" where partner_id = {} and order_status in (2,3) '''.format(tbl,get_partner_id_from_database('partner_info')) 148 + sql = '''select sum(plan_order_amount) from order_base where partner_id = {} and order_type in (1) '''.format(get_partner_id_from_database())
149 # print(sql) 149 # print(sql)
150 try: 150 try:
151 cursor.execute(sql) 151 cursor.execute(sql)
152 result = cursor.fetchone() 152 result = cursor.fetchone()
153 - return int(result[0]) 153 + if round(result[0], 2) == 0:
  154 + return 0
  155 + else:
  156 + return round(result[0], 2)
154 except Exception as err: 157 except Exception as err:
155 # 发生错误时回滚 158 # 发生错误时回滚
156 print(err) 159 print(err)
157 db.rollback() 160 db.rollback()
158 db.close() 161 db.close()
159 - 162 +# print(get_cumulativeMoney_from_database())
160 #今日新增实发订单金额 163 #今日新增实发订单金额
161 -def get_todayRealMoney_from_database(tbl): 164 +def get_todayRealMoney_from_database():
162 db = GetConnect() 165 db = GetConnect()
163 cursor = db.cursor() 166 cursor = db.cursor()
164 # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc ' 167 # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '
165 - sql = '''select COALESCE(sum(order_actual_amount),0) from \"{}\" where create_at between \'{}\' and \'{}\' and order_status in (2,3) '''.format(tbl,get_today(),get_tomorrow()) 168 + sql = '''select COALESCE(sum(plan_order_amount),0) from order_base where create_time between \'{}\' and \'{}\' and order_type in (1) '''.format(get_today(),get_tomorrow())
166 # print(sql) 169 # print(sql)
167 try: 170 try:
168 cursor.execute(sql) 171 cursor.execute(sql)
169 result = cursor.fetchone() 172 result = cursor.fetchone()
170 - return int(result[0]) 173 + if round(result[0], 2) == 0:
  174 + return 0
  175 + else:
  176 + return round(result[0], 2)
171 except Exception as err: 177 except Exception as err:
172 # 发生错误时回滚 178 # 发生错误时回滚
173 print(err) 179 print(err)
@@ -175,45 +181,11 @@ def get_todayRealMoney_from_database(tbl): @@ -175,45 +181,11 @@ def get_todayRealMoney_from_database(tbl):
175 db.close() 181 db.close()
176 182
177 #今日新增实发订单 183 #今日新增实发订单
178 -def get_todayRealQuantity_from_database(tbl):  
179 - db = GetConnect()  
180 - cursor = db.cursor()  
181 - # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '  
182 - sql = '''select COUNT(id) from \"{}\" where create_at between \'{}\' and \'{}\' and order_status in (2,3) '''.format(tbl,get_today(),get_tomorrow())  
183 - # print(sql)  
184 - try:  
185 - cursor.execute(sql)  
186 - result = cursor.fetchone()  
187 - return int(result[0])  
188 - except Exception as err:  
189 - # 发生错误时回滚  
190 - print(err)  
191 - db.rollback()  
192 - db.close()  
193 -  
194 -#订单数量  
195 -def get_orderQuantity_from_database(tbl):  
196 - db = GetConnect()  
197 - cursor = db.cursor()  
198 - # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '  
199 - sql = '''select COUNT(id) from \"{}\" where partner_id = {} and create_at between \'{}\' and \'{}\' and order_type = 1 and order_status in (2,3) '''.format(tbl,get_partner_id_from_database('partner_info'),get_starTimestamp(),get_endTimestamp())  
200 - # print(sql)  
201 - try:  
202 - cursor.execute(sql)  
203 - result = cursor.fetchone()  
204 - return int(result[0])  
205 - except Exception as err:  
206 - # 发生错误时回滚  
207 - print(err)  
208 - db.rollback()  
209 - db.close()  
210 -  
211 -#累计实发订单  
212 -def get_cumulativeQuantity_from_database(tbl): 184 +def get_todayRealQuantity_from_database():
213 db = GetConnect() 185 db = GetConnect()
214 cursor = db.cursor() 186 cursor = db.cursor()
215 # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc ' 187 # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '
216 - sql = '''select COUNT(id) from \"{}\" where partner_id = {} and create_at between \'{}\' and \'{}\' and order_type = 1 and order_status in (2,3) '''.format(tbl,get_partner_id_from_database('partner_info'),get_starTimestamp(),get_endTimestamp()) 188 + sql = '''select COUNT(id) from order_base where create_time between \'{}\' and \'{}\' and order_type in (1) '''.format(get_today(),get_tomorrow())
217 # print(sql) 189 # print(sql)
218 try: 190 try:
219 cursor.execute(sql) 191 cursor.execute(sql)
@@ -225,28 +197,12 @@ def get_cumulativeQuantity_from_database(tbl): @@ -225,28 +197,12 @@ def get_cumulativeQuantity_from_database(tbl):
225 db.rollback() 197 db.rollback()
226 db.close() 198 db.close()
227 199
228 -#部分发货的订单数量  
229 -def get_partShipmentQuantity_from_database(tbl):  
230 - db = GetConnect()  
231 - cursor = db.cursor()  
232 - # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '  
233 - sql = '''select COUNT(id) from \"{}\" where partner_id = {} and create_at between \'{}\' and \'{}\' and order_type = 1 and order_status in (2) '''.format(tbl,get_partner_id_from_database('partner_info'),get_starTimestamp(),get_endTimestamp())  
234 - # print(sql)  
235 - try:  
236 - cursor.execute(sql)  
237 - result = cursor.fetchone()  
238 - return int(result[0])  
239 - except Exception as err:  
240 - # 发生错误时回滚  
241 - print(err)  
242 - db.rollback()  
243 - db.close()  
244 -#全部发货的订单数量  
245 -def get_allShipmentQuantity_from_database(tbl): 200 +#累计所有年份应收分红
  201 +def get_receivable_from_database():
246 db = GetConnect() 202 db = GetConnect()
247 cursor = db.cursor() 203 cursor = db.cursor()
248 # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc ' 204 # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '
249 - sql = '''select COUNT(id) from \"{}\" where partner_id = {} and create_at between \'{}\' and \'{}\' and order_type = 1 and order_status in (3) '''.format(tbl,get_partner_id_from_database('partner_info'),get_starTimestamp(),get_endTimestamp()) 205 + sql = '''select sum(COALESCE(partner_bonus_has,0)+COALESCE(partner_bonus_not,0)-COALESCE(partner_bonus_expense,0)) from order_base where create_time between \'{}\' and \'{}\' and order_type in (1) '''.format(get_today(),get_tomorrow())
250 print(sql) 206 print(sql)
251 try: 207 try:
252 cursor.execute(sql) 208 cursor.execute(sql)
@@ -257,113 +213,133 @@ def get_allShipmentQuantity_from_database(tbl): @@ -257,113 +213,133 @@ def get_allShipmentQuantity_from_database(tbl):
257 print(err) 213 print(err)
258 db.rollback() 214 db.rollback()
259 db.close() 215 db.close()
260 -# print(get_allShipmentQuantity_from_database('order'))  
261 -#累计意向订单  
262 -def get_intentionQuantity_from_database(tbl):  
263 - db = GetConnect()  
264 - cursor = db.cursor()  
265 - # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '  
266 - sql = '''select COUNT(id) from \"{}\" where partner_id = {} and create_at between \'{}\' and \'{}\' and order_type = 2 '''.format(tbl,get_partner_id_from_database('partner_info'),get_starTimestamp(),get_endTimestamp())  
267 - # print(sql)  
268 - try:  
269 - cursor.execute(sql)  
270 - result = cursor.fetchone()  
271 - return int(result[0])  
272 - except Exception as err:  
273 - # 发生错误时回滚  
274 - print(err)  
275 - db.rollback()  
276 - db.close()  
277 -#累计所有年份未收分红  
278 -def get_outstanding_from_database():  
279 - db = GetConnect()  
280 - cursor = db.cursor()  
281 - # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '  
282 - sql = '''select COALESCE(sum(((order_actual_amount - order_payment_amount ) * partner_bonus_percent)/100),0) as outstanding from \"{}\" where partner_id = {} and create_at between \'{}\' and \'{}\' '''.format('order',get_partner_id_from_database('partner_info'),get_starTimestamp(),get_endTimestamp())  
283 - # print(sql)  
284 - try:  
285 - cursor.execute(sql)  
286 - result = cursor.fetchone()  
287 - if round(result[0], 2) == 0:  
288 - return 0  
289 - else:  
290 - return round(result[0],2)  
291 - except Exception as err:  
292 - # 发生错误时回滚  
293 - print(err)  
294 - db.rollback()  
295 - db.close()  
296 -#累计所有年份已收分红  
297 -def get_received_from_database():  
298 - db = GetConnect()  
299 - cursor = db.cursor()  
300 - # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '  
301 - sql = '''select COALESCE(sum((order_payment_amount * partner_bonus_percent)/100),0) as received from \"{}\" where partner_id = {} and create_at between \'{}\' and \'{}\' '''.format('order',get_partner_id_from_database('partner_info'),get_starTimestamp(),get_endTimestamp())  
302 - # print(sql)  
303 - try:  
304 - cursor.execute(sql)  
305 - result = cursor.fetchone()  
306 - if round(result[0],2) == 0:  
307 - return 0  
308 - else:  
309 - return round(result[0],2)  
310 - except Exception as err:  
311 - # 发生错误时回滚  
312 - print(err)  
313 - db.rollback()  
314 - db.close()  
315 -  
316 -#已收明细数量  
317 -def get_detailAction_0_from_database():  
318 - db = GetConnect()  
319 - cursor = db.cursor()  
320 - # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '  
321 - sql = '''select COUNT(id) from \"{}\" where partner_id = {} and order_payment_amount > 0 '''.format('order',get_partner_id_from_database('partner_info'))  
322 - # print(sql)id  
323 - try:  
324 - cursor.execute(sql)  
325 - result = cursor.fetchone()  
326 - return result[0]  
327 - except Exception as err:  
328 - # 发生错误时回滚  
329 - print(err)  
330 - db.rollback()  
331 - db.close()  
332 -  
333 -#未收明细数量  
334 -def get_detailAction_1_from_database():  
335 - db = GetConnect()  
336 - cursor = db.cursor()  
337 - # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '  
338 - sql = '''select COUNT(id) from \"{}\" where partner_id = {} and order_actual_amount > order_payment_amount '''.format('order',get_partner_id_from_database('partner_info'))  
339 - # print(sql)id  
340 - try:  
341 - cursor.execute(sql)  
342 - result = cursor.fetchone()  
343 - return result[0]  
344 - except Exception as err:  
345 - # 发生错误时回滚  
346 - print(err)  
347 - db.rollback()  
348 - db.close() 216 +print(get_receivable_from_database())
  217 +#部分发货的订单数量
  218 +# def get_partShipmentQuantity_from_database(tbl):
  219 +# db = GetConnect()
  220 +# cursor = db.cursor()
  221 +# # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '
  222 +# sql = '''select COUNT(id) from \"{}\" where partner_id = {} and create_at between \'{}\' and \'{}\' and order_type = 1 and order_status in (2) '''.format(tbl,get_partner_id_from_database('partner_info'),get_starTimestamp(),get_endTimestamp())
  223 +# # print(sql)
  224 +# try:
  225 +# cursor.execute(sql)
  226 +# result = cursor.fetchone()
  227 +# return int(result[0])
  228 +# except Exception as err:
  229 +# # 发生错误时回滚
  230 +# print(err)
  231 +# db.rollback()
  232 +# db.close()
  233 +# #全部发货的订单数量
  234 +# def get_allShipmentQuantity_from_database(tbl):
  235 +# db = GetConnect()
  236 +# cursor = db.cursor()
  237 +# # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '
  238 +# sql = '''select COUNT(id) from \"{}\" where partner_id = {} and create_at between \'{}\' and \'{}\' and order_type = 1 and order_status in (3) '''.format(tbl,get_partner_id_from_database('partner_info'),get_starTimestamp(),get_endTimestamp())
  239 +# print(sql)
  240 +# try:
  241 +# cursor.execute(sql)
  242 +# result = cursor.fetchone()
  243 +# return int(result[0])
  244 +# except Exception as err:
  245 +# # 发生错误时回滚
  246 +# print(err)
  247 +# db.rollback()
  248 +# db.close()
  249 +# # print(get_allShipmentQuantity_from_database('order'))
  250 +# #累计所有年份未收分红
  251 +# def get_outstanding_from_database():
  252 +# db = GetConnect()
  253 +# cursor = db.cursor()
  254 +# # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '
  255 +# sql = '''select COALESCE(sum(((order_actual_amount - order_payment_amount ) * partner_bonus_percent)/100),0) as outstanding from \"{}\" where partner_id = {} and create_at between \'{}\' and \'{}\' '''.format('order',get_partner_id_from_database('partner_info'),get_starTimestamp(),get_endTimestamp())
  256 +# # print(sql)
  257 +# try:
  258 +# cursor.execute(sql)
  259 +# result = cursor.fetchone()
  260 +# if round(result[0], 2) == 0:
  261 +# return 0
  262 +# else:
  263 +# return round(result[0],2)
  264 +# except Exception as err:
  265 +# # 发生错误时回滚
  266 +# print(err)
  267 +# db.rollback()
  268 +# db.close()
  269 +# #累计所有年份已收分红
  270 +# def get_received_from_database():
  271 +# db = GetConnect()
  272 +# cursor = db.cursor()
  273 +# # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '
  274 +# sql = '''select COALESCE(sum((order_payment_amount * partner_bonus_percent)/100),0) as received from \"{}\" where partner_id = {} and create_at between \'{}\' and \'{}\' '''.format('order',get_partner_id_from_database('partner_info'),get_starTimestamp(),get_endTimestamp())
  275 +# # print(sql)
  276 +# try:
  277 +# cursor.execute(sql)
  278 +# result = cursor.fetchone()
  279 +# if round(result[0],2) == 0:
  280 +# return 0
  281 +# else:
  282 +# return round(result[0],2)
  283 +# except Exception as err:
  284 +# # 发生错误时回滚
  285 +# print(err)
  286 +# db.rollback()
  287 +# db.close()
  288 +#
  289 +# #已收明细数量
  290 +# def get_detailAction_0_from_database():
  291 +# db = GetConnect()
  292 +# cursor = db.cursor()
  293 +# # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '
  294 +# sql = '''select COUNT(id) from \"{}\" where partner_id = {} and order_payment_amount > 0 '''.format('order',get_partner_id_from_database('partner_info'))
  295 +# # print(sql)id
  296 +# try:
  297 +# cursor.execute(sql)
  298 +# result = cursor.fetchone()
  299 +# return result[0]
  300 +# except Exception as err:
  301 +# # 发生错误时回滚
  302 +# print(err)
  303 +# db.rollback()
  304 +# db.close()
  305 +#
  306 +# #未收明细数量
  307 +# def get_detailAction_1_from_database():
  308 +# db = GetConnect()
  309 +# cursor = db.cursor()
  310 +# # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '
  311 +# sql = '''select COUNT(id) from \"{}\" where partner_id = {} and order_actual_amount > order_payment_amount '''.format('order',get_partner_id_from_database('partner_info'))
  312 +# # print(sql)id
  313 +# try:
  314 +# cursor.execute(sql)
  315 +# result = cursor.fetchone()
  316 +# return result[0]
  317 +# except Exception as err:
  318 +# # 发生错误时回滚
  319 +# print(err)
  320 +# db.rollback()
  321 +# db.close()
  322 +#
  323 +# #季度分红支出
  324 +# def get_expend_from_database():
  325 +# db = GetConnect()
  326 +# cursor = db.cursor()
  327 +# # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '
  328 +# sql = '''select sum(((order_amount- order_actual_amount)* partner_bonus_percent)/100) from \"{}\" where partner_id = {} '''.format('order',get_partner_id_from_database())
  329 +# # print(sql)id
  330 +# try:
  331 +# cursor.execute(sql)
  332 +# result = cursor.fetchone()
  333 +# if result[0] == 0:
  334 +# return 0
  335 +# else:
  336 +# return round(result[0],2)
  337 +# except Exception as err:
  338 +# # 发生错误时回滚
  339 +# print(err)
  340 +# db.rollback()
  341 +# db.close()
  342 +# # print(get_expend_from_database())
349 343
350 -#季度分红支出  
351 -def get_expend_from_database():  
352 - db = GetConnect()  
353 - cursor = db.cursor()  
354 - # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '  
355 - sql = '''select sum(((order_amount- order_actual_amount)* partner_bonus_percent)/100) from \"{}\" where partner_id = {} '''.format('order',get_partner_id_from_database())  
356 - # print(sql)id  
357 - try:  
358 - cursor.execute(sql)  
359 - result = cursor.fetchone()  
360 - if result[0] == 0:  
361 - return 0  
362 - else:  
363 - return round(result[0],2)  
364 - except Exception as err:  
365 - # 发生错误时回滚  
366 - print(err)  
367 - db.rollback()  
368 - db.close()  
369 -# print(get_expend_from_database()) 344 +import calendar
  345 +print (range(calendar.monthrange(year, month)[1]+1)[1:])
1 -<head>  
2 - <meta content="text/html; charset=utf-8" http-equiv="content-type" />  
3 - <meta name="viewport" content="width=device-width, initial-scale=1.0">  
4 - <title> - TestReport</title>  
5 - <style>  
6 - body {  
7 - background-color: #f2f2f2;  
8 - color: #333;  
9 - margin: 0 auto;  
10 - width: 960px;  
11 - }  
12 - #summary {  
13 - width: 960px;  
14 - margin-bottom: 20px;  
15 - }  
16 - #summary th {  
17 - background-color: skyblue;  
18 - padding: 5px 12px;  
19 - }  
20 - #summary td {  
21 - background-color: lightblue;  
22 - text-align: center;  
23 - padding: 4px 8px;  
24 - }  
25 - .details {  
26 - width: 960px;  
27 - margin-bottom: 20px;  
28 - }  
29 - .details th {  
30 - background-color: skyblue;  
31 - padding: 5px 12px;  
32 - }  
33 - .details tr .passed {  
34 - background-color: lightgreen;  
35 - }  
36 - .details tr .failed {  
37 - background-color: red;  
38 - }  
39 - .details tr .unchecked {  
40 - background-color: gray;  
41 - }  
42 - .details td {  
43 - background-color: lightblue;  
44 - padding: 5px 12px;  
45 - }  
46 - .details .detail {  
47 - background-color: lightgrey;  
48 - font-size: smaller;  
49 - padding: 5px 10px;  
50 - line-height: 20px;  
51 - text-align: left;  
52 - }  
53 - .details .success {  
54 - background-color: greenyellow;  
55 - }  
56 - .details .error {  
57 - background-color: red;  
58 - }  
59 - .details .failure {  
60 - background-color: salmon;  
61 - }  
62 - .details .skipped {  
63 - background-color: gray;  
64 - }  
65 -  
66 - .button {  
67 - font-size: 1em;  
68 - padding: 6px;  
69 - width: 4em;  
70 - text-align: center;  
71 - background-color: #06d85f;  
72 - border-radius: 20px/50px;  
73 - cursor: pointer;  
74 - transition: all 0.3s ease-out;  
75 - }  
76 - a.button{  
77 - color: gray;  
78 - text-decoration: none;  
79 - display: inline-block;  
80 - }  
81 - .button:hover {  
82 - background: #2cffbd;  
83 - }  
84 -  
85 - .overlay {  
86 - position: fixed;  
87 - top: 0;  
88 - bottom: 0;  
89 - left: 0;  
90 - right: 0;  
91 - background: rgba(0, 0, 0, 0.7);  
92 - transition: opacity 500ms;  
93 - visibility: hidden;  
94 - opacity: 0;  
95 - line-height: 25px;  
96 - }  
97 - .overlay:target {  
98 - visibility: visible;  
99 - opacity: 1;  
100 - }  
101 -  
102 - .popup {  
103 - margin: 70px auto;  
104 - padding: 20px;  
105 - background: #fff;  
106 - border-radius: 10px;  
107 - width: 50%;  
108 - position: relative;  
109 - transition: all 3s ease-in-out;  
110 - }  
111 -  
112 - .popup h2 {  
113 - margin-top: 0;  
114 - color: #333;  
115 - font-family: Tahoma, Arial, sans-serif;  
116 - }  
117 - .popup .close {  
118 - position: absolute;  
119 - top: 20px;  
120 - right: 30px;  
121 - transition: all 200ms;  
122 - font-size: 30px;  
123 - font-weight: bold;  
124 - text-decoration: none;  
125 - color: #333;  
126 - }  
127 - .popup .close:hover {  
128 - color: #06d85f;  
129 - }  
130 - .popup .content {  
131 - max-height: 80%;  
132 - overflow: auto;  
133 - text-align: left;  
134 - }  
135 - .popup .separator {  
136 - color:royalblue  
137 - }  
138 -  
139 - @media screen and (max-width: 700px) {  
140 - .box {  
141 - width: 70%;  
142 - }  
143 - .popup {  
144 - width: 70%;  
145 - }  
146 - }  
147 -  
148 - </style>  
149 -</head>  
150 -  
151 -<body>  
152 - <h1>Test Report: </h1>  
153 -  
154 - <h2>Summary</h2>  
155 - <table id="summary">  
156 - <tr>  
157 - <th>START AT</th>  
158 - <td colspan="4">2020-08-06T02:02:49.929970</td>  
159 - </tr>  
160 - <tr>  
161 - <th>DURATION</th>  
162 - <td colspan="4">0.488 seconds</td>  
163 - </tr>  
164 - <tr>  
165 - <th>PLATFORM</th>  
166 - <td>HttpRunner 2.5.7 </td>  
167 - <td>CPython 3.8.1 </td>  
168 - <td colspan="2">Windows-7-6.1.7601-SP1</td>  
169 - </tr>  
170 - <tr>  
171 - <th>STAT</th>  
172 - <th colspan="2">TESTCASES (success/fail)</th>  
173 - <th colspan="2">TESTSTEPS (success/fail/error/skip)</th>  
174 - </tr>  
175 - <tr>  
176 - <td>total (details) =></td>  
177 - <td colspan="2">1 (1/0)</td>  
178 - <td colspan="2">2 (2/0/0/0)</td>  
179 - </tr>  
180 - </table>  
181 -  
182 - <h2>Details</h2>  
183 -  
184 -  
185 -  
186 - <h3>PURPOSE001:新增意向订单</h3>  
187 - <table id="suite_1" class="details">  
188 - <tr>  
189 - <td>TOTAL: 2</td>  
190 - <td>SUCCESS: 2</td>  
191 - <td>FAILED: 0</td>  
192 - <td>ERROR: 0</td>  
193 - <td>SKIPPED: 0</td>  
194 - </tr>  
195 - <tr>  
196 - <th>Status</th>  
197 - <th colspan="2">Name</th>  
198 - <th>Response Time</th>  
199 - <th>Detail</th>  
200 - </tr>  
201 -  
202 -  
203 -  
204 -  
205 - <tr id="record_1_1">  
206 - <th class="success" style="width:5em;">success</th>  
207 - <td colspan="2">10000000001 登录系统</td>  
208 - <td style="text-align:center;width:6em;">164.01 ms</td>  
209 - <td class="detail">  
210 -  
211 -  
212 -  
213 - <a class="button" href="#popup_log_1_1_1">log-1</a>  
214 - <div id="popup_log_1_1_1" class="overlay">  
215 - <div class="popup">  
216 - <h2>Request and Response data</h2>  
217 - <a class="close" href="#record_1_1_1">&times;</a>  
218 -  
219 - <div class="content">  
220 - <h3>Name: 10000000001 登录系统</h3>  
221 -  
222 -  
223 -  
224 -  
225 -  
226 - <h3>Request:</h3>  
227 - <div style="overflow: auto">  
228 - <table>  
229 -  
230 - <tr>  
231 - <th>url</th>  
232 - <td>  
233 -  
234 - https://public-interface-test.fjmaimaimai.com/partnermg/v1/auth/login  
235 -  
236 - </td>  
237 - </tr>  
238 -  
239 - <tr>  
240 - <th>method</th>  
241 - <td>  
242 -  
243 - POST  
244 -  
245 - </td>  
246 - </tr>  
247 -  
248 - <tr>  
249 - <th>headers</th>  
250 - <td>  
251 -  
252 - <pre>{  
253 - &#34;User-Agent&#34;: &#34;Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36&#34;,  
254 - &#34;Accept-Encoding&#34;: &#34;gzip, deflate&#34;,  
255 - &#34;Accept&#34;: &#34;*/*&#34;,  
256 - &#34;Connection&#34;: &#34;keep-alive&#34;,  
257 - &#34;Content-Type&#34;: &#34;application/json;charset=utf-8&#34;,  
258 - &#34;Content-Length&#34;: &#34;83&#34;  
259 -}</pre>  
260 -  
261 - </td>  
262 - </tr>  
263 -  
264 - <tr>  
265 - <th>body</th>  
266 - <td>  
267 -  
268 - <pre>{  
269 - &#34;password&#34;: &#34;7c4a8d09ca3762af61e59520943dc26494f8941b&#34;,  
270 - &#34;username&#34;: &#34;10000000001&#34;  
271 -}</pre>  
272 -  
273 - </td>  
274 - </tr>  
275 -  
276 - </table>  
277 - </div>  
278 -  
279 - <h3>Response:</h3>  
280 - <div style="overflow: auto">  
281 - <table>  
282 -  
283 - <tr>  
284 - <th>ok</th>  
285 - <td>  
286 -  
287 - True  
288 -  
289 - </td>  
290 - </tr>  
291 -  
292 - <tr>  
293 - <th>url</th>  
294 - <td>  
295 -  
296 - https://public-interface-test.fjmaimaimai.com/partnermg/v1/auth/login  
297 -  
298 - </td>  
299 - </tr>  
300 -  
301 - <tr>  
302 - <th>status_code</th>  
303 - <td>  
304 -  
305 - 200  
306 -  
307 - </td>  
308 - </tr>  
309 -  
310 - <tr>  
311 - <th>reason</th>  
312 - <td>  
313 -  
314 - OK  
315 -  
316 - </td>  
317 - </tr>  
318 -  
319 - <tr>  
320 - <th>cookies</th>  
321 - <td>  
322 -  
323 - {}  
324 -  
325 - </td>  
326 - </tr>  
327 -  
328 - <tr>  
329 - <th>encoding</th>  
330 - <td>  
331 -  
332 - utf-8  
333 -  
334 - </td>  
335 - </tr>  
336 -  
337 - <tr>  
338 - <th>headers</th>  
339 - <td>  
340 -  
341 - <pre>{  
342 - &#34;Date&#34;: &#34;Thu, 06 Aug 2020 02:02:51 GMT&#34;,  
343 - &#34;Content-Type&#34;: &#34;application/json; charset=utf-8&#34;,  
344 - &#34;Transfer-Encoding&#34;: &#34;chunked&#34;,  
345 - &#34;Connection&#34;: &#34;keep-alive&#34;,  
346 - &#34;Vary&#34;: &#34;Accept-Encoding, Accept-Encoding&#34;,  
347 - &#34;Access-Control-Allow-Credentials&#34;: &#34;true&#34;,  
348 - &#34;Access-Control-Allow-Headers&#34;: &#34;Origin,Authorization,Access-Control-Allow-Origin,Content-Type,x-requested-with&#34;,  
349 - &#34;Access-Control-Allow-Methods&#34;: &#34;*&#34;,  
350 - &#34;Access-Control-Allow-Origin&#34;: &#34;*&#34;,  
351 - &#34;Access-Control-Expose-Headers&#34;: &#34;Content-Length&#34;,  
352 - &#34;Strict-Transport-Security&#34;: &#34;max-age=15724800; includeSubDomains&#34;,  
353 - &#34;Content-Encoding&#34;: &#34;gzip&#34;  
354 -}</pre>  
355 -  
356 - </td>  
357 - </tr>  
358 -  
359 - <tr>  
360 - <th>content_type</th>  
361 - <td>  
362 -  
363 - application/json; charset=utf-8  
364 -  
365 - </td>  
366 - </tr>  
367 -  
368 - <tr>  
369 - <th>body</th>  
370 - <td>  
371 -  
372 -  
373 - <pre>{  
374 - &#34;code&#34;: 0,  
375 - &#34;msg&#34;: &#34;ok&#34;,  
376 - &#34;data&#34;: {  
377 - &#34;access&#34;: {  
378 - &#34;accessToken&#34;: &#34;eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1OTY3MjI1NzEsImlhdCI6MTU5NjY3OTM3MSwiaXNzIjoibW1tX3BhcnRuZXJtZyIsIm5iZiI6MTU5NjY3OTM3MSwidWlkIjoxOH0.lrnK_7eU-6hP6CgCSEjiZgTGQUrW3LkO358UD14DKBc&#34;,  
379 - &#34;expiresIn&#34;: 43200  
380 - }  
381 - }  
382 -}</pre>  
383 -  
384 -  
385 - </td>  
386 - </tr>  
387 -  
388 - </table>  
389 - </div>  
390 -  
391 -  
392 - <h3>Validators:</h3>  
393 - <div style="overflow: auto">  
394 -  
395 -  
396 - <table>  
397 - <tr>  
398 - <th>check</th>  
399 - <th>comparator</th>  
400 - <th>expect value</th>  
401 - <th>actual value</th>  
402 - </tr>  
403 -  
404 - <tr>  
405 -  
406 - <td class="passed">  
407 -  
408 - content.msg  
409 - </td>  
410 - <td>equals</td>  
411 - <td>ok</td>  
412 - <td>ok</td>  
413 - </tr>  
414 -  
415 - </table>  
416 -  
417 -  
418 -  
419 -  
420 - </div>  
421 -  
422 - <h3>Statistics:</h3>  
423 - <div style="overflow: auto">  
424 - <table>  
425 - <tr>  
426 - <th>content_size(bytes)</th>  
427 - <td>311</td>  
428 - </tr>  
429 - <tr>  
430 - <th>response_time(ms)</th>  
431 - <td>164.01</td>  
432 - </tr>  
433 - <tr>  
434 - <th>elapsed(ms)</th>  
435 - <td>157.814</td>  
436 - </tr>  
437 - </table>  
438 - </div>  
439 -  
440 - </div>  
441 - </div>  
442 - </div>  
443 -  
444 -  
445 -  
446 -  
447 - </td>  
448 - </tr>  
449 -  
450 -  
451 -  
452 - <tr id="record_1_2">  
453 - <th class="success" style="width:5em;">success</th>  
454 - <td colspan="2">10000000001 新增意向订单</td>  
455 - <td style="text-align:center;width:6em;">59.00 ms</td>  
456 - <td class="detail">  
457 -  
458 -  
459 -  
460 - <a class="button" href="#popup_log_1_2_1">log-1</a>  
461 - <div id="popup_log_1_2_1" class="overlay">  
462 - <div class="popup">  
463 - <h2>Request and Response data</h2>  
464 - <a class="close" href="#record_1_2_1">&times;</a>  
465 -  
466 - <div class="content">  
467 - <h3>Name: 10000000001 新增意向订单</h3>  
468 -  
469 -  
470 -  
471 -  
472 -  
473 - <h3>Request:</h3>  
474 - <div style="overflow: auto">  
475 - <table>  
476 -  
477 - <tr>  
478 - <th>url</th>  
479 - <td>  
480 -  
481 - https://public-interface-test.fjmaimaimai.com/partnermg/v1/order/purpose/update  
482 -  
483 - </td>  
484 - </tr>  
485 -  
486 - <tr>  
487 - <th>method</th>  
488 - <td>  
489 -  
490 - POST  
491 -  
492 - </td>  
493 - </tr>  
494 -  
495 - <tr>  
496 - <th>headers</th>  
497 - <td>  
498 -  
499 - <pre>{  
500 - &#34;User-Agent&#34;: &#34;okhttp/3.12.3&#34;,  
501 - &#34;Accept-Encoding&#34;: &#34;gzip, deflate&#34;,  
502 - &#34;Accept&#34;: &#34;*/*&#34;,  
503 - &#34;Connection&#34;: &#34;keep-alive&#34;,  
504 - &#34;Content-Type&#34;: &#34;application/json;charset=utf-8&#34;,  
505 - &#34;Authorization&#34;: &#34;Bearer bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1OTY3MjI1NzEsImlhdCI6MTU5NjY3OTM3MSwiaXNzIjoibW1tX3BhcnRuZXJtZyIsIm5iZiI6MTU5NjY3OTM3MSwidWlkIjoxOH0.lrnK_7eU-6hP6CgCSEjiZgTGQUrW3LkO358UD14DKBc&#34;,  
506 - &#34;Content-Length&#34;: &#34;274&#34;  
507 -}</pre>  
508 -  
509 - </td>  
510 - </tr>  
511 -  
512 - <tr>  
513 - <th>body</th>  
514 - <td>  
515 -  
516 - <pre>{  
517 - &#34;orderId&#34;: &#34;20200806100250&#34;,  
518 - &#34;buyer&#34;: &#34;我是客户50&#34;,  
519 - &#34;orderDist&#34;: &#34;福建二区&#34;,  
520 - &#34;partnerID&#34;: 29,  
521 - &#34;commissionProportion&#34;: 10.2,  
522 - &#34;product&#34;: [  
523 - {  
524 - &#34;productName&#34;: &#34;产品名称50&#34;,  
525 - &#34;orderNum&#34;: 20,  
526 - &#34;univalence&#34;: 1.12,  
527 - &#34;partnerRatio&#34;: 1.27  
528 - }  
529 - ]  
530 -}</pre>  
531 -  
532 - </td>  
533 - </tr>  
534 -  
535 - </table>  
536 - </div>  
537 -  
538 - <h3>Response:</h3>  
539 - <div style="overflow: auto">  
540 - <table>  
541 -  
542 - <tr>  
543 - <th>ok</th>  
544 - <td>  
545 -  
546 - True  
547 -  
548 - </td>  
549 - </tr>  
550 -  
551 - <tr>  
552 - <th>url</th>  
553 - <td>  
554 -  
555 - https://public-interface-test.fjmaimaimai.com/partnermg/v1/order/purpose/update  
556 -  
557 - </td>  
558 - </tr>  
559 -  
560 - <tr>  
561 - <th>status_code</th>  
562 - <td>  
563 -  
564 - 200  
565 -  
566 - </td>  
567 - </tr>  
568 -  
569 - <tr>  
570 - <th>reason</th>  
571 - <td>  
572 -  
573 - OK  
574 -  
575 - </td>  
576 - </tr>  
577 -  
578 - <tr>  
579 - <th>cookies</th>  
580 - <td>  
581 -  
582 - {}  
583 -  
584 - </td>  
585 - </tr>  
586 -  
587 - <tr>  
588 - <th>encoding</th>  
589 - <td>  
590 -  
591 - utf-8  
592 -  
593 - </td>  
594 - </tr>  
595 -  
596 - <tr>  
597 - <th>headers</th>  
598 - <td>  
599 -  
600 - <pre>{  
601 - &#34;Date&#34;: &#34;Thu, 06 Aug 2020 02:02:51 GMT&#34;,  
602 - &#34;Content-Type&#34;: &#34;application/json; charset=utf-8&#34;,  
603 - &#34;Content-Length&#34;: &#34;44&#34;,  
604 - &#34;Connection&#34;: &#34;keep-alive&#34;,  
605 - &#34;Access-Control-Allow-Credentials&#34;: &#34;true&#34;,  
606 - &#34;Access-Control-Allow-Headers&#34;: &#34;Origin,Authorization,Access-Control-Allow-Origin,Content-Type,x-requested-with&#34;,  
607 - &#34;Access-Control-Allow-Methods&#34;: &#34;*&#34;,  
608 - &#34;Access-Control-Allow-Origin&#34;: &#34;*&#34;,  
609 - &#34;Access-Control-Expose-Headers&#34;: &#34;Content-Length&#34;,  
610 - &#34;Strict-Transport-Security&#34;: &#34;max-age=15724800; includeSubDomains&#34;  
611 -}</pre>  
612 -  
613 - </td>  
614 - </tr>  
615 -  
616 - <tr>  
617 - <th>content_type</th>  
618 - <td>  
619 -  
620 - application/json; charset=utf-8  
621 -  
622 - </td>  
623 - </tr>  
624 -  
625 - <tr>  
626 - <th>body</th>  
627 - <td>  
628 -  
629 -  
630 - <pre>{  
631 - &#34;code&#34;: 0,  
632 - &#34;msg&#34;: &#34;ok&#34;,  
633 - &#34;data&#34;: {}  
634 -}</pre>  
635 -  
636 -  
637 - </td>  
638 - </tr>  
639 -  
640 - </table>  
641 - </div>  
642 -  
643 -  
644 - <h3>Validators:</h3>  
645 - <div style="overflow: auto">  
646 -  
647 -  
648 - <table>  
649 - <tr>  
650 - <th>check</th>  
651 - <th>comparator</th>  
652 - <th>expect value</th>  
653 - <th>actual value</th>  
654 - </tr>  
655 -  
656 - <tr>  
657 -  
658 - <td class="passed">  
659 -  
660 - content.msg  
661 - </td>  
662 - <td>equals</td>  
663 - <td>ok</td>  
664 - <td>ok</td>  
665 - </tr>  
666 -  
667 - </table>  
668 -  
669 -  
670 -  
671 -  
672 - </div>  
673 -  
674 - <h3>Statistics:</h3>  
675 - <div style="overflow: auto">  
676 - <table>  
677 - <tr>  
678 - <th>content_size(bytes)</th>  
679 - <td>44</td>  
680 - </tr>  
681 - <tr>  
682 - <th>response_time(ms)</th>  
683 - <td>59.0</td>  
684 - </tr>  
685 - <tr>  
686 - <th>elapsed(ms)</th>  
687 - <td>53.906</td>  
688 - </tr>  
689 - </table>  
690 - </div>  
691 -  
692 - </div>  
693 - </div>  
694 - </div>  
695 -  
696 -  
697 -  
698 -  
699 - </td>  
700 - </tr>  
701 -  
702 - </table>  
703 -  
704 -</body>  
1 -<head>  
2 - <meta content="text/html; charset=utf-8" http-equiv="content-type" />  
3 - <meta name="viewport" content="width=device-width, initial-scale=1.0">  
4 - <title> - TestReport</title>  
5 - <style>  
6 - body {  
7 - background-color: #f2f2f2;  
8 - color: #333;  
9 - margin: 0 auto;  
10 - width: 960px;  
11 - }  
12 - #summary {  
13 - width: 960px;  
14 - margin-bottom: 20px;  
15 - }  
16 - #summary th {  
17 - background-color: skyblue;  
18 - padding: 5px 12px;  
19 - }  
20 - #summary td {  
21 - background-color: lightblue;  
22 - text-align: center;  
23 - padding: 4px 8px;  
24 - }  
25 - .details {  
26 - width: 960px;  
27 - margin-bottom: 20px;  
28 - }  
29 - .details th {  
30 - background-color: skyblue;  
31 - padding: 5px 12px;  
32 - }  
33 - .details tr .passed {  
34 - background-color: lightgreen;  
35 - }  
36 - .details tr .failed {  
37 - background-color: red;  
38 - }  
39 - .details tr .unchecked {  
40 - background-color: gray;  
41 - }  
42 - .details td {  
43 - background-color: lightblue;  
44 - padding: 5px 12px;  
45 - }  
46 - .details .detail {  
47 - background-color: lightgrey;  
48 - font-size: smaller;  
49 - padding: 5px 10px;  
50 - line-height: 20px;  
51 - text-align: left;  
52 - }  
53 - .details .success {  
54 - background-color: greenyellow;  
55 - }  
56 - .details .error {  
57 - background-color: red;  
58 - }  
59 - .details .failure {  
60 - background-color: salmon;  
61 - }  
62 - .details .skipped {  
63 - background-color: gray;  
64 - }  
65 -  
66 - .button {  
67 - font-size: 1em;  
68 - padding: 6px;  
69 - width: 4em;  
70 - text-align: center;  
71 - background-color: #06d85f;  
72 - border-radius: 20px/50px;  
73 - cursor: pointer;  
74 - transition: all 0.3s ease-out;  
75 - }  
76 - a.button{  
77 - color: gray;  
78 - text-decoration: none;  
79 - display: inline-block;  
80 - }  
81 - .button:hover {  
82 - background: #2cffbd;  
83 - }  
84 -  
85 - .overlay {  
86 - position: fixed;  
87 - top: 0;  
88 - bottom: 0;  
89 - left: 0;  
90 - right: 0;  
91 - background: rgba(0, 0, 0, 0.7);  
92 - transition: opacity 500ms;  
93 - visibility: hidden;  
94 - opacity: 0;  
95 - line-height: 25px;  
96 - }  
97 - .overlay:target {  
98 - visibility: visible;  
99 - opacity: 1;  
100 - }  
101 -  
102 - .popup {  
103 - margin: 70px auto;  
104 - padding: 20px;  
105 - background: #fff;  
106 - border-radius: 10px;  
107 - width: 50%;  
108 - position: relative;  
109 - transition: all 3s ease-in-out;  
110 - }  
111 -  
112 - .popup h2 {  
113 - margin-top: 0;  
114 - color: #333;  
115 - font-family: Tahoma, Arial, sans-serif;  
116 - }  
117 - .popup .close {  
118 - position: absolute;  
119 - top: 20px;  
120 - right: 30px;  
121 - transition: all 200ms;  
122 - font-size: 30px;  
123 - font-weight: bold;  
124 - text-decoration: none;  
125 - color: #333;  
126 - }  
127 - .popup .close:hover {  
128 - color: #06d85f;  
129 - }  
130 - .popup .content {  
131 - max-height: 80%;  
132 - overflow: auto;  
133 - text-align: left;  
134 - }  
135 - .popup .separator {  
136 - color:royalblue  
137 - }  
138 -  
139 - @media screen and (max-width: 700px) {  
140 - .box {  
141 - width: 70%;  
142 - }  
143 - .popup {  
144 - width: 70%;  
145 - }  
146 - }  
147 -  
148 - </style>  
149 -</head>  
150 -  
151 -<body>  
152 - <h1>Test Report: </h1>  
153 -  
154 - <h2>Summary</h2>  
155 - <table id="summary">  
156 - <tr>  
157 - <th>START AT</th>  
158 - <td colspan="4">2020-08-06T02:23:37.373320</td>  
159 - </tr>  
160 - <tr>  
161 - <th>DURATION</th>  
162 - <td colspan="4">0.333 seconds</td>  
163 - </tr>  
164 - <tr>  
165 - <th>PLATFORM</th>  
166 - <td>HttpRunner 2.5.7 </td>  
167 - <td>CPython 3.8.1 </td>  
168 - <td colspan="2">Windows-7-6.1.7601-SP1</td>  
169 - </tr>  
170 - <tr>  
171 - <th>STAT</th>  
172 - <th colspan="2">TESTCASES (success/fail)</th>  
173 - <th colspan="2">TESTSTEPS (success/fail/error/skip)</th>  
174 - </tr>  
175 - <tr>  
176 - <td>total (details) =></td>  
177 - <td colspan="2">1 (1/0)</td>  
178 - <td colspan="2">2 (2/0/0/0)</td>  
179 - </tr>  
180 - </table>  
181 -  
182 - <h2>Details</h2>  
183 -  
184 -  
185 -  
186 - <h3>PURPOSE001:新增意向订单</h3>  
187 - <table id="suite_1" class="details">  
188 - <tr>  
189 - <td>TOTAL: 2</td>  
190 - <td>SUCCESS: 2</td>  
191 - <td>FAILED: 0</td>  
192 - <td>ERROR: 0</td>  
193 - <td>SKIPPED: 0</td>  
194 - </tr>  
195 - <tr>  
196 - <th>Status</th>  
197 - <th colspan="2">Name</th>  
198 - <th>Response Time</th>  
199 - <th>Detail</th>  
200 - </tr>  
201 -  
202 -  
203 -  
204 -  
205 - <tr id="record_1_1">  
206 - <th class="success" style="width:5em;">success</th>  
207 - <td colspan="2">10000000001 登录系统</td>  
208 - <td style="text-align:center;width:6em;">143.01 ms</td>  
209 - <td class="detail">  
210 -  
211 -  
212 -  
213 - <a class="button" href="#popup_log_1_1_1">log-1</a>  
214 - <div id="popup_log_1_1_1" class="overlay">  
215 - <div class="popup">  
216 - <h2>Request and Response data</h2>  
217 - <a class="close" href="#record_1_1_1">&times;</a>  
218 -  
219 - <div class="content">  
220 - <h3>Name: 10000000001 登录系统</h3>  
221 -  
222 -  
223 -  
224 -  
225 -  
226 - <h3>Request:</h3>  
227 - <div style="overflow: auto">  
228 - <table>  
229 -  
230 - <tr>  
231 - <th>url</th>  
232 - <td>  
233 -  
234 - https://public-interface-test.fjmaimaimai.com/partnermg/v1/auth/login  
235 -  
236 - </td>  
237 - </tr>  
238 -  
239 - <tr>  
240 - <th>method</th>  
241 - <td>  
242 -  
243 - POST  
244 -  
245 - </td>  
246 - </tr>  
247 -  
248 - <tr>  
249 - <th>headers</th>  
250 - <td>  
251 -  
252 - <pre>{  
253 - &#34;User-Agent&#34;: &#34;Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36&#34;,  
254 - &#34;Accept-Encoding&#34;: &#34;gzip, deflate&#34;,  
255 - &#34;Accept&#34;: &#34;*/*&#34;,  
256 - &#34;Connection&#34;: &#34;keep-alive&#34;,  
257 - &#34;Content-Type&#34;: &#34;application/json;charset=utf-8&#34;,  
258 - &#34;Content-Length&#34;: &#34;83&#34;  
259 -}</pre>  
260 -  
261 - </td>  
262 - </tr>  
263 -  
264 - <tr>  
265 - <th>body</th>  
266 - <td>  
267 -  
268 - <pre>{  
269 - &#34;password&#34;: &#34;7c4a8d09ca3762af61e59520943dc26494f8941b&#34;,  
270 - &#34;username&#34;: &#34;10000000001&#34;  
271 -}</pre>  
272 -  
273 - </td>  
274 - </tr>  
275 -  
276 - </table>  
277 - </div>  
278 -  
279 - <h3>Response:</h3>  
280 - <div style="overflow: auto">  
281 - <table>  
282 -  
283 - <tr>  
284 - <th>ok</th>  
285 - <td>  
286 -  
287 - True  
288 -  
289 - </td>  
290 - </tr>  
291 -  
292 - <tr>  
293 - <th>url</th>  
294 - <td>  
295 -  
296 - https://public-interface-test.fjmaimaimai.com/partnermg/v1/auth/login  
297 -  
298 - </td>  
299 - </tr>  
300 -  
301 - <tr>  
302 - <th>status_code</th>  
303 - <td>  
304 -  
305 - 200  
306 -  
307 - </td>  
308 - </tr>  
309 -  
310 - <tr>  
311 - <th>reason</th>  
312 - <td>  
313 -  
314 - OK  
315 -  
316 - </td>  
317 - </tr>  
318 -  
319 - <tr>  
320 - <th>cookies</th>  
321 - <td>  
322 -  
323 - {}  
324 -  
325 - </td>  
326 - </tr>  
327 -  
328 - <tr>  
329 - <th>encoding</th>  
330 - <td>  
331 -  
332 - utf-8  
333 -  
334 - </td>  
335 - </tr>  
336 -  
337 - <tr>  
338 - <th>headers</th>  
339 - <td>  
340 -  
341 - <pre>{  
342 - &#34;Date&#34;: &#34;Thu, 06 Aug 2020 02:23:39 GMT&#34;,  
343 - &#34;Content-Type&#34;: &#34;application/json; charset=utf-8&#34;,  
344 - &#34;Transfer-Encoding&#34;: &#34;chunked&#34;,  
345 - &#34;Connection&#34;: &#34;keep-alive&#34;,  
346 - &#34;Vary&#34;: &#34;Accept-Encoding, Accept-Encoding&#34;,  
347 - &#34;Access-Control-Allow-Credentials&#34;: &#34;true&#34;,  
348 - &#34;Access-Control-Allow-Headers&#34;: &#34;Origin,Authorization,Access-Control-Allow-Origin,Content-Type,x-requested-with&#34;,  
349 - &#34;Access-Control-Allow-Methods&#34;: &#34;*&#34;,  
350 - &#34;Access-Control-Allow-Origin&#34;: &#34;*&#34;,  
351 - &#34;Access-Control-Expose-Headers&#34;: &#34;Content-Length&#34;,  
352 - &#34;Strict-Transport-Security&#34;: &#34;max-age=15724800; includeSubDomains&#34;,  
353 - &#34;Content-Encoding&#34;: &#34;gzip&#34;  
354 -}</pre>  
355 -  
356 - </td>  
357 - </tr>  
358 -  
359 - <tr>  
360 - <th>content_type</th>  
361 - <td>  
362 -  
363 - application/json; charset=utf-8  
364 -  
365 - </td>  
366 - </tr>  
367 -  
368 - <tr>  
369 - <th>body</th>  
370 - <td>  
371 -  
372 -  
373 - <pre>{  
374 - &#34;code&#34;: 0,  
375 - &#34;msg&#34;: &#34;ok&#34;,  
376 - &#34;data&#34;: {  
377 - &#34;access&#34;: {  
378 - &#34;accessToken&#34;: &#34;eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1OTY3MjM4MTksImlhdCI6MTU5NjY4MDYxOSwiaXNzIjoibW1tX3BhcnRuZXJtZyIsIm5iZiI6MTU5NjY4MDYxOSwidWlkIjoxOH0.vsjd1S1RXHC8yEnTE5AzlkE2nYdYowiW7nBqxXxJqTw&#34;,  
379 - &#34;expiresIn&#34;: 43200  
380 - }  
381 - }  
382 -}</pre>  
383 -  
384 -  
385 - </td>  
386 - </tr>  
387 -  
388 - </table>  
389 - </div>  
390 -  
391 -  
392 - <h3>Validators:</h3>  
393 - <div style="overflow: auto">  
394 -  
395 -  
396 - <table>  
397 - <tr>  
398 - <th>check</th>  
399 - <th>comparator</th>  
400 - <th>expect value</th>  
401 - <th>actual value</th>  
402 - </tr>  
403 -  
404 - <tr>  
405 -  
406 - <td class="passed">  
407 -  
408 - content.msg  
409 - </td>  
410 - <td>equals</td>  
411 - <td>ok</td>  
412 - <td>ok</td>  
413 - </tr>  
414 -  
415 - </table>  
416 -  
417 -  
418 -  
419 -  
420 - </div>  
421 -  
422 - <h3>Statistics:</h3>  
423 - <div style="overflow: auto">  
424 - <table>  
425 - <tr>  
426 - <th>content_size(bytes)</th>  
427 - <td>311</td>  
428 - </tr>  
429 - <tr>  
430 - <th>response_time(ms)</th>  
431 - <td>143.01</td>  
432 - </tr>  
433 - <tr>  
434 - <th>elapsed(ms)</th>  
435 - <td>137.372</td>  
436 - </tr>  
437 - </table>  
438 - </div>  
439 -  
440 - </div>  
441 - </div>  
442 - </div>  
443 -  
444 -  
445 -  
446 -  
447 - </td>  
448 - </tr>  
449 -  
450 -  
451 -  
452 - <tr id="record_1_2">  
453 - <th class="success" style="width:5em;">success</th>  
454 - <td colspan="2">10000000001 新增意向订单</td>  
455 - <td style="text-align:center;width:6em;">46.00 ms</td>  
456 - <td class="detail">  
457 -  
458 -  
459 -  
460 - <a class="button" href="#popup_log_1_2_1">log-1</a>  
461 - <div id="popup_log_1_2_1" class="overlay">  
462 - <div class="popup">  
463 - <h2>Request and Response data</h2>  
464 - <a class="close" href="#record_1_2_1">&times;</a>  
465 -  
466 - <div class="content">  
467 - <h3>Name: 10000000001 新增意向订单</h3>  
468 -  
469 -  
470 -  
471 -  
472 -  
473 - <h3>Request:</h3>  
474 - <div style="overflow: auto">  
475 - <table>  
476 -  
477 - <tr>  
478 - <th>url</th>  
479 - <td>  
480 -  
481 - https://public-interface-test.fjmaimaimai.com/partnermg/v1/order/purpose/update  
482 -  
483 - </td>  
484 - </tr>  
485 -  
486 - <tr>  
487 - <th>method</th>  
488 - <td>  
489 -  
490 - POST  
491 -  
492 - </td>  
493 - </tr>  
494 -  
495 - <tr>  
496 - <th>headers</th>  
497 - <td>  
498 -  
499 - <pre>{  
500 - &#34;User-Agent&#34;: &#34;okhttp/3.12.3&#34;,  
501 - &#34;Accept-Encoding&#34;: &#34;gzip, deflate&#34;,  
502 - &#34;Accept&#34;: &#34;*/*&#34;,  
503 - &#34;Connection&#34;: &#34;keep-alive&#34;,  
504 - &#34;Content-Type&#34;: &#34;application/json;charset=utf-8&#34;,  
505 - &#34;Authorization&#34;: &#34;Bearer bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1OTY3MjM4MTksImlhdCI6MTU5NjY4MDYxOSwiaXNzIjoibW1tX3BhcnRuZXJtZyIsIm5iZiI6MTU5NjY4MDYxOSwidWlkIjoxOH0.vsjd1S1RXHC8yEnTE5AzlkE2nYdYowiW7nBqxXxJqTw&#34;,  
506 - &#34;Content-Length&#34;: &#34;274&#34;  
507 -}</pre>  
508 -  
509 - </td>  
510 - </tr>  
511 -  
512 - <tr>  
513 - <th>body</th>  
514 - <td>  
515 -  
516 - <pre>{  
517 - &#34;orderId&#34;: &#34;20200806102337&#34;,  
518 - &#34;buyer&#34;: &#34;我是客户37&#34;,  
519 - &#34;orderDist&#34;: &#34;福建二区&#34;,  
520 - &#34;partnerID&#34;: 29,  
521 - &#34;commissionProportion&#34;: 10.2,  
522 - &#34;product&#34;: [  
523 - {  
524 - &#34;productName&#34;: &#34;产品名称37&#34;,  
525 - &#34;orderNum&#34;: 20,  
526 - &#34;univalence&#34;: 1.12,  
527 - &#34;partnerRatio&#34;: 1.27  
528 - }  
529 - ]  
530 -}</pre>  
531 -  
532 - </td>  
533 - </tr>  
534 -  
535 - </table>  
536 - </div>  
537 -  
538 - <h3>Response:</h3>  
539 - <div style="overflow: auto">  
540 - <table>  
541 -  
542 - <tr>  
543 - <th>ok</th>  
544 - <td>  
545 -  
546 - True  
547 -  
548 - </td>  
549 - </tr>  
550 -  
551 - <tr>  
552 - <th>url</th>  
553 - <td>  
554 -  
555 - https://public-interface-test.fjmaimaimai.com/partnermg/v1/order/purpose/update  
556 -  
557 - </td>  
558 - </tr>  
559 -  
560 - <tr>  
561 - <th>status_code</th>  
562 - <td>  
563 -  
564 - 200  
565 -  
566 - </td>  
567 - </tr>  
568 -  
569 - <tr>  
570 - <th>reason</th>  
571 - <td>  
572 -  
573 - OK  
574 -  
575 - </td>  
576 - </tr>  
577 -  
578 - <tr>  
579 - <th>cookies</th>  
580 - <td>  
581 -  
582 - {}  
583 -  
584 - </td>  
585 - </tr>  
586 -  
587 - <tr>  
588 - <th>encoding</th>  
589 - <td>  
590 -  
591 - utf-8  
592 -  
593 - </td>  
594 - </tr>  
595 -  
596 - <tr>  
597 - <th>headers</th>  
598 - <td>  
599 -  
600 - <pre>{  
601 - &#34;Date&#34;: &#34;Thu, 06 Aug 2020 02:23:39 GMT&#34;,  
602 - &#34;Content-Type&#34;: &#34;application/json; charset=utf-8&#34;,  
603 - &#34;Content-Length&#34;: &#34;44&#34;,  
604 - &#34;Connection&#34;: &#34;keep-alive&#34;,  
605 - &#34;Access-Control-Allow-Credentials&#34;: &#34;true&#34;,  
606 - &#34;Access-Control-Allow-Headers&#34;: &#34;Origin,Authorization,Access-Control-Allow-Origin,Content-Type,x-requested-with&#34;,  
607 - &#34;Access-Control-Allow-Methods&#34;: &#34;*&#34;,  
608 - &#34;Access-Control-Allow-Origin&#34;: &#34;*&#34;,  
609 - &#34;Access-Control-Expose-Headers&#34;: &#34;Content-Length&#34;,  
610 - &#34;Strict-Transport-Security&#34;: &#34;max-age=15724800; includeSubDomains&#34;  
611 -}</pre>  
612 -  
613 - </td>  
614 - </tr>  
615 -  
616 - <tr>  
617 - <th>content_type</th>  
618 - <td>  
619 -  
620 - application/json; charset=utf-8  
621 -  
622 - </td>  
623 - </tr>  
624 -  
625 - <tr>  
626 - <th>body</th>  
627 - <td>  
628 -  
629 -  
630 - <pre>{  
631 - &#34;code&#34;: 0,  
632 - &#34;msg&#34;: &#34;ok&#34;,  
633 - &#34;data&#34;: {}  
634 -}</pre>  
635 -  
636 -  
637 - </td>  
638 - </tr>  
639 -  
640 - </table>  
641 - </div>  
642 -  
643 -  
644 - <h3>Validators:</h3>  
645 - <div style="overflow: auto">  
646 -  
647 -  
648 - <table>  
649 - <tr>  
650 - <th>check</th>  
651 - <th>comparator</th>  
652 - <th>expect value</th>  
653 - <th>actual value</th>  
654 - </tr>  
655 -  
656 - <tr>  
657 -  
658 - <td class="passed">  
659 -  
660 - content.msg  
661 - </td>  
662 - <td>equals</td>  
663 - <td>ok</td>  
664 - <td>ok</td>  
665 - </tr>  
666 -  
667 - </table>  
668 -  
669 -  
670 -  
671 -  
672 - </div>  
673 -  
674 - <h3>Statistics:</h3>  
675 - <div style="overflow: auto">  
676 - <table>  
677 - <tr>  
678 - <th>content_size(bytes)</th>  
679 - <td>44</td>  
680 - </tr>  
681 - <tr>  
682 - <th>response_time(ms)</th>  
683 - <td>46.0</td>  
684 - </tr>  
685 - <tr>  
686 - <th>elapsed(ms)</th>  
687 - <td>37.876</td>  
688 - </tr>  
689 - </table>  
690 - </div>  
691 -  
692 - </div>  
693 - </div>  
694 - </div>  
695 -  
696 -  
697 -  
698 -  
699 - </td>  
700 - </tr>  
701 -  
702 - </table>  
703 -  
704 -</body>  
1 -<head>  
2 - <meta content="text/html; charset=utf-8" http-equiv="content-type" />  
3 - <meta name="viewport" content="width=device-width, initial-scale=1.0">  
4 - <title> - TestReport</title>  
5 - <style>  
6 - body {  
7 - background-color: #f2f2f2;  
8 - color: #333;  
9 - margin: 0 auto;  
10 - width: 960px;  
11 - }  
12 - #summary {  
13 - width: 960px;  
14 - margin-bottom: 20px;  
15 - }  
16 - #summary th {  
17 - background-color: skyblue;  
18 - padding: 5px 12px;  
19 - }  
20 - #summary td {  
21 - background-color: lightblue;  
22 - text-align: center;  
23 - padding: 4px 8px;  
24 - }  
25 - .details {  
26 - width: 960px;  
27 - margin-bottom: 20px;  
28 - }  
29 - .details th {  
30 - background-color: skyblue;  
31 - padding: 5px 12px;  
32 - }  
33 - .details tr .passed {  
34 - background-color: lightgreen;  
35 - }  
36 - .details tr .failed {  
37 - background-color: red;  
38 - }  
39 - .details tr .unchecked {  
40 - background-color: gray;  
41 - }  
42 - .details td {  
43 - background-color: lightblue;  
44 - padding: 5px 12px;  
45 - }  
46 - .details .detail {  
47 - background-color: lightgrey;  
48 - font-size: smaller;  
49 - padding: 5px 10px;  
50 - line-height: 20px;  
51 - text-align: left;  
52 - }  
53 - .details .success {  
54 - background-color: greenyellow;  
55 - }  
56 - .details .error {  
57 - background-color: red;  
58 - }  
59 - .details .failure {  
60 - background-color: salmon;  
61 - }  
62 - .details .skipped {  
63 - background-color: gray;  
64 - }  
65 -  
66 - .button {  
67 - font-size: 1em;  
68 - padding: 6px;  
69 - width: 4em;  
70 - text-align: center;  
71 - background-color: #06d85f;  
72 - border-radius: 20px/50px;  
73 - cursor: pointer;  
74 - transition: all 0.3s ease-out;  
75 - }  
76 - a.button{  
77 - color: gray;  
78 - text-decoration: none;  
79 - display: inline-block;  
80 - }  
81 - .button:hover {  
82 - background: #2cffbd;  
83 - }  
84 -  
85 - .overlay {  
86 - position: fixed;  
87 - top: 0;  
88 - bottom: 0;  
89 - left: 0;  
90 - right: 0;  
91 - background: rgba(0, 0, 0, 0.7);  
92 - transition: opacity 500ms;  
93 - visibility: hidden;  
94 - opacity: 0;  
95 - line-height: 25px;  
96 - }  
97 - .overlay:target {  
98 - visibility: visible;  
99 - opacity: 1;  
100 - }  
101 -  
102 - .popup {  
103 - margin: 70px auto;  
104 - padding: 20px;  
105 - background: #fff;  
106 - border-radius: 10px;  
107 - width: 50%;  
108 - position: relative;  
109 - transition: all 3s ease-in-out;  
110 - }  
111 -  
112 - .popup h2 {  
113 - margin-top: 0;  
114 - color: #333;  
115 - font-family: Tahoma, Arial, sans-serif;  
116 - }  
117 - .popup .close {  
118 - position: absolute;  
119 - top: 20px;  
120 - right: 30px;  
121 - transition: all 200ms;  
122 - font-size: 30px;  
123 - font-weight: bold;  
124 - text-decoration: none;  
125 - color: #333;  
126 - }  
127 - .popup .close:hover {  
128 - color: #06d85f;  
129 - }  
130 - .popup .content {  
131 - max-height: 80%;  
132 - overflow: auto;  
133 - text-align: left;  
134 - }  
135 - .popup .separator {  
136 - color:royalblue  
137 - }  
138 -  
139 - @media screen and (max-width: 700px) {  
140 - .box {  
141 - width: 70%;  
142 - }  
143 - .popup {  
144 - width: 70%;  
145 - }  
146 - }  
147 -  
148 - </style>  
149 -</head>  
150 -  
151 -<body>  
152 - <h1>Test Report: </h1>  
153 -  
154 - <h2>Summary</h2>  
155 - <table id="summary">  
156 - <tr>  
157 - <th>START AT</th>  
158 - <td colspan="4">2020-08-06T02:26:32.120315</td>  
159 - </tr>  
160 - <tr>  
161 - <th>DURATION</th>  
162 - <td colspan="4">0.404 seconds</td>  
163 - </tr>  
164 - <tr>  
165 - <th>PLATFORM</th>  
166 - <td>HttpRunner 2.5.7 </td>  
167 - <td>CPython 3.8.1 </td>  
168 - <td colspan="2">Windows-7-6.1.7601-SP1</td>  
169 - </tr>  
170 - <tr>  
171 - <th>STAT</th>  
172 - <th colspan="2">TESTCASES (success/fail)</th>  
173 - <th colspan="2">TESTSTEPS (success/fail/error/skip)</th>  
174 - </tr>  
175 - <tr>  
176 - <td>total (details) =></td>  
177 - <td colspan="2">1 (1/0)</td>  
178 - <td colspan="2">2 (2/0/0/0)</td>  
179 - </tr>  
180 - </table>  
181 -  
182 - <h2>Details</h2>  
183 -  
184 -  
185 -  
186 - <h3>PURPOSE001:新增意向订单</h3>  
187 - <table id="suite_1" class="details">  
188 - <tr>  
189 - <td>TOTAL: 2</td>  
190 - <td>SUCCESS: 2</td>  
191 - <td>FAILED: 0</td>  
192 - <td>ERROR: 0</td>  
193 - <td>SKIPPED: 0</td>  
194 - </tr>  
195 - <tr>  
196 - <th>Status</th>  
197 - <th colspan="2">Name</th>  
198 - <th>Response Time</th>  
199 - <th>Detail</th>  
200 - </tr>  
201 -  
202 -  
203 -  
204 -  
205 - <tr id="record_1_1">  
206 - <th class="success" style="width:5em;">success</th>  
207 - <td colspan="2">10000000001 登录系统</td>  
208 - <td style="text-align:center;width:6em;">196.01 ms</td>  
209 - <td class="detail">  
210 -  
211 -  
212 -  
213 - <a class="button" href="#popup_log_1_1_1">log-1</a>  
214 - <div id="popup_log_1_1_1" class="overlay">  
215 - <div class="popup">  
216 - <h2>Request and Response data</h2>  
217 - <a class="close" href="#record_1_1_1">&times;</a>  
218 -  
219 - <div class="content">  
220 - <h3>Name: 10000000001 登录系统</h3>  
221 -  
222 -  
223 -  
224 -  
225 -  
226 - <h3>Request:</h3>  
227 - <div style="overflow: auto">  
228 - <table>  
229 -  
230 - <tr>  
231 - <th>url</th>  
232 - <td>  
233 -  
234 - https://public-interface-test.fjmaimaimai.com/partnermg/v1/auth/login  
235 -  
236 - </td>  
237 - </tr>  
238 -  
239 - <tr>  
240 - <th>method</th>  
241 - <td>  
242 -  
243 - POST  
244 -  
245 - </td>  
246 - </tr>  
247 -  
248 - <tr>  
249 - <th>headers</th>  
250 - <td>  
251 -  
252 - <pre>{  
253 - &#34;User-Agent&#34;: &#34;Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36&#34;,  
254 - &#34;Accept-Encoding&#34;: &#34;gzip, deflate&#34;,  
255 - &#34;Accept&#34;: &#34;*/*&#34;,  
256 - &#34;Connection&#34;: &#34;keep-alive&#34;,  
257 - &#34;Content-Type&#34;: &#34;application/json;charset=utf-8&#34;,  
258 - &#34;Content-Length&#34;: &#34;83&#34;  
259 -}</pre>  
260 -  
261 - </td>  
262 - </tr>  
263 -  
264 - <tr>  
265 - <th>body</th>  
266 - <td>  
267 -  
268 - <pre>{  
269 - &#34;password&#34;: &#34;7c4a8d09ca3762af61e59520943dc26494f8941b&#34;,  
270 - &#34;username&#34;: &#34;10000000001&#34;  
271 -}</pre>  
272 -  
273 - </td>  
274 - </tr>  
275 -  
276 - </table>  
277 - </div>  
278 -  
279 - <h3>Response:</h3>  
280 - <div style="overflow: auto">  
281 - <table>  
282 -  
283 - <tr>  
284 - <th>ok</th>  
285 - <td>  
286 -  
287 - True  
288 -  
289 - </td>  
290 - </tr>  
291 -  
292 - <tr>  
293 - <th>url</th>  
294 - <td>  
295 -  
296 - https://public-interface-test.fjmaimaimai.com/partnermg/v1/auth/login  
297 -  
298 - </td>  
299 - </tr>  
300 -  
301 - <tr>  
302 - <th>status_code</th>  
303 - <td>  
304 -  
305 - 200  
306 -  
307 - </td>  
308 - </tr>  
309 -  
310 - <tr>  
311 - <th>reason</th>  
312 - <td>  
313 -  
314 - OK  
315 -  
316 - </td>  
317 - </tr>  
318 -  
319 - <tr>  
320 - <th>cookies</th>  
321 - <td>  
322 -  
323 - {}  
324 -  
325 - </td>  
326 - </tr>  
327 -  
328 - <tr>  
329 - <th>encoding</th>  
330 - <td>  
331 -  
332 - utf-8  
333 -  
334 - </td>  
335 - </tr>  
336 -  
337 - <tr>  
338 - <th>headers</th>  
339 - <td>  
340 -  
341 - <pre>{  
342 - &#34;Date&#34;: &#34;Thu, 06 Aug 2020 02:26:33 GMT&#34;,  
343 - &#34;Content-Type&#34;: &#34;application/json; charset=utf-8&#34;,  
344 - &#34;Transfer-Encoding&#34;: &#34;chunked&#34;,  
345 - &#34;Connection&#34;: &#34;keep-alive&#34;,  
346 - &#34;Vary&#34;: &#34;Accept-Encoding, Accept-Encoding&#34;,  
347 - &#34;Access-Control-Allow-Credentials&#34;: &#34;true&#34;,  
348 - &#34;Access-Control-Allow-Headers&#34;: &#34;Origin,Authorization,Access-Control-Allow-Origin,Content-Type,x-requested-with&#34;,  
349 - &#34;Access-Control-Allow-Methods&#34;: &#34;*&#34;,  
350 - &#34;Access-Control-Allow-Origin&#34;: &#34;*&#34;,  
351 - &#34;Access-Control-Expose-Headers&#34;: &#34;Content-Length&#34;,  
352 - &#34;Strict-Transport-Security&#34;: &#34;max-age=15724800; includeSubDomains&#34;,  
353 - &#34;Content-Encoding&#34;: &#34;gzip&#34;  
354 -}</pre>  
355 -  
356 - </td>  
357 - </tr>  
358 -  
359 - <tr>  
360 - <th>content_type</th>  
361 - <td>  
362 -  
363 - application/json; charset=utf-8  
364 -  
365 - </td>  
366 - </tr>  
367 -  
368 - <tr>  
369 - <th>body</th>  
370 - <td>  
371 -  
372 -  
373 - <pre>{  
374 - &#34;code&#34;: 0,  
375 - &#34;msg&#34;: &#34;ok&#34;,  
376 - &#34;data&#34;: {  
377 - &#34;access&#34;: {  
378 - &#34;accessToken&#34;: &#34;eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1OTY3MjM5OTMsImlhdCI6MTU5NjY4MDc5MywiaXNzIjoibW1tX3BhcnRuZXJtZyIsIm5iZiI6MTU5NjY4MDc5MywidWlkIjoxOH0.tDnIQQP26PPEf4tdLye8_s4nyq8RbDGnDOtU-TZN_4Q&#34;,  
379 - &#34;expiresIn&#34;: 43200  
380 - }  
381 - }  
382 -}</pre>  
383 -  
384 -  
385 - </td>  
386 - </tr>  
387 -  
388 - </table>  
389 - </div>  
390 -  
391 -  
392 - <h3>Validators:</h3>  
393 - <div style="overflow: auto">  
394 -  
395 -  
396 - <table>  
397 - <tr>  
398 - <th>check</th>  
399 - <th>comparator</th>  
400 - <th>expect value</th>  
401 - <th>actual value</th>  
402 - </tr>  
403 -  
404 - <tr>  
405 -  
406 - <td class="passed">  
407 -  
408 - content.msg  
409 - </td>  
410 - <td>equals</td>  
411 - <td>ok</td>  
412 - <td>ok</td>  
413 - </tr>  
414 -  
415 - </table>  
416 -  
417 -  
418 -  
419 -  
420 - </div>  
421 -  
422 - <h3>Statistics:</h3>  
423 - <div style="overflow: auto">  
424 - <table>  
425 - <tr>  
426 - <th>content_size(bytes)</th>  
427 - <td>311</td>  
428 - </tr>  
429 - <tr>  
430 - <th>response_time(ms)</th>  
431 - <td>196.01</td>  
432 - </tr>  
433 - <tr>  
434 - <th>elapsed(ms)</th>  
435 - <td>187.138</td>  
436 - </tr>  
437 - </table>  
438 - </div>  
439 -  
440 - </div>  
441 - </div>  
442 - </div>  
443 -  
444 -  
445 -  
446 -  
447 - </td>  
448 - </tr>  
449 -  
450 -  
451 -  
452 - <tr id="record_1_2">  
453 - <th class="success" style="width:5em;">success</th>  
454 - <td colspan="2">10000000001 新增意向订单</td>  
455 - <td style="text-align:center;width:6em;">56.00 ms</td>  
456 - <td class="detail">  
457 -  
458 -  
459 -  
460 - <a class="button" href="#popup_log_1_2_1">log-1</a>  
461 - <div id="popup_log_1_2_1" class="overlay">  
462 - <div class="popup">  
463 - <h2>Request and Response data</h2>  
464 - <a class="close" href="#record_1_2_1">&times;</a>  
465 -  
466 - <div class="content">  
467 - <h3>Name: 10000000001 新增意向订单</h3>  
468 -  
469 -  
470 -  
471 -  
472 -  
473 - <h3>Request:</h3>  
474 - <div style="overflow: auto">  
475 - <table>  
476 -  
477 - <tr>  
478 - <th>url</th>  
479 - <td>  
480 -  
481 - https://public-interface-test.fjmaimaimai.com/partnermg/v1/order/purpose/update  
482 -  
483 - </td>  
484 - </tr>  
485 -  
486 - <tr>  
487 - <th>method</th>  
488 - <td>  
489 -  
490 - POST  
491 -  
492 - </td>  
493 - </tr>  
494 -  
495 - <tr>  
496 - <th>headers</th>  
497 - <td>  
498 -  
499 - <pre>{  
500 - &#34;User-Agent&#34;: &#34;okhttp/3.12.3&#34;,  
501 - &#34;Accept-Encoding&#34;: &#34;gzip, deflate&#34;,  
502 - &#34;Accept&#34;: &#34;*/*&#34;,  
503 - &#34;Connection&#34;: &#34;keep-alive&#34;,  
504 - &#34;Content-Type&#34;: &#34;application/json;charset=utf-8&#34;,  
505 - &#34;Authorization&#34;: &#34;Bearer bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1OTY3MjM5OTMsImlhdCI6MTU5NjY4MDc5MywiaXNzIjoibW1tX3BhcnRuZXJtZyIsIm5iZiI6MTU5NjY4MDc5MywidWlkIjoxOH0.tDnIQQP26PPEf4tdLye8_s4nyq8RbDGnDOtU-TZN_4Q&#34;,  
506 - &#34;Content-Length&#34;: &#34;274&#34;  
507 -}</pre>  
508 -  
509 - </td>  
510 - </tr>  
511 -  
512 - <tr>  
513 - <th>body</th>  
514 - <td>  
515 -  
516 - <pre>{  
517 - &#34;orderId&#34;: &#34;20200806102632&#34;,  
518 - &#34;buyer&#34;: &#34;我是客户32&#34;,  
519 - &#34;orderDist&#34;: &#34;福建二区&#34;,  
520 - &#34;partnerID&#34;: 29,  
521 - &#34;commissionProportion&#34;: 10.2,  
522 - &#34;product&#34;: [  
523 - {  
524 - &#34;productName&#34;: &#34;产品名称32&#34;,  
525 - &#34;orderNum&#34;: 20,  
526 - &#34;univalence&#34;: 1.12,  
527 - &#34;partnerRatio&#34;: 1.27  
528 - }  
529 - ]  
530 -}</pre>  
531 -  
532 - </td>  
533 - </tr>  
534 -  
535 - </table>  
536 - </div>  
537 -  
538 - <h3>Response:</h3>  
539 - <div style="overflow: auto">  
540 - <table>  
541 -  
542 - <tr>  
543 - <th>ok</th>  
544 - <td>  
545 -  
546 - True  
547 -  
548 - </td>  
549 - </tr>  
550 -  
551 - <tr>  
552 - <th>url</th>  
553 - <td>  
554 -  
555 - https://public-interface-test.fjmaimaimai.com/partnermg/v1/order/purpose/update  
556 -  
557 - </td>  
558 - </tr>  
559 -  
560 - <tr>  
561 - <th>status_code</th>  
562 - <td>  
563 -  
564 - 200  
565 -  
566 - </td>  
567 - </tr>  
568 -  
569 - <tr>  
570 - <th>reason</th>  
571 - <td>  
572 -  
573 - OK  
574 -  
575 - </td>  
576 - </tr>  
577 -  
578 - <tr>  
579 - <th>cookies</th>  
580 - <td>  
581 -  
582 - {}  
583 -  
584 - </td>  
585 - </tr>  
586 -  
587 - <tr>  
588 - <th>encoding</th>  
589 - <td>  
590 -  
591 - utf-8  
592 -  
593 - </td>  
594 - </tr>  
595 -  
596 - <tr>  
597 - <th>headers</th>  
598 - <td>  
599 -  
600 - <pre>{  
601 - &#34;Date&#34;: &#34;Thu, 06 Aug 2020 02:26:34 GMT&#34;,  
602 - &#34;Content-Type&#34;: &#34;application/json; charset=utf-8&#34;,  
603 - &#34;Content-Length&#34;: &#34;44&#34;,  
604 - &#34;Connection&#34;: &#34;keep-alive&#34;,  
605 - &#34;Access-Control-Allow-Credentials&#34;: &#34;true&#34;,  
606 - &#34;Access-Control-Allow-Headers&#34;: &#34;Origin,Authorization,Access-Control-Allow-Origin,Content-Type,x-requested-with&#34;,  
607 - &#34;Access-Control-Allow-Methods&#34;: &#34;*&#34;,  
608 - &#34;Access-Control-Allow-Origin&#34;: &#34;*&#34;,  
609 - &#34;Access-Control-Expose-Headers&#34;: &#34;Content-Length&#34;,  
610 - &#34;Strict-Transport-Security&#34;: &#34;max-age=15724800; includeSubDomains&#34;  
611 -}</pre>  
612 -  
613 - </td>  
614 - </tr>  
615 -  
616 - <tr>  
617 - <th>content_type</th>  
618 - <td>  
619 -  
620 - application/json; charset=utf-8  
621 -  
622 - </td>  
623 - </tr>  
624 -  
625 - <tr>  
626 - <th>body</th>  
627 - <td>  
628 -  
629 -  
630 - <pre>{  
631 - &#34;code&#34;: 0,  
632 - &#34;msg&#34;: &#34;ok&#34;,  
633 - &#34;data&#34;: {}  
634 -}</pre>  
635 -  
636 -  
637 - </td>  
638 - </tr>  
639 -  
640 - </table>  
641 - </div>  
642 -  
643 -  
644 - <h3>Validators:</h3>  
645 - <div style="overflow: auto">  
646 -  
647 -  
648 - <table>  
649 - <tr>  
650 - <th>check</th>  
651 - <th>comparator</th>  
652 - <th>expect value</th>  
653 - <th>actual value</th>  
654 - </tr>  
655 -  
656 - <tr>  
657 -  
658 - <td class="passed">  
659 -  
660 - content.msg  
661 - </td>  
662 - <td>equals</td>  
663 - <td>ok</td>  
664 - <td>ok</td>  
665 - </tr>  
666 -  
667 - </table>  
668 -  
669 -  
670 -  
671 -  
672 - </div>  
673 -  
674 - <h3>Statistics:</h3>  
675 - <div style="overflow: auto">  
676 - <table>  
677 - <tr>  
678 - <th>content_size(bytes)</th>  
679 - <td>44</td>  
680 - </tr>  
681 - <tr>  
682 - <th>response_time(ms)</th>  
683 - <td>56.0</td>  
684 - </tr>  
685 - <tr>  
686 - <th>elapsed(ms)</th>  
687 - <td>52.105</td>  
688 - </tr>  
689 - </table>  
690 - </div>  
691 -  
692 - </div>  
693 - </div>  
694 - </div>  
695 -  
696 -  
697 -  
698 -  
699 - </td>  
700 - </tr>  
701 -  
702 - </table>  
703 -  
704 -</body>  
1 -<head>  
2 - <meta content="text/html; charset=utf-8" http-equiv="content-type" />  
3 - <meta name="viewport" content="width=device-width, initial-scale=1.0">  
4 - <title> - TestReport</title>  
5 - <style>  
6 - body {  
7 - background-color: #f2f2f2;  
8 - color: #333;  
9 - margin: 0 auto;  
10 - width: 960px;  
11 - }  
12 - #summary {  
13 - width: 960px;  
14 - margin-bottom: 20px;  
15 - }  
16 - #summary th {  
17 - background-color: skyblue;  
18 - padding: 5px 12px;  
19 - }  
20 - #summary td {  
21 - background-color: lightblue;  
22 - text-align: center;  
23 - padding: 4px 8px;  
24 - }  
25 - .details {  
26 - width: 960px;  
27 - margin-bottom: 20px;  
28 - }  
29 - .details th {  
30 - background-color: skyblue;  
31 - padding: 5px 12px;  
32 - }  
33 - .details tr .passed {  
34 - background-color: lightgreen;  
35 - }  
36 - .details tr .failed {  
37 - background-color: red;  
38 - }  
39 - .details tr .unchecked {  
40 - background-color: gray;  
41 - }  
42 - .details td {  
43 - background-color: lightblue;  
44 - padding: 5px 12px;  
45 - }  
46 - .details .detail {  
47 - background-color: lightgrey;  
48 - font-size: smaller;  
49 - padding: 5px 10px;  
50 - line-height: 20px;  
51 - text-align: left;  
52 - }  
53 - .details .success {  
54 - background-color: greenyellow;  
55 - }  
56 - .details .error {  
57 - background-color: red;  
58 - }  
59 - .details .failure {  
60 - background-color: salmon;  
61 - }  
62 - .details .skipped {  
63 - background-color: gray;  
64 - }  
65 -  
66 - .button {  
67 - font-size: 1em;  
68 - padding: 6px;  
69 - width: 4em;  
70 - text-align: center;  
71 - background-color: #06d85f;  
72 - border-radius: 20px/50px;  
73 - cursor: pointer;  
74 - transition: all 0.3s ease-out;  
75 - }  
76 - a.button{  
77 - color: gray;  
78 - text-decoration: none;  
79 - display: inline-block;  
80 - }  
81 - .button:hover {  
82 - background: #2cffbd;  
83 - }  
84 -  
85 - .overlay {  
86 - position: fixed;  
87 - top: 0;  
88 - bottom: 0;  
89 - left: 0;  
90 - right: 0;  
91 - background: rgba(0, 0, 0, 0.7);  
92 - transition: opacity 500ms;  
93 - visibility: hidden;  
94 - opacity: 0;  
95 - line-height: 25px;  
96 - }  
97 - .overlay:target {  
98 - visibility: visible;  
99 - opacity: 1;  
100 - }  
101 -  
102 - .popup {  
103 - margin: 70px auto;  
104 - padding: 20px;  
105 - background: #fff;  
106 - border-radius: 10px;  
107 - width: 50%;  
108 - position: relative;  
109 - transition: all 3s ease-in-out;  
110 - }  
111 -  
112 - .popup h2 {  
113 - margin-top: 0;  
114 - color: #333;  
115 - font-family: Tahoma, Arial, sans-serif;  
116 - }  
117 - .popup .close {  
118 - position: absolute;  
119 - top: 20px;  
120 - right: 30px;  
121 - transition: all 200ms;  
122 - font-size: 30px;  
123 - font-weight: bold;  
124 - text-decoration: none;  
125 - color: #333;  
126 - }  
127 - .popup .close:hover {  
128 - color: #06d85f;  
129 - }  
130 - .popup .content {  
131 - max-height: 80%;  
132 - overflow: auto;  
133 - text-align: left;  
134 - }  
135 - .popup .separator {  
136 - color:royalblue  
137 - }  
138 -  
139 - @media screen and (max-width: 700px) {  
140 - .box {  
141 - width: 70%;  
142 - }  
143 - .popup {  
144 - width: 70%;  
145 - }  
146 - }  
147 -  
148 - </style>  
149 -</head>  
150 -  
151 -<body>  
152 - <h1>Test Report: </h1>  
153 -  
154 - <h2>Summary</h2>  
155 - <table id="summary">  
156 - <tr>  
157 - <th>START AT</th>  
158 - <td colspan="4">2020-08-06T03:41:53.490922</td>  
159 - </tr>  
160 - <tr>  
161 - <th>DURATION</th>  
162 - <td colspan="4">0.597 seconds</td>  
163 - </tr>  
164 - <tr>  
165 - <th>PLATFORM</th>  
166 - <td>HttpRunner 2.5.7 </td>  
167 - <td>CPython 3.8.1 </td>  
168 - <td colspan="2">Windows-7-6.1.7601-SP1</td>  
169 - </tr>  
170 - <tr>  
171 - <th>STAT</th>  
172 - <th colspan="2">TESTCASES (success/fail)</th>  
173 - <th colspan="2">TESTSTEPS (success/fail/error/skip)</th>  
174 - </tr>  
175 - <tr>  
176 - <td>total (details) =></td>  
177 - <td colspan="2">1 (1/0)</td>  
178 - <td colspan="2">2 (2/0/0/0)</td>  
179 - </tr>  
180 - </table>  
181 -  
182 - <h2>Details</h2>  
183 -  
184 -  
185 -  
186 - <h3>PURPOSE001:新增意向订单</h3>  
187 - <table id="suite_1" class="details">  
188 - <tr>  
189 - <td>TOTAL: 2</td>  
190 - <td>SUCCESS: 2</td>  
191 - <td>FAILED: 0</td>  
192 - <td>ERROR: 0</td>  
193 - <td>SKIPPED: 0</td>  
194 - </tr>  
195 - <tr>  
196 - <th>Status</th>  
197 - <th colspan="2">Name</th>  
198 - <th>Response Time</th>  
199 - <th>Detail</th>  
200 - </tr>  
201 -  
202 -  
203 -  
204 -  
205 - <tr id="record_1_1">  
206 - <th class="success" style="width:5em;">success</th>  
207 - <td colspan="2">10000000001 登录系统</td>  
208 - <td style="text-align:center;width:6em;">266.02 ms</td>  
209 - <td class="detail">  
210 -  
211 -  
212 -  
213 - <a class="button" href="#popup_log_1_1_1">log-1</a>  
214 - <div id="popup_log_1_1_1" class="overlay">  
215 - <div class="popup">  
216 - <h2>Request and Response data</h2>  
217 - <a class="close" href="#record_1_1_1">&times;</a>  
218 -  
219 - <div class="content">  
220 - <h3>Name: 10000000001 登录系统</h3>  
221 -  
222 -  
223 -  
224 -  
225 -  
226 - <h3>Request:</h3>  
227 - <div style="overflow: auto">  
228 - <table>  
229 -  
230 - <tr>  
231 - <th>url</th>  
232 - <td>  
233 -  
234 - https://public-interface-test.fjmaimaimai.com/partnermg/v1/auth/login  
235 -  
236 - </td>  
237 - </tr>  
238 -  
239 - <tr>  
240 - <th>method</th>  
241 - <td>  
242 -  
243 - POST  
244 -  
245 - </td>  
246 - </tr>  
247 -  
248 - <tr>  
249 - <th>headers</th>  
250 - <td>  
251 -  
252 - <pre>{  
253 - &#34;User-Agent&#34;: &#34;Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36&#34;,  
254 - &#34;Accept-Encoding&#34;: &#34;gzip, deflate&#34;,  
255 - &#34;Accept&#34;: &#34;*/*&#34;,  
256 - &#34;Connection&#34;: &#34;keep-alive&#34;,  
257 - &#34;Content-Type&#34;: &#34;application/json;charset=utf-8&#34;,  
258 - &#34;Content-Length&#34;: &#34;83&#34;  
259 -}</pre>  
260 -  
261 - </td>  
262 - </tr>  
263 -  
264 - <tr>  
265 - <th>body</th>  
266 - <td>  
267 -  
268 - <pre>{  
269 - &#34;password&#34;: &#34;7c4a8d09ca3762af61e59520943dc26494f8941b&#34;,  
270 - &#34;username&#34;: &#34;10000000001&#34;  
271 -}</pre>  
272 -  
273 - </td>  
274 - </tr>  
275 -  
276 - </table>  
277 - </div>  
278 -  
279 - <h3>Response:</h3>  
280 - <div style="overflow: auto">  
281 - <table>  
282 -  
283 - <tr>  
284 - <th>ok</th>  
285 - <td>  
286 -  
287 - True  
288 -  
289 - </td>  
290 - </tr>  
291 -  
292 - <tr>  
293 - <th>url</th>  
294 - <td>  
295 -  
296 - https://public-interface-test.fjmaimaimai.com/partnermg/v1/auth/login  
297 -  
298 - </td>  
299 - </tr>  
300 -  
301 - <tr>  
302 - <th>status_code</th>  
303 - <td>  
304 -  
305 - 200  
306 -  
307 - </td>  
308 - </tr>  
309 -  
310 - <tr>  
311 - <th>reason</th>  
312 - <td>  
313 -  
314 - OK  
315 -  
316 - </td>  
317 - </tr>  
318 -  
319 - <tr>  
320 - <th>cookies</th>  
321 - <td>  
322 -  
323 - {}  
324 -  
325 - </td>  
326 - </tr>  
327 -  
328 - <tr>  
329 - <th>encoding</th>  
330 - <td>  
331 -  
332 - utf-8  
333 -  
334 - </td>  
335 - </tr>  
336 -  
337 - <tr>  
338 - <th>headers</th>  
339 - <td>  
340 -  
341 - <pre>{  
342 - &#34;Date&#34;: &#34;Thu, 06 Aug 2020 03:41:55 GMT&#34;,  
343 - &#34;Content-Type&#34;: &#34;application/json; charset=utf-8&#34;,  
344 - &#34;Transfer-Encoding&#34;: &#34;chunked&#34;,  
345 - &#34;Connection&#34;: &#34;keep-alive&#34;,  
346 - &#34;Vary&#34;: &#34;Accept-Encoding, Accept-Encoding&#34;,  
347 - &#34;Access-Control-Allow-Credentials&#34;: &#34;true&#34;,  
348 - &#34;Access-Control-Allow-Headers&#34;: &#34;Origin,Authorization,Access-Control-Allow-Origin,Content-Type,x-requested-with&#34;,  
349 - &#34;Access-Control-Allow-Methods&#34;: &#34;*&#34;,  
350 - &#34;Access-Control-Allow-Origin&#34;: &#34;*&#34;,  
351 - &#34;Access-Control-Expose-Headers&#34;: &#34;Content-Length&#34;,  
352 - &#34;Strict-Transport-Security&#34;: &#34;max-age=15724800; includeSubDomains&#34;,  
353 - &#34;Content-Encoding&#34;: &#34;gzip&#34;  
354 -}</pre>  
355 -  
356 - </td>  
357 - </tr>  
358 -  
359 - <tr>  
360 - <th>content_type</th>  
361 - <td>  
362 -  
363 - application/json; charset=utf-8  
364 -  
365 - </td>  
366 - </tr>  
367 -  
368 - <tr>  
369 - <th>body</th>  
370 - <td>  
371 -  
372 -  
373 - <pre>{  
374 - &#34;code&#34;: 0,  
375 - &#34;msg&#34;: &#34;ok&#34;,  
376 - &#34;data&#34;: {  
377 - &#34;access&#34;: {  
378 - &#34;accessToken&#34;: &#34;eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1OTY3Mjg1MTUsImlhdCI6MTU5NjY4NTMxNSwiaXNzIjoibW1tX3BhcnRuZXJtZyIsIm5iZiI6MTU5NjY4NTMxNSwidWlkIjoxOH0.arJDLO0cmOIKe0FNYMs_iMXZ3v8oDrSQiN_G7DlehqI&#34;,  
379 - &#34;expiresIn&#34;: 43200  
380 - }  
381 - }  
382 -}</pre>  
383 -  
384 -  
385 - </td>  
386 - </tr>  
387 -  
388 - </table>  
389 - </div>  
390 -  
391 -  
392 - <h3>Validators:</h3>  
393 - <div style="overflow: auto">  
394 -  
395 -  
396 - <table>  
397 - <tr>  
398 - <th>check</th>  
399 - <th>comparator</th>  
400 - <th>expect value</th>  
401 - <th>actual value</th>  
402 - </tr>  
403 -  
404 - <tr>  
405 -  
406 - <td class="passed">  
407 -  
408 - content.msg  
409 - </td>  
410 - <td>equals</td>  
411 - <td>ok</td>  
412 - <td>ok</td>  
413 - </tr>  
414 -  
415 - </table>  
416 -  
417 -  
418 -  
419 -  
420 - </div>  
421 -  
422 - <h3>Statistics:</h3>  
423 - <div style="overflow: auto">  
424 - <table>  
425 - <tr>  
426 - <th>content_size(bytes)</th>  
427 - <td>311</td>  
428 - </tr>  
429 - <tr>  
430 - <th>response_time(ms)</th>  
431 - <td>266.02</td>  
432 - </tr>  
433 - <tr>  
434 - <th>elapsed(ms)</th>  
435 - <td>255.801</td>  
436 - </tr>  
437 - </table>  
438 - </div>  
439 -  
440 - </div>  
441 - </div>  
442 - </div>  
443 -  
444 -  
445 -  
446 -  
447 - </td>  
448 - </tr>  
449 -  
450 -  
451 -  
452 - <tr id="record_1_2">  
453 - <th class="success" style="width:5em;">success</th>  
454 - <td colspan="2">10000000001 新增意向订单</td>  
455 - <td style="text-align:center;width:6em;">48.00 ms</td>  
456 - <td class="detail">  
457 -  
458 -  
459 -  
460 - <a class="button" href="#popup_log_1_2_1">log-1</a>  
461 - <div id="popup_log_1_2_1" class="overlay">  
462 - <div class="popup">  
463 - <h2>Request and Response data</h2>  
464 - <a class="close" href="#record_1_2_1">&times;</a>  
465 -  
466 - <div class="content">  
467 - <h3>Name: 10000000001 新增意向订单</h3>  
468 -  
469 -  
470 -  
471 -  
472 -  
473 - <h3>Request:</h3>  
474 - <div style="overflow: auto">  
475 - <table>  
476 -  
477 - <tr>  
478 - <th>url</th>  
479 - <td>  
480 -  
481 - https://public-interface-test.fjmaimaimai.com/partnermg/v1/order/purpose/update  
482 -  
483 - </td>  
484 - </tr>  
485 -  
486 - <tr>  
487 - <th>method</th>  
488 - <td>  
489 -  
490 - POST  
491 -  
492 - </td>  
493 - </tr>  
494 -  
495 - <tr>  
496 - <th>headers</th>  
497 - <td>  
498 -  
499 - <pre>{  
500 - &#34;User-Agent&#34;: &#34;okhttp/3.12.3&#34;,  
501 - &#34;Accept-Encoding&#34;: &#34;gzip, deflate&#34;,  
502 - &#34;Accept&#34;: &#34;*/*&#34;,  
503 - &#34;Connection&#34;: &#34;keep-alive&#34;,  
504 - &#34;Content-Type&#34;: &#34;application/json;charset=utf-8&#34;,  
505 - &#34;Authorization&#34;: &#34;Bearer bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1OTY3Mjg1MTUsImlhdCI6MTU5NjY4NTMxNSwiaXNzIjoibW1tX3BhcnRuZXJtZyIsIm5iZiI6MTU5NjY4NTMxNSwidWlkIjoxOH0.arJDLO0cmOIKe0FNYMs_iMXZ3v8oDrSQiN_G7DlehqI&#34;,  
506 - &#34;Content-Length&#34;: &#34;274&#34;  
507 -}</pre>  
508 -  
509 - </td>  
510 - </tr>  
511 -  
512 - <tr>  
513 - <th>body</th>  
514 - <td>  
515 -  
516 - <pre>{  
517 - &#34;orderId&#34;: &#34;20200806114153&#34;,  
518 - &#34;buyer&#34;: &#34;我是客户53&#34;,  
519 - &#34;orderDist&#34;: &#34;福建二区&#34;,  
520 - &#34;partnerID&#34;: 29,  
521 - &#34;commissionProportion&#34;: 10.2,  
522 - &#34;product&#34;: [  
523 - {  
524 - &#34;productName&#34;: &#34;产品名称53&#34;,  
525 - &#34;orderNum&#34;: 20,  
526 - &#34;univalence&#34;: 1.12,  
527 - &#34;partnerRatio&#34;: 1.27  
528 - }  
529 - ]  
530 -}</pre>  
531 -  
532 - </td>  
533 - </tr>  
534 -  
535 - </table>  
536 - </div>  
537 -  
538 - <h3>Response:</h3>  
539 - <div style="overflow: auto">  
540 - <table>  
541 -  
542 - <tr>  
543 - <th>ok</th>  
544 - <td>  
545 -  
546 - True  
547 -  
548 - </td>  
549 - </tr>  
550 -  
551 - <tr>  
552 - <th>url</th>  
553 - <td>  
554 -  
555 - https://public-interface-test.fjmaimaimai.com/partnermg/v1/order/purpose/update  
556 -  
557 - </td>  
558 - </tr>  
559 -  
560 - <tr>  
561 - <th>status_code</th>  
562 - <td>  
563 -  
564 - 200  
565 -  
566 - </td>  
567 - </tr>  
568 -  
569 - <tr>  
570 - <th>reason</th>  
571 - <td>  
572 -  
573 - OK  
574 -  
575 - </td>  
576 - </tr>  
577 -  
578 - <tr>  
579 - <th>cookies</th>  
580 - <td>  
581 -  
582 - {}  
583 -  
584 - </td>  
585 - </tr>  
586 -  
587 - <tr>  
588 - <th>encoding</th>  
589 - <td>  
590 -  
591 - utf-8  
592 -  
593 - </td>  
594 - </tr>  
595 -  
596 - <tr>  
597 - <th>headers</th>  
598 - <td>  
599 -  
600 - <pre>{  
601 - &#34;Date&#34;: &#34;Thu, 06 Aug 2020 03:41:55 GMT&#34;,  
602 - &#34;Content-Type&#34;: &#34;application/json; charset=utf-8&#34;,  
603 - &#34;Content-Length&#34;: &#34;44&#34;,  
604 - &#34;Connection&#34;: &#34;keep-alive&#34;,  
605 - &#34;Access-Control-Allow-Credentials&#34;: &#34;true&#34;,  
606 - &#34;Access-Control-Allow-Headers&#34;: &#34;Origin,Authorization,Access-Control-Allow-Origin,Content-Type,x-requested-with&#34;,  
607 - &#34;Access-Control-Allow-Methods&#34;: &#34;*&#34;,  
608 - &#34;Access-Control-Allow-Origin&#34;: &#34;*&#34;,  
609 - &#34;Access-Control-Expose-Headers&#34;: &#34;Content-Length&#34;,  
610 - &#34;Strict-Transport-Security&#34;: &#34;max-age=15724800; includeSubDomains&#34;  
611 -}</pre>  
612 -  
613 - </td>  
614 - </tr>  
615 -  
616 - <tr>  
617 - <th>content_type</th>  
618 - <td>  
619 -  
620 - application/json; charset=utf-8  
621 -  
622 - </td>  
623 - </tr>  
624 -  
625 - <tr>  
626 - <th>body</th>  
627 - <td>  
628 -  
629 -  
630 - <pre>{  
631 - &#34;code&#34;: 0,  
632 - &#34;msg&#34;: &#34;ok&#34;,  
633 - &#34;data&#34;: {}  
634 -}</pre>  
635 -  
636 -  
637 - </td>  
638 - </tr>  
639 -  
640 - </table>  
641 - </div>  
642 -  
643 -  
644 - <h3>Validators:</h3>  
645 - <div style="overflow: auto">  
646 -  
647 -  
648 - <table>  
649 - <tr>  
650 - <th>check</th>  
651 - <th>comparator</th>  
652 - <th>expect value</th>  
653 - <th>actual value</th>  
654 - </tr>  
655 -  
656 - <tr>  
657 -  
658 - <td class="passed">  
659 -  
660 - content.msg  
661 - </td>  
662 - <td>equals</td>  
663 - <td>ok</td>  
664 - <td>ok</td>  
665 - </tr>  
666 -  
667 - </table>  
668 -  
669 -  
670 -  
671 -  
672 - </div>  
673 -  
674 - <h3>Statistics:</h3>  
675 - <div style="overflow: auto">  
676 - <table>  
677 - <tr>  
678 - <th>content_size(bytes)</th>  
679 - <td>44</td>  
680 - </tr>  
681 - <tr>  
682 - <th>response_time(ms)</th>  
683 - <td>48.0</td>  
684 - </tr>  
685 - <tr>  
686 - <th>elapsed(ms)</th>  
687 - <td>42.876</td>  
688 - </tr>  
689 - </table>  
690 - </div>  
691 -  
692 - </div>  
693 - </div>  
694 - </div>  
695 -  
696 -  
697 -  
698 -  
699 - </td>  
700 - </tr>  
701 -  
702 - </table>  
703 -  
704 -</body>  
1 -<head>  
2 - <meta content="text/html; charset=utf-8" http-equiv="content-type" />  
3 - <meta name="viewport" content="width=device-width, initial-scale=1.0">  
4 - <title> - TestReport</title>  
5 - <style>  
6 - body {  
7 - background-color: #f2f2f2;  
8 - color: #333;  
9 - margin: 0 auto;  
10 - width: 960px;  
11 - }  
12 - #summary {  
13 - width: 960px;  
14 - margin-bottom: 20px;  
15 - }  
16 - #summary th {  
17 - background-color: skyblue;  
18 - padding: 5px 12px;  
19 - }  
20 - #summary td {  
21 - background-color: lightblue;  
22 - text-align: center;  
23 - padding: 4px 8px;  
24 - }  
25 - .details {  
26 - width: 960px;  
27 - margin-bottom: 20px;  
28 - }  
29 - .details th {  
30 - background-color: skyblue;  
31 - padding: 5px 12px;  
32 - }  
33 - .details tr .passed {  
34 - background-color: lightgreen;  
35 - }  
36 - .details tr .failed {  
37 - background-color: red;  
38 - }  
39 - .details tr .unchecked {  
40 - background-color: gray;  
41 - }  
42 - .details td {  
43 - background-color: lightblue;  
44 - padding: 5px 12px;  
45 - }  
46 - .details .detail {  
47 - background-color: lightgrey;  
48 - font-size: smaller;  
49 - padding: 5px 10px;  
50 - line-height: 20px;  
51 - text-align: left;  
52 - }  
53 - .details .success {  
54 - background-color: greenyellow;  
55 - }  
56 - .details .error {  
57 - background-color: red;  
58 - }  
59 - .details .failure {  
60 - background-color: salmon;  
61 - }  
62 - .details .skipped {  
63 - background-color: gray;  
64 - }  
65 -  
66 - .button {  
67 - font-size: 1em;  
68 - padding: 6px;  
69 - width: 4em;  
70 - text-align: center;  
71 - background-color: #06d85f;  
72 - border-radius: 20px/50px;  
73 - cursor: pointer;  
74 - transition: all 0.3s ease-out;  
75 - }  
76 - a.button{  
77 - color: gray;  
78 - text-decoration: none;  
79 - display: inline-block;  
80 - }  
81 - .button:hover {  
82 - background: #2cffbd;  
83 - }  
84 -  
85 - .overlay {  
86 - position: fixed;  
87 - top: 0;  
88 - bottom: 0;  
89 - left: 0;  
90 - right: 0;  
91 - background: rgba(0, 0, 0, 0.7);  
92 - transition: opacity 500ms;  
93 - visibility: hidden;  
94 - opacity: 0;  
95 - line-height: 25px;  
96 - }  
97 - .overlay:target {  
98 - visibility: visible;  
99 - opacity: 1;  
100 - }  
101 -  
102 - .popup {  
103 - margin: 70px auto;  
104 - padding: 20px;  
105 - background: #fff;  
106 - border-radius: 10px;  
107 - width: 50%;  
108 - position: relative;  
109 - transition: all 3s ease-in-out;  
110 - }  
111 -  
112 - .popup h2 {  
113 - margin-top: 0;  
114 - color: #333;  
115 - font-family: Tahoma, Arial, sans-serif;  
116 - }  
117 - .popup .close {  
118 - position: absolute;  
119 - top: 20px;  
120 - right: 30px;  
121 - transition: all 200ms;  
122 - font-size: 30px;  
123 - font-weight: bold;  
124 - text-decoration: none;  
125 - color: #333;  
126 - }  
127 - .popup .close:hover {  
128 - color: #06d85f;  
129 - }  
130 - .popup .content {  
131 - max-height: 80%;  
132 - overflow: auto;  
133 - text-align: left;  
134 - }  
135 - .popup .separator {  
136 - color:royalblue  
137 - }  
138 -  
139 - @media screen and (max-width: 700px) {  
140 - .box {  
141 - width: 70%;  
142 - }  
143 - .popup {  
144 - width: 70%;  
145 - }  
146 - }  
147 -  
148 - </style>  
149 -</head>  
150 -  
151 -<body>  
152 - <h1>Test Report: </h1>  
153 -  
154 - <h2>Summary</h2>  
155 - <table id="summary">  
156 - <tr>  
157 - <th>START AT</th>  
158 - <td colspan="4">2020-08-07T13:04:12.509038</td>  
159 - </tr>  
160 - <tr>  
161 - <th>DURATION</th>  
162 - <td colspan="4">0.359 seconds</td>  
163 - </tr>  
164 - <tr>  
165 - <th>PLATFORM</th>  
166 - <td>HttpRunner 2.5.7 </td>  
167 - <td>CPython 3.8.1 </td>  
168 - <td colspan="2">Windows-7-6.1.7601-SP1</td>  
169 - </tr>  
170 - <tr>  
171 - <th>STAT</th>  
172 - <th colspan="2">TESTCASES (success/fail)</th>  
173 - <th colspan="2">TESTSTEPS (success/fail/error/skip)</th>  
174 - </tr>  
175 - <tr>  
176 - <td>total (details) =></td>  
177 - <td colspan="2">1 (1/0)</td>  
178 - <td colspan="2">2 (2/0/0/0)</td>  
179 - </tr>  
180 - </table>  
181 -  
182 - <h2>Details</h2>  
183 -  
184 -  
185 -  
186 - <h3>PURPOSE001:新增意向订单</h3>  
187 - <table id="suite_1" class="details">  
188 - <tr>  
189 - <td>TOTAL: 2</td>  
190 - <td>SUCCESS: 2</td>  
191 - <td>FAILED: 0</td>  
192 - <td>ERROR: 0</td>  
193 - <td>SKIPPED: 0</td>  
194 - </tr>  
195 - <tr>  
196 - <th>Status</th>  
197 - <th colspan="2">Name</th>  
198 - <th>Response Time</th>  
199 - <th>Detail</th>  
200 - </tr>  
201 -  
202 -  
203 -  
204 -  
205 - <tr id="record_1_1">  
206 - <th class="success" style="width:5em;">success</th>  
207 - <td colspan="2">10000000001 登录系统</td>  
208 - <td style="text-align:center;width:6em;">170.01 ms</td>  
209 - <td class="detail">  
210 -  
211 -  
212 -  
213 - <a class="button" href="#popup_log_1_1_1">log-1</a>  
214 - <div id="popup_log_1_1_1" class="overlay">  
215 - <div class="popup">  
216 - <h2>Request and Response data</h2>  
217 - <a class="close" href="#record_1_1_1">&times;</a>  
218 -  
219 - <div class="content">  
220 - <h3>Name: 10000000001 登录系统</h3>  
221 -  
222 -  
223 -  
224 -  
225 -  
226 - <h3>Request:</h3>  
227 - <div style="overflow: auto">  
228 - <table>  
229 -  
230 - <tr>  
231 - <th>url</th>  
232 - <td>  
233 -  
234 - https://public-interface.fjmaimaimai.com/mmm-partnermg/v1/auth/login  
235 -  
236 - </td>  
237 - </tr>  
238 -  
239 - <tr>  
240 - <th>method</th>  
241 - <td>  
242 -  
243 - POST  
244 -  
245 - </td>  
246 - </tr>  
247 -  
248 - <tr>  
249 - <th>headers</th>  
250 - <td>  
251 -  
252 - <pre>{  
253 - &#34;User-Agent&#34;: &#34;Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36&#34;,  
254 - &#34;Accept-Encoding&#34;: &#34;gzip, deflate&#34;,  
255 - &#34;Accept&#34;: &#34;*/*&#34;,  
256 - &#34;Connection&#34;: &#34;keep-alive&#34;,  
257 - &#34;Content-Type&#34;: &#34;application/json;charset=utf-8&#34;,  
258 - &#34;Content-Length&#34;: &#34;83&#34;  
259 -}</pre>  
260 -  
261 - </td>  
262 - </tr>  
263 -  
264 - <tr>  
265 - <th>body</th>  
266 - <td>  
267 -  
268 - <pre>{  
269 - &#34;password&#34;: &#34;7c4a8d09ca3762af61e59520943dc26494f8941b&#34;,  
270 - &#34;username&#34;: &#34;10000000001&#34;  
271 -}</pre>  
272 -  
273 - </td>  
274 - </tr>  
275 -  
276 - </table>  
277 - </div>  
278 -  
279 - <h3>Response:</h3>  
280 - <div style="overflow: auto">  
281 - <table>  
282 -  
283 - <tr>  
284 - <th>ok</th>  
285 - <td>  
286 -  
287 - True  
288 -  
289 - </td>  
290 - </tr>  
291 -  
292 - <tr>  
293 - <th>url</th>  
294 - <td>  
295 -  
296 - https://public-interface.fjmaimaimai.com/mmm-partnermg/v1/auth/login  
297 -  
298 - </td>  
299 - </tr>  
300 -  
301 - <tr>  
302 - <th>status_code</th>  
303 - <td>  
304 -  
305 - 200  
306 -  
307 - </td>  
308 - </tr>  
309 -  
310 - <tr>  
311 - <th>reason</th>  
312 - <td>  
313 -  
314 - OK  
315 -  
316 - </td>  
317 - </tr>  
318 -  
319 - <tr>  
320 - <th>cookies</th>  
321 - <td>  
322 -  
323 - {}  
324 -  
325 - </td>  
326 - </tr>  
327 -  
328 - <tr>  
329 - <th>encoding</th>  
330 - <td>  
331 -  
332 - utf-8  
333 -  
334 - </td>  
335 - </tr>  
336 -  
337 - <tr>  
338 - <th>headers</th>  
339 - <td>  
340 -  
341 - <pre>{  
342 - &#34;Date&#34;: &#34;Fri, 07 Aug 2020 13:04:12 GMT&#34;,  
343 - &#34;Content-Type&#34;: &#34;application/json; charset=utf-8&#34;,  
344 - &#34;Transfer-Encoding&#34;: &#34;chunked&#34;,  
345 - &#34;Connection&#34;: &#34;keep-alive&#34;,  
346 - &#34;Vary&#34;: &#34;Accept-Encoding, Accept-Encoding&#34;,  
347 - &#34;Access-Control-Allow-Credentials&#34;: &#34;true&#34;,  
348 - &#34;Access-Control-Allow-Headers&#34;: &#34;Origin,Authorization,Access-Control-Allow-Origin,Content-Type,x-requested-with&#34;,  
349 - &#34;Access-Control-Allow-Methods&#34;: &#34;*&#34;,  
350 - &#34;Access-Control-Allow-Origin&#34;: &#34;*&#34;,  
351 - &#34;Access-Control-Expose-Headers&#34;: &#34;Content-Length&#34;,  
352 - &#34;Strict-Transport-Security&#34;: &#34;max-age=15724800; includeSubDomains&#34;,  
353 - &#34;Content-Encoding&#34;: &#34;gzip&#34;  
354 -}</pre>  
355 -  
356 - </td>  
357 - </tr>  
358 -  
359 - <tr>  
360 - <th>content_type</th>  
361 - <td>  
362 -  
363 - application/json; charset=utf-8  
364 -  
365 - </td>  
366 - </tr>  
367 -  
368 - <tr>  
369 - <th>body</th>  
370 - <td>  
371 -  
372 -  
373 - <pre>{  
374 - &#34;code&#34;: 0,  
375 - &#34;msg&#34;: &#34;ok&#34;,  
376 - &#34;data&#34;: {  
377 - &#34;access&#34;: {  
378 - &#34;accessToken&#34;: &#34;eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1OTY4NDg2NTIsImlhdCI6MTU5NjgwNTQ1MiwiaXNzIjoibW1tX3BhcnRuZXJtZyIsIm5iZiI6MTU5NjgwNTQ1MiwidWlkIjoxfQ.4wgk-CAg5b9UGWNWqrppycxmUqmadRTI9W9FMPZPnao&#34;,  
379 - &#34;expiresIn&#34;: 43200  
380 - }  
381 - }  
382 -}</pre>  
383 -  
384 -  
385 - </td>  
386 - </tr>  
387 -  
388 - </table>  
389 - </div>  
390 -  
391 -  
392 - <h3>Validators:</h3>  
393 - <div style="overflow: auto">  
394 -  
395 -  
396 - <table>  
397 - <tr>  
398 - <th>check</th>  
399 - <th>comparator</th>  
400 - <th>expect value</th>  
401 - <th>actual value</th>  
402 - </tr>  
403 -  
404 - <tr>  
405 -  
406 - <td class="passed">  
407 -  
408 - content.msg  
409 - </td>  
410 - <td>equals</td>  
411 - <td>ok</td>  
412 - <td>ok</td>  
413 - </tr>  
414 -  
415 - </table>  
416 -  
417 -  
418 -  
419 -  
420 - </div>  
421 -  
422 - <h3>Statistics:</h3>  
423 - <div style="overflow: auto">  
424 - <table>  
425 - <tr>  
426 - <th>content_size(bytes)</th>  
427 - <td>310</td>  
428 - </tr>  
429 - <tr>  
430 - <th>response_time(ms)</th>  
431 - <td>170.01</td>  
432 - </tr>  
433 - <tr>  
434 - <th>elapsed(ms)</th>  
435 - <td>156.141</td>  
436 - </tr>  
437 - </table>  
438 - </div>  
439 -  
440 - </div>  
441 - </div>  
442 - </div>  
443 -  
444 -  
445 -  
446 -  
447 - </td>  
448 - </tr>  
449 -  
450 -  
451 -  
452 - <tr id="record_1_2">  
453 - <th class="success" style="width:5em;">success</th>  
454 - <td colspan="2">10000000001 新增意向订单</td>  
455 - <td style="text-align:center;width:6em;">55.00 ms</td>  
456 - <td class="detail">  
457 -  
458 -  
459 -  
460 - <a class="button" href="#popup_log_1_2_1">log-1</a>  
461 - <div id="popup_log_1_2_1" class="overlay">  
462 - <div class="popup">  
463 - <h2>Request and Response data</h2>  
464 - <a class="close" href="#record_1_2_1">&times;</a>  
465 -  
466 - <div class="content">  
467 - <h3>Name: 10000000001 新增意向订单</h3>  
468 -  
469 -  
470 -  
471 -  
472 -  
473 - <h3>Request:</h3>  
474 - <div style="overflow: auto">  
475 - <table>  
476 -  
477 - <tr>  
478 - <th>url</th>  
479 - <td>  
480 -  
481 - https://public-interface.fjmaimaimai.com/mmm-partnermg/v1/order/purpose/update  
482 -  
483 - </td>  
484 - </tr>  
485 -  
486 - <tr>  
487 - <th>method</th>  
488 - <td>  
489 -  
490 - POST  
491 -  
492 - </td>  
493 - </tr>  
494 -  
495 - <tr>  
496 - <th>headers</th>  
497 - <td>  
498 -  
499 - <pre>{  
500 - &#34;User-Agent&#34;: &#34;okhttp/3.12.3&#34;,  
501 - &#34;Accept-Encoding&#34;: &#34;gzip, deflate&#34;,  
502 - &#34;Accept&#34;: &#34;*/*&#34;,  
503 - &#34;Connection&#34;: &#34;keep-alive&#34;,  
504 - &#34;Content-Type&#34;: &#34;application/json;charset=utf-8&#34;,  
505 - &#34;Authorization&#34;: &#34;Bearer bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1OTY4NDg2NTIsImlhdCI6MTU5NjgwNTQ1MiwiaXNzIjoibW1tX3BhcnRuZXJtZyIsIm5iZiI6MTU5NjgwNTQ1MiwidWlkIjoxfQ.4wgk-CAg5b9UGWNWqrppycxmUqmadRTI9W9FMPZPnao&#34;,  
506 - &#34;Content-Length&#34;: &#34;377&#34;  
507 -}</pre>  
508 -  
509 - </td>  
510 - </tr>  
511 -  
512 - <tr>  
513 - <th>body</th>  
514 - <td>  
515 -  
516 - <pre>{  
517 - &#34;orderId&#34;: &#34;20200807210412&#34;,  
518 - &#34;buyer&#34;: &#34;我是客户12&#34;,  
519 - &#34;orderDist&#34;: &#34;福建二区&#34;,  
520 - &#34;partnerID&#34;: 3,  
521 - &#34;commissionProportion&#34;: 10.2,  
522 - &#34;product&#34;: [  
523 - {  
524 - &#34;productName&#34;: &#34;产品名称12&#34;,  
525 - &#34;orderNum&#34;: 23,  
526 - &#34;univalence&#34;: 1.12,  
527 - &#34;partnerRatio&#34;: 1.27  
528 - },  
529 - {  
530 - &#34;productName&#34;: &#34;产品名称12&#34;,  
531 - &#34;orderNum&#34;: 25,  
532 - &#34;univalence&#34;: 2.22,  
533 - &#34;partnerRatio&#34;: 5.7  
534 - }  
535 - ]  
536 -}</pre>  
537 -  
538 - </td>  
539 - </tr>  
540 -  
541 - </table>  
542 - </div>  
543 -  
544 - <h3>Response:</h3>  
545 - <div style="overflow: auto">  
546 - <table>  
547 -  
548 - <tr>  
549 - <th>ok</th>  
550 - <td>  
551 -  
552 - True  
553 -  
554 - </td>  
555 - </tr>  
556 -  
557 - <tr>  
558 - <th>url</th>  
559 - <td>  
560 -  
561 - https://public-interface.fjmaimaimai.com/mmm-partnermg/v1/order/purpose/update  
562 -  
563 - </td>  
564 - </tr>  
565 -  
566 - <tr>  
567 - <th>status_code</th>  
568 - <td>  
569 -  
570 - 200  
571 -  
572 - </td>  
573 - </tr>  
574 -  
575 - <tr>  
576 - <th>reason</th>  
577 - <td>  
578 -  
579 - OK  
580 -  
581 - </td>  
582 - </tr>  
583 -  
584 - <tr>  
585 - <th>cookies</th>  
586 - <td>  
587 -  
588 - {}  
589 -  
590 - </td>  
591 - </tr>  
592 -  
593 - <tr>  
594 - <th>encoding</th>  
595 - <td>  
596 -  
597 - utf-8  
598 -  
599 - </td>  
600 - </tr>  
601 -  
602 - <tr>  
603 - <th>headers</th>  
604 - <td>  
605 -  
606 - <pre>{  
607 - &#34;Date&#34;: &#34;Fri, 07 Aug 2020 13:04:12 GMT&#34;,  
608 - &#34;Content-Type&#34;: &#34;application/json; charset=utf-8&#34;,  
609 - &#34;Content-Length&#34;: &#34;44&#34;,  
610 - &#34;Connection&#34;: &#34;keep-alive&#34;,  
611 - &#34;Access-Control-Allow-Credentials&#34;: &#34;true&#34;,  
612 - &#34;Access-Control-Allow-Headers&#34;: &#34;Origin,Authorization,Access-Control-Allow-Origin,Content-Type,x-requested-with&#34;,  
613 - &#34;Access-Control-Allow-Methods&#34;: &#34;*&#34;,  
614 - &#34;Access-Control-Allow-Origin&#34;: &#34;*&#34;,  
615 - &#34;Access-Control-Expose-Headers&#34;: &#34;Content-Length&#34;,  
616 - &#34;Strict-Transport-Security&#34;: &#34;max-age=15724800; includeSubDomains&#34;  
617 -}</pre>  
618 -  
619 - </td>  
620 - </tr>  
621 -  
622 - <tr>  
623 - <th>content_type</th>  
624 - <td>  
625 -  
626 - application/json; charset=utf-8  
627 -  
628 - </td>  
629 - </tr>  
630 -  
631 - <tr>  
632 - <th>body</th>  
633 - <td>  
634 -  
635 -  
636 - <pre>{  
637 - &#34;code&#34;: 0,  
638 - &#34;msg&#34;: &#34;ok&#34;,  
639 - &#34;data&#34;: {}  
640 -}</pre>  
641 -  
642 -  
643 - </td>  
644 - </tr>  
645 -  
646 - </table>  
647 - </div>  
648 -  
649 -  
650 - <h3>Validators:</h3>  
651 - <div style="overflow: auto">  
652 -  
653 -  
654 - <table>  
655 - <tr>  
656 - <th>check</th>  
657 - <th>comparator</th>  
658 - <th>expect value</th>  
659 - <th>actual value</th>  
660 - </tr>  
661 -  
662 - <tr>  
663 -  
664 - <td class="passed">  
665 -  
666 - content.msg  
667 - </td>  
668 - <td>equals</td>  
669 - <td>ok</td>  
670 - <td>ok</td>  
671 - </tr>  
672 -  
673 - </table>  
674 -  
675 -  
676 -  
677 -  
678 - </div>  
679 -  
680 - <h3>Statistics:</h3>  
681 - <div style="overflow: auto">  
682 - <table>  
683 - <tr>  
684 - <th>content_size(bytes)</th>  
685 - <td>44</td>  
686 - </tr>  
687 - <tr>  
688 - <th>response_time(ms)</th>  
689 - <td>55.0</td>  
690 - </tr>  
691 - <tr>  
692 - <th>elapsed(ms)</th>  
693 - <td>50.867</td>  
694 - </tr>  
695 - </table>  
696 - </div>  
697 -  
698 - </div>  
699 - </div>  
700 - </div>  
701 -  
702 -  
703 -  
704 -  
705 - </td>  
706 - </tr>  
707 -  
708 - </table>  
709 -  
710 -</body>