作者 bianxinhua

add README

@@ -6,4 +6,4 @@ @@ -6,4 +6,4 @@
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/ 8 base_manager_url=https://public-interface-test.fjmaimaimai.com/partnermg/
9 -#base_url = http://mmm-partner-test.fjmaimaimai.com  
  9 +base_url = http://mmm-partner-test.fjmaimaimai.com/
@@ -2,22 +2,21 @@ @@ -2,22 +2,21 @@
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$/api/m_api/purpose/m_order_purpose_detail_api.yml" afterDir="false" />  
6 - <change afterPath="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_edit_api.yml" afterDir="false" />  
7 - <change afterPath="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_partner_list_api.yml" afterDir="false" />  
8 - <change afterPath="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_searchText_list_api.yml" afterDir="false" />  
9 - <change afterPath="$PROJECT_DIR$/testcases/purpose/PURPOSE004_purpose_list_testcases.yml" afterDir="false" />  
10 - <change afterPath="$PROJECT_DIR$/testcases/purpose/PURPOSE005_purpose_convert_testcases.yml" afterDir="false" />  
11 - <change afterPath="$PROJECT_DIR$/testcases/purpose/PURPOSE006_purpose_detail_testcases.yml" afterDir="false" /> 5 + <change afterPath="$PROJECT_DIR$/api/app_api/order/list_0_api.yml" afterDir="false" />
  6 + <change afterPath="$PROJECT_DIR$/api/app_api/order/statistics_api.yml" afterDir="false" />
  7 + <change afterPath="$PROJECT_DIR$/testcases/order/order_list_0_testcases.yml" afterDir="false" />
  8 + <change beforePath="$PROJECT_DIR$/.env" beforeDir="false" afterPath="$PROJECT_DIR$/.env" afterDir="false" />
12 <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> 9 <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
13 - <change beforePath="$PROJECT_DIR$/api/m_api/actual/m_edit_order_actual_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/m_api/actual/m_edit_order_actual_api.yml" afterDir="false" />  
14 - <change beforePath="$PROJECT_DIR$/api/m_api/actual/m_order_actual_detail_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/m_api/actual/m_order_actual_detail_api.yml" afterDir="false" />  
15 - <change beforePath="$PROJECT_DIR$/api/m_api/actual/m_order_actual_searchText_list_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/m_api/actual/m_order_actual_searchText_list_api.yml" afterDir="false" />  
16 - <change beforePath="$PROJECT_DIR$/api/m_api/m_order_purpose_add_api.yml" beforeDir="false" />  
17 - <change beforePath="$PROJECT_DIR$/api/m_api/m_profile_api.yml" beforeDir="false" afterPath="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_convert_api.yml" afterDir="false" /> 10 + <change beforePath="$PROJECT_DIR$/api/app_api/accessToken_api.yml" beforeDir="false" />
  11 + <change beforePath="$PROJECT_DIR$/api/app_api/login_api.yml" beforeDir="false" />
  12 + <change beforePath="$PROJECT_DIR$/config/accessToken.csv" beforeDir="false" afterPath="$PROJECT_DIR$/config/accessToken.csv" afterDir="false" />
  13 + <change beforePath="$PROJECT_DIR$/config/authCode.csv" beforeDir="false" afterPath="$PROJECT_DIR$/config/authCode.csv" afterDir="false" />
18 <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/m_accessToken.csv" beforeDir="false" afterPath="$PROJECT_DIR$/config/m_accessToken.csv" afterDir="false" />
  15 + <change beforePath="$PROJECT_DIR$/config/refreshToken.csv" beforeDir="false" afterPath="$PROJECT_DIR$/config/refreshToken.csv" afterDir="false" />
19 <change beforePath="$PROJECT_DIR$/debugtalk.py" beforeDir="false" afterPath="$PROJECT_DIR$/debugtalk.py" afterDir="false" /> 16 <change beforePath="$PROJECT_DIR$/debugtalk.py" beforeDir="false" afterPath="$PROJECT_DIR$/debugtalk.py" afterDir="false" />
  17 + <change beforePath="$PROJECT_DIR$/helpfunc/pg_app_db_func.py" beforeDir="false" afterPath="$PROJECT_DIR$/helpfunc/pg_app_db_func.py" afterDir="false" />
20 <change beforePath="$PROJECT_DIR$/helpfunc/pg_db_func.py" beforeDir="false" afterPath="$PROJECT_DIR$/helpfunc/pg_db_func.py" afterDir="false" /> 18 <change beforePath="$PROJECT_DIR$/helpfunc/pg_db_func.py" beforeDir="false" afterPath="$PROJECT_DIR$/helpfunc/pg_db_func.py" afterDir="false" />
  19 + <change beforePath="$PROJECT_DIR$/testcases/login_testcases.yml" beforeDir="false" afterPath="$PROJECT_DIR$/testcases/login_testcases.yml" afterDir="false" />
21 <change beforePath="$PROJECT_DIR$/testcases_excel/partner_api.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/testcases_excel/partner_api.xlsx" afterDir="false" /> 20 <change beforePath="$PROJECT_DIR$/testcases_excel/partner_api.xlsx" beforeDir="false" afterPath="$PROJECT_DIR$/testcases_excel/partner_api.xlsx" afterDir="false" />
22 <change beforePath="$PROJECT_DIR$/testsuites/partner_testsuite.yml" beforeDir="false" afterPath="$PROJECT_DIR$/testsuites/partner_testsuite.yml" afterDir="false" /> 21 <change beforePath="$PROJECT_DIR$/testsuites/partner_testsuite.yml" beforeDir="false" afterPath="$PROJECT_DIR$/testsuites/partner_testsuite.yml" afterDir="false" />
23 </list> 22 </list>
@@ -28,18 +27,18 @@ @@ -28,18 +27,18 @@
28 <option name="LAST_RESOLUTION" value="IGNORE" /> 27 <option name="LAST_RESOLUTION" value="IGNORE" />
29 </component> 28 </component>
30 <component name="CoverageDataManager"> 29 <component name="CoverageDataManager">
31 - <SUITE FILE_PATH="coverage/partner_api$debugtalk.coverage" NAME="debugtalk Coverage Results" MODIFIED="1594439962224" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />  
32 - <SUITE FILE_PATH="coverage/partner_api$pg_app_db_func.coverage" NAME="pg_app_db_func Coverage Results" MODIFIED="1594742672628" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/helpfunc" /> 30 + <SUITE FILE_PATH="coverage/partner_api$debugtalk.coverage" NAME="debugtalk Coverage Results" MODIFIED="1594810655333" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
  31 + <SUITE FILE_PATH="coverage/partner_api$pg_app_db_func.coverage" NAME="pg_app_db_func Coverage Results" MODIFIED="1594801138165" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/helpfunc" />
33 <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" /> 32 <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" />
34 - <SUITE FILE_PATH="coverage/partner_api$pg_db_func.coverage" NAME="pg_db_func Coverage Results" MODIFIED="1594718579059" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/helpfunc" /> 33 + <SUITE FILE_PATH="coverage/partner_api$pg_db_func.coverage" NAME="pg_db_func Coverage Results" MODIFIED="1594826376790" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/helpfunc" />
35 </component> 34 </component>
36 <component name="FileEditorManager"> 35 <component name="FileEditorManager">
37 <leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> 36 <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
38 <file pinned="false" current-in-tab="false"> 37 <file pinned="false" current-in-tab="false">
39 <entry file="file://$PROJECT_DIR$/testsuites/partner_testsuite.yml"> 38 <entry file="file://$PROJECT_DIR$/testsuites/partner_testsuite.yml">
40 <provider selected="true" editor-type-id="text-editor"> 39 <provider selected="true" editor-type-id="text-editor">
41 - <state relative-caret-position="158">  
42 - <caret line="84" column="71" selection-start-line="84" selection-start-column="71" selection-end-line="84" selection-end-column="71" /> 40 + <state relative-caret-position="268">
  41 + <caret line="90" column="56" selection-start-line="90" selection-start-column="56" selection-end-line="90" selection-end-column="56" />
43 </state> 42 </state>
44 </provider> 43 </provider>
45 </entry> 44 </entry>
@@ -47,8 +46,8 @@ @@ -47,8 +46,8 @@
47 <file pinned="false" current-in-tab="false"> 46 <file pinned="false" current-in-tab="false">
48 <entry file="file://$PROJECT_DIR$/debugtalk.py"> 47 <entry file="file://$PROJECT_DIR$/debugtalk.py">
49 <provider selected="true" editor-type-id="text-editor"> 48 <provider selected="true" editor-type-id="text-editor">
50 - <state relative-caret-position="176">  
51 - <caret line="8" column="37" selection-start-line="8" selection-start-column="37" selection-end-line="8" selection-end-column="37" /> 49 + <state relative-caret-position="147">
  50 + <caret line="74" column="20" selection-start-line="74" selection-start-column="4" selection-end-line="74" selection-end-column="20" />
52 <folding> 51 <folding>
53 <element signature="e#0#13#0" expanded="true" /> 52 <element signature="e#0#13#0" expanded="true" />
54 </folding> 53 </folding>
@@ -56,11 +55,47 @@ @@ -56,11 +55,47 @@
56 </provider> 55 </provider>
57 </entry> 56 </entry>
58 </file> 57 </file>
  58 + <file pinned="false" current-in-tab="false">
  59 + <entry file="file://$PROJECT_DIR$/api/app_api/order/list_0_api.yml">
  60 + <provider selected="true" editor-type-id="text-editor">
  61 + <state relative-caret-position="66">
  62 + <caret line="9" column="17" selection-start-line="9" selection-start-column="17" selection-end-line="9" selection-end-column="17" />
  63 + </state>
  64 + </provider>
  65 + </entry>
  66 + </file>
  67 + <file pinned="false" current-in-tab="false">
  68 + <entry file="file://$PROJECT_DIR$/helpfunc/pg_db_func.py">
  69 + <provider selected="true" editor-type-id="text-editor">
  70 + <state relative-caret-position="213">
  71 + <caret line="390" column="36" selection-start-line="390" selection-start-column="6" selection-end-line="390" selection-end-column="36" />
  72 + </state>
  73 + </provider>
  74 + </entry>
  75 + </file>
  76 + <file pinned="false" current-in-tab="false">
  77 + <entry file="file://$PROJECT_DIR$/testcases/order/order_list_0_testcases.yml">
  78 + <provider selected="true" editor-type-id="text-editor">
  79 + <state relative-caret-position="176">
  80 + <caret line="11" column="24" selection-start-line="11" selection-start-column="24" selection-end-line="11" selection-end-column="24" />
  81 + </state>
  82 + </provider>
  83 + </entry>
  84 + </file>
  85 + <file pinned="false" current-in-tab="false">
  86 + <entry file="file://$PROJECT_DIR$/testcases/order/order_statistics_testcases.yml">
  87 + <provider selected="true" editor-type-id="text-editor">
  88 + <state relative-caret-position="374">
  89 + <caret line="17" column="24" selection-start-line="17" selection-start-column="24" selection-end-line="17" selection-end-column="24" />
  90 + </state>
  91 + </provider>
  92 + </entry>
  93 + </file>
59 <file pinned="false" current-in-tab="true"> 94 <file pinned="false" current-in-tab="true">
60 <entry file="file://$PROJECT_DIR$/helpfunc/pg_app_db_func.py"> 95 <entry file="file://$PROJECT_DIR$/helpfunc/pg_app_db_func.py">
61 <provider selected="true" editor-type-id="text-editor"> 96 <provider selected="true" editor-type-id="text-editor">
62 - <state relative-caret-position="369">  
63 - <caret line="70" selection-start-line="70" selection-end-line="70" /> 97 + <state relative-caret-position="136">
  98 + <caret line="180" column="21" selection-start-line="180" selection-start-column="21" selection-end-line="180" selection-end-column="21" />
64 <folding> 99 <folding>
65 <element signature="e#108#123#0" expanded="true" /> 100 <element signature="e#108#123#0" expanded="true" />
66 </folding> 101 </folding>
@@ -77,20 +112,23 @@ @@ -77,20 +112,23 @@
77 </list> 112 </list>
78 </option> 113 </option>
79 </component> 114 </component>
  115 + <component name="FindInProjectRecents">
  116 + <findStrings>
  117 + <find>今日新增意向订单</find>
  118 + <find>todayIntentionMoney</find>
  119 + <find>todayRealQuantity</find>
  120 + <find>todayRealMoney</find>
  121 + <find>cumulativeQuantity</find>
  122 + <find>todayIntentionQuantity</find>
  123 + <find>cumulativeMoney</find>
  124 + </findStrings>
  125 + </component>
80 <component name="Git.Settings"> 126 <component name="Git.Settings">
81 <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" /> 127 <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
82 </component> 128 </component>
83 <component name="IdeDocumentHistory"> 129 <component name="IdeDocumentHistory">
84 <option name="CHANGED_PATHS"> 130 <option name="CHANGED_PATHS">
85 <list> 131 <list>
86 - <option value="$PROJECT_DIR$/api/m_api/admin/m_admin_forbidden_1_api.yml" />  
87 - <option value="$PROJECT_DIR$/api/m_api/admin/m_admin_list_api.yml" />  
88 - <option value="$PROJECT_DIR$/api/m_api/admin/m_admin_update(edit)_api.yml" />  
89 - <option value="$PROJECT_DIR$/api/m_api/partners/m_partner_edit_api.yml" />  
90 - <option value="$PROJECT_DIR$/helpfunc/db_func.py" />  
91 - <option value="$PROJECT_DIR$/api/m_api/m_partner_set-status_1_api.yml" />  
92 - <option value="$PROJECT_DIR$/api/m_api/partners/m_partner_set-status_1_api.yml" />  
93 - <option value="$PROJECT_DIR$/api/m_api/partners/m_partner_set-status_2_api.yml" />  
94 <option value="$PROJECT_DIR$/testcases/admin/ADMIN003_list_admin_testcases.yml" /> 132 <option value="$PROJECT_DIR$/testcases/admin/ADMIN003_list_admin_testcases.yml" />
95 <option value="$PROJECT_DIR$/api/m_api/actual/m_order_actual_api.yml" /> 133 <option value="$PROJECT_DIR$/api/m_api/actual/m_order_actual_api.yml" />
96 <option value="$PROJECT_DIR$/api/m_api/partners/m_partner_detail_api.yml" /> 134 <option value="$PROJECT_DIR$/api/m_api/partners/m_partner_detail_api.yml" />
@@ -121,7 +159,6 @@ @@ -121,7 +159,6 @@
121 <option value="$PROJECT_DIR$/api/m_api/actual/m_order_actual_detail_api.yml" /> 159 <option value="$PROJECT_DIR$/api/m_api/actual/m_order_actual_detail_api.yml" />
122 <option value="$PROJECT_DIR$/testcases/purpose/PURPOSE002_edit_purpose_testcases.yml" /> 160 <option value="$PROJECT_DIR$/testcases/purpose/PURPOSE002_edit_purpose_testcases.yml" />
123 <option value="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_edit_api.yml" /> 161 <option value="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_edit_api.yml" />
124 - <option value="$PROJECT_DIR$/helpfunc/pg_db_func.py" />  
125 <option value="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_partner_list_api.yml" /> 162 <option value="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_partner_list_api.yml" />
126 <option value="$PROJECT_DIR$/testcases/purpose/PURPOSE003_purpose_list_testcases.yml" /> 163 <option value="$PROJECT_DIR$/testcases/purpose/PURPOSE003_purpose_list_testcases.yml" />
127 <option value="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_searchText_list_api.yml" /> 164 <option value="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_searchText_list_api.yml" />
@@ -131,8 +168,17 @@ @@ -131,8 +168,17 @@
131 <option value="$PROJECT_DIR$/testcases/purpose/PURPOSE006_actual_detail_testcases.yml" /> 168 <option value="$PROJECT_DIR$/testcases/purpose/PURPOSE006_actual_detail_testcases.yml" />
132 <option value="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_detail_api.yml" /> 169 <option value="$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_detail_api.yml" />
133 <option value="$PROJECT_DIR$/testcases/purpose/PURPOSE006_purpose_detail_testcases.yml" /> 170 <option value="$PROJECT_DIR$/testcases/purpose/PURPOSE006_purpose_detail_testcases.yml" />
134 - <option value="$PROJECT_DIR$/testsuites/partner_testsuite.yml" /> 171 + <option value="$PROJECT_DIR$/.env" />
  172 + <option value="$PROJECT_DIR$/api/app_api/login/login_api.yml" />
  173 + <option value="$PROJECT_DIR$/api/app_api/login/accessToken_api.yml" />
  174 + <option value="$PROJECT_DIR$/testcases/login_testcases.yml" />
  175 + <option value="$PROJECT_DIR$/api/app_api/order/statistics_api.yml" />
135 <option value="$PROJECT_DIR$/debugtalk.py" /> 176 <option value="$PROJECT_DIR$/debugtalk.py" />
  177 + <option value="$PROJECT_DIR$/testsuites/partner_testsuite.yml" />
  178 + <option value="$PROJECT_DIR$/testcases/order/order_statistics_testcases.yml" />
  179 + <option value="$PROJECT_DIR$/testcases/order/order_list_0_testcases.yml" />
  180 + <option value="$PROJECT_DIR$/helpfunc/pg_db_func.py" />
  181 + <option value="$PROJECT_DIR$/api/app_api/order/list_0_api.yml" />
136 <option value="$PROJECT_DIR$/helpfunc/pg_app_db_func.py" /> 182 <option value="$PROJECT_DIR$/helpfunc/pg_app_db_func.py" />
137 </list> 183 </list>
138 </option> 184 </option>
@@ -148,7 +194,6 @@ @@ -148,7 +194,6 @@
148 <foldersAlwaysOnTop value="true" /> 194 <foldersAlwaysOnTop value="true" />
149 </navigator> 195 </navigator>
150 <panes> 196 <panes>
151 - <pane id="Scope" />  
152 <pane id="ProjectPane"> 197 <pane id="ProjectPane">
153 <subPane> 198 <subPane>
154 <expand> 199 <expand>
@@ -165,21 +210,14 @@ @@ -165,21 +210,14 @@
165 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" /> 210 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />
166 <item name="partner_api" type="462c0819:PsiDirectoryNode" /> 211 <item name="partner_api" type="462c0819:PsiDirectoryNode" />
167 <item name="api" type="462c0819:PsiDirectoryNode" /> 212 <item name="api" type="462c0819:PsiDirectoryNode" />
168 - <item name="m_api" type="462c0819:PsiDirectoryNode" /> 213 + <item name="app_api" type="462c0819:PsiDirectoryNode" />
169 </path> 214 </path>
170 <path> 215 <path>
171 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" /> 216 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />
172 <item name="partner_api" type="462c0819:PsiDirectoryNode" /> 217 <item name="partner_api" type="462c0819:PsiDirectoryNode" />
173 <item name="api" type="462c0819:PsiDirectoryNode" /> 218 <item name="api" type="462c0819:PsiDirectoryNode" />
174 - <item name="m_api" type="462c0819:PsiDirectoryNode" />  
175 - <item name="actual" type="462c0819:PsiDirectoryNode" />  
176 - </path>  
177 - <path>  
178 - <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />  
179 - <item name="partner_api" type="462c0819:PsiDirectoryNode" />  
180 - <item name="api" type="462c0819:PsiDirectoryNode" />  
181 - <item name="m_api" type="462c0819:PsiDirectoryNode" />  
182 - <item name="purpose" type="462c0819:PsiDirectoryNode" /> 219 + <item name="app_api" type="462c0819:PsiDirectoryNode" />
  220 + <item name="order" type="462c0819:PsiDirectoryNode" />
183 </path> 221 </path>
184 <path> 222 <path>
185 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" /> 223 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />
@@ -195,13 +233,7 @@ @@ -195,13 +233,7 @@
195 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" /> 233 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />
196 <item name="partner_api" type="462c0819:PsiDirectoryNode" /> 234 <item name="partner_api" type="462c0819:PsiDirectoryNode" />
197 <item name="testcases" type="462c0819:PsiDirectoryNode" /> 235 <item name="testcases" type="462c0819:PsiDirectoryNode" />
198 - <item name="actual" type="462c0819:PsiDirectoryNode" />  
199 - </path>  
200 - <path>  
201 - <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />  
202 - <item name="partner_api" type="462c0819:PsiDirectoryNode" />  
203 - <item name="testcases" type="462c0819:PsiDirectoryNode" />  
204 - <item name="purpose" type="462c0819:PsiDirectoryNode" /> 236 + <item name="order" type="462c0819:PsiDirectoryNode" />
205 </path> 237 </path>
206 <path> 238 <path>
207 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" /> 239 <item name="partner_api" type="b2602c69:ProjectViewProjectNode" />
@@ -212,6 +244,7 @@ @@ -212,6 +244,7 @@
212 <select /> 244 <select />
213 </subPane> 245 </subPane>
214 </pane> 246 </pane>
  247 + <pane id="Scope" />
215 </panes> 248 </panes>
216 </component> 249 </component>
217 <component name="PropertiesComponent"> 250 <component name="PropertiesComponent">
@@ -222,16 +255,16 @@ @@ -222,16 +255,16 @@
222 <property name="settings.editor.selected.configurable" value="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable" /> 255 <property name="settings.editor.selected.configurable" value="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable" />
223 </component> 256 </component>
224 <component name="RecentsManager"> 257 <component name="RecentsManager">
  258 + <key name="MoveFile.RECENT_KEYS">
  259 + <recent name="E:\mmm_auto\partner_api\api\m_api\purpose" />
  260 + <recent name="E:\mmm_auto\partner_api\api\m_api\partners" />
  261 + </key>
225 <key name="CopyFile.RECENT_KEYS"> 262 <key name="CopyFile.RECENT_KEYS">
  263 + <recent name="E:\mmm_auto\partner_api\testcases\order" />
  264 + <recent name="E:\mmm_auto\partner_api\api\app_api\order" />
226 <recent name="E:\mmm_auto\partner_api\api\m_api\purpose" /> 265 <recent name="E:\mmm_auto\partner_api\api\m_api\purpose" />
227 <recent name="E:\mmm_auto\partner_api\testcases\purpose" /> 266 <recent name="E:\mmm_auto\partner_api\testcases\purpose" />
228 <recent name="E:\mmm_auto\partner_api\testcases\actual" /> 267 <recent name="E:\mmm_auto\partner_api\testcases\actual" />
229 - <recent name="E:\mmm_auto\partner_api\api\m_api\actual" />  
230 - <recent name="E:\mmm_auto\partner_api\testcases\partners" />  
231 - </key>  
232 - <key name="MoveFile.RECENT_KEYS">  
233 - <recent name="E:\mmm_auto\partner_api\api\m_api\purpose" />  
234 - <recent name="E:\mmm_auto\partner_api\api\m_api\partners" />  
235 </key> 268 </key>
236 </component> 269 </component>
237 <component name="RunDashboard"> 270 <component name="RunDashboard">
@@ -246,7 +279,7 @@ @@ -246,7 +279,7 @@
246 </list> 279 </list>
247 </option> 280 </option>
248 </component> 281 </component>
249 - <component name="RunManager" selected="Python.pg_app_db_func"> 282 + <component name="RunManager" selected="Python.pg_db_func">
250 <configuration name="db_pg_func" type="PythonConfigurationType" factoryName="Python" temporary="true"> 283 <configuration name="db_pg_func" type="PythonConfigurationType" factoryName="Python" temporary="true">
251 <module name="partner_api" /> 284 <module name="partner_api" />
252 <option name="INTERPRETER_OPTIONS" value="" /> 285 <option name="INTERPRETER_OPTIONS" value="" />
@@ -337,10 +370,10 @@ @@ -337,10 +370,10 @@
337 </configuration> 370 </configuration>
338 <recent_temporary> 371 <recent_temporary>
339 <list> 372 <list>
340 - <item itemvalue="Python.pg_app_db_func" />  
341 <item itemvalue="Python.pg_db_func" /> 373 <item itemvalue="Python.pg_db_func" />
342 - <item itemvalue="Python.db_pg_func" />  
343 <item itemvalue="Python.debugtalk" /> 374 <item itemvalue="Python.debugtalk" />
  375 + <item itemvalue="Python.pg_app_db_func" />
  376 + <item itemvalue="Python.db_pg_func" />
344 </list> 377 </list>
345 </recent_temporary> 378 </recent_temporary>
346 </component> 379 </component>
@@ -365,18 +398,19 @@ @@ -365,18 +398,19 @@
365 <workItem from="1594565757545" duration="5110000" /> 398 <workItem from="1594565757545" duration="5110000" />
366 <workItem from="1594608711608" duration="14402000" /> 399 <workItem from="1594608711608" duration="14402000" />
367 <workItem from="1594710916949" duration="12278000" /> 400 <workItem from="1594710916949" duration="12278000" />
  401 + <workItem from="1594781185636" duration="14441000" />
368 </task> 402 </task>
369 <servers /> 403 <servers />
370 </component> 404 </component>
371 <component name="TimeTrackingManager"> 405 <component name="TimeTrackingManager">
372 - <option name="totallyTimeSpent" value="75206000" /> 406 + <option name="totallyTimeSpent" value="89647000" />
373 </component> 407 </component>
374 <component name="ToolWindowManager"> 408 <component name="ToolWindowManager">
375 <frame x="-8" y="-8" width="1382" height="744" extended-state="6" /> 409 <frame x="-8" y="-8" width="1382" height="744" extended-state="6" />
376 <editor active="true" /> 410 <editor active="true" />
377 <layout> 411 <layout>
378 <window_info id="Favorites" order="0" side_tool="true" /> 412 <window_info id="Favorites" order="0" side_tool="true" />
379 - <window_info content_ui="combo" id="Project" order="1" visible="true" weight="0.2980333" /> 413 + <window_info active="true" content_ui="combo" id="Project" order="1" visible="true" weight="0.30257186" />
380 <window_info id="Structure" order="2" side_tool="true" weight="0.25" /> 414 <window_info id="Structure" order="2" side_tool="true" weight="0.25" />
381 <window_info anchor="bottom" id="Docker" order="0" show_stripe_button="false" /> 415 <window_info anchor="bottom" id="Docker" order="0" show_stripe_button="false" />
382 <window_info anchor="bottom" id="Terminal" order="1" weight="0.42078364" /> 416 <window_info anchor="bottom" id="Terminal" order="1" weight="0.42078364" />
@@ -385,7 +419,7 @@ @@ -385,7 +419,7 @@
385 <window_info anchor="bottom" id="Find" order="4" weight="0.32879046" /> 419 <window_info anchor="bottom" id="Find" order="4" weight="0.32879046" />
386 <window_info anchor="bottom" id="Python Console" order="5" weight="0.32879046" /> 420 <window_info anchor="bottom" id="Python Console" order="5" weight="0.32879046" />
387 <window_info anchor="bottom" id="Database Changes" order="6" /> 421 <window_info anchor="bottom" id="Database Changes" order="6" />
388 - <window_info anchor="bottom" id="Run" order="7" weight="0.3270869" /> 422 + <window_info anchor="bottom" id="Run" order="7" visible="true" weight="0.3270869" />
389 <window_info anchor="bottom" id="Version Control" order="8" weight="0.32879046" /> 423 <window_info anchor="bottom" id="Version Control" order="8" weight="0.32879046" />
390 <window_info anchor="bottom" id="Debug" order="9" weight="0.4" /> 424 <window_info anchor="bottom" id="Debug" order="9" weight="0.4" />
391 <window_info anchor="bottom" id="Cvs" order="10" weight="0.25" /> 425 <window_info anchor="bottom" id="Cvs" order="10" weight="0.25" />
@@ -402,62 +436,6 @@ @@ -402,62 +436,6 @@
402 <option name="version" value="1" /> 436 <option name="version" value="1" />
403 </component> 437 </component>
404 <component name="editorHistoryManager"> 438 <component name="editorHistoryManager">
405 - <entry file="file://$PROJECT_DIR$/api/m_api/partners/m_partner_partnertype_list_api.yml">  
406 - <provider selected="true" editor-type-id="text-editor">  
407 - <state relative-caret-position="220">  
408 - <caret line="10" column="22" selection-start-line="10" selection-start-column="22" selection-end-line="10" selection-end-column="22" />  
409 - </state>  
410 - </provider>  
411 - </entry>  
412 - <entry file="file://$PROJECT_DIR$/api/m_api/partners/m_partner_set-status_2_api.yml">  
413 - <provider selected="true" editor-type-id="text-editor">  
414 - <state>  
415 - <caret column="11" selection-start-column="11" selection-end-column="11" />  
416 - </state>  
417 - </provider>  
418 - </entry>  
419 - <entry file="file://$PROJECT_DIR$/api/m_api/partners/m_partner_set-status_1_api.yml">  
420 - <provider selected="true" editor-type-id="text-editor">  
421 - <state>  
422 - <caret column="11" selection-start-column="11" selection-end-column="11" />  
423 - </state>  
424 - </provider>  
425 - </entry>  
426 - <entry file="file://$PROJECT_DIR$/helpfunc/db_func.py">  
427 - <provider selected="true" editor-type-id="text-editor">  
428 - <state relative-caret-position="264">  
429 - <caret line="12" column="11" selection-start-line="12" selection-start-column="11" selection-end-line="12" selection-end-column="11" />  
430 - </state>  
431 - </provider>  
432 - </entry>  
433 - <entry file="file://$PROJECT_DIR$/api/m_api/m_login_api.yml">  
434 - <provider selected="true" editor-type-id="text-editor">  
435 - <state relative-caret-position="418">  
436 - <caret line="19" column="8" selection-start-line="19" selection-start-column="8" selection-end-line="19" selection-end-column="8" />  
437 - </state>  
438 - </provider>  
439 - </entry>  
440 - <entry file="file://$PROJECT_DIR$/testcases/admin/ADMIN003_list_admin_testcases.yml">  
441 - <provider selected="true" editor-type-id="text-editor">  
442 - <state relative-caret-position="88">  
443 - <caret line="10" column="45" selection-start-line="10" selection-start-column="45" selection-end-line="10" selection-end-column="45" />  
444 - </state>  
445 - </provider>  
446 - </entry>  
447 - <entry file="file://$PROJECT_DIR$/api/m_api/partners/m_partner_edit_api.yml">  
448 - <provider selected="true" editor-type-id="text-editor">  
449 - <state relative-caret-position="44">  
450 - <caret line="2" selection-start-line="2" selection-end-line="8" selection-end-column="51" />  
451 - </state>  
452 - </provider>  
453 - </entry>  
454 - <entry file="file://$PROJECT_DIR$/api/m_api/partners/m_partner_add_api.yml">  
455 - <provider selected="true" editor-type-id="text-editor">  
456 - <state relative-caret-position="147">  
457 - <caret line="19" selection-start-line="19" selection-end-line="22" selection-end-column="12" />  
458 - </state>  
459 - </provider>  
460 - </entry>  
461 <entry file="file://$PROJECT_DIR$/testcases/admin/ADMIN001_add_admin_testcases.yml"> 439 <entry file="file://$PROJECT_DIR$/testcases/admin/ADMIN001_add_admin_testcases.yml">
462 <provider selected="true" editor-type-id="text-editor"> 440 <provider selected="true" editor-type-id="text-editor">
463 <state relative-caret-position="50"> 441 <state relative-caret-position="50">
@@ -542,18 +520,6 @@ @@ -542,18 +520,6 @@
542 </state> 520 </state>
543 </provider> 521 </provider>
544 </entry> 522 </entry>
545 - <entry file="file://$PROJECT_DIR$/testcases/m_login_testcases.yml">  
546 - <provider selected="true" editor-type-id="text-editor">  
547 - <state relative-caret-position="88">  
548 - <caret line="4" column="61" selection-start-line="4" selection-start-column="61" selection-end-line="4" selection-end-column="61" />  
549 - </state>  
550 - </provider>  
551 - </entry>  
552 - <entry file="file://$PROJECT_DIR$/testcases/login_testcases.yml">  
553 - <provider selected="true" editor-type-id="text-editor">  
554 - <state relative-caret-position="-198" />  
555 - </provider>  
556 - </entry>  
557 <entry file="file://$PROJECT_DIR$/api/m_api/admin/m_admin_detail_api.yml"> 523 <entry file="file://$PROJECT_DIR$/api/m_api/admin/m_admin_detail_api.yml">
558 <provider selected="true" editor-type-id="text-editor"> 524 <provider selected="true" editor-type-id="text-editor">
559 <state relative-caret-position="66"> 525 <state relative-caret-position="66">
@@ -659,13 +625,6 @@ @@ -659,13 +625,6 @@
659 </state> 625 </state>
660 </provider> 626 </provider>
661 </entry> 627 </entry>
662 - <entry file="file://$PROJECT_DIR$/api/m_api/actual/m_edit_order_actual_api.yml">  
663 - <provider selected="true" editor-type-id="text-editor">  
664 - <state relative-caret-position="-110">  
665 - <caret line="2" selection-start-line="2" selection-end-line="9" selection-end-column="59" />  
666 - </state>  
667 - </provider>  
668 - </entry>  
669 <entry file="file://$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_partner_list_api.yml"> 628 <entry file="file://$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_partner_list_api.yml">
670 <provider selected="true" editor-type-id="text-editor"> 629 <provider selected="true" editor-type-id="text-editor">
671 <state> 630 <state>
@@ -715,13 +674,6 @@ @@ -715,13 +674,6 @@
715 </state> 674 </state>
716 </provider> 675 </provider>
717 </entry> 676 </entry>
718 - <entry file="file://$PROJECT_DIR$/helpfunc/pg_db_func.py">  
719 - <provider selected="true" editor-type-id="text-editor">  
720 - <state relative-caret-position="3998">  
721 - <caret line="197" column="42" selection-start-line="197" selection-start-column="4" selection-end-line="197" selection-end-column="42" />  
722 - </state>  
723 - </provider>  
724 - </entry>  
725 <entry file="file://$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_detail_api.yml"> 677 <entry file="file://$PROJECT_DIR$/api/m_api/purpose/m_order_purpose_detail_api.yml">
726 <provider selected="true" editor-type-id="text-editor"> 678 <provider selected="true" editor-type-id="text-editor">
727 <state> 679 <state>
@@ -736,27 +688,111 @@ @@ -736,27 +688,111 @@
736 </state> 688 </state>
737 </provider> 689 </provider>
738 </entry> 690 </entry>
739 - <entry file="file://$PROJECT_DIR$/testsuites/partner_testsuite.yml"> 691 + <entry file="file://$PROJECT_DIR$/.env">
  692 + <provider selected="true" editor-type-id="text-editor">
  693 + <state relative-caret-position="176">
  694 + <caret line="8" column="51" selection-start-line="8" selection-start-column="51" selection-end-line="8" selection-end-column="51" />
  695 + </state>
  696 + </provider>
  697 + </entry>
  698 + <entry file="file://$PROJECT_DIR$/testcases/m_login_testcases.yml">
  699 + <provider selected="true" editor-type-id="text-editor">
  700 + <state relative-caret-position="88">
  701 + <caret line="4" column="61" selection-start-line="4" selection-start-column="61" selection-end-line="4" selection-end-column="61" />
  702 + </state>
  703 + </provider>
  704 + </entry>
  705 + <entry file="file://$PROJECT_DIR$/api/app_api/login/accessToken_api.yml">
  706 + <provider selected="true" editor-type-id="text-editor">
  707 + <state relative-caret-position="528">
  708 + <caret line="27" column="9" selection-start-line="27" selection-start-column="9" selection-end-line="27" selection-end-column="9" />
  709 + </state>
  710 + </provider>
  711 + </entry>
  712 + <entry file="file://$PROJECT_DIR$/helpfunc/login_func.py">
  713 + <provider selected="true" editor-type-id="text-editor">
  714 + <state relative-caret-position="-462">
  715 + <caret line="6" column="44" lean-forward="true" selection-start-line="6" selection-start-column="44" selection-end-line="6" selection-end-column="44" />
  716 + </state>
  717 + </provider>
  718 + </entry>
  719 + <entry file="file://$PROJECT_DIR$/api/app_api/login/login_api.yml">
740 <provider selected="true" editor-type-id="text-editor"> 720 <provider selected="true" editor-type-id="text-editor">
741 - <state relative-caret-position="158">  
742 - <caret line="84" column="71" selection-start-line="84" selection-start-column="71" selection-end-line="84" selection-end-column="71" /> 721 + <state relative-caret-position="44">
  722 + <caret line="8" column="46" selection-start-line="8" selection-start-column="46" selection-end-line="8" selection-end-column="46" />
  723 + </state>
  724 + </provider>
  725 + </entry>
  726 + <entry file="file://$PROJECT_DIR$/api/m_api/actual/m_edit_order_actual_api.yml">
  727 + <provider selected="true" editor-type-id="text-editor">
  728 + <state relative-caret-position="-110">
  729 + <caret line="2" selection-start-line="2" selection-end-line="9" selection-end-column="59" />
743 </state> 730 </state>
744 </provider> 731 </provider>
745 </entry> 732 </entry>
746 <entry file="file://$PROJECT_DIR$/debugtalk.py"> 733 <entry file="file://$PROJECT_DIR$/debugtalk.py">
747 <provider selected="true" editor-type-id="text-editor"> 734 <provider selected="true" editor-type-id="text-editor">
748 - <state relative-caret-position="176">  
749 - <caret line="8" column="37" selection-start-line="8" selection-start-column="37" selection-end-line="8" selection-end-column="37" /> 735 + <state relative-caret-position="147">
  736 + <caret line="74" column="20" selection-start-line="74" selection-start-column="4" selection-end-line="74" selection-end-column="20" />
750 <folding> 737 <folding>
751 <element signature="e#0#13#0" expanded="true" /> 738 <element signature="e#0#13#0" expanded="true" />
752 </folding> 739 </folding>
753 </state> 740 </state>
754 </provider> 741 </provider>
755 </entry> 742 </entry>
  743 + <entry file="file://$PROJECT_DIR$/testcases/login_testcases.yml">
  744 + <provider selected="true" editor-type-id="text-editor">
  745 + <state relative-caret-position="-88">
  746 + <caret line="8" column="21" lean-forward="true" selection-start-line="8" selection-start-column="21" selection-end-line="8" selection-end-column="21" />
  747 + </state>
  748 + </provider>
  749 + </entry>
  750 + <entry file="file://$PROJECT_DIR$/testcases/order/order_statistics_testcases.yml">
  751 + <provider selected="true" editor-type-id="text-editor">
  752 + <state relative-caret-position="374">
  753 + <caret line="17" column="24" selection-start-line="17" selection-start-column="24" selection-end-line="17" selection-end-column="24" />
  754 + </state>
  755 + </provider>
  756 + </entry>
  757 + <entry file="file://$PROJECT_DIR$/testcases/order/order_list_0_testcases.yml">
  758 + <provider selected="true" editor-type-id="text-editor">
  759 + <state relative-caret-position="176">
  760 + <caret line="11" column="24" selection-start-line="11" selection-start-column="24" selection-end-line="11" selection-end-column="24" />
  761 + </state>
  762 + </provider>
  763 + </entry>
  764 + <entry file="file://$PROJECT_DIR$/api/app_api/order/statistics_api.yml">
  765 + <provider selected="true" editor-type-id="text-editor">
  766 + <state relative-caret-position="110">
  767 + <caret line="5" column="5" selection-start-line="5" selection-start-column="5" selection-end-line="5" selection-end-column="42" />
  768 + </state>
  769 + </provider>
  770 + </entry>
  771 + <entry file="file://$PROJECT_DIR$/helpfunc/pg_db_func.py">
  772 + <provider selected="true" editor-type-id="text-editor">
  773 + <state relative-caret-position="213">
  774 + <caret line="390" column="36" selection-start-line="390" selection-start-column="6" selection-end-line="390" selection-end-column="36" />
  775 + </state>
  776 + </provider>
  777 + </entry>
  778 + <entry file="file://$PROJECT_DIR$/api/app_api/order/list_0_api.yml">
  779 + <provider selected="true" editor-type-id="text-editor">
  780 + <state relative-caret-position="66">
  781 + <caret line="9" column="17" selection-start-line="9" selection-start-column="17" selection-end-line="9" selection-end-column="17" />
  782 + </state>
  783 + </provider>
  784 + </entry>
  785 + <entry file="file://$PROJECT_DIR$/testsuites/partner_testsuite.yml">
  786 + <provider selected="true" editor-type-id="text-editor">
  787 + <state relative-caret-position="268">
  788 + <caret line="90" column="56" selection-start-line="90" selection-start-column="56" selection-end-line="90" selection-end-column="56" />
  789 + </state>
  790 + </provider>
  791 + </entry>
756 <entry file="file://$PROJECT_DIR$/helpfunc/pg_app_db_func.py"> 792 <entry file="file://$PROJECT_DIR$/helpfunc/pg_app_db_func.py">
757 <provider selected="true" editor-type-id="text-editor"> 793 <provider selected="true" editor-type-id="text-editor">
758 - <state relative-caret-position="369">  
759 - <caret line="70" selection-start-line="70" selection-end-line="70" /> 794 + <state relative-caret-position="136">
  795 + <caret line="180" column="21" selection-start-line="180" selection-start-column="21" selection-end-line="180" selection-end-column="21" />
760 <folding> 796 <folding>
761 <element signature="e#108#123#0" expanded="true" /> 797 <element signature="e#108#123#0" expanded="true" />
762 </folding> 798 </folding>
1 -name: 获取授权令牌:/v1/auth/accessToken 1 +name: 获取授权令牌
2 base_url: ${ENV(base_url)} 2 base_url: ${ENV(base_url)}
3 variables: 3 variables:
4 currtime1: ${make_time()} 4 currtime1: ${make_time()}
@@ -25,4 +25,4 @@ request: @@ -25,4 +25,4 @@ request:
25 clientId: lks3Z8Ncn2j 25 clientId: lks3Z8Ncn2j
26 clientSecret: gtfhyjukiol3Qncbvmdwe67khh 26 clientSecret: gtfhyjukiol3Qncbvmdwe67khh
27 method: POST 27 method: POST
28 - url: /v1/auth/accessToken  
  28 + url: v1/auth/accessToken
@@ -6,8 +6,8 @@ variables: @@ -6,8 +6,8 @@ variables:
6 access_token: '' 6 access_token: ''
7 sign: ${make_sign($currtime, $uuid,$access_token)} 7 sign: ${make_sign($currtime, $uuid,$access_token)}
8 grantType: signInPassword 8 grantType: signInPassword
9 - phone: ${convert_to_string(17770000005)}  
10 - password: 406f44fcef8d2e74db0f1b334c48369dcf6b38d0 9 + phone: ${get_partner_account_from_database(partner_info)}
  10 + password: ${get_partner_password_from_database(partner_info)}
11 teardown_hooks: 11 teardown_hooks:
12 - ${teardown_hook_get_authcode($response)} 12 - ${teardown_hook_get_authcode($response)}
13 request: 13 request:
@@ -28,4 +28,4 @@ request: @@ -28,4 +28,4 @@ request:
28 password: $password 28 password: $password
29 clientId: 'pdf233Znkjo' 29 clientId: 'pdf233Znkjo'
30 method: POST 30 method: POST
31 - url: /v1/auth/login 31 + url: v1/auth/login
  1 +name: 全部订单-实发订单列表
  2 +base_url: ${ENV(base_url)}
  3 +variables:
  4 + currtime: ${make_time()}
  5 + uuid: ${make_uuid()}
  6 + var_access_token: ${get_accesstoken()}
  7 + sign: ${make_sign($currtime, $uuid, $var_access_token)}
  8 + id: ${get_actual_id_from_database(order)}
  9 + orderNo: ${get_actual_orderId_from_database(order)}
  10 + orderStatus: ${get_order_status_from_database(order)}
  11 + msg: 成功
  12 +request:
  13 + headers:
  14 + Content-Type: application/json;charset=utf-8
  15 + User-Agent: okhttp/3.12.3
  16 + X-MMM-AccessToken: $var_access_token
  17 + X-MMM-AppName: com.mmm.ability
  18 + X-MMM-AppProject: ability
  19 + X-MMM-DeviceType: '1'
  20 + X-MMM-Sign: $sign
  21 + X-MMM-Timestamp: $currtime
  22 + X-MMM-Uuid: $uuid
  23 + X-MMM-Version: 0.4.0
  24 + json:
  25 + orderAction: 0
  26 + pageIndex: 0
  27 + startTime: ${get_starTimestamp()}
  28 + pageSize: 20
  29 + endTime: ${get_endTimestamp()}
  30 + method: POST
  31 + url: v1/order/list
  32 +validate:
  33 + - eq:
  34 + - content.msg
  35 + - $msg
  1 +name: 订单统计
  2 +base_url: ${ENV(base_url)}
  3 +variables:
  4 + currtime: ${make_time()}
  5 + uuid: ${make_uuid()}
  6 + var_access_token: ${get_accesstoken()}
  7 + sign: ${make_sign($currtime, $uuid, $var_access_token)}
  8 + todayIntentionQuantity: ${get_todayIntentionQuantity_from_database(order)}
  9 + todayIntentionMoney: ${get_todayIntentionMoney_from_database(order)}
  10 + todayRealQuantity: ${get_todayRealQuantity_from_database(order)}
  11 + todayRealMoney: ${get_todayRealMoney_from_database(order)}
  12 + cumulativeQuantity: ${get_cumulativeQuantity_from_database(order)}
  13 + cumulativeMoney: ${get_cumulativeMoney_from_database(order)}
  14 + msg: 成功
  15 +request:
  16 + headers:
  17 + Content-Type: application/json;charset=utf-8
  18 + User-Agent: okhttp/3.12.3
  19 + X-MMM-AccessToken: $var_access_token
  20 + X-MMM-AppName: com.mmm.ability
  21 + X-MMM-AppProject: ability
  22 + X-MMM-DeviceType: '1'
  23 + X-MMM-Sign: $sign
  24 + X-MMM-Timestamp: $currtime
  25 + X-MMM-Uuid: $uuid
  26 + X-MMM-Version: 0.4.0
  27 + json:
  28 + method: POST
  29 + url: v1/order/statistics
  30 +validate:
  31 + - eq:
  32 + - content.msg
  33 + - $msg
  34 + - eq:
  35 + - content.data.statistics.cumulativeMoney
  36 + - $cumulativeMoney
  37 + - eq:
  38 + - content.data.statistics.cumulativeQuantity
  39 + - $cumulativeQuantity
  40 + - eq:
  41 + - content.data.statistics.todayIntentionMoney
  42 + - $todayIntentionMoney
  43 + - eq:
  44 + - content.data.statistics.todayIntentionQuantity
  45 + - $todayIntentionQuantity
  46 + - eq:
  47 + - content.data.statistics.todayRealMoney
  48 + - $todayRealMoney
  49 + - eq:
  50 + - content.data.statistics.todayRealQuantity
  51 + - $todayRealQuantity
1 -eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjI5LCJleHAiOjE1OTM3OTI3ODcsImlzcyI6Imp3dCJ9.IxQHm091FrkOTCE3WTC3-1XycsdRsotllIujsKG8Zpg  
  1 +eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjI5LCJleHAiOjE1OTQ4MzI5NzEsImlzcyI6Imp3dCJ9.yioVEjZs7VoHzFFW573tMs-ZIYUc2ocTZN4bFsrbhV0
1 -eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjI5LCJleHAiOjE1OTM3OTM2NTcsImlzcyI6Imp3dCJ9.RSktD87bv3wl2ctcQRaD9J9GbGPFDwWW1XKfRWrfAbQ  
  1 +eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjI5LCJleHAiOjE1OTQ4MjY2NzEsImlzcyI6Imp3dCJ9.DFikxWqRmmEiN_Db1bOVgfkdOBKaAHwcLol3Ig6jJBY
1 -eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1OTQ3ODMxNTIsImlhdCI6MTU5NDczOTk1MiwiaXNzIjoibW1tX3BhcnRuZXJtZyIsIm5iZiI6MTU5NDczOTk1MiwidWlkIjoxOH0.DI-32mxFfLg3r-8jdi-4DS7a_crDZS949MlnY5UU-us  
  1 +eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1OTQ4Njg5MTEsImlhdCI6MTU5NDgyNTcxMSwiaXNzIjoibW1tX3BhcnRuZXJtZyIsIm5iZiI6MTU5NDgyNTcxMSwidWlkIjoxOH0.cYpLfuPmOkj46VUyocuwxii7LPc3YlkEKqcuciUX_sA
1 -eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjI5LCJleHAiOjE1OTM3OTI4MTcsImlzcyI6Imp3dCJ9.uBQ0vYCvjdou4iQe9tQ9pS94XbjNTiJQTq48Czc5WMo  
  1 +eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjI5LCJleHAiOjE1OTc0MTc3NzEsImlzcyI6Imp3dCJ9.rrZJntWukDoJkrgAT6Kx564vlj9klwCLgb6R236_pTU
@@ -7,6 +7,7 @@ from helpfunc.db_func import * @@ -7,6 +7,7 @@ from helpfunc.db_func import *
7 from helpfunc.header_func import * 7 from helpfunc.header_func import *
8 from random import randint 8 from random import randint
9 from helpfunc.pg_app_db_func import * 9 from helpfunc.pg_app_db_func import *
  10 +from datetime import date, timedelta
10 11
11 def sleep(n_secs): 12 def sleep(n_secs):
12 time.sleep(n_secs) 13 time.sleep(n_secs)
@@ -21,6 +22,11 @@ def get_today(): @@ -21,6 +22,11 @@ def get_today():
21 now_today = datetime.datetime.now() 22 now_today = datetime.datetime.now()
22 str_time = now_today.strftime("%Y-%m-%d") 23 str_time = now_today.strftime("%Y-%m-%d")
23 return str_time 24 return str_time
  25 +
  26 +def get_tomorrow():
  27 + tomorrow = (date.today() + timedelta(days=1)).strftime("%Y-%m-%d")
  28 + return tomorrow
  29 +
24 def get_second(): 30 def get_second():
25 curr_time = datetime.datetime.now() 31 curr_time = datetime.datetime.now()
26 return curr_time.second 32 return curr_time.second
@@ -37,3 +43,35 @@ def create_phone_number(num): @@ -37,3 +43,35 @@ def create_phone_number(num):
37 number = random.randint(0,9) 43 number = random.randint(0,9)
38 phone_number.append('1%d%d%08d'%(number,number+1,number+2)) 44 phone_number.append('1%d%d%08d'%(number,number+1,number+2))
39 return phone_number 45 return phone_number
  46 +
  47 +def getMonth():
  48 + year = str(datetime.date.today().year)
  49 + d = datetime.date.today()
  50 + month = '%02d' % d.month
  51 + if month in ['01', '03', '05', '07', '08', '10', '12']:
  52 + s = str("-01 00:00:00")
  53 + e = str("-31 23:59:59")
  54 + startTime = year + "-" + str(month) + s
  55 + endTime = year + "-" + str(month) + e
  56 + list = [startTime, endTime]
  57 + return list
  58 + elif month == '02':
  59 + s = str("-01 00:00:00")
  60 + e = str("-28 23:59:59")
  61 + startTime = year + "-" + str(month) + s
  62 + endTime = year + "-" + str(month) + e
  63 + list = [startTime, endTime]
  64 + return list
  65 + else:
  66 + s = str("-01 00:00:00")
  67 + e = str("-30 23:59:59")
  68 + startTime = year + "-" + str(month) + s
  69 + endTime = year + "-" + str(month) + e
  70 + list = [startTime, endTime]
  71 + return list
  72 +list_time = getMonth()
  73 +def get_starTimestamp():
  74 + return int(time.mktime(time.strptime(list_time[0], '%Y-%m-%d %H:%M:%S'))*1000)
  75 +def get_endTimestamp():
  76 + return int(time.mktime(time.strptime(list_time[1], '%Y-%m-%d %H:%M:%S'))*1000)
  77 +
@@ -4,8 +4,18 @@ @@ -4,8 +4,18 @@
4 # @Author:bxh 4 # @Author:bxh
5 # @file: pg_db_func.py 5 # @file: pg_db_func.py
6 import psycopg2 6 import psycopg2
  7 +from datetime import date, timedelta
7 import datetime 8 import datetime
8 9
  10 +def get_today():
  11 + now_today = datetime.datetime.now()
  12 + str_time = now_today.strftime("%Y-%m-%d")
  13 + return str_time
  14 +
  15 +def get_tomorrow():
  16 + tomorrow = (date.today() + timedelta(days=1)).strftime("%Y-%m-%d")
  17 + return tomorrow
  18 +
9 # 获得连接 19 # 获得连接
10 def GetConnect(): 20 def GetConnect():
11 conn = False 21 conn = False
@@ -18,7 +28,7 @@ def GetConnect(): @@ -18,7 +28,7 @@ def GetConnect():
18 except Exception as err: 28 except Exception as err:
19 print("连接数据库失败,%s" % err) 29 print("连接数据库失败,%s" % err)
20 return conn 30 return conn
21 -#获取超级管理员账号 31 +#获取超级管理员id
22 def get_partner_id_from_database(tbl): 32 def get_partner_id_from_database(tbl):
23 db = GetConnect() 33 db = GetConnect()
24 cursor = db.cursor() 34 cursor = db.cursor()
@@ -34,6 +44,38 @@ def get_partner_id_from_database(tbl): @@ -34,6 +44,38 @@ def get_partner_id_from_database(tbl):
34 print(err) 44 print(err)
35 db.rollback() 45 db.rollback()
36 db.close() 46 db.close()
  47 +#获取超级管理员账号
  48 +def get_partner_account_from_database(tbl):
  49 + db = GetConnect()
  50 + cursor = db.cursor()
  51 + # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '
  52 + sql = '''select account from \"{}\" where account = '13459147023' '''.format(tbl)
  53 + # print(sql)
  54 + try:
  55 + cursor.execute(sql)
  56 + result = cursor.fetchone()
  57 + return result[0]
  58 + except Exception as err:
  59 + # 发生错误时回滚
  60 + print(err)
  61 + db.rollback()
  62 + db.close()
  63 +#获取超级管理员密码
  64 +def get_partner_password_from_database(tbl):
  65 + db = GetConnect()
  66 + cursor = db.cursor()
  67 + # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '
  68 + sql = '''select "password" from \"{}\" where account = '13459147023' '''.format(tbl)
  69 + # print(sql)
  70 + try:
  71 + cursor.execute(sql)
  72 + result = cursor.fetchone()
  73 + return result[0]
  74 + except Exception as err:
  75 + # 发生错误时回滚
  76 + print(err)
  77 + db.rollback()
  78 + db.close()
37 #累计实发订单 79 #累计实发订单
38 def get_cumulativeQuantity_from_database(tbl): 80 def get_cumulativeQuantity_from_database(tbl):
39 db = GetConnect() 81 db = GetConnect()
@@ -67,5 +109,90 @@ def get_cumulativeMoney_from_database(tbl): @@ -67,5 +109,90 @@ def get_cumulativeMoney_from_database(tbl):
67 print(err) 109 print(err)
68 db.rollback() 110 db.rollback()
69 db.close() 111 db.close()
70 -# print(get_cumulativeMoney_from_database('order')) 112 +
  113 +#今日新增实发订单金额
  114 +def get_todayRealMoney_from_database(tbl):
  115 + db = GetConnect()
  116 + cursor = db.cursor()
  117 + # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '
  118 + sql = '''select sum(order_actual_amount) from \"{}\" where create_at between \'{}\' and \'{}\' and order_status in (2,3) '''.format(tbl,get_today(),get_tomorrow())
  119 + # print(sql)
  120 + try:
  121 + cursor.execute(sql)
  122 + result = cursor.fetchone()
  123 + return int(result[0])
  124 + except Exception as err:
  125 + # 发生错误时回滚
  126 + print(err)
  127 + db.rollback()
  128 + db.close()
  129 +
  130 +#今日新增实发订单
  131 +def get_todayRealQuantity_from_database(tbl):
  132 + db = GetConnect()
  133 + cursor = db.cursor()
  134 + # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '
  135 + sql = '''select COUNT(id) from \"{}\" where create_at between \'{}\' and \'{}\' and order_status in (2,3) '''.format(tbl,get_today(),get_tomorrow())
  136 + # print(sql)
  137 + try:
  138 + cursor.execute(sql)
  139 + result = cursor.fetchone()
  140 + return int(result[0])
  141 + except Exception as err:
  142 + # 发生错误时回滚
  143 + print(err)
  144 + db.rollback()
  145 + db.close()
  146 +
  147 +#今日新增意向订单
  148 +def get_todayIntentionQuantity_from_database(tbl):
  149 + db = GetConnect()
  150 + cursor = db.cursor()
  151 + # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '
  152 + sql = '''select COUNT(id) from \"{}\" where create_at between \'{}\' and \'{}\' and order_status in (1) '''.format(tbl,get_today(),get_tomorrow())
  153 + # print(sql)
  154 + try:
  155 + cursor.execute(sql)
  156 + result = cursor.fetchone()
  157 + return int(result[0])
  158 + except Exception as err:
  159 + # 发生错误时回滚
  160 + print(err)
  161 + db.rollback()
  162 + db.close()
  163 +
  164 +#今日新增意向订单金额
  165 +def get_todayIntentionMoney_from_database(tbl):
  166 + db = GetConnect()
  167 + cursor = db.cursor()
  168 + # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '
  169 + sql = '''select sum(order_actual_amount) from \"{}\" where create_at between \'{}\' and \'{}\' and order_status in (1) '''.format(tbl,get_today(),get_tomorrow())
  170 + # print(sql)
  171 + try:
  172 + cursor.execute(sql)
  173 + result = cursor.fetchone()
  174 + return int(result[0])
  175 + except Exception as err:
  176 + # 发生错误时回滚
  177 + print(err)
  178 + db.rollback()
  179 + db.close()
  180 +#订单数量
  181 +def get_orderQuantity_from_database(tbl):
  182 + db = GetConnect()
  183 + cursor = db.cursor()
  184 + # sql= "select id from " + '''"''' + tbl + '''"'''+ ' ' + 'order by id desc '
  185 + sql = '''select COUNT(id) from \"{}\" where create_at between \'{}\' and \'{}\' and order_status in (1) '''.format(tbl,get_today(),get_tomorrow())
  186 + # print(sql)
  187 + try:
  188 + cursor.execute(sql)
  189 + result = cursor.fetchone()
  190 + return int(result[0])
  191 + except Exception as err:
  192 + # 发生错误时回滚
  193 + print(err)
  194 + db.rollback()
  195 + db.close()
  196 +
  197 +print(get_partner_account_from_database('partner_info'))
71 198
@@ -388,4 +388,4 @@ def get_purpose_orderName_from_database(tbl): @@ -388,4 +388,4 @@ def get_purpose_orderName_from_database(tbl):
388 db.rollback() 388 db.rollback()
389 db.close() 389 db.close()
390 390
391 -# print(get_purpose_order_status_from_database('order'))  
  391 +print(get_order_status_from_database('order'))
1 config: 1 config:
2 - name: login_testcases 2 + name: APP登录用例
3 base_url: ${ENV(base_url)} 3 base_url: ${ENV(base_url)}
4 variables: 4 variables:
5 - phone: ${convert_to_string(17770000005)} 5 + phone: ${get_partner_account_from_database(partner_info)}
6 6
7 teststeps: 7 teststeps:
8 8
9 - name: $phone 登录系统 9 - name: $phone 登录系统
10 - api: api/app_api/login_api.yml 10 + api: api/app_api/login/login_api.yml
11 teardown_hooks: 11 teardown_hooks:
12 - ${teardown_hook_get_authcode($response)} 12 - ${teardown_hook_get_authcode($response)}
13 # validate: 13 # validate:
@@ -16,12 +16,9 @@ teststeps: @@ -16,12 +16,9 @@ teststeps:
16 # - 登录成功 16 # - 登录成功
17 17
18 - name: $phone 获取accessToken 18 - name: $phone 获取accessToken
19 - api: api/app_api/accessToken_api.yml 19 + api: api/app_api/login/accessToken_api.yml
20 teardown_hooks: 20 teardown_hooks:
21 - ${teardown_hook_get_accesstoken($response)} 21 - ${teardown_hook_get_accesstoken($response)}
22 22
23 #- name: $phone 获取userinfo 23 #- name: $phone 获取userinfo
24 # api: api/app_api/userInfo_api.yml 24 # api: api/app_api/userInfo_api.yml
25 -  
26 -- name: $phone APP版本升级  
27 - api: api/app_api/version_getLatestversionInfo_api.yml  
  1 +config:
  2 + name: 全部订单-实发订单列表
  3 + base_url: ${ENV(base_manager_url)}
  4 + variables:
  5 + phone: ${get_partner_account_from_database(partner_info)}
  6 + msg: 成功
  7 + teardown_hooks:
  8 + - ${sleep(2)}
  9 +
  10 +teststeps:
  11 +- name: $phone 登录系统
  12 + testcase: testcases/login_testcases.yml
  13 +
  14 +- name: $phone 全部订单-实发订单列表
  15 + api: api/app_api/order/list_0_api.yml
  16 + validate:
  17 + - eq:
  18 + - content.msg
  19 + - $msg
  1 +config:
  2 + name: 订单统计
  3 + base_url: ${ENV(base_manager_url)}
  4 + variables:
  5 + phone: ${get_partner_account_from_database(partner_info)}
  6 + todayIntentionQuantity: ${get_todayIntentionQuantity_from_database(order)}
  7 + todayIntentionMoney: ${get_todayIntentionMoney_from_database(order)}
  8 + todayRealQuantity: ${get_todayRealQuantity_from_database(order)}
  9 + todayRealMoney: ${get_todayRealMoney_from_database(order)}
  10 + cumulativeQuantity: ${get_cumulativeQuantity_from_database(order)}
  11 + cumulativeMoney: ${get_cumulativeMoney_from_database(order)}
  12 + msg: 成功
  13 + teardown_hooks:
  14 + - ${sleep(2)}
  15 +
  16 +teststeps:
  17 +- name: $phone 登录系统
  18 + testcase: testcases/login_testcases.yml
  19 +
  20 +- name: $phone 订单统计
  21 + api: api/app_api/order/statistics_api.yml
  22 + validate:
  23 + - eq:
  24 + - content.msg
  25 + - $msg
  26 + - eq:
  27 + - content.data.statistics.cumulativeMoney
  28 + - $cumulativeMoney
  29 + - eq:
  30 + - content.data.statistics.cumulativeQuantity
  31 + - $cumulativeQuantity
  32 + - eq:
  33 + - content.data.statistics.todayIntentionMoney
  34 + - $todayIntentionMoney
  35 + - eq:
  36 + - content.data.statistics.todayIntentionQuantity
  37 + - $todayIntentionQuantity
  38 + - eq:
  39 + - content.data.statistics.todayRealMoney
  40 + - $todayRealMoney
  41 + - eq:
  42 + - content.data.statistics.todayRealQuantity
  43 + - $todayRealQuantity
@@ -50,7 +50,7 @@ testcases: @@ -50,7 +50,7 @@ testcases:
50 #- name: ACTUAL001:新增实际订单 50 #- name: ACTUAL001:新增实际订单
51 # testcase: testcases/actual/ACTUAL001_add_actual_testcases.yml 51 # testcase: testcases/actual/ACTUAL001_add_actual_testcases.yml
52 # parameters: 52 # parameters:
53 -# account: ${create_phone_number(1)} 53 +# account: ${create_phone_number(3)}
54 # 54 #
55 #- name: ACTUAL002:编辑实际订单 55 #- name: ACTUAL002:编辑实际订单
56 # testcase: testcases/actual/ACTUAL002_edit_actual_testcases.yml 56 # testcase: testcases/actual/ACTUAL002_edit_actual_testcases.yml
@@ -67,7 +67,7 @@ testcases: @@ -67,7 +67,7 @@ testcases:
67 #- name: PURPOSE001:新增意向订单 67 #- name: PURPOSE001:新增意向订单
68 # testcase: testcases/purpose/PURPOSE001_add_purpose_testcases.yml 68 # testcase: testcases/purpose/PURPOSE001_add_purpose_testcases.yml
69 # parameters: 69 # parameters:
70 -# account: ${create_phone_number(1)} 70 +# account: ${create_phone_number(3)}
71 71
72 #- name: PURPOSE002:编辑意向订单 72 #- name: PURPOSE002:编辑意向订单
73 # testcase: testcases/purpose/PURPOSE002_edit_purpose_testcases.yml 73 # testcase: testcases/purpose/PURPOSE002_edit_purpose_testcases.yml
@@ -81,5 +81,11 @@ testcases: @@ -81,5 +81,11 @@ testcases:
81 #- name: PURPOSE005:意向订单转发实发订单 81 #- name: PURPOSE005:意向订单转发实发订单
82 # testcase: testcases/purpose/PURPOSE005_purpose_convert_testcases.yml 82 # testcase: testcases/purpose/PURPOSE005_purpose_convert_testcases.yml
83 83
84 -- name: PURPOSE006:查看意向订单详情  
85 - testcase: testcases/purpose/PURPOSE006_purpose_detail_testcases.yml  
  84 +#- name: PURPOSE006:查看意向订单详情
  85 +# testcase: testcases/purpose/PURPOSE006_purpose_detail_testcases.yml
  86 +
  87 +#- name: statistics:订单统计
  88 +# testcase: testcases/order/order_statistics_testcases.yml
  89 +
  90 +- name: statistics:订单统计
  91 + testcase: testcases/order/order_list_0_testcases.yml