Quellcode durchsuchen

收藏页面 改成商品详情页面
小程序分享 是体验版
appid 替换
手机号修改

susan.suwenjuan@ksher.net vor 1 Jahr
Ursprung
Commit
b81221d709
100 geänderte Dateien mit 1346 neuen und 455 gelöschten Zeilen
  1. 6 0
      .idea/appInsightsSettings.xml
  2. 1 1
      .idea/compiler.xml
  3. 417 0
      .idea/dbnavigator.xml
  4. 8 0
      .idea/deploymentTargetSelector.xml
  5. 2 2
      .idea/gradle.xml
  6. 1 1
      .idea/misc.xml
  7. 26 24
      app/build.gradle
  8. 127 23
      app/src/main/AndroidManifest.xml
  9. 1 1
      app/src/main/java/com/yihucha/hbyhc/alipay/AuthResult.java
  10. 7 7
      app/src/main/java/com/yihucha/hbyhc/alipay/Base64.java
  11. 3 5
      app/src/main/java/com/yihucha/hbyhc/alipay/PayDemoActivity.java
  12. 23 96
      app/src/main/java/com/yihucha/hbyhc/application/MyApplication.java
  13. 2 2
      app/src/main/java/com/yihucha/hbyhc/base/ActivityStack.java
  14. 11 0
      app/src/main/java/com/yihucha/hbyhc/base/BaseActivity.java
  15. 0 2
      app/src/main/java/com/yihucha/hbyhc/base/BaseFragment.java
  16. 0 2
      app/src/main/java/com/yihucha/hbyhc/base/BaseViewModel.java
  17. 5 4
      app/src/main/java/com/yihucha/hbyhc/base/H5TitleActivity.java
  18. 44 0
      app/src/main/java/com/yihucha/hbyhc/base/NewBaseFragment.kt
  19. 6 0
      app/src/main/java/com/yihucha/hbyhc/base/TitleBaseActivity.java
  20. 1 1
      app/src/main/java/com/yihucha/hbyhc/base/ViewBindingChangeTitleColorTitleBaseActivity.java
  21. 1 1
      app/src/main/java/com/yihucha/hbyhc/base/WebViewTitleBaseActivity.java
  22. 1 1
      app/src/main/java/com/yihucha/hbyhc/base/adapter/FragmentBaseAdapter.java
  23. 1 1
      app/src/main/java/com/yihucha/hbyhc/config/BusinessConstants.java
  24. 20 8
      app/src/main/java/com/yihucha/hbyhc/config/Constants.java
  25. 6 3
      app/src/main/java/com/yihucha/hbyhc/config/HttpUrl.java
  26. 11 0
      app/src/main/java/com/yihucha/hbyhc/db/UserDB.java
  27. 2 2
      app/src/main/java/com/yihucha/hbyhc/manager/AgreeToADealManager.java
  28. 2 2
      app/src/main/java/com/yihucha/hbyhc/manager/H5NeedUpdateManager.java
  29. 2 2
      app/src/main/java/com/yihucha/hbyhc/manager/OtherSearchUpdateManager.java
  30. 49 0
      app/src/main/java/com/yihucha/hbyhc/network/JsonLoggingInterceptor.java
  31. 35 5
      app/src/main/java/com/yihucha/hbyhc/network/NetworkApi.java
  32. 5 5
      app/src/main/java/com/yihucha/hbyhc/network/interceptor/RequestInterceptor.java
  33. 0 4
      app/src/main/java/com/yihucha/hbyhc/network/interceptor/ResponseInterceptor.java
  34. 9 0
      app/src/main/java/com/yihucha/hbyhc/network/request_bean/CartIdRequest.java
  35. 31 4
      app/src/main/java/com/yihucha/hbyhc/network/request_bean/CreateOrderRequest.java
  36. 9 0
      app/src/main/java/com/yihucha/hbyhc/network/request_bean/TaobaoGoodsListRequest.java
  37. 0 1
      app/src/main/java/com/yihucha/hbyhc/network/service/ApiService.java
  38. 18 0
      app/src/main/java/com/yihucha/hbyhc/network/service/AuthService.java
  39. 7 0
      app/src/main/java/com/yihucha/hbyhc/network/service/BigWarehouseServicr.java
  40. 1 2
      app/src/main/java/com/yihucha/hbyhc/network/service/OrderService.java
  41. 35 0
      app/src/main/java/com/yihucha/hbyhc/network/service/ProductService.java
  42. 72 0
      app/src/main/java/com/yihucha/hbyhc/network/service/PyyxService.java
  43. 7 1
      app/src/main/java/com/yihucha/hbyhc/network/service/StoreService.java
  44. 20 2
      app/src/main/java/com/yihucha/hbyhc/network/service/UserService.java
  45. 103 0
      app/src/main/java/com/yihucha/hbyhc/network/utils/SignMD5Util.java
  46. 12 11
      app/src/main/java/com/yihucha/hbyhc/presentation/MainActivity.java
  47. 1 1
      app/src/main/java/com/yihucha/hbyhc/presentation/MainActivityViewModel.java
  48. 1 1
      app/src/main/java/com/yihucha/hbyhc/presentation/agent/AgentRegionalDistributionActivity.java
  49. 1 1
      app/src/main/java/com/yihucha/hbyhc/presentation/agent/IncomeDetailActivity.java
  50. 3 3
      app/src/main/java/com/yihucha/hbyhc/presentation/agent/MyIncomeActivity.java
  51. 1 1
      app/src/main/java/com/yihucha/hbyhc/presentation/agent/adapter/ArrayWheelAdapter.java
  52. 4 4
      app/src/main/java/com/yihucha/hbyhc/presentation/agent/adapter/IncomeDetailAdapter.java
  53. 1 1
      app/src/main/java/com/yihucha/hbyhc/presentation/agent/adapter/IncomeDetailPopAdapter.java
  54. 17 23
      app/src/main/java/com/yihucha/hbyhc/presentation/agent/view/ChangeDatePopwindow.java
  55. 3 3
      app/src/main/java/com/yihucha/hbyhc/presentation/agent/view/IncomeDetailPopWindow.java
  56. 1 1
      app/src/main/java/com/yihucha/hbyhc/presentation/agent/view/InertiaTimerTask.java
  57. 1 1
      app/src/main/java/com/yihucha/hbyhc/presentation/agent/view/LoopViewGestureListener.java
  58. 1 1
      app/src/main/java/com/yihucha/hbyhc/presentation/agent/view/MessageHandler.java
  59. 2 2
      app/src/main/java/com/yihucha/hbyhc/presentation/agent/view/SmoothScrollTimerTask.java
  60. 3 3
      app/src/main/java/com/yihucha/hbyhc/presentation/agent/view/WheelView.java
  61. 2 2
      app/src/main/java/com/yihucha/hbyhc/presentation/agent/view/YuePopwindow.java
  62. 0 4
      app/src/main/java/com/yihucha/hbyhc/presentation/annuity/AlreadyRealNameActivity.java
  63. 34 43
      app/src/main/java/com/yihucha/hbyhc/presentation/annuity/AnnuityActivity.java
  64. 0 4
      app/src/main/java/com/yihucha/hbyhc/presentation/annuity/AnnuityFragment.kt
  65. 8 6
      app/src/main/java/com/yihucha/hbyhc/presentation/annuity/AnnuityRecordsActivity.kt
  66. 0 1
      app/src/main/java/com/yihucha/hbyhc/presentation/annuity/AutonymSucceedActivity.java
  67. 2 2
      app/src/main/java/com/yihucha/hbyhc/presentation/annuity/PensionAccountActivity.java
  68. 3 1
      app/src/main/java/com/yihucha/hbyhc/presentation/annuity/PensionChoicePlatformActivity.java
  69. 0 1
      app/src/main/java/com/yihucha/hbyhc/presentation/annuity/PensionRecordsActivity.java
  70. 5 5
      app/src/main/java/com/yihucha/hbyhc/presentation/annuity/PensionRecordsListActivity.java
  71. 5 4
      app/src/main/java/com/yihucha/hbyhc/presentation/annuity/RealNameAuthenticationActivity.java
  72. 3 3
      app/src/main/java/com/yihucha/hbyhc/presentation/annuity/adapter/AnnuityRecordsAdapter.kt
  73. 0 1
      app/src/main/java/com/yihucha/hbyhc/presentation/annuity/adapter/ItemAnnuitySelectorAdapter.kt
  74. 13 9
      app/src/main/java/com/yihucha/hbyhc/presentation/annuity/adapter/ThirdOrderAdapter.java
  75. 1 1
      app/src/main/java/com/yihucha/hbyhc/presentation/annuity/adapter/YanglaojinLogXSAdapter.java
  76. 1 1
      app/src/main/java/com/yihucha/hbyhc/presentation/annuity/adapter/YanglaojinLogXXAdapter.java
  77. 0 3
      app/src/main/java/com/yihucha/hbyhc/presentation/annuity/view_model/RealNameAuthenticationViewModel.java
  78. 0 1
      app/src/main/java/com/yihucha/hbyhc/presentation/apply_channel/ApplyChannelActivity.java
  79. 3 4
      app/src/main/java/com/yihucha/hbyhc/presentation/apply_channel/ChannelOpenSuccessActivity.java
  80. 1 1
      app/src/main/java/com/yihucha/hbyhc/presentation/apply_channel/adapter/UserInvitationCodeAdapter.java
  81. 0 3
      app/src/main/java/com/yihucha/hbyhc/presentation/apply_channel/view_model/ChannelViewModel.java
  82. 43 46
      app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/BigWarehouseFragment.java
  83. 2 2
      app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/DacangSeckillActivity.java
  84. 4 4
      app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/DcHomeActivity.java
  85. 0 1
      app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/DcIntroduceActivity.java
  86. 5 9
      app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/DcMemberActivity.java
  87. 1 1
      app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/adapter/DcDetailsGoodsAdapter.java
  88. 1 1
      app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/adapter/DcKingKongAreaAdapter.java
  89. 1 1
      app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/adapter/DcMemberProductAdapter.java
  90. 1 1
      app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/adapter/DcProductAdapter.java
  91. 1 1
      app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/adapter/DcRecommendListAdapter.java
  92. 1 1
      app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/adapter/DcRecommendPicAdapter.java
  93. 1 5
      app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/adapter/DcSeckillDateAdapter.java
  94. 1 2
      app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/adapter/DcSecondsKillProductsAdapter.java
  95. 1 1
      app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/adapter/DcShopAdapter.java
  96. 3 2
      app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/adapter/HomeMSAdapter.kt
  97. 0 2
      app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/adapter/HomeVipAdapter.kt
  98. 9 0
      app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/model/DcSeckillBean.java
  99. 0 3
      app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/repository/DcRepository.java
  100. 0 0
      app/src/main/java/com/yihucha/hbyhc/presentation/home/DingShengLianMengActivity.kt

+ 6 - 0
.idea/appInsightsSettings.xml

@@ -0,0 +1,6 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="AppInsightsSettings">
4
+    <option name="selectedTabId" value="Android Vitals" />
5
+  </component>
6
+</project>

+ 1 - 1
.idea/compiler.xml

@@ -1,6 +1,6 @@
1 1
 <?xml version="1.0" encoding="UTF-8"?>
2 2
 <project version="4">
3 3
   <component name="CompilerConfiguration">
4
-    <bytecodeTargetLevel target="11" />
4
+    <bytecodeTargetLevel target="17" />
5 5
   </component>
6 6
 </project>

+ 417 - 0
.idea/dbnavigator.xml

@@ -0,0 +1,417 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="DBNavigator.Project.DDLFileAttachmentManager">
4
+    <mappings />
5
+    <preferences />
6
+  </component>
7
+  <component name="DBNavigator.Project.DatabaseBrowserManager">
8
+    <autoscroll-to-editor value="false" />
9
+    <autoscroll-from-editor value="true" />
10
+    <show-object-properties value="true" />
11
+    <loaded-nodes />
12
+  </component>
13
+  <component name="DBNavigator.Project.DatabaseFileManager">
14
+    <open-files />
15
+  </component>
16
+  <component name="DBNavigator.Project.ExecutionManager">
17
+    <retain-sticky-names value="false" />
18
+  </component>
19
+  <component name="DBNavigator.Project.Settings">
20
+    <connections />
21
+    <browser-settings>
22
+      <general>
23
+        <display-mode value="TABBED" />
24
+        <navigation-history-size value="100" />
25
+        <show-object-details value="false" />
26
+        <enable-sticky-paths value="true" />
27
+      </general>
28
+      <filters>
29
+        <object-type-filter>
30
+          <object-type name="SCHEMA" enabled="true" />
31
+          <object-type name="USER" enabled="true" />
32
+          <object-type name="ROLE" enabled="true" />
33
+          <object-type name="PRIVILEGE" enabled="true" />
34
+          <object-type name="CHARSET" enabled="true" />
35
+          <object-type name="TABLE" enabled="true" />
36
+          <object-type name="VIEW" enabled="true" />
37
+          <object-type name="MATERIALIZED_VIEW" enabled="true" />
38
+          <object-type name="NESTED_TABLE" enabled="true" />
39
+          <object-type name="COLUMN" enabled="true" />
40
+          <object-type name="INDEX" enabled="true" />
41
+          <object-type name="CONSTRAINT" enabled="true" />
42
+          <object-type name="DATASET_TRIGGER" enabled="true" />
43
+          <object-type name="DATABASE_TRIGGER" enabled="true" />
44
+          <object-type name="SYNONYM" enabled="true" />
45
+          <object-type name="SEQUENCE" enabled="true" />
46
+          <object-type name="PROCEDURE" enabled="true" />
47
+          <object-type name="FUNCTION" enabled="true" />
48
+          <object-type name="PACKAGE" enabled="true" />
49
+          <object-type name="TYPE" enabled="true" />
50
+          <object-type name="TYPE_ATTRIBUTE" enabled="true" />
51
+          <object-type name="ARGUMENT" enabled="true" />
52
+          <object-type name="DIMENSION" enabled="true" />
53
+          <object-type name="CLUSTER" enabled="true" />
54
+          <object-type name="DBLINK" enabled="true" />
55
+        </object-type-filter>
56
+      </filters>
57
+      <sorting>
58
+        <object-type name="COLUMN" sorting-type="NAME" />
59
+        <object-type name="FUNCTION" sorting-type="NAME" />
60
+        <object-type name="PROCEDURE" sorting-type="NAME" />
61
+        <object-type name="ARGUMENT" sorting-type="POSITION" />
62
+        <object-type name="TYPE ATTRIBUTE" sorting-type="POSITION" />
63
+      </sorting>
64
+      <default-editors>
65
+        <object-type name="VIEW" editor-type="SELECTION" />
66
+        <object-type name="PACKAGE" editor-type="SELECTION" />
67
+        <object-type name="TYPE" editor-type="SELECTION" />
68
+      </default-editors>
69
+    </browser-settings>
70
+    <navigation-settings>
71
+      <lookup-filters>
72
+        <lookup-objects>
73
+          <object-type name="SCHEMA" enabled="true" />
74
+          <object-type name="USER" enabled="false" />
75
+          <object-type name="ROLE" enabled="false" />
76
+          <object-type name="PRIVILEGE" enabled="false" />
77
+          <object-type name="CHARSET" enabled="false" />
78
+          <object-type name="TABLE" enabled="true" />
79
+          <object-type name="VIEW" enabled="true" />
80
+          <object-type name="MATERIALIZED VIEW" enabled="true" />
81
+          <object-type name="INDEX" enabled="true" />
82
+          <object-type name="CONSTRAINT" enabled="true" />
83
+          <object-type name="DATASET TRIGGER" enabled="true" />
84
+          <object-type name="DATABASE TRIGGER" enabled="true" />
85
+          <object-type name="SYNONYM" enabled="false" />
86
+          <object-type name="SEQUENCE" enabled="true" />
87
+          <object-type name="PROCEDURE" enabled="true" />
88
+          <object-type name="FUNCTION" enabled="true" />
89
+          <object-type name="PACKAGE" enabled="true" />
90
+          <object-type name="TYPE" enabled="true" />
91
+          <object-type name="DIMENSION" enabled="false" />
92
+          <object-type name="CLUSTER" enabled="false" />
93
+          <object-type name="DBLINK" enabled="true" />
94
+        </lookup-objects>
95
+        <force-database-load value="false" />
96
+        <prompt-connection-selection value="true" />
97
+        <prompt-schema-selection value="true" />
98
+      </lookup-filters>
99
+    </navigation-settings>
100
+    <dataset-grid-settings>
101
+      <general>
102
+        <enable-zooming value="true" />
103
+        <enable-column-tooltip value="true" />
104
+      </general>
105
+      <sorting>
106
+        <nulls-first value="true" />
107
+        <max-sorting-columns value="4" />
108
+      </sorting>
109
+      <audit-columns>
110
+        <column-names value="" />
111
+        <visible value="true" />
112
+        <editable value="false" />
113
+      </audit-columns>
114
+    </dataset-grid-settings>
115
+    <dataset-editor-settings>
116
+      <text-editor-popup>
117
+        <active value="false" />
118
+        <active-if-empty value="false" />
119
+        <data-length-threshold value="100" />
120
+        <popup-delay value="1000" />
121
+      </text-editor-popup>
122
+      <values-actions-popup>
123
+        <show-popup-button value="true" />
124
+        <element-count-threshold value="1000" />
125
+        <data-length-threshold value="250" />
126
+      </values-actions-popup>
127
+      <general>
128
+        <fetch-block-size value="100" />
129
+        <fetch-timeout value="30" />
130
+        <trim-whitespaces value="true" />
131
+        <convert-empty-strings-to-null value="true" />
132
+        <select-content-on-cell-edit value="true" />
133
+        <large-value-preview-active value="true" />
134
+      </general>
135
+      <filters>
136
+        <prompt-filter-dialog value="true" />
137
+        <default-filter-type value="BASIC" />
138
+      </filters>
139
+      <qualified-text-editor text-length-threshold="300">
140
+        <content-types>
141
+          <content-type name="Text" enabled="true" />
142
+          <content-type name="Properties" enabled="true" />
143
+          <content-type name="XML" enabled="true" />
144
+          <content-type name="DTD" enabled="true" />
145
+          <content-type name="HTML" enabled="true" />
146
+          <content-type name="XHTML" enabled="true" />
147
+          <content-type name="Java" enabled="true" />
148
+          <content-type name="SQL" enabled="true" />
149
+          <content-type name="PL/SQL" enabled="true" />
150
+          <content-type name="JSON" enabled="true" />
151
+          <content-type name="JSON5" enabled="true" />
152
+          <content-type name="Groovy" enabled="true" />
153
+          <content-type name="AIDL" enabled="true" />
154
+          <content-type name="YAML" enabled="true" />
155
+          <content-type name="Manifest" enabled="true" />
156
+        </content-types>
157
+      </qualified-text-editor>
158
+      <record-navigation>
159
+        <navigation-target value="VIEWER" />
160
+      </record-navigation>
161
+    </dataset-editor-settings>
162
+    <code-editor-settings>
163
+      <general>
164
+        <show-object-navigation-gutter value="false" />
165
+        <show-spec-declaration-navigation-gutter value="true" />
166
+        <enable-spellchecking value="true" />
167
+        <enable-reference-spellchecking value="false" />
168
+      </general>
169
+      <confirmations>
170
+        <save-changes value="false" />
171
+        <revert-changes value="true" />
172
+        <exit-on-changes value="ASK" />
173
+      </confirmations>
174
+    </code-editor-settings>
175
+    <code-completion-settings>
176
+      <filters>
177
+        <basic-filter>
178
+          <filter-element type="RESERVED_WORD" id="keyword" selected="true" />
179
+          <filter-element type="RESERVED_WORD" id="function" selected="true" />
180
+          <filter-element type="RESERVED_WORD" id="parameter" selected="true" />
181
+          <filter-element type="RESERVED_WORD" id="datatype" selected="true" />
182
+          <filter-element type="RESERVED_WORD" id="exception" selected="true" />
183
+          <filter-element type="OBJECT" id="schema" selected="true" />
184
+          <filter-element type="OBJECT" id="role" selected="true" />
185
+          <filter-element type="OBJECT" id="user" selected="true" />
186
+          <filter-element type="OBJECT" id="privilege" selected="true" />
187
+          <user-schema>
188
+            <filter-element type="OBJECT" id="table" selected="true" />
189
+            <filter-element type="OBJECT" id="view" selected="true" />
190
+            <filter-element type="OBJECT" id="materialized view" selected="true" />
191
+            <filter-element type="OBJECT" id="index" selected="true" />
192
+            <filter-element type="OBJECT" id="constraint" selected="true" />
193
+            <filter-element type="OBJECT" id="trigger" selected="true" />
194
+            <filter-element type="OBJECT" id="synonym" selected="false" />
195
+            <filter-element type="OBJECT" id="sequence" selected="true" />
196
+            <filter-element type="OBJECT" id="procedure" selected="true" />
197
+            <filter-element type="OBJECT" id="function" selected="true" />
198
+            <filter-element type="OBJECT" id="package" selected="true" />
199
+            <filter-element type="OBJECT" id="type" selected="true" />
200
+            <filter-element type="OBJECT" id="dimension" selected="true" />
201
+            <filter-element type="OBJECT" id="cluster" selected="true" />
202
+            <filter-element type="OBJECT" id="dblink" selected="true" />
203
+          </user-schema>
204
+          <public-schema>
205
+            <filter-element type="OBJECT" id="table" selected="false" />
206
+            <filter-element type="OBJECT" id="view" selected="false" />
207
+            <filter-element type="OBJECT" id="materialized view" selected="false" />
208
+            <filter-element type="OBJECT" id="index" selected="false" />
209
+            <filter-element type="OBJECT" id="constraint" selected="false" />
210
+            <filter-element type="OBJECT" id="trigger" selected="false" />
211
+            <filter-element type="OBJECT" id="synonym" selected="false" />
212
+            <filter-element type="OBJECT" id="sequence" selected="false" />
213
+            <filter-element type="OBJECT" id="procedure" selected="false" />
214
+            <filter-element type="OBJECT" id="function" selected="false" />
215
+            <filter-element type="OBJECT" id="package" selected="false" />
216
+            <filter-element type="OBJECT" id="type" selected="false" />
217
+            <filter-element type="OBJECT" id="dimension" selected="false" />
218
+            <filter-element type="OBJECT" id="cluster" selected="false" />
219
+            <filter-element type="OBJECT" id="dblink" selected="false" />
220
+          </public-schema>
221
+          <any-schema>
222
+            <filter-element type="OBJECT" id="table" selected="true" />
223
+            <filter-element type="OBJECT" id="view" selected="true" />
224
+            <filter-element type="OBJECT" id="materialized view" selected="true" />
225
+            <filter-element type="OBJECT" id="index" selected="true" />
226
+            <filter-element type="OBJECT" id="constraint" selected="true" />
227
+            <filter-element type="OBJECT" id="trigger" selected="true" />
228
+            <filter-element type="OBJECT" id="synonym" selected="true" />
229
+            <filter-element type="OBJECT" id="sequence" selected="true" />
230
+            <filter-element type="OBJECT" id="procedure" selected="true" />
231
+            <filter-element type="OBJECT" id="function" selected="true" />
232
+            <filter-element type="OBJECT" id="package" selected="true" />
233
+            <filter-element type="OBJECT" id="type" selected="true" />
234
+            <filter-element type="OBJECT" id="dimension" selected="true" />
235
+            <filter-element type="OBJECT" id="cluster" selected="true" />
236
+            <filter-element type="OBJECT" id="dblink" selected="true" />
237
+          </any-schema>
238
+        </basic-filter>
239
+        <extended-filter>
240
+          <filter-element type="RESERVED_WORD" id="keyword" selected="true" />
241
+          <filter-element type="RESERVED_WORD" id="function" selected="true" />
242
+          <filter-element type="RESERVED_WORD" id="parameter" selected="true" />
243
+          <filter-element type="RESERVED_WORD" id="datatype" selected="true" />
244
+          <filter-element type="RESERVED_WORD" id="exception" selected="true" />
245
+          <filter-element type="OBJECT" id="schema" selected="true" />
246
+          <filter-element type="OBJECT" id="user" selected="true" />
247
+          <filter-element type="OBJECT" id="role" selected="true" />
248
+          <filter-element type="OBJECT" id="privilege" selected="true" />
249
+          <user-schema>
250
+            <filter-element type="OBJECT" id="table" selected="true" />
251
+            <filter-element type="OBJECT" id="view" selected="true" />
252
+            <filter-element type="OBJECT" id="materialized view" selected="true" />
253
+            <filter-element type="OBJECT" id="index" selected="true" />
254
+            <filter-element type="OBJECT" id="constraint" selected="true" />
255
+            <filter-element type="OBJECT" id="trigger" selected="true" />
256
+            <filter-element type="OBJECT" id="synonym" selected="true" />
257
+            <filter-element type="OBJECT" id="sequence" selected="true" />
258
+            <filter-element type="OBJECT" id="procedure" selected="true" />
259
+            <filter-element type="OBJECT" id="function" selected="true" />
260
+            <filter-element type="OBJECT" id="package" selected="true" />
261
+            <filter-element type="OBJECT" id="type" selected="true" />
262
+            <filter-element type="OBJECT" id="dimension" selected="true" />
263
+            <filter-element type="OBJECT" id="cluster" selected="true" />
264
+            <filter-element type="OBJECT" id="dblink" selected="true" />
265
+          </user-schema>
266
+          <public-schema>
267
+            <filter-element type="OBJECT" id="table" selected="true" />
268
+            <filter-element type="OBJECT" id="view" selected="true" />
269
+            <filter-element type="OBJECT" id="materialized view" selected="true" />
270
+            <filter-element type="OBJECT" id="index" selected="true" />
271
+            <filter-element type="OBJECT" id="constraint" selected="true" />
272
+            <filter-element type="OBJECT" id="trigger" selected="true" />
273
+            <filter-element type="OBJECT" id="synonym" selected="true" />
274
+            <filter-element type="OBJECT" id="sequence" selected="true" />
275
+            <filter-element type="OBJECT" id="procedure" selected="true" />
276
+            <filter-element type="OBJECT" id="function" selected="true" />
277
+            <filter-element type="OBJECT" id="package" selected="true" />
278
+            <filter-element type="OBJECT" id="type" selected="true" />
279
+            <filter-element type="OBJECT" id="dimension" selected="true" />
280
+            <filter-element type="OBJECT" id="cluster" selected="true" />
281
+            <filter-element type="OBJECT" id="dblink" selected="true" />
282
+          </public-schema>
283
+          <any-schema>
284
+            <filter-element type="OBJECT" id="table" selected="true" />
285
+            <filter-element type="OBJECT" id="view" selected="true" />
286
+            <filter-element type="OBJECT" id="materialized view" selected="true" />
287
+            <filter-element type="OBJECT" id="index" selected="true" />
288
+            <filter-element type="OBJECT" id="constraint" selected="true" />
289
+            <filter-element type="OBJECT" id="trigger" selected="true" />
290
+            <filter-element type="OBJECT" id="synonym" selected="true" />
291
+            <filter-element type="OBJECT" id="sequence" selected="true" />
292
+            <filter-element type="OBJECT" id="procedure" selected="true" />
293
+            <filter-element type="OBJECT" id="function" selected="true" />
294
+            <filter-element type="OBJECT" id="package" selected="true" />
295
+            <filter-element type="OBJECT" id="type" selected="true" />
296
+            <filter-element type="OBJECT" id="dimension" selected="true" />
297
+            <filter-element type="OBJECT" id="cluster" selected="true" />
298
+            <filter-element type="OBJECT" id="dblink" selected="true" />
299
+          </any-schema>
300
+        </extended-filter>
301
+      </filters>
302
+      <sorting enabled="true">
303
+        <sorting-element type="RESERVED_WORD" id="keyword" />
304
+        <sorting-element type="RESERVED_WORD" id="datatype" />
305
+        <sorting-element type="OBJECT" id="column" />
306
+        <sorting-element type="OBJECT" id="table" />
307
+        <sorting-element type="OBJECT" id="view" />
308
+        <sorting-element type="OBJECT" id="materialized view" />
309
+        <sorting-element type="OBJECT" id="index" />
310
+        <sorting-element type="OBJECT" id="constraint" />
311
+        <sorting-element type="OBJECT" id="trigger" />
312
+        <sorting-element type="OBJECT" id="synonym" />
313
+        <sorting-element type="OBJECT" id="sequence" />
314
+        <sorting-element type="OBJECT" id="procedure" />
315
+        <sorting-element type="OBJECT" id="function" />
316
+        <sorting-element type="OBJECT" id="package" />
317
+        <sorting-element type="OBJECT" id="type" />
318
+        <sorting-element type="OBJECT" id="dimension" />
319
+        <sorting-element type="OBJECT" id="cluster" />
320
+        <sorting-element type="OBJECT" id="dblink" />
321
+        <sorting-element type="OBJECT" id="schema" />
322
+        <sorting-element type="OBJECT" id="role" />
323
+        <sorting-element type="OBJECT" id="user" />
324
+        <sorting-element type="RESERVED_WORD" id="function" />
325
+        <sorting-element type="RESERVED_WORD" id="parameter" />
326
+      </sorting>
327
+      <format>
328
+        <enforce-code-style-case value="true" />
329
+      </format>
330
+    </code-completion-settings>
331
+    <execution-engine-settings>
332
+      <statement-execution>
333
+        <fetch-block-size value="100" />
334
+        <execution-timeout value="20" />
335
+        <debug-execution-timeout value="600" />
336
+        <focus-result value="false" />
337
+        <prompt-execution value="false" />
338
+      </statement-execution>
339
+      <script-execution>
340
+        <command-line-interfaces />
341
+        <execution-timeout value="300" />
342
+      </script-execution>
343
+      <method-execution>
344
+        <execution-timeout value="30" />
345
+        <debug-execution-timeout value="600" />
346
+        <parameter-history-size value="10" />
347
+      </method-execution>
348
+    </execution-engine-settings>
349
+    <operation-settings>
350
+      <transactions>
351
+        <uncommitted-changes>
352
+          <on-project-close value="ASK" />
353
+          <on-disconnect value="ASK" />
354
+          <on-autocommit-toggle value="ASK" />
355
+        </uncommitted-changes>
356
+        <multiple-uncommitted-changes>
357
+          <on-commit value="ASK" />
358
+          <on-rollback value="ASK" />
359
+        </multiple-uncommitted-changes>
360
+      </transactions>
361
+      <session-browser>
362
+        <disconnect-session value="ASK" />
363
+        <kill-session value="ASK" />
364
+        <reload-on-filter-change value="false" />
365
+      </session-browser>
366
+      <compiler>
367
+        <compile-type value="KEEP" />
368
+        <compile-dependencies value="ASK" />
369
+        <always-show-controls value="false" />
370
+      </compiler>
371
+    </operation-settings>
372
+    <ddl-file-settings>
373
+      <extensions>
374
+        <mapping file-type-id="VIEW" extensions="vw" />
375
+        <mapping file-type-id="TRIGGER" extensions="trg" />
376
+        <mapping file-type-id="PROCEDURE" extensions="prc" />
377
+        <mapping file-type-id="FUNCTION" extensions="fnc" />
378
+        <mapping file-type-id="PACKAGE" extensions="pkg" />
379
+        <mapping file-type-id="PACKAGE_SPEC" extensions="pks" />
380
+        <mapping file-type-id="PACKAGE_BODY" extensions="pkb" />
381
+        <mapping file-type-id="TYPE" extensions="tpe" />
382
+        <mapping file-type-id="TYPE_SPEC" extensions="tps" />
383
+        <mapping file-type-id="TYPE_BODY" extensions="tpb" />
384
+      </extensions>
385
+      <general>
386
+        <lookup-ddl-files value="true" />
387
+        <create-ddl-files value="false" />
388
+        <synchronize-ddl-files value="true" />
389
+        <use-qualified-names value="false" />
390
+        <make-scripts-rerunnable value="true" />
391
+      </general>
392
+    </ddl-file-settings>
393
+    <general-settings>
394
+      <regional-settings>
395
+        <date-format value="MEDIUM" />
396
+        <number-format value="UNGROUPED" />
397
+        <locale value="SYSTEM_DEFAULT" />
398
+        <use-custom-formats value="false" />
399
+      </regional-settings>
400
+      <environment>
401
+        <environment-types>
402
+          <environment-type id="development" name="Development" description="Development environment" color="-2430209/-12296320" readonly-code="false" readonly-data="false" />
403
+          <environment-type id="integration" name="Integration" description="Integration environment" color="-2621494/-12163514" readonly-code="true" readonly-data="false" />
404
+          <environment-type id="production" name="Production" description="Productive environment" color="-11574/-10271420" readonly-code="true" readonly-data="true" />
405
+          <environment-type id="other" name="Other" description="" color="-1576/-10724543" readonly-code="false" readonly-data="false" />
406
+        </environment-types>
407
+        <visibility-settings>
408
+          <connection-tabs value="true" />
409
+          <dialog-headers value="true" />
410
+          <object-editor-tabs value="true" />
411
+          <script-editor-tabs value="false" />
412
+          <execution-result-tabs value="true" />
413
+        </visibility-settings>
414
+      </environment>
415
+    </general-settings>
416
+  </component>
417
+</project>

+ 8 - 0
.idea/deploymentTargetSelector.xml

@@ -4,6 +4,14 @@
4 4
     <selectionStates>
5 5
       <SelectionState runConfigName="app">
6 6
         <option name="selectionMode" value="DROPDOWN" />
7
+        <DropdownSelection timestamp="2025-04-19T06:37:06.884508Z">
8
+          <Target type="DEFAULT_BOOT">
9
+            <handle>
10
+              <DeviceId pluginId="LocalEmulator" identifier="path=/Users/swj/.android/avd/Pixel4API30.avd" />
11
+            </handle>
12
+          </Target>
13
+        </DropdownSelection>
14
+        <DialogSelection />
7 15
       </SelectionState>
8 16
     </selectionStates>
9 17
   </component>

+ 2 - 2
.idea/gradle.xml

@@ -4,9 +4,9 @@
4 4
   <component name="GradleSettings">
5 5
     <option name="linkedExternalProjectsSettings">
6 6
       <GradleProjectSettings>
7
-        <option name="testRunner" value="CHOOSE_PER_TEST" />
7
+        <option name="testRunner" value="GRADLE" />
8 8
         <option name="externalProjectPath" value="$PROJECT_DIR$" />
9
-        <option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" />
9
+        <option name="gradleJvm" value="jbr-17" />
10 10
         <option name="modules">
11 11
           <set>
12 12
             <option value="$PROJECT_DIR$" />

+ 1 - 1
.idea/misc.xml

@@ -1,5 +1,5 @@
1 1
 <?xml version="1.0" encoding="UTF-8"?>
2 2
 <project version="4">
3 3
   <component name="ExternalStorageConfigurationManager" enabled="true" />
4
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="temurin-11" project-jdk-type="JavaSDK" />
4
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK" />
5 5
 </project>

+ 26 - 24
app/build.gradle

@@ -15,8 +15,6 @@ android {
15 15
         versionName "1.0"
16 16
 
17 17
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
18
-        //必须要保证所有的flavor 都属于同一个维度
19
-        flavorDimensions "default"
20 18
         ndk {
21 19
             //选择要添加的对应cpu类型的.so库。
22 20
             //热修复支持五种
@@ -35,7 +33,7 @@ android {
35 33
         targetCompatibility JavaVersion.VERSION_11
36 34
     }
37 35
     viewBinding {
38
-        enabled = true;
36
+        enabled = true
39 37
     }
40 38
 
41 39
     dependenciesInfo {
@@ -43,7 +41,7 @@ android {
43 41
         includeInApk false
44 42
     }
45 43
 
46
-    applicationVariants.all { variant ->
44
+    applicationVariants.configureEach { variant ->
47 45
         variant.outputs.all { output ->
48 46
             def outputFile = output.outputFile
49 47
             if (outputFile != null && outputFile.name.endsWith('.apk')) {
@@ -52,24 +50,36 @@ android {
52 50
 //                def fileName = outputFile.name.replace(".apk", ".apk")
53 51
 //                outputFileName = fileName
54 52
                 //Cxb_xiaomi_20200808_V3.0.0.apk
55
-                def fileName = outputFile.name.replace("app-", "").replace("-release.apk", "");
56
-                outputFileName = "Cxb_" + fileName + "_" + new Date().format("yyyyMMdd") + "_V" + defaultConfig.versionName + ".apk"
53
+                def fileName = outputFile.name.replace("app-", "").replace("-release.apk", "")
54
+                outputFileName = "XFB_" + fileName + "_" + new Date().format("yyyyMMdd") + "_V" + defaultConfig.versionName + ".apk"
57 55
             }
58 56
         }
59 57
     }
60 58
     signingConfigs {
61 59
         debug {
60
+            storeFile file('yihucha.keystore')
61
+            storePassword "yihucha123"
62
+            keyAlias "yihucha"
63
+            keyPassword "yihucha123"
64
+        }
65
+        release {
66
+            storeFile file('yihucha.keystore')
67
+            storePassword "yihucha123"
68
+            keyAlias "yihucha"
69
+            keyPassword "yihucha123"
70
+        }
71
+/*        debug {
62 72
             storeFile file('chuxubao.keystore')
63 73
             storePassword "tdba123"
64 74
             keyAlias "chuxubao"
65 75
             keyPassword "tdba123"
66
-        }
76
+        }*/
67 77
     }
68 78
 }
69 79
 
70 80
 dependencies {
71 81
     configurations {
72
-        all {
82
+        configureEach {
73 83
             exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel-ktx'
74 84
         }
75 85
     }
@@ -84,12 +94,12 @@ dependencies {
84 94
     implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
85 95
     implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.3.1'
86 96
     implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1'
87
-    implementation 'androidx.navigation:navigation-fragment:2.3.5'
88
-    implementation 'androidx.navigation:navigation-ui:2.3.5'
89
-    implementation 'org.chromium.net:cronet-api:76.3809.111'
97
+//    implementation 'androidx.navigation:navigation-fragment:2.3.5'
98
+//    implementation 'androidx.navigation:navigation-ui:2.3.5'
99
+//    implementation 'org.chromium.net:cronet-api:76.3809.111'
90 100
 
91 101
 
92
-    implementation(fileTree("libs"));
102
+    implementation(fileTree("libs"))
93 103
 
94 104
 
95 105
     //图片加载框架
@@ -97,8 +107,6 @@ dependencies {
97 107
 //    https://github.com/bumptech/glide
98 108
     api 'com.github.bumptech.glide:glide:4.12.0'
99 109
     annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
100
-    //Glide 用到的 BitmapTransformation
101
-    //https://github.com/wasabeef/glide-transformations
102 110
     api 'jp.wasabeef:glide-transformations:4.3.0'
103 111
     //微信
104 112
 //    api 'com.tencent.mm.opensdk:wechat-sdk-android:+'
@@ -124,7 +132,7 @@ dependencies {
124 132
     implementation 'io.github.youth5201314:banner:2.2.2'
125 133
     //刷新
126 134
     implementation 'com.lcodecorex:tkrefreshlayout:1.0.7'
127
-//AndroidUtilCode
135
+//AndroidUtilCode  包含常用工具库
128 136
     implementation 'com.blankj:utilcodex:1.31.0'
129 137
     //状态栏
130 138
 // After AndroidX
@@ -134,13 +142,13 @@ dependencies {
134 142
     })
135 143
     //适配器
136 144
     implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.30'
137
-    //搜索历史
145
+    //搜索历史 流式布局 tab选项
138 146
 //    implementation 'com.hyman:flowlayout-lib:1.1.2'
139 147
     implementation project(':flowlayout-lib')
140 148
     //json
141 149
     implementation 'com.alibaba:fastjson:1.1.54.android'
142 150
     //视频播放 https://www.jianshu.com/p/8f1af9790c69
143
-    implementation 'cn.jzvd:jiaozivideoplayer:6.2.12'
151
+//    implementation 'cn.jzvd:jiaozivideoplayer:6.2.12'
144 152
     //瀑布流LayoutManager
145 153
     implementation 'com.google.android.flexbox:flexbox:3.0.0'
146 154
     //okhttp网络下载
@@ -151,10 +159,6 @@ dependencies {
151 159
     implementation 'com.github.liys666666:LDialog:V2.1.2'
152 160
     //事件传递
153 161
     implementation 'org.greenrobot:eventbus:3.0.0'
154
-    //照相图片选择
155
-//    implementation 'com.github.HuanTanSheng:EasyPhotos:3.1.5'  //androidx版本,支持android 10、11,永久维护
156
-    //滑动选择器
157
-//    implementation 'com.contrarywind:wheelview:4.1.0'
158 162
     //时间选择器
159 163
     implementation 'com.contrarywind:Android-PickerView:4.1.9'
160 164
     //评分
@@ -175,14 +179,12 @@ dependencies {
175 179
     implementation 'androidx.work:work-runtime:2.7.1'
176 180
     //二维码
177 181
     implementation 'com.google.zxing:core:3.3.0'
178
-    //类似酒店入驻时间选择器
179
-//    implementation 'com.github.atuan07:CustomHotelCalender:V1.0.2'
180 182
     //日历选择开始和结束时间
181 183
     implementation 'com.github.TurnTears:CalendarRangeSelect:1.1.1'
182 184
     //京东联盟
183 185
     api project(':jd_sdk_lib')
184 186
     //穿山甲
185
-    implementation 'com.pangle.cn:ads-sdk-pro:4.4.0.9'
187
+//    implementation 'com.pangle.cn:ads-sdk-pro:4.4.0.9'
186 188
 // 友盟基础组件库(所有友盟业务SDK都依赖基础组件库)
187 189
     implementation 'com.umeng.umsdk:common:9.5.2'// (必选)
188 190
     implementation 'com.umeng.umsdk:asms:1.6.3'// 必选

+ 127 - 23
app/src/main/AndroidManifest.xml

@@ -5,6 +5,7 @@
5 5
 
6 6
     <queries>
7 7
         <package android:name="com.tencent.mm" />
8
+        <package android:name="com.laolaixiang.bjtdba" />
8 9
     </queries>
9 10
 
10 11
     <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <!-- 网络权限 -->
@@ -38,23 +39,22 @@
38 39
     <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <!-- 切换网络通道 -->
39 40
     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <!-- 开关Wi-Fi状态,解决国内机型移动网络权限问题需要 -->
40 41
     <permission-group android:name=".andpermission" /> <!-- 必要权限,解决安全风险漏洞,发送和注册广播事件需要调用带有传递权限的接口 -->
41
-    <permission
42
-        android:name="com.yihucha.hbyhc.openadsdk.permission.TT_PANGOLIN"
43
-        android:protectionLevel="signature" />
42
+    <uses-feature
43
+        android:name="android.hardware.camera"
44
+        android:required="false" />
45
+    <uses-feature
46
+        android:name="android.hardware.telephony"
47
+        android:required="false" />
44 48
 
45
-    <uses-permission android:name="com.yihucha.hbyhc.openadsdk.permission.TT_PANGOLIN" /> <!-- 可选权限 -->
46 49
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
47 50
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
48 51
     <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
49
-    <uses-permission android:name="android.permission.GET_TASKS" /> <!-- 可选,穿山甲提供“获取地理位置权限”和“不给予地理位置权限,开发者传入地理位置参数”两种方式上报用户位置,两种方式均可不选,添加位置权限或参数将帮助投放定位广告 -->
50
-    <!-- 请注意:无论通过何种方式提供给穿山甲用户地理位置,均需向用户声明地理位置权限将应用于穿山甲广告投放,穿山甲不强制获取地理位置信息 -->
51 52
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- 如果视频广告使用textureView播放,请务必添加,否则黑屏 -->
52 53
     <uses-permission android:name="android.permission.WAKE_LOCK" /> <!-- demo场景用到的权限,不是必须的 -->
53 54
     <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
54 55
     <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
55
-    <uses-permission android:name="android.permission.EXPAND_STATUS_BAR" /> <!-- 穿山甲3400版本新增:建议添加“query_all_package”权限,穿山甲将通过此权限在Android R系统上判定广告对应的应用是否在用户的app上安装,避免投放错误的广告,以此提高用户的广告体验。若添加此权限,需要在您的用户隐私文档中声明! -->
56 56
     <!--
57
-<uses-permission
57
+        <uses-permission
58 58
         android:name="android.permission.QUERY_ALL_PACKAGES"
59 59
         tools:ignore="QueryAllPackagesPermission" />
60 60
     -->
@@ -68,20 +68,124 @@
68 68
         android:allowBackup="true"
69 69
         android:dataExtractionRules="@xml/data_extraction_rules"
70 70
         android:fullBackupContent="@xml/backup_rules"
71
-        android:icon="@mipmap/logo_220607"
71
+        android:icon="@mipmap/logo"
72 72
         android:label="@string/app_name"
73 73
         android:networkSecurityConfig="@xml/network_security_config"
74
-        android:roundIcon="@mipmap/ic_launcher_round"
74
+        android:requestLegacyExternalStorage="true"
75 75
         android:supportsRtl="true"
76 76
         android:theme="@style/TranslucentTheme"
77 77
         android:usesCleartextTraffic="true"
78 78
         tools:replace="android:theme"
79 79
         tools:targetApi="31">
80 80
         <activity
81
+            android:name=".presentation.login.PhoneSettingActivity"
82
+            android:exported="false" />
83
+        <activity
84
+            android:name=".presentation.pyyx.activity.MovieHomeActivity"
85
+            android:exported="false" />
86
+        <activity
87
+            android:name=".presentation.pyyx.activity.MerActivity"
88
+            android:exported="false" />
89
+        <activity
90
+            android:name=".presentation.pyyx.activity.SXYDetailActivity"
91
+            android:exported="false"
92
+            android:label="详情" />
93
+        <activity
94
+            android:name=".presentation.pyyx.activity.SXYActivity"
95
+            android:exported="false"
96
+            android:label="商学院" />
97
+        <activity
98
+            android:name=".presentation.pyyx.activity.TranVRRecordActivity"
99
+            android:exported="false"
100
+            android:label="佣金转VR记录" />
101
+        <activity
102
+            android:name=".presentation.pyyx.activity.RecordDetailActivity"
103
+            android:exported="false"
104
+            android:label="充值记录详情" />
105
+        <activity
106
+            android:name=".presentation.pyyx.activity.RechargeRecordActivity"
107
+            android:exported="false"
108
+            android:label="充值记录"
109
+            android:launchMode="singleTask" />
110
+        <activity
111
+            android:name=".presentation.pyyx.activity.ActivityPhoneRecharge"
112
+            android:exported="false"
113
+            android:launchMode="singleTop" />
114
+        <activity
115
+            android:name=".presentation.login.PwdSettingActivity"
116
+            android:exported="false"
117
+            android:label="密码设置" />
118
+        <activity
119
+            android:name=".presentation.pyyx.activity.JDouActivity"
120
+            android:exported="false" />
121
+        <activity
122
+            android:name=".presentation.pyyx.activity.HBActivity"
123
+            android:exported="false" />
124
+        <activity
125
+            android:name=".presentation.pyyx.activity.GXZActivity"
126
+            android:exported="false" />
127
+        <activity
128
+            android:name=".presentation.pyyx.activity.FGJActivity"
129
+            android:exported="false" />
130
+        <activity
131
+            android:name=".presentation.pyyx.activity.VRActivity"
132
+            android:exported="false" />
133
+        <activity
134
+            android:name=".presentation.pyyx.activity.MyGongxianzhiActivity"
135
+            android:exported="false"
136
+            android:label="" />
137
+        <activity
138
+            android:name=".presentation.pyyx.activity.MyJiFenActivity"
139
+            android:exported="false"
140
+            android:label="" />
141
+        <activity
142
+            android:name=".presentation.pyyx.activity.PyyxProductDetailActivity"
143
+            android:exported="false"
144
+            android:label="店铺管理"
145
+            android:launchMode="singleTask"
146
+            android:screenOrientation="portrait" />
147
+        <activity
148
+            android:name=".presentation.pyyx.activity.ShopManagerActivity"
149
+            android:exported="false" />
150
+        <activity
151
+            android:name=".presentation.pyyx.activity.DYActivity"
152
+            android:exported="false" />
153
+        <activity
154
+            android:name=".presentation.pyyx.activity.JDActivity"
155
+            android:exported="false" />
156
+        <activity
157
+            android:name=".presentation.pyyx.activity.PDDActivity"
158
+            android:exported="false" />
159
+        <activity
160
+            android:name=".presentation.pyyx.activity.SNActivity"
161
+            android:exported="false" />
162
+        <activity
163
+            android:name=".presentation.pyyx.activity.VIPActivity"
164
+            android:exported="false" />
165
+        <activity
166
+            android:name=".presentation.pyyx.activity.TBActivity"
167
+            android:exported="false" /> <!-- 平易优选启动页(首页) -->
168
+        <activity
169
+            android:name=".presentation.pyyx.activity.FGQActivity"
170
+            android:exported="false"
171
+            android:label="复购区" />
172
+        <activity
173
+            android:name=".presentation.pyyx.activity.SMQActivity"
174
+            android:exported="false"
175
+            android:label="商贸专区" />
176
+        <activity
177
+            android:name=".presentation.pyyx.activity.JCSHActivity"
178
+            android:exported="false"
179
+            android:label="精彩生活" />
180
+        <activity
181
+            android:name=".presentation.pyyx.PyyxMainActivity"
182
+            android:exported="false"
183
+            android:launchMode="singleTask"
184
+            android:screenOrientation="portrait" />
185
+        <activity
81 186
             android:name=".presentation.invitation.AddBankCardActivity"
82 187
             android:exported="false"
83
-            android:label="添加银行卡"
84
-            />
188
+            android:label="添加银行卡" />
85 189
         <activity
86 190
             android:name=".presentation.pay.ShareFriendsPayActivity"
87 191
             android:exported="false"
@@ -105,7 +209,7 @@
105 209
         <activity
106 210
             android:name=".presentation.mine.MyTeamActivity"
107 211
             android:exported="false"
108
-            android:label="我的团队" />
212
+            android:label="我的部门" />
109 213
         <activity
110 214
             android:name=".presentation.mine.TiXianRecordActivity"
111 215
             android:exported="false"
@@ -644,6 +748,11 @@
644 748
             android:launchMode="singleTask"
645 749
             android:screenOrientation="portrait" />
646 750
         <activity
751
+            android:name=".presentation.pyyx.activity.ThirdPartProductDetailActivity"
752
+            android:label=""
753
+            android:launchMode="singleTask"
754
+            android:screenOrientation="portrait" />
755
+        <activity
647 756
             android:name=".presentation.product.OtherMerchandiseDetailsActivity"
648 757
             android:label=""
649 758
             android:launchMode="singleTask"
@@ -697,24 +806,19 @@
697 806
             android:name=".presentation.login.ali.OneKeyLoginActivity"
698 807
             android:configChanges="orientation|keyboardHidden|screenSize|uiMode|fontScale"
699 808
             android:screenOrientation="sensorPortrait" /> <!-- 拍照用得 -->
809
+        <activity android:name=".presentation.mine.ChangePhoneActivity"
810
+            android:label="@string/set_phone"
811
+            android:exported="true"
812
+            android:launchMode="singleTask"/>
700 813
         <provider
701 814
             android:name="androidx.core.content.FileProvider"
702
-            android:authorities=".fileprovider"
815
+            android:authorities="com.yihucha.hbyhc.fileprovider2"
703 816
             android:exported="false"
704 817
             android:grantUriPermissions="true">
705 818
             <meta-data
706 819
                 android:name="android.support.FILE_PROVIDER_PATHS"
707 820
                 android:resource="@xml/file_paths_public" />
708 821
         </provider>
709
-        <provider
710
-            android:name="com.bytedance.sdk.openadsdk.TTFileProvider"
711
-            android:authorities=".TTFileProvider"
712
-            android:exported="false"
713
-            android:grantUriPermissions="true">
714
-            <meta-data
715
-                android:name="android.support.FILE_PROVIDER_PATHS"
716
-                android:resource="@xml/file_paths" />
717
-        </provider>
718 822
     </application>
719 823
 
720 824
 </manifest>

Datei-Diff unterdrückt, da er zu groß ist
+ 1 - 1
app/src/main/java/com/yihucha/hbyhc/alipay/AuthResult.java


+ 7 - 7
app/src/main/java/com/yihucha/hbyhc/alipay/Base64.java

@@ -9,9 +9,9 @@ public final class Base64 {
9 9
 	private static final int SIXTEENBIT = 16;
10 10
 	private static final int FOURBYTE = 4;
11 11
 	private static final int SIGN = -128;
12
-	private static char PAD = '=';
13
-	private static byte[] base64Alphabet = new byte[BASELENGTH];
14
-	private static char[] lookUpBase64Alphabet = new char[LOOKUPLENGTH];
12
+	private static final char PAD = '=';
13
+	private static final byte[] base64Alphabet = new byte[BASELENGTH];
14
+	private static final char[] lookUpBase64Alphabet = new char[LOOKUPLENGTH];
15 15
 
16 16
 	static {
17 17
 		for (int i = 0; i < BASELENGTH; ++i) {
@@ -42,8 +42,8 @@ public final class Base64 {
42 42
 		for (int i = 52, j = 0; i <= 61; i++, j++) {
43 43
 			lookUpBase64Alphabet[i] = (char) ('0' + j);
44 44
 		}
45
-		lookUpBase64Alphabet[62] = (char) '+';
46
-		lookUpBase64Alphabet[63] = (char) '/';
45
+		lookUpBase64Alphabet[62] = '+';
46
+		lookUpBase64Alphabet[63] = '/';
47 47
 
48 48
 	}
49 49
 
@@ -81,7 +81,7 @@ public final class Base64 {
81 81
 		int numberTriplets = lengthDataBits / TWENTYFOURBITGROUP;
82 82
 		int numberQuartet = fewerThan24bits != 0 ? numberTriplets + 1
83 83
 				: numberTriplets;
84
-		char encodedData[] = null;
84
+		char[] encodedData = null;
85 85
 
86 86
 		encodedData = new char[numberQuartet * 4];
87 87
 
@@ -169,7 +169,7 @@ public final class Base64 {
169 169
 			return new byte[0];
170 170
 		}
171 171
 
172
-		byte decodedData[] = null;
172
+		byte[] decodedData = null;
173 173
 		byte b1 = 0, b2 = 0, b3 = 0, b4 = 0;
174 174
 		char d1 = 0, d2 = 0, d3 = 0, d4 = 0;
175 175
 

+ 3 - 5
app/src/main/java/com/yihucha/hbyhc/alipay/PayDemoActivity.java

@@ -8,7 +8,6 @@ import android.content.Intent;
8 8
 import android.os.Bundle;
9 9
 import android.os.Handler;
10 10
 import android.os.Message;
11
-
12 11
 import android.text.TextUtils;
13 12
 import android.util.Log;
14 13
 import android.view.View;
@@ -23,7 +22,6 @@ import com.yihucha.hbyhc.R;
23 22
 import com.yihucha.hbyhc.alipay.util.OrderInfoUtil2_0;
24 23
 import com.yihucha.hbyhc.presentation.pay.PaySucceedActivity;
25 24
 
26
-
27 25
 import java.util.Map;
28 26
 
29 27
 /**
@@ -76,7 +74,7 @@ public class PayDemoActivity extends AppCompatActivity {
76 74
 	private static final int SDK_AUTH_FLAG = 2;
77 75
 
78 76
 	@SuppressLint("HandlerLeak")
79
-	private Handler mHandler = new Handler() {
77
+	private final Handler mHandler = new Handler() {
80 78
 		@SuppressWarnings("unused")
81 79
 		public void handleMessage(Message msg) {
82 80
 			switch (msg.what) {
@@ -119,8 +117,8 @@ public class PayDemoActivity extends AppCompatActivity {
119 117
 			default:
120 118
 				break;
121 119
 			}
122
-		};
123
-	};
120
+		}
121
+    };
124 122
 
125 123
 	@Override
126 124
 	protected void onCreate(Bundle savedInstanceState) {

+ 23 - 96
app/src/main/java/com/yihucha/hbyhc/application/MyApplication.java

@@ -12,13 +12,16 @@ import android.view.WindowManager;
12 12
 import android.webkit.WebView;
13 13
 
14 14
 import com.blankj.utilcode.util.Utils;
15
-import com.bytedance.sdk.openadsdk.TTAdConfig;
16
-import com.bytedance.sdk.openadsdk.TTAdConstant;
17
-import com.bytedance.sdk.openadsdk.TTAdSdk;
18 15
 import com.hjq.toast.Toaster;
19 16
 import com.kepler.jd.Listener.AsyncInitListener;
20 17
 import com.kepler.jd.login.KeplerApiManager;
21
-import com.yihucha.hbyhc.callback.AgreeToADealListener;
18
+import com.lcodecore.tkrefreshlayout.TwinklingRefreshLayout;
19
+import com.tencent.mm.opensdk.openapi.IWXAPI;
20
+import com.tencent.mm.opensdk.openapi.WXAPIFactory;
21
+import com.tencent.mmkv.MMKV;
22
+import com.umeng.commonsdk.UMConfigure;
23
+import com.umeng.socialize.PlatformConfig;
24
+import com.xunmeng.duoduojinbao.JinbaoUtil;
22 25
 import com.yihucha.hbyhc.config.Constants;
23 26
 import com.yihucha.hbyhc.manager.AgreeToADealManager;
24 27
 import com.yihucha.hbyhc.network.NetworkApi;
@@ -27,13 +30,6 @@ import com.yihucha.hbyhc.utils.LogUtil;
27 30
 import com.yihucha.hbyhc.utils.MVUtils;
28 31
 import com.yihucha.hbyhc.utils.pic33.ActivityCallBacks;
29 32
 import com.yihucha.hbyhc.view.CustomHeader;
30
-import com.lcodecore.tkrefreshlayout.TwinklingRefreshLayout;
31
-import com.tencent.mm.opensdk.openapi.IWXAPI;
32
-import com.tencent.mm.opensdk.openapi.WXAPIFactory;
33
-import com.tencent.mmkv.MMKV;
34
-import com.umeng.commonsdk.UMConfigure;
35
-import com.umeng.socialize.PlatformConfig;
36
-import com.xunmeng.duoduojinbao.JinbaoUtil;
37 33
 
38 34
 import org.litepal.LitePal;
39 35
 
@@ -58,9 +54,12 @@ public class MyApplication extends Application {
58 54
     /**
59 55
      * 京东联盟
60 56
      */
61
-    public static final String appKey = "ea33c2c3eacb3dd06aaa9633e8cf2ae6";
57
+/*    public static final String appKey = "ea33c2c3eacb3dd06aaa9633e8cf2ae6";
62 58
     public static final String keySecret = "67152015a9004f1188a69bf87e16e9c6";
63
-    public static final String jdId = "4100873178";
59
+    public static final String jdId = "4100873178";*/
60
+    public static final String appKey = "e99703d01cbb6a2e48a8a34f19af9d87";
61
+    public static final String keySecret = "cea7578d5a314ef88086daa4ee3a5b4d";
62
+    public static final String jdId = "4101490811";
64 63
 
65 64
     /**
66 65
      * 获取屏幕的宽
@@ -156,96 +155,24 @@ public class MyApplication extends Application {
156 155
 
157 156
         // 微信设置
158 157
         PlatformConfig.setWeixin(Constants.WX_APP_ID, Constants.WX_APP_SECRET);
159
-        PlatformConfig.setWXFileProvider("com.laolaixiang.bjtdba.fileprovider");
160
-
161
-        AgreeToADealManager.addListener("", new AgreeToADealListener() {
162
-            @Override
163
-            public void successful() {
164
-                if (MVUtils.getString(Constants.AGREE_TO_THE_PRIVACY).equals("1")) {
165
-                    LogUtil.LogInfo("UMConfigure", "1111");
166
-                    //友盟正式初始化
167
-                    //appkey和channl必须保持和预初始化一致!!!
168
-                    //
169
-                    //deviceType:设备类型,UMConfigure.DEVICE_TYPE_PHONE为手机、UMConfigure.DEVICE_TYPE_BOX为盒子
170
-                    //
171
-                    //pushSecret:Push推送业务的secret
172
-                    UMConfigure.init(instance, Constants.UM_KEY, getChannel(), UMConfigure.DEVICE_TYPE_PHONE, "");
173
-                    UMConfigure.setLogEnabled(true);
174
-                    LogUtil.LogInfo("UMConfigure", "UMConfigure");
175
-                    //穿山甲初始化
176
-                    //强烈建议在应用对应的Application#onCreate()方法中调用,避免出现content为null的异常
177
-                    TTAdSdk.init(context,
178
-                            new TTAdConfig.Builder()
179
-                                    .appId(Constants.PANGOLIN_APPID)
180
-                                    .useTextureView(true) //默认使用SurfaceView播放视频广告,当有SurfaceView冲突的场景,可以使用TextureView
181
-                                    .appName("一壶茶")
182
-                                    .titleBarTheme(TTAdConstant.TITLE_BAR_THEME_DARK)//落地页主题
183
-                                    .allowShowNotify(true) //是否允许sdk展示通知栏提示,若设置为false则会导致通知栏不显示下载进度
184
-                                    .debug(true) //测试阶段打开,可以通过日志排查问题,上线时去除该调用
185
-                                    .directDownloadNetworkType(TTAdConstant.NETWORK_STATE_WIFI) //允许直接下载的网络状态集合,没有设置的网络下点击下载apk会有二次确认弹窗,弹窗中会披露应用信息
186
-                                    .supportMultiProcess(false) //是否支持多进程,true支持
187
-                                    .asyncInit(true) //是否异步初始化sdk,设置为true可以减少SDK初始化耗时。3450版本开始废弃~~
188
-                                    //.httpStack(new MyOkStack3())//自定义网络库,demo中给出了okhttp3版本的样例,其余请自行开发或者咨询工作人员。
189
-                                    .build(), new TTAdSdk.InitCallback() {
190
-                                @Override
191
-                                public void success() {
192
-                                    LogUtil.LogError("TTAdSdk", "初始化成功");
193
-                                }
194
-
195
-                                @Override
196
-                                public void fail(int i, String s) {
197
-                                    LogUtil.LogError("TTAdSdk", "初始化失败:" + s);
198
-                                }
199
-                            });
200
-                }
201
-
202
-                //拼多多
203
-                JinbaoUtil.init(instance, new JinbaoUtil.IOnInitCallback() {
204
-                    @Override
205
-                    public void onInitEnd(boolean b) {
206
-                        LogUtil.LogInfo("JinbaoUtil", b + "");
207
-                    }
208
-                });
209
-
158
+        PlatformConfig.setWXFileProvider(Constants.FILE_PROVIDER);
159
+
160
+        AgreeToADealManager.addListener("", () -> {
161
+            if (MVUtils.getString(Constants.AGREE_TO_THE_PRIVACY).equals("1")) {
162
+                LogUtil.LogInfo("UMConfigure", "1111");
163
+                UMConfigure.init(instance, Constants.UM_KEY, getChannel(), UMConfigure.DEVICE_TYPE_PHONE, "");
164
+                UMConfigure.setLogEnabled(true);
165
+                LogUtil.LogInfo("UMConfigure", "UMConfigure");
210 166
             }
167
+
168
+            //拼多多
169
+            JinbaoUtil.init(instance, b -> LogUtil.LogInfo("JinbaoUtil", b + ""));
211 170
         });
212 171
         if (MVUtils.getString(Constants.AGREE_TO_THE_PRIVACY).equals("1")) {
213 172
             LogUtil.LogInfo("UMConfigure", "1111");
214
-            //友盟正式初始化
215
-            //appkey和channl必须保持和预初始化一致!!!
216
-            //
217
-            //deviceType:设备类型,UMConfigure.DEVICE_TYPE_PHONE为手机、UMConfigure.DEVICE_TYPE_BOX为盒子
218
-            //
219
-            //pushSecret:Push推送业务的secret
220 173
             UMConfigure.init(instance, Constants.UM_KEY, getChannel(), UMConfigure.DEVICE_TYPE_PHONE, "");
221 174
             UMConfigure.setLogEnabled(true);
222 175
             LogUtil.LogInfo("UMConfigure", "UMConfigure");
223
-            //穿山甲初始化
224
-            //强烈建议在应用对应的Application#onCreate()方法中调用,避免出现content为null的异常
225
-            TTAdSdk.init(context,
226
-                    new TTAdConfig.Builder()
227
-                            .appId(Constants.PANGOLIN_APPID)
228
-                            .useTextureView(true) //默认使用SurfaceView播放视频广告,当有SurfaceView冲突的场景,可以使用TextureView
229
-                            .appName("一壶茶")
230
-                            .titleBarTheme(TTAdConstant.TITLE_BAR_THEME_DARK)//落地页主题
231
-                            .allowShowNotify(true) //是否允许sdk展示通知栏提示,若设置为false则会导致通知栏不显示下载进度
232
-                            .debug(true) //测试阶段打开,可以通过日志排查问题,上线时去除该调用
233
-                            .directDownloadNetworkType(TTAdConstant.NETWORK_STATE_WIFI) //允许直接下载的网络状态集合,没有设置的网络下点击下载apk会有二次确认弹窗,弹窗中会披露应用信息
234
-                            .supportMultiProcess(false) //是否支持多进程,true支持
235
-                            .asyncInit(true) //是否异步初始化sdk,设置为true可以减少SDK初始化耗时。3450版本开始废弃~~
236
-                            //.httpStack(new MyOkStack3())//自定义网络库,demo中给出了okhttp3版本的样例,其余请自行开发或者咨询工作人员。
237
-                            .build(), new TTAdSdk.InitCallback() {
238
-                        @Override
239
-                        public void success() {
240
-                            LogUtil.LogError("TTAdSdk", "初始化成功");
241
-                        }
242
-
243
-                        @Override
244
-                        public void fail(int i, String s) {
245
-                            LogUtil.LogError("TTAdSdk", "初始化失败:" + s);
246
-                        }
247
-                    });
248
-
249 176
             //拼多多
250 177
             JinbaoUtil.init(instance, new JinbaoUtil.IOnInitCallback() {
251 178
                 @Override

+ 2 - 2
app/src/main/java/com/yihucha/hbyhc/base/ActivityStack.java

@@ -12,9 +12,9 @@ import java.util.Stack;
12 12
  */
13 13
 public class ActivityStack {
14 14
 
15
-    private static Stack<Activity> mActivityStack = new Stack<Activity>();
15
+    private static final Stack<Activity> mActivityStack = new Stack<Activity>();
16 16
 
17
-    private static ActivityStack instance = new ActivityStack();
17
+    private static final ActivityStack instance = new ActivityStack();
18 18
 
19 19
     private ActivityStack() {
20 20
     }

+ 11 - 0
app/src/main/java/com/yihucha/hbyhc/base/BaseActivity.java

@@ -2,6 +2,7 @@ package com.yihucha.hbyhc.base;
2 2
 
3 3
 import android.app.Activity;
4 4
 import android.app.Dialog;
5
+import android.content.Context;
5 6
 import android.content.pm.ActivityInfo;
6 7
 import android.os.Build;
7 8
 import android.os.Bundle;
@@ -40,6 +41,7 @@ public abstract class BaseActivity extends AppCompatActivity  {
40 41
     @Override
41 42
     protected void onCreate(@Nullable Bundle savedInstanceState) {
42 43
         super.onCreate(savedInstanceState);
44
+        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
43 45
         setStatusBar();
44 46
         this.context = this;
45 47
         // 加入stack
@@ -180,6 +182,15 @@ public abstract class BaseActivity extends AppCompatActivity  {
180 182
         return flag;
181 183
     }
182 184
 
185
+    public static int getStatusBarHeight(Context context) {
186
+        int result = 0;
187
+        int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android");
188
+        if (resourceId > 0) {
189
+            result = context.getResources().getDimensionPixelSize(resourceId);
190
+        }
191
+        return result;
192
+    }
193
+
183 194
     @Override
184 195
     protected void onDestroy() {
185 196
         super.onDestroy();

+ 0 - 2
app/src/main/java/com/yihucha/hbyhc/base/BaseFragment.java

@@ -2,8 +2,6 @@ package com.yihucha.hbyhc.base;
2 2
 
3 3
 import androidx.fragment.app.Fragment;
4 4
 
5
-import com.yihucha.hbyhc.R;
6
-
7 5
 
8 6
 /**
9 7
  * 基类Fragment,普通Fragment继承即可。

+ 0 - 2
app/src/main/java/com/yihucha/hbyhc/base/BaseViewModel.java

@@ -3,8 +3,6 @@ package com.yihucha.hbyhc.base;
3 3
 import androidx.lifecycle.MutableLiveData;
4 4
 import androidx.lifecycle.ViewModel;
5 5
 
6
-import com.yihucha.hbyhc.R;
7
-
8 6
 /**
9 7
  * @author qmzh
10 8
  * @date 2022/6/15

+ 5 - 4
app/src/main/java/com/yihucha/hbyhc/base/H5TitleActivity.java

@@ -26,6 +26,8 @@ import com.github.lzyzsd.jsbridge.BridgeHandler;
26 26
 import com.github.lzyzsd.jsbridge.BridgeWebView;
27 27
 import com.github.lzyzsd.jsbridge.BridgeWebViewClient;
28 28
 import com.github.lzyzsd.jsbridge.CallBackFunction;
29
+import com.yihucha.hbyhc.wxapi.WeChatShareUtils;
30
+import com.tencent.mm.opensdk.modelmsg.SendMessageToWX;
29 31
 import com.yihucha.hbyhc.R;
30 32
 import com.yihucha.hbyhc.base.h5_bean.CopyTextBean;
31 33
 import com.yihucha.hbyhc.base.h5_bean.H5DCShareBean;
@@ -57,8 +59,6 @@ import com.yihucha.hbyhc.utils.PermissionUtils;
57 59
 import com.yihucha.hbyhc.utils.Tools;
58 60
 import com.yihucha.hbyhc.view.CustomDialog;
59 61
 import com.yihucha.hbyhc.view.ShowLoadingDialog;
60
-import com.yihucha.hbyhc.wxapi.WeChatShareUtils;
61
-import com.tencent.mm.opensdk.modelmsg.SendMessageToWX;
62 62
 
63 63
 import java.io.File;
64 64
 
@@ -109,6 +109,7 @@ public class H5TitleActivity extends TitleBaseActivity {
109 109
         });
110 110
 
111 111
         url = getIntent().getStringExtra(INTENT_URL);
112
+        System.out.println("weburl--->"+url);
112 113
         id = getIntent().getStringExtra(INTENT_ID);
113 114
         String title = getIntent().getStringExtra(INTENT_TITLE);
114 115
         //加载网络url
@@ -516,7 +517,7 @@ public class H5TitleActivity extends TitleBaseActivity {
516 517
     @Override
517 518
     public boolean onKeyDown(int keyCode, KeyEvent event) {
518 519
         //如果用户按的是返回键 并且WebView页面可以返回
519
-        if (keyCode == event.KEYCODE_BACK && wv.canGoBack()) {
520
+        if (keyCode == KeyEvent.KEYCODE_BACK && wv.canGoBack()) {
520 521
             //让WebView返回
521 522
             wv.goBack();
522 523
             return true;
@@ -558,7 +559,7 @@ public class H5TitleActivity extends TitleBaseActivity {
558 559
 
559 560
                 textIntent.setComponent(componentName);
560 561
                 textIntent.setType("image/*");
561
-                Uri uri = FileProvider.getUriForFile(context, "com.laolaixiang.bjtdba.fileprovider", file);
562
+                Uri uri = FileProvider.getUriForFile(context, Constants.FILE_PROVIDER, file);
562 563
                 textIntent.putExtra(Intent.EXTRA_STREAM, uri);
563 564
                 startActivity(Intent.createChooser(textIntent, "分享"));
564 565
 

+ 44 - 0
app/src/main/java/com/yihucha/hbyhc/base/NewBaseFragment.kt

@@ -0,0 +1,44 @@
1
+package com.yihucha.hbyhc.base
2
+
3
+import android.os.Bundle
4
+import android.view.LayoutInflater
5
+import android.view.View
6
+import android.view.ViewGroup
7
+import androidx.fragment.app.Fragment
8
+import androidx.viewbinding.ViewBinding
9
+import java.lang.reflect.ParameterizedType
10
+
11
+/**
12
+ *  author : 86175
13
+ *  time   : 2024/12/25 14:16
14
+ *  com.yihucha.hbyhc.base
15
+ */
16
+abstract class NewBaseFragment<T:ViewBinding>:Fragment() {
17
+    lateinit var binding:T
18
+    override fun onCreateView(
19
+        inflater: LayoutInflater,
20
+        container: ViewGroup?,
21
+        savedInstanceState: Bundle?
22
+    ): View? {
23
+        var view:View? = null
24
+        val type = this.javaClass.genericSuperclass
25
+        if (type is ParameterizedType) {
26
+            try {
27
+                val clz = type.actualTypeArguments[0] as Class<T>
28
+                val method = clz.getDeclaredMethod("inflate", LayoutInflater::class.java)
29
+                binding = method.invoke(null,layoutInflater) as T
30
+                view = binding.root
31
+            }catch (e:Exception){
32
+                e.printStackTrace()
33
+            }
34
+        }
35
+        initView()
36
+        initListener()
37
+        initData()
38
+        return view
39
+    }
40
+
41
+    abstract fun initView()
42
+    abstract fun initListener()
43
+    abstract fun initData()
44
+}

+ 6 - 0
app/src/main/java/com/yihucha/hbyhc/base/TitleBaseActivity.java

@@ -185,6 +185,12 @@ public abstract class TitleBaseActivity extends BaseActivity implements View.OnC
185 185
             mRightTv.setCompoundDrawablePadding(3);
186 186
         }
187 187
     }
188
+
189
+    protected void  showRightTv(String str){
190
+        mRightTv.setVisibility(View.VISIBLE);
191
+        mRightTv.setText(str);
192
+    }
193
+
188 194
     /**
189 195
      * 隐藏右上角按钮
190 196
      */

+ 1 - 1
app/src/main/java/com/yihucha/hbyhc/base/ViewBindingChangeTitleColorTitleBaseActivity.java

@@ -232,7 +232,7 @@ public class ViewBindingChangeTitleColorTitleBaseActivity<T extends ViewBinding>
232 232
         } else {
233 233
             int firstVisiblePosition = listView.getFirstVisiblePosition();
234 234
             int top = c.getTop();
235
-            float scale = (float) (0 - top) / rootScrollHeight;
235
+            float scale = (float) (-top) / rootScrollHeight;
236 236
 //            LogUtil.i("scale","scale="+scale+"---rootScrollHeight="+rootScrollHeight+"---c.getHeight()="+c.getHeight()+"--top="+top);
237 237
             mCustomTitleBarView.setBgAlpha(scale);
238 238
 

+ 1 - 1
app/src/main/java/com/yihucha/hbyhc/base/WebViewTitleBaseActivity.java

@@ -112,7 +112,7 @@ public class WebViewTitleBaseActivity extends TitleBaseActivity{
112 112
     @Override
113 113
     public boolean onKeyDown(int keyCode, KeyEvent event) {
114 114
         //如果用户按的是返回键 并且WebView页面可以返回
115
-        if (keyCode==event.KEYCODE_BACK&&wv.canGoBack()){
115
+        if (keyCode== KeyEvent.KEYCODE_BACK &&wv.canGoBack()){
116 116
             //让WebView返回
117 117
             wv.goBack();
118 118
             return true;

+ 1 - 1
app/src/main/java/com/yihucha/hbyhc/base/adapter/FragmentBaseAdapter.java

@@ -12,7 +12,7 @@ import java.util.List;
12 12
  * note:
13 13
  */
14 14
 public class FragmentBaseAdapter extends FragmentPagerAdapter {
15
-    private List<Fragment> fragmentList;
15
+    private final List<Fragment> fragmentList;
16 16
     public FragmentBaseAdapter(FragmentManager fm, List<Fragment> fragments) {
17 17
         super(fm);
18 18
         this.fragmentList=fragments;

+ 1 - 1
app/src/main/java/com/yihucha/hbyhc/config/BusinessConstants.java

@@ -8,7 +8,7 @@ public class BusinessConstants {
8 8
     /**
9 9
      * 正式,测试平台切换,只需修改这个开关
10 10
      */
11
-    public static  String HOST = HttpUrl.IS_RELEASE ? HttpUrl.BASE_URL_RELEASE : HttpUrl.BASE_URL_DEBUG;
11
+    public static String HOST = HttpUrl.IS_RELEASE ? HttpUrl.BASE_URL_RELEASE : HttpUrl.BASE_URL_DEBUG;
12 12
 //    public static  String HOST =  HttpUrl.BASE_URL_RELEASE;
13 13
 
14 14
     /**

Datei-Diff unterdrückt, da er zu groß ist
+ 20 - 8
app/src/main/java/com/yihucha/hbyhc/config/Constants.java


+ 6 - 3
app/src/main/java/com/yihucha/hbyhc/config/HttpUrl.java

@@ -5,13 +5,16 @@ package com.yihucha.hbyhc.config;
5 5
  */
6 6
 public class HttpUrl {
7 7
     // 生产还是测试
8
-    public static boolean IS_RELEASE = true;
8
+    public static boolean IS_RELEASE = false;
9 9
     //生成·
10 10
 //    public static String BASE_URL_RELEASE = "https://app.bjtdba.com/";
11
-    public static String BASE_URL_RELEASE = "https://api.hebeiyhc.com";
11
+    public static String BASE_URL_RELEASE = "https://api.hxxfb.com/";
12
+//    public static String BASE_URL_RELEASE = "https://api.hebeiyhc.com/";
13
+    public static String PYYX_BASE_URL_RELEASE = "https://openapi.dataoke.com/";
12 14
     //测试
13 15
 //    public static String BASE_URL_DEBUG="https://test.bjtdba.com/";
14
-    public static String BASE_URL_DEBUG="https://test.hebeiyhc.com";
16
+    public static String BASE_URL_DEBUG="https://testapi.hxxfb.com/";
17
+//    public static String BASE_URL_DEBUG="https://api.hxxfb.com/";
15 18
     //预生产
16 19
 //    public static String BASE_URL_DEBUG = "https://pre.bjtdba.com/";
17 20
     public static String CHANNEL_NAME = "友盟";

+ 11 - 0
app/src/main/java/com/yihucha/hbyhc/db/UserDB.java

@@ -53,4 +53,15 @@ public class UserDB extends LitePalSupport {
53 53
     public void setTheFirstTime(Long theFirstTime) {
54 54
         this.theFirstTime = theFirstTime;
55 55
     }
56
+
57
+    @Override
58
+    public String toString() {
59
+        return "UserDB{" +
60
+                "userId='" + userId + '\'' +
61
+                ", advertisingMilliseconds=" + advertisingMilliseconds +
62
+                ", theFirstTime=" + theFirstTime +
63
+                ", isPush=" + isPush +
64
+                ", isActivity=" + isActivity +
65
+                '}';
66
+    }
56 67
 }

+ 2 - 2
app/src/main/java/com/yihucha/hbyhc/manager/AgreeToADealManager.java

@@ -14,7 +14,7 @@ public class AgreeToADealManager {
14 14
     // 保存成功关闭弹框
15 15
     public static final String SUCCESSFUL = "successful";
16 16
 
17
-    private static Map<String, AgreeToADealListener> mAgreeToADealListener = new HashMap<>();
17
+    private static final Map<String, AgreeToADealListener> mAgreeToADealListener = new HashMap<>();
18 18
 
19 19
     /**
20 20
      * 添加listener
@@ -32,7 +32,7 @@ public class AgreeToADealManager {
32 32
      * @param key key
33 33
      */
34 34
     public static void removeListener(String key){
35
-        if (mAgreeToADealListener != null && mAgreeToADealListener.containsKey(key)) {
35
+        if (mAgreeToADealListener != null) {
36 36
             mAgreeToADealListener.remove(key);
37 37
         }
38 38
     }

+ 2 - 2
app/src/main/java/com/yihucha/hbyhc/manager/H5NeedUpdateManager.java

@@ -14,7 +14,7 @@ public class H5NeedUpdateManager {
14 14
     // 保存成功关闭弹框
15 15
     public static final String H5_THE_DIALOG_BOX_IS_CLOSED = "the_dialog_box_is_closed";
16 16
 
17
-    private static Map<String, H5NeedUpdateListener> mH5NeedUpdateListenerList = new HashMap<>();
17
+    private static final Map<String, H5NeedUpdateListener> mH5NeedUpdateListenerList = new HashMap<>();
18 18
 
19 19
     /**
20 20
      * 添加listener
@@ -32,7 +32,7 @@ public class H5NeedUpdateManager {
32 32
      * @param key key
33 33
      */
34 34
     public static void removeListener(String key){
35
-        if (mH5NeedUpdateListenerList != null && mH5NeedUpdateListenerList.containsKey(key)) {
35
+        if (mH5NeedUpdateListenerList != null) {
36 36
             mH5NeedUpdateListenerList.remove(key);
37 37
         }
38 38
     }

+ 2 - 2
app/src/main/java/com/yihucha/hbyhc/manager/OtherSearchUpdateManager.java

@@ -14,7 +14,7 @@ public class OtherSearchUpdateManager {
14 14
     // 保存成功关闭弹框
15 15
     public static final String H5_THE_DIALOG_BOX_IS_CLOSED = "the_dialog_box_is_closed";
16 16
 
17
-    private static Map<String, OtherSearchNeedUpdateListener> mOtherSearchNeedUpdateListener = new HashMap<>();
17
+    private static final Map<String, OtherSearchNeedUpdateListener> mOtherSearchNeedUpdateListener = new HashMap<>();
18 18
 
19 19
     /**
20 20
      * 添加listener
@@ -32,7 +32,7 @@ public class OtherSearchUpdateManager {
32 32
      * @param key key
33 33
      */
34 34
     public static void removeListener(String key){
35
-        if (mOtherSearchNeedUpdateListener != null && mOtherSearchNeedUpdateListener.containsKey(key)) {
35
+        if (mOtherSearchNeedUpdateListener != null) {
36 36
             mOtherSearchNeedUpdateListener.remove(key);
37 37
         }
38 38
     }

+ 49 - 0
app/src/main/java/com/yihucha/hbyhc/network/JsonLoggingInterceptor.java

@@ -0,0 +1,49 @@
1
+package com.yihucha.hbyhc.network;
2
+
3
+/**
4
+ * author : 86175
5
+ * time   : 2025/3/22 23:18
6
+ * com.yihucha.hbyhc.network
7
+ */
8
+
9
+import org.greenrobot.eventbus.EventBus;
10
+
11
+import java.io.IOException;
12
+
13
+import okhttp3.Interceptor;
14
+import okhttp3.MediaType;
15
+import okhttp3.Request;
16
+import okhttp3.Response;
17
+import okhttp3.ResponseBody;
18
+
19
+public class JsonLoggingInterceptor implements Interceptor {
20
+    @Override
21
+    public Response intercept(Chain chain) throws IOException {
22
+        Request request = chain.request();
23
+
24
+        // 打印请求信息(可选)
25
+        System.out.println("Request URL: " + request.url());
26
+        System.out.println("Request Method: " + request.method());
27
+
28
+        // 继续处理请求
29
+        Response response = chain.proceed(request);
30
+
31
+        // 获取响应的 Content-Type
32
+        MediaType contentType = response.body().contentType();
33
+        if (contentType != null && contentType.toString().contains("json")) {
34
+            // 获取响应体的字节内容,注意:response.body().string() 只能调用一次
35
+            String responseBody = response.body().string();
36
+            // 打印响应的 JSON 字符串
37
+//            System.out.println("Response JSON: " + responseBody);
38
+            if (responseBody.contains("\"status\":40000")) {
39
+                EventBus.getDefault().post("logout");
40
+            }
41
+            // 重新构建响应体,以便后续处理可以继续使用响应体
42
+            response = response.newBuilder()
43
+                    .body(ResponseBody.create(contentType, responseBody))
44
+                    .build();
45
+        }
46
+
47
+        return response;
48
+    }
49
+}

+ 35 - 5
app/src/main/java/com/yihucha/hbyhc/network/NetworkApi.java

@@ -5,6 +5,9 @@ import com.yihucha.hbyhc.network.errorhandler.ExceptionHandle;
5 5
 import com.yihucha.hbyhc.network.errorhandler.HttpErrorHandler;
6 6
 import com.yihucha.hbyhc.network.interceptor.RequestInterceptor;
7 7
 import com.yihucha.hbyhc.network.interceptor.ResponseInterceptor;
8
+import com.yihucha.hbyhc.utils.EmptyCheckUtils;
9
+
10
+import org.jetbrains.annotations.NotNull;
8 11
 
9 12
 import java.util.HashMap;
10 13
 import java.util.concurrent.TimeUnit;
@@ -12,6 +15,7 @@ import java.util.concurrent.TimeUnit;
12 15
 import io.reactivex.Observable;
13 16
 import io.reactivex.ObservableTransformer;
14 17
 import io.reactivex.Observer;
18
+import io.reactivex.SingleTransformer;
15 19
 import io.reactivex.android.schedulers.AndroidSchedulers;
16 20
 import io.reactivex.functions.Function;
17 21
 import io.reactivex.schedulers.Schedulers;
@@ -23,6 +27,7 @@ import retrofit2.converter.gson.GsonConverterFactory;
23 27
 
24 28
 /**
25 29
  * 网络Api
30
+ *
26 31
  * @author qmzh
27 32
  * @description NetworkApi
28 33
  */
@@ -56,6 +61,13 @@ public class NetworkApi {
56 61
     }
57 62
 
58 63
     /**
64
+     * 创建serviceClass实例,携带BaseUrl
65
+     */
66
+    public static <T> T createServiceWithBaseUrl(@NotNull String baseUrl, Class<T> serviceClass) {
67
+        return getRetrofit(baseUrl, serviceClass).create(serviceClass);
68
+    }
69
+
70
+    /**
59 71
      * 配置OkHttp
60 72
      *
61 73
      * @return OkHttpClient
@@ -73,6 +85,7 @@ public class NetworkApi {
73 85
             builder.addInterceptor(new RequestInterceptor(iNetworkRequiredInfo));
74 86
             //添加返回拦截器,可用于查看接口的请求耗时,对于网络优化有帮助
75 87
             builder.addInterceptor(new ResponseInterceptor());
88
+            builder.addInterceptor(new JsonLoggingInterceptor());
76 89
             //当程序在debug过程中则打印数据日志,方便调试用。
77 90
             if (iNetworkRequiredInfo != null && iNetworkRequiredInfo.isDebug()) {
78 91
                 //iNetworkRequiredInfo不为空且处于debug状态下则初始化日志拦截器
@@ -94,16 +107,26 @@ public class NetworkApi {
94 107
      * @param serviceClass 服务类
95 108
      * @return Retrofit
96 109
      */
97
-    private static Retrofit getRetrofit(Class serviceClass) {
98
-        if (retrofitHashMap.get(BusinessConstants.getServerUrl() + serviceClass.getName()) != null) {
110
+    private static Retrofit getRetrofit(Class serviceClass){
111
+        return getRetrofit(null,serviceClass);
112
+    }
113
+    private static Retrofit getRetrofit(String baseUrl, Class serviceClass) {
114
+        String url;
115
+        if (EmptyCheckUtils.isEmpty(baseUrl)){
116
+            url = BusinessConstants.getServerUrl();
117
+        }else {
118
+            url = baseUrl;
119
+        }
120
+        if (retrofitHashMap.get(url + serviceClass.getName()) != null) {
99 121
             //刚才上面定义的Map中键是String,值是Retrofit,当键不为空时,必然有值,有值则直接返回。
100
-            return retrofitHashMap.get(BusinessConstants.getServerUrl() + serviceClass.getName());
122
+            return retrofitHashMap.get(url + serviceClass.getName());
101 123
         }
102 124
         //初始化Retrofit  Retrofit是对OKHttp的封装,通常是对网络请求做处理,也可以处理返回数据。
103 125
         //Retrofit构建器
104 126
         Retrofit.Builder builder = new Retrofit.Builder();
105 127
         //设置访问地址
106
-        builder.baseUrl(BusinessConstants.getServerUrl());
128
+        builder.baseUrl(url);
129
+        System.out.println(url);
107 130
         //设置OkHttp客户端,传入上面写好的方法即可获得配置后的OkHttp客户端。
108 131
         builder.client(getOkHttpClient());
109 132
         //设置数据解析器 会自动把请求返回的结果(json字符串)通过Gson转化工厂自动转化成与其结构相符的实体Bean
@@ -113,7 +136,7 @@ public class NetworkApi {
113 136
         //retrofit配置完成
114 137
         Retrofit retrofit = builder.build();
115 138
         //放入Map中
116
-        retrofitHashMap.put(BusinessConstants.getServerUrl() + serviceClass.getName(), retrofit);
139
+        retrofitHashMap.put(url + serviceClass.getName(), retrofit);
117 140
         //最后返回即可
118 141
         return retrofit;
119 142
     }
@@ -154,4 +177,11 @@ public class NetworkApi {
154 177
             return response;
155 178
         };
156 179
     }
180
+
181
+    public static <T> ObservableTransformer<T, T> applyObservableSchedulers() {
182
+        return upstream -> upstream
183
+                .subscribeOn(Schedulers.io())
184
+                .observeOn(AndroidSchedulers.mainThread());
185
+    }
186
+
157 187
 }

+ 5 - 5
app/src/main/java/com/yihucha/hbyhc/network/interceptor/RequestInterceptor.java

@@ -1,10 +1,10 @@
1 1
 package com.yihucha.hbyhc.network.interceptor;
2 2
 
3
+import com.yihucha.hbyhc.config.Constants;
3 4
 import com.yihucha.hbyhc.network.INetworkRequiredInfo;
4 5
 import com.yihucha.hbyhc.utils.Base64Converter;
5
-import com.yihucha.hbyhc.utils.DateUtil;
6
-import com.yihucha.hbyhc.config.Constants;
7 6
 import com.yihucha.hbyhc.utils.DESUtil;
7
+import com.yihucha.hbyhc.utils.DateUtil;
8 8
 import com.yihucha.hbyhc.utils.LogUtil;
9 9
 import com.yihucha.hbyhc.utils.MVUtils;
10 10
 
@@ -23,7 +23,7 @@ public class RequestInterceptor implements Interceptor {
23 23
     /**
24 24
      * 网络请求信息
25 25
      */
26
-    private INetworkRequiredInfo iNetworkRequiredInfo;
26
+    private final INetworkRequiredInfo iNetworkRequiredInfo;
27 27
 
28 28
     public RequestInterceptor(INetworkRequiredInfo iNetworkRequiredInfo) {
29 29
         this.iNetworkRequiredInfo = iNetworkRequiredInfo;
@@ -43,8 +43,8 @@ public class RequestInterceptor implements Interceptor {
43 43
         builder.addHeader("appVersionCode", this.iNetworkRequiredInfo.getAppVersionCode());
44 44
         //添加版本名
45 45
         builder.addHeader("appVersionName", this.iNetworkRequiredInfo.getAppVersionName());
46
-        builder.addHeader("merId", "496");
47
-        builder.addHeader("source", "yhc");
46
+//        builder.addHeader("merId", "496");
47
+//        builder.addHeader("source", "yhc");
48 48
         //添加日期时间
49 49
         builder.addHeader("datetime", nowDateTime);
50 50
         if (!"".equals(MVUtils.getString(Constants.TOKEN))) {

+ 0 - 4
app/src/main/java/com/yihucha/hbyhc/network/interceptor/ResponseInterceptor.java

@@ -24,10 +24,6 @@ public class ResponseInterceptor implements Interceptor {
24 24
         long requestTime = System.currentTimeMillis();
25 25
         Response response = chain.proceed(chain.request());
26 26
         KLog.i(TAG, "requestSpendTime=" + (System.currentTimeMillis() - requestTime) + "ms");
27
-        /*if (chain.request().url().toString().contains("order/check")) {
28
-            String string = response.body().string();
29
-
30
-        }*/
31 27
         return response;
32 28
     }
33 29
 }

+ 9 - 0
app/src/main/java/com/yihucha/hbyhc/network/request_bean/CartIdRequest.java

@@ -11,6 +11,7 @@ import java.util.List;
11 11
 public class CartIdRequest {
12 12
     private List<String> cart_id;//购物车id,数组
13 13
     private String address_id;//地址
14
+    private int is_commercetrade=0;
14 15
 
15 16
     public String getAddress_id() {
16 17
         return address_id == null ? "" : address_id;
@@ -30,4 +31,12 @@ public class CartIdRequest {
30 31
     public void setCart_id(List<String> cart_id) {
31 32
         this.cart_id = cart_id;
32 33
     }
34
+
35
+    public int getIs_commercetrade() {
36
+        return is_commercetrade;
37
+    }
38
+
39
+    public void setIs_commercetrade(int is_commercetrade) {
40
+        this.is_commercetrade = is_commercetrade;
41
+    }
33 42
 }

+ 31 - 4
app/src/main/java/com/yihucha/hbyhc/network/request_bean/CreateOrderRequest.java

@@ -12,12 +12,39 @@ import java.util.Map;
12 12
 public class CreateOrderRequest {
13 13
     private String address_id;//地址id
14 14
     private String distribution_mode;//配送方式:  1: 快递, 2: 自提
15
-    private List<String> cart_id;//购物车id
15
+    private String cart_id;//购物车id
16 16
     private Map<String, Object> mark;//备注
17 17
     private String dacang_id;//大仓id
18 18
     private String pay_type;//支付方式:0: 余额;1: 微信;2: 小程序;4: 支付宝;5: 特殊商户积分 6:红积分支付
19 19
     private String mer_id;//商户id
20 20
     private String phone;//开通账号
21
+    private String decScore;//消耗积分值
22
+    private String decJingScore;//小号京豆
23
+    private String fzone_paytype;
24
+
25
+    public String getFzone_paytype() {
26
+        return fzone_paytype;
27
+    }
28
+
29
+    public void setFzone_paytype(String fzone_paytype) {
30
+        this.fzone_paytype = fzone_paytype;
31
+    }
32
+
33
+    public String getDecScore() {
34
+        return decScore;
35
+    }
36
+
37
+    public void setDecScore(String decScore) {
38
+        this.decScore = decScore;
39
+    }
40
+
41
+    public String getDecJingScore() {
42
+        return decJingScore;
43
+    }
44
+
45
+    public void setDecJingScore(String decJingScore) {
46
+        this.decJingScore = decJingScore;
47
+    }
21 48
 
22 49
     public String getPhone() {
23 50
         return phone;
@@ -67,14 +94,14 @@ public class CreateOrderRequest {
67 94
         this.distribution_mode = distribution_mode;
68 95
     }
69 96
 
70
-    public List<String> getCart_id() {
97
+    public String getCart_id() {
71 98
         if (cart_id == null) {
72
-            return new ArrayList<>();
99
+            return "";
73 100
         }
74 101
         return cart_id;
75 102
     }
76 103
 
77
-    public void setCart_id(List<String> cart_id) {
104
+    public void setCart_id(String cart_id) {
78 105
         this.cart_id = cart_id;
79 106
     }
80 107
 

+ 9 - 0
app/src/main/java/com/yihucha/hbyhc/network/request_bean/TaobaoGoodsListRequest.java

@@ -9,6 +9,15 @@ public class TaobaoGoodsListRequest {
9 9
     private String pageNum;
10 10
     private String pageSize;
11 11
     private String title;
12
+    private Integer cid = null;
13
+
14
+    public int getCid() {
15
+        return cid;
16
+    }
17
+
18
+    public void setCid(int cid) {
19
+        this.cid = cid;
20
+    }
12 21
 
13 22
     public String getPageNum() {
14 23
         return pageNum == null ? "" : pageNum;

+ 0 - 1
app/src/main/java/com/yihucha/hbyhc/network/service/ApiService.java

@@ -34,7 +34,6 @@ import retrofit2.http.POST;
34 34
 import retrofit2.http.Part;
35 35
 import retrofit2.http.Path;
36 36
 import retrofit2.http.QueryMap;
37
-import retrofit2.http.Url;
38 37
 
39 38
 public interface ApiService {
40 39
 

+ 18 - 0
app/src/main/java/com/yihucha/hbyhc/network/service/AuthService.java

@@ -35,6 +35,17 @@ public interface AuthService {
35 35
     Observable<DataResponse<LoginModel>> smslogin(@QueryMap Map<String, Object> request);
36 36
 
37 37
     /**
38
+     * 手机号+验证码 修改密码
39
+     * @param request
40
+     * @return
41
+     */
42
+    @POST("api/auth/reset")
43
+    Observable<DataResponse<Object>> updatePwd(@QueryMap Map<String, Object> request);
44
+
45
+    @POST("api/user/update/user")
46
+    Observable<DataResponse<Integer>> updatePhone(@QueryMap Map<String, Object> request);
47
+
48
+    /**
38 49
      * 手机号+密码登录
39 50
      * @param request
40 51
      * @return
@@ -103,6 +114,13 @@ public interface AuthService {
103 114
      */
104 115
     @POST("api/auth/query_uid")
105 116
     Observable<DataResponse<UidAndPhoneBean>> getUidByPhone(@Query("phone")String phone);
117
+
118
+    @POST("api/user/update/user")
119
+    Observable<DataResponse<Integer>>  updateUserPhone(@QueryMap Map<String, Object> request);
120
+
121
+    @POST("api/user/unbindAccount")
122
+    Observable<DataResponse>  unbindAccount(@QueryMap Map<String, Object> request);
123
+
106 124
 }
107 125
 
108 126
 

+ 7 - 0
app/src/main/java/com/yihucha/hbyhc/network/service/BigWarehouseServicr.java

@@ -12,6 +12,7 @@ import com.yihucha.hbyhc.presentation.big_storehouse.model.DcSeckillBean;
12 12
 import com.yihucha.hbyhc.presentation.big_storehouse.model.RecommendListBean;
13 13
 import com.yihucha.hbyhc.presentation.home.model.BannerDataBean;
14 14
 import com.yihucha.hbyhc.presentation.home.model.DingShengDataBean;
15
+import com.yihucha.hbyhc.presentation.pyyx.bean.JDLinkBean;
15 16
 
16 17
 import java.util.List;
17 18
 import java.util.Map;
@@ -59,6 +60,12 @@ public interface BigWarehouseServicr {
59 60
     Observable<DataResponse<List<DcProductBean>>> dacangproductlst(@QueryMap Map<String, Object> request);
60 61
 
61 62
     /**
63
+     * 大仓商品列表
64
+     */
65
+    @GET("api/jd/chang_link")
66
+    Observable<DataResponse<JDLinkBean>> getJDLink(@QueryMap Map<String, Object> request);
67
+
68
+    /**
62 69
      * 秒杀商品
63 70
      */
64 71
     @GET("api/dacang/nologin/seckill")

+ 1 - 2
app/src/main/java/com/yihucha/hbyhc/network/service/OrderService.java

@@ -17,7 +17,6 @@ import com.yihucha.hbyhc.presentation.order.model.MailCommonBean;
17 17
 import com.yihucha.hbyhc.presentation.order.model.OrderCheckBean;
18 18
 import com.yihucha.hbyhc.presentation.order.model.OrderCreateBean;
19 19
 import com.yihucha.hbyhc.presentation.order.model.OrderCreateShoppingBean;
20
-import com.yihucha.hbyhc.presentation.order.model.OrderDetailBean;
21 20
 import com.yihucha.hbyhc.presentation.order.model.OrderListBean;
22 21
 import com.yihucha.hbyhc.presentation.order.model.OrderListObligationBean;
23 22
 import com.yihucha.hbyhc.presentation.order.model.RefundApplyBean;
@@ -222,7 +221,7 @@ public interface OrderService {
222 221
      * @param
223 222
      * @return
224 223
      */
225
-    @GET("api/user/third_order")
224
+    @GET("api/user/third_order_bill")
226 225
     Observable<DataResponse<ThirdOrderBean>> getThirdOrder(@QueryMap Map<String, Object> request);
227 226
 
228 227
     /**

+ 35 - 0
app/src/main/java/com/yihucha/hbyhc/network/service/ProductService.java

@@ -5,6 +5,7 @@ import com.yihucha.hbyhc.network.DataResponse;
5 5
 import com.yihucha.hbyhc.network.request_bean.IdRequest;
6 6
 import com.yihucha.hbyhc.network.request_bean.TaobaoGoodsListRequest;
7 7
 import com.yihucha.hbyhc.network.request_bean.TaobaoLinkRequest;
8
+import com.yihucha.hbyhc.presentation.home.model.DingShengDataBean;
8 9
 import com.yihucha.hbyhc.presentation.home.model.HomeProductBean;
9 10
 import com.yihucha.hbyhc.presentation.home.model.HomeProductListBean;
10 11
 import com.yihucha.hbyhc.presentation.home.model.ProductListBean;
@@ -28,6 +29,9 @@ import com.yihucha.hbyhc.presentation.product.model.TaobaoProductDetailsBean;
28 29
 import com.yihucha.hbyhc.presentation.product.model.TaobaoProductListBean;
29 30
 import com.yihucha.hbyhc.presentation.product.model.VipProductDetailsBean;
30 31
 import com.yihucha.hbyhc.presentation.product.model.VipProductListBean;
32
+import com.yihucha.hbyhc.presentation.pyyx.bean.ClassesTypeBean;
33
+import com.yihucha.hbyhc.presentation.pyyx.bean.HotMovieBean;
34
+import com.yihucha.hbyhc.presentation.pyyx.bean.NearbyMovieBean;
31 35
 
32 36
 import java.util.List;
33 37
 import java.util.Map;
@@ -54,6 +58,7 @@ public interface ProductService {
54 58
 
55 59
     /**
56 60
      * 一壶茶首页商品列表、搜索接口
61
+     *
57 62
      * @param request
58 63
      * @return
59 64
      */
@@ -105,6 +110,12 @@ public interface ProductService {
105 110
     Observable<DataJavaResponse<SearchGoodsListBean>> searchGoodsList(@QueryMap Map<String, Object> request);
106 111
 
107 112
     /**
113
+     * 商贸区获取三个商品
114
+     */
115
+    @GET("api/store/merchant/product/type_lst")
116
+    Observable<DataJavaResponse<DingShengDataBean>> getMerGoodsList(@QueryMap Map<String, Object> request);
117
+
118
+    /**
108 119
      * 京东商品详情
109 120
      *
110 121
      * @param
@@ -184,6 +195,7 @@ public interface ProductService {
184 195
      */
185 196
     @GET("api/su/detail/{id}")
186 197
     Observable<DataResponse<SuningProductDetailsBean>> getSuningProductDetail(@Path("id") String id);
198
+
187 199
     /**
188 200
      * 淘宝商品列表
189 201
      *
@@ -193,6 +205,9 @@ public interface ProductService {
193 205
     @POST("gateway/thirdPartyWares_service/taobao_service/selectTaobaoWaresList")
194 206
     Observable<DataResponse<TaobaoProductListBean>> getTaobaoProductList(@Body TaobaoGoodsListRequest request);
195 207
 
208
+    @GET("api/get_third_category")
209
+    Observable<DataResponse<List<ClassesTypeBean>>> getClassesType(@QueryMap Map<String, Object> map);
210
+
196 211
     /**
197 212
      * 淘宝商品详情
198 213
      *
@@ -201,11 +216,19 @@ public interface ProductService {
201 216
      */
202 217
     @POST("gateway/thirdPartyWares_service/taobao_service/taobaoWaresDetail")
203 218
     Observable<DataResponse<TaobaoProductDetailsBean>> getTaobaoProductDetail(@Body IdRequest request);
219
+
204 220
     /**
205 221
      * 淘宝跳转
206 222
      */
207 223
     @POST("gateway/thirdPartyWares_service/taobao_service/dtkchangeLink")
208 224
     Observable<DataResponse<TaobaoLinkBean>> getDtkchangeLink(@Body TaobaoLinkRequest request);
225
+
226
+    /**
227
+     * 淘宝跳转
228
+     */
229
+    @GET("taobao_service/taobaoService/dtkchangeLinkGet")
230
+    Observable<DataResponse<TaobaoLinkBean>> getDtkchangeLink2(@QueryMap Map<String,Object> map);
231
+
209 232
     /**
210 233
      * 拼多多商品列表
211 234
      *
@@ -270,6 +293,7 @@ public interface ProductService {
270 293
      */
271 294
     @GET("api/dy/live_product_share")
272 295
     Observable<DataResponse<DouyinLiveProductShareBean>> getLiveProductShare(@QueryMap Map<String, Object> request);
296
+
273 297
     /**
274 298
      * 拼多多商品列表搜索
275 299
      *
@@ -288,4 +312,15 @@ public interface ProductService {
288 312
     @GET("api/dy/get_detail")
289 313
     Observable<DataResponse<DouyinProductDetailsBean>> getDouyinProductDetail(@QueryMap Map<String, Object> request);
290 314
 
315
+    /**
316
+     * 获取热映、即将上映电影
317
+     */
318
+    @GET("/api/movie/film")
319
+    Observable<DataResponse<HotMovieBean>> getHotMoveBean(@QueryMap Map<String, Object> request);
320
+
321
+    /**
322
+     * 获取影院信息
323
+     */
324
+    @GET("/api/movie/cinema")
325
+    Observable<DataResponse<NearbyMovieBean>> getNearbyMovieBean(@QueryMap Map<String, Object> request);
291 326
 }

+ 72 - 0
app/src/main/java/com/yihucha/hbyhc/network/service/PyyxService.java

@@ -0,0 +1,72 @@
1
+package com.yihucha.hbyhc.network.service;
2
+
3
+import com.yihucha.hbyhc.network.DataResponse;
4
+import com.yihucha.hbyhc.presentation.pyyx.bean.GoodsBean;
5
+import com.yihucha.hbyhc.presentation.pyyx.bean.GoodsResponseBean;
6
+import com.yihucha.hbyhc.presentation.pyyx.bean.PddClassesBean;
7
+import com.yihucha.hbyhc.presentation.pyyx.bean.RechargeItemBean;
8
+import com.yihucha.hbyhc.presentation.pyyx.bean.RechargeOrderBean;
9
+import com.yihucha.hbyhc.presentation.pyyx.bean.RechargeRecordCountBean;
10
+import com.yihucha.hbyhc.presentation.pyyx.bean.ResponseCountBean;
11
+import com.yihucha.hbyhc.presentation.pyyx.bean.SXYClassesBean;
12
+import com.yihucha.hbyhc.presentation.pyyx.bean.SXYDetailBean;
13
+import com.yihucha.hbyhc.presentation.pyyx.bean.SXYListBean;
14
+import com.yihucha.hbyhc.presentation.pyyx.bean.TokenListBean;
15
+import com.yihucha.hbyhc.presentation.pyyx.bean.TransitionVCountBean;
16
+import com.yihucha.hbyhc.presentation.pyyx.bean.VrNameBean;
17
+
18
+import java.util.List;
19
+import java.util.Map;
20
+
21
+import io.reactivex.Observable;
22
+import retrofit2.http.GET;
23
+import retrofit2.http.POST;
24
+import retrofit2.http.QueryMap;
25
+
26
+/**
27
+ * author : 86175
28
+ * time   : 2025/1/3 10:52
29
+ * com.yihucha.hbyhc.network.service
30
+ */
31
+public interface PyyxService {
32
+    @GET("api/goods/nine/op-goods-list")
33
+    Observable<GoodsResponseBean<GoodsBean>> getHomeGoods(@QueryMap Map<String, String> map);
34
+
35
+    @POST("api/tokenList")
36
+    Observable<TokenListBean> requestTokenList();
37
+
38
+    @GET("api/pdd/cat")
39
+    Observable<DataResponse<PddClassesBean>> requestPddCat(@QueryMap Map<String, Object> map);
40
+
41
+    @POST("api/huafei/denomination")
42
+    Observable<DataResponse<List<RechargeItemBean>>> requestRechargeItems();
43
+
44
+
45
+    @POST("api/huafei/recharge")
46
+    Observable<DataResponse<RechargeOrderBean>> recharge(@QueryMap Map<String,Object> map);
47
+
48
+    @POST("api/huafei/record")
49
+    Observable<DataResponse<RechargeRecordCountBean>> rechargeRecord(@QueryMap Map<String,Object> map);
50
+
51
+    //佣金转VR
52
+    @POST("api/user/transition_vr")
53
+    Observable<DataResponse<Object>> yongjinToVR(@QueryMap Map<String,Object> map);
54
+
55
+    @GET("api/user/transition_vr_log")
56
+    Observable<DataResponse<TransitionVCountBean>> yongjinToVRecord(@QueryMap Map<String,Object> map);
57
+
58
+    @GET("api/user/vr_name")
59
+    Observable<DataResponse<VrNameBean>> getVRName(@QueryMap Map<String,Object> map);
60
+
61
+    @POST("api/business_school/classify_list") //商学院分类
62
+    Observable<DataResponse<List<SXYClassesBean>>> sxyClasses();
63
+
64
+    @POST("api/business_school/list") //商学院列表
65
+    Observable<DataResponse<ResponseCountBean<SXYListBean>>> sxyList(@QueryMap Map<String,Object> map);
66
+
67
+    @POST("api/business_school/detail") //商学院详情
68
+    Observable<DataResponse<SXYDetailBean>> sxyDetail(@QueryMap Map<String,Object> map);
69
+
70
+
71
+
72
+}

+ 7 - 1
app/src/main/java/com/yihucha/hbyhc/network/service/StoreService.java

@@ -4,6 +4,7 @@ import com.yihucha.hbyhc.network.DataJavaResponse;
4 4
 import com.yihucha.hbyhc.network.DataResponse;
5 5
 import com.yihucha.hbyhc.presentation.home.model.SearchStoreBean;
6 6
 import com.yihucha.hbyhc.presentation.nearby.model.ClassifyBean;
7
+import com.yihucha.hbyhc.presentation.pyyx.bean.SMQPageBean;
7 8
 import com.yihucha.hbyhc.presentation.shop.model.ShopClassifyBean;
8 9
 import com.yihucha.hbyhc.presentation.shop.model.ShopInfoBean;
9 10
 import com.yihucha.hbyhc.presentation.shop.model.VipAreaBean;
@@ -12,7 +13,6 @@ import java.util.List;
12 13
 import java.util.Map;
13 14
 
14 15
 import io.reactivex.Observable;
15
-import retrofit2.Call;
16 16
 import retrofit2.http.GET;
17 17
 import retrofit2.http.Path;
18 18
 import retrofit2.http.Query;
@@ -63,6 +63,12 @@ public interface StoreService {
63 63
     @GET("gateway/wares_service/waresServiceMerchant/selectMerchantSort")
64 64
     Observable<DataJavaResponse<ClassifyBean>> getClassify();
65 65
 
66
+    /**
67
+     * 商贸区页面
68
+     */
69
+    @GET("/api/store/merchant/product/commerce_list")
70
+    Observable<DataJavaResponse<SMQPageBean>> getSmqPageBean(@QueryMap Map<String, Object> request);
71
+
66 72
 
67 73
     /**
68 74
      * 店铺信息

+ 20 - 2
app/src/main/java/com/yihucha/hbyhc/network/service/UserService.java

@@ -55,6 +55,7 @@ import com.yihucha.hbyhc.presentation.mine.model.UserInfoModel;
55 55
 import com.yihucha.hbyhc.presentation.mine.model.UserVipInfoBean;
56 56
 import com.yihucha.hbyhc.presentation.mine.model.YanglaojinBean;
57 57
 import com.yihucha.hbyhc.presentation.mine.view_model.MineSpreadInfo;
58
+import com.yihucha.hbyhc.presentation.pyyx.bean.YongjinBean;
58 59
 import com.yihucha.hbyhc.presentation.shopping.model.CollectBean;
59 60
 import com.yihucha.hbyhc.presentation.shopping.model.ShoppingBean;
60 61
 
@@ -88,6 +89,16 @@ public interface UserService {
88 89
     @GET("/api/user/spread_info_yhc")
89 90
     Observable<DataResponse<MineSpreadInfo>> getSpreadInfoYhc();
90 91
 
92
+    @GET("api/user/get_brokerage_info")
93
+    Observable<DataResponse<YongjinBean>> getYongjin();
94
+
95
+
96
+    @GET("/api/user/gongxian_info")
97
+    Observable<DataResponse<MineSpreadInfo>> getGongxianInfo();
98
+
99
+    @GET("/api/user/{path}")
100
+    Observable<DataResponse<MineSpreadInfo>> getInfo(@Path("path") String path);
101
+
91 102
     /**
92 103
      * 团队列表
93 104
      */
@@ -376,6 +387,7 @@ public interface UserService {
376 387
 
377 388
     /**
378 389
      * 收益详情页
390
+     *
379 391
      * @param request
380 392
      * @return
381 393
      */
@@ -560,13 +572,19 @@ public interface UserService {
560 572
     Observable<DataResponse> cancleCollect(@Body CancleCollectBean body);
561 573
 
562 574
     @GET("api/user/green_integral_list")
563
-    Observable<DataResponse<List<RedIntegralListBean>>> getRedIntegralBean(@QueryMap Map<String,Object> map);
575
+    Observable<DataResponse<List<RedIntegralListBean>>> getRedIntegralBean(@QueryMap Map<String, Object> map);
576
+
577
+    @GET("api/user/gongxian_list")
578
+    Observable<DataResponse<List<RedIntegralListBean>>> getGongxianList(@QueryMap Map<String, Object> map);
579
+
580
+    @GET("api/user/{path}")
581
+    Observable<DataResponse<List<RedIntegralListBean>>> getInfoList(@Path("path") String path, @QueryMap Map<String, Object> map);
564 582
 
565 583
     @GET("api/bank/list")
566 584
     Observable<DataJavaResponse<List<BankCardBean>>> getBankCardList();
567 585
 
568 586
     @POST("/api/bank/create")
569
-    Observable<DataJavaResponse<String>> addBankCard(@QueryMap Map<String,Object> map);
587
+    Observable<DataJavaResponse<String>> addBankCard(@QueryMap Map<String, Object> map);
570 588
 
571 589
 
572 590
 //    /**

+ 103 - 0
app/src/main/java/com/yihucha/hbyhc/network/utils/SignMD5Util.java

@@ -0,0 +1,103 @@
1
+package com.yihucha.hbyhc.network.utils;
2
+
3
+import java.security.MessageDigest;
4
+import java.util.Iterator;
5
+import java.util.Map;
6
+import java.util.Set;
7
+import java.util.TreeMap;
8
+
9
+/**
10
+ * @Title: SignMD5Util
11
+ * @Description: 签名相关工具类
12
+ * @Version V1.0
13
+ */
14
+public class SignMD5Util {
15
+
16
+    /**
17
+     * 获取签名的util
18
+     * @param map 请求参数
19
+     * @param secretKey 密钥
20
+     * @return
21
+     */
22
+    public static String getSignStr(Map<String,String> map, String secretKey){
23
+
24
+        if (map.size() == 0 ){
25
+            return "";
26
+        }
27
+
28
+        StringBuffer sb = new StringBuffer("");
29
+
30
+        Set<String> keySet = map.keySet();
31
+        Iterator<String> iter = keySet.iterator();
32
+        while (iter.hasNext()) {
33
+            String key = iter.next();
34
+            sb.append("&"+ key + "=" + map.get(key));
35
+        }
36
+        sb.deleteCharAt(0);
37
+        return sign(sb.toString(), secretKey);
38
+    }
39
+
40
+    /**
41
+     * 获取签名的util
42
+     * @param map 请求参数
43
+     * @param secretKey 密钥
44
+     * @return
45
+     */
46
+    public static String getSignStrNew(TreeMap<String,String> map, String secretKey){
47
+
48
+        if (map.size() == 0 ){
49
+            return "";
50
+        }
51
+        StringBuilder sb = new StringBuilder();
52
+        sb.append("appKey=");
53
+        sb.append(map.get("appKey"));
54
+        sb.append("&timer=");
55
+        sb.append(map.get("timer"));
56
+        sb.append("&nonce=");
57
+        sb.append(map.get("nonce"));
58
+        System.out.println(sb.toString());
59
+        return sign(sb.toString(), secretKey);
60
+    }
61
+
62
+    public static String sign(String content, String key)
63
+    {
64
+        String signStr = "";
65
+        signStr = content + "&key=" + key;
66
+        //MD5加密后,字符串所有字符转换为大写
67
+        return MD5(signStr).toUpperCase();
68
+    }
69
+
70
+    /**
71
+     *
72
+     * MD5加密算法
73
+     *
74
+     * @param s
75
+     * @return
76
+     * @see [类、类#方法、类#成员]
77
+     */
78
+    public final static String MD5(String s) {
79
+        char hexDigits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
80
+        try {
81
+            byte[] btInput = s.getBytes("utf-8");
82
+            MessageDigest mdInst = MessageDigest.getInstance("MD5");
83
+            mdInst.update(btInput);
84
+            byte[] md = mdInst.digest();
85
+            int j = md.length;
86
+            char str[] = new char[j * 2];
87
+            int k = 0;
88
+            for (int i = 0; i < j; i++)
89
+            {
90
+                byte byte0 = md[i];
91
+                str[k++] = hexDigits[byte0 >>> 4 & 0xf];
92
+                str[k++] = hexDigits[byte0 & 0xf];
93
+            }
94
+            return new String(str).toLowerCase();
95
+        } catch (Exception e) {
96
+            e.printStackTrace();
97
+            return null;
98
+        }
99
+    }
100
+
101
+
102
+}
103
+

+ 12 - 11
app/src/main/java/com/yihucha/hbyhc/presentation/MainActivity.java

@@ -39,6 +39,7 @@ import com.yihucha.hbyhc.presentation.mine.model.CheckUpdatesBean;
39 39
 import com.yihucha.hbyhc.presentation.mine.model.SignInBean;
40 40
 import com.yihucha.hbyhc.presentation.mine.model.SignInInfoBean;
41 41
 import com.yihucha.hbyhc.presentation.nearby.NearbyFragment;
42
+import com.yihucha.hbyhc.presentation.pyyx.PyyxMainActivity;
42 43
 import com.yihucha.hbyhc.presentation.shopping.ShoppingFragment;
43 44
 import com.yihucha.hbyhc.utils.DateUtil;
44 45
 import com.yihucha.hbyhc.utils.LocationUtils;
@@ -132,8 +133,8 @@ public class MainActivity extends BaseActivity implements View.OnClickListener {
132 133
         //判断隐私协议
133 134
         String str = MVUtils.getString(Constants.AGREE_TO_THE_PRIVACY);
134 135
         if (TextUtils.isEmpty(str) || str.equals("0")) {
135
-            LogUtil.LogInfo("AGREE_TO_THE_PRIVACY2", str + "");
136
-            mDialog.getInstace().message("").sure("同意").cancle("暂不使用")
136
+            LogUtil.LogInfo("AGREE_TO_THE_PRIVACY2", str);
137
+            PrivateDialog.getInstace().message("").sure("同意").cancle("暂不使用")
137 138
                     .setOnTipItemClickListener(new PrivateDialog.OnTipItemClickListener() {
138 139
                         @Override
139 140
                         public void cancleClick() {
@@ -145,11 +146,11 @@ public class MainActivity extends BaseActivity implements View.OnClickListener {
145 146
                         @Override
146 147
                         public void sureClick() {
147 148
                             //同意
148
-                            mDialog.getInstace().dismiss();
149
+                            PrivateDialog.getInstace().dismiss();
149 150
                             MVUtils.put(Constants.AGREE_TO_THE_PRIVACY, "1");
150 151
                             AgreeToADealManager.agreeToADealUpdate();
151 152
                             //建议在测试阶段建议设置成true,发布时设置为false。
152
-                            CrashReport.initCrashReport(getApplicationContext(), Constants.BUGLY_APPID, HttpUrl.IS_RELEASE ? false : true);
153
+                            CrashReport.initCrashReport(getApplicationContext(), Constants.BUGLY_APPID, !HttpUrl.IS_RELEASE);
153 154
                             upgrade();
154 155
                         }
155 156
 
@@ -176,7 +177,7 @@ public class MainActivity extends BaseActivity implements View.OnClickListener {
176 177
                     }).create(this);
177 178
         } else {
178 179
             //建议在测试阶段建议设置成true,发布时设置为false。
179
-            CrashReport.initCrashReport(getApplicationContext(), Constants.BUGLY_APPID, HttpUrl.IS_RELEASE ? false : true);
180
+            CrashReport.initCrashReport(getApplicationContext(), Constants.BUGLY_APPID, !HttpUrl.IS_RELEASE);
180 181
             upgrade();
181 182
         }
182 183
     }
@@ -248,7 +249,7 @@ public class MainActivity extends BaseActivity implements View.OnClickListener {
248 249
     }
249 250
 
250 251
     long startTime = 0;
251
-    private MutableLiveData<Integer> process = new MutableLiveData<>();
252
+    private final MutableLiveData<Integer> process = new MutableLiveData<>();
252 253
     boolean isForceUpgrade = false;
253 254
     private void upgrade() {
254 255
         mMainActivityViewModel.getCheckupdates(context);
@@ -462,7 +463,7 @@ public class MainActivity extends BaseActivity implements View.OnClickListener {
462 463
     /**
463 464
      * 保存MyTouchListener接口的列表
464 465
      */
465
-    private ArrayList<MyTouchListener> myTouchListeners = new ArrayList<>();
466
+    private final ArrayList<MyTouchListener> myTouchListeners = new ArrayList<>();
466 467
 
467 468
     /**
468 469
      * 提供给Fragment通过getActivity()方法来注册自己的触摸事件的方法
@@ -618,7 +619,7 @@ public class MainActivity extends BaseActivity implements View.OnClickListener {
618 619
     @Override
619 620
     protected void onDestroy() {
620 621
         if (mDialog != null) {
621
-            mDialog.getInstace().dismiss();
622
+            PrivateDialog.getInstace().dismiss();
622 623
         }
623 624
         super.onDestroy();
624 625
     }
@@ -640,18 +641,18 @@ public class MainActivity extends BaseActivity implements View.OnClickListener {
640 641
     }
641 642
 
642 643
     public static void launch(Context context) {
643
-        Intent intent = new Intent(context, MainActivity.class);
644
+        Intent intent = new Intent(context, PyyxMainActivity.class);
644 645
         context.startActivity(intent);
645 646
     }
646 647
 
647 648
     public static void launch(Context context, String type) {
648
-        Intent intent = new Intent(context, MainActivity.class);
649
+        Intent intent = new Intent(context, PyyxMainActivity.class);
649 650
         intent.putExtra(INTENT_TYPE, type);
650 651
         context.startActivity(intent);
651 652
     }
652 653
 
653 654
     public static void launch(Context context, String type, String store_category_id) {
654
-        Intent intent = new Intent(context, MainActivity.class);
655
+        Intent intent = new Intent(context, PyyxMainActivity.class);
655 656
         intent.putExtra(INTENT_TYPE, type);
656 657
         intent.putExtra(INTENT_STORE_CATEGORY_ID, store_category_id);
657 658
         context.startActivity(intent);

+ 1 - 1
app/src/main/java/com/yihucha/hbyhc/presentation/MainActivityViewModel.java

@@ -38,7 +38,7 @@ public class MainActivityViewModel extends BaseViewModel {
38 38
         UserRepository.getCheckupdates(map, new NormalListener<CheckUpdatesBean>() {
39 39
             @Override
40 40
             public void success(CheckUpdatesBean checkUpdatesBean) {
41
-//                mCheckUpdatesData.postValue(checkUpdatesBean);
41
+                mCheckUpdatesData.postValue(checkUpdatesBean);
42 42
             }
43 43
 
44 44
             @Override

+ 1 - 1
app/src/main/java/com/yihucha/hbyhc/presentation/agent/AgentRegionalDistributionActivity.java

@@ -18,7 +18,7 @@ import java.util.List;
18 18
  * 区域内代理分布
19 19
  */
20 20
 public class AgentRegionalDistributionActivity extends ViewBindingTitleBaseActivity<ActivityAgentRegionalDistributionBinding> {
21
-    private List<AgentDistributionBean> datas= new ArrayList<>();
21
+    private final List<AgentDistributionBean> datas= new ArrayList<>();
22 22
     private AgentRegionalAdapter adapter;
23 23
     @Override
24 24
     protected void onCreate(Bundle savedInstanceState) {

+ 1 - 1
app/src/main/java/com/yihucha/hbyhc/presentation/agent/IncomeDetailActivity.java

@@ -23,7 +23,7 @@ public class IncomeDetailActivity extends ViewBindingTitleBaseActivity<ActivityI
23 23
     private IncomeDetailPopWindow popWindow;
24 24
     private ChangeDatePopwindow datePopwindow;
25 25
     private IncomeDetailAdapter adapter;
26
-    private int[] datas = {1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15};
26
+    private final int[] datas = {1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15};
27 27
 
28 28
     @Override
29 29
     protected void onCreate(Bundle savedInstanceState) {

+ 3 - 3
app/src/main/java/com/yihucha/hbyhc/presentation/agent/MyIncomeActivity.java

@@ -13,14 +13,14 @@ import android.widget.Toast;
13 13
 import androidx.recyclerview.widget.DividerItemDecoration;
14 14
 import androidx.recyclerview.widget.LinearLayoutManager;
15 15
 
16
+import com.lcodecore.tkrefreshlayout.RefreshListenerAdapter;
17
+import com.lcodecore.tkrefreshlayout.TwinklingRefreshLayout;
16 18
 import com.yihucha.hbyhc.R;
17 19
 import com.yihucha.hbyhc.base.ViewBindingTitleBaseActivity;
18 20
 import com.yihucha.hbyhc.databinding.ActivityMyIncomeBinding;
19 21
 import com.yihucha.hbyhc.presentation.agent.adapter.MyIncomeAdapter;
20 22
 import com.yihucha.hbyhc.presentation.agent.view.ChangeDatePopwindow;
21 23
 import com.yihucha.hbyhc.presentation.agent.view.YuePopwindow;
22
-import com.lcodecore.tkrefreshlayout.RefreshListenerAdapter;
23
-import com.lcodecore.tkrefreshlayout.TwinklingRefreshLayout;
24 24
 
25 25
 /**
26 26
  * 我的收益
@@ -29,7 +29,7 @@ public class MyIncomeActivity extends ViewBindingTitleBaseActivity<ActivityMyInc
29 29
     private ChangeDatePopwindow popwindow;
30 30
     private MyIncomeAdapter adapter;
31 31
     private YuePopwindow yuePopwindow;
32
-    private int[] datas = {1,2,3,4,5,6,7,8,9,11,12,13,14,15};
32
+    private final int[] datas = {1,2,3,4,5,6,7,8,9,11,12,13,14,15};
33 33
     @Override
34 34
     protected void onCreate(Bundle savedInstanceState) {
35 35
         super.onCreate(savedInstanceState);

+ 1 - 1
app/src/main/java/com/yihucha/hbyhc/presentation/agent/adapter/ArrayWheelAdapter.java

@@ -6,7 +6,7 @@ public class ArrayWheelAdapter<T> implements WheelAdapter {
6 6
 
7 7
 
8 8
     // items
9
-    private List<T> items;
9
+    private final List<T> items;
10 10
 
11 11
     /**
12 12
      * Constructor

+ 4 - 4
app/src/main/java/com/yihucha/hbyhc/presentation/agent/adapter/IncomeDetailAdapter.java

@@ -14,7 +14,7 @@ import com.yihucha.hbyhc.view.BoldText;
14 14
 
15 15
 public class IncomeDetailAdapter extends RecyclerView.Adapter<IncomeDetailAdapter.IncomeDetailHolder> {
16 16
     private int[] datas;
17
-    private Context mContext;
17
+    private final Context mContext;
18 18
 
19 19
     public IncomeDetailAdapter(int[] datas,Context mContext) {
20 20
         this.mContext = mContext;
@@ -58,9 +58,9 @@ public class IncomeDetailAdapter extends RecyclerView.Adapter<IncomeDetailAdapte
58 58
 
59 59
         public IncomeDetailHolder(@NonNull View itemview) {
60 60
             super(itemview);
61
-            mTvName = (TextView) itemview.findViewById(R.id.tv_name);
62
-            mTvTime = (TextView) itemview.findViewById(R.id.tv_time);
63
-            mTvNumber = (BoldText) itemview.findViewById(R.id.tv_number);
61
+            mTvName = itemview.findViewById(R.id.tv_name);
62
+            mTvTime = itemview.findViewById(R.id.tv_time);
63
+            mTvNumber = itemview.findViewById(R.id.tv_number);
64 64
         }
65 65
     }
66 66
 }

+ 1 - 1
app/src/main/java/com/yihucha/hbyhc/presentation/agent/adapter/IncomeDetailPopAdapter.java

@@ -15,7 +15,7 @@ import java.util.List;
15 15
 
16 16
 public class IncomeDetailPopAdapter extends RecyclerView.Adapter<IncomeDetailPopAdapter.PopViewHolder> {
17 17
     private List<String> datas;
18
-    private Context mContext;
18
+    private final Context mContext;
19 19
     public IncomeDetailPopAdapter(List<String> datas,Context mContext) {
20 20
         this.mContext = mContext;
21 21
         this.datas = datas;

+ 17 - 23
app/src/main/java/com/yihucha/hbyhc/presentation/agent/view/ChangeDatePopwindow.java

@@ -2,7 +2,6 @@ package com.yihucha.hbyhc.presentation.agent.view;
2 2
 
3 3
 import android.content.Context;
4 4
 import android.graphics.drawable.ColorDrawable;
5
-import android.util.Log;
6 5
 import android.view.View;
7 6
 import android.view.ViewGroup;
8 7
 import android.widget.PopupWindow;
@@ -23,17 +22,17 @@ import java.util.Calendar;
23 22
  */
24 23
 public class ChangeDatePopwindow extends PopupWindow implements View.OnClickListener {
25 24
 
26
-    private Context context;
27
-    private WheelView wvYear;
28
-    private WheelView wvMonth;
25
+    private final Context context;
26
+    private final WheelView wvYear;
27
+    private final WheelView wvMonth;
29 28
 
30
-    private TextView btnSure;
31
-    private TextView btnCancel;
29
+    private final TextView btnSure;
30
+    private final TextView btnCancel;
32 31
 
33
-    private ArrayList<String> arry_years = new ArrayList<String>();
34
-    private ArrayList<String> arry_months = new ArrayList<String>();
35
-    private WheelAdapter<String> yearAdapter;
36
-    private WheelAdapter<String> monthAdapter;
32
+    private final ArrayList<String> arry_years = new ArrayList<String>();
33
+    private final ArrayList<String> arry_months = new ArrayList<String>();
34
+    private final WheelAdapter<String> yearAdapter;
35
+    private final WheelAdapter<String> monthAdapter;
37 36
     private String month;
38 37
     private String day;
39 38
 
@@ -41,8 +40,8 @@ public class ChangeDatePopwindow extends PopupWindow implements View.OnClickList
41 40
     private String currentMonth = getMonth();
42 41
     private String currentDay = getDay();
43 42
 
44
-    private int maxTextSize = 24;
45
-    private int minTextSize = 14;
43
+    private final int maxTextSize = 24;
44
+    private final int minTextSize = 14;
46 45
 
47 46
     private boolean issetdata = false;
48 47
 
@@ -54,10 +53,10 @@ public class ChangeDatePopwindow extends PopupWindow implements View.OnClickList
54 53
         super(context);
55 54
         this.context = context;
56 55
         View view=View.inflate(context, R.layout.pop_date_select,null);
57
-        wvYear = (WheelView) view.findViewById(R.id.wv_date_year);
58
-        wvMonth = (WheelView) view.findViewById(R.id.wv_date_month);
59
-        btnSure = (TextView) view.findViewById(R.id.btn_myinfo_sure);
60
-        btnCancel = (TextView) view.findViewById(R.id.btn_myinfo_cancel);
56
+        wvYear = view.findViewById(R.id.wv_date_year);
57
+        wvMonth = view.findViewById(R.id.wv_date_month);
58
+        btnSure = view.findViewById(R.id.btn_myinfo_sure);
59
+        btnCancel = view.findViewById(R.id.btn_myinfo_cancel);
61 60
         wvYear.setCyclic(false);
62 61
         wvMonth.setCyclic(false);
63 62
         //设置SelectPicPopupWindow的View
@@ -123,7 +122,6 @@ public class ChangeDatePopwindow extends PopupWindow implements View.OnClickList
123 122
                 selectYear = arry_years.get(wvYear.getCurrentItem());
124 123
                 selectMonth = arry_months.get(wvMonth.getCurrentItem());
125 124
                 onDateListener.onClick(selectYear, selectMonth);
126
-                Log.d("cy",""+selectYear+""+selectMonth+"");
127 125
             }
128 126
         }
129 127
         dismiss();
@@ -131,7 +129,7 @@ public class ChangeDatePopwindow extends PopupWindow implements View.OnClickList
131 129
     }
132 130
 
133 131
     public interface OnDateListener {
134
-        public void onClick(String year, String month);
132
+        void onClick(String year, String month);
135 133
     }
136 134
 
137 135
 
@@ -227,11 +225,7 @@ public class ChangeDatePopwindow extends PopupWindow implements View.OnClickList
227 225
      */
228 226
     public void calDays(String year, String month) {
229 227
         boolean leayyear = false;
230
-        if (Integer.parseInt(year) % 4 == 0 && Integer.parseInt(year) % 100 != 0) {
231
-            leayyear = true;
232
-        } else {
233
-            leayyear = false;
234
-        }
228
+        leayyear = Integer.parseInt(year) % 4 == 0 && Integer.parseInt(year) % 100 != 0;
235 229
         for (int i = 1; i <= 12; i++) {
236 230
             switch (Integer.parseInt(month)) {
237 231
                 case 1:

+ 3 - 3
app/src/main/java/com/yihucha/hbyhc/presentation/agent/view/IncomeDetailPopWindow.java

@@ -24,11 +24,11 @@ public class IncomeDetailPopWindow extends PopupWindow implements View.OnClickLi
24 24
     private TextView tvReset;
25 25
     private TextView tvConfirm;
26 26
     private View bottomView;
27
-    private Context mContext;
27
+    private final Context mContext;
28 28
     private IncomeDetailPopAdapter incomeAdapter;
29 29
     private IncomeDetailPopAdapter outcomeAdapter;
30
-    private static List<String> income;
31
-    private static List<String> outcome;
30
+    private static final List<String> income;
31
+    private static final List<String> outcome;
32 32
 
33 33
     static {
34 34
         income = new ArrayList<>();

+ 1 - 1
app/src/main/java/com/yihucha/hbyhc/presentation/agent/view/InertiaTimerTask.java

@@ -22,7 +22,7 @@ public final class InertiaTimerTask extends TimerTask {
22 22
     }
23 23
 
24 24
     @Override
25
-    public final void run() {
25
+    public void run() {
26 26
 
27 27
         //防止闪动,对速度做一个限制。
28 28
         if (mCurrentVelocityY == Integer.MAX_VALUE) {

+ 1 - 1
app/src/main/java/com/yihucha/hbyhc/presentation/agent/view/LoopViewGestureListener.java

@@ -14,7 +14,7 @@ public final class LoopViewGestureListener extends android.view.GestureDetector.
14 14
     }
15 15
 
16 16
     @Override
17
-    public final boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
17
+    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
18 18
         wheelView.scrollBy(velocityY);
19 19
         return true;
20 20
     }

+ 1 - 1
app/src/main/java/com/yihucha/hbyhc/presentation/agent/view/MessageHandler.java

@@ -23,7 +23,7 @@ public final class MessageHandler extends Handler {
23 23
     }
24 24
 
25 25
     @Override
26
-    public final void handleMessage(Message msg) {
26
+    public void handleMessage(Message msg) {
27 27
         switch (msg.what) {
28 28
             case WHAT_INVALIDATE_LOOP_VIEW:
29 29
                 wheelView.invalidate();

+ 2 - 2
app/src/main/java/com/yihucha/hbyhc/presentation/agent/view/SmoothScrollTimerTask.java

@@ -8,7 +8,7 @@ public final class SmoothScrollTimerTask extends TimerTask {
8 8
 
9 9
     private int realTotalOffset;
10 10
     private int realOffset;
11
-    private int offset;
11
+    private final int offset;
12 12
     private final WheelView wheelView;
13 13
 
14 14
     public SmoothScrollTimerTask(WheelView wheelView, int offset) {
@@ -19,7 +19,7 @@ public final class SmoothScrollTimerTask extends TimerTask {
19 19
     }
20 20
 
21 21
     @Override
22
-    public final void run() {
22
+    public void run() {
23 23
         if (realTotalOffset == Integer.MAX_VALUE) {
24 24
             realTotalOffset = offset;
25 25
         }

+ 3 - 3
app/src/main/java/com/yihucha/hbyhc/presentation/agent/view/WheelView.java

@@ -51,7 +51,7 @@ public class WheelView extends View {
51 51
     private boolean isCenterLabel = true;
52 52
 
53 53
     // Timer mTimer;
54
-    private ScheduledExecutorService mExecutor = Executors.newSingleThreadScheduledExecutor();
54
+    private final ScheduledExecutorService mExecutor = Executors.newSingleThreadScheduledExecutor();
55 55
     private ScheduledFuture<?> mFuture;
56 56
 
57 57
     private Paint paintOuterText;
@@ -501,14 +501,14 @@ public class WheelView extends View {
501 501
                     canvas.restore();
502 502
                     canvas.save();
503 503
                     canvas.clipRect(0, firstLineY - translateY, measuredWidth, (int) (itemHeight));
504
-                    canvas.scale(1.0F, (float) Math.sin(radian) * 1.0F);
504
+                    canvas.scale(1.0F, (float) Math.sin(radian));
505 505
                     canvas.drawText(contentText, drawCenterContentStart, maxTextHeight - CENTER_CONTENT_OFFSET, paintCenterText);
506 506
                     canvas.restore();
507 507
                 } else if (translateY <= secondLineY && maxTextHeight + translateY >= secondLineY) {
508 508
                     // 条目经过第二条线
509 509
                     canvas.save();
510 510
                     canvas.clipRect(0, 0, measuredWidth, secondLineY - translateY);
511
-                    canvas.scale(1.0F, (float) Math.sin(radian) * 1.0F);
511
+                    canvas.scale(1.0F, (float) Math.sin(radian));
512 512
                     canvas.drawText(contentText, drawCenterContentStart, maxTextHeight - CENTER_CONTENT_OFFSET, paintCenterText);
513 513
                     canvas.restore();
514 514
                     canvas.save();

+ 2 - 2
app/src/main/java/com/yihucha/hbyhc/presentation/agent/view/YuePopwindow.java

@@ -20,8 +20,8 @@ import com.yihucha.hbyhc.R;
20 20
  */
21 21
 public class YuePopwindow extends PopupWindow implements View.OnClickListener {
22 22
 
23
-    private Context context;
24
-    private ImageView close;
23
+    private final Context context;
24
+    private final ImageView close;
25 25
 
26 26
     public YuePopwindow(final Context context) {
27 27
         super(context);

+ 0 - 4
app/src/main/java/com/yihucha/hbyhc/presentation/annuity/AlreadyRealNameActivity.java

@@ -5,15 +5,11 @@ import android.content.Intent;
5 5
 import android.os.Bundle;
6 6
 import android.view.View;
7 7
 
8
-import androidx.lifecycle.Observer;
9 8
 import androidx.lifecycle.ViewModelProvider;
10 9
 
11 10
 import com.yihucha.hbyhc.base.ViewBindingTitleBaseActivity;
12 11
 import com.yihucha.hbyhc.databinding.ActivityAlreadyrealnameBinding;
13
-import com.yihucha.hbyhc.databinding.ActivityAnnuityBinding;
14
-import com.yihucha.hbyhc.network.request_bean.AutonymRequest;
15 12
 import com.yihucha.hbyhc.presentation.annuity.view_model.RealNameAuthenticationViewModel;
16
-import com.yihucha.hbyhc.utils.GlideUtils;
17 13
 import com.yihucha.hbyhc.utils.StringsUtil;
18 14
 
19 15
 import java.util.HashMap;

+ 34 - 43
app/src/main/java/com/yihucha/hbyhc/presentation/annuity/AnnuityActivity.java

@@ -8,35 +8,33 @@ import android.view.View;
8 8
 import androidx.lifecycle.Observer;
9 9
 import androidx.lifecycle.ViewModelProvider;
10 10
 
11
+import com.tencent.mm.opensdk.modelbiz.WXLaunchMiniProgram;
12
+import com.tencent.mm.opensdk.openapi.IWXAPI;
13
+import com.tencent.mm.opensdk.openapi.WXAPIFactory;
11 14
 import com.yihucha.hbyhc.R;
12
-import com.yihucha.hbyhc.base.BaseActivity;
13 15
 import com.yihucha.hbyhc.base.ViewBindingChangeTitleColorTitleBaseActivity;
14 16
 import com.yihucha.hbyhc.base.WebViewTitleBaseActivity;
15 17
 import com.yihucha.hbyhc.callback.CustomTitleBarClickListener;
16 18
 import com.yihucha.hbyhc.callback.TwoButtonsListener;
17 19
 import com.yihucha.hbyhc.config.Constants;
18 20
 import com.yihucha.hbyhc.config.HttpUrl;
19
-import com.yihucha.hbyhc.databinding.ActivityAnnuityBinding;
21
+import com.yihucha.hbyhc.databinding.ActivityAnnuity2Binding;
20 22
 import com.yihucha.hbyhc.presentation.annuity.model.AmountFromGzcBean;
21 23
 import com.yihucha.hbyhc.presentation.mine.ThirdPartyBindingActivity;
22 24
 import com.yihucha.hbyhc.presentation.mine.model.UserAnnuityInfoBean;
23 25
 import com.yihucha.hbyhc.presentation.mine.model.UserInfoModel;
24
-import com.yihucha.hbyhc.presentation.mine.model.YanglaojinBean;
25 26
 import com.yihucha.hbyhc.presentation.mine.view_model.MineViewModel;
26 27
 import com.yihucha.hbyhc.utils.GlideUtils;
27 28
 import com.yihucha.hbyhc.utils.NumberUtil;
28 29
 import com.yihucha.hbyhc.view.CustomDialog;
29
-import com.tencent.mm.opensdk.modelbiz.WXLaunchMiniProgram;
30
-import com.tencent.mm.opensdk.openapi.IWXAPI;
31
-import com.tencent.mm.opensdk.openapi.WXAPIFactory;
32 30
 
33 31
 /**
34 32
  * @author qmzh
35 33
  * @date 2022/7/13
36 34
  * note:养老金主页
37 35
  */
38
-public class AnnuityActivity extends BaseActivity/* extends ViewBindingChangeTitleColorTitleBaseActivity<ActivityAnnuityBinding> implements View.OnClickListener*/ {
39
-    /*private MineViewModel mMineViewModel;
36
+public class AnnuityActivity  extends ViewBindingChangeTitleColorTitleBaseActivity<ActivityAnnuity2Binding> implements View.OnClickListener {
37
+    private MineViewModel mMineViewModel;
40 38
     private   String is_certification;//是否实名认证:1是
41 39
     @Override
42 40
     protected void onCreate(Bundle savedInstanceState) {
@@ -51,47 +49,41 @@ public class AnnuityActivity extends BaseActivity/* extends ViewBindingChangeTit
51 49
     private void initData() {
52 50
         //养老金数据
53 51
         mMineViewModel.getYanglaojin();
54
-        mMineViewModel.yanglaojinBeanMutableLiveData.observe(this, new Observer<YanglaojinBean>() {
55
-            @Override
56
-            public void onChanged(YanglaojinBean yanglaojinBean) {
57
-                mViewBinding.btvAllYanglao.setText("¥" + yanglaojinBean.getAll_yanglao());
58
-                mViewBinding.btvAllYanglaoA.setText("¥" + yanglaojinBean.getAll_yanglao_a());
52
+        mMineViewModel.yanglaojinBeanMutableLiveData.observe(this, yanglaojinBean -> {
53
+            mViewBinding.btvAllYanglao.setText("¥" + yanglaojinBean.getAll_yanglao());
54
+            mViewBinding.btvAllYanglaoA.setText("¥" + yanglaojinBean.getAll_yanglao_a());
59 55
 
60
-                mViewBinding.btvOnLineTakeNo.setText("¥" + NumberUtil.subtract(yanglaojinBean.getAll_yanglao(),yanglaojinBean.getAll_yanglao_a(),2));
61
-            }
56
+            mViewBinding.btvOnLineTakeNo.setText("¥" + NumberUtil.subtract(yanglaojinBean.getAll_yanglao(),yanglaojinBean.getAll_yanglao_a(),2));
62 57
         });
63 58
 
64
-        mMineViewModel.userAnnuityInfoBeanMutableLiveData.observe(this, new Observer<UserAnnuityInfoBean>() {
65
-            @Override
66
-            public void onChanged(UserAnnuityInfoBean userAnnuityInfoBean) {
67
-                 is_certification=userAnnuityInfoBean.getIs_certification();
59
+        mMineViewModel.userAnnuityInfoBeanMutableLiveData.observe(this, userAnnuityInfoBean -> {
60
+             is_certification=userAnnuityInfoBean.getIs_certification();
68 61
 //                mViewBinding.tvCreateTime.setText(userAnnuityInfoBean.getCreate_time());
69
-                mViewBinding.tvCreateTime.setText(userAnnuityInfoBean.getCreate_time().substring(0,10));
70
-                if (is_certification.equals("1")) {
71
-                    //已认证
62
+            mViewBinding.tvCreateTime.setText(userAnnuityInfoBean.getCreate_time().substring(0,10));
63
+            if (is_certification.equals("1")) {
64
+                //已认证
72 65
 //                    mViewBinding.tvIsApprove.setText(R.string.authenticated);
73 66
 //                    mViewBinding.tvIsApprove.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);
74
-                    mViewBinding.imgRenzheng.setImageResource(R.mipmap.weirenzheng);
75
-                    mViewBinding.tvBirthday60.setText(userAnnuityInfoBean.getBirthday60());
76
-                } else {
77
-                    //未认证
78
-                    *//*mViewBinding.tvIsApprove.setText(R.string.real_name_authentication);
79
-                    mViewBinding.tvIsApprove.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);*//*
80
-                    mViewBinding.imgRenzheng.setImageResource(R.mipmap.shimingrenzheng);
81
-                    mViewBinding.tvBirthday60.setText("未实名认证");
82
-                    CustomDialog.defaultDialog2(AnnuityActivity.this,
83
-                            R.string.warm_prompt, "实名认证后才可查看获得的\n养老金哦~", R.string.cancel, R.string.go_real_name_authentication, new TwoButtonsListener() {
84
-                                @Override
85
-                                public void leftButton() {
67
+                mViewBinding.imgRenzheng.setImageResource(R.mipmap.weirenzheng);
68
+                mViewBinding.tvBirthday60.setText(userAnnuityInfoBean.getBirthday60());
69
+            } else {
70
+                //未认证
71
+//                    mViewBinding.tvIsApprove.setText(R.string.real_name_authentication);
72
+//                    mViewBinding.tvIsApprove.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);
73
+                mViewBinding.imgRenzheng.setImageResource(R.mipmap.shimingrenzheng);
74
+                mViewBinding.tvBirthday60.setText("未实名认证");
75
+                CustomDialog.defaultDialog2(AnnuityActivity.this,
76
+                        R.string.warm_prompt, "实名认证后才可查看获得的\n养老金哦~", R.string.cancel, R.string.go_real_name_authentication, new TwoButtonsListener() {
77
+                            @Override
78
+                            public void leftButton() {
86 79
 //                                    AnnuityActivity.this.finish();
87
-                                }
88
-
89
-                                @Override
90
-                                public void rightButton() {
91
-                                    RealNameAuthenticationActivity.launch(context);
92
-                                }
93
-                            });
94
-                }
80
+                            }
81
+
82
+                            @Override
83
+                            public void rightButton() {
84
+                                RealNameAuthenticationActivity.launch(context);
85
+                            }
86
+                        });
95 87
             }
96 88
         });
97 89
         //用户信息
@@ -195,7 +187,6 @@ public class AnnuityActivity extends BaseActivity/* extends ViewBindingChangeTit
195 187
         //养老金信息
196 188
         mMineViewModel.getYanglaojinInfo();
197 189
     }
198
-*/
199 190
     public static void launch(Context context) {
200 191
         Intent intent = new Intent(context, AnnuityActivity.class);
201 192
         context.startActivity(intent);

+ 0 - 4
app/src/main/java/com/yihucha/hbyhc/presentation/annuity/AnnuityFragment.kt

@@ -6,8 +6,6 @@ import android.view.LayoutInflater
6 6
 import android.view.View
7 7
 import android.view.ViewGroup
8 8
 import android.widget.RelativeLayout
9
-import androidx.core.view.marginTop
10
-import androidx.core.view.setMargins
11 9
 import androidx.lifecycle.ViewModelProvider
12 10
 import com.tencent.mm.opensdk.modelbiz.WXLaunchMiniProgram
13 11
 import com.tencent.mm.opensdk.openapi.WXAPIFactory
@@ -18,10 +16,8 @@ import com.yihucha.hbyhc.callback.TwoButtonsListener
18 16
 import com.yihucha.hbyhc.config.Constants
19 17
 import com.yihucha.hbyhc.config.HttpUrl
20 18
 import com.yihucha.hbyhc.databinding.ActivityAnnuityBinding
21
-import com.yihucha.hbyhc.presentation.mine.ThirdPartyBindingActivity
22 19
 import com.yihucha.hbyhc.presentation.mine.view_model.MineViewModel
23 20
 import com.yihucha.hbyhc.utils.GlideUtils
24
-import com.yihucha.hbyhc.utils.ImmersedStatusbarUtils
25 21
 import com.yihucha.hbyhc.utils.NumberUtil
26 22
 import com.yihucha.hbyhc.utils.ScreenUtils
27 23
 import com.yihucha.hbyhc.utils.StringUtils

+ 8 - 6
app/src/main/java/com/yihucha/hbyhc/presentation/annuity/AnnuityRecordsActivity.kt

@@ -11,7 +11,6 @@ import android.view.View
11 11
 import android.view.ViewGroup
12 12
 import android.widget.FrameLayout
13 13
 import androidx.constraintlayout.widget.ConstraintLayout
14
-import androidx.core.content.ContextCompat
15 14
 import androidx.lifecycle.ViewModelProvider
16 15
 import androidx.recyclerview.widget.LinearLayoutManager
17 16
 import com.bigkoo.pickerview.R
@@ -25,10 +24,13 @@ import com.yihucha.hbyhc.databinding.ActivityAnnuityRecordsBinding
25 24
 import com.yihucha.hbyhc.presentation.annuity.adapter.AnnuityRecordsAdapter
26 25
 import com.yihucha.hbyhc.presentation.annuity.model.AnnuityRecordsBean
27 26
 import com.yihucha.hbyhc.presentation.mine.view_model.MineViewModel
28
-import com.yihucha.hbyhc.utils.*
27
+import com.yihucha.hbyhc.utils.DateUtil
28
+import com.yihucha.hbyhc.utils.EmptyCheckUtils
29
+import com.yihucha.hbyhc.utils.NumberUtil
30
+import com.yihucha.hbyhc.utils.ScreenUtils
31
+import com.yihucha.hbyhc.utils.StringUtils
29 32
 import com.yihucha.hbyhc.view.PopAnnuitySelector
30
-import com.yihucha.hbyhc.view.PopAnnuitySelector.OnSelectListener
31
-import java.util.*
33
+import java.util.Calendar
32 34
 
33 35
 class AnnuityRecordsActivity : ViewBindingBaseActivity<ActivityAnnuityRecordsBinding>(),
34 36
     View.OnClickListener {
@@ -87,7 +89,7 @@ class AnnuityRecordsActivity : ViewBindingBaseActivity<ActivityAnnuityRecordsBin
87 89
             }
88 90
         }
89 91
         mMineViewModel.failed.observe(this) {
90
-            mViewBinding.refreshLayout?.apply {
92
+            mViewBinding.refreshLayout.apply {
91 93
                 finishLoadmore()
92 94
                 finishRefreshing()
93 95
             }
@@ -227,7 +229,7 @@ class AnnuityRecordsActivity : ViewBindingBaseActivity<ActivityAnnuityRecordsBin
227 229
             mViewBinding.imgvBack -> finish()
228 230
             mViewBinding.tvDate -> {
229 231
                 //日期筛选
230
-                pvTime?.apply {
232
+                pvTime.apply {
231 233
                     if (!isShowing) {
232 234
                         show()
233 235
                     }

+ 0 - 1
app/src/main/java/com/yihucha/hbyhc/presentation/annuity/AutonymSucceedActivity.java

@@ -7,7 +7,6 @@ import android.view.View;
7 7
 
8 8
 import com.yihucha.hbyhc.base.ViewBindingTitleBaseActivity;
9 9
 import com.yihucha.hbyhc.databinding.ActivityAutonymSucceedBinding;
10
-import com.yihucha.hbyhc.databinding.ActivityRealNameAuthenticationBinding;
11 10
 import com.yihucha.hbyhc.network.request_bean.AutonymRequest;
12 11
 import com.yihucha.hbyhc.utils.GlideUtils;
13 12
 import com.yihucha.hbyhc.utils.StringsUtil;

+ 2 - 2
app/src/main/java/com/yihucha/hbyhc/presentation/annuity/PensionAccountActivity.java

@@ -12,12 +12,12 @@ import com.blankj.utilcode.util.ToastUtils;
12 12
 import com.yihucha.hbyhc.R;
13 13
 import com.yihucha.hbyhc.base.ViewBindingTitleBaseActivity;
14 14
 import com.yihucha.hbyhc.base.WebViewTitleBaseActivity;
15
+import com.yihucha.hbyhc.config.Constants;
15 16
 import com.yihucha.hbyhc.databinding.ActivityPensionAccountBinding;
16
-import com.yihucha.hbyhc.presentation.mine.model.UserInfoModel;
17 17
 import com.yihucha.hbyhc.presentation.mine.model.UserAnnuityInfoBean;
18
+import com.yihucha.hbyhc.presentation.mine.model.UserInfoModel;
18 19
 import com.yihucha.hbyhc.presentation.mine.model.YanglaojinBean;
19 20
 import com.yihucha.hbyhc.presentation.mine.view_model.MineViewModel;
20
-import com.yihucha.hbyhc.config.Constants;
21 21
 import com.yihucha.hbyhc.utils.GlideUtils;
22 22
 import com.yihucha.hbyhc.utils.NumberUtil;
23 23
 

+ 3 - 1
app/src/main/java/com/yihucha/hbyhc/presentation/annuity/PensionChoicePlatformActivity.java

@@ -7,7 +7,6 @@ import android.view.View;
7 7
 
8 8
 import com.yihucha.hbyhc.base.ViewBindingTitleBaseActivity;
9 9
 import com.yihucha.hbyhc.databinding.ActivityPensionChoicePlatformBinding;
10
-import com.yihucha.hbyhc.databinding.ActivityPensionrecordsBinding;
11 10
 
12 11
 /**
13 12
  * @author qmzh
@@ -29,6 +28,7 @@ public class PensionChoicePlatformActivity extends ViewBindingTitleBaseActivity<
29 28
         mViewBinding.llSuning.setOnClickListener(this);
30 29
         mViewBinding.llChuxubao.setOnClickListener(this);
31 30
         mViewBinding.llDouyin.setOnClickListener(this);
31
+        mViewBinding.llRecharge.setOnClickListener(this);
32 32
     }
33 33
 
34 34
     @Override
@@ -62,6 +62,8 @@ public class PensionChoicePlatformActivity extends ViewBindingTitleBaseActivity<
62 62
             PensionRecordsListActivity.launch(context,"9");
63 63
         }else if (v == mViewBinding.llChuxubao){
64 64
             PensionRecordsListActivity.launch(context,"90");
65
+        } else if (v == mViewBinding.llRecharge) {
66
+            PensionRecordsListActivity.launch(context,"10");
65 67
         }
66 68
     }
67 69
 

+ 0 - 1
app/src/main/java/com/yihucha/hbyhc/presentation/annuity/PensionRecordsActivity.java

@@ -10,7 +10,6 @@ import androidx.lifecycle.ViewModelProvider;
10 10
 
11 11
 import com.blankj.utilcode.util.ToastUtils;
12 12
 import com.yihucha.hbyhc.base.ViewBindingTitleBaseActivity;
13
-import com.yihucha.hbyhc.databinding.ActivityPensionAccountBinding;
14 13
 import com.yihucha.hbyhc.databinding.ActivityPensionrecordsBinding;
15 14
 import com.yihucha.hbyhc.presentation.mine.model.YanglaojinBean;
16 15
 import com.yihucha.hbyhc.presentation.mine.view_model.MineViewModel;

+ 5 - 5
app/src/main/java/com/yihucha/hbyhc/presentation/annuity/PensionRecordsListActivity.java

@@ -10,6 +10,8 @@ import androidx.lifecycle.Observer;
10 10
 import androidx.lifecycle.ViewModelProvider;
11 11
 import androidx.recyclerview.widget.LinearLayoutManager;
12 12
 
13
+import com.lcodecore.tkrefreshlayout.RefreshListenerAdapter;
14
+import com.lcodecore.tkrefreshlayout.TwinklingRefreshLayout;
13 15
 import com.yihucha.hbyhc.R;
14 16
 import com.yihucha.hbyhc.base.ViewBindingTitleBaseActivity;
15 17
 import com.yihucha.hbyhc.databinding.ActivityPensionRecordsListBinding;
@@ -20,8 +22,6 @@ import com.yihucha.hbyhc.presentation.annuity.model.YanglaojinLogXSBean;
20 22
 import com.yihucha.hbyhc.presentation.annuity.model.YanglaojinLogXXBean;
21 23
 import com.yihucha.hbyhc.presentation.mine.view_model.MineViewModel;
22 24
 import com.yihucha.hbyhc.presentation.order.model.ThirdOrderBean;
23
-import com.lcodecore.tkrefreshlayout.RefreshListenerAdapter;
24
-import com.lcodecore.tkrefreshlayout.TwinklingRefreshLayout;
25 25
 
26 26
 import java.util.ArrayList;
27 27
 import java.util.List;
@@ -39,12 +39,12 @@ public class PensionRecordsListActivity extends ViewBindingTitleBaseActivity<Act
39 39
     private LinearLayoutManager linearLayoutManager;
40 40
     //线上
41 41
     private  YanglaojinLogXSAdapter  mYanglaojinLogXSAdapter;
42
-    private List<YanglaojinLogXSBean.YanglaojinLogXSList> mYanglaojinLogXSList=new ArrayList<>();
42
+    private final List<YanglaojinLogXSBean.YanglaojinLogXSList> mYanglaojinLogXSList=new ArrayList<>();
43 43
     //线下
44 44
     private  YanglaojinLogXXAdapter   mYanglaojinLogXXAdapter;
45
-    private List<YanglaojinLogXXBean.YanglaojinLogXXList> mYanglaojinLogXXList=new ArrayList<>();
45
+    private final List<YanglaojinLogXXBean.YanglaojinLogXXList> mYanglaojinLogXXList=new ArrayList<>();
46 46
     //第三方
47
-    private List<ThirdOrderBean.ThirdOrderList> orderList = new ArrayList<>();
47
+    private final List<ThirdOrderBean.ThirdOrderList> orderList = new ArrayList<>();
48 48
     private ThirdOrderAdapter mThirdOrderAdapter;
49 49
     @Override
50 50
     protected void onCreate(Bundle savedInstanceState) {

+ 5 - 4
app/src/main/java/com/yihucha/hbyhc/presentation/annuity/RealNameAuthenticationActivity.java

@@ -62,7 +62,7 @@ public class RealNameAuthenticationActivity extends ViewBindingTitleBaseActivity
62 62
     private String card_positive;//正面链接
63 63
     private String card_reverse;//反面链接
64 64
     private AutonymRequest request;
65
-
65
+    private String file_provider = Constants.FILE_PROVIDER;
66 66
 
67 67
     @Override
68 68
     protected void onCreate(Bundle savedInstanceState) {
@@ -153,7 +153,8 @@ public class RealNameAuthenticationActivity extends ViewBindingTitleBaseActivity
153 153
 
154 154
     private void initView() {
155 155
         //初始化相机和相册功能
156
-        EasyPhotos.preLoad(this);
156
+//        EasyPhotos.preLoad(this);
157
+//        file_provider = getApplication().getPackageName()+".fileprovider";
157 158
     }
158 159
 
159 160
     @Override
@@ -228,7 +229,7 @@ public class RealNameAuthenticationActivity extends ViewBindingTitleBaseActivity
228 229
     public static final int CAMERA = 1001;
229 230
     public static final int PHOTO = 1002;
230 231
     private File tempFile;
231
-    private String file_provider = "com.laolaixiang.bjtdba.fileprovider";
232
+
232 233
 
233 234
     /**
234 235
      * 从相机获取图片
@@ -275,7 +276,7 @@ public class RealNameAuthenticationActivity extends ViewBindingTitleBaseActivity
275 276
                     }
276 277
                     //拍摄
277 278
                     EasyPhotos.createCamera(context, false)//参数说明:上下文,是否使用宽高数据(false时宽高数据为0,扫描速度更快)
278
-                            .setFileProviderAuthority("com.laolaixiang.bjtdba.fileprovider")//参数说明:见下方`FileProvider的配置`
279
+                            .setFileProviderAuthority(file_provider)//参数说明:见下方`FileProvider的配置`
279 280
                             .start(new SelectCallback() {
280 281
                                 @Override
281 282
                                 public void onResult(ArrayList<Photo> photos, boolean isOriginal) {

+ 3 - 3
app/src/main/java/com/yihucha/hbyhc/presentation/annuity/adapter/AnnuityRecordsAdapter.kt

@@ -12,7 +12,7 @@ import android.widget.TextView
12 12
 import androidx.recyclerview.widget.RecyclerView.Adapter
13 13
 import androidx.recyclerview.widget.RecyclerView.ViewHolder
14 14
 import com.bumptech.glide.Glide
15
-import com.bytedance.pangle.transform.ZeusTransformUtils.getResources
15
+//import com.bytedance.pangle.transform.ZeusTransformUtils.getResources
16 16
 import com.yihucha.hbyhc.R
17 17
 import com.yihucha.hbyhc.databinding.ItemAnnuityRecordsBinding
18 18
 import com.yihucha.hbyhc.presentation.annuity.model.AnnuityRecordsBean
@@ -48,11 +48,11 @@ class AnnuityRecordsAdapter(var context: Context, var listDatas: List<AnnuityRec
48 48
     }
49 49
 
50 50
     override fun getItemCount(): Int {
51
-        return if (EmptyCheckUtils.isEmpty(listDatas)) 0 else listDatas!!.size
51
+        return if (EmptyCheckUtils.isEmpty(listDatas)) 0 else listDatas.size
52 52
     }
53 53
 
54 54
     override fun onBindViewHolder(holder: ARHolder, position: Int) {
55
-        listDatas[position]?.apply {
55
+        listDatas[position].apply {
56 56
             setTextContent(holder.binding.tvValueYlj, number)
57 57
             Glide.with(context).load(product.product.image).into(holder.binding.imgvProduct)
58 58
             holder.binding.tvProductOrderTime.text = "下单时间:${create_time}"

+ 0 - 1
app/src/main/java/com/yihucha/hbyhc/presentation/annuity/adapter/ItemAnnuitySelectorAdapter.kt

@@ -9,7 +9,6 @@ import android.widget.RelativeLayout
9 9
 import androidx.recyclerview.widget.RecyclerView.Adapter
10 10
 import androidx.recyclerview.widget.RecyclerView.ViewHolder
11 11
 import com.yihucha.hbyhc.R
12
-import com.yihucha.hbyhc.databinding.ItemAnnuityRecordsBinding
13 12
 import com.yihucha.hbyhc.databinding.ItemAnnuitySelectorBinding
14 13
 import com.yihucha.hbyhc.presentation.annuity.model.SelectorBean
15 14
 import com.yihucha.hbyhc.utils.DensityUtils

+ 13 - 9
app/src/main/java/com/yihucha/hbyhc/presentation/annuity/adapter/ThirdOrderAdapter.java

@@ -6,6 +6,7 @@ import android.widget.LinearLayout;
6 6
 
7 7
 import androidx.annotation.Nullable;
8 8
 
9
+import com.bumptech.glide.Glide;
9 10
 import com.chad.library.adapter.base.BaseQuickAdapter;
10 11
 import com.chad.library.adapter.base.BaseViewHolder;
11 12
 import com.yihucha.hbyhc.R;
@@ -22,8 +23,8 @@ import java.util.List;
22 23
  * note:
23 24
  */
24 25
 public class ThirdOrderAdapter extends BaseQuickAdapter<ThirdOrderBean.ThirdOrderList, BaseViewHolder> {
25
-    private Context context;
26
-    private String type;
26
+    private final Context context;
27
+    private final String type;
27 28
 
28 29
     public ThirdOrderAdapter(Context context, int layoutResId, @Nullable List<ThirdOrderBean.ThirdOrderList> data, String type) {
29 30
         super(layoutResId, data);
@@ -34,18 +35,21 @@ public class ThirdOrderAdapter extends BaseQuickAdapter<ThirdOrderBean.ThirdOrde
34 35
     @Override
35 36
     protected void convert(BaseViewHolder helper, ThirdOrderBean.ThirdOrderList item) {
36 37
         RoundCornerImageView riv_mer_avatar = helper.getView(R.id.riv_mer_avatar);
37
-        GlideUtils.loadImage(context, item.getGoods_img(), riv_mer_avatar);
38
+
39
+
38 40
 
39 41
         helper.setText(R.id.btv_mer_name, item.getGoods_name());
40 42
         helper.setText(R.id.tv_number, "获得养老金:" + item.getYanglao());
41 43
         helper.setText(R.id.tv_order_sn, item.getOrder_sn());
42
-        if (type.equals("1")) {
43
-//            helper.setText(R.id.tv_create_time, "下单时间:" + DateUtil.getYearMonthDayTime(Long.parseLong(item.getCreate_time())));
44
-            helper.setText(R.id.tv_create_time, "下单时间:" + item.getCreate_time());
45
-        } else {
46
-            helper.setText(R.id.tv_create_time, "下单时间:" + item.getCreate_time());
44
+        helper.setText(R.id.tv_create_time, "下单时间:" + item.getCreate_time());
45
+        if ("10".equals(type)){
46
+            helper.setText(R.id.tv_mark, "养老金来源:话费充值");
47
+            Glide.with(context).load(R.mipmap.icon_recharge).into(riv_mer_avatar);
48
+        }else {
49
+            helper.setText(R.id.tv_mark, "养老金来源:购买商品");
50
+            GlideUtils.loadImage(context, item.getGoods_img(), riv_mer_avatar);
47 51
         }
48
-        helper.setText(R.id.tv_mark, "养老金来源:购买商品");
52
+
49 53
         LinearLayout llRoot = helper.getView(R.id.ll_root);
50 54
         llRoot.setOnClickListener(new View.OnClickListener() {
51 55
             @Override

+ 1 - 1
app/src/main/java/com/yihucha/hbyhc/presentation/annuity/adapter/YanglaojinLogXSAdapter.java

@@ -22,7 +22,7 @@ import java.util.List;
22 22
  * note:线上
23 23
  */
24 24
 public class YanglaojinLogXSAdapter extends BaseQuickAdapter<YanglaojinLogXSBean.YanglaojinLogXSList, BaseViewHolder> {
25
-    private Context context;
25
+    private final Context context;
26 26
     public YanglaojinLogXSAdapter(Context context,int layoutResId, @Nullable List<YanglaojinLogXSBean.YanglaojinLogXSList> data) {
27 27
         super(layoutResId, data);
28 28
         this.context=context;

+ 1 - 1
app/src/main/java/com/yihucha/hbyhc/presentation/annuity/adapter/YanglaojinLogXXAdapter.java

@@ -22,7 +22,7 @@ import java.util.List;
22 22
  * note:线上
23 23
  */
24 24
 public class YanglaojinLogXXAdapter extends BaseQuickAdapter<YanglaojinLogXXBean.YanglaojinLogXXList, BaseViewHolder> {
25
-    private Context context;
25
+    private final Context context;
26 26
     public YanglaojinLogXXAdapter(Context context, int layoutResId, @Nullable List<YanglaojinLogXXBean.YanglaojinLogXXList> data) {
27 27
         super(layoutResId, data);
28 28
         this.context=context;

+ 0 - 3
app/src/main/java/com/yihucha/hbyhc/presentation/annuity/view_model/RealNameAuthenticationViewModel.java

@@ -1,14 +1,11 @@
1 1
 package com.yihucha.hbyhc.presentation.annuity.view_model;
2 2
 
3
-import static com.blankj.utilcode.util.StringUtils.getString;
4
-
5 3
 import android.annotation.SuppressLint;
6 4
 
7 5
 import androidx.lifecycle.MutableLiveData;
8 6
 
9 7
 import com.alibaba.fastjson.JSON;
10 8
 import com.blankj.utilcode.util.ToastUtils;
11
-import com.yihucha.hbyhc.R;
12 9
 import com.yihucha.hbyhc.base.BaseViewModel;
13 10
 import com.yihucha.hbyhc.network.BaseObserver;
14 11
 import com.yihucha.hbyhc.network.DataResponse;

+ 0 - 1
app/src/main/java/com/yihucha/hbyhc/presentation/apply_channel/ApplyChannelActivity.java

@@ -22,7 +22,6 @@ import com.yihucha.hbyhc.base.WebViewTitleBaseActivity;
22 22
 import com.yihucha.hbyhc.callback.TwoInputButtonsListener;
23 23
 import com.yihucha.hbyhc.config.Constants;
24 24
 import com.yihucha.hbyhc.databinding.ActivityApplyChannelBinding;
25
-import com.yihucha.hbyhc.databinding.ActivityAutonymSucceedBinding;
26 25
 import com.yihucha.hbyhc.presentation.apply_channel.model.OrderIdBean;
27 26
 import com.yihucha.hbyhc.presentation.apply_channel.view_model.ChannelViewModel;
28 27
 import com.yihucha.hbyhc.presentation.pay.PayActivity;

+ 3 - 4
app/src/main/java/com/yihucha/hbyhc/presentation/apply_channel/ChannelOpenSuccessActivity.java

@@ -10,18 +10,17 @@ import android.view.View;
10 10
 import androidx.lifecycle.Observer;
11 11
 import androidx.lifecycle.ViewModelProvider;
12 12
 
13
+import com.tencent.mm.opensdk.modelbiz.WXLaunchMiniProgram;
14
+import com.tencent.mm.opensdk.openapi.IWXAPI;
15
+import com.tencent.mm.opensdk.openapi.WXAPIFactory;
13 16
 import com.yihucha.hbyhc.R;
14 17
 import com.yihucha.hbyhc.base.ViewBindingTitleBaseActivity;
15 18
 import com.yihucha.hbyhc.config.Constants;
16 19
 import com.yihucha.hbyhc.config.HttpUrl;
17
-import com.yihucha.hbyhc.databinding.ActivityApplyChannelBinding;
18 20
 import com.yihucha.hbyhc.databinding.ActivityChannelOpenSuccessBinding;
19 21
 import com.yihucha.hbyhc.presentation.apply_channel.model.UserInvitationCodeBean;
20 22
 import com.yihucha.hbyhc.presentation.apply_channel.view_model.ChannelViewModel;
21 23
 import com.yihucha.hbyhc.view.UserInvitationCodeDialog;
22
-import com.tencent.mm.opensdk.modelbiz.WXLaunchMiniProgram;
23
-import com.tencent.mm.opensdk.openapi.IWXAPI;
24
-import com.tencent.mm.opensdk.openapi.WXAPIFactory;
25 24
 
26 25
 import java.util.List;
27 26
 

+ 1 - 1
app/src/main/java/com/yihucha/hbyhc/presentation/apply_channel/adapter/UserInvitationCodeAdapter.java

@@ -21,7 +21,7 @@ import java.util.List;
21 21
  * note:
22 22
  */
23 23
 public class UserInvitationCodeAdapter  extends BaseQuickAdapter<UserInvitationCodeBean, BaseViewHolder> {
24
-    private Context context;
24
+    private final Context context;
25 25
     public UserInvitationCodeAdapter(Context context,int layoutResId, @Nullable List<UserInvitationCodeBean> data) {
26 26
         super(layoutResId, data);
27 27
         this.context=context;

+ 0 - 3
app/src/main/java/com/yihucha/hbyhc/presentation/apply_channel/view_model/ChannelViewModel.java

@@ -1,14 +1,11 @@
1 1
 package com.yihucha.hbyhc.presentation.apply_channel.view_model;
2 2
 
3
-import static com.blankj.utilcode.util.StringUtils.getString;
4
-
5 3
 import android.annotation.SuppressLint;
6 4
 import android.text.TextUtils;
7 5
 
8 6
 import androidx.lifecycle.MutableLiveData;
9 7
 
10 8
 import com.blankj.utilcode.util.ToastUtils;
11
-import com.yihucha.hbyhc.R;
12 9
 import com.yihucha.hbyhc.base.BaseViewModel;
13 10
 import com.yihucha.hbyhc.network.BaseObserver;
14 11
 import com.yihucha.hbyhc.network.DataResponse;

+ 43 - 46
app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/BigWarehouseFragment.java

@@ -54,17 +54,17 @@ import java.util.List;
54 54
 public class BigWarehouseFragment extends BaseFragment implements View.OnClickListener {
55 55
     private FragmentBigWarehouseBinding binding;
56 56
     private BigWarehouseViewModel bigWarehouseViewModel;
57
-    private HashMap<String, Integer> itemPos = new HashMap<>();
58
-    private HashMap<String, Integer> page = new HashMap<>();
57
+    private final HashMap<String, Integer> itemPos = new HashMap<>();
58
+    private final HashMap<String, Integer> page = new HashMap<>();
59 59
     //大仓列表
60
-    private List<DCItemListClassificationBean> mDCItemListClassificationBean = new ArrayList<>();
60
+    private final List<DCItemListClassificationBean> mDCItemListClassificationBean = new ArrayList<>();
61 61
     private DCItemListClassificationAdapter mDCItemListClassificationAdapter;
62 62
     //大仓推荐列表
63 63
 //    private List<RecommendListBean> mRecommendListBean = new ArrayList<>();
64 64
 //    private DcRecommendListAdapter mRecommendListAdapter;
65 65
 
66 66
     private int mPage = 1;
67
-    private List<DcProductBean> mDcProductBean = new ArrayList<>();//大仓商品
67
+    private final List<DcProductBean> mDcProductBean = new ArrayList<>();//大仓商品
68 68
     private DcProductAdapter mDcProductAdapter;
69 69
 
70 70
     private String classify = "";//分类id
@@ -97,53 +97,50 @@ public class BigWarehouseFragment extends BaseFragment implements View.OnClickLi
97 97
         mClassifyBean = new DCItemListClassificationBean();
98 98
         mClassifyBean.setCate_name("全部");
99 99
         mClassifyBean.setStore_category_id("");
100
-        bigWarehouseViewModel.mDCItemListClassificationData.observe(getActivity(), new Observer<List<DCItemListClassificationBean>>() {
101
-            @Override
102
-            public void onChanged(List<DCItemListClassificationBean> dcItemListClassificationBeans) {
103
-                //判断首页点击进来的是否传入分类的id,如果传入则默认点击
104
-                binding.rvProductList.setVisibility(View.VISIBLE);
105
-                binding.rvRecommendedList.setVisibility(View.GONE);
106
-                mDCItemListClassificationBean.clear();
107
-                if (TextUtils.isEmpty(MainActivity.storeCategoryId)) {
108
-                    mClassifyBean.setClick(true);
109
-                    if (!mDCItemListClassificationBean.contains(mClassifyBean)) {
110
-                        mDCItemListClassificationBean.add(0, mClassifyBean);
111
-                    }
100
+        bigWarehouseViewModel.mDCItemListClassificationData.observe(getActivity(), dcItemListClassificationBeans -> {
101
+            //判断首页点击进来的是否传入分类的id,如果传入则默认点击
102
+            binding.rvProductList.setVisibility(View.VISIBLE);
103
+            binding.rvRecommendedList.setVisibility(View.GONE);
104
+            mDCItemListClassificationBean.clear();
105
+            if (TextUtils.isEmpty(MainActivity.storeCategoryId)) {
106
+                mClassifyBean.setClick(true);
107
+                if (!mDCItemListClassificationBean.contains(mClassifyBean)) {
108
+                    mDCItemListClassificationBean.add(0, mClassifyBean);
109
+                }
112 110
 
113
-                    mDCItemListClassificationBean.addAll(dcItemListClassificationBeans);
114
-                    //商品列表
115
-                    mPage = 1;
116
-                    mDcProductBean.clear();
117
-                    bigWarehouseViewModel.getDaCangProductList(mPage, "");
118
-                } else {
119
-                    mClassifyBean.setClick(false);
120
-                    if (!mDCItemListClassificationBean.contains(mClassifyBean)) {
121
-                        mDCItemListClassificationBean.add(0, mClassifyBean);
122
-                    }
123
-                    mDCItemListClassificationBean.addAll(dcItemListClassificationBeans);
124
-
125
-                    for (int i = 0; i < mDCItemListClassificationBean.size(); i++) {
126
-                        if (mDCItemListClassificationBean.get(i).getStore_category_id()
127
-                                .equals(MainActivity.storeCategoryId)) {
128
-
129
-                            //设置选中
130
-                            mDCItemListClassificationBean.get(i).setClick(true);
131
-                            //设置view的位置
132
-                            binding.rvKingKongArea.scrollToPosition(i);
133
-                            //请求分类下的产品
134
-                            classify = mDCItemListClassificationBean.get(i).getStore_category_id();
135
-                            mPage = 1;
136
-                            mDcProductBean.clear();
137
-                            bigWarehouseViewModel.getDaCangProductList(mPage, classify);
138
-                            break;
139
-                        }
111
+                mDCItemListClassificationBean.addAll(dcItemListClassificationBeans);
112
+                //商品列表
113
+                mPage = 1;
114
+                mDcProductBean.clear();
115
+                bigWarehouseViewModel.getDaCangProductList(mPage, "");
116
+            } else {
117
+                mClassifyBean.setClick(false);
118
+                if (!mDCItemListClassificationBean.contains(mClassifyBean)) {
119
+                    mDCItemListClassificationBean.add(0, mClassifyBean);
120
+                }
121
+                mDCItemListClassificationBean.addAll(dcItemListClassificationBeans);
122
+
123
+                for (int i = 0; i < mDCItemListClassificationBean.size(); i++) {
124
+                    if (mDCItemListClassificationBean.get(i).getStore_category_id()
125
+                            .equals(MainActivity.storeCategoryId)) {
126
+
127
+                        //设置选中
128
+                        mDCItemListClassificationBean.get(i).setClick(true);
129
+                        //设置view的位置
130
+                        binding.rvKingKongArea.scrollToPosition(i);
131
+                        //请求分类下的产品
132
+                        classify = mDCItemListClassificationBean.get(i).getStore_category_id();
133
+                        mPage = 1;
134
+                        mDcProductBean.clear();
135
+                        bigWarehouseViewModel.getDaCangProductList(mPage, classify);
136
+                        break;
140 137
                     }
141 138
                 }
142
-                mDCItemListClassificationAdapter.replaceData(mDCItemListClassificationBean);
139
+            }
140
+            mDCItemListClassificationAdapter.replaceData(mDCItemListClassificationBean);
143 141
 //                if (rvPosition>0){
144 142
 //                    RecyclerViewPositionUtils.smoothMoveToPosition(binding.rvKingKongArea,rvPosition);
145 143
 //                }
146
-            }
147 144
         });
148 145
 
149 146
         bigWarehouseViewModel.mDcProductBean.observe(getActivity(), new Observer<List<DcProductBean>>() {
@@ -151,7 +148,7 @@ public class BigWarehouseFragment extends BaseFragment implements View.OnClickLi
151 148
             public void onChanged(List<DcProductBean> dcProductBeans) {
152 149
                 mDcProductBean.addAll(dcProductBeans);
153 150
 //                mDcProductBean.addAll(dcProductBeans);
154
-                if (mDcProductBean == null || mDcProductBean.size() == 0) {
151
+                if (mDcProductBean.isEmpty()) {
155 152
                     binding.noSearch.llNotFound.setVisibility(View.VISIBLE);
156 153
                     //上划之后的效果
157 154
                     return;

+ 2 - 2
app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/DacangSeckillActivity.java

@@ -41,10 +41,10 @@ import qiu.niorgai.StatusBarCompat;
41 41
 public class DacangSeckillActivity extends BaseActivity implements View.OnClickListener {
42 42
     private BigWarehouseViewModel mBigWarehouseViewModel;
43 43
     private DcSeckillDateAdapter mDcSeckillDateAdapter;
44
-    private List<DcSeckillBean> mDcSeckillBean = new ArrayList<>();
44
+    private final List<DcSeckillBean> mDcSeckillBean = new ArrayList<>();
45 45
     private ActivityDacangSeckillBinding mViewBinding;
46 46
     private DcSecondsKillProductsAdapter mDcSecondsKillProductsAdapter;
47
-    private List<DcSeckillBean.Product_data> mProduct_data = new ArrayList<>();
47
+    private final List<DcSeckillBean.Product_data> mProduct_data = new ArrayList<>();
48 48
 
49 49
     @Override
50 50
     protected void onCreate(Bundle savedInstanceState) {

+ 4 - 4
app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/DcHomeActivity.java

@@ -11,6 +11,8 @@ import androidx.lifecycle.ViewModelProvider;
11 11
 import androidx.recyclerview.widget.GridLayoutManager;
12 12
 import androidx.recyclerview.widget.LinearLayoutManager;
13 13
 
14
+import com.lcodecore.tkrefreshlayout.RefreshListenerAdapter;
15
+import com.lcodecore.tkrefreshlayout.TwinklingRefreshLayout;
14 16
 import com.yihucha.hbyhc.R;
15 17
 import com.yihucha.hbyhc.base.ViewBindingChangeTitleColorTitleBaseActivity;
16 18
 import com.yihucha.hbyhc.callback.CustomTitleBarClickListener;
@@ -25,8 +27,6 @@ import com.yihucha.hbyhc.presentation.home.adapter.ImageAdapter;
25 27
 import com.yihucha.hbyhc.presentation.home.model.BannerDataBean;
26 28
 import com.yihucha.hbyhc.presentation.product.ProductDetailsActivity;
27 29
 import com.yihucha.hbyhc.utils.GridSpacingItemDecoration;
28
-import com.lcodecore.tkrefreshlayout.RefreshListenerAdapter;
29
-import com.lcodecore.tkrefreshlayout.TwinklingRefreshLayout;
30 30
 import com.youth.banner.indicator.CircleIndicator;
31 31
 import com.youth.banner.listener.OnBannerListener;
32 32
 
@@ -42,13 +42,13 @@ public class DcHomeActivity extends ViewBindingChangeTitleColorTitleBaseActivity
42 42
     public static final String INTENT_DC_ID = "intentDcId";
43 43
     public static final String INENT_SHOP_NAME = "intentShopName";
44 44
     private BigWarehouseViewModel mBigWarehouseViewModel;
45
-    private List<DcHomeMerchantBean> mDcHomeMerchantBean = new ArrayList<>();//金刚区实体类
45
+    private final List<DcHomeMerchantBean> mDcHomeMerchantBean = new ArrayList<>();//金刚区实体类
46 46
     private DcShopAdapter mDcShopAdapter;
47 47
     private String dcId;//大仓店铺id
48 48
     private String shopName;//大仓名称
49 49
 
50 50
     //商品列表
51
-    private List<DcDetailsGoodsListBean> mDcDetailsGoodsListBean = new ArrayList<>();
51
+    private final List<DcDetailsGoodsListBean> mDcDetailsGoodsListBean = new ArrayList<>();
52 52
     private DcDetailsGoodsAdapter mDcDetailsGoodsAdapter;
53 53
     private int mPage = 1;
54 54
 

+ 0 - 1
app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/DcIntroduceActivity.java

@@ -9,7 +9,6 @@ import androidx.lifecycle.Observer;
9 9
 import androidx.lifecycle.ViewModelProvider;
10 10
 
11 11
 import com.yihucha.hbyhc.base.ViewBindingTitleBaseActivity;
12
-import com.yihucha.hbyhc.databinding.ActivityDcHomeBinding;
13 12
 import com.yihucha.hbyhc.databinding.ActivityDcIntroduceBinding;
14 13
 import com.yihucha.hbyhc.presentation.big_storehouse.model.DcIntroduceBean;
15 14
 import com.yihucha.hbyhc.presentation.big_storehouse.view_model.BigWarehouseViewModel;

+ 5 - 9
app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/DcMemberActivity.java

@@ -13,6 +13,8 @@ import androidx.recyclerview.widget.GridLayoutManager;
13 13
 
14 14
 import com.alibaba.fastjson.JSON;
15 15
 import com.blankj.utilcode.util.ToastUtils;
16
+import com.lcodecore.tkrefreshlayout.RefreshListenerAdapter;
17
+import com.lcodecore.tkrefreshlayout.TwinklingRefreshLayout;
16 18
 import com.yihucha.hbyhc.R;
17 19
 import com.yihucha.hbyhc.base.ViewBindingTitleBaseActivity;
18 20
 import com.yihucha.hbyhc.databinding.ActivityDcMemberBinding;
@@ -26,8 +28,6 @@ import com.yihucha.hbyhc.utils.DoubleFormatTool;
26 28
 import com.yihucha.hbyhc.utils.GridSpacingItemDecoration;
27 29
 import com.yihucha.hbyhc.utils.LogUtil;
28 30
 import com.yihucha.hbyhc.utils.LoginUtils;
29
-import com.lcodecore.tkrefreshlayout.RefreshListenerAdapter;
30
-import com.lcodecore.tkrefreshlayout.TwinklingRefreshLayout;
31 31
 
32 32
 import java.util.ArrayList;
33 33
 import java.util.HashMap;
@@ -41,12 +41,12 @@ import java.util.Map;
41 41
  */
42 42
 
43 43
 public class DcMemberActivity extends ViewBindingTitleBaseActivity<ActivityDcMemberBinding> implements View.OnClickListener {
44
-    private List<DcMemberProductBean.ProductList> mDcProductBean = new ArrayList<>();
44
+    private final List<DcMemberProductBean.ProductList> mDcProductBean = new ArrayList<>();
45 45
     private DcMemberProductAdapter mDcMemberProductAdapter;
46 46
     private BigWarehouseViewModel mBigWarehouseViewModel;
47 47
     private int mPage = 1;
48 48
     private int ivCheckAll = 0;//0是非全选,1是全选
49
-    private    List<String> cartId = new ArrayList<>();
49
+    private final List<String> cartId = new ArrayList<>();
50 50
 
51 51
     private  int num=1;//条目
52 52
     private   String is_da_cang_vip="0";//0不是大仓会员
@@ -101,11 +101,7 @@ public class DcMemberActivity extends ViewBindingTitleBaseActivity<ActivityDcMem
101 101
             @Override
102 102
             public void onItemClick(int position) {
103 103
                 if (LoginUtils.isLogin(context)){
104
-                    if (mDcProductBean.get(position).isClicks()) {
105
-                        mDcProductBean.get(position).setClicks(false);
106
-                    } else {
107
-                        mDcProductBean.get(position).setClicks(true);
108
-                    }
104
+                    mDcProductBean.get(position).setClicks(!mDcProductBean.get(position).isClicks());
109 105
                     //费用计算
110 106
                     getTotalprices();
111 107
                     mDcMemberProductAdapter.notifyDataSetChanged();

+ 1 - 1
app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/adapter/DcDetailsGoodsAdapter.java

@@ -21,7 +21,7 @@ import java.util.List;
21 21
  * note:
22 22
  */
23 23
 public class DcDetailsGoodsAdapter extends BaseQuickAdapter<DcDetailsGoodsListBean, BaseViewHolder> {
24
-    private Context context;
24
+    private final Context context;
25 25
     private OnClickListener mClickListener;
26 26
 
27 27
     public DcDetailsGoodsAdapter(int layoutResId, @Nullable List<DcDetailsGoodsListBean> data, Context context) {

+ 1 - 1
app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/adapter/DcKingKongAreaAdapter.java

@@ -21,7 +21,7 @@ import java.util.List;
21 21
  * note:
22 22
  */
23 23
 public class DcKingKongAreaAdapter extends BaseQuickAdapter<DcListBean, BaseViewHolder> {
24
-    private Context context;
24
+    private final Context context;
25 25
     private OnClickListener mClickListener;
26 26
     public DcKingKongAreaAdapter(int layoutResId, @Nullable List<DcListBean> data, Context context) {
27 27
         super(layoutResId, data);

+ 1 - 1
app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/adapter/DcMemberProductAdapter.java

@@ -22,7 +22,7 @@ import java.util.List;
22 22
  * note:会员商品
23 23
  */
24 24
 public class DcMemberProductAdapter extends BaseQuickAdapter<DcMemberProductBean.ProductList, BaseViewHolder> {
25
-    private Context context;
25
+    private final Context context;
26 26
     private OnClickListener mClickListener;
27 27
 
28 28
 

+ 1 - 1
app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/adapter/DcProductAdapter.java

@@ -21,7 +21,7 @@ import java.util.List;
21 21
  * note:
22 22
  */
23 23
 public class DcProductAdapter extends BaseQuickAdapter<DcProductBean, BaseViewHolder> {
24
-    private Context context;
24
+    private final Context context;
25 25
     private OnClickListener mClickListener;
26 26
 
27 27
     public DcProductAdapter(int layoutResId, @Nullable List<DcProductBean> data, Context context) {

+ 1 - 1
app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/adapter/DcRecommendListAdapter.java

@@ -22,7 +22,7 @@ import java.util.List;
22 22
  * note:
23 23
  */
24 24
 public class DcRecommendListAdapter extends BaseQuickAdapter<RecommendListBean, BaseViewHolder> {
25
-    private Context context;
25
+    private final Context context;
26 26
 
27 27
     public DcRecommendListAdapter(int layoutResId, @Nullable List<RecommendListBean> data, Context context) {
28 28
         super(layoutResId, data);

+ 1 - 1
app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/adapter/DcRecommendPicAdapter.java

@@ -22,7 +22,7 @@ import java.util.List;
22 22
  * note:
23 23
  */
24 24
 public class DcRecommendPicAdapter extends BaseQuickAdapter<RecommendListBean.RecommendList, BaseViewHolder> {
25
-    private Context context;
25
+    private final Context context;
26 26
 
27 27
     public DcRecommendPicAdapter(Context context, int layoutResId, @Nullable List<RecommendListBean.RecommendList> data) {
28 28
         super(layoutResId, data);

+ 1 - 5
app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/adapter/DcSeckillDateAdapter.java

@@ -2,7 +2,6 @@ package com.yihucha.hbyhc.presentation.big_storehouse.adapter;
2 2
 
3 3
 import android.content.Context;
4 4
 import android.graphics.Color;
5
-import android.os.CountDownTimer;
6 5
 import android.view.Display;
7 6
 import android.view.LayoutInflater;
8 7
 import android.view.View;
@@ -11,15 +10,12 @@ import android.view.WindowManager;
11 10
 
12 11
 import androidx.annotation.NonNull;
13 12
 import androidx.annotation.Nullable;
14
-import androidx.core.content.ContextCompat;
15 13
 import androidx.recyclerview.widget.RecyclerView;
16 14
 
17 15
 import com.yihucha.hbyhc.R;
18 16
 import com.yihucha.hbyhc.databinding.ItemSeckillBinding;
19 17
 import com.yihucha.hbyhc.presentation.big_storehouse.model.DcSeckillBean;
20 18
 import com.yihucha.hbyhc.utils.DensityUtils;
21
-import com.yihucha.hbyhc.utils.StringsUtil;
22
-import com.yihucha.hbyhc.utils.TimeUtils;
23 19
 
24 20
 import java.util.List;
25 21
 
@@ -32,7 +28,7 @@ public class DcSeckillDateAdapter extends RecyclerView.Adapter<DcSeckillDateAdap
32 28
     private OnClickListener mClickListener;
33 29
     private List<DcSeckillBean> data;
34 30
     private int position = 0;
35
-    private Context context;
31
+    private final Context context;
36 32
 
37 33
     public DcSeckillDateAdapter(int layoutResId, @Nullable List<DcSeckillBean> data, Context context) {
38 34
         this.context = context;

+ 1 - 2
app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/adapter/DcSecondsKillProductsAdapter.java

@@ -1,7 +1,6 @@
1 1
 package com.yihucha.hbyhc.presentation.big_storehouse.adapter;
2 2
 
3 3
 import android.content.Context;
4
-import android.view.View;
5 4
 import android.widget.ImageView;
6 5
 import android.widget.RelativeLayout;
7 6
 import android.widget.TextView;
@@ -23,7 +22,7 @@ import java.util.List;
23 22
  * note:
24 23
  */
25 24
 public class DcSecondsKillProductsAdapter extends BaseQuickAdapter<DcSeckillBean.Product_data, BaseViewHolder> {
26
-    private Context context;
25
+    private final Context context;
27 26
     private int status;//1-抢购中。2-即将开始。3-已结速
28 27
 
29 28
     private OnClickListener mClickListener;

+ 1 - 1
app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/adapter/DcShopAdapter.java

@@ -22,7 +22,7 @@ import java.util.List;
22 22
  * note:
23 23
  */
24 24
 public class DcShopAdapter extends BaseQuickAdapter<DcHomeMerchantBean, BaseViewHolder> {
25
-    private Context context;
25
+    private final Context context;
26 26
     public DcShopAdapter(int layoutResId, @Nullable List<DcHomeMerchantBean> data, Context context) {
27 27
         super(layoutResId, data);
28 28
         this.context=context;

+ 3 - 2
app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/adapter/HomeMSAdapter.kt

@@ -5,13 +5,13 @@ import android.view.LayoutInflater
5 5
 import android.view.View
6 6
 import android.view.ViewGroup
7 7
 import android.view.WindowManager
8
+import android.widget.Toast
8 9
 import androidx.recyclerview.widget.RecyclerView.Adapter
9 10
 import androidx.recyclerview.widget.RecyclerView.ViewHolder
10 11
 import com.bumptech.glide.Glide
11 12
 import com.yihucha.hbyhc.R
12 13
 import com.yihucha.hbyhc.databinding.ItemHomeMiaoshaBinding
13 14
 import com.yihucha.hbyhc.presentation.big_storehouse.model.DcSeckillBean
14
-import com.yihucha.hbyhc.presentation.product.ProductDetailsActivity
15 15
 import com.yihucha.hbyhc.utils.DensityUtils
16 16
 
17 17
 /**
@@ -45,7 +45,8 @@ class HomeMSAdapter(private var dataList: List<DcSeckillBean.Product_data>?,var
45 45
             tvYanglaojin.text = "养老金 ${pBean.yanglao}"
46 46
             Glide.with(context).load(pBean.image).into(imgvItem)
47 47
             layoutParent.setOnClickListener{
48
-                ProductDetailsActivity.launch(context, pBean.product_id)
48
+//                ProductDetailsActivity.launch(context, pBean.product_id)
49
+                Toast.makeText(context,"功能升级中", Toast.LENGTH_LONG).show()
49 50
             }
50 51
         }
51 52
     }

+ 0 - 2
app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/adapter/HomeVipAdapter.kt

@@ -9,9 +9,7 @@ import androidx.recyclerview.widget.RecyclerView.Adapter
9 9
 import androidx.recyclerview.widget.RecyclerView.ViewHolder
10 10
 import com.bumptech.glide.Glide
11 11
 import com.yihucha.hbyhc.R
12
-import com.yihucha.hbyhc.databinding.ItemHomeMiaoshaBinding
13 12
 import com.yihucha.hbyhc.databinding.ItemHomeVipBinding
14
-import com.yihucha.hbyhc.presentation.big_storehouse.model.DcSeckillBean
15 13
 import com.yihucha.hbyhc.presentation.product.ProductDetailsActivity
16 14
 import com.yihucha.hbyhc.presentation.shop.model.VipAreaBean
17 15
 import com.yihucha.hbyhc.utils.DensityUtils

+ 9 - 0
app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/model/DcSeckillBean.java

@@ -14,6 +14,15 @@ public class DcSeckillBean {
14 14
     private int product_id;
15 15
     private int status;//1-抢购中。2-即将开始。3-已结速
16 16
     private List<Product_data> product_data;
17
+    private boolean checked;
18
+
19
+    public boolean isChecked() {
20
+        return checked;
21
+    }
22
+
23
+    public void setChecked(boolean checked) {
24
+        this.checked = checked;
25
+    }
17 26
 
18 27
     public String getSeckill_date() {
19 28
         return seckill_date == null ? "" : seckill_date;

+ 0 - 3
app/src/main/java/com/yihucha/hbyhc/presentation/big_storehouse/repository/DcRepository.java

@@ -1,10 +1,7 @@
1 1
 package com.yihucha.hbyhc.presentation.big_storehouse.repository;
2 2
 
3
-import static com.blankj.utilcode.util.StringUtils.getString;
4
-
5 3
 import android.annotation.SuppressLint;
6 4
 
7
-import com.yihucha.hbyhc.R;
8 5
 import com.yihucha.hbyhc.callback.NormalListener;
9 6
 import com.yihucha.hbyhc.network.BaseObserver;
10 7
 import com.yihucha.hbyhc.network.DataResponse;

+ 0 - 0
app/src/main/java/com/yihucha/hbyhc/presentation/home/DingShengLianMengActivity.kt


Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.