Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
android-koreadc-client-aar
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
郑鹏
android-koreadc-client-aar
Commits
b66d516c
Commit
b66d516c
authored
Feb 23, 2021
by
郑鹏
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更改翻译
parent
a7798ca2
Show whitespace changes
Inline
Side-by-side
Showing
126 changed files
with
1363 additions
and
1380 deletions
+1363
-1380
build.gradle
app/build.gradle
+12
-10
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+39
-4
DKUserManager.java
app/src/main/java/cn/dankal/basiclib/DKUserManager.java
+7
-7
DankalApplication.java
app/src/main/java/cn/dankal/basiclib/DankalApplication.java
+18
-18
DkAppGlideModule.java
app/src/main/java/cn/dankal/basiclib/DkAppGlideModule.java
+6
-9
AddressService.java
app/src/main/java/cn/dankal/basiclib/api/AddressService.java
+7
-7
HomeService.java
app/src/main/java/cn/dankal/basiclib/api/HomeService.java
+4
-4
MallService.java
app/src/main/java/cn/dankal/basiclib/api/MallService.java
+20
-20
RestaurantService.java
...c/main/java/cn/dankal/basiclib/api/RestaurantService.java
+15
-15
UserService.java
app/src/main/java/cn/dankal/basiclib/api/UserService.java
+56
-56
BaseActivity.java
...n/java/cn/dankal/basiclib/base/activity/BaseActivity.java
+2
-2
BaseStateActivity.java
...a/cn/dankal/basiclib/base/activity/BaseStateActivity.java
+1
-1
DKCallBack.java
...ain/java/cn/dankal/basiclib/base/callback/DKCallBack.java
+1
-1
DKCallBackBoolean.java
...a/cn/dankal/basiclib/base/callback/DKCallBackBoolean.java
+1
-1
DKCallBackBooleanObject.java
...ankal/basiclib/base/callback/DKCallBackBooleanObject.java
+1
-1
BaseFragment.java
...n/java/cn/dankal/basiclib/base/fragment/BaseFragment.java
+3
-3
BaseLazyLoadFragment.java
...n/dankal/basiclib/base/fragment/BaseLazyLoadFragment.java
+7
-7
BaseRecyclerViewFragment.java
...nkal/basiclib/base/fragment/BaseRecyclerViewFragment.java
+1
-1
LazyLoadBaseFragment.java
...n/dankal/basiclib/base/fragment/LazyLoadBaseFragment.java
+1
-1
FragmentAdapter.java
...ankal/basiclib/base/fragmentactivity/FragmentAdapter.java
+1
-1
ItemViewsAdapter.java
...nkal/basiclib/base/fragmentactivity/ItemViewsAdapter.java
+1
-1
TabSegment.java
.../cn/dankal/basiclib/base/fragmentactivity/TabSegment.java
+69
-79
MainActivity.kt
app/src/main/java/cn/dankal/client/MainActivity.kt
+13
-13
HomeAdapter.java
app/src/main/java/cn/dankal/client/adapter/HomeAdapter.java
+1
-1
MyAutoCompleteTvAdapter.java
...ava/cn/dankal/client/adapter/MyAutoCompleteTvAdapter.java
+10
-20
CarShopAdapter.java
...ain/java/cn/dankal/client/adapter/car/CarShopAdapter.java
+1
-1
OrderResultAdapter.java
...ava/cn/dankal/client/adapter/home/OrderResultAdapter.java
+1
-1
ShopBottomListAdapter.java
.../cn/dankal/client/adapter/home/ShopBottomListAdapter.java
+5
-5
ShopSpecListAdapter.java
...va/cn/dankal/client/adapter/home/ShopSpecListAdapter.java
+1
-1
AfterListAdapter.java
...a/cn/dankal/client/adapter/personal/AfterListAdapter.java
+4
-4
EvaluationListAdapter.java
...dankal/client/adapter/personal/EvaluationListAdapter.java
+22
-25
FoodDetailsAdapter.java
...cn/dankal/client/adapter/personal/FoodDetailsAdapter.java
+1
-1
FoodOrderListAdapter.java
.../dankal/client/adapter/personal/FoodOrderListAdapter.java
+8
-8
MallOrderDetailsAdapter.java
...nkal/client/adapter/personal/MallOrderDetailsAdapter.java
+2
-2
MallOrderListAdapter.java
.../dankal/client/adapter/personal/MallOrderListAdapter.java
+16
-16
MyCollectAdapter.java
...a/cn/dankal/client/adapter/personal/MyCollectAdapter.java
+1
-1
MyCouponAdapter.java
...va/cn/dankal/client/adapter/personal/MyCouponAdapter.java
+1
-1
GridImageAdapter.java
.../java/cn/dankal/client/adapter/shop/GridImageAdapter.java
+12
-18
GridImageEvaluationAdapter.java
...ankal/client/adapter/shop/GridImageEvaluationAdapter.java
+12
-17
MallTypeTitleAdapter.java
...a/cn/dankal/client/adapter/shop/MallTypeTitleAdapter.java
+1
-1
ShopTypeTitleAdapter.java
...a/cn/dankal/client/adapter/shop/ShopTypeTitleAdapter.java
+1
-1
ConstantsHomeType.java
...in/java/cn/dankal/client/constants/ConstantsHomeType.java
+4
-4
CarFragment.kt
app/src/main/java/cn/dankal/client/ui/car/CarFragment.kt
+11
-11
FoodAllEvaluateActivity.kt
.../java/cn/dankal/client/ui/home/FoodAllEvaluateActivity.kt
+1
-1
HomeActivity.kt
app/src/main/java/cn/dankal/client/ui/home/HomeActivity.kt
+14
-14
HomeFragment.kt
app/src/main/java/cn/dankal/client/ui/home/HomeFragment.kt
+17
-17
MenuItemFragment.java
.../main/java/cn/dankal/client/ui/home/MenuItemFragment.java
+16
-16
SearchShopActivity.java
...ain/java/cn/dankal/client/ui/home/SearchShopActivity.java
+1
-1
DetailsInfoFragment.kt
...a/cn/dankal/client/ui/home/details/DetailsInfoFragment.kt
+1
-1
DetailsShopFragment.java
...cn/dankal/client/ui/home/details/DetailsShopFragment.java
+74
-74
DishesDetailsActivity.kt
...cn/dankal/client/ui/home/details/DishesDetailsActivity.kt
+61
-61
DishesDetailsTowActivity.kt
...dankal/client/ui/home/details/DishesDetailsTowActivity.kt
+74
-74
MerchantDetailsActivity.java
...ankal/client/ui/home/details/MerchantDetailsActivity.java
+26
-27
MerchantMallFragment.java
...n/dankal/client/ui/home/details/MerchantMallFragment.java
+4
-4
OrderResultActivity.kt
...a/cn/dankal/client/ui/home/details/OrderResultActivity.kt
+30
-31
RecommendMerchantActivity.java
...kal/client/ui/home/details/RecommendMerchantActivity.java
+3
-3
ResultPageActivity.kt
...va/cn/dankal/client/ui/home/details/ResultPageActivity.kt
+6
-6
ResultPageTowActivity.kt
...cn/dankal/client/ui/home/details/ResultPageTowActivity.kt
+7
-7
SelectCouponFragment.kt
.../cn/dankal/client/ui/home/details/SelectCouponFragment.kt
+1
-1
SelectPayActivity.kt
...ava/cn/dankal/client/ui/home/details/SelectPayActivity.kt
+2
-2
SelectPayFoodActivity.kt
...cn/dankal/client/ui/home/details/SelectPayFoodActivity.kt
+8
-8
TableSelectActivity.kt
...a/cn/dankal/client/ui/home/details/TableSelectActivity.kt
+13
-13
DishesPresenter.java
...kal/client/ui/home/details/presenter/DishesPresenter.java
+1
-1
GoogleMapsActivity.java
...java/cn/dankal/client/ui/home/map/GoogleMapsActivity.java
+6
-6
GoogleMapsMallActivity.java
.../cn/dankal/client/ui/home/map/GoogleMapsMallActivity.java
+4
-4
GoogleMapsMerchantActivity.java
...dankal/client/ui/home/map/GoogleMapsMerchantActivity.java
+4
-4
CouponTypeFragment.kt
...n/java/cn/dankal/client/ui/personal/CouponTypeFragment.kt
+2
-2
FeedbackActivity.kt
...ain/java/cn/dankal/client/ui/personal/FeedbackActivity.kt
+21
-27
LogoutActivity.kt
.../main/java/cn/dankal/client/ui/personal/LogoutActivity.kt
+2
-2
MyCollectActivity.kt
...in/java/cn/dankal/client/ui/personal/MyCollectActivity.kt
+4
-4
MyCouponFragment.kt
...ain/java/cn/dankal/client/ui/personal/MyCouponFragment.kt
+2
-2
PersonalFragment.kt
...ain/java/cn/dankal/client/ui/personal/PersonalFragment.kt
+3
-3
PersonalInfoActivity.kt
...java/cn/dankal/client/ui/personal/PersonalInfoActivity.kt
+44
-44
QueueDetailsActivity.kt
...java/cn/dankal/client/ui/personal/QueueDetailsActivity.kt
+13
-13
SettingActivity.kt
...main/java/cn/dankal/client/ui/personal/SettingActivity.kt
+4
-10
SystemMessageDetailsActivity.kt
...dankal/client/ui/personal/SystemMessageDetailsActivity.kt
+1
-1
UnCouponFragment.kt
...ain/java/cn/dankal/client/ui/personal/UnCouponFragment.kt
+2
-2
FoodEvaluationActivity.kt
...l/client/ui/personal/order/food/FoodEvaluationActivity.kt
+29
-29
FoodOrderActivity.kt
...dankal/client/ui/personal/order/food/FoodOrderActivity.kt
+5
-5
OrderDetailsActivity.kt
...kal/client/ui/personal/order/food/OrderDetailsActivity.kt
+15
-15
Test.java
...in/java/cn/dankal/client/ui/personal/order/food/Test.java
+0
-13
AfterSaleInfoActivity.kt
...al/client/ui/personal/order/mall/AfterSaleInfoActivity.kt
+16
-16
ApplyAfterSaleActivity.kt
...l/client/ui/personal/order/mall/ApplyAfterSaleActivity.kt
+2
-2
ApplyAfterSaleTowActivity.kt
...lient/ui/personal/order/mall/ApplyAfterSaleTowActivity.kt
+34
-37
EvaluationActivity.kt
...ankal/client/ui/personal/order/mall/EvaluationActivity.kt
+6
-6
ExpressActivity.java
...dankal/client/ui/personal/order/mall/ExpressActivity.java
+2
-2
LeaveMessageActivity.kt
...kal/client/ui/personal/order/mall/LeaveMessageActivity.kt
+4
-4
LogisticsActivity.kt
...dankal/client/ui/personal/order/mall/LogisticsActivity.kt
+1
-1
MallOrderActivity.kt
...dankal/client/ui/personal/order/mall/MallOrderActivity.kt
+1
-1
MallOrderDetailsActivity.kt
...client/ui/personal/order/mall/MallOrderDetailsActivity.kt
+4
-4
MallOrderDetailsCancelActivity.kt
.../ui/personal/order/mall/MallOrderDetailsCancelActivity.kt
+3
-3
MallOrderDetailsCompleteActivity.kt
...i/personal/order/mall/MallOrderDetailsCompleteActivity.kt
+7
-7
MallOrderDetailsPayActivity.kt
...ent/ui/personal/order/mall/MallOrderDetailsPayActivity.kt
+11
-11
MallOrderFragment.kt
...dankal/client/ui/personal/order/mall/MallOrderFragment.kt
+21
-22
AddAddressActivity.java
...ain/java/cn/dankal/client/ui/shop/AddAddressActivity.java
+9
-9
AddressManagerActivity.kt
...n/java/cn/dankal/client/ui/shop/AddressManagerActivity.kt
+1
-1
CommentMallActivity.kt
...main/java/cn/dankal/client/ui/shop/CommentMallActivity.kt
+2
-2
DetailsMerchantFragment.java
...ava/cn/dankal/client/ui/shop/DetailsMerchantFragment.java
+4
-4
MallEvaluateDetailsActivity.kt
...a/cn/dankal/client/ui/shop/MallEvaluateDetailsActivity.kt
+1
-1
MallPayResultActivity.kt
...in/java/cn/dankal/client/ui/shop/MallPayResultActivity.kt
+6
-6
MallSearchActivity.kt
.../main/java/cn/dankal/client/ui/shop/MallSearchActivity.kt
+26
-26
MerchantInfoFragment.kt
...ain/java/cn/dankal/client/ui/shop/MerchantInfoFragment.kt
+1
-1
QueueResultActivity.java
...in/java/cn/dankal/client/ui/shop/QueueResultActivity.java
+11
-11
ShopDetailActivity.kt
.../main/java/cn/dankal/client/ui/shop/ShopDetailActivity.kt
+23
-23
ShopFragment.java
app/src/main/java/cn/dankal/client/ui/shop/ShopFragment.java
+1
-1
ShopItemFragment.java
.../main/java/cn/dankal/client/ui/shop/ShopItemFragment.java
+2
-2
SureOrderActivity.kt
...c/main/java/cn/dankal/client/ui/shop/SureOrderActivity.kt
+24
-24
FindUtil.java
app/src/main/java/cn/dankal/client/util/FindUtil.java
+7
-7
ToastUtils.java
app/src/main/java/cn/dankal/client/util/ToastUtils.java
+1
-1
UIUtile.java
app/src/main/java/cn/dankal/client/util/UIUtile.java
+61
-49
ForgetPasswordHomeActivity.kt
.../java/cn/dankal/user/forget/ForgetPasswordHomeActivity.kt
+20
-20
FindEmailActivity.kt
app/src/main/java/cn/dankal/user/login/FindEmailActivity.kt
+14
-14
FindEmailTowActivity.kt
...rc/main/java/cn/dankal/user/login/FindEmailTowActivity.kt
+2
-2
LanguageSelectActivity.kt
.../main/java/cn/dankal/user/login/LanguageSelectActivity.kt
+4
-4
LoginActivity.kt
app/src/main/java/cn/dankal/user/login/LoginActivity.kt
+11
-11
EmailUpdatePasswordActivity.kt
...java/cn/dankal/user/modify/EmailUpdatePasswordActivity.kt
+1
-1
ModifyEmailActivity.kt
...rc/main/java/cn/dankal/user/modify/ModifyEmailActivity.kt
+8
-8
ModifyPhoneActivity.kt
...rc/main/java/cn/dankal/user/modify/ModifyPhoneActivity.kt
+15
-15
ProtocolActivity.kt
...src/main/java/cn/dankal/user/register/ProtocolActivity.kt
+5
-5
RegisterActivity.kt
...src/main/java/cn/dankal/user/register/RegisterActivity.kt
+22
-22
RegisterEmailActivity.kt
...ain/java/cn/dankal/user/register/RegisterEmailActivity.kt
+8
-8
IsBindPhoneActivity.kt
app/src/main/java/cn/dankal/user/wx/IsBindPhoneActivity.kt
+27
-26
RegisterWXEmailActivity.kt
...rc/main/java/cn/dankal/user/wx/RegisterWXEmailActivity.kt
+9
-9
strings.xml
app/src/main/res/values-en/strings.xml
+1
-1
build.gradle
build.gradle
+1
-1
module.gradle
module.gradle
+1
-0
No files found.
app/build.gradle
View file @
b66d516c
apply
plugin:
'com.android.application'
/*
apply plugin: 'com.android.library'
apply plugin: 'maven'
*/
//
apply plugin: 'com.android.application'
apply
plugin:
'com.android.library'
apply
plugin:
'maven'
apply
plugin:
'kotlin-android'
apply
plugin:
'kotlin-android-extensions'
apply
plugin:
'kotlin-kapt'
...
...
@@ -15,8 +15,9 @@ android {
compileSdkVersion
build_versions
.
compile_sdk
defaultConfig
{
multiDexEnabled
true
applicationId
"com.mhq.smartorder"
/*multiDexEnabled true
applicationId "com.mhq.smartorder"*/
minSdkVersion
build_versions
.
min_sdk
targetSdkVersion
build_versions
.
target_sdk
versionCode
1
...
...
@@ -51,6 +52,7 @@ android {
timeOutInMs=5*1000
installOptions '-r','-s'
}
*/
signingConfigs
{
...
...
@@ -125,7 +127,7 @@ android {
}
//DomainObjectCollection集合
applicationVariants
.
all
{
variant
->
/*
applicationVariants.all { variant ->
variant.outputs.each { output ->
if (output.outputFile != null && output.outputFile.name.endsWith('.apk')
&& 'release'.equals(variant.buildType.name)) {
...
...
@@ -140,7 +142,7 @@ android {
// output.outputFile=apkFile
}
}
}
}
*/
}
def
buildTime
()
{
...
...
@@ -167,7 +169,7 @@ def getAppVersionCode() {
}
return
stout
.
toString
().
split
(
"\n"
).
size
()
}
/*
ext {
ext
{
GITHUB_REPO_PATH
=
"../../androidlibrary"
PUBLISH_GROUP_ID
=
'com.mhq.smartorder'
PUBLISH_ARTIFACT_ID
=
'smartorder'
...
...
@@ -184,7 +186,7 @@ uploadArchives {
pom
.
version
=
project
.
PUBLISH_VERSION
// 版本号
}
}
}
*/
}
dependencies
{
...
...
@@ -264,4 +266,4 @@ dependencies {
api
files
(
'libs/core-3.3.3.jar'
)
}
apply
plugin:
'com.google.gms.google-services'
//
apply plugin: 'com.google.gms.google-services'
app/src/main/AndroidManifest.xml
View file @
b66d516c
...
...
@@ -337,10 +337,44 @@
android:name=
"com.luck.picture.lib.PictureVideoPlayActivity"
android:configChanges=
"orientation|keyboardHidden|screenSize"
android:screenOrientation=
"sensor"
/>
<activity
android:name=
"com.luck.picture.lib.PictureExternalPreviewActivity"
/>
<activity
android:name=
"com.yalantis.ucrop.UCropActivity"
/>
<activity
android:name=
"com.yalantis.ucrop.PictureMultiCuttingActivity"
/>
<activity
android:name=
"com.luck.picture.lib.PicturePlayAudioActivity"
/>
<activity
android:name=
"com.luck.picture.lib.PictureExternalPreviewActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
"com.yalantis.ucrop.UCropActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
"com.yalantis.ucrop.PictureMultiCuttingActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
"com.luck.picture.lib.PicturePlayAudioActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
"cn.dankal.user.login.LockStateActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
"cn.dankal.user.wx.IsBindPhoneActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
"cn.dankal.user.wx.RegisterWXEmailActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
"cn.dankal.user.register.ProtocolActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
"cn.dankal.user.modify.EmailUpdatePasswordActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
"cn.dankal.user.modify.ModifyPasswordActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
"cn.dankal.user.modify.ModifyEmailActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
"cn.dankal.user.modify.ModifyPhoneActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
"cn.dankal.user.register.RegisterInputInfoActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
"cn.dankal.user.register.RegisterEmailActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
"cn.dankal.user.register.RegisterActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
"cn.dankal.user.forget.ForgetPasswordHomeActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
"cn.dankal.user.login.FindEmailTowActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
"cn.dankal.user.login.FindEmailActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
"cn.dankal.user.forget.ForgetPasswordActivity"
android:screenOrientation=
"portrait"
/>
</application>
</manifest>
\ No newline at end of file
app/src/main/java/cn/dankal/basiclib/DKUserManager.java
View file @
b66d516c
...
...
@@ -29,8 +29,8 @@ public class DKUserManager {
/**
*
最初mUserInfo各属性内容为空,
*
如登录后可更新当前的UserInfo和本地的缓存
*
최초 mUserInfor 각 속성 내용 이 비 어 있 음,
*
로그 인 후 현재 UserInfor 와 로 컬 캐 시 를 업데이트 할 수 있 습 니 다.
*/
public
static
void
saveUserInfo
(
UserResponseBody
userResponseBody
)
{
UserInfoBean
userInfo
=
userResponseBody
.
getUserInfo
();
...
...
@@ -54,9 +54,9 @@ public class DKUserManager {
}
}
/**
*
如果从本地缓存中获取对象为空则实例化一个空对象
*
判断是否登录全程通过user_id是不是为0来判断而不是通过
*
mUserInfo是否等于null,防止UserManager.getUserInfo出现空指针
*
로 컬 캐 시 에서 대상 이 비어 있 으 면 빈 대상 을 예화 합 니 다.
*
전체 과정 에 로그 인 할 지 여 부 를 판단 하 는 user아 이 디 가 0 인지 아 닌 지 판단 하기
*
mUserInfor 가 null 인지, 방지UserManager. getuserInfor빈 포인터 출현
*/
private
static
void
readUserInfo
()
{
userInfo
=
(
UserInfoBean
)
PreferenceUtil
.
getBeanValue
(
mSpUserInfo
,
UserInfoBean
.
class
);
...
...
@@ -73,7 +73,7 @@ public class DKUserManager {
}
}
/**
*
清空缓存时调用
*
캐 시 비우 기 호출
*/
public
static
void
resetUserInfo
()
{
SharedPreferences
.
Editor
editor
=
mSpUserInfo
.
edit
();
...
...
@@ -89,7 +89,7 @@ public class DKUserManager {
}
/**
*
判断已经登录
*
판단 이미 로그 인
*/
public
static
boolean
isLogined
()
{
return
!
TextUtils
.
isEmpty
(
getUserToken
().
getToken
());
...
...
app/src/main/java/cn/dankal/basiclib/DankalApplication.java
View file @
b66d516c
...
...
@@ -42,7 +42,7 @@ import cn.dankal.client.BuildConfig;
*/
public
class
DankalApplication
extends
Application
{
//
是否是开发环境
//
개발 환경 인지 아 닌 지
public
static
final
boolean
isDev
=
false
;
private
static
DankalApplication
context
;
...
...
@@ -57,11 +57,11 @@ public class DankalApplication extends Application {
initARouter
();
initStetho
();
initLoadSir
();
//
适配方案
//
적합 한 방안.
DensityAdaptationUtils
.
setDensity
(
context
,
375
);
AppUtils
.
init
(
context
);
//
数据库初始化扫码
//
데이터베이스 초기 화 스 캔
LitePal
.
initialize
(
this
);
//bugly
...
...
@@ -76,37 +76,37 @@ public class DankalApplication extends Application {
MultiLanguage
.
init
(
new
LanguageLocalListener
()
{
@Override
public
Locale
getSetLanguageLocale
(
Context
context
)
{
//
返回自己本地保存选择的语言设置
//
선택 한 언어 설정 을 로 컬 로 되 돌려 줍 니 다.
return
LocalManageUtil
.
getSetLanguageLocale
(
context
);
}
});
MultiLanguage
.
setApplicationLanguage
(
this
);
// [
可选]设置是否打开debug输出,上线时请关闭,Logcat标签为"MtaSDK"
// [
선택 가능] debug 출력 여 부 를 설정 합 니 다. 로그 인 할 때 닫 으 십시오. Logcat 레이 블 은 "MTasDK" 입 니 다.
StatConfig
.
setDebugEnable
(
isDev
);
//
基础统计
API
//
기초 통계
API
StatService
.
registerActivityLifecycleCallbacks
(
this
);
String
appkey
=
"AIAF8SC17A3L"
;
//
初始化并启动MTA
//
MTA 초기 화 및 시작
try
{
StatService
.
startStatService
(
this
,
appkey
,
com
.
tencent
.
stat
.
common
.
StatConstants
.
VERSION
);
}
catch
(
Exception
e
)
{
}
//
处理按钮防多次点击,默认
1s,https://www.jianshu.com/p/7f3e5c8b8643
//
처리 버튼 여러 번 클릭 방지, 기본
1s,https://www.jianshu.com/p/7f3e5c8b8643
ViewDoubleHelper
.
init
(
this
);
}
/**
*
初始化阿里路由
*
아 리 경로 초기 화
*/
private
void
initARouter
()
{
if
(
BuildConfig
.
DEBUG
)
{
//
打印日志
//
일 지 를 인쇄 하 다.
ARouter
.
openLog
();
//
开启调试模式(如果在InstantRun模式下运行,必须开启调试模式!线上版本需要关闭,否则有安全风险
)
//
디 버 깅 모드 (InstantRun 모드 에서 실행 할 경우 디 버 깅 모드 를 실행 해 야 합 니 다!온라인 버 전 은 닫 아야 합 니 다. 그렇지 않 으 면 안전 위험 이 있 습 니 다.
)
ARouter
.
openDebug
();
}
ARouter
.
init
(
this
);
...
...
@@ -126,7 +126,7 @@ public class DankalApplication extends Application {
}
/**
*
facebook出品辅助开发工具
*
페 이 스 북 제작 보조 개발 도구
*/
private
void
initStetho
()
{
Stetho
.
initializeWithDefaults
(
this
);
...
...
@@ -157,10 +157,10 @@ public class DankalApplication extends Application {
}
public
static
IWXAPI
getIWXAPI
()
{
//
通过WXAPIFactory工厂,获取IWXAPI的实例
//
WXAPIFactory 공장 을 통 해 IWXAPI 의 인 스 턴 스 를 획득 합 니 다.
api
=
WXAPIFactory
.
createWXAPI
(
context
,
WxConstants
.
WX_APP_ID
,
true
);
//
将应用的appId注册到微信
//
애플 리 케 이 션 의 appid 를 위 챗 에 등록 합 니 다.
api
.
registerApp
(
WxConstants
.
WX_APP_ID
);
return
api
;
}
...
...
@@ -168,16 +168,16 @@ public class DankalApplication extends Application {
@Override
public
void
onConfigurationChanged
(
Configuration
newConfig
)
{
super
.
onConfigurationChanged
(
newConfig
);
//
用户在系统设置页面切换语言时保存系统选择语言(为了选择随系统语言时使用,如果不保存,切换语言后就拿不到了)
//
사용자 가 시스템 설정 페이지 전환 언어 를 설정 할 때 시스템 선택 언어 를 저장 합 니 다 (시스템 언어 를 선택 할 때 사용 합 니 다. 저장 하지 않 으 면 언어 전환 후 사용 할 수 없습니다)
LocalManageUtil
.
saveSystemCurrentLanguage
(
getApplicationContext
(),
newConfig
);
MultiLanguage
.
onConfigurationChanged
(
getApplicationContext
());
}
/**
*
判断App当前是否处于暗黑模式状态
*
App 가 현재 암흑 모드 상태 에 있 는 지 판단
*
* @param context
上下文
* @return
返回
* @param context
문맥
* @return
*/
public
static
boolean
isDarkMode
()
{
int
nightMode
=
AppCompatDelegate
.
MODE_NIGHT_FOLLOW_SYSTEM
;
...
...
app/src/main/java/cn/dankal/basiclib/DkAppGlideModule.java
View file @
b66d516c
...
...
@@ -28,23 +28,23 @@ public class DkAppGlideModule extends AppGlideModule {
@Override
public
void
applyOptions
(
Context
context
,
GlideBuilder
glideBuilder
)
{
/*
定义SD卡缓存大小和位置
*/
/*
SD 카드 캐 시 크기 와 위 치 를 정의 합 니 다.
*/
int
diskSize
=
1024
*
1024
*
100
;
// ExternalCacheDiskCacheFactory
// /sdcard/Android/data/<application package>/cache
glideBuilder
.
setDiskCache
(
new
ExternalPreferredCacheDiskCacheFactory
(
context
,
"glide"
,
diskSize
));
/*
定义图片格式
*/
/*
그림 형식 을 정의 하 다
*/
glideBuilder
.
setDefaultRequestOptions
(
new
RequestOptions
()
.
format
(
DecodeFormat
.
PREFER_RGB_565
));
}
/**
*
注册源 Model 对应的
ModelLoader
*
가입 소스 Model 에 대응 하 는
ModelLoader
*/
@Override
public
void
registerComponents
(
Context
context
,
Glide
glide
,
Registry
registry
)
{
//
注册全局唯一OkHttp客户端(HttpClient初始化的情况
)
//
전역 에서 유일 하 게 OkHTTP 클 라 이언 트 등록 (HTpClient 초기 화 된 경우
)
OkHttpUrlLoader
.
Factory
factory_glideurl
;
try
{
factory_glideurl
=
new
OkHttpUrlLoader
.
Factory
(
BaseApi
.
getOkhttpInstance
());
...
...
@@ -53,15 +53,12 @@ public class DkAppGlideModule extends AppGlideModule {
}
registry
.
replace
(
GlideUrl
.
class
,
InputStream
.
class
,
factory_glideurl
);
// //
注册视频获取缩略图的扩展
// //
비디오 를 등록 해서 미리 보기 그림 의 확장 을 가 져 옵 니 다.
// VideoModelLoader.Factory factory_videourl = new VideoModelLoader.Factory();
// registry.replace(VideoUrl.class, InputStream.class, factory_videourl);
}
/**
* 清单解析是否开启 <br>
* 要注意避免重复添加 <br>
*/
@Override
public
boolean
isManifestParsingEnabled
()
{
return
false
;
...
...
app/src/main/java/cn/dankal/basiclib/api/AddressService.java
View file @
b66d516c
...
...
@@ -22,7 +22,7 @@ import retrofit2.http.Query;
public
interface
AddressService
{
/**
*
地址列表
*
주소 목록
*
* @return
*/
...
...
@@ -30,7 +30,7 @@ public interface AddressService {
Observable
<
AddressEntity
>
getAddressList
();
/**
*
地址详情信息
*
상세주소정보
*
* @return
*/
...
...
@@ -38,7 +38,7 @@ public interface AddressService {
Observable
<
AddressEntity
.
DataBean
>
getAddressInfo
(
@Path
(
"uuid"
)
String
uuid
);
/**
*
获取详细地址列表
*
주소상세 리스트 획득
*
* @return
*/
...
...
@@ -46,7 +46,7 @@ public interface AddressService {
Observable
<
AddressListEntity
>
getSearchList
(
@Query
(
"q"
)
String
search
,
@Query
(
"id"
)
String
id
);
/**
*
修改地址状态(默认地址-删除)
*
주소 상태 수정 (기본 주소 - 삭제)
*
* @return
*/
...
...
@@ -54,7 +54,7 @@ public interface AddressService {
Observable
<
ResponseBody
>
updateAddressState
(
@Query
(
"uuid"
)
String
uuid
,
@Query
(
"type"
)
int
type
);
/**
*
修改地址(添加地址
)
*
주소 수정 (주소 등록
)
*
* @return
*/
...
...
@@ -62,14 +62,14 @@ public interface AddressService {
Observable
<
AddressEntity
>
updateAddress
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
添加地址
*
주소 등록
* @return
*/
@POST
(
"app/address/add"
)
Observable
<
AddressEntity
>
addAddress
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
获取快递秘钥
*
택배 키 획득
* @return
*/
@GET
(
"app/common/logistics_token"
)
...
...
app/src/main/java/cn/dankal/basiclib/api/HomeService.java
View file @
b66d516c
...
...
@@ -19,7 +19,7 @@ import retrofit2.http.Query;
public
interface
HomeService
{
/**
*
首页-用户附近的餐馆列表
*
홈-사용자 주변매장 리스트
*
* @return
*/
...
...
@@ -27,7 +27,7 @@ public interface HomeService {
Observable
<
BottomAroundEntity
>
aroundList
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
首页-用户附近的餐馆列表
*
홈-사용자 주변매장 리스트
*
* @return
*/
...
...
@@ -35,7 +35,7 @@ public interface HomeService {
Observable
<
TopHomeInfoEntity
>
getHomeListInfo
(
@Query
(
"pageIndex"
)
int
pageIndex
,
@Query
(
"pageSize"
)
int
pageSize
);
/**
*
首页-获取搜索热搜 餐馆/商城/商品
*
홈-인기검색어 획득 매장/쇼핑몰/상품
*
* @return
*/
...
...
@@ -44,7 +44,7 @@ public interface HomeService {
/**
*
列表-首页 推荐餐馆 / 搜索餐馆
*
리스트-홈 추천매장/매장검색
* @return
*/
@POST
(
"app/hotelHome/get/recommend_list"
)
...
...
app/src/main/java/cn/dankal/basiclib/api/MallService.java
View file @
b66d516c
...
...
@@ -33,7 +33,7 @@ import retrofit2.http.QueryMap;
*/
public
interface
MallService
{
/**
*
购物车-购物车列表
*
장바구니-장바구니리스트
*
* @return
*/
...
...
@@ -41,7 +41,7 @@ public interface MallService {
Observable
<
ShopCarEntity
>
getCartList
(
@Query
(
"pageIndex"
)
int
pageIndex
,
@Query
(
"pageSize"
)
int
pageSize
);
/**
*
购物车-添加
*
장바구니-상품선택
*
* @return
*/
...
...
@@ -49,7 +49,7 @@ public interface MallService {
Observable
<
AddCarResultEntity
>
addCart
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
操作-操作购物车 减少商品和删除
*
조작-장바구니 조작 상품감소 및 삭제
*
* @return
*/
...
...
@@ -57,7 +57,7 @@ public interface MallService {
Observable
<
ResponseBody
>
operateCart
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
详情-指定商城的详情及商品分类
*
상세-지정한 쇼핑몰의 상세정보 및 상품 카테고리
*
* @return
*/
...
...
@@ -65,7 +65,7 @@ public interface MallService {
Observable
<
MerchantHomeEntity
>
getStoreDetail
(
@Path
(
"storeUuid"
)
String
storeUuid
);
/**
*
详情-获取指定商品详情
*
상세-지정한 상품의 상세정보 획득
*
* @return
*/
...
...
@@ -73,7 +73,7 @@ public interface MallService {
Observable
<
ShopDetailEntity
>
getGoodsDetail
(
@Query
(
"storeUuid"
)
String
storeUuid
,
@Query
(
"goodsUuid"
)
String
goodsUuid
);
/**
*
详情-指定商城的商品的 规格详情
*
상세-지정한 쇼핑몰의 상품의 옵션상세
*
* @return
*/
...
...
@@ -81,7 +81,7 @@ public interface MallService {
Observable
<
List
<
MallSpecsDetailEntity
>>
getGoodsSpecs
(
@Query
(
"storeUuid"
)
String
storeUuid
,
@Query
(
"goodsUuid"
)
String
goodsUuid
);
/**
*
列表-指定商城商品分类的 商品列表
*
리스트-지정한 쇼핑몰 상품카테고리의 상품리스트
*
* @return
*/
...
...
@@ -89,7 +89,7 @@ public interface MallService {
Observable
<
MerchantShopEntity
>
goodsList
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
列表-订单商品的 评论列表
*
리스트-주문상품의 평가리스트
*
* @return
*/
...
...
@@ -97,7 +97,7 @@ public interface MallService {
Observable
<
CommentContentEntity
>
goodsRecommendList
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
评论详情
*
평가상세
*
* @return
*/
...
...
@@ -105,7 +105,7 @@ public interface MallService {
Observable
<
List
<
EvaluateEntity
>>
evaluateDetails
(
@Path
(
"uuid"
)
String
uuid
);
/**
*
列表-当前首页分类的指定商品
*
리스트-현재 홈 카테고리의 지정한 상품
*
* @return
*/
...
...
@@ -113,7 +113,7 @@ public interface MallService {
Observable
<
ShopEntity
>
homeGoodsList
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
列表-获取商城首页上半部分信息
*
리스트-쇼핑몰 홈의 상위 부분 정보 획득
*
* @return
*/
...
...
@@ -121,7 +121,7 @@ public interface MallService {
Observable
<
MallTopDataEntity
>
getHomeTopList
(
@Query
(
"pageIndex"
)
int
pageIndex
,
@Query
(
"pageSize"
)
int
pageSize
);
/**
*
操作-用户结算
*
조작-사용자구매하기
*
* @return
*/
...
...
@@ -129,7 +129,7 @@ public interface MallService {
Observable
<
SettleEntity
>
userSettle
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
操作-用户支付
*
조작-사용자결제
*
* @return
*/
...
...
@@ -137,7 +137,7 @@ public interface MallService {
Observable
<
PayParameterEntity
>
userPayment
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
商城订单留言列表
*
쇼핑몰주문 댓글기록 리스트
*
* @return
*/
...
...
@@ -145,7 +145,7 @@ public interface MallService {
Observable
<
LeaveNotesListEntity
>
leaveNotesList
(
@QueryMap
Map
<
String
,
Object
>
map
);
/**
*
用户商家留言
*
사용자 가맹점 댓글
*
* @return
*/
...
...
@@ -153,7 +153,7 @@ public interface MallService {
Observable
<
ResponseBody
>
leaveNotes
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
商城订单留言-用户/商家 留言内部回复
*
쇼핑몰주문댓글-사용자/가맹점 댓글 내부 회신
*
* @return
*/
...
...
@@ -162,7 +162,7 @@ public interface MallService {
/**
*
立即支付 -- 待支付订单
*
결제하기-결제대기 주문
*
* @return
*/
...
...
@@ -170,7 +170,7 @@ public interface MallService {
Observable
<
PayParameterEntity
>
nowPayment
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
用戶完成订单
*
사용 완료된 주문
*
* @return
*/
...
...
@@ -178,13 +178,13 @@ public interface MallService {
Observable
<
ResponseBody
>
finishOrder
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
列表,商城列表
*
리스트-쇼핑몰 리스트
*/
@GET
(
"app/store/get/store_list"
)
Observable
<
StoreEntity
>
getStoreList
(
@QueryMap
Map
<
String
,
Object
>
map
);
/**
*
支付- 推荐商品
*
결제-추천상품
*
* @return
*/
...
...
app/src/main/java/cn/dankal/basiclib/api/RestaurantService.java
View file @
b66d516c
...
...
@@ -29,7 +29,7 @@ import retrofit2.http.Query;
*/
public
interface
RestaurantService
{
/**
*
详情-获取指定餐馆详细信息
*
상세-지정한 매장의 상세정보 획득
*
* @return
*/
...
...
@@ -37,7 +37,7 @@ public interface RestaurantService {
Observable
<
RestaurantDetailEntity
>
getRestaurantDetail
(
@Path
(
"hotelUuid"
)
String
hotelUuid
);
/**
*
详情-获取指定商品详情
*
상세-지정한 상품의 상세정보 획득
*
* @return
*/
...
...
@@ -45,7 +45,7 @@ public interface RestaurantService {
Observable
<
HotelGoodsDetailEntity
>
getHotelGoodsDetail
(
@Query
(
"hotelUuid"
)
String
hotelUuid
,
@Query
(
"goodsUuid"
)
String
goodsUuid
);
/**
*
详情-获取指定商品的规格详情
*
상세-지정한 상품의 옵션상세 획득
*
* @return
*/
...
...
@@ -53,7 +53,7 @@ public interface RestaurantService {
Observable
<
RestaurantSpecEntity
>
getGoodsSpecDetail
(
@Query
(
"hotelUuid"
)
String
hotelUuid
,
@Query
(
"goodsUuid"
)
String
goodsUuid
);
/**
*
列表-指定餐馆的类别商品列表
*
리스트-지정한 매장의 카테고리 상품리스트
*
* @return
*/
...
...
@@ -61,7 +61,7 @@ public interface RestaurantService {
Observable
<
ShopTypeContentEntity
>
goodsTypeList
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
列表-指定餐馆的桌形分类列表
*
리스트-지정한 매장의 테이블유형 리스트
*
* @return
*/
...
...
@@ -69,7 +69,7 @@ public interface RestaurantService {
Observable
<
QueueEntity
>
getTablesList
(
@Path
(
"hotelUuid"
)
String
hotelUuid
);
/**
*
列表-用户的优惠券列表
*
리스트-사용자의 쿠폰리스트
*
* @return
*/
...
...
@@ -77,7 +77,7 @@ public interface RestaurantService {
Observable
<
CouponEntity
>
getCouponList
(
@Query
(
"hotelUuid"
)
String
hotelUuid
,
@Query
(
"type"
)
String
type
,
@Query
(
"useType"
)
String
useType
);
/**
*
列表-用户所有可用的 预约排队列表
*
리스트-사용자가 사용가능한 전체 예약대기 리스트
*
* @return
*/
...
...
@@ -85,7 +85,7 @@ public interface RestaurantService {
Observable
<
ShopCarEntity
>
getQueueList
();
/**
*
餐馆是否在营业时间内
*
매장 영업중 여부
*
* @return
*/
...
...
@@ -93,7 +93,7 @@ public interface RestaurantService {
Observable
<
BusinessTimeEntity
>
isBusiness
(
@Path
(
"hotelUuid"
)
String
hotelUuid
);
/**
*
用户是否在指定餐馆预约排队
*
사용자가 지정한 매장에서 예약대기 여부
*
* @return
*/
...
...
@@ -101,7 +101,7 @@ public interface RestaurantService {
Observable
<
IsOrderStoreEntity
>
isUserQueue
(
@Path
(
"hotelUuid"
)
String
hotelUuid
);
/**
*
提交排队
*
대기 제출
*
* @return
*/
...
...
@@ -109,7 +109,7 @@ public interface RestaurantService {
Observable
<
CommitQueueEntity
>
submitHotelQueue
(
@Query
(
"hotelUuid"
)
String
hotelUuid
,
@Query
(
"tablesTypeUuid"
)
String
tablesTypeUuid
);
/**
*
取消排队
*
대기 취소
*
* @return
*/
...
...
@@ -117,7 +117,7 @@ public interface RestaurantService {
Observable
<
ResponseBody
>
cancelQueue
(
@Path
(
"hotelQueueUuid"
)
String
hotelQueueUuid
);
/**
*
用户点击 去支付
*
사용자 클릭하여 결제하기
*
* @return
*/
...
...
@@ -125,7 +125,7 @@ public interface RestaurantService {
Observable
<
PayParameterEntity
>
userPay
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
用户点击 去结算
*
사용자 클릭하여 구매하기
*
* @return
*/
...
...
@@ -134,7 +134,7 @@ public interface RestaurantService {
/**
*
检查餐桌状态
*
테이블상태 조회
*
* @return
*/
...
...
@@ -143,7 +143,7 @@ public interface RestaurantService {
/**
*
获取餐馆评论列表
*
매장 평가리스트 획득
*
* @return
*/
...
...
app/src/main/java/cn/dankal/basiclib/api/UserService.java
View file @
b66d516c
...
...
@@ -67,7 +67,7 @@ import retrofit2.http.QueryMap;
public
interface
UserService
{
/**
*
用户信息
*
사용자정보
*
* @return
*/
...
...
@@ -75,7 +75,7 @@ public interface UserService {
Observable
<
UserInfoEntity
>
userInfo
();
/**
*
列表-用户邮票列表
*
리스트-사용자 스탬프리스트
*
* @return
*/
...
...
@@ -83,7 +83,7 @@ public interface UserService {
Observable
<
StampListEntity
>
stampList
(
@Query
(
"pageIndex"
)
int
pageIndex
,
@Query
(
"pageSize"
)
int
pageSize
);
/**
*
列表-用户优惠券列表
*
리스트-사용자 쿠폰리스트
*
* @return
*/
...
...
@@ -91,7 +91,7 @@ public interface UserService {
Observable
<
CouponListEntity
>
userCouponList
(
@Query
(
"type"
)
String
type
,
@Query
(
"useType"
)
String
useType
);
/**
*
列表-用户优惠券列表
*
리스트-사용자 쿠폰리스트
*
* @return
*/
...
...
@@ -99,73 +99,73 @@ public interface UserService {
Observable
<
CouponListEntity
>
userCouponList
(
@Query
(
"type"
)
String
type
,
@Query
(
"useType"
)
String
useType
,
@Query
(
"payment"
)
String
payment
);
/**
*
列表-用户所有可用的 预约排队列表
*
리스트-사용자 사용가능한 전체 예약대기 리스트
*/
@GET
(
"app/center/get/user_queue_list/{type}"
)
Observable
<
QueueEntity
>
userQueueList
(
@Path
(
"type"
)
int
type
);
/**
*
修改-修改用户密码
*
비밀번호 변경. - 비밀번호 변경.
*/
@POST
(
"app/center/update_password"
)
Observable
<
ResponseBody
>
updatePassword
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
修改-修改用户信息
*
수정-사용자정보 수정
*/
@POST
(
"app/center/update_user_info"
)
Observable
<
ResponseBody
>
updateUserInfo
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
忘记密码-邮箱登录
*
비밀번호 찾기-메일로그인
*/
@GET
(
"app/account/email_login/{email}"
)
Observable
<
UserInfoBean
>
emailLogin
(
@Path
(
"email"
)
String
email
);
/**
*
找回邮箱
*
메일찾기
*/
@GET
(
"app/account/get/email/{phone}"
)
Observable
<
FindEmailEntity
>
findEmail
(
@Path
(
"phone"
)
String
phone
);
/**
*
账号是否处于休眠状态
*
계정이 휴면상태 여부
*/
@POST
(
"app/account/is_sleep"
)
Observable
<
ResponseBody
>
isSleep
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
账号密码登录
*
계정 비밀번호 로그인
*/
@POST
(
"app/account/login"
)
Observable
<
UserInfoBean
>
accountLogin
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
验证手机or邮箱是否存在(200存在)
*
휴대폰번호 or 메일 존재여부 검증(200존재)
*/
@GET
(
"app/account/phoneOrEmail/is_register/{phone}/{type}"
)
Observable
<
IsRegisterPhoneOrEmailEntity
>
isRegister
(
@Path
(
"phone"
)
String
phone
,
@Path
(
"type"
)
int
type
);
/**
*
注册,用户注册
*
등록, 사용자등록
*/
@POST
(
"app/account/register"
)
Observable
<
UserRegisterSuccessEntity
>
register
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
解除账号休眠状态
*
계정휴면상태 해제
*/
@PUT
(
"app/account/relieve_sleep/{uuid}"
)
Observable
<
ResponseBody
>
relieveSleep
(
@Path
(
"uuid"
)
String
path
);
/**
*
忘记密码
*
비밀번호 찾기
*/
@POST
(
"app/account/reset_password"
)
Observable
<
ResponseBody
>
resetPassword
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
列表-用户收藏列表
*
리스트-사용자 즐겨찾기 리스트
*/
@GET
(
"app/center/get/user_collect_list"
)
Observable
<
CollectShopEntity
>
userCollectList
(
@Query
(
"pageIndex"
)
int
pageIndex
,
@Query
(
"pageSize"
)
int
pageSize
);
...
...
@@ -174,7 +174,7 @@ public interface UserService {
//--------------------------------------分界线--------------------------------------------------
/**
*
修改头像
*
프로필 이미지 수정
*
* @return
*/
...
...
@@ -184,238 +184,238 @@ public interface UserService {
/**
*
餐馆订单列表
*
매장주문 리스트
*/
@GET
(
"app/center/get/order_hotel_list"
)
Observable
<
FoodOrderEntity
>
orderHotelList
(
@Query
(
"orderStatus"
)
String
orderStatus
,
@Query
(
"pageIndex"
)
int
pageIndex
,
@Query
(
"pageSize"
)
int
pageSize
);
/**
*
详情餐品订单详情
*
상세 메뉴 주문 상세
*/
@GET
(
"app/center/get/order_hotel/detail/{uuid}"
)
Observable
<
OrderHotelDetail
>
orderHotelDetail
(
@Path
(
"uuid"
)
String
uuid
);
/**
*
添加-用户收藏
*
등록-사용자 즐겨찾기
*/
@POST
(
"app/center/add/user_collect"
)
Observable
<
ResponseBody
>
addUserCollect
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
删除-用户收藏
*
삭제 - 사용자 모음 집
*/
@POST
(
"app/center/delete/user_collect"
)
Observable
<
ResponseBody
>
deleteUserCollect
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
反馈-用户填写反馈
*
제안-사용자 입력한 제안
*/
@POST
(
"app/center/add/user_feedback"
)
Observable
<
ResponseBody
>
userFeedBack
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
注销账号
*
계정탈퇴
*/
@DELETE
(
"app/center/delete/user_account"
)
Observable
<
ResponseBody
>
deleteUserAccount
();
/**
*
列表-订单取消理由
*
리스트-주문취소이유
*/
@GET
(
"app/center/get/refund_reason_list"
)
Observable
<
RefundReasonListEntity
>
refundReasonList
(
@Query
(
"type"
)
int
type
);
/**
*
详情-用户排队详情
*
상세-사용자 대기상세
*/
@GET
(
"app/center/get/user_queue_detail/{uuid}"
)
Observable
<
QueueDetailsEntity
>
userQueueDetail
(
@Path
(
"uuid"
)
String
uuid
);
/**
*
评论-用户订单评论
*
평가-사용자 주문평가
*/
@POST
(
"app/center/order/user_comment"
)
Observable
<
ResponseBody
>
userComment
(
@Body
List
<
EvaluationCommitEntity
>
jsonObject
);
/**
*
餐馆售后-用户申请售后
*
매장AS-사용자 AS신청
*/
@POST
(
"app/center/order_hotel/after_sale/submit"
)
Observable
<
ResponseBody
>
submitAfterSale
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
餐馆订单售后-用户撤销售后(取消申诉)
*
매장AS-사용자 AS신청
*/
@GET
(
"app/center/order_hotel/after_sale/repeal"
)
Observable
<
ResponseBody
>
submitRepeal
(
@QueryMap
Map
<
String
,
Object
>
map
);
/**
*
列表-商城订单列表
*
리스트-쇼핑몰 주문리스트
*/
@GET
(
"app/center/get/order_store_list"
)
Observable
<
MallOrderListEntity
>
orderStoreList
(
@Query
(
"orderStatus"
)
String
orderStatus
,
@Query
(
"pageIndex"
)
int
pageIndex
,
@Query
(
"pageSize"
)
int
pageSize
);
/**
*
列表-商城订单详情
*
리스트-쇼핑몰 주문상세
*/
@GET
(
"app/center/get/order_store/detail/{uuid}"
)
Observable
<
MallOrderDetailEntity
>
orderStoreDetail
(
@Path
(
"uuid"
)
String
uuid
);
/**
*
发送手机验证码
*
휴대폰 인증번호 획득
*/
@GET
(
"app/common/send/phone"
)
Observable
<
CodeEntity
>
sendPhone
(
@Query
(
"phone"
)
String
phone
,
@Query
(
"nativeCode"
)
String
nativeCode
);
/**
*
校验验证码
*
인증번호 검증
*/
@POST
(
"app/common/sms_code"
)
Observable
<
ResponseBody
>
smsCode
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
发送HTML邮件
*
HTML메일 보내기
*/
@GET
(
"app/common/send/mail/html"
)
Observable
<
CodeEntity
>
getSimpleEmail
(
@Query
(
"to"
)
String
to
);
/**
*
商城订单-用户取消商城订单
*
쇼핑몰주문-사용자가 쇼핑몰주문 취소
*/
@POST
(
"app/center/order_store/cancel"
)
Observable
<
ResponseBody
>
orderStoreCancel
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
商城订单售后-用户申请售后
*
쇼핑몰AS주문-사용자가 AS신청
*/
@POST
(
"app/center/order_store/after_sale/submit"
)
Observable
<
AfterCommitEntity
>
orderStoreAfterSale
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
修改售后
*
AS수정
*/
@PUT
(
"app/center/get/store/after"
)
Observable
<
AfterCommitEntity
>
updateAfterSale
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
商城订单售后-用户撤销售后
*
쇼핑몰AS주문-사용자가 AS취소
*/
@GET
(
"app/center/order_store/after_sale/repeal"
)
Observable
<
ResponseBody
>
orderAfterSaleRepeal
(
@Query
(
"afterSaleUuid"
)
String
afterSaleUuid
,
@Query
(
"orderUuid"
)
String
orderUuid
);
/**
*
获取COS临时秘钥
*
COS임시 키 획득
*/
@GET
(
"app/common/get/cos_token"
)
Observable
<
UserCosTokenEntity
>
getCosToken
();
/**
*
列表-疑难问题列表
*
리스트-Difficult Problems리스트
*/
@GET
(
"app/center/get/common_problem_list"
)
Observable
<
ProblemListEntity
>
commonProblemList
(
@QueryMap
Map
<
String
,
Object
>
map
);
/**
*
详情-关于我们详情
*
상세-about us
*/
@GET
(
"app/center/get/about_details"
)
Observable
<
AboutDetailsEntity
>
aboutDetails
();
/**
*
添加或更新FcmToken(用户/商家端通用)
*
FcmToken등록 혹은 업데이트(사용자단/가맹점단 공통사용)
*/
@POST
(
"app/common/save/fcm_token"
)
Observable
<
ResponseBody
>
fcmToken
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
列表-系统消息列表
*
리스트-시스템 알림 리스트
*/
@GET
(
"app/center/get/system_message_list"
)
Observable
<
SystemMessageEntity
>
systemMessageList
(
@Query
(
"pageIndex"
)
int
pageIndex
,
@Query
(
"pageSize"
)
int
pageSize
);
/**
*
商城订单-用户完成订单
*
쇼핑몰주문-사용자가 완료된 주문
*/
@GET
(
"app/center/order_store/finish/{uuid}"
)
Observable
<
ResponseBody
>
finishMallOrder
(
@Path
(
"uuid"
)
String
uuid
);
/**
*
获取售后列表
*
AS리스트획득
*/
@POST
(
"app/center/get/store/after"
)
Observable
<
AfterEntity
>
storeAfter
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
获取售后详情
*
AS상세획득
*/
@POST
(
"app/center/get/store_info"
)
Observable
<
AfterInfoEntity
>
storeInfo
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
修改密码-用于邮箱验证登录后修改
*
비밀번호 수정-메일 검증 후 수정하는데 사용
*/
@POST
(
"app/account/email/forget_reset_password"
)
Observable
<
ResponseBody
>
resetEmailPassword
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
列表-商城订单协商历史
*
리스트-쇼핑몰 주문 댓글기록
*/
@GET
(
"app/center/get/order_history_list/{uuid}"
)
Observable
<
ConsultHistoryEntity
>
orderHistory
(
@Path
(
"uuid"
)
String
uuid
);
/**
*
列表-获取物流详细信息
*
리스트-운송정보 획득
*/
@GET
(
"api/v1/trackingInfo"
)
Observable
<
ExpressEntity
>
orderExpress
(
@QueryMap
Map
<
String
,
Object
>
map
);
/**
*
获取协议
*
약관획득
*/
@GET
(
"cms/merchant/clause/{type}"
)
Observable
<
ClauseEntity
>
getClause
(
@Path
(
"type"
)
int
type
);
/**
*
系统消息列表修改已读
*
시스템 알림 리스트 보기
*/
@PUT
(
"app/center/get/system_message_list"
)
Observable
<
ResponseBody
>
updateState
(
@Query
(
"uuid"
)
String
uuid
);
/**
*
app授权登录
*
앱 수권 로그인
*/
@FormUrlEncoded
@POST
(
"app/account/app_register"
)
Observable
<
UserInfoBean
>
appRegister
(
@Field
(
"jsCode"
)
String
jsCode
);
/**
*
app查看是否绑定手机号
*
앱에서 휴대폰번호 바인딩 여부 조회
*/
@GET
(
"app/account/is_binding"
)
Observable
<
IsBindPhoneEntity
>
isBindPhone
();
/**
*
验证手机or邮箱是否绑定第三方账号(200存在)
*
휴대폰번호 or 메일이 제3자계정 바인딩 여부 검증(200존재)
*/
@GET
(
"app/account/phoneOrEmail/is_binding_third"
)
Observable
<
IsRegisterPhoneOrEmailEntity
>
isBindingThird
(
@Query
(
"phone"
)
String
phone
,
@Query
(
"type"
)
int
type
,
@Query
(
"thirdType"
)
int
thirdType
);
/**
*
微信登录信息注册
*
위챗 로그인정보 등록
*/
@POST
(
"app/account/mini_register_user"
)
Observable
<
UserInfoBean
>
wxRegisterUser
(
@Body
Map
<
String
,
Object
>
map
);
/**
*
判断是否可以申请售后
*
AS신청가능여부 판단
*/
@GET
(
"app/center/order_hotel/after_sale/{uuid}"
)
Observable
<
String
>
afterSale
(
@Path
(
"uuid"
)
String
uuid
);
/**
*
绑定第三方账号
*
제3자계정 바인딩
*/
@POST
(
"app/account/binding"
)
Observable
<
UserInfoBean
>
accountBinding
(
@Body
Map
<
String
,
Object
>
map
);
...
...
app/src/main/java/cn/dankal/basiclib/base/activity/BaseActivity.java
View file @
b66d516c
...
...
@@ -162,12 +162,12 @@ public abstract class BaseActivity extends AppCompatActivity implements BaseView
protected
abstract
int
getLayoutId
();
/**
*
初始化组件
*
초기화 컴퍼넌트
*/
protected
abstract
void
initComponents
();
/**
*
添加标题栏
*
타이틀 영역 추가
*/
public
void
addTitleBar
(
ITitleBar
iTitleBar
)
{
if
(
iTitleBar
==
null
)
return
;
...
...
app/src/main/java/cn/dankal/basiclib/base/activity/BaseStateActivity.java
View file @
b66d516c
...
...
@@ -14,7 +14,7 @@ import cn.dankal.basiclib.widget.loadsir.core.LoadSir;
/**
* description:
具备 加载状态界面 的Activity基类
* description:
로 딩 상태 인터페이스 가 있 는 Activity 기본 클래스
*
* @author Dankal Android Developer
* @since 2018/1/30
...
...
app/src/main/java/cn/dankal/basiclib/base/callback/DKCallBack.java
View file @
b66d516c
...
...
@@ -4,7 +4,7 @@ package cn.dankal.basiclib.base.callback;
* Created by fred
* Date: 2017/11/29.
* Time: 15:46
* classDescription:
用于异步回调
* classDescription:
비동기 반전 에 사용
*/
public
interface
DKCallBack
{
...
...
app/src/main/java/cn/dankal/basiclib/base/callback/DKCallBackBoolean.java
View file @
b66d516c
package
cn
.
dankal
.
basiclib
.
base
.
callback
;
/**
*
具备判断条件的回调
*
판단 조건 을 갖 춘 반향
*/
public
interface
DKCallBackBoolean
{
int
YES
=
1
;
...
...
app/src/main/java/cn/dankal/basiclib/base/callback/DKCallBackBooleanObject.java
View file @
b66d516c
package
cn
.
dankal
.
basiclib
.
base
.
callback
;
/**
*
具备判断条件的回调
*
판단 조건 을 갖 춘 반향
*/
public
interface
DKCallBackBooleanObject
<
T
>
{
int
YES
=
1
;
...
...
app/src/main/java/cn/dankal/basiclib/base/fragment/BaseFragment.java
View file @
b66d516c
...
...
@@ -85,8 +85,8 @@ public abstract class BaseFragment extends Fragment implements BaseView {
}
/**
*
一般用于加载网络请求
*
此方法不是抽象方法,通过覆盖实现,可调用多次
*
로 딩 네트워크 요청 에 사용
*
이 방법 은 추상 적 인 방법 이 아니 라 커버 를 통 해 실 현 된 것 으로 여러 차례 호출 될 수 있다
*/
public
void
obtainData
()
{
}
...
...
@@ -279,7 +279,7 @@ public abstract class BaseFragment extends Fragment implements BaseView {
}
/**
*
跳转到权限设置页面
*
권한 설정 페이지 로 가기
*/
public
void
toSelfSetting
()
{
Intent
mIntent
=
new
Intent
();
...
...
app/src/main/java/cn/dankal/basiclib/base/fragment/BaseLazyLoadFragment.java
View file @
b66d516c
...
...
@@ -18,15 +18,15 @@ import android.view.ViewGroup;
public
abstract
class
BaseLazyLoadFragment
extends
BaseStateFragment
{
/**
*
当前Fragment是否可见
*
현재 Fragment 보 이 는 지 여부
*/
protected
boolean
isVisible
=
false
;
/**
*
是否与View建立起映射关系
*
View 와 맵 관 계 를 맺 을 지 여부
*/
protected
boolean
isInitView
=
false
;
/**
*
是否是第一次加载数据
*
데 이 터 를 처음 불 러 오 는 지 여부
*/
protected
boolean
isFirstLoad
=
true
;
...
...
@@ -46,7 +46,7 @@ public abstract class BaseLazyLoadFragment extends BaseStateFragment {
}
//
当fragment结合viewpager使用的时候 这个方法会调用
//
fragment 가 view pager 와 결합 하여 사용 할 때 이 방법 은 호출 됩 니 다.
@Override
public
void
setUserVisibleHint
(
boolean
isVisibleToUser
)
{
if
(
isVisibleToUser
)
{
...
...
@@ -65,8 +65,8 @@ public abstract class BaseLazyLoadFragment extends BaseStateFragment {
}
}
//
当fragment没有结合viewpager使用的时候 isVisible永远为false
// viewPager.setOffscreenPageLimit();
设为Viewpager数量
//
fragment 가 view pager 와 결합 하지 않 았 을 때 isVisible 은 영원히 false 이다.
// viewPager.setOffscreenPageLimit();
Viewpager 수량 으로 설정
@Override
public
void
onHiddenChanged
(
boolean
hidden
)
{
super
.
onHiddenChanged
(
hidden
);
...
...
@@ -75,7 +75,7 @@ public abstract class BaseLazyLoadFragment extends BaseStateFragment {
}
/**
*
手动判断是否需要更新数据
*
데 이 터 를 업데이트 할 필요 가 있 는 지 수 동 으로 판단 합 니 다.
*/
protected
void
checkLoad
()
{
if
(
isVisible
&&
isInitView
)
{
...
...
app/src/main/java/cn/dankal/basiclib/base/fragment/BaseRecyclerViewFragment.java
View file @
b66d516c
...
...
@@ -22,7 +22,7 @@ import cn.dankal.basiclib.widget.swipetoloadlayout.SwipeToLoadLayout;
/**
*
列表类型通用的
Fragment
*
목록 형식 공통
Fragment
*
* @author fred
*/
...
...
app/src/main/java/cn/dankal/basiclib/base/fragment/LazyLoadBaseFragment.java
View file @
b66d516c
...
...
@@ -71,7 +71,7 @@ public abstract class LazyLoadBaseFragment extends BaseFragment {
/**
*
统一处理 显示隐藏
*
일괄 처리 표시 숨 기기
*
* @param visible
*/
...
...
app/src/main/java/cn/dankal/basiclib/base/fragmentactivity/FragmentAdapter.java
View file @
b66d516c
...
...
@@ -8,7 +8,7 @@ import android.support.v4.app.FragmentStatePagerAdapter;
import
java.util.List
;
/**
* description:
通用
Fragment Adapter
* description:
유 니 버 설
Fragment Adapter
*
* @author vane
* @since 2018/3/12
...
...
app/src/main/java/cn/dankal/basiclib/base/fragmentactivity/ItemViewsAdapter.java
View file @
b66d516c
...
...
@@ -14,7 +14,7 @@ import cn.dankal.client.R;
public
abstract
class
ItemViewsAdapter
<
T
,
V
extends
View
>
{
private
Pools
.
Pool
<
V
>
mCachePool
;
private
List
<
T
>
mItemData
=
new
ArrayList
<>();
//
不能简单的用mParentView的子views,因为可能mParentView有一些装饰子view,不应该归adapter管理
//
mParentView 의 하위 views 를 쉽게 사용 할 수 없습니다. mParentView 에 장식 용 서브 view 가 있 을 수 있 으 므 로 adapter 에 의 해 관리 되 어 서 는 안 됩 니 다.
private
List
<
V
>
mViews
=
new
ArrayList
<>();
private
ViewGroup
mParentView
;
...
...
app/src/main/java/cn/dankal/basiclib/base/fragmentactivity/TabSegment.java
View file @
b66d516c
...
...
@@ -90,7 +90,7 @@ import cn.dankal.basiclib.util.ViewHelper;
* @date 2016-01-27
*/
public
class
TabSegment
extends
HorizontalScrollView
{
// mode:
自适应宽度+滚动 / 均分
// mode:
자가 적응 너비 + 스크롤 / 평균
public
static
final
int
MODE_SCROLLABLE
=
0
;
public
static
final
int
MODE_FIXED
=
1
;
// icon position
...
...
@@ -98,7 +98,7 @@ public class TabSegment extends HorizontalScrollView {
public
static
final
int
ICON_POSITION_TOP
=
1
;
public
static
final
int
ICON_POSITION_RIGHT
=
2
;
public
static
final
int
ICON_POSITION_BOTTOM
=
3
;
// status:
用于记录tab的改变状态
// status:
tab 의 변경 상 태 를 기록 할 때 사용 합 니 다.
private
static
final
int
STATUS_NORMAL
=
0
;
private
static
final
int
STATUS_PROGRESS
=
1
;
private
static
final
int
STATUS_SELECTED
=
2
;
...
...
@@ -111,27 +111,27 @@ public class TabSegment extends HorizontalScrollView {
private
int
mPendingSelectedIndex
=
Integer
.
MIN_VALUE
;
private
Container
mContentLayout
;
/**
*
item的默认字体大小
*
아 이 템 의 기본 글꼴 크기
*/
private
int
mTabTextSize
;
/**
*
是否有Indicator
*
혹시 Indicator 가 있 나 요?
*/
private
boolean
mHasIndicator
=
true
;
/**
* Indicator
高度
* Indicator
높이
*/
private
int
mIndicatorHeight
;
/**
* indicator
在顶部
* indicator
가 맨 위 에 있어 요.
*/
private
boolean
mIndicatorTop
=
false
;
/**
* indicator
采用drawable
* indicator
는 drawable 을 사용 합 니 다.
*/
private
Drawable
mIndicatorDrawable
;
/**
* indicator
宽度跟随内容宽度
* indicator
폭 추적 내용 폭
*/
private
boolean
mIsIndicatorWidthFollowContent
=
true
;
/**
...
...
@@ -146,7 +146,7 @@ public class TabSegment extends HorizontalScrollView {
private
int
mIndicatorSelectedColor
;
/**
* item icon
的默认位置
* item icon
의 기본 위치
*/
@IconPosition
private
int
mDefaultTabIconPosition
;
...
...
@@ -156,7 +156,7 @@ public class TabSegment extends HorizontalScrollView {
@Mode
private
int
mMode
=
MODE_FIXED
;
/**
* ScrollMode
下item的间隙
* ScrollMode
하 이 아 이 템 사이
*/
private
int
mItemSpaceInScrollMode
;
/**
...
...
@@ -172,7 +172,7 @@ public class TabSegment extends HorizontalScrollView {
int
index
=
(
int
)
v
.
getTag
();
/*
Editby:Vane
调用者自行判断点击后是否继续进行切换(icon状态,
Fragment)
호출 자 는 클릭 후 계속 전환 할 지 여 부 를 스스로 판단 합 니 다 (icon 상태,
Fragment)
*/
boolean
isContinueClick
=
true
;
if
(
mOnTabClickListener
!=
null
)
{
...
...
@@ -191,7 +191,7 @@ public class TabSegment extends HorizontalScrollView {
}
};
/**
*
与ViewPager的协同工作
*
ViewPager 와 의 협동 작업
*/
private
ViewPager
mViewPager
;
private
PagerAdapter
mPagerAdapter
;
...
...
@@ -328,8 +328,8 @@ public class TabSegment extends HorizontalScrollView {
}
/**
*
清空已经存在的 Tab。
*
一般先调用本方法清空已加上的 Tab, 然后重新 {@link #addTab(Tab)} 添加新的 Tab, 然后通过 {@link #notifyDataChanged()} 通知变动
*
이미 존재 하 는 Tab 를 삭제 합 니 다.
*
일반적으로 이 방법 을 사용 하여 추 가 된 Tab 를 제거 한 다음, @ link # addTab (Tab)} 에 새로운 Tab 를 추가 한 후, @ link # notify DataChanged ()} 을 통 해 변경 사항 을 알 립 니 다.
*/
public
void
reset
()
{
mContentLayout
.
getTabAdapter
().
clear
();
...
...
@@ -354,7 +354,7 @@ public class TabSegment extends HorizontalScrollView {
}
/**
*
设置 indicator 为自定义的 Drawable(默认跟随 Tab 的
selectedColor)
*
indicator 를 사용자 정의 Drawable 로 설정 합 니 다 (기본 값 으로 Tab 를 따 르 는
selectedColor)
*/
public
void
setIndicatorDrawable
(
Drawable
indicatorDrawable
)
{
mIndicatorDrawable
=
indicatorDrawable
;
...
...
@@ -365,7 +365,7 @@ public class TabSegment extends HorizontalScrollView {
}
/**
*
设置indicator颜色
*
indicator 색상 설정
* @param indicatorColor
*/
public
void
setIndicatorColor
(
@ColorInt
int
indicatorColor
)
{
...
...
@@ -374,25 +374,25 @@ public class TabSegment extends HorizontalScrollView {
}
/**
*
设置 indicator的宽度是否随内容宽度变化
*
indicator 의 폭 을 설정 합 니 다. 내용 에 따라 폭 이 달라 질 지 여부 입 니 다.
*/
public
void
setIndicatorWidthAdjustContent
(
boolean
indicatorWidthFollowContent
)
{
mIsIndicatorWidthFollowContent
=
indicatorWidthFollowContent
;
}
/**
*
设置 indicator 的位置
*
indicator 의 위 치 를 설정 합 니 다.
*
* @param isIndicatorTop true
时表示 indicator 位置在 Tab 的上方, false 时表示在下方
* @param isIndicatorTop true
는 indicator 의 위 치 를 Tab 위 에 표시 하고 false 는 아래 에 표시 합 니 다.
*/
public
void
setIndicatorPosition
(
boolean
isIndicatorTop
)
{
mIndicatorTop
=
isIndicatorTop
;
}
/**
*
设置是否需要显示 indicator
*
indicator 를 표시 할 지 설정 합 니 다.
*
* @param hasIndicator
是否需要显示 indicator
* @param hasIndicator
indicator 를 표시 할 지 여부
*/
public
void
setHasIndicator
(
boolean
hasIndicator
)
{
if
(
mHasIndicator
!=
hasIndicator
)
{
...
...
@@ -435,9 +435,9 @@ public class TabSegment extends HorizontalScrollView {
}
/**
* @param viewPager
需要关联的 ViewPager。
* @param useAdapterTitle
自动根据ViewPager的adapter.getTitle取值。
* @param autoRefresh adapter
有更改时,刷新TabSegment。
* @param viewPager
관련 ViewPager 가 필요 합 니 다.
* @param useAdapterTitle
View Pager 의adapter. gettitle수치.
* @param autoRefresh adapter
가 변경 되 었 을 때 Tabsegment 을 새로 고침 합 니 다.
*/
public
void
setupWithViewPager
(
@Nullable
final
ViewPager
viewPager
,
boolean
useAdapterTitle
,
boolean
autoRefresh
)
{
if
(
mViewPager
!=
null
)
{
...
...
@@ -516,14 +516,14 @@ public class TabSegment extends HorizontalScrollView {
}
/**
*
设置 Tab 正常状态下的颜色
*
Tab 정상 상태의 색 을 설정 합 니 다.
*/
public
void
setDefaultNormalColor
(
@ColorInt
int
defaultNormalColor
)
{
mDefaultNormalColor
=
defaultNormalColor
;
}
/**
*
设置 Tab 选中状态下的颜色
*
Tab 가 선택 한 상태 에서 색상 을 설정 합 니 다.
*/
public
void
setDefaultSelectedColor
(
@ColorInt
int
defaultSelectedColor
)
{
mDefaultSelectedColor
=
defaultSelectedColor
;
...
...
@@ -556,7 +556,7 @@ public class TabSegment extends HorizontalScrollView {
if
(
drawable
==
null
)
{
return
;
}
//
这里要拿textView已经set并mutate的drawable
//
여 기 는 textView 이미 set 와 mutate 의 drawable 을 가 져 오 겠 습 니 다.
DrawableHelper
.
setDrawableTintColor
(
drawable
,
color
);
setDrawable
(
textView
,
model
.
getNormalIcon
(),
getTabIconPosition
(
model
));
}
...
...
@@ -566,7 +566,7 @@ public class TabSegment extends HorizontalScrollView {
}
/**
*
只有点击 tab 才会自己产生动画变化,其它需要使用 updateIndicatorPosition 做驱动
*
tab 를 클릭 해 야 애니메이션 변화 가 생 길 수 있 습 니 다. 다른 것 은 upddateindicator Position 으로 구동 해 야 합 니 다.
*/
private
void
selectTab
(
final
int
index
,
boolean
preventAnim
)
{
if
(
mContentLayout
.
getTabAdapter
().
getSize
()
==
0
||
mContentLayout
.
getTabAdapter
().
getSize
()
<=
index
)
{
...
...
@@ -584,7 +584,7 @@ public class TabSegment extends HorizontalScrollView {
TabAdapter
tabAdapter
=
getAdapter
();
final
List
<
TabItemView
>
listViews
=
tabAdapter
.
getViews
();
//
第一次设置
//
첫 번 째 설정
if
(
mSelectedIndex
==
Integer
.
MIN_VALUE
)
{
tabAdapter
.
setup
();
Tab
model
=
tabAdapter
.
getItem
(
index
);
...
...
@@ -733,10 +733,10 @@ public class TabSegment extends HorizontalScrollView {
}
/**
*
改变 Tab 的文案
*
Tab 의 문안 을 고치다
*
* @param index Tab
的
index
* @param text
新文案
* @param index Tab
의.
index
* @param text
새로운 문안
*/
public
void
updateTabText
(
int
index
,
String
text
)
{
Tab
model
=
getAdapter
().
getItem
(
index
);
...
...
@@ -748,10 +748,10 @@ public class TabSegment extends HorizontalScrollView {
}
/**
*
整个 Tab 替换
*
전체 Tab 교체
*
* @param index
需要被替换的 Tab 的 index
* @param model
新的
Tab
* @param index
교체 가 필요 한 Tab 의 index 입 니 다.
* @param model
새로운
Tab
*/
public
void
replaceTab
(
int
index
,
Tab
model
)
{
try
{
...
...
@@ -871,19 +871,19 @@ public class TabSegment extends HorizontalScrollView {
}
/**
*
根据 index 获取对应下标的 {@link Tab} 对象
*
index 에 따라 아래 표 시 된 {@ link Tab} 대상 가 져 오기
*
* @return index
下标对应的 {@link Tab} 对象
* @return index
아래 에 대응 하 는 {@ link Tab} 대상 을 표시 합 니 다.
*/
public
Tab
getTab
(
int
index
)
{
return
getAdapter
().
getItem
(
index
);
}
/**
*
根据 index 在对应的 Tab 上显示未读数或红点
*
index 에 따 르 면 해당 되 는 Tab 에 미 눈금 이나 빨 간 점 을 표시 합 니 다.
*
* @param index
要显示未读数或红点的 Tab 的下标
* @param count
不为0时红点会显示该数字作为未读数,为0时只会显示一个小红点
* @param index
숫자 나 빨 간 점 을 표시 하지 않 은 Tab 의 아래 표 시 를 표시 해 야 합 니 다.
* @param count
0 시 에 붉 은 점 이 아니면 이 숫자 를 읽 지 않 은 숫자 로 표시 하고 0 시 에 작은 붉 은 점 만 표시 합 니 다.
*/
public
void
showSignCountView
(
Context
context
,
int
index
,
int
count
)
{
Tab
tab
=
getAdapter
().
getItem
(
index
);
...
...
@@ -892,7 +892,7 @@ public class TabSegment extends HorizontalScrollView {
}
/**
*
根据 index 在对应的 Tab 上隐藏红点
*
index 에 따라 대응 하 는 Tab 에 붉 은 점 을 숨 깁 니 다.
*/
public
void
hideSignCountView
(
int
index
)
{
Tab
tab
=
getAdapter
().
getItem
(
index
);
...
...
@@ -900,7 +900,7 @@ public class TabSegment extends HorizontalScrollView {
}
/**
*
获取当前的红点数值,如果没有红点则返回 0
*
현재 빨 간 점 수 치 를 가 져 오고 빨 간 점 이 없 으 면 0 을 되 돌려 줍 니 다.
*/
public
int
getSignCount
(
int
index
)
{
Tab
tab
=
getAdapter
().
getItem
(
index
);
...
...
@@ -919,40 +919,41 @@ public class TabSegment extends HorizontalScrollView {
public
interface
OnTabClickListener
{
/**
*
当某个 Tab 被点击时会触发
*
어떤 Tab 가 클릭 되 었 을 때 발동 합 니 다.
*
* @param index
被点击的 Tab 下标
* Editby Vane:
点击返回false则不做响应
* @param index
클릭 당 한 Tab 이하
* Editby Vane:
클릭 하여 false 로 돌아 가면 응답 하지 않 습 니 다.
*/
boolean
onTabClick
(
int
index
);
}
public
interface
OnTabSelectedListener
{
/**
*
当某个 Tab 被选中时会触发
*
어떤 Tab 가 걸 렸 을 때 발동 합 니 다.
*
* @param index
被选中的 Tab 下标
* @param index
선 택 된 Tab 이하
*/
void
onTabSelected
(
int
index
);
/**
* 当某个 Tab 被取消选中时会触发
* 어떤 Tab 가 선택 이 취소 되면 발동 합 니 다.
*
* @param index 선 택 된 Tab 이하 표 시 를 취소 합 니 다.
*
* @param index 被取消选中的 Tab 下标
*/
void
onTabUnselected
(
int
index
);
/**
*
当某个 Tab 处于被选中状态下再次被点击时会触发
*
어떤 Tab 가 선 택 된 상태 에서 다시 클릭 하면
*
* @param index
被再次点击的 Tab 下标
* @param index
다시 클릭 한 Tab 내리 기
*/
void
onTabReselected
(
int
index
);
/**
*
当某个 Tab 被双击时会触发
*
어떤 Tab 가 더 블 클릭 을 받 으 면 발동 합 니 다.
*
* @param index
被双击的 Tab 下标
* @param index
더 블 클릭 당 한 Tab 가 낙찰 되 었 습 니 다.
*/
void
onDoubleTap
(
int
index
);
}
...
...
@@ -1040,7 +1041,7 @@ public class TabSegment extends HorizontalScrollView {
private
int
mSignCountMarginRight
=
0
;
private
int
mSignCountMarginTop
=
0
;
/**
*
是否动态更改icon颜色,如果为true, selectedIcon将失效
*
icon 색상 을 동적 으로 변경 할 지 여부 입 니 다. true 일 경우 selected Icon 은 유효 하지 않 습 니 다.
*/
private
boolean
dynamicChangeIconColor
=
true
;
...
...
@@ -1053,18 +1054,7 @@ public class TabSegment extends HorizontalScrollView {
this
(
normalIcon
,
selectedIcon
,
text
,
dynamicChangeIconColor
,
true
);
}
/**
* 如果你的 icon 显示大小和实际大小不吻合:
* 1. 设置icon 的 bounds
* 2. 使用此构造器
* 3. 最后一个参数(setIntrinsicSize)设置为false
*
* @param normalIcon 未选中态 icon
* @param selectedIcon 选中态 icon
* @param text 文字
* @param dynamicChangeIconColor 是否动态改变 icon 颜色
* @param setIntrinsicSize 是否设置 icon 的大小为 intrinsic width 和 intrinsic height。
*/
public
Tab
(
Drawable
normalIcon
,
Drawable
selectedIcon
,
CharSequence
text
,
boolean
dynamicChangeIconColor
,
boolean
setIntrinsicSize
)
{
this
.
normalIcon
=
normalIcon
;
if
(
this
.
normalIcon
!=
null
&&
setIntrinsicSize
)
{
...
...
@@ -1079,9 +1069,9 @@ public class TabSegment extends HorizontalScrollView {
}
/**
*
设置红点中数字显示的最大位数,默认值为 2,超过这个位数以 99+ 这种形式显示。如:110 -> 99+,98 -
> 98
*
빨간색 점 에서 숫자 가 나타 나 는 최대 자릿수 를 설정 하고 기본 값 은 2 이 며 이 자릿수 를 넘 으 면 99 + 라 는 형식 으로 표 시 됩 니 다.예: 110 - > 99 +, 98 -
> 98
*
* @param digit
数字显示的最大位数
* @param digit
숫자 표시 의 최대 자릿수
*/
public
void
setmSignCountDigits
(
int
digit
)
{
mSignCountDigits
=
digit
;
...
...
@@ -1175,10 +1165,10 @@ public class TabSegment extends HorizontalScrollView {
}
/**
*
设置红点的位置, 注意红点的默认位置是在内容的右侧并顶对齐
*
빨간색 점 의 위 치 를 설정 하고 빨간색 점 의 기본 위 치 는 내용 의 오른쪽 에 정렬 하 는 것 입 니 다.
*
* @param marginRight
在红点默认位置的基础上添加的
marginRight
* @param marginTop
在红点默认位置的基础上添加的
marginTop
* @param marginRight
레 드 포인트 기본 위치 에 추 가 된 거 예요.
marginRight
* @param marginTop
레 드 포인트 기본 위치 에 추 가 된 거 예요.
marginTop
*/
public
void
setSignCountMargin
(
int
marginRight
,
int
marginTop
)
{
mSignCountMarginRight
=
marginRight
;
...
...
@@ -1198,29 +1188,29 @@ public class TabSegment extends HorizontalScrollView {
mSignCountTextView
.
setLayoutParams
(
signCountLp
);
addCustomView
(
mSignCountTextView
);
}
//
确保在先 setMargin 后 create 的情况下 margin 会生效
//
미리 setMargin 후 create 를 확보 한 상태 에서 margin 이 유효 합 니 다.
setSignCountMargin
(
mSignCountMarginRight
,
mSignCountMarginTop
);
return
mSignCountTextView
;
}
/**
* 显示 Tab
上的未读数或红点
* 显示 Tab
위의 눈금 이나 빨 간 점
*
* @param count
不为0时红点会显示该数字作为未读数,为0时只会显示一个小红点
* @param count
0 시 에 붉 은 점 이 아니면 이 숫자 를 읽 지 않 은 숫자 로 표시 하고 0 시 에 작은 붉 은 점 만 표시 합 니 다.
*/
public
void
showSignCountView
(
Context
context
,
int
count
)
{
ensureSignCountView
(
context
);
mSignCountTextView
.
setVisibility
(
View
.
VISIBLE
);
RelativeLayout
.
LayoutParams
signCountLp
=
(
RelativeLayout
.
LayoutParams
)
mSignCountTextView
.
getLayoutParams
();
if
(
count
!=
0
)
{
//
显示未读数
//
미 눈금 보이 기
signCountLp
.
height
=
ResHelper
.
getAttrDimen
(
mSignCountTextView
.
getContext
(),
R
.
attr
.
tab_sign_count_view_minSize_with_text
);
mSignCountTextView
.
setLayoutParams
(
signCountLp
);
mSignCountTextView
.
setMinHeight
(
ResHelper
.
getAttrDimen
(
mSignCountTextView
.
getContext
(),
R
.
attr
.
tab_sign_count_view_minSize_with_text
));
mSignCountTextView
.
setMinWidth
(
ResHelper
.
getAttrDimen
(
mSignCountTextView
.
getContext
(),
R
.
attr
.
tab_sign_count_view_minSize_with_text
));
mSignCountTextView
.
setText
(
getNumberDigitsFormattingValue
(
count
));
}
else
{
//
显示红点
//
붉 은 점 보이 기
signCountLp
.
height
=
ResHelper
.
getAttrDimen
(
mSignCountTextView
.
getContext
(),
R
.
attr
.
tab_sign_count_view_minSize
);
mSignCountTextView
.
setLayoutParams
(
signCountLp
);
mSignCountTextView
.
setMinHeight
(
ResHelper
.
getAttrDimen
(
mSignCountTextView
.
getContext
(),
R
.
attr
.
tab_sign_count_view_minSize
));
...
...
@@ -1230,7 +1220,7 @@ public class TabSegment extends HorizontalScrollView {
}
/**
*
隐藏 Tab 上的未读数或红点
*
Tab 의 미 눈금 이나 빨 간 점 을 숨 깁 니 다.
*/
public
void
hideSignCountView
()
{
if
(
mSignCountTextView
!=
null
)
{
...
...
@@ -1239,7 +1229,7 @@ public class TabSegment extends HorizontalScrollView {
}
/**
*
获取该 Tab 的未读数
*
이 Tab 의 미 눈금 가 져 오기
*/
public
int
getSignCount
()
{
if
(
mSignCountTextView
!=
null
&&
!
LangHelper
.
isNullOrEmpty
(
mSignCountTextView
.
getText
()))
{
...
...
@@ -1286,7 +1276,7 @@ public class TabSegment extends HorizontalScrollView {
if
(
mCustomViews
!=
null
&&
mCustomViews
.
size
()
>
0
)
{
view
.
setTag
(
R
.
id
.
view_can_not_cache_tag
,
true
);
for
(
View
v
:
mCustomViews
)
{
//
防止先 setCustomViews 然后再 updateTabText 时会重复添加 customView 导致 crash
//
icon 색상 을 동적 으로 변경 할 지 여부 입 니 다. true 일 경우 selected Icon 은 유효 하지 않 습 니 다.
if
(
v
.
getParent
()
==
null
)
{
view
.
addView
(
v
);
}
...
...
app/src/main/java/cn/dankal/client/MainActivity.kt
View file @
b66d516c
...
...
@@ -54,11 +54,11 @@ class MainActivity : BaseActivity(), OnMapReadyCallback {
}
/**
*
上次点击返回键的时间
*
저번 에 리 턴 누 른 시간.
*/
private
var
lastBackPressed
:
Long
=
0
/**
*
两次点击的间隔时间
*
두 번 의 클릭 간격
*/
private
val
QUIT_INTERVAL
=
2000
...
...
@@ -76,7 +76,7 @@ class MainActivity : BaseActivity(), OnMapReadyCallback {
override
fun
getLayoutId
():
Int
{
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
KITKAT
)
{
//透明状态栏
window
.
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_TRANSLUCENT_STATUS
)
}
return
R
.
layout
.
activity_main
...
...
@@ -123,7 +123,7 @@ class MainActivity : BaseActivity(), OnMapReadyCallback {
override
fun
onTabSelected
(
tab
:
TabLayout
.
Tab
?)
{
tab
?.
let
{
//
默认切换的时候,会有一个过渡动画,设为false后,取消动画,直接显示
//
기본 값 으로 전환 할 때 하나의 과도 애니메이션 이 있 는데 false 로 설정 한 후에 애니메이션 을 취소 하고 바로 표시 합 니 다.
container
.
setCurrentItem
(
tab
.
position
,
false
)
container
.
currentItem
=
tab
.
position
}
...
...
@@ -149,14 +149,14 @@ class MainActivity : BaseActivity(), OnMapReadyCallback {
}
})
/**
拦截tablayout点击事件
*/
/**
tablayot 클릭 이벤트 차단
*/
val
tabOnClickListener
=
View
.
OnTouchListener
{
view
,
event
->
/* val pos = view.tag as Int
if (pos == ITEM_MINE && event.action == MotionEvent.ACTION_DOWN && !DankalApplication.isLogin()) {
ARouter.getInstance().build(LoginProtocol.LOGIN).navigation()
return@OnTouchListener true
}*/
false
//
不拦截
false
//
막 지 않다
}
for
(
i
in
0
until
tabs
.
tabCount
)
{
val
view
=
getTabView
(
tabs
,
i
)
?:
continue
...
...
@@ -169,7 +169,7 @@ class MainActivity : BaseActivity(), OnMapReadyCallback {
}
//
初始化地图获取经纬度
//
지 도 를 초기 화하 여 경 위 를 얻다.
private
fun
initializeMap
()
{
var
location
:
Location
?
=
mMap
?.
getMyLocation
()
try
{
...
...
@@ -183,7 +183,7 @@ class MainActivity : BaseActivity(), OnMapReadyCallback {
}
/**
反射获取tabview
*/
/**
tabview 반사 획득
*/
private
fun
getTabView
(
tabLayout
:
TabLayout
,
index
:
Int
):
View
?
{
val
tab
=
tabLayout
.
getTabAt
(
index
)
?:
return
null
var
tabView
:
View
?
=
null
...
...
@@ -246,15 +246,15 @@ class MainActivity : BaseActivity(), OnMapReadyCallback {
.
putExtra
(
MerchantDetailsActivity
.
TABLE_UUID
,
qrCodeEntity
.
tableUuid
)
.
putExtra
(
MerchantDetailsActivity
.
TABLE_NUMBER
,
qrCodeEntity
.
tableNumber
.
toString
()))
}
"1"
//
不存在
"1"
//
존재 하지 않 음
->
{
startActivity
(
Intent
(
this
@MainActivity
,
ScanResultActivity
::
class
.
java
))
}
"2"
//
被使用
"2"
//
사용되다
->
{
showDialogStateTow
(
getString
(
R
.
string
.
the_table_number_is_in_use
))
}
"3"
//
已隐藏
"3"
//
숨겨 진
->
{
startActivity
(
Intent
(
this
@MainActivity
,
ScanResultActivity
::
class
.
java
))
}
...
...
@@ -274,7 +274,7 @@ class MainActivity : BaseActivity(), OnMapReadyCallback {
mRxPermissions
?.
let
{
it
.
request
(
Permission
.
ACCESS_COARSE_LOCATION
,
Permission
.
ACCESS_FINE_LOCATION
).
subscribe
({
if
(
it
)
{
//
权限被允许
//
권한 이 허용 되다
initLocation
()
}
else
{
val
builder
=
CommonDialog
.
Builder
(
this
)
...
...
@@ -325,7 +325,7 @@ class MainActivity : BaseActivity(), OnMapReadyCallback {
val
token
=
task
.
result
?.
token
Log
.
i
(
"FirebaseInstanceId"
,
token
)
//
上传到服务器
//
서버 에 업로드 하 다
var
map
=
HashMap
<
String
,
Any
?>()
map
[
"fcm_token"
]
=
token
map
[
"type"
]
=
0
...
...
app/src/main/java/cn/dankal/client/adapter/HomeAdapter.java
View file @
b66d516c
...
...
@@ -54,7 +54,7 @@ public class HomeAdapter extends BaseMultiItemQuickAdapter<HomeEntity, BaseViewH
private
BottomItemAdapter
bottomItemAdapter
;
private
List
<
String
>
stringList
;
//
轮播图地址
private
List
<
String
>
stringList
;
//
라운드 맵 주소
private
FragmentAdapter
fragmentAdapter
;
...
...
app/src/main/java/cn/dankal/client/adapter/MyAutoCompleteTvAdapter.java
View file @
b66d516c
...
...
@@ -20,7 +20,7 @@ import cn.dankal.client.R;
public
class
MyAutoCompleteTvAdapter
extends
BaseAdapter
implements
Filterable
{
private
Context
context
;
//
该list存放的是最终弹出列表的数据
//
이 list 는 최종 팝 업 목록 의 데 이 터 를 저장 합 니 다.
private
List
<
String
>
list
=
new
ArrayList
<>();
private
List
<
String
>
mSearchDataBaseList
;
...
...
@@ -32,11 +32,6 @@ public class MyAutoCompleteTvAdapter extends BaseAdapter implements Filterable {
@Override
public
Filter
getFilter
()
{
Filter
filter
=
new
Filter
()
{
/**
* 在后台线程执行,定义过滤算法
* @param constraint :就是你在输入框输入的字符串
* @return 符合条件的数据结果,会在下面的publishResults方法中将数据传给list
*/
@Override
protected
FilterResults
performFiltering
(
CharSequence
constraint
)
{
...
...
@@ -48,17 +43,17 @@ public class MyAutoCompleteTvAdapter extends BaseAdapter implements Filterable {
results
.
count
=
mSearchDataBaseList
.
size
();
}
else
{
//
这个newList是实际搜索出的结果集合,实际上是将该newList的数据赋给了list
//
이 new List 는 실제 검색 결과 집합 으로 실제로 이 new List 의 데 이 터 를 list 에 부 여 했 습 니 다.
List
<
String
>
newList
=
new
ArrayList
<>();
for
(
String
s
:
mSearchDataBaseList
)
{
//
包含就添加到newList中
//
포함 하면 new List 에 추가 합 니 다.
if
(
s
.
contains
(
constraint
.
toString
().
trim
()
))
{
newList
.
add
(
s
);
}
}
//
将newList传给results
//
new List 를 resuls 에 게 전달 합 니 다.
results
.
values
=
newList
;
results
.
count
=
newList
.
size
();
newList
=
null
;
...
...
@@ -68,32 +63,30 @@ public class MyAutoCompleteTvAdapter extends BaseAdapter implements Filterable {
}
/**
*
本方法在UI线程执行,用于更新自动完成列表
*
이 방법 은 UI 스 레 드 에서 실 행 됩 니 다. 자동 완성 목록 을 업데이트 하 는 데 사 용 됩 니 다.
* @param constraint
* @param results
*/
@Override
protected
void
publishResults
(
CharSequence
constraint
,
FilterResults
results
)
{
if
(
results
!=
null
&&
results
.
count
>
0
)
{
//
有符合过滤规则的数据
if
(
results
!=
null
&&
results
.
count
>
0
)
{
//
필터 링 규칙 에 맞 는 데이터 가 있 습 니 다.
list
.
clear
();
list
.
addAll
((
List
<
String
>)
results
.
values
);
notifyDataSetChanged
();
}
else
{
//
没有符合过滤规则的数据
}
else
{
//
필터 규칙 에 맞 는 데이터 가 없습니다.
notifyDataSetInvalidated
();
}
}
/**
*
将符合条件的数据转换为你想要的方式,一般无需实现
*
控制用户点击提示时要填充至输入框的文本内容。
*
조건 에 맞 는 데 이 터 를 원 하 는 방식 으로 바 꾸 면 일반적으로 실현 할 필요 가 없다.
*
사용자 가 힌트 를 클릭 할 때 입력 상자 에 채 울 텍스트 내용 을 제어 합 니 다.
*/
@Override
public
CharSequence
convertResultToString
(
Object
resultValue
)
{
return
super
.
convertResultToString
(
resultValue
);
//假如这里写 return "啊哈哈";
//那么,无论你点击哪个条目,出现在输入框的永远是"啊哈哈"这几个字。
}
};
...
...
@@ -106,7 +99,7 @@ public class MyAutoCompleteTvAdapter extends BaseAdapter implements Filterable {
}
/**
*
这里必须返回list.get(position),否则点击条目后输入框显示的是position,而非该position的数据
*
이곳 은 반드시 돌아 가 야 한다.list. get(position) 그렇지 않 으 면 항목 을 클릭 한 후 입력 창 에 position 이 아 닌 position 데이터 가 표 시 됩 니 다.
*
* @param position
* @return
...
...
@@ -135,9 +128,6 @@ public class MyAutoCompleteTvAdapter extends BaseAdapter implements Filterable {
holder
=
(
TvViewHolder
)
convertView
.
getTag
();
}
//注意这里不要为convertView添加点击事件,默认是点击后:①下拉窗收起;
//②点击的条目数据会显示在搜索框中;③光标定位到字符串末位。
//如果自己添加点击事件,就要首先实现上面的①、②、③。
holder
.
tv
.
setText
(
list
.
get
(
position
));
return
convertView
;
}
...
...
app/src/main/java/cn/dankal/client/adapter/car/CarShopAdapter.java
View file @
b66d516c
...
...
@@ -166,7 +166,7 @@ public class CarShopAdapter extends BaseQuickAdapter<ShopCarEntity.DataBean, Bas
}
/**
*
回调,用来通知界面刷新购物车底部的值
*
리 턴, 인터페이스 에 쇼핑 카 트 아래쪽 의 값 을 리 셋 하 는 것 을 통지 합 니 다.
*/
public
interface
SelectShowListen
{
public
void
onShowListen
();
...
...
app/src/main/java/cn/dankal/client/adapter/home/OrderResultAdapter.java
View file @
b66d516c
...
...
@@ -18,7 +18,7 @@ import cn.dankal.client.util.UIUtile;
*/
public
class
OrderResultAdapter
extends
BaseQuickAdapter
<
CommitHotelEntity
.
PaySettleGoodsListBean
,
BaseViewHolder
>
{
private
int
isStamp
;
//0
不是邮票兑换商品
private
int
isStamp
;
//0
. 우표 교환 상품 이 아 닙 니 다.
public
OrderResultAdapter
(
int
layoutResId
,
@Nullable
List
<
CommitHotelEntity
.
PaySettleGoodsListBean
>
data
,
int
isStamp
)
{
super
(
layoutResId
,
data
);
...
...
app/src/main/java/cn/dankal/client/adapter/home/ShopBottomListAdapter.java
View file @
b66d516c
...
...
@@ -35,9 +35,9 @@ public class ShopBottomListAdapter extends BaseQuickAdapter<FoodEntity, BaseView
helper
.
setText
(
R
.
id
.
tv_item_shop_name
,
item
.
getFoodName
());
helper
.
setText
(
R
.
id
.
tv_show_spec
,
item
.
getSpecShow
());
if
(
item
.
getIsStamp
()
==
0
)
{
//
不是邮票兑换商品
if
(
item
.
getIsStamp
()
==
0
)
{
//
우표 교환 상품 아니에요.
helper
.
setText
(
R
.
id
.
tv_item_shop_price
,
UIUtile
.
stringToPrice
(
item
.
getFoodPrice
()));
}
else
{
//
普通商品
}
else
{
//
일반 상품
helper
.
setText
(
R
.
id
.
tv_item_shop_price
,
UIUtile
.
stringToStamp
(
item
.
getStampPrice
()));
}
helper
.
setText
(
R
.
id
.
tv_item_count
,
String
.
valueOf
(
item
.
getNumber
()));
...
...
@@ -63,19 +63,19 @@ public class ShopBottomListAdapter extends BaseQuickAdapter<FoodEntity, BaseView
private
void
updateShopNumber
(
BaseViewHolder
helper
,
FoodEntity
item
,
int
number
)
{
//
找到购物车商品
//
카 트 상품 을 찾다
List
<
FoodEntity
>
entities
=
LitePal
.
where
(
"storeUUid=? and goods_uuid=? and second_main_specs_uuid=? and specShow=?"
,
item
.
getStoreUUid
(),
item
.
getGoods_uuid
(),
item
.
getSecond_main_specs_uuid
(),
item
.
getSpecShow
()).
order
(
"id desc"
).
find
(
FoodEntity
.
class
);
if
(
entities
!=
null
&&
entities
.
size
()
>
0
)
{
if
(
entities
.
size
()
==
1
)
{
FoodEntity
foodEntity
=
entities
.
get
(
0
);
if
(
number
==
0
)
{
//
删除
if
(
number
==
0
)
{
//
삭제 하 다.
foodEntity
.
delete
();
data
.
remove
(
helper
.
getAdapterPosition
());
}
else
{
foodEntity
.
setNumber
(
number
);
foodEntity
.
save
();
//
替换指定元素
//
지정 한 요소 교체
Collections
.
replaceAll
(
data
,
data
.
get
(
helper
.
getAdapterPosition
()),
foodEntity
);
}
if
(
data
.
size
()
==
0
)
{
...
...
app/src/main/java/cn/dankal/client/adapter/home/ShopSpecListAdapter.java
View file @
b66d516c
...
...
@@ -33,7 +33,7 @@ public class ShopSpecListAdapter extends BaseQuickAdapter<RestaurantSpecEntity.G
super
(
layoutResId
,
data
);
this
.
context
=
context
;
//
循环遍历初始化选中
//
반복 해서 초기 화 선택
for
(
int
i
=
0
;
i
<
data
.
size
();
i
++)
{
RestaurantSpecEntity
.
GoodsMainSpecsListBean
goodsMainSpecsListBean
=
data
.
get
(
i
);
//获得当前辅规格
List
<
RestaurantSpecEntity
.
GoodsMainSpecsListBean
.
SecondSpecsVolistBean
>
specsList
=
goodsMainSpecsListBean
.
getSecond_specs_volist
();
//获得辅规格所有规格选项
...
...
app/src/main/java/cn/dankal/client/adapter/personal/AfterListAdapter.java
View file @
b66d516c
...
...
@@ -41,7 +41,7 @@ public class AfterListAdapter extends BaseQuickAdapter<AfterEntity.DataBean, Bas
tvOriginalPrice
.
setText
(
UIUtile
.
stringToPrice
(
item
.
getOriginal_price
()));
switch
(
item
.
getRefund_status
())
{
case
0
:
//
待审核
case
0
:
//
심 사 를 기다리다
if
(
item
.
getOrder_status
()
==
6
)
{
helper
.
setText
(
R
.
id
.
tv_state
,
mContext
.
getString
(
R
.
string
.
only_refund
)
+
" "
+
mContext
.
getString
(
R
.
string
.
refund_pending
));
}
else
if
(
item
.
getOrder_status
()
==
7
)
{
...
...
@@ -50,7 +50,7 @@ public class AfterListAdapter extends BaseQuickAdapter<AfterEntity.DataBean, Bas
helper
.
setText
(
R
.
id
.
tv_state
,
mContext
.
getString
(
R
.
string
.
refund_pending
));
}
break
;
case
1
:
//
审核通过
case
1
:
//
심사 에 통과 하 다
if
(
item
.
getOrder_status
()
==
8
)
{
//helper.setText(R.id.tv_state, R.string.successful_refund_only);
helper
.
setText
(
R
.
id
.
tv_state
,
mContext
.
getString
(
R
.
string
.
only_refund
)
+
" "
+
mContext
.
getString
(
R
.
string
.
successful_refund_tow
));
...
...
@@ -61,10 +61,10 @@ public class AfterListAdapter extends BaseQuickAdapter<AfterEntity.DataBean, Bas
helper
.
setText
(
R
.
id
.
tv_state
,
R
.
string
.
successful_refund_tow
);
}
break
;
case
2
:
//
审核拒绝,只有
4
case
2
:
//
심사 거절, 오직
4
helper
.
setText
(
R
.
id
.
tv_state
,
mContext
.
getString
(
R
.
string
.
refusal_of_refund
));
break
;
case
3
:
//
撤销退款
case
3
:
//
환불 을 취소 하 다
helper
.
setText
(
R
.
id
.
tv_state
,
mContext
.
getString
(
R
.
string
.
refund_closure
));
break
;
default
:
...
...
app/src/main/java/cn/dankal/client/adapter/personal/EvaluationListAdapter.java
View file @
b66d516c
...
...
@@ -38,19 +38,19 @@ public class EvaluationListAdapter extends BaseQuickAdapter<MallOrderDetailEntit
private
Context
context
;
public
int
mPosition
;
//
记录当前单击的位置
public
int
mPosition
;
//
현재 클릭 한 위 치 를 기록 합 니 다.
private
Map
<
String
,
List
<
LocalMedia
>>
selectMap
=
new
HashMap
<>();
public
Map
<
String
,
List
<
String
>>
uploadImage
=
new
HashMap
<>();
//
上传到腾讯云的图片
public
Map
<
String
,
List
<
String
>>
uploadImage
=
new
HashMap
<>();
//
텐 센트 클 라 우 드 에 올 린 사진 입 니 다.
private
List
<
EvaluationCommitEntity
>
resultData
;
//
评论需要返回的数据
private
List
<
EvaluationCommitEntity
>
resultData
;
//
댓 글 반환 할 데이터
private
List
<
EditText
>
editTextList
;
private
List
<
GradeStarView
>
gradeStarViewList
;
private
List
<
MallOrderDetailEntity
.
OrdersGoodsListBean
>
data
;
//
当前每个item的数据
private
List
<
MallOrderDetailEntity
.
OrdersGoodsListBean
>
data
;
//
현재 모든 아 이 템 의 데이터
public
EvaluationListAdapter
(
Context
context
,
int
layoutResId
,
@Nullable
List
<
MallOrderDetailEntity
.
OrdersGoodsListBean
>
data
)
{
super
(
layoutResId
,
data
);
...
...
@@ -116,34 +116,32 @@ public class EvaluationListAdapter extends BaseQuickAdapter<MallOrderDetailEntit
selectMap
.
put
(
String
.
valueOf
(
mPosition
),
mediaList
);
}
// 进入相册 以下是例子:不需要的api可以不写
PictureSelector
.
create
((
Activity
)
context
)
.
openGallery
(
PictureMimeType
.
ofImage
())
// 全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()、音频.ofAudio()
.
theme
(
R
.
style
.
picture_default_style
)
// 主题样式设置 具体参考 values/styles 用法:R.style.picture.white.style
.
maxSelectNum
(
6
)
// 最大图片选择数量
.
minSelectNum
(
1
)
// 最小选择数量
.
imageSpanCount
(
4
)
// 每行显示个数
.
selectionMode
(
PictureConfig
.
MULTIPLE
)
// 多选 or 单选
.
previewImage
(
true
)
// 是否可预览图片
.
isCamera
(
true
)
// 是否显示拍照按钮
.
isZoomAnim
(
true
)
// 图片列表点击 缩放效果 默认true
.
enableCrop
(
false
)
// 是否裁剪
.
compress
(
true
)
// 是否压缩
.
synOrAsy
(
true
)
//同步true或异步false 压缩 默认同步
.
glideOverride
(
160
,
160
)
// glide 加载宽高,越小图片列表越流畅,但会影响列表图片浏览的清晰度
.
freeStyleCropEnabled
(
true
)
// 裁剪框是否可拖拽
.
selectionMedia
(
mediaList
)
// 是否传入已选图片
.
minimumCompressSize
(
100
)
// 小于100kb的图片不压缩
.
forResult
(
PictureConfig
.
CHOOSE_REQUEST
);
//结果回调onActivityResult code
.
openGallery
(
PictureMimeType
.
ofImage
())
.
theme
(
R
.
style
.
picture_default_style
)
.
maxSelectNum
(
6
)
.
imageSpanCount
(
4
)
.
selectionMode
(
PictureConfig
.
MULTIPLE
)
.
previewImage
(
true
)
.
isCamera
(
true
)
.
isZoomAnim
(
true
)
.
enableCrop
(
false
)
.
compress
(
true
)
.
synOrAsy
(
true
)
.
glideOverride
(
160
,
160
)
.
freeStyleCropEnabled
(
true
)
.
selectionMedia
(
mediaList
)
.
minimumCompressSize
(
100
)
.
forResult
(
PictureConfig
.
CHOOSE_REQUEST
);
}
public
void
setList
(
int
mPosition
,
List
<
LocalMedia
>
selectList
)
{
List
<
String
>
listImage
=
new
ArrayList
<>();
//需要上传到腾讯云的图片列表
List
<
String
>
listImage
=
new
ArrayList
<>();
for
(
int
j
=
0
;
j
<
selectList
.
size
();
j
++)
{
LocalMedia
media
=
selectList
.
get
(
j
);
String
path
=
""
;
if
(
media
.
isCompressed
()
||
media
.
isCut
()
&&
media
.
isCompressed
())
{
// 压缩过,或者裁剪同时压缩过,以最终压缩过图片为准
path
=
media
.
getCompressPath
();
}
...
...
@@ -183,7 +181,6 @@ public class EvaluationListAdapter extends BaseQuickAdapter<MallOrderDetailEntit
LocalMedia
media
=
localMedias
.
get
(
i
);
String
path
=
""
;
if
(
media
.
isCompressed
()
||
media
.
isCut
()
&&
media
.
isCompressed
())
{
// 压缩过,或者裁剪同时压缩过,以最终压缩过图片为准
path
=
media
.
getCompressPath
();
}
String
avatar
=
getFormatKey
(
path
);
...
...
app/src/main/java/cn/dankal/client/adapter/personal/FoodDetailsAdapter.java
View file @
b66d516c
...
...
@@ -28,7 +28,7 @@ public class FoodDetailsAdapter extends BaseQuickAdapter<OrderHotelDetail.Orders
helper
.
setText
(
R
.
id
.
tv_item_shop_name
,
item
.
getGoods_name
());
helper
.
setText
(
R
.
id
.
tv_item_shop_desc
,
item
.
getGoods_specs
());
if
(
payType
==
2
)
{
//
邮票支付
if
(
payType
==
2
)
{
//
우표 지불
helper
.
setText
(
R
.
id
.
tv_item_shop_price
,
UIUtile
.
stringToStamp
(
item
.
getUnit_price
()));
}
else
{
helper
.
setText
(
R
.
id
.
tv_item_shop_price
,
UIUtile
.
stringToPrice
(
item
.
getUnit_price
()));
...
...
app/src/main/java/cn/dankal/client/adapter/personal/FoodOrderListAdapter.java
View file @
b66d516c
...
...
@@ -26,7 +26,7 @@ public class FoodOrderListAdapter extends BaseQuickAdapter<FoodOrderEntity.DataB
helper
.
setText
(
R
.
id
.
tv_order_food_time
,
mContext
.
getString
(
R
.
string
.
order_time
)
+
item
.
getCreate_time
());
helper
.
setText
(
R
.
id
.
tv_order_food_count
,
mContext
.
getString
(
R
.
string
.
common
)
+
item
.
getGoods_number
()
+
mContext
.
getString
(
R
.
string
.
goods
));
if
(
item
.
getPay_type
()
==
2
)
{
//
邮票支付
if
(
item
.
getPay_type
()
==
2
)
{
//
우표 지불
helper
.
setText
(
R
.
id
.
tv_order_food_price
,
UIUtile
.
stringToStamp
(
item
.
getReal_pay_price
()));
}
else
{
helper
.
setText
(
R
.
id
.
tv_order_food_price
,
UIUtile
.
stringToPrice
(
item
.
getReal_pay_price
()));
...
...
@@ -35,25 +35,25 @@ public class FoodOrderListAdapter extends BaseQuickAdapter<FoodOrderEntity.DataB
PicUtil
.
setHeadPhoto
(
helper
.
getView
(
R
.
id
.
iv_image_head
),
item
.
getImg_list
());
String
status
=
""
;
switch
(
item
.
getOrder_status
())
{
case
"0"
:
//待支付
case
"0"
:
status
=
mContext
.
getString
(
R
.
string
.
to_be_paid
);
break
;
case
"1"
:
//已支付
case
"1"
:
status
=
mContext
.
getString
(
R
.
string
.
paymented
);
break
;
case
"2"
:
//退款申请中
case
"2"
:
status
=
mContext
.
getString
(
R
.
string
.
application_for_refund
);
break
;
case
"3"
:
//待收货
case
"3"
:
status
=
mContext
.
getString
(
R
.
string
.
to_be_received
);
break
;
case
"4"
:
//已完成
case
"4"
:
status
=
mContext
.
getString
(
R
.
string
.
completed
);
break
;
case
"5"
:
//"已取消"
case
"5"
:
status
=
mContext
.
getString
(
R
.
string
.
cancelled
);
break
;
case
"6"
:
//仅退款
case
"6"
:
status
=
mContext
.
getString
(
R
.
string
.
only_refund
);
break
;
case
"7"
:
...
...
app/src/main/java/cn/dankal/client/adapter/personal/MallOrderDetailsAdapter.java
View file @
b66d516c
...
...
@@ -51,9 +51,9 @@ public class MallOrderDetailsAdapter extends BaseQuickAdapter<MallOrderDetailEnt
helper
.
addOnClickListener
(
R
.
id
.
tv_apply_after_sale
);
TextView
tvSale
=
helper
.
getView
(
R
.
id
.
tv_apply_after_sale
);
if
(
order_status
==
4
&&
item
.
getIs_after_sale
()
==
0
)
{
//
显示售后按钮
if
(
order_status
==
4
&&
item
.
getIs_after_sale
()
==
0
)
{
//
A / S 버튼 보이 기
tvSale
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
//
不显示
}
else
{
//
표시 하지 않 음
tvSale
.
setVisibility
(
View
.
GONE
);
}
}
...
...
app/src/main/java/cn/dankal/client/adapter/personal/MallOrderListAdapter.java
View file @
b66d516c
...
...
@@ -52,29 +52,29 @@ public class MallOrderListAdapter extends BaseQuickAdapter<MallOrderListEntity.D
String
status
=
""
;
switch
(
item
.
getOrder_status
())
{
case
0
:
//待支付
case
0
:
status
=
mContext
.
getString
(
R
.
string
.
to_be_paid
);
tvCancel
.
setVisibility
(
View
.
VISIBLE
);
tvPay
.
setVisibility
(
View
.
VISIBLE
);
break
;
case
1
:
//已支付
case
1
:
status
=
mContext
.
getString
(
R
.
string
.
to_be_delivered
);
tvCancel
.
setVisibility
(
View
.
VISIBLE
);
break
;
case
2
:
//退款申请中
case
2
:
status
=
mContext
.
getString
(
R
.
string
.
application_for_refund
);
break
;
case
3
:
//待收货
case
3
:
status
=
mContext
.
getString
(
R
.
string
.
to_be_received
);
tvSure
.
setVisibility
(
View
.
VISIBLE
);
break
;
case
4
:
//已完成
case
4
:
status
=
mContext
.
getString
(
R
.
string
.
completed
);
break
;
case
5
:
//"已取消"
case
5
:
status
=
mContext
.
getString
(
R
.
string
.
cancelled
);
break
;
case
6
:
//仅退款
case
6
:
status
=
mContext
.
getString
(
R
.
string
.
only_refund
);
break
;
case
7
:
...
...
@@ -94,8 +94,8 @@ public class MallOrderListAdapter extends BaseQuickAdapter<MallOrderListEntity.D
break
;
}
if
(
item
.
getOrder_status
()
==
4
)
{
//
交易已完成
if
(
item
.
getIs_comment
()
==
0
)
{
//
未评价显示评价按钮
if
(
item
.
getOrder_status
()
==
4
)
{
//
거래 가 완료 되 었 습 니 다.
if
(
item
.
getIs_comment
()
==
0
)
{
//
평가 없 음 평가 버튼
tvEvaluate
.
setVisibility
(
View
.
VISIBLE
);
}
}
...
...
@@ -111,25 +111,25 @@ public class MallOrderListAdapter extends BaseQuickAdapter<MallOrderListEntity.D
MallOrderItemListAdapter
adapter
=
new
MallOrderItemListAdapter
(
R
.
layout
.
item_mall_order_layout
,
item
.
getOrders_goods_list
());
adapter
.
setOnItemClickListener
((
adapter1
,
view
,
position
)
->
{
switch
(
item
.
getOrder_status
())
{
case
0
:
//待支付
case
0
:
context
.
startActivity
(
new
Intent
(
context
,
MallOrderDetailsPayActivity
.
class
).
putExtra
(
ConstantsRestaurantType
.
UUID
,
item
.
getUuid
()));
break
;
case
1
:
//已支付
case
1
:
context
.
startActivity
(
new
Intent
(
context
,
MallOrderDetailsActivity
.
class
).
putExtra
(
ConstantsRestaurantType
.
UUID
,
item
.
getUuid
()));
break
;
case
2
:
//退款申请中
case
2
:
context
.
startActivity
(
new
Intent
(
context
,
MallOrderDetailsCancelActivity
.
class
).
putExtra
(
ConstantsRestaurantType
.
UUID
,
item
.
getUuid
()));
break
;
case
3
:
//待收货
case
3
:
context
.
startActivity
(
new
Intent
(
context
,
MallOrderDetailsActivity
.
class
).
putExtra
(
ConstantsRestaurantType
.
UUID
,
item
.
getUuid
()));
break
;
case
4
:
//已完成
case
4
:
context
.
startActivity
(
new
Intent
(
context
,
MallOrderDetailsCompleteActivity
.
class
).
putExtra
(
ConstantsRestaurantType
.
UUID
,
item
.
getUuid
()));
break
;
case
5
:
//"已取消"
case
5
:
context
.
startActivity
(
new
Intent
(
context
,
MallOrderDetailsCancelActivity
.
class
).
putExtra
(
ConstantsRestaurantType
.
UUID
,
item
.
getUuid
()));
break
;
case
6
:
//仅退款
case
6
:
context
.
startActivity
(
new
Intent
(
context
,
MallOrderDetailsCancelActivity
.
class
).
putExtra
(
ConstantsRestaurantType
.
UUID
,
item
.
getUuid
()));
break
;
case
7
:
...
...
app/src/main/java/cn/dankal/client/adapter/personal/MyCollectAdapter.java
View file @
b66d516c
...
...
@@ -19,7 +19,7 @@ import cn.dankal.client.util.UIUtile;
*/
public
class
MyCollectAdapter
extends
BaseQuickAdapter
<
CollectShopEntity
.
DataBean
,
BaseViewHolder
>
{
public
boolean
isAllSelect
=
false
;
//是否全选
public
boolean
isAllSelect
=
false
;
public
SparseBooleanArray
sparseBooleanArray
=
new
SparseBooleanArray
();
public
MyCollectAdapter
(
int
layoutResId
,
@Nullable
List
<
CollectShopEntity
.
DataBean
>
data
)
{
...
...
app/src/main/java/cn/dankal/client/adapter/personal/MyCouponAdapter.java
View file @
b66d516c
...
...
@@ -19,7 +19,7 @@ import cn.dankal.client.R;
*/
public
class
MyCouponAdapter
extends
BaseQuickAdapter
<
CouponListEntity
.
DataBean
,
BaseViewHolder
>
{
private
int
type
=
0
;
//0
,选择优惠券,1,列表进入
private
int
type
=
0
;
//0
, 쿠폰 선택, 1, 리스트 입장
public
MyCouponAdapter
(
int
layoutResId
,
@Nullable
List
<
CouponListEntity
.
DataBean
>
data
,
int
type
)
{
super
(
layoutResId
,
data
);
...
...
app/src/main/java/cn/dankal/client/adapter/shop/GridImageAdapter.java
View file @
b66d516c
...
...
@@ -41,7 +41,7 @@ public class GridImageAdapter extends
private
int
selectMax
=
9
;
private
Context
context
;
/**
*
点击添加图片跳转
*
클릭 하여 이미지 전송 추가
*/
private
onAddPicClickListener
mOnAddPicClickListener
;
...
...
@@ -97,9 +97,7 @@ public class GridImageAdapter extends
}
}
/**
* 创建ViewHolder
*/
@Override
public
ViewHolder
onCreateViewHolder
(
ViewGroup
viewGroup
,
int
i
)
{
View
view
=
mInflater
.
inflate
(
R
.
layout
.
gv_filter_image
,
...
...
@@ -114,11 +112,11 @@ public class GridImageAdapter extends
}
/**
*
设置值
*
설정 값
*/
@Override
public
void
onBindViewHolder
(
final
ViewHolder
viewHolder
,
final
int
position
)
{
//
少于8张,显示继续添加的图标
//
8 장 미 만, 추가 아이콘 보이 기
if
(
getItemViewType
(
position
)
==
TYPE_CAMERA
)
{
if
(
DankalApplication
.
isDarkMode
()){
viewHolder
.
mImg
.
setImageResource
(
R
.
mipmap
.
ic_evaluation_increase
);
...
...
@@ -140,8 +138,7 @@ public class GridImageAdapter extends
@Override
public
void
onClick
(
View
view
)
{
int
index
=
viewHolder
.
getAdapterPosition
();
// 这里有时会返回-1造成数据下标越界,具体可参考getAdapterPosition()源码,
// 通过源码分析应该是bindViewHolder()暂未绘制完成导致,知道原因的也可联系我~感谢
//여 기 는 가끔 - 1 로 데이터 가 아래로 넘 어 갈 수 있 습 니 다. 구체 적 으로 getAdapterPosition () 소스 코드 를 참고 하 십시오.
if
(
index
!=
RecyclerView
.
NO_POSITION
)
{
list
.
remove
(
index
);
notifyItemRemoved
(
index
);
...
...
@@ -153,26 +150,23 @@ public class GridImageAdapter extends
int
mimeType
=
media
.
getMimeType
();
String
path
=
""
;
if
(
media
.
isCut
()
&&
!
media
.
isCompressed
())
{
// 裁剪过
path
=
media
.
getCutPath
();
}
else
if
(
media
.
isCompressed
()
||
(
media
.
isCut
()
&&
media
.
isCompressed
()))
{
// 压缩过,或者裁剪同时压缩过,以最终压缩过图片为准
path
=
media
.
getCompressPath
();
}
else
{
// 原图
path
=
media
.
getPath
();
}
// 图片
if
(
media
.
isCompressed
())
{
Log
.
i
(
"compress image result:"
,
new
File
(
media
.
getCompressPath
()).
length
()
/
1024
+
"k"
);
Log
.
i
(
"压缩地址::"
,
media
.
getCompressPath
());
}
Log
.
i
(
"原图地址::"
,
media
.
getPath
());
int
pictureType
=
PictureMimeType
.
isPictureType
(
media
.
getPictureType
());
if
(
media
.
isCut
())
{
Log
.
i
(
"裁剪地址::"
,
media
.
getCutPath
());
}
long
duration
=
media
.
getDuration
();
viewHolder
.
tv_duration
.
setVisibility
(
pictureType
==
PictureConfig
.
TYPE_VIDEO
?
View
.
VISIBLE
:
View
.
GONE
);
...
...
@@ -197,7 +191,7 @@ public class GridImageAdapter extends
.
apply
(
options
)
.
into
(
viewHolder
.
mImg
);
}
//itemView 的点击事件
if
(
mItemClickListener
!=
null
)
{
viewHolder
.
itemView
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
...
...
app/src/main/java/cn/dankal/client/adapter/shop/GridImageEvaluationAdapter.java
View file @
b66d516c
...
...
@@ -38,10 +38,10 @@ public class GridImageEvaluationAdapter extends
private
List
<
LocalMedia
>
list
=
new
ArrayList
<>();
private
int
selectMax
=
9
;
private
Context
context
;
private
int
mPoint
=
0
;
//
指示器用来标识,当前是哪一个商品
private
int
mPoint
=
0
;
//
표시 기 는 현재 어떤 상품 인지 표시 하 는 데 쓰 인 다.
/**
*
点击添加图片跳转
*
클릭 하여 이미지 전송 추가
*/
private
onAddPicClickListener
mOnAddPicClickListener
;
...
...
@@ -98,9 +98,7 @@ public class GridImageEvaluationAdapter extends
}
}
/**
* 创建ViewHolder
*/
@Override
public
ViewHolder
onCreateViewHolder
(
ViewGroup
viewGroup
,
int
i
)
{
View
view
=
mInflater
.
inflate
(
R
.
layout
.
gv_filter_image
,
...
...
@@ -115,11 +113,10 @@ public class GridImageEvaluationAdapter extends
}
/**
*
设置值
*
설정 값
*/
@Override
public
void
onBindViewHolder
(
final
ViewHolder
viewHolder
,
final
int
position
)
{
//少于8张,显示继续添加的图标
if
(
getItemViewType
(
position
)
==
TYPE_CAMERA
)
{
viewHolder
.
mImg
.
setImageResource
(
R
.
mipmap
.
pic_mall_order_comment
);
viewHolder
.
mImg
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
...
...
@@ -137,8 +134,6 @@ public class GridImageEvaluationAdapter extends
@Override
public
void
onClick
(
View
view
)
{
int
index
=
viewHolder
.
getAdapterPosition
();
// 这里有时会返回-1造成数据下标越界,具体可参考getAdapterPosition()源码,
// 通过源码分析应该是bindViewHolder()暂未绘制完成导致,知道原因的也可联系我~感谢
if
(
index
!=
RecyclerView
.
NO_POSITION
)
{
list
.
remove
(
index
);
notifyItemRemoved
(
index
);
...
...
@@ -150,25 +145,25 @@ public class GridImageEvaluationAdapter extends
int
mimeType
=
media
.
getMimeType
();
String
path
=
""
;
if
(
media
.
isCut
()
&&
!
media
.
isCompressed
())
{
// 裁剪过
path
=
media
.
getCutPath
();
}
else
if
(
media
.
isCompressed
()
||
(
media
.
isCut
()
&&
media
.
isCompressed
()))
{
// 压缩过,或者裁剪同时压缩过,以最终压缩过图片为准
path
=
media
.
getCompressPath
();
}
else
{
// 原图
path
=
media
.
getPath
();
}
// 图片
if
(
media
.
isCompressed
())
{
Log
.
i
(
"compress image result:"
,
new
File
(
media
.
getCompressPath
()).
length
()
/
1024
+
"k"
);
Log
.
i
(
"压缩地址::"
,
media
.
getCompressPath
());
}
Log
.
i
(
"原图地址::"
,
media
.
getPath
());
int
pictureType
=
PictureMimeType
.
isPictureType
(
media
.
getPictureType
());
if
(
media
.
isCut
())
{
Log
.
i
(
"裁剪地址::"
,
media
.
getCutPath
());
}
long
duration
=
media
.
getDuration
();
viewHolder
.
tv_duration
.
setVisibility
(
pictureType
==
PictureConfig
.
TYPE_VIDEO
...
...
@@ -194,7 +189,7 @@ public class GridImageEvaluationAdapter extends
.
apply
(
options
)
.
into
(
viewHolder
.
mImg
);
}
//itemView 的点击事件
if
(
mItemClickListener
!=
null
)
{
viewHolder
.
itemView
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
...
...
app/src/main/java/cn/dankal/client/adapter/shop/MallTypeTitleAdapter.java
View file @
b66d516c
...
...
@@ -24,7 +24,7 @@ public class MallTypeTitleAdapter extends BaseQuickAdapter<MerchantHomeEntity.St
public
MallTypeTitleAdapter
(
Context
context
,
int
layoutResId
,
@Nullable
List
<
MerchantHomeEntity
.
StoreTypeListBean
>
data
)
{
super
(
layoutResId
,
data
);
this
.
context
=
context
;
sparseBooleanArray
.
put
(
0
,
true
);
//
初始化选中第一个
sparseBooleanArray
.
put
(
0
,
true
);
//
첫 번 째 선택 초기 화
}
@Override
...
...
app/src/main/java/cn/dankal/client/adapter/shop/ShopTypeTitleAdapter.java
View file @
b66d516c
...
...
@@ -25,7 +25,7 @@ public class ShopTypeTitleAdapter extends BaseQuickAdapter<RestaurantDetailEntit
public
ShopTypeTitleAdapter
(
Context
context
,
int
layoutResId
,
@Nullable
List
<
RestaurantDetailEntity
.
GoodsTypeListBean
>
data
)
{
super
(
layoutResId
,
data
);
this
.
context
=
context
;
sparseBooleanArray
.
put
(
0
,
true
);
//
初始化选中第一个
sparseBooleanArray
.
put
(
0
,
true
);
//
첫 번 째 선택 초기 화
}
@Override
...
...
app/src/main/java/cn/dankal/client/constants/ConstantsHomeType.java
View file @
b66d516c
...
...
@@ -5,22 +5,22 @@ package cn.dankal.client.constants;
*/
public
class
ConstantsHomeType
{
/**
*
主页头部模块
*
홈 페이지 헤드 모듈
*/
public
static
final
int
HOME_HEAD
=
0
;
/**
*
主页菜单模块
*
홈 페이지 메뉴 모듈
*/
public
static
final
int
HOME_MENU
=
1
;
/**
*
扫一扫
*
일소 하 다.
*/
public
static
final
int
SCAN
=
306
;
/**
*
扫码内容
*
스 캔 내용
*/
public
static
final
String
CODED_CONTENT
=
"codedContent"
;
...
...
app/src/main/java/cn/dankal/client/ui/car/CarFragment.kt
View file @
b66d516c
...
...
@@ -33,21 +33,21 @@ class CarFragment : BaseFragment(), View.OnClickListener {
private
val
shopCarList
=
mutableListOf
<
ShopCarEntity
.
DataBean
>()
private
var
adapter
:
CarShopAdapter
?
=
null
private
val
selectShopList
=
mutableListOf
<
CartGoodsListEntity
.
SettleCartGoodsListBeanX
>()
//当前选中的商品列表
private
val
deleteList
=
mutableListOf
<
String
>()
//
当前选中需要删除的商品
private
val
deleteList
=
mutableListOf
<
String
>()
//
현재 선택 한 삭제 할 상품
override
fun
onClick
(
v
:
View
?)
{
when
(
v
?.
id
)
{
R
.
id
.
btn_car_sure
->
{
selectShopList
.
clear
()
var
listData
=
adapter
?.
data
if
(
listData
!=
null
&&
listData
.
size
>
0
)
{
for
(
i
in
0
until
listData
.
size
)
{
//
遍历所有店铺
var
storeData
=
listData
[
i
]
//
拿到店铺数据
var
settleCartGoodsListBean
=
CartGoodsListEntity
.
SettleCartGoodsListBeanX
()
//
配置需要提交结算的参数
for
(
i
in
0
until
listData
.
size
)
{
//
모든 점포 를 누비다
var
storeData
=
listData
[
i
]
//
모든 점포 를 누비다
var
settleCartGoodsListBean
=
CartGoodsListEntity
.
SettleCartGoodsListBeanX
()
//
결제 할 인 자 를 설정 합 니 다.
var
goodsList
=
mutableListOf
<
CartGoodsListEntity
.
SettleCartGoodsListBeanX
.
SettleCartGoodsListBean
>()
for
(
j
in
0
until
storeData
.
store_cart_goods_list
.
size
)
{
//
遍历所有商品
for
(
j
in
0
until
storeData
.
store_cart_goods_list
.
size
)
{
//
모든 상품 을 편력 하 다
var
shopData
=
storeData
.
store_cart_goods_list
[
j
]
//拿到商品数据
if
(
shopData
.
isShopSelect
)
{
//
当前商品是否选中
if
(
shopData
.
isShopSelect
)
{
//
현재 상품 선택 여부
settleCartGoodsListBean
.
store_uuid
=
shopData
.
store_uuid
var
shopInfo
=
CartGoodsListEntity
.
SettleCartGoodsListBeanX
.
SettleCartGoodsListBean
()
shopInfo
.
uuid
=
shopData
.
uuid
...
...
@@ -83,16 +83,16 @@ class CarFragment : BaseFragment(), View.OnClickListener {
ToastUtils
.
showShort
(
getString
(
R
.
string
.
no_items_yet_no_billing_yet
))
}
}
R
.
id
.
tv_car_delete
->
{
//
删除
R
.
id
.
tv_car_delete
->
{
//
삭제 하 다.
deleteList
.
clear
()
var
listData
=
adapter
?.
data
if
(
listData
!=
null
&&
listData
.
size
>
0
)
{
for
(
i
in
0
until
listData
.
size
)
{
//
遍历所有店铺
var
storeData
=
listData
[
i
]
//
拿到店铺数据
for
(
i
in
0
until
listData
.
size
)
{
//
모든 점포 를 누비다
var
storeData
=
listData
[
i
]
//
점포 데이터 를 입수 하 다
for
(
j
in
0
until
storeData
.
store_cart_goods_list
.
size
)
{
//
遍历所有商品
for
(
j
in
0
until
storeData
.
store_cart_goods_list
.
size
)
{
//
모든 상품 을 편력 하 다
var
shopData
=
storeData
.
store_cart_goods_list
[
j
]
//拿到商品数据
if
(
shopData
.
isShopSelect
)
{
//
当前商品是否选中
if
(
shopData
.
isShopSelect
)
{
//
현재 상품 선택 여부
deleteList
.
add
(
shopData
.
uuid
)
}
}
...
...
app/src/main/java/cn/dankal/client/ui/home/FoodAllEvaluateActivity.kt
View file @
b66d516c
...
...
@@ -18,7 +18,7 @@ import io.reactivex.disposables.Disposable
import
kotlinx.android.synthetic.main.activity_food_all_evaluate.*
/**
*
餐馆全部评价
*
식당 평가
*/
class
FoodAllEvaluateActivity
:
BaseActivity
(),
OnRefreshLoadMoreListener
,
View
.
OnClickListener
{
private
val
mParams
=
HashMap
<
String
,
Any
?>()
...
...
app/src/main/java/cn/dankal/client/ui/home/HomeActivity.kt
View file @
b66d516c
...
...
@@ -62,9 +62,9 @@ class HomeActivity : BaseActivity(), View.OnClickListener {
private
var
dataList
:
MutableList
<
Fragment
>?
=
null
private
var
titles
:
MutableList
<
String
>?
=
null
private
var
stringList
=
mutableListOf
<
String
>()
//
轮播图地址
private
var
stringList
=
mutableListOf
<
String
>()
//
라운드 맵 주소
private
var
fragmentAdapter
:
FragmentAdapter
?
=
null
private
var
bannerListBean
:
MutableList
<
TopHomeInfoEntity
.
BannerListBean
>?
=
null
//
轮播图内容
private
var
bannerListBean
:
MutableList
<
TopHomeInfoEntity
.
BannerListBean
>?
=
null
//
윤 파 도 내용
private
var
lm
:
LocationManager
?
=
null
...
...
@@ -84,8 +84,8 @@ class HomeActivity : BaseActivity(), View.OnClickListener {
override
fun
initComponents
()
{
EventBus
.
getDefault
().
register
(
this
)
//
初始化轮播图控件
//
初始化TabLayout和ViewPage
//
윤 전도 컨트롤 초기 화
//
TabLayot 와 ViewPage 를 초기 화 합 니 다.
dataList
=
ArrayList
()
titles
=
ArrayList
()
...
...
@@ -104,7 +104,7 @@ class HomeActivity : BaseActivity(), View.OnClickListener {
getStateBar
()
}
//
获取状态栏高度
//
획득 상태 표시 줄 높이
private
fun
getStateBar
()
{
var
result
=
0
var
resourceId
=
this
.
resources
.
getIdentifier
(
"status_bar_height"
,
"dimen"
,
"android"
)
...
...
@@ -119,10 +119,10 @@ class HomeActivity : BaseActivity(), View.OnClickListener {
var
podiatrist
=
locationManager
?.
getProviders
(
true
)
if
(
podiatrist
.
contains
(
LocationManager
.
NETWORK_PROVIDER
))
{
tv_location_tip
.
text
=
""
return
LocationManager
.
NETWORK_PROVIDER
//
网络定位
return
LocationManager
.
NETWORK_PROVIDER
//
네트워크 위치 확인
}
else
if
(
podiatrist
.
contains
(
LocationManager
.
GPS_PROVIDER
))
{
tv_location_tip
.
text
=
""
return
LocationManager
.
GPS_PROVIDER
//GPS
定位
return
LocationManager
.
GPS_PROVIDER
//GPS
포 지 셔 닝
}
else
{
tv_location_tip
.
text
=
getString
(
R
.
string
.
unopened_positioning
)
ToastUtils
.
showShort
(
getString
(
R
.
string
.
please_turn_on_positioning
))
...
...
@@ -134,11 +134,11 @@ class HomeActivity : BaseActivity(), View.OnClickListener {
private
fun
beginLocation
():
Location
?
{
//
获得位置服务
//
위치 획득 서비스
lm
=
getSystemService
(
Context
.
LOCATION_SERVICE
)
as
LocationManager
lm
?.
let
{
var
provider
=
judgeProvider
(
it
)
//
有位置提供器的情况
//
위치 제공 기 가 있 는 경우
if
(
provider
!=
null
)
{
if
(
ActivityCompat
.
checkSelfPermission
(
DankalApplication
.
getContext
(),
Manifest
.
permission
.
ACCESS_FINE_LOCATION
)
!=
PackageManager
.
PERMISSION_GRANTED
...
...
@@ -153,7 +153,7 @@ class HomeActivity : BaseActivity(), View.OnClickListener {
}
//
请求头部数据
//
헤드 데이터 요청
private
fun
requestTopInfoList
()
{
HomeServiceFactory
.
getHomeListInfo
(
1
,
20
).
subscribe
(
object
:
AbstractDialogSubscriber
<
TopHomeInfoEntity
>(
this
)
{
override
fun
onSubscribe
(
d
:
Disposable
)
{
...
...
@@ -191,7 +191,7 @@ class HomeActivity : BaseActivity(), View.OnClickListener {
})
}
//
设置顶部数据
//
상단 데이터 설정
private
fun
addTopData
(
topHomeInfoEntity
:
TopHomeInfoEntity
)
{
bannerListBean
=
topHomeInfoEntity
.
banner_list
stringList
?.
clear
()
...
...
@@ -261,15 +261,15 @@ class HomeActivity : BaseActivity(), View.OnClickListener {
.
putExtra
(
MerchantDetailsActivity
.
TABLE_UUID
,
qrCodeEntity
.
tableUuid
)
.
putExtra
(
MerchantDetailsActivity
.
TABLE_NUMBER
,
qrCodeEntity
.
tableNumber
.
toString
()))
}
"1"
//
不存在
"1"
//
존재 하지 않 음
->
{
startActivity
(
Intent
(
this
@HomeActivity
,
ScanResultActivity
::
class
.
java
))
}
"2"
//
被使用
"2"
//
사용되다
->
{
showDialogStateTow
(
getString
(
R
.
string
.
the_table_number_is_in_use
))
}
"3"
//
已隐藏
"3"
//
숨겨 진
->
{
startActivity
(
Intent
(
this
@HomeActivity
,
ScanResultActivity
::
class
.
java
))
}
...
...
app/src/main/java/cn/dankal/client/ui/home/HomeFragment.kt
View file @
b66d516c
...
...
@@ -53,9 +53,9 @@ class HomeFragment : BaseFragment(), View.OnClickListener {
private
var
titles
:
MutableList
<
String
>?
=
null
private
var
mDkBanner
:
DkBannerTow
<
String
>?
=
null
private
var
stringList
=
mutableListOf
<
String
>()
//
轮播图地址
private
var
stringList
=
mutableListOf
<
String
>()
//
라운드 맵 주소
private
var
fragmentAdapter
:
FragmentAdapter
?
=
null
private
var
bannerListBean
:
MutableList
<
TopHomeInfoEntity
.
BannerListBean
>?
=
null
//
轮播图内容
private
var
bannerListBean
:
MutableList
<
TopHomeInfoEntity
.
BannerListBean
>?
=
null
//
윤 파 도 내용
private
var
lm
:
LocationManager
?
=
null
...
...
@@ -79,10 +79,10 @@ class HomeFragment : BaseFragment(), View.OnClickListener {
override
fun
initComponents
()
{
EventBus
.
getDefault
().
register
(
this
)
//
初始化轮播图控件
//
윤 전도 컨트롤 초기 화
mDkBanner
=
activity
?.
findViewById
(
R
.
id
.
banner
)
//
初始化TabLayout和ViewPage
//
TabLayot 와 ViewPage 를 초기 화 합 니 다.
dataList
=
ArrayList
()
titles
=
ArrayList
()
...
...
@@ -101,7 +101,7 @@ class HomeFragment : BaseFragment(), View.OnClickListener {
getStateBar
()
}
//
获取状态栏高度
//
획득 상태 표시 줄 높이
private
fun
getStateBar
()
{
var
result
=
0
var
resourceId
=
this
.
resources
.
getIdentifier
(
"status_bar_height"
,
"dimen"
,
"android"
)
...
...
@@ -115,7 +115,7 @@ class HomeFragment : BaseFragment(), View.OnClickListener {
private
fun
initLocation
()
{
var
location
=
beginLocation
()
location
?.
let
{
//
定位成功获取经纬度
//
포 지 셔 닝 성공 획득 경위
SPUtils
.
put
(
ConstantsHomeType
.
LATITUDE
,
location
.
latitude
.
toString
())
SPUtils
.
put
(
ConstantsHomeType
.
LONGITUDE
,
location
.
longitude
.
toString
())
}
...
...
@@ -125,10 +125,10 @@ class HomeFragment : BaseFragment(), View.OnClickListener {
var
podiatrist
=
locationManager
?.
getProviders
(
true
)
if
(
podiatrist
.
contains
(
LocationManager
.
NETWORK_PROVIDER
))
{
tv_location_tip
.
text
=
""
return
LocationManager
.
NETWORK_PROVIDER
//
网络定位
return
LocationManager
.
NETWORK_PROVIDER
//
네트워크 위치 확인
}
else
if
(
podiatrist
.
contains
(
LocationManager
.
GPS_PROVIDER
))
{
tv_location_tip
.
text
=
""
return
LocationManager
.
GPS_PROVIDER
//GPS
定位
return
LocationManager
.
GPS_PROVIDER
//GPS
포 지 셔 닝
}
else
{
tv_location_tip
.
text
=
getString
(
R
.
string
.
unopened_positioning
)
ToastUtils
.
showShort
(
getString
(
R
.
string
.
please_turn_on_positioning
))
...
...
@@ -140,11 +140,11 @@ class HomeFragment : BaseFragment(), View.OnClickListener {
private
fun
beginLocation
():
Location
?
{
//
获得位置服务
//
위치 획득 서비스
lm
=
activity
?.
getSystemService
(
Context
.
LOCATION_SERVICE
)
as
LocationManager
lm
?.
let
{
var
provider
=
judgeProvider
(
it
)
//
有位置提供器的情况
//
위치 제공 기 가 있 는 경우
if
(
provider
!=
null
)
{
if
(
ActivityCompat
.
checkSelfPermission
(
DankalApplication
.
getContext
(),
Manifest
.
permission
.
ACCESS_FINE_LOCATION
)
!=
PackageManager
.
PERMISSION_GRANTED
...
...
@@ -159,7 +159,7 @@ class HomeFragment : BaseFragment(), View.OnClickListener {
}
//
请求头部数据
//
헤드 데이터 요청
private
fun
requestTopInfoList
()
{
HomeServiceFactory
.
getHomeListInfo
(
1
,
20
).
subscribe
(
object
:
AbstractDialogSubscriber
<
TopHomeInfoEntity
>(
this
)
{
override
fun
onSubscribe
(
d
:
Disposable
)
{
...
...
@@ -189,7 +189,7 @@ class HomeFragment : BaseFragment(), View.OnClickListener {
iv_home_sweep
.
setOnClickListener
(
this
)
iv_home_location
.
setOnClickListener
(
this
)
//
设置轮播图
//
윤 파 도 를 설정 하 다.
mDkBanner
?.
setIndicatorPoint
(
R
.
drawable
.
oval_indicator
,
R
.
drawable
.
oval_indicator_unselect
,
DisplayHelper
.
dp2px
(
AppUtils
.
getApp
(),
10
),
DisplayHelper
.
dp2px
(
AppUtils
.
getApp
(),
10
))
...
...
@@ -204,18 +204,18 @@ class HomeFragment : BaseFragment(), View.OnClickListener {
bannerListBean
?.
let
{
if
(
it
.
size
>
0
)
{
val
bean
=
it
.
get
(
postion
)
if
(
bean
.
banner_type
==
"0"
)
{
//
商品或者餐厅
if
(
bean
.
type
==
"0"
)
{
//
餐厅
if
(
bean
.
banner_type
==
"0"
)
{
//
상품 이나 레스토랑.
if
(
bean
.
type
==
"0"
)
{
//
식당.
startActivity
(
Intent
(
activity
,
DishesDetailsTowActivity
::
class
.
java
)
.
putExtra
(
Constant
.
HOTEL_UUID
,
bean
.
hotel_store_uuid
)
.
putExtra
(
Constant
.
SHOP_UUID
,
bean
.
goods_uuid
))
}
else
{
//
商城
}
else
{
//
상점.
val
intent
=
Intent
(
activity
,
ShopDetailActivity
::
class
.
java
)
intent
.
putExtra
(
ConstantsShopType
.
STORE_UUID
,
bean
.
hotel_store_uuid
)
intent
.
putExtra
(
ConstantsShopType
.
GOODS_UUID
,
bean
.
goods_uuid
)
startActivity
(
intent
)
}
}
else
{
//
富文本
}
else
{
//
부 텍스트
startActivity
(
Intent
(
activity
,
WebViewContentActivity
::
class
.
java
).
putExtra
(
"url"
,
bean
.
content
))
}
}
...
...
@@ -227,7 +227,7 @@ class HomeFragment : BaseFragment(), View.OnClickListener {
fun
getInstance
():
HomeFragment
=
HomeFragment
()
}
//
设置顶部数据
//
상단 데이터 설정
private
fun
addTopData
(
topHomeInfoEntity
:
TopHomeInfoEntity
)
{
bannerListBean
=
topHomeInfoEntity
.
banner_list
stringList
?.
clear
()
...
...
app/src/main/java/cn/dankal/client/ui/home/MenuItemFragment.java
View file @
b66d516c
...
...
@@ -72,10 +72,10 @@ public class MenuItemFragment extends BaseFragment {
private
BottomItemAdapter
bottomItemAdapter
;
private
List
<
BottomAroundEntity
.
DataBean
>
dataBeans
=
new
ArrayList
<>();
private
String
uuid
;
//
餐品类别u
uid
private
String
uuid
;
//
메뉴 유형
uid
private
String
business_status
=
""
;
//
营业状态 0:未营业;1:营业中 "",全部
,
private
String
queue_status
=
""
;
//
排队状态 0:无需排队;1:排队中 "",全部
,
private
String
business_status
=
""
;
//
영업 상태 0: 미 영업, 1: 영업 중 ", 전부
,
private
String
queue_status
=
""
;
//
대기 상태 0: 줄 을 설 필요 가 없 음; 1: 줄 서 는 중 ", 전부
,
private
int
GPS_REQUEST_CODE
=
10
;
...
...
@@ -130,7 +130,7 @@ public class MenuItemFragment extends BaseFragment {
}
//
开始请求数据
//
시작 요청 데이터
private
void
requestAllList
()
{
if
(
flowLayoutOne
!=
null
)
{
...
...
@@ -179,7 +179,7 @@ public class MenuItemFragment extends BaseFragment {
maps
.
put
(
"queue_status"
,
queue_status
);
maps
.
put
(
"search"
,
""
);
//
请求推荐商家
//
추천 업 체 요청
HomeServiceFactory
.
recommendList
(
maps
).
subscribe
(
new
AbstractDialogSubscriber
<
RestaurantEntity
>(
this
)
{
@Override
public
void
onSubscribe
(
Disposable
d
)
{
...
...
@@ -202,7 +202,7 @@ public class MenuItemFragment extends BaseFragment {
if
(!
checkGPSIsOpen
())
{
View
view
=
UIUtile
.
getView
(
R
.
layout
.
adapter_layout_location_data
,
rlRoundList
);
TextView
tvOpenGPS
=
view
.
findViewById
(
R
.
id
.
tv_open_location
);
tvOpenGPS
.
setOnClickListener
(
v
->
{
//
跳转到gps设置页面
tvOpenGPS
.
setOnClickListener
(
v
->
{
//
gps 설정 페이지 로 가기
toSelfSetting
();
});
if
(
bottomItemAdapter
!=
null
)
{
...
...
@@ -217,7 +217,7 @@ public class MenuItemFragment extends BaseFragment {
bottomItemAdapter
.
setEmptyView
(
UIUtile
.
getView
(
R
.
layout
.
adapter_layout_empty_data_one
,
rlRoundList
));
return
;
}
//
请求附近商家信息
//
근처 상가 에 정보 요청
HomeServiceFactory
.
aroundList
(
maps
).
subscribe
(
new
AbstractDialogSubscriber
<
BottomAroundEntity
>(
this
)
{
@Override
public
void
onSubscribe
(
Disposable
d
)
{
...
...
@@ -297,13 +297,13 @@ public class MenuItemFragment extends BaseFragment {
tvLocation
.
setText
(
getString
(
R
.
string
.
unopened_positioning
));
}
//
状态码
//
상태 코드
List
<
Integer
>
stateCode
=
new
ArrayList
<>();
stateCode
.
add
(
2
);
stateCode
.
add
(
1
);
stateCode
.
add
(
0
);
//-----------------
营业状态
-------------
//-----------------
영업 상태
-------------
List
<
String
>
listOne
=
new
ArrayList
<>();
listOne
.
add
(
getString
(
R
.
string
.
all
));
listOne
.
add
(
getString
(
R
.
string
.
in_business
));
...
...
@@ -320,7 +320,7 @@ public class MenuItemFragment extends BaseFragment {
flowLayoutOne
.
setAdapter
(
adapterOne
);
if
(
"0"
.
equals
(
business_status
))
{
//
未营业
if
(
"0"
.
equals
(
business_status
))
{
//
미 영업
adapterOne
.
setSelectedList
(
2
);
}
else
if
(
"1"
.
equals
(
business_status
))
{
adapterOne
.
setSelectedList
(
1
);
...
...
@@ -328,7 +328,7 @@ public class MenuItemFragment extends BaseFragment {
adapterOne
.
setSelectedList
(
0
);
}
//-----------------
排队状态
-------------
//-----------------
대기 상태
-------------
List
<
String
>
listTow
=
new
ArrayList
<>();
listTow
.
add
(
getString
(
R
.
string
.
all
));
listTow
.
add
(
getString
(
R
.
string
.
in_the_ine
));
...
...
@@ -343,7 +343,7 @@ public class MenuItemFragment extends BaseFragment {
};
flowLayoutTow
.
setAdapter
(
adapterTow
);
if
(
"0"
.
equals
(
queue_status
))
{
//
无需排队
if
(
"0"
.
equals
(
queue_status
))
{
//
줄 을 설 필요 가 없다
adapterTow
.
setSelectedList
(
2
);
}
else
if
(
"1"
.
equals
(
queue_status
))
{
adapterTow
.
setSelectedList
(
1
);
...
...
@@ -378,13 +378,13 @@ public class MenuItemFragment extends BaseFragment {
});
btnComplete
.
setOnClickListener
(
v
->
{
//
手动调用刷新
//
수 동 호출 리 셋
requestAllList
();
popupWindow
.
dismiss
();
});
}
//
获取状态栏高度
//
획득 상태 표시 줄 높이
private
void
getStateBar
(
TextView
textView
)
{
int
result
=
0
;
int
resourceId
=
getActivity
().
getResources
().
getIdentifier
(
"status_bar_height"
,
"dimen"
,
"android"
);
...
...
@@ -397,7 +397,7 @@ public class MenuItemFragment extends BaseFragment {
/**
*
判断GPS是否打开
*
GPS 오픈 여 부 를 판단
*
* @return
*/
...
...
@@ -409,7 +409,7 @@ public class MenuItemFragment extends BaseFragment {
public
void
onActivityResult
(
int
requestCode
,
int
resultCode
,
Intent
data
)
{
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
);
if
(
requestCode
==
GPS_REQUEST_CODE
)
{
//
做需要做的事情,比如再次检测是否打开GPS了 或者定位
//
필요 한 일 을 하 는 것, 예 를 들 어 GPS 를 켰 는 지, 위치 추적 을 했 는 지 재 확인 하 는 것.
requestAllList
();
}
}
...
...
app/src/main/java/cn/dankal/client/ui/home/SearchShopActivity.java
View file @
b66d516c
...
...
@@ -68,7 +68,7 @@ public class SearchShopActivity extends BaseActivity implements OnRefreshLoadMor
private
List
<
String
>
listTow
=
new
ArrayList
<>();
List
<
HotSearchListEntity
.
DataBean
>
listHot
=
new
ArrayList
<>();
//
餐馆热搜
List
<
HotSearchListEntity
.
DataBean
>
listHot
=
new
ArrayList
<>();
//
식당 검색
private
ShopArrayAdapter
shopArrayAdapter
;
...
...
app/src/main/java/cn/dankal/client/ui/home/details/DetailsInfoFragment.kt
View file @
b66d516c
...
...
@@ -63,7 +63,7 @@ class DetailsInfoFragment : BaseFragment(), View.OnClickListener, CallDialog.OnC
iv_location
.
setOnClickListener
(
this
)
tv_merchant_address
.
setOnClickListener
(
this
)
//
设置数据
//
데이터 설정
param1
?.
apply
{
tv_merchant_address
.
text
=
address
phone
=
waiter_phone
...
...
app/src/main/java/cn/dankal/client/ui/home/details/DetailsShopFragment.java
View file @
b66d516c
...
...
@@ -89,7 +89,7 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
ImageView
ivMenuPicture
;
TextView
tvBottomShopCount
;
//
商品数据标识
TextView
tvBottomShopCount
;
//
상품 데이터 표식
Button
btnDetailsQueue
;
...
...
@@ -97,11 +97,11 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
TextView
tvShopTip
;
TextView
tvBottomShopTipText
;
//
底部提示文字
TextView
tvBottomShopTipText
;
//
아래쪽 프롬프트 문자
TextView
tvBottomShopButton
;
//
选好了按钮
TextView
tvBottomShopButton
;
//
버튼 을 골 랐 어 요.
private
int
userStampNumber
=
0
;
//
用户在当前店铺拥有的邮票数
private
int
userStampNumber
=
0
;
//
사용자 가 현재 점포 에서 가지 고 있 는 우표 수
private
ShopTypeTitleAdapter
shopTypeTitleAdapter
;
private
ShopTypeContentAdapter
adapterContent
;
...
...
@@ -114,40 +114,40 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
private
List
<
ShopTypeContentEntity
.
DataBean
>
shopTypeContentEntities
;
private
List
<
FoodEntity
>
listItemEntities
;
//
当前店铺购物车列表信息
private
List
<
FoodEntity
>
listItemEntities
;
//
현재 점포 카 트 리스트 정보
private
String
storeUUId
;
//
店铺u
uid
private
String
storeUUId
;
//
가게
uid
private
View
mCarView
;
//
购物车
View
private
View
mCarView
;
//
카 트
View
private
ShopBottomListAdapter
carAdapter
;
private
RecyclerView
rvCar
;
private
String
tableUUID
=
""
;
//
桌号
ID
private
String
tableUUID
=
""
;
//
테이블
ID
private
String
tableName
=
""
;
//
餐桌名字
private
String
tableName
=
""
;
//
테이블 ID
String
mainSpecId
=
""
;
//
主规格
ID
String
mainSpecId
=
""
;
//
주 규격
ID
private
TextView
tvShowShopInfo
;
//
购物车所选信息
private
TextView
tvShowShopInfo
;
//
카 트 선정 정보
private
TextView
tvCount
;
//
购物车商品数量
private
TextView
tvCount
;
//
카 트 수량
private
int
type
=
0
;
//
排队状态,0,预约排队,1,排队中,2,排队已过期
private
int
type
=
0
;
//
대기 상태, 0, 예약 대기 행렬, 1, 대기 중, 2, 대기 시간 이 지 났 습 니 다
private
CommitQueueEntity
commitQueueEntity
;
//
排队信息
private
CommitQueueEntity
commitQueueEntity
;
//
대기 정보
private
ShopSpecListAdapter
shopSpecListAdapter
;
//
辅规格适配器
private
ShopSpecListAdapter
shopSpecListAdapter
;
//
보조 규격 어댑터
private
String
specPrice
=
""
;
//
当前弹出商品的规格
private
String
specMainName
=
""
;
//
主规格名字
private
String
specPrice
=
""
;
//
보조 규격 어댑터
private
String
specMainName
=
""
;
//
주 규격 이름
private
int
showState
=
-
1
;
//
底部显示状态
private
int
showState
=
-
1
;
//
아래쪽 디 스 플레이 상태
private
TextView
tvSettlement
;
//
弹出的购物车界面按钮
private
TextView
tvSettlement
;
//
팝 업 카 트 인터페이스 버튼
private
FoodEntity
mFoodEntity
;
//
保存当前选中的规格
private
FoodEntity
mFoodEntity
;
//
현재 선 택 된 규격 저장
private
boolean
isUserCoupon
=
true
;
...
...
@@ -155,11 +155,11 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
private
int
page
=
1
;
private
String
mGoodsTypeUUID
=
""
;
//
当前所选商品类别
private
String
mGoodsTypeUUID
=
""
;
//
현재 선택 한 상품 유형
private
int
isTypeStamp
=
0
;
//
类别是否为邮票
private
int
isTypeStamp
=
0
;
//
카 테 고리 가 우표 인지 여부
private
boolean
isAgain
=
false
;
//
是否是再来一单
private
boolean
isAgain
=
false
;
//
한 장 더 할 까요?
@Override
protected
int
getLayoutId
()
{
...
...
@@ -171,7 +171,7 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
protected
void
initComponents
()
{
initView
();
EventBus
.
getDefault
().
register
(
this
);
//
配置商品内容初始化
//
상품 내용 초기 화 설정
shopTypeContentEntities
=
new
ArrayList
<>();
linearLayoutManagerContent
=
new
LinearLayoutManager
(
getActivity
());
rvDetailsContent
.
setLayoutManager
(
linearLayoutManagerContent
);
...
...
@@ -191,7 +191,7 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
showDialog
(
""
,
getString
(
R
.
string
.
insufficient_stamps
),
null
,
false
,
false
);
return
;
}
//
请求规格
//
요청 규격
requestSpecsDetails
(
dataBean
);
}
else
if
(
view
.
getId
()==
R
.
id
.
ll_shop_bg
){
Intent
intent
=
new
Intent
(
getActivity
(),
DishesDetailsActivity
.
class
);
...
...
@@ -217,7 +217,7 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
});
rvDetailsContent
.
setAdapter
(
adapterContent
);
//
配置商品类别
//
상품 유형 설정
Bundle
bundle
=
getArguments
();
if
(
bundle
!=
null
)
{
storeUUId
=
bundle
.
getString
(
MerchantDetailsActivity
.
HOTELUUID
,
""
);
...
...
@@ -232,16 +232,16 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
if
(
goodsTypeListBeans
!=
null
&&
goodsTypeListBeans
.
size
()
>
0
)
{
RestaurantDetailEntity
.
GoodsTypeListBean
goodsTypeListBean
=
goodsTypeListBeans
.
get
(
0
);
//
调用接口初始化第一个类别的商品列表
//
인터페이스 호출 첫 번 째 품목 의 상품 목록 초기 화
mGoodsTypeUUID
=
goodsTypeListBean
.
getUuid
();
if
(
adapterContent
!=
null
)
{
//
传递is_
stamp
if
(
adapterContent
!=
null
)
{
//
전달 is
stamp
isTypeStamp
=
goodsTypeListBean
.
getIs_stamp
();
adapterContent
.
setIsStamp
(
isTypeStamp
);
}
getShopContentList
(
mGoodsTypeUUID
,
true
);
//
设置商品类型
//
상품 유형 설정
linearLayoutManagerTitle
=
new
LinearLayoutManager
(
getActivity
());
rvDetailsTitle
.
setLayoutManager
(
linearLayoutManagerTitle
);
shopTypeTitleAdapter
=
new
ShopTypeTitleAdapter
(
getActivity
(),
R
.
layout
.
item_shop_type_title
,
goodsTypeListBeans
);
...
...
@@ -269,7 +269,7 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
rvDetailsTitle
.
setAdapter
(
shopTypeTitleAdapter
);
}
//
初始化底部状态
//
상품 유형 설정
setBottomState
(
showState
);
}
...
...
@@ -297,7 +297,7 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
}
/**
*
请求加载商品内容
*
상품 내용 로 딩 요청
*
* @param goods_type_uuid
*/
...
...
@@ -361,7 +361,7 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
}
/**
*
初始化购物车
*
카 트 초기 화
*/
private
void
initCar
()
{
mCarView
=
LayoutInflater
.
from
(
getActivity
()).
inflate
(
R
.
layout
.
dialog_bottom_list
,
null
,
false
);
...
...
@@ -406,7 +406,7 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
/**
*
去支付
*
지불 하 다
*/
private
void
toPay
()
{
if
(
listItemEntities
!=
null
&&
listItemEntities
.
size
()
>
0
)
{
...
...
@@ -415,7 +415,7 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
return
;
}
//
遍历商品查看是否是相同商品
//
상품 을 넘 나 들 며 같은 상품 인지 확인 하 다
int
shopType
=
listItemEntities
.
get
(
0
).
getIsStamp
();
for
(
int
i
=
0
;
i
<
listItemEntities
.
size
();
i
++)
{
FoodEntity
foodEntity
=
listItemEntities
.
get
(
i
);
...
...
@@ -441,7 +441,7 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
}
/**
*
请求规格
*
요청 규격
*/
private
void
requestSpecsDetails
(
ShopTypeContentEntity
.
DataBean
dataBean
)
{
RestaurantServiceFactory
.
getGoodsSpecDetail
(
dataBean
.
getHotel_uuid
(),
dataBean
.
getUuid
()).
subscribe
(
new
AbstractDialogSubscriber
<
RestaurantSpecEntity
>(
this
)
{
...
...
@@ -494,7 +494,7 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
public
void
setBottomState
(
int
state
)
{
showState
=
state
;
switch
(
state
)
{
case
0
:
//
显示商家还未营业提示
case
0
:
//
업 체 가 아직 영업 알림 을 하지 않 았 음 을 표시 하 다.
if
(
tvShopTip
!=
null
)
tvShopTip
.
setVisibility
(
View
.
VISIBLE
);
if
(
btnDetailsQueue
!=
null
)
...
...
@@ -509,7 +509,7 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
adapterContent
.
setShowState
(
showState
);
}
break
;
case
1
:
//
显示排队按钮
case
1
:
//
대기 버튼 보이 기
/*if (btnDetailsQueue != null)
btnDetailsQueue.setVisibility(View.VISIBLE);*/
if
(
tvShopTip
!=
null
)
...
...
@@ -521,7 +521,7 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
type
=
0
;
break
;
case
2
:
//
显示添加商品底部
case
2
:
//
상품 의 하단 부 를 보 여 줍 니 다.
llShopBottom
.
setVisibility
(
View
.
VISIBLE
);
ivMenuPicture
.
setVisibility
(
View
.
VISIBLE
);
...
...
@@ -547,7 +547,7 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
}
/**
*
用户是否在当前餐馆预约
*
사용자 가 현재 식당 에서 예약 합 니까?
*/
private
void
requestIsMerchantOrder
()
{
RestaurantServiceFactory
.
isUserQueue
(
storeUUId
).
subscribe
(
new
AbstractDialogSubscriber
<
IsOrderStoreEntity
>(
this
)
{
...
...
@@ -560,7 +560,7 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
public
void
onNext
(
IsOrderStoreEntity
entity
)
{
if
(
entity
!=
null
)
{
if
(
entity
.
getIs_user_queue
()
==
1
)
{
//
预约了
if
(
entity
.
getIs_user_queue
()
==
1
)
{
//
예 약 했 습 니 다.
List
<
IsOrderStoreEntity
.
HotelQueueListBean
>
beans
=
entity
.
getHotel_queue_list
();
if
(
beans
!=
null
&&
beans
.
size
()
>
0
)
{
IsOrderStoreEntity
.
HotelQueueListBean
hotelQueueListBean
=
beans
.
get
(
0
);
...
...
@@ -569,9 +569,9 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
if
(!
TextUtils
.
isEmpty
(
tableUUID
))
{
return
;
}
if
(
beans
.
get
(
0
).
getIs_over_number
()
==
0
)
{
//
未过号
//
是否已经叫号
if
(
beans
.
get
(
0
).
getIs_call
()
==
1
)
{
//
已叫号
if
(
beans
.
get
(
0
).
getIs_over_number
()
==
0
)
{
//
미 통과 번호
//
이미 번 호 를 불 렀 는 지 여부
if
(
beans
.
get
(
0
).
getIs_call
()
==
1
)
{
//
이미 번 호 를 불 렀 다.
setBottomState
(
2
);
}
else
{
if
(
btnDetailsQueue
!=
null
)
{
...
...
@@ -580,7 +580,7 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
type
=
1
;
}
}
}
else
if
(
beans
.
get
(
0
).
getIs_over_number
()
==
2
)
{
//
已过号
}
else
if
(
beans
.
get
(
0
).
getIs_over_number
()
==
2
)
{
//
이미 지나 간 번호
if
(
btnDetailsQueue
!=
null
)
{
btnDetailsQueue
.
setText
(
R
.
string
.
passed_number
);
btnDetailsQueue
.
setVisibility
(
View
.
VISIBLE
);
...
...
@@ -592,7 +592,7 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
startActivity
(
intentOne
);
},
true
);
}
}
else
if
(
beans
.
get
(
0
).
getIs_over_number
()
==
1
)
{
//
排队成功
}
else
if
(
beans
.
get
(
0
).
getIs_over_number
()
==
1
)
{
//
줄 서기 성공
setBottomState
(
2
);
}
}
...
...
@@ -612,7 +612,7 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
}
/**
*
显示规格详情
*
규격 상세 정보 보기
*
* @param dataBean
* @param entity
...
...
@@ -645,7 +645,7 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
mFoodEntity
.
setNumber
(
mFoodEntity
.
getNumber
()
-
1
);
tvItemCount
.
setText
(
String
.
valueOf
(
mFoodEntity
.
getNumber
()));
mFoodEntity
.
save
();
}
else
{
//
删除
}
else
{
//
삭제 하 다.
mFoodEntity
.
delete
();
updateLayoutState
(
tvItemCount
,
tvSpecShow
,
entity
,
tvShopAdd
,
llCount
);
}
...
...
@@ -682,11 +682,11 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
}
}
//
刷新购物车状态
//
카 트 리 셋 상태
updateLayoutState
(
tvItemCount
,
tvSpecShow
,
entity
,
tvShopAdd
,
llCount
);
});
//
获取所有规格
//
모든 규격 가 져 오기
List
<
RestaurantSpecEntity
.
GoodsMainSpecsListBean
>
goodsMainSpecsListBeans
=
entity
.
getGoods_main_specs_list
();
if
(
goodsMainSpecsListBeans
.
size
()
>
0
)
{
...
...
@@ -705,12 +705,12 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
}
};
//
设置默认选择第一个
//
기본 설정 첫 번 째 선택
tagAdapter
.
setSelectedList
(
0
);
if
(
list
!=
null
&&
list
.
size
()
>
0
)
{
//
使用第一个规格的价格
if
(
dataBean
.
getIsStamp
()
==
0
)
{
//
不是邮票兑换商品
//
첫 번 째 규격 의 가격 을 사용 하 다
if
(
dataBean
.
getIsStamp
()
==
0
)
{
//
우표 교환 상품 아니에요.
price
.
setText
(
UIUtile
.
stringToPrice
(
list
.
get
(
0
).
getGoods_price
()));
specPrice
=
list
.
get
(
0
).
getGoods_price
();
}
else
{
...
...
@@ -735,20 +735,20 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
specMainName
=
list
.
get
(
position
).
getSpecs_name
();
mainSpecId
=
list
.
get
(
position
).
getUuid
();
if
(
dataBean
.
getIsStamp
()
==
0
)
{
specPrice
=
list
.
get
(
position
).
getGoods_price
();
//
设置当前规格价格
specPrice
=
list
.
get
(
position
).
getGoods_price
();
//
현재 규격 가격 설정
price
.
setText
(
UIUtile
.
stringToPrice
(
list
.
get
(
position
).
getGoods_price
()));
}
else
{
//
邮票兑换
specPrice
=
String
.
valueOf
(
list
.
get
(
position
).
getStamp_number
());
//
设置当前规格价格
}
else
{
//
우표 교환
specPrice
=
String
.
valueOf
(
list
.
get
(
position
).
getStamp_number
());
//
현재 규격 가격 설정
price
.
setText
(
UIUtile
.
stringToStamp
(
list
.
get
(
position
).
getStamp_number
()));
}
}
else
{
mainSpecId
=
""
;
specMainName
=
""
;
if
(
dataBean
.
getIsStamp
()
==
0
)
{
specPrice
=
"0"
;
//
设置当前规格价格
specPrice
=
"0"
;
//
현재 규격 가격 설정
price
.
setText
(
UIUtile
.
stringToPrice
(
"0"
));
}
else
{
//邮票兑换
specPrice
=
"0"
;
//
设置当前规格价格
specPrice
=
"0"
;
//
현재 규격 가격 설정
price
.
setText
(
UIUtile
.
stringToStamp
(
"0"
));
}
}
...
...
@@ -786,20 +786,20 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
//tvVipShopInfoLabel.setText("已选:" + mCount + "件");
});
//---------------------------------
初始化判断当前商品是否存在购物车
--------------------------------------------
//---------------------------------
초기 화 판단 현재 상품 카 트 존재 여부
--------------------------------------------
updateLayoutState
(
tvItemCount
,
tvSpecShow
,
entity
,
tvShopAdd
,
llCount
);
//---------------------------------
初始化判断当前商品是否存在购物车
--------------------------------------------
//---------------------------------
초기 화 판단 현재 상품 카 트 존재 여부
--------------------------------------------
}
/**
*
更新规格布局状态
*
규격 레이아웃 상태 업데이트
*
* @param entity
* @param tvShopAdd
* @param llCount
*/
private
void
updateLayoutState
(
TextView
tvItemCount
,
TextView
specNameShow
,
RestaurantSpecEntity
entity
,
Button
tvShopAdd
,
LinearLayout
llCount
)
{
List
<
String
>
secondSpecsOne
=
new
ArrayList
<>();
//
辅规格U
UID
List
<
String
>
secondSpecsOne
=
new
ArrayList
<>();
//
부 규격
UID
if
(
shopSpecListAdapter
!=
null
)
{
Map
<
Integer
,
String
>
map
=
shopSpecListAdapter
.
getSelectSpec
();
for
(
Integer
key
:
map
.
keySet
())
{
...
...
@@ -807,7 +807,7 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
}
}
List
<
String
>
secondSpecsName
=
new
ArrayList
<>();
//
辅规格名字
List
<
String
>
secondSpecsName
=
new
ArrayList
<>();
//
부 규격 이름
if
(
shopSpecListAdapter
!=
null
)
{
Map
<
Integer
,
String
>
map
=
shopSpecListAdapter
.
getSelectSpecName
();
for
(
Integer
key
:
map
.
keySet
())
{
...
...
@@ -815,8 +815,8 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
}
}
//
配置规格显示
if
(
TextUtils
.
isEmpty
(
specMainName
))
{
//
没有选主规格
//
사양 표시
if
(
TextUtils
.
isEmpty
(
specMainName
))
{
//
주 사양 이 없습니다.
String
showSpec
=
""
;
for
(
int
i
=
0
;
i
<
secondSpecsName
.
size
();
i
++)
{
if
(
i
==
secondSpecsName
.
size
()
-
1
)
{
...
...
@@ -826,10 +826,10 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
}
}
specNameShow
.
setText
(
showSpec
);
}
else
{
//
选了主规格
}
else
{
//
주 사양 을 골 랐 습 니 다.
if
(
secondSpecsName
==
null
||
secondSpecsName
.
size
()
==
0
)
{
//没有辅规格
specNameShow
.
setText
(
specMainName
);
}
else
{
//
有辅规格
}
else
{
//
보조 규격 이 있다.
String
showSpec
=
specMainName
+
","
;
for
(
int
i
=
0
;
i
<
secondSpecsName
.
size
();
i
++)
{
if
(
i
==
secondSpecsName
.
size
()
-
1
)
{
...
...
@@ -855,7 +855,7 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
}
/**
*
显示底部购物车
*
아래쪽 카 트 보이 기
*/
public
void
showBottomListDialog
()
{
popupWindow
=
new
PopupWindow
(
mCarView
,
ViewGroup
.
LayoutParams
.
MATCH_PARENT
,
ViewGroup
.
LayoutParams
.
MATCH_PARENT
,
true
);
...
...
@@ -872,7 +872,7 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
}
/**
*
查找当前店铺的购物车商品
*
현재 점포 의 카 트 상품 찾기
*/
private
void
findCarShop
()
{
if
(
listItemEntities
==
null
)
{
...
...
@@ -901,14 +901,14 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
}
tvBottomShopTipText
.
setText
(
R
.
string
.
you_have_not_added_any_items_yet
);
}
else
{
double
shopPrice
=
0.00
;
//
商品总价格
int
total
=
0
;
//
邮票总数量
double
shopPrice
=
0.00
;
//
상품 총 가격
int
total
=
0
;
//
우표 총 수량
for
(
int
i
=
0
;
i
<
listItemEntities
.
size
();
i
++)
{
FoodEntity
foodEntity
=
listItemEntities
.
get
(
i
);
if
(
foodEntity
.
getIsStamp
()
==
0
)
{
//
商品
if
(
foodEntity
.
getIsStamp
()
==
0
)
{
//
상품.
shopPrice
+=
UIUtile
.
stringToDouble
(
foodEntity
.
getFoodPrice
())
*
foodEntity
.
getNumber
();
}
else
{
//
邮票
}
else
{
//
우표
total
+=
foodEntity
.
getStampPrice
()
*
foodEntity
.
getNumber
();
}
}
...
...
@@ -925,8 +925,8 @@ public class DetailsShopFragment extends BaseFragment implements OnRefreshLoadMo
tvShowShopInfo
.
setText
(
total
+
getString
(
R
.
string
.
zhang
));
}
//
判断该用户在此商家的邮票数量够不够
if
(
total
>
userStampNumber
)
{
//
邮票数不够
//
이 상점 의 우표 수량 이 충분 한 지 판단 하 다
if
(
total
>
userStampNumber
)
{
//
우표 가 모자라다
enabledButton
();
}
else
{
tvBottomShopButton
.
setBackgroundColor
(
getResources
().
getColor
(
R
.
color
.
btn_bg
));
...
...
app/src/main/java/cn/dankal/client/ui/home/details/DishesDetailsActivity.kt
View file @
b66d516c
...
...
@@ -59,29 +59,29 @@ class DishesDetailsActivity : BaseActivity(), View.OnClickListener {
private
var
goodsUuid
=
""
private
var
isUserCoupon
=
true
private
var
mainSpecId
=
""
//
主规格
ID
private
var
specPrice
=
""
//
当前弹出商品的规格
private
var
shopSpecListAdapter
:
ShopSpecListAdapter
?
=
null
//
辅规格适配器
private
var
mainSpecId
=
""
//
주 규격
ID
private
var
specPrice
=
""
//
현재 팝 업 상품 규격
private
var
shopSpecListAdapter
:
ShopSpecListAdapter
?
=
null
//
보조 규격 어댑터
private
var
hotelGoodsDetailEntity
:
HotelGoodsDetailEntity
?
=
null
private
var
carAdapter
:
ShopBottomListAdapter
?
=
null
private
var
rvCar
:
RecyclerView
?
=
null
private
var
tvCount
:
TextView
?
=
null
//
购物车商品数量
private
var
tvShowShopInfo
:
TextView
?
=
null
//
购物车所选信息
private
var
view
:
View
?
=
null
//
购物车
View
private
var
tvCount
:
TextView
?
=
null
//
카 트 수량
private
var
tvShowShopInfo
:
TextView
?
=
null
//
카 트 선정 정보
private
var
view
:
View
?
=
null
//
카 트
View
private
var
tableUUID
=
""
//
桌号
ID
private
var
tableUUID
=
""
//
테이블
ID
private
var
type
=
-
1
private
var
commitQueueEntity
:
CommitQueueEntity
?
=
null
//
排队信息
private
var
mFoodEntity
:
FoodEntity
?
=
null
//
当前选中的菜单
private
var
specMainName
=
""
//
主规格名字
private
var
commitQueueEntity
:
CommitQueueEntity
?
=
null
//
대기 정보
private
var
mFoodEntity
:
FoodEntity
?
=
null
//
현재 선 택 된 메뉴
private
var
specMainName
=
""
//
주 규격 이름
private
var
dataBean
:
ShopTypeContentEntity
.
DataBean
?
=
null
private
var
tvSettlement
:
TextView
?
=
null
//
弹出的购物车界面按钮
private
var
queueUuid
=
""
//
排队u
uid
private
var
tvSettlement
:
TextView
?
=
null
//
팝 업 카 트 인터페이스 버튼
private
var
queueUuid
=
""
//
줄 서기
uid
private
var
tableName
=
""
//
桌子号码
private
var
userStampNumber
=
0
//
用户在当前店铺拥有的邮票数
private
var
currentStampNumber
=
0
//
当前商品的邮票数
private
var
tableName
=
""
//
테이블 번호
private
var
userStampNumber
=
0
//
사용자 가 현재 점포 에서 가지 고 있 는 우표 수
private
var
currentStampNumber
=
0
//
현재 상품 의 우표 수
private
var
isStamp
=
0
...
...
@@ -106,13 +106,13 @@ class DishesDetailsActivity : BaseActivity(), View.OnClickListener {
}
R
.
id
.
btn_details_queue
->
{
when
(
type
)
{
0
//
预约排队
0
//
예약 정렬
->
{
val
intentOne
=
Intent
(
this
@DishesDetailsActivity
,
QueueActivity
::
class
.
java
)
intentOne
.
putExtra
(
ConstantsRestaurantType
.
UUID
,
hotelUuid
)
startActivity
(
intentOne
)
}
1
,
2
//
排队中,排队过期
1
,
2
//
대기 중, 대기 시간 만 료
->
if
(
commitQueueEntity
!=
null
)
{
startPageQueueResult
()
}
...
...
@@ -173,20 +173,20 @@ class DishesDetailsActivity : BaseActivity(), View.OnClickListener {
}
//
初始状态
//
초기 상태
private
fun
setBottomState
(
state
:
Int
,
type
:
Int
)
{
tv_shop_tip
.
visibility
=
View
.
GONE
btn_details_queue
.
visibility
=
View
.
GONE
cl_shop_layout
.
visibility
=
View
.
GONE
when
(
state
)
{
0
//
显示商家还未营业提示
0
//
업 체 가 아직 영업 알림 을 하지 않 았 음 을 표시 하 다.
->
{
tv_shop_tip
.
visibility
=
View
.
VISIBLE
tv_select_spec
.
isEnabled
=
false
tv_select_spec
.
background
=
resources
.
getDrawable
(
R
.
drawable
.
bg_select_type_unavailable
)
}
1
//
显示排队按钮
1
//
대기 버튼 보이 기
->
{
btn_details_queue
.
visibility
=
View
.
VISIBLE
when
(
type
)
{
...
...
@@ -195,7 +195,7 @@ class DishesDetailsActivity : BaseActivity(), View.OnClickListener {
2
->
btn_details_queue
.
setText
(
R
.
string
.
passed_number
)
}
}
2
//
显示添加商品底部
2
//
상품 의 하단 부 를 보 여 줍 니 다.
->
{
cl_shop_layout
.
visibility
=
View
.
VISIBLE
}
...
...
@@ -203,7 +203,7 @@ class DishesDetailsActivity : BaseActivity(), View.OnClickListener {
}
/**
*
请求当前商品详情
*
현재 상품 상세 요청
*/
private
fun
requestData
()
{
RestaurantServiceFactory
.
getHotelGoodsDetail
(
hotelUuid
,
goodsUuid
).
subscribe
(
object
:
AbstractDialogSubscriber
<
HotelGoodsDetailEntity
>(
this
)
{
...
...
@@ -240,7 +240,7 @@ class DishesDetailsActivity : BaseActivity(), View.OnClickListener {
}
/**
*
请求规格
*
요청 규격
*/
private
fun
requestSpecsDetails
()
{
RestaurantServiceFactory
.
getGoodsSpecDetail
(
hotelUuid
,
goodsUuid
).
subscribe
(
object
:
AbstractDialogSubscriber
<
RestaurantSpecEntity
>(
this
)
{
...
...
@@ -291,7 +291,7 @@ class DishesDetailsActivity : BaseActivity(), View.OnClickListener {
if
(
count
>
1
)
{
mFoodEntity
?.
number
=
count
-
1
mFoodEntity
?.
save
()
}
else
{
//
删除
}
else
{
//
삭제 하 다.
mFoodEntity
?.
delete
()
}
}
...
...
@@ -304,14 +304,14 @@ class DishesDetailsActivity : BaseActivity(), View.OnClickListener {
tvShopName
.
text
=
hotelGoodsDetailEntity
?.
goods_name
tvShopAdd
.
setOnClickListener
{
//
加入菜单
tvShopAdd
.
setOnClickListener
{
//
메뉴 추가
v
->
if
(
TextUtils
.
isEmpty
(
mainSpecId
))
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
please_select_the_main_specification
))
return
@setOnClickListener
}
val
secondSpecs
=
mutableListOf
<
String
>()
//
辅规格
val
secondSpecs
=
mutableListOf
<
String
>()
//
보조 규격
if
(
shopSpecListAdapter
!=
null
)
{
val
map
=
shopSpecListAdapter
?.
selectSpec
map
?.
forEach
{
...
...
@@ -328,18 +328,18 @@ class DishesDetailsActivity : BaseActivity(), View.OnClickListener {
findCarShop
()
}
}
//
刷新购物车状态
//
카 트 리 셋 상태
updateLayoutState
(
tvItemCount
,
tvSpecShow
,
entity
,
tvShopAdd
,
llCount
)
}
//
获取所有规格
//
모든 규격 가 져 오기
val
goodsMainSpecsListBeans
=
entity
.
goods_main_specs_list
if
(
goodsMainSpecsListBeans
.
size
>
0
)
{
val
mainSpecs
=
goodsMainSpecsListBeans
[
0
]
//
拿到主规格
val
mainSpecs
=
goodsMainSpecsListBeans
[
0
]
//
주 사양 을 받다
mainName
.
text
=
mainSpecs
.
specs_name
val
list
=
mainSpecs
.
second_specs_volist
//
拿到主规格规格列表
val
list
=
mainSpecs
.
second_specs_volist
//
주 사양 사양 리스트 가 져 오기
val
tagAdapter
=
object
:
TagAdapter
<
RestaurantSpecEntity
.
GoodsMainSpecsListBean
.
SecondSpecsVolistBean
?>(
list
)
{
override
fun
getView
(
flowLayout
:
FlowLayout
,
i
:
Int
,
o
:
RestaurantSpecEntity
.
GoodsMainSpecsListBean
.
SecondSpecsVolistBean
?):
View
{
...
...
@@ -350,12 +350,12 @@ class DishesDetailsActivity : BaseActivity(), View.OnClickListener {
}
}
//
设置默认选择第一个
//
기본 설정 첫 번 째 선택
tagAdapter
.
setSelectedList
(
0
)
if
(
list
!=
null
&&
list
.
size
>
0
)
{
//
使用第一个规格的价格
if
(
dataBean
?.
getIsStamp
()
==
0
)
{
//
不是邮票兑换商品
//
첫 번 째 규격 의 가격 을 사용 하 다
if
(
dataBean
?.
getIsStamp
()
==
0
)
{
//
우표 교환 상품 아니에요.
price
.
text
=
UIUtile
.
stringToPrice
(
list
[
0
].
goods_price
)
specPrice
=
list
[
0
].
goods_price
}
else
{
...
...
@@ -380,20 +380,20 @@ class DishesDetailsActivity : BaseActivity(), View.OnClickListener {
specMainName
=
list
[
position
].
specs_name
mainSpecId
=
list
[
position
].
uuid
if
(
dataBean
?.
getIsStamp
()
==
0
)
{
specPrice
=
list
[
position
].
goods_price
//
设置当前规格价格
specPrice
=
list
[
position
].
goods_price
//
현재 규격 가격 설정
price
.
text
=
UIUtile
.
stringToPrice
(
list
[
position
].
goods_price
)
}
else
{
//
邮票兑换
specPrice
=
list
[
position
].
stamp_number
.
toString
()
//
设置当前规格价格
}
else
{
//
우표 교환
specPrice
=
list
[
position
].
stamp_number
.
toString
()
//
현재 규격 가격 설정
price
.
text
=
UIUtile
.
stringToStamp
(
list
[
position
].
stamp_number
)
}
}
else
{
mainSpecId
=
""
specMainName
=
""
if
(
dataBean
?.
getIsStamp
()
==
0
)
{
specPrice
=
"0"
//
设置当前规格价格
specPrice
=
"0"
//
현재 규격 가격 설정
price
.
text
=
UIUtile
.
stringToPrice
(
"0"
)
}
else
{
//
邮票兑换
specPrice
=
"0"
//
设置当前规格价格
}
else
{
//
우표 교환
specPrice
=
"0"
//
현재 규격 가격 설정
price
.
text
=
UIUtile
.
stringToStamp
(
"0"
)
}
}
...
...
@@ -420,7 +420,7 @@ class DishesDetailsActivity : BaseActivity(), View.OnClickListener {
popupWindow
?.
let
{
it
.
setBackgroundDrawable
(
ColorDrawable
(
0
x00000000
))
it
.
animationStyle
=
R
.
style
.
take_pop_window_anim
it
.
showAtLocation
(
this
!!
.
getWindow
().
getDecorView
(),
Gravity
.
CENTER
,
0
,
0
)
//
设置位置
it
.
showAtLocation
(
this
!!
.
getWindow
().
getDecorView
(),
Gravity
.
CENTER
,
0
,
0
)
//
위치 설정
setBackgroundAlpha
(
0.5f
)
it
.
update
()
...
...
@@ -430,13 +430,13 @@ class DishesDetailsActivity : BaseActivity(), View.OnClickListener {
}
}
//---------------------------------
初始化判断当前商品是否存在购物车
--------------------------------------------
//---------------------------------
초기 화 판단 현재 상품 카 트 존재 여부
--------------------------------------------
updateLayoutState
(
tvItemCount
,
tvSpecShow
,
entity
,
tvShopAdd
,
llCount
)
//---------------------------------
初始化判断当前商品是否存在购物车
--------------------------------------------
//---------------------------------
초기 화 판단 현재 상품 카 트 존재 여부
--------------------------------------------
}
/**
* type,0
加1减
* type,0
더하기 1 빼 기
*/
private
fun
addAndReduce
(
tvItemCount
:
TextView
,
type
:
Int
)
{
val
count
=
mFoodEntity
?.
number
...
...
@@ -447,7 +447,7 @@ class DishesDetailsActivity : BaseActivity(), View.OnClickListener {
if
(
count
>
1
)
{
mFoodEntity
?.
number
=
count
-
1
mFoodEntity
?.
save
()
}
else
{
//
删除
}
else
{
//
삭제 하 다.
mFoodEntity
?.
delete
()
}
}
...
...
@@ -459,14 +459,14 @@ class DishesDetailsActivity : BaseActivity(), View.OnClickListener {
}
/**
*
更新规格布局状态
*
규격 레이아웃 상태 업데이트
*
* @param entity
* @param tvShopAdd
* @param llCount
*/
private
fun
updateLayoutState
(
tvItemCount
:
TextView
,
specNameShow
:
TextView
,
entity
:
RestaurantSpecEntity
,
tvShopAdd
:
Button
,
llCount
:
LinearLayout
)
{
val
secondSpecsOne
=
mutableListOf
<
String
>()
//
辅规格U
UID
val
secondSpecsOne
=
mutableListOf
<
String
>()
//
부 규격
UID
if
(
shopSpecListAdapter
!=
null
)
{
val
map
=
shopSpecListAdapter
?.
getSelectSpec
()
map
?.
forEach
{
...
...
@@ -474,7 +474,7 @@ class DishesDetailsActivity : BaseActivity(), View.OnClickListener {
}
}
val
secondSpecsName
=
ArrayList
<
String
>()
//
辅规格名字
val
secondSpecsName
=
ArrayList
<
String
>()
//
부 규격 이름
if
(
shopSpecListAdapter
!=
null
)
{
val
map
=
shopSpecListAdapter
?.
getSelectSpecName
()
map
?.
forEach
{
...
...
@@ -482,8 +482,8 @@ class DishesDetailsActivity : BaseActivity(), View.OnClickListener {
}
}
//
配置规格显示
if
(
TextUtils
.
isEmpty
(
specMainName
))
{
//
没有选主规格
//
사양 표시
if
(
TextUtils
.
isEmpty
(
specMainName
))
{
//
주 사양 이 없습니다.
var
showSpec
=
""
for
(
i
in
secondSpecsName
.
indices
)
{
if
(
i
==
secondSpecsName
.
size
-
1
)
{
...
...
@@ -493,10 +493,10 @@ class DishesDetailsActivity : BaseActivity(), View.OnClickListener {
}
}
specNameShow
.
text
=
showSpec
}
else
{
//
选了主规格
if
(
secondSpecsName
==
null
||
secondSpecsName
.
size
==
0
)
{
//
没有辅规格
}
else
{
//
주 사양 을 골 랐 습 니 다.
if
(
secondSpecsName
==
null
||
secondSpecsName
.
size
==
0
)
{
//
보조 사양 없 음
specNameShow
.
setText
(
specMainName
)
}
else
{
//
有辅规格
}
else
{
//
보조 규격 이 있다.
var
showSpec
=
specMainName
+
","
for
(
i
in
secondSpecsName
.
indices
)
{
if
(
i
==
secondSpecsName
.
size
-
1
)
{
...
...
@@ -522,7 +522,7 @@ class DishesDetailsActivity : BaseActivity(), View.OnClickListener {
}
/**
*
初始化购物车
*
카 트 초기 화
*/
private
fun
initCar
()
{
view
=
LayoutInflater
.
from
(
this
).
inflate
(
R
.
layout
.
dialog_bottom_list
,
null
,
false
)
...
...
@@ -566,7 +566,7 @@ class DishesDetailsActivity : BaseActivity(), View.OnClickListener {
}
/**
*
查找当前店铺的购物车商品
*
현재 점포 의 카 트 상품 찾기
*/
private
fun
findCarShop
()
{
if
(
listItemEntities
==
null
)
{
...
...
@@ -595,14 +595,14 @@ class DishesDetailsActivity : BaseActivity(), View.OnClickListener {
it
?.
text
=
getString
(
R
.
string
.
you_have_not_added_any_items_yet
)
}
}
else
{
var
shopPrice
=
0.00
//
商品总价格
var
total
=
0
//
邮票总数量
var
shopPrice
=
0.00
//
상품 총 가격
var
total
=
0
//
우표 총 수량
for
(
i
in
listItemEntities
?.
indices
!!
)
{
val
foodEntity
=
listItemEntities
?.
get
(
i
)
if
(
foodEntity
?.
isStamp
==
0
)
{
//
商品
if
(
foodEntity
?.
isStamp
==
0
)
{
//
상품.
shopPrice
+=
UIUtile
.
stringToDouble
(
foodEntity
?.
getFoodPrice
())
*
foodEntity
.
number
}
else
{
//
邮票
}
else
{
//
우표
total
+=
foodEntity
?.
stampPrice
!!
*
foodEntity
.
number
}
}
...
...
@@ -625,7 +625,7 @@ class DishesDetailsActivity : BaseActivity(), View.OnClickListener {
}
}
if
(
total
>
userStampNumber
)
{
//
邮票数量不够
if
(
total
>
userStampNumber
)
{
//
우표 수량 이 부족 하 다
enabledButton
()
}
else
{
tv_bottom_shop_button
.
setBackgroundColor
(
resources
.
getColor
(
R
.
color
.
btn_bg
))
...
...
@@ -676,7 +676,7 @@ class DishesDetailsActivity : BaseActivity(), View.OnClickListener {
}
/**
*
去支付
*
지불 하 다
*/
private
fun
toPay
()
{
if
(
listItemEntities
!=
null
&&
listItemEntities
?.
size
!!
>
0
)
{
...
...
@@ -685,7 +685,7 @@ class DishesDetailsActivity : BaseActivity(), View.OnClickListener {
return
}
//
遍历商品查看是否是相同商品
//
상품 을 넘 나 들 며 같은 상품 인지 확인 하 다
val
shopType
=
listItemEntities
?.
get
(
0
)
!!
.
isStamp
for
(
i
in
listItemEntities
?.
indices
!!
)
{
val
foodEntity
=
listItemEntities
?.
get
(
i
)
...
...
app/src/main/java/cn/dankal/client/ui/home/details/DishesDetailsTowActivity.kt
View file @
b66d516c
...
...
@@ -54,7 +54,7 @@ class DishesDetailsTowActivity : BaseActivity(), View.OnClickListener, DishesVie
override
fun
resultIsMerchantOrder
(
isOrderStoreEntity
:
IsOrderStoreEntity
?)
{
isOrderStoreEntity
?.
let
{
if
(
isOrderStoreEntity
.
is_user_queue
==
1
)
{
//
预约了
if
(
isOrderStoreEntity
.
is_user_queue
==
1
)
{
//
예 약 했 습 니 다.
val
beans
=
isOrderStoreEntity
.
hotel_queue_list
if
(
beans
!=
null
&&
beans
.
size
>
0
)
{
val
hotelQueueListBean
=
beans
[
0
]
...
...
@@ -63,14 +63,14 @@ class DishesDetailsTowActivity : BaseActivity(), View.OnClickListener, DishesVie
if
(!
TextUtils
.
isEmpty
(
tableUUID
))
{
return
}
if
(
beans
[
0
].
is_over_number
==
0
)
{
//
未过号
//
是否已经叫号
if
(
beans
[
0
].
is_call
==
1
)
{
//
已叫号
if
(
beans
[
0
].
is_over_number
==
0
)
{
//
미 통과 번호
//
이미 번 호 를 불 렀 는 지 여부
if
(
beans
[
0
].
is_call
==
1
)
{
//
이미 번 호 를 불 렀 다.
showState
=
2
}
else
{
type
=
1
}
}
else
if
(
beans
[
0
].
is_over_number
==
2
)
{
//
已过号
}
else
if
(
beans
[
0
].
is_over_number
==
2
)
{
//
이미 지나 간 번호
type
=
2
showDialog
(
getString
(
R
.
string
.
your_queue_has_been_numbered_please_requeue
)
,
getString
(
R
.
string
.
come_back
)
...
...
@@ -79,7 +79,7 @@ class DishesDetailsTowActivity : BaseActivity(), View.OnClickListener, DishesVie
intentOne
.
putExtra
(
ConstantsRestaurantType
.
UUID
,
hotelUuid
)
startActivity
(
intentOne
)
},
true
)
}
else
if
(
beans
[
0
].
is_over_number
==
1
)
{
//
排队成功
}
else
if
(
beans
[
0
].
is_over_number
==
1
)
{
//
줄 서기 성공
showState
=
2
}
}
...
...
@@ -101,34 +101,34 @@ class DishesDetailsTowActivity : BaseActivity(), View.OnClickListener, DishesVie
var
mDkBanner
:
DkBanner
<
String
>?
=
null
var
popupWindow
:
PopupWindow
?
=
null
private
var
listItemEntities
:
MutableList
<
FoodEntity
>?
=
null
//
当前店铺购物车列表信息
private
var
listItemEntities
:
MutableList
<
FoodEntity
>?
=
null
//
현재 점포 카 트 리스트 정보
private
var
hotelUuid
=
""
private
var
goodsUuid
=
""
private
var
isUserCoupon
=
true
private
var
mainSpecId
=
""
//
主规格
ID
private
var
specPrice
=
""
//
当前弹出商品的规格
private
var
shopSpecListAdapter
:
ShopSpecListAdapter
?
=
null
//
辅规格适配器
private
var
mainSpecId
=
""
//
주 규격
ID
private
var
specPrice
=
""
//
현재 팝 업 상품 규격
private
var
shopSpecListAdapter
:
ShopSpecListAdapter
?
=
null
//
보조 규격 어댑터
private
var
hotelGoodsDetailEntity
:
HotelGoodsDetailEntity
?
=
null
private
var
carAdapter
:
ShopBottomListAdapter
?
=
null
private
var
rvCar
:
RecyclerView
?
=
null
private
var
tvCount
:
TextView
?
=
null
//
购物车商品数量
private
var
tvShowShopInfo
:
TextView
?
=
null
//
购物车所选信息
private
var
view
:
View
?
=
null
//
购物车
View
private
var
tableUUID
=
""
//
桌号
ID
private
var
tvCount
:
TextView
?
=
null
//
카 트 수량
private
var
tvShowShopInfo
:
TextView
?
=
null
//
카 트 선정 정보
private
var
view
:
View
?
=
null
//
카 트
View
private
var
tableUUID
=
""
//
테이블
ID
private
var
type
=
0
private
var
commitQueueEntity
:
CommitQueueEntity
?
=
null
//
排队信息,需要传递给排队界面
private
var
commitQueueEntity
:
CommitQueueEntity
?
=
null
//
대기 정보, 대기 화면 에 전달
private
var
mFoodEntity
:
FoodEntity
?
=
null
private
var
specMainName
=
""
//
主规格名字
private
var
tvSettlement
:
TextView
?
=
null
//
弹出的购物车界面按钮
private
var
queueUuid
=
""
//
排队u
uid
private
var
tableName
=
""
//
桌子号码
private
var
userStampNumber
=
0
//
用户在当前店铺拥有的邮票数
private
var
isStamp
=
0
//
是否为邮票
private
var
specMainName
=
""
//
주 규격 이름
private
var
tvSettlement
:
TextView
?
=
null
//
팝 업 카 트 인터페이스 버튼
private
var
queueUuid
=
""
//
줄 서기
uid
private
var
tableName
=
""
//
테이블 번호
private
var
userStampNumber
=
0
//
사용자 가 현재 점포 에서 가지 고 있 는 우표 수
private
var
isStamp
=
0
//
우표 인지 아 닌 지
private
var
dishesPresenter
:
DishesPresenter
?
=
null
private
var
currentStampNumber
=
0
//
当前商品的邮票数
private
var
currentStampNumber
=
0
//
현재 상품 의 우표 수
override
fun
onClick
(
v
:
View
?)
{
if
(
ButtonUtil
.
isFastDoubleTowBiClick
())
{
...
...
@@ -151,13 +151,13 @@ class DishesDetailsTowActivity : BaseActivity(), View.OnClickListener, DishesVie
}
R
.
id
.
btn_details_queue
->
{
when
(
type
)
{
0
//
预约排队
0
//
예약 정렬
->
{
val
intentOne
=
Intent
(
this
@DishesDetailsTowActivity
,
QueueActivity
::
class
.
java
)
intentOne
.
putExtra
(
ConstantsRestaurantType
.
UUID
,
hotelUuid
)
startActivity
(
intentOne
)
}
1
,
2
//
排队中,排队过期
1
,
2
//
대기 중, 대기 시간 만 료
->
if
(
commitQueueEntity
!=
null
)
{
startPageQueueResult
()
}
...
...
@@ -205,25 +205,25 @@ class DishesDetailsTowActivity : BaseActivity(), View.OnClickListener, DishesVie
}
/**
*
获取指定餐馆详细信息
*
지정 한 식당 의 상세 한 정 보 를 얻다.
*/
private
var
showState
=
-
1
//
底部显示状态
private
var
showState
=
-
1
//
아래쪽 디 스 플레이 상태
/**
* type
,排队的状态
* type
: type:, 줄 서 는 상태
*/
private
fun
setBottomState
(
state
:
Int
,
type
:
Int
)
{
tv_shop_tip
.
visibility
=
View
.
GONE
btn_details_queue
.
visibility
=
View
.
GONE
cl_shop_layout
.
visibility
=
View
.
GONE
when
(
state
)
{
0
//
显示商家还未营业提示
0
//
업 체 가 아직 영업 알림 을 하지 않 았 음 을 표시 하 다.
->
{
tv_shop_tip
.
visibility
=
View
.
VISIBLE
tv_select_spec
.
isEnabled
=
false
tv_select_spec
.
background
=
resources
.
getDrawable
(
R
.
drawable
.
bg_select_type_unavailable
)
}
1
//
显示排队按钮
1
//
대기 버튼 보이 기
->
{
btn_details_queue
.
visibility
=
View
.
VISIBLE
when
(
type
)
{
...
...
@@ -232,7 +232,7 @@ class DishesDetailsTowActivity : BaseActivity(), View.OnClickListener, DishesVie
2
->
btn_details_queue
.
setText
(
R
.
string
.
passed_number
)
}
}
2
//
显示添加商品底部
2
//
상품 의 하단 부 를 보 여 줍 니 다.
->
{
cl_shop_layout
.
visibility
=
View
.
VISIBLE
}
...
...
@@ -240,15 +240,15 @@ class DishesDetailsTowActivity : BaseActivity(), View.OnClickListener, DishesVie
}
/**
*
请求当前商品详情
*
현재 상품 상세 요청
*/
private
fun
requestData
()
{
RestaurantServiceFactory
.
getHotelGoodsDetail
(
hotelUuid
,
goodsUuid
).
subscribe
(
object
:
AbstractDialogSubscriber
<
HotelGoodsDetailEntity
>(
this
)
{
override
fun
onNext
(
t
:
HotelGoodsDetailEntity
)
{
hotelGoodsDetailEntity
=
t
t
.
apply
{
//
拿到店铺信息
if
(
hotel_detail_vo
.
is_call
==
0
)
{
//
是否开启排队,0没开启
//
가게 정 보 를 입수 하 다
if
(
hotel_detail_vo
.
is_call
==
0
)
{
//
열 림 여부, 0 오픈 하지 않 음
showState
=
2
}
else
{
showState
=
1
...
...
@@ -296,7 +296,7 @@ class DishesDetailsTowActivity : BaseActivity(), View.OnClickListener, DishesVie
}
/**
*
请求规格
*
요청 규격
*/
private
fun
requestSpecsDetails
()
{
RestaurantServiceFactory
.
getGoodsSpecDetail
(
hotelUuid
,
goodsUuid
).
subscribe
(
object
:
AbstractDialogSubscriber
<
RestaurantSpecEntity
>(
this
)
{
...
...
@@ -330,7 +330,7 @@ class DishesDetailsTowActivity : BaseActivity(), View.OnClickListener, DishesVie
if
(
count
>
1
)
{
mFoodEntity
?.
number
=
count
-
1
mFoodEntity
?.
save
()
}
else
{
//
删除
}
else
{
//
삭제 하 다.
mFoodEntity
?.
delete
()
updateLayoutState
(
tvItemCount
,
tvSpecShow
,
entity
,
tvShopAdd
,
llCount
)
}
...
...
@@ -364,18 +364,18 @@ class DishesDetailsTowActivity : BaseActivity(), View.OnClickListener, DishesVie
}
else
{
addShopData
(
tvSpecShow
,
entity
,
secondSpecs
)
}
//
刷新购物车状态
//
카 트 리 셋 상태
updateLayoutState
(
tvItemCount
,
tvSpecShow
,
entity
,
tvShopAdd
,
llCount
)
}
//
获取所有规格
//
모든 규격 가 져 오기
val
goodsMainSpecsListBeans
=
entity
.
goods_main_specs_list
if
(
goodsMainSpecsListBeans
.
size
>
0
)
{
val
mainSpecs
=
goodsMainSpecsListBeans
[
0
]
//
拿到主规格
val
mainSpecs
=
goodsMainSpecsListBeans
[
0
]
//
주 사양 을 받다
mainName
.
text
=
mainSpecs
.
specs_name
val
list
=
mainSpecs
.
second_specs_volist
//
拿到主规格规格列表
val
list
=
mainSpecs
.
second_specs_volist
//
주 사양 사양 리스트 가 져 오기
val
tagAdapter
=
object
:
TagAdapter
<
RestaurantSpecEntity
.
GoodsMainSpecsListBean
.
SecondSpecsVolistBean
?>(
list
)
{
override
fun
getView
(
flowLayout
:
FlowLayout
,
i
:
Int
,
o
:
RestaurantSpecEntity
.
GoodsMainSpecsListBean
.
SecondSpecsVolistBean
?):
View
{
...
...
@@ -386,12 +386,12 @@ class DishesDetailsTowActivity : BaseActivity(), View.OnClickListener, DishesVie
}
}
//
设置默认选择第一个
//
기본 설정 첫 번 째 선택
tagAdapter
.
setSelectedList
(
0
)
if
(
list
!=
null
&&
list
.
size
>
0
)
{
//
使用第一个规格的价格
if
(
isStamp
==
0
)
{
//
不是邮票兑换商品
//
첫 번 째 규격 의 가격 을 사용 하 다
if
(
isStamp
==
0
)
{
//
우표 교환 상품 아니에요.
price
.
text
=
UIUtile
.
stringToPrice
(
list
[
0
].
goods_price
)
specPrice
=
list
[
0
].
goods_price
}
else
{
...
...
@@ -416,20 +416,20 @@ class DishesDetailsTowActivity : BaseActivity(), View.OnClickListener, DishesVie
specMainName
=
list
[
position
].
specs_name
mainSpecId
=
list
[
position
].
uuid
if
(
isStamp
==
0
)
{
specPrice
=
list
[
position
].
goods_price
//
设置当前规格价格
specPrice
=
list
[
position
].
goods_price
//
현재 규격 가격 설정
price
.
text
=
UIUtile
.
stringToPrice
(
list
[
position
].
goods_price
)
}
else
{
//
邮票兑换
specPrice
=
list
[
position
].
stamp_number
.
toString
()
//
设置当前规格价格
}
else
{
//
우표 교환
specPrice
=
list
[
position
].
stamp_number
.
toString
()
//
현재 규격 가격 설정
price
.
text
=
UIUtile
.
stringToStamp
(
list
[
position
].
stamp_number
)
}
}
else
{
mainSpecId
=
""
specMainName
=
""
if
(
isStamp
==
0
)
{
specPrice
=
"0"
//
设置当前规格价格
specPrice
=
"0"
//
현재 규격 가격 설정
price
.
text
=
UIUtile
.
stringToPrice
(
"0"
)
}
else
{
//
邮票兑换
specPrice
=
"0"
//
设置当前规格价格
}
else
{
//
우표 교환
specPrice
=
"0"
//
현재 규격 가격 설정
price
.
text
=
UIUtile
.
stringToStamp
(
"0"
)
}
}
...
...
@@ -465,13 +465,13 @@ class DishesDetailsTowActivity : BaseActivity(), View.OnClickListener, DishesVie
}
}
//---------------------------------
初始化判断当前商品是否存在购物车
--------------------------------------------
//---------------------------------
초기 화 판단 현재 상품 카 트 존재 여부
--------------------------------------------
updateLayoutState
(
tvItemCount
,
tvSpecShow
,
entity
,
tvShopAdd
,
llCount
)
//---------------------------------
初始化判断当前商品是否存在购物车
--------------------------------------------
//---------------------------------
초기 화 판단 현재 상품 카 트 존재 여부
--------------------------------------------
}
/**
* type,0
加1减
* type,0
더하기 1 빼 기
*/
private
fun
addAndReduce
(
tvItemCount
:
TextView
,
type
:
Int
)
{
val
count
=
mFoodEntity
?.
number
...
...
@@ -482,7 +482,7 @@ class DishesDetailsTowActivity : BaseActivity(), View.OnClickListener, DishesVie
if
(
count
>
1
)
{
mFoodEntity
?.
number
=
count
-
1
mFoodEntity
?.
save
()
}
else
{
//
删除
}
else
{
//
삭제 하 다.
mFoodEntity
?.
delete
()
}
}
...
...
@@ -493,14 +493,14 @@ class DishesDetailsTowActivity : BaseActivity(), View.OnClickListener, DishesVie
}
/**
*
更新规格布局状态
*
규격 레이아웃 상태 업데이트
*
* @param entity
* @param tvShopAdd
* @param llCount
*/
private
fun
updateLayoutState
(
tvItemCount
:
TextView
,
specNameShow
:
TextView
,
entity
:
RestaurantSpecEntity
,
tvShopAdd
:
Button
,
llCount
:
LinearLayout
)
{
val
secondSpecsOne
=
mutableListOf
<
String
>()
//
辅规格U
UID
val
secondSpecsOne
=
mutableListOf
<
String
>()
//
부 규격
UID
if
(
shopSpecListAdapter
!=
null
)
{
val
map
=
shopSpecListAdapter
?.
getSelectSpec
()
map
?.
forEach
{
...
...
@@ -508,7 +508,7 @@ class DishesDetailsTowActivity : BaseActivity(), View.OnClickListener, DishesVie
}
}
val
secondSpecsName
=
ArrayList
<
String
>()
//
辅规格名字
val
secondSpecsName
=
ArrayList
<
String
>()
//
부 규격 이름
if
(
shopSpecListAdapter
!=
null
)
{
val
map
=
shopSpecListAdapter
?.
getSelectSpecName
()
map
?.
forEach
{
...
...
@@ -516,8 +516,8 @@ class DishesDetailsTowActivity : BaseActivity(), View.OnClickListener, DishesVie
}
}
//
配置规格显示
if
(
TextUtils
.
isEmpty
(
specMainName
))
{
//
没有选主规格
//
사양 표시
if
(
TextUtils
.
isEmpty
(
specMainName
))
{
//
주 사양 이 없습니다.
var
showSpec
=
""
for
(
i
in
secondSpecsName
.
indices
)
{
if
(
i
==
secondSpecsName
.
size
-
1
)
{
...
...
@@ -527,10 +527,10 @@ class DishesDetailsTowActivity : BaseActivity(), View.OnClickListener, DishesVie
}
}
specNameShow
.
text
=
showSpec
}
else
{
//
选了主规格
if
(
secondSpecsName
==
null
||
secondSpecsName
.
size
==
0
)
{
//
没有辅规格
}
else
{
//
주 사양 을 골 랐 습 니 다.
if
(
secondSpecsName
==
null
||
secondSpecsName
.
size
==
0
)
{
//
보조 사양 없 음
specNameShow
.
text
=
specMainName
}
else
{
//
有辅规格
}
else
{
//
보조 규격 이 있다.
var
showSpec
=
specMainName
+
","
for
(
i
in
secondSpecsName
.
indices
)
{
if
(
i
==
secondSpecsName
.
size
-
1
)
{
...
...
@@ -590,7 +590,7 @@ class DishesDetailsTowActivity : BaseActivity(), View.OnClickListener, DishesVie
}
/**
*
初始化购物车
*
카 트 초기 화
*/
private
fun
initCar
()
{
view
=
LayoutInflater
.
from
(
this
).
inflate
(
R
.
layout
.
dialog_bottom_list
,
null
,
false
)
...
...
@@ -608,7 +608,7 @@ class DishesDetailsTowActivity : BaseActivity(), View.OnClickListener, DishesVie
}
tvSettlement
?.
setOnClickListener
{
v
->
toPay
()
}
tvCleanCars
.
setOnClickListener
{
//
清空购物车
tvCleanCars
.
setOnClickListener
{
//
카 트 를 비우 다
v
->
showDialog
(
""
,
getString
(
R
.
string
.
do_you_want_to_empty_your_shopping_cart
),
{
type
->
LitePal
.
deleteAll
(
FoodEntity
::
class
.
java
,
"storeUUid =?"
,
hotelUuid
)
...
...
@@ -632,7 +632,7 @@ class DishesDetailsTowActivity : BaseActivity(), View.OnClickListener, DishesVie
}
/**
*
查找当前店铺的购物车商品
*
현재 점포 의 카 트 상품 찾기
*/
private
fun
findCarShop
()
{
if
(
listItemEntities
==
null
)
{
...
...
@@ -661,14 +661,14 @@ class DishesDetailsTowActivity : BaseActivity(), View.OnClickListener, DishesVie
it
?.
text
=
getString
(
R
.
string
.
you_have_not_added_any_items_yet
)
}
}
else
{
var
shopPrice
=
0.00
//
商品总价格
var
total
=
0
//
邮票总数量
var
shopPrice
=
0.00
//
상품 총 가격
var
total
=
0
//
우표 총 수량
for
(
i
in
listItemEntities
?.
indices
!!
)
{
val
foodEntity
=
listItemEntities
?.
get
(
i
)
if
(
foodEntity
?.
isStamp
==
0
)
{
//
商品
if
(
foodEntity
?.
isStamp
==
0
)
{
//
상품.
shopPrice
+=
UIUtile
.
stringToDouble
(
foodEntity
?.
getFoodPrice
())
*
foodEntity
.
number
}
else
{
//
邮票
}
else
{
//
우표
total
+=
foodEntity
?.
stampPrice
!!
*
foodEntity
.
number
}
}
...
...
@@ -691,7 +691,7 @@ class DishesDetailsTowActivity : BaseActivity(), View.OnClickListener, DishesVie
}
}
if
(
total
>
userStampNumber
)
{
//
邮票数量不够
if
(
total
>
userStampNumber
)
{
//
우표 수량 이 부족 하 다
enableButton
()
}
else
{
tv_bottom_shop_button
.
setBackgroundColor
(
resources
.
getColor
(
R
.
color
.
btn_bg
))
...
...
@@ -743,18 +743,18 @@ class DishesDetailsTowActivity : BaseActivity(), View.OnClickListener, DishesVie
}
/**
*
去支付
*
지불 하 다
*/
private
fun
toPay
()
{
if
(
listItemEntities
!=
null
&&
listItemEntities
?.
size
!!
>
0
)
{
if
(
TextUtils
.
isEmpty
(
tableUUID
))
{
showDialog
(
""
,
getString
(
R
.
string
.
please_scan_the_qr_code_on_the_table
))
{
//
调用扫码
//
호출 스 캔 코드
requestPermission
(
Permission
.
CAMERA
)
{
startActivityForResult
(
Intent
(
this
@DishesDetailsTowActivity
,
CaptureActivity
::
class
.
java
),
ConstantsHomeType
.
SCAN
)
}
}
return
}
//
遍历商品查看是否是相同商品
//
상품 을 넘 나 들 며 같은 상품 인지 확인 하 다
val
shopType
=
listItemEntities
?.
get
(
0
)
!!
.
isStamp
for
(
i
in
listItemEntities
?.
indices
!!
)
{
val
foodEntity
=
listItemEntities
?.
get
(
i
)
...
...
@@ -805,17 +805,17 @@ class DishesDetailsTowActivity : BaseActivity(), View.OnClickListener, DishesVie
finish
()
}
}
"1"
//
不存在
"1"
//
존재 하지 않 음
->
{
tableUUID
=
""
startActivity
(
Intent
(
this
@DishesDetailsTowActivity
,
ScanResultActivity
::
class
.
java
))
}
"2"
//
被使用
"2"
//
사용되다
->
{
tableUUID
=
""
showDialogStateTow
(
getString
(
R
.
string
.
the_table_number_is_in_use
))
}
"3"
//
已隐藏
"3"
//
숨겨 진
->
{
tableUUID
=
""
startActivity
(
Intent
(
this
@DishesDetailsTowActivity
,
ScanResultActivity
::
class
.
java
))
...
...
app/src/main/java/cn/dankal/client/ui/home/details/MerchantDetailsActivity.java
View file @
b66d516c
...
...
@@ -52,7 +52,7 @@ import cn.dankal.client.ui.home.ScanResultActivity;
import
io.reactivex.disposables.Disposable
;
/**
*
商家详情
*
상가 의 상세 한 상황.
*/
public
class
MerchantDetailsActivity
extends
BaseActivity
{
...
...
@@ -69,7 +69,7 @@ public class MerchantDetailsActivity extends BaseActivity {
MarqueeView
marqueeView
;
TextView
tvTabNumber
;
//
桌号
TextView
tvTabNumber
;
//
테이블 번호
TextView
tvStampTag
;
...
...
@@ -79,9 +79,9 @@ public class MerchantDetailsActivity extends BaseActivity {
TextView
tvGrade
;
private
int
userStampNumber
=
0
;
//
用户在当前店铺拥有的邮票数
private
int
userStampNumber
=
0
;
//
사용자 가 현재 점포 에서 가지 고 있 는 우표 수
private
boolean
isUserCoupon
=
true
;
//
是否能使用优惠券
private
boolean
isUserCoupon
=
true
;
//
쿠폰 사용 여부
private
List
<
Fragment
>
dataList
;
...
...
@@ -89,32 +89,31 @@ public class MerchantDetailsActivity extends BaseActivity {
public
static
final
String
USER_COUPON
=
"userCoupon"
;
public
static
final
String
TABLE_UUID
=
"tableUuid"
;
public
static
final
String
TABLE_NUMBER
=
"tableNumber"
;
public
static
final
String
SHOW_STATE
=
"showState"
;
//
显示状态
public
static
final
String
QUEUE_UUID
=
"queue_uuid"
;
//
排队u
uid
public
static
final
String
USER_STAMP_COUNT
=
"user_stamp_count"
;
//排队uuid
public
static
final
String
SHOW_STATE
=
"showState"
;
//
상태 표시
public
static
final
String
QUEUE_UUID
=
"queue_uuid"
;
//
줄 서기
uid
public
static
final
String
USER_STAMP_COUNT
=
"user_stamp_count"
;
private
int
showState
=
-
1
;
//
显示状态
private
int
showState
=
-
1
;
//
상태 표시
private
DetailsShopFragment
detailsShopFragmentOne
;
public
String
storeUUId
;
//
店铺U
UId
public
String
storeUUId
;
//
가게
UId
private
String
tableUUID
;
//
桌号
ID
private
String
tableUUID
;
//
테이블
ID
private
String
tableName
;
//
桌号名字
private
String
tableName
;
//
테이블 이름
private
FragmentAdapter
fragmentAdapter
;
private
boolean
isRequest
=
false
;
private
boolean
isAgain
=
false
;
//
是否是再来一单
private
boolean
isAgain
=
false
;
//
한 장 더 할 까요?
private
double
mStarLevel
;
@Override
protected
int
getLayoutId
()
{
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
KITKAT
)
{
//透明状态栏
getWindow
().
addFlags
(
WindowManager
.
LayoutParams
.
FLAG_TRANSLUCENT_STATUS
);
}
return
R
.
layout
.
activity_merchant_details
;
...
...
@@ -163,13 +162,13 @@ public class MerchantDetailsActivity extends BaseActivity {
case
"0"
:
requestStoreDetail
();
break
;
case
"1"
:
//
不存在
case
"3"
:
//
已隐藏
case
"1"
:
//
존재 하지 않 음
case
"3"
:
//
숨겨 진
tvTabNumber
.
setVisibility
(
View
.
GONE
);
tableUUID
=
null
;
startActivity
(
new
Intent
(
MerchantDetailsActivity
.
this
,
ScanResultActivity
.
class
));
break
;
case
"2"
:
//
被使用
case
"2"
:
//
사용되다
tvTabNumber
.
setVisibility
(
View
.
GONE
);
tableUUID
=
null
;
showDialogStateTow
(
getString
(
R
.
string
.
the_table_number_is_in_use
));
...
...
@@ -251,7 +250,7 @@ public class MerchantDetailsActivity extends BaseActivity {
}
/**
*
餐馆是否在营业时间内
*
식당 은 영업시간 내 에 있 습 니까?
*/
private
void
requestIsBusinessTime
()
{
RestaurantServiceFactory
.
isBusiness
(
storeUUId
).
subscribe
(
new
AbstractDialogSubscriber
<
BusinessTimeEntity
>(
this
)
{
...
...
@@ -273,7 +272,7 @@ public class MerchantDetailsActivity extends BaseActivity {
}
/**
*
获取指定餐馆详细信息
*
지정 한 식당 의 상세 한 정 보 를 얻다.
*/
private
void
requestStoreDetail
()
{
RestaurantServiceFactory
.
getRestaurantDetail
(
storeUUId
).
subscribe
(
new
AbstractDialogSubscriber
<
RestaurantDetailEntity
>(
this
)
{
...
...
@@ -288,7 +287,7 @@ public class MerchantDetailsActivity extends BaseActivity {
detailsShopFragmentOne
=
null
;
}
detailsShopFragmentOne
=
new
DetailsShopFragment
();
if
(
entity
.
getIs_call
()
==
0
)
{
//
是否开启排队,0没开启
if
(
entity
.
getIs_call
()
==
0
)
{
//
열 림 여부, 0 오픈 하지 않 음
showState
=
2
;
}
else
{
showState
=
1
;
...
...
@@ -302,28 +301,28 @@ public class MerchantDetailsActivity extends BaseActivity {
userStampNumber
=
entity
.
getUser_stamp_number
();
tvRestaurantStamp
.
setText
(
getString
(
R
.
string
.
number_of_stamps_currently_in_possession
)
+
entity
.
getUser_stamp_number
()
+
getString
(
R
.
string
.
zhang
));
if
(
entity
.
getIs_use_coupons
()
==
0
)
{
//
可以使用优惠券
if
(
entity
.
getIs_use_coupons
()
==
0
)
{
//
쿠폰 사용 가능
tvRestaurantCoupons
.
setVisibility
(
View
.
GONE
);
isUserCoupon
=
true
;
}
else
{
//
不能使用优惠券
}
else
{
//
쿠폰 못 써 요.
tvRestaurantCoupons
.
setVisibility
(
View
.
VISIBLE
);
isUserCoupon
=
false
;
}
if
(
entity
.
getStamp_is_open
()
==
0
)
{
//
不开启邮票赠送
if
(
entity
.
getStamp_is_open
()
==
0
)
{
//
우표 오픈 하지 않 음 증정
tvStampTag
.
setText
(
R
.
string
.
stamp_closure
);
tvStampTag
.
setBackground
(
getResources
().
getDrawable
(
R
.
drawable
.
bg_store_stamp_tag_tow
));
tvRestaurantStamp
.
setTextColor
(
getResources
().
getColor
(
R
.
color
.
btn_bg
));
Drawable
drawable
=
getResources
().
getDrawable
(
R
.
mipmap
.
ic_ticket
);
//
这一步必须要做,否则不会显示
.
//
이 단 계 는 반드시 해 야 한다. 그렇지 않 으 면 표시 되 지 않 을 것 이다.
.
drawable
.
setBounds
(
0
,
0
,
drawable
.
getMinimumWidth
(),
drawable
.
getMinimumHeight
());
tvRestaurantStamp
.
setCompoundDrawables
(
drawable
,
null
,
null
,
null
);
}
else
{
//
开启
}
else
{
//
열다.
tvStampTag
.
setText
(
R
.
string
.
stamp_opening
);
tvStampTag
.
setBackground
(
getResources
().
getDrawable
(
R
.
drawable
.
bg_store_stamp_tag
));
tvRestaurantStamp
.
setTextColor
(
getResources
().
getColor
(
R
.
color
.
font_three
));
Drawable
drawable
=
getResources
().
getDrawable
(
R
.
mipmap
.
ic_home_mall_stamp
);
//
这一步必须要做,否则不会显示
.
//
이 단 계 는 반드시 해 야 한다. 그렇지 않 으 면 표시 되 지 않 을 것 이다
.
drawable
.
setBounds
(
0
,
0
,
drawable
.
getMinimumWidth
(),
drawable
.
getMinimumHeight
());
tvRestaurantStamp
.
setCompoundDrawables
(
drawable
,
null
,
null
,
null
);
}
...
...
@@ -342,7 +341,7 @@ public class MerchantDetailsActivity extends BaseActivity {
bundle
.
putBoolean
(
"isAgain"
,
isAgain
);
bundle
.
putSerializable
(
DetailsShopFragment
.
TYPEDATA
,
(
Serializable
)
entity
.
getGoods_type_list
());
//fragmen
是否激活判断
//fragmen
활성화 판단
try
{
detailsShopFragmentOne
.
setArguments
(
bundle
);
}
catch
(
Exception
e
)
{
...
...
@@ -387,7 +386,7 @@ public class MerchantDetailsActivity extends BaseActivity {
}
/**
*
一条消息时不会滚动
*
한 가지 메시지 가 구 르 지 않 습 니 다.
*/
if
(
messages
.
size
()
==
1
)
{
messages
.
add
(
messages
.
get
(
0
));
...
...
app/src/main/java/cn/dankal/client/ui/home/details/MerchantMallFragment.java
View file @
b66d516c
...
...
@@ -70,7 +70,7 @@ public class MerchantMallFragment extends BaseFragment implements OnRefreshLoadM
@Override
protected
void
initComponents
()
{
initView
();
//
配置商品内容
//
상품 내용 설정
listData
=
new
ArrayList
<>();
linearLayoutManagerContent
=
new
LinearLayoutManager
(
getActivity
());
rvDetailsContent
.
setLayoutManager
(
linearLayoutManagerContent
);
...
...
@@ -94,7 +94,7 @@ public class MerchantMallFragment extends BaseFragment implements OnRefreshLoadM
});
//
配置商品类别
//
상품 유형 설정
Bundle
bundle
=
getArguments
();
if
(
bundle
!=
null
)
{
storeUuid
=
bundle
.
getString
(
ConstantsShopType
.
STORE_UUID
);
...
...
@@ -116,8 +116,8 @@ public class MerchantMallFragment extends BaseFragment implements OnRefreshLoadM
goodsTypeListBeans
=
merchantHomeEntity
.
getStore_type_list
();
if
(
goodsTypeListBeans
!=
null
&&
goodsTypeListBeans
.
size
()
>
0
)
{
mGoodsTypeUUID
=
goodsTypeListBeans
.
get
(
0
).
getUuid
();
requestContentData
(
mGoodsTypeUUID
,
true
);
//
初始化内容数据
//
设置商品类型
requestContentData
(
mGoodsTypeUUID
,
true
);
//
내용 데이터 초기 화
//
상품 유형 설정
linearLayoutManagerTitle
=
new
LinearLayoutManager
(
getActivity
());
rvDetailsTitle
.
setLayoutManager
(
linearLayoutManagerTitle
);
shopTypeTitleAdapter
=
new
MallTypeTitleAdapter
(
getActivity
(),
R
.
layout
.
item_shop_type_title
,
goodsTypeListBeans
);
...
...
app/src/main/java/cn/dankal/client/ui/home/details/OrderResultActivity.kt
View file @
b66d516c
...
...
@@ -40,14 +40,14 @@ import org.litepal.LitePal
class
OrderResultActivity
:
BaseActivity
(),
View
.
OnClickListener
{
private
var
orderId
:
String
?
=
""
private
var
stampNumber
:
Int
=
0
//
赠送的邮票数
private
var
stampNumber
:
Int
=
0
//
증정 한 우표 수
private
var
tableUUID
:
String
?
=
""
private
var
storeUUID
:
String
?
=
""
private
var
listItemEntities
:
MutableList
<
FoodEntity
>?
=
null
//
当前店铺购物车列表信息
private
var
settleDatas
=
mutableListOf
<
SettleDataEntity
>()
//
要提交的参数列表
private
var
couponId
=
""
//
优惠券
ID
private
var
remark
=
""
//
备注信息
private
var
listItemEntities
:
MutableList
<
FoodEntity
>?
=
null
//
현재 점포 카 트 리스트 정보
private
var
settleDatas
=
mutableListOf
<
SettleDataEntity
>()
//
제출 할 인자 목록
private
var
couponId
=
""
//
쿠폰
ID
private
var
remark
=
""
//
정 보 를 비고 하 다.
private
var
map
=
HashMap
<
String
,
Any
?>()
private
var
selectTableDialog
:
SelectTableDialog
?
=
null
...
...
@@ -55,17 +55,17 @@ class OrderResultActivity : BaseActivity(), View.OnClickListener {
private
var
foodEntity
:
CommitHotelEntity
?
=
null
private
var
isStamp
=
0
//
不是邮票兑换商品
private
var
isStamp
=
0
//
우표 교환 상품 아니에요.
private
var
isUserCoupon
=
true
//
当前商家是否可以使用优惠券
private
var
isUserCoupon
=
true
//
현재 상점 에서 쿠폰 을 사용 할 수 있 습 니까?
private
var
payment
=
""
//
支付金额
private
var
payment
=
""
//
지불 금액
private
var
queueUuid
=
""
override
fun
onClick
(
v
:
View
?)
{
when
(
v
?.
id
)
{
R
.
id
.
ll_coupon
->
{
//
跳转到优惠券
R
.
id
.
ll_coupon
->
{
//
쿠폰 으로 가기
var
intent
=
Intent
(
this
@OrderResultActivity
,
SelectCouponActivity
::
class
.
java
)
intent
.
putExtra
(
"useType"
,
"0"
)
intent
.
putExtra
(
"payment"
,
payment
)
...
...
@@ -73,9 +73,9 @@ class OrderResultActivity : BaseActivity(), View.OnClickListener {
}
R
.
id
.
ll_remark
->
showBottomListDialog
()
R
.
id
.
btn_order
->
{
//
用户是否选择了优惠券
//
사용자 가 쿠폰 을 선택 하 였 는 지 여부
if
(!
isUserCoupon
)
{
if
(!
TextUtils
.
isEmpty
(
couponId
))
{
//
用户选择了优惠券
if
(!
TextUtils
.
isEmpty
(
couponId
))
{
//
이용 자 는 쿠폰 을 선택 하 였 다.
ToastUtils
.
showShort
(
getString
(
R
.
string
.
the_merchant_does_not_support_the_use_of_coupons
))
return
}
...
...
@@ -84,15 +84,15 @@ class OrderResultActivity : BaseActivity(), View.OnClickListener {
map
[
"queue_uuid"
]
=
queueUuid
}
map
[
"remark"
]
=
remark
if
(
isStamp
==
0
)
{
//
普通商品支付
if
(
isStamp
==
0
)
{
//
일반 상품 결제
callPayment
()
}
else
{
//
邮票支付
}
else
{
//
우표 지불
map
[
"pay_way"
]
=
"2"
stampPayment
()
}
}
R
.
id
.
btn_cancel
->
finish
()
R
.
id
.
tv_replace_table
->
{
//
更换桌号
R
.
id
.
tv_replace_table
->
{
//
테이블 번 호 를 바꾸다.
queueEntity
?.
let
{
startActivityForResult
(
Intent
(
this
@OrderResultActivity
,
CaptureActivity
::
class
.
java
),
ConstantsHomeType
.
SCAN
)
}
...
...
@@ -114,8 +114,7 @@ class OrderResultActivity : BaseActivity(), View.OnClickListener {
startActivity(intent)
}*/
//测试代码
//删除本地购物车商品
val
entities
=
LitePal
.
where
(
"storeUUid=? "
,
storeUUID
).
find
(
FoodEntity
::
class
.
java
)
entities
?.
let
{
for
(
j
in
0
until
entities
.
size
)
{
...
...
@@ -192,23 +191,23 @@ class OrderResultActivity : BaseActivity(), View.OnClickListener {
}
}
if
(
isStamp
==
0
)
{
//
金钱支付
if
(
isStamp
==
0
)
{
//
금전 지불
btn_order
.
text
=
getString
(
R
.
string
.
Immediate_payment
)
}
else
{
//
邮票兑换
}
else
{
//
우표 교환
btn_order
.
text
=
getString
(
R
.
string
.
redeem_now
)
tv_coupon_name
.
hint
=
getString
(
R
.
string
.
coupons_are_not_available
)
tv_coupon_name
.
isEnabled
=
false
ll_coupon
.
isEnabled
=
false
}
//
调用去结算
//
호출 결제
requestUserSettle
()
//
调用桌号数据
//
테이블 번호 데이터 호출
requestTable
()
}
//
请求餐桌类型数据
//
테이블 타 입 데이터 요청
private
fun
requestTable
()
{
RestaurantServiceFactory
.
getTablesList
(
storeUUID
).
subscribe
(
object
:
AbstractDialogSubscriber
<
QueueEntity
>(
this
)
{
override
fun
onSubscribe
(
d
:
Disposable
)
{
...
...
@@ -329,8 +328,8 @@ class OrderResultActivity : BaseActivity(), View.OnClickListener {
override
fun
onActivityResult
(
requestCode
:
Int
,
resultCode
:
Int
,
data
:
Intent
?)
{
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
)
when
(
requestCode
)
{
3
->
{
//
选择优惠券返回
//
拿到优惠券ID
3
->
{
//
쿠폰 을 선택 하고 돌아 가기
//
쿠폰 ID 받 기
if
(
data
!=
null
)
{
var
couponId
=
data
.
getStringExtra
(
"couponUUID"
)
var
couponName
=
data
.
getStringExtra
(
"couponName"
)
...
...
@@ -340,7 +339,7 @@ class OrderResultActivity : BaseActivity(), View.OnClickListener {
tv_coupon_name
.
text
=
getString
(
R
.
string
.
please_select_coupon
)
}
if
(!
TextUtils
.
isEmpty
(
couponId
))
{
//
刷新支付信息
//
지불 정 보 를 갱신 하 다.
this
.
couponId
=
couponId
}
else
{
this
.
couponId
=
""
...
...
@@ -367,17 +366,17 @@ class OrderResultActivity : BaseActivity(), View.OnClickListener {
tv_table_number
.
text
=
getString
(
R
.
string
.
table_number
)
+
":"
+
qrCodeEntity
.
tableNumber
tableUUID
=
qrCodeEntity
.
tableUuid
}
"1"
//
不存在
"1"
//
존재 하지 않 음
->
{
tableUUID
=
null
startActivity
(
Intent
(
this
@OrderResultActivity
,
ScanResultActivity
::
class
.
java
))
}
"2"
//
被使用
"2"
//
사용되다
->
{
tableUUID
=
null
showDialogStateTow
(
getString
(
R
.
string
.
the_table_number_is_in_use
))
}
"3"
//
已隐藏
"3"
//
숨겨 진
->
{
tableUUID
=
null
startActivity
(
Intent
(
this
@OrderResultActivity
,
ScanResultActivity
::
class
.
java
))
...
...
@@ -398,7 +397,7 @@ class OrderResultActivity : BaseActivity(), View.OnClickListener {
EventBus
.
getDefault
().
unregister
(
this
)
}
//
刷新桌号信息
//
테이블 번호 정보 새로 고침
@org
.
greenrobot
.
eventbus
.
Subscribe
(
threadMode
=
ThreadMode
.
MAIN
)
public
fun
onMessageEvent
(
event
:
TableDateEntity
)
{
tv_table_number
.
text
=
event
.
name
...
...
@@ -406,14 +405,14 @@ class OrderResultActivity : BaseActivity(), View.OnClickListener {
}
/**
*
微信支付回调
*
위 챗 결 제 를 반송 하 다.
*/
@org
.
greenrobot
.
eventbus
.
Subscribe
(
threadMode
=
ThreadMode
.
MAIN
)
public
fun
updatePlayStatus
(
entity
:
PlayStatusEntity
?)
{
if
(
entity
!=
null
)
{
if
(
entity
.
type
==
0
)
{
//
支付失败
if
(
entity
.
type
==
0
)
{
//
지불 실패
ToastUtils
.
showShort
(
getString
(
R
.
string
.
failure_to_pay
))
}
else
{
//
支付成功
}
else
{
//
지불 성공
ToastUtils
.
showShort
(
getString
(
R
.
string
.
successful_payment
))
val
intent
=
Intent
(
this
@OrderResultActivity
,
ResultPageActivity
::
class
.
java
)
var
bundle
=
Bundle
()
...
...
app/src/main/java/cn/dankal/client/ui/home/details/RecommendMerchantActivity.java
View file @
b66d516c
...
...
@@ -25,7 +25,7 @@ import cn.dankal.client.R;
import
io.reactivex.disposables.Disposable
;
/**
*
推荐商家
*
추천 업 체
*/
public
class
RecommendMerchantActivity
extends
BaseListActivity
<
RestaurantEntity
.
DataBean
>
{
...
...
@@ -44,7 +44,7 @@ public class RecommendMerchantActivity extends BaseListActivity<RestaurantEntity
if
(!
checkGPSIsOpen
())
{
View
view
=
UIUtile
.
getView
(
R
.
layout
.
adapter_layout_location_data
,
rvList
);
TextView
tvOpenGPS
=
view
.
findViewById
(
R
.
id
.
tv_open_location
);
tvOpenGPS
.
setOnClickListener
(
v
->
{
//
跳转到gps设置页面
tvOpenGPS
.
setOnClickListener
(
v
->
{
//
gps 설정 페이지 로 가기
toSelfSetting
();
});
if
(
adapter
!=
null
)
{
...
...
@@ -131,7 +131,7 @@ public class RecommendMerchantActivity extends BaseListActivity<RestaurantEntity
}
/**
*
判断是否有定位权限
*
위치 결정 권한 이 있 는 지 여 부 를 판단 하 다.
*
* @return
*/
...
...
app/src/main/java/cn/dankal/client/ui/home/details/ResultPageActivity.kt
View file @
b66d516c
...
...
@@ -15,22 +15,22 @@ import kotlinx.android.synthetic.main.activity_result_page.*
/**
*
普通商品结果页
*
일반 상품 결과 페이지
*/
class
ResultPageActivity
:
BaseActivity
(),
View
.
OnClickListener
{
private
var
orderId
:
String
?
=
""
private
var
stampNumber
:
Int
=
0
//
赠送的邮票数
private
var
stampNumber
:
Int
=
0
//
증정 한 우표 수
private
var
foodEntity
:
CommitHotelEntity
?
=
null
override
fun
onClick
(
v
:
View
?)
{
when
(
v
?.
id
)
{
R
.
id
.
btn_see_order
->
{
//
查看订单
R
.
id
.
btn_see_order
->
{
//
주문 서 를 확인 하 다.
startActivity
(
Intent
(
this
@ResultPageActivity
,
OrderDetailsActivity
::
class
.
java
).
putExtra
(
ConstantsRestaurantType
.
UUID
,
orderId
))
}
R
.
id
.
btn_order
->
{
//
继续点餐
R
.
id
.
btn_order
->
{
//
계속 주문 할 게 요.
finish
()
}
R
.
id
.
btn_evaluate
->{
...
...
@@ -63,9 +63,9 @@ class ResultPageActivity : BaseActivity(), View.OnClickListener {
rv_order_result
.
layoutManager
=
LinearLayoutManager
(
this
@ResultPageActivity
)
rv_order_result
.
adapter
=
adapter
if
(
it
.
pay_settle_goods_list
!=
null
&&
it
.
pay_settle_goods_list
.
size
>
0
)
{
if
(
it
.
pay_settle_goods_list
[
0
].
is_stamp
==
0
)
{
//
普通商品
if
(
it
.
pay_settle_goods_list
[
0
].
is_stamp
==
0
)
{
//
일반 상품
tv_shop_total_price
.
text
=
UIUtile
.
stringToPrice
(
it
.
payment
)
}
else
{
//
邮票商品
}
else
{
//
우표 상품
tv_shop_total_price
.
text
=
UIUtile
.
stringToStamp
(
it
.
payment
)
}
}
...
...
app/src/main/java/cn/dankal/client/ui/home/details/ResultPageTowActivity.kt
View file @
b66d516c
...
...
@@ -15,25 +15,25 @@ import kotlinx.android.synthetic.main.activity_result_page_tow.*
/**
*
邮票的结果页
*
우표 의 결과 페이지
*/
class
ResultPageTowActivity
:
BaseActivity
(),
View
.
OnClickListener
{
private
var
orderId
:
String
?
=
""
private
var
stampNumber
:
Int
=
0
//
赠送的邮票数
private
var
stampNumber
:
Int
=
0
//
증정 한 우표 수
private
var
foodEntity
:
CommitHotelEntity
?
=
null
override
fun
onClick
(
v
:
View
?)
{
when
(
v
?.
id
)
{
R
.
id
.
btn_see_order
->
{
//
查看订单
R
.
id
.
btn_see_order
->
{
//
주문 서 를 확인 하 다.
startActivity
(
Intent
(
this
@ResultPageTowActivity
,
OrderDetailsActivity
::
class
.
java
).
putExtra
(
ConstantsRestaurantType
.
UUID
,
orderId
))
}
R
.
id
.
btn_evaluate
->
{
//
评价
R
.
id
.
btn_evaluate
->
{
//
평가 하 다.
startActivity
(
Intent
(
this
@ResultPageTowActivity
,
FoodEvaluationActivity
::
class
.
java
).
putExtra
(
"order_id"
,
orderId
))
finish
()
}
R
.
id
.
btn_order
->
{
//
继续点餐
R
.
id
.
btn_order
->
{
//
계속 주문 할 게 요.
finish
()
}
}
...
...
@@ -61,9 +61,9 @@ class ResultPageTowActivity : BaseActivity(),View.OnClickListener {
var
adapter
=
OrderResultAdapter
(
R
.
layout
.
item_order_child
,
it
.
pay_settle_goods_list
,
1
)
rv_order_result
.
layoutManager
=
LinearLayoutManager
(
this
@ResultPageTowActivity
)
rv_order_result
.
adapter
=
adapter
if
(
it
.
pay_settle_goods_list
[
0
].
is_stamp
==
0
)
{
//
普通商品
if
(
it
.
pay_settle_goods_list
[
0
].
is_stamp
==
0
)
{
//
일반 상품
tv_shop_total_price
.
text
=
UIUtile
.
stringToPrice
(
it
.
payment
)
}
else
{
//
邮票商品
}
else
{
//
우표 상품
tv_shop_total_price
.
text
=
UIUtile
.
stringToStamp
(
it
.
payment
)
}
}
...
...
app/src/main/java/cn/dankal/client/ui/home/details/SelectCouponFragment.kt
View file @
b66d516c
...
...
@@ -42,7 +42,7 @@ class SelectCouponFragment : BaseFragment() {
}
adapter
.
setOnItemClickListener
{
adapter
,
view
,
position
->
val
couponVoBean
=
t
.
data
[
position
].
coupon_vo
//
拿到优惠券ID,返回
//
쿠폰 ID 받 고 돌아 가기
var
couponID
=
t
.
data
[
position
].
uuid
var
couponName
=
couponVoBean
.
name
var
intent
=
Intent
()
...
...
app/src/main/java/cn/dankal/client/ui/home/details/SelectPayActivity.kt
View file @
b66d516c
...
...
@@ -11,14 +11,14 @@ class SelectPayActivity : BaseActivity(), View.OnClickListener {
override
fun
onClick
(
v
:
View
?)
{
when
(
v
?.
id
)
{
R
.
id
.
ll_a_pay
->
{
//
支付宝
R
.
id
.
ll_a_pay
->
{
//
알 리 페 이
ToastUtils
.
showShort
(
getString
(
R
.
string
.
not_supported_yet
))
/* var intent = Intent()
intent.putExtra("pay", 1)
setResult(1, intent)
finish()*/
}
R
.
id
.
ll_w_pay
->
{
//
微信
R
.
id
.
ll_w_pay
->
{
//
위 챗 편지
var
intent
=
Intent
()
intent
.
putExtra
(
"pay"
,
0
)
setResult
(
1
,
intent
)
...
...
app/src/main/java/cn/dankal/client/ui/home/details/SelectPayFoodActivity.kt
View file @
b66d516c
...
...
@@ -24,14 +24,14 @@ class SelectPayFoodActivity : BaseActivity(), View.OnClickListener {
override
fun
onClick
(
v
:
View
?)
{
when
(
v
?.
id
)
{
R
.
id
.
ll_a_pay
->
{
//
支付宝
R
.
id
.
ll_a_pay
->
{
//
알 리 페 이
ToastUtils
.
showShort
(
getString
(
R
.
string
.
not_supported_yet
))
/* var intent = Intent()
intent.putExtra("pay", 1)
setResult(1, intent)
finish()*/
}
R
.
id
.
ll_w_pay
->
{
//
微信
R
.
id
.
ll_w_pay
->
{
//
WeChat
payEntity
?.
let
{
payShop
(
it
)
}
...
...
@@ -57,7 +57,7 @@ class SelectPayFoodActivity : BaseActivity(), View.OnClickListener {
}
private
fun
payShop
(
payEntity
:
PayParameterEntity
)
{
//
删除本地购物车商品
//
로 컬 카 트 상품 삭제
val
entities
=
LitePal
.
where
(
"storeUUid=? "
,
storeUUID
).
find
(
FoodEntity
::
class
.
java
)
entities
?.
let
{
for
(
j
in
0
until
entities
.
size
)
{
...
...
@@ -70,12 +70,12 @@ class SelectPayFoodActivity : BaseActivity(), View.OnClickListener {
val
api
=
DankalApplication
.
getIWXAPI
()
val
request
=
PayReq
()
request
.
appId
=
WxConstants
.
WX_APP_ID
//appid
request
.
partnerId
=
payEntity
.
partner_id
//
商户号
request
.
prepayId
=
payEntity
.
prepay_id
//
预支付交易会话
ID
request
.
packageValue
=
payEntity
.
package_str
//
扩展字段
request
.
nonceStr
=
payEntity
.
nonce_str
//
随机字符串
request
.
partnerId
=
payEntity
.
partner_id
//
상점 번호
request
.
prepayId
=
payEntity
.
prepay_id
//
선불 거래 세 션
ID
request
.
packageValue
=
payEntity
.
package_str
//
확장 필드
request
.
nonceStr
=
payEntity
.
nonce_str
//
임 의 문자열
request
.
timeStamp
=
payEntity
.
time_stamp
request
.
sign
=
payEntity
.
sign
//
签名
request
.
sign
=
payEntity
.
sign
//
서명 하 다.
api
.
sendReq
(
request
)
finish
()
}
...
...
app/src/main/java/cn/dankal/client/ui/home/details/TableSelectActivity.kt
View file @
b66d516c
...
...
@@ -16,9 +16,9 @@ class TableSelectActivity : Activity() {
private
var
queueEntity
:
QueueEntity
?
=
null
private
var
tableShop
:
String
?
=
null
//
桌形名字
private
var
tableNumber
:
String
?
=
null
//
桌号名字
private
var
tableNumberId
:
String
?
=
null
//
桌号
ID
private
var
tableShop
:
String
?
=
null
//
테이블 이름
private
var
tableNumber
:
String
?
=
null
//
테이블 이름
private
var
tableNumberId
:
String
?
=
null
//
테이블
ID
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
...
...
@@ -34,18 +34,18 @@ class TableSelectActivity : Activity() {
}
//
设置默认桌形和桌号
//
기본 테이블 과 테이블 번 호 를 설정 합 니 다.
queueEntity
?.
let
{
var
tableShopList
=
queueEntity
?.
data
tableShopList
?.
let
{
if
(
it
.
size
>
0
)
{
//
拿到桌形
//
책상 에 갖다
tableShop
=
it
[
0
].
tables_name
tv_select_table
.
text
=
tableShop
var
tableNumberList
=
it
[
0
].
tables_list
if
(
tableNumberList
!=
null
&&
tableNumberList
.
size
>
0
)
{
//
拿到桌号
//
테이블 번호 를 받다
tableNumber
=
tableNumberList
[
0
].
table_number
tv_count
.
text
=
tableNumber
}
...
...
@@ -55,7 +55,7 @@ class TableSelectActivity : Activity() {
iv_close
.
setOnClickListener
{
finish
()
}
//
选择桌形
//
책상 모양 을 선택 하 다
tv_select_table
.
setOnClickListener
{
var
options1Items
=
mutableListOf
<
TableDateEntity
>()
var
tableShopList
=
queueEntity
?.
data
...
...
@@ -70,7 +70,7 @@ class TableSelectActivity : Activity() {
showPickerView
(
options1Items
,
getString
(
R
.
string
.
table_shape
))
}
//
选择桌号
//
테이블 번 호 를 선택 하 다.
cl_select_personal
.
setOnClickListener
{
var
options1Items
=
mutableListOf
<
TableDateEntity
>()
var
tableShopList
=
queueEntity
?.
data
...
...
@@ -95,7 +95,7 @@ class TableSelectActivity : Activity() {
}
btn_ok_select
.
setOnClickListener
{
//
更新桌号
//
테이블 번호 업데이트
var
tableDateEntity
=
TableDateEntity
()
tableDateEntity
.
name
=
tableNumber
tableDateEntity
.
uuid
=
tableNumberId
...
...
@@ -106,8 +106,8 @@ class TableSelectActivity : Activity() {
private
fun
showPickerView
(
options1Items
:
List
<
TableDateEntity
>,
title
:
String
)
{
// 弹出选择器
val
pvOptions
=
OptionsPickerBuilder
(
this
,
OnOptionsSelectListener
{
options1
,
options2
,
options3
,
v
->
//
返回的分别是三个级别的选中位置
if
(
title
==
getString
(
R
.
string
.
table_shape
))
{
//
桌形
//
3 개의 등급 으로 돌아 가 는 선 택 된 위치 입 니 다.
if
(
title
==
getString
(
R
.
string
.
table_shape
))
{
//
탁자 의 형태
tableShop
=
options1Items
[
options1
].
pickerViewText
}
else
{
tableNumber
=
options1Items
[
options1
].
pickerViewText
...
...
@@ -117,14 +117,14 @@ class TableSelectActivity : Activity() {
.
setTitleText
(
title
)
.
setDividerColor
(
Color
.
WHITE
)
.
setTextColorCenter
(
Color
.
BLACK
)
//设置选中项文字颜色
.
setTextColorCenter
(
Color
.
BLACK
)
.
setCancelColor
(
Color
.
parseColor
(
"#4A4A4A"
))
.
setSubmitColor
(
Color
.
parseColor
(
"#FF6B5C"
))
.
setTitleBgColor
(
Color
.
WHITE
)
.
setContentTextSize
(
20
)
.
build
<
Any
>()
pvOptions
.
setPicker
(
options1Items
)
//三级选择器
pvOptions
.
setPicker
(
options1Items
)
pvOptions
.
show
()
}
}
app/src/main/java/cn/dankal/client/ui/home/details/presenter/DishesPresenter.java
View file @
b66d516c
...
...
@@ -46,7 +46,7 @@ public class DishesPresenter implements BasePresenter<DishesView> {
}
/**
*
用户是否在当前餐馆预约
*
사용자 가 현재 식당 에서 예약 합 니까?
*/
public
void
requestIsMerchantOrder
(
String
hotelUUID
)
{
RestaurantServiceFactory
.
isUserQueue
(
hotelUUID
).
subscribe
(
new
AbstractDialogSubscriber
<
IsOrderStoreEntity
>(
dishesView
)
{
...
...
app/src/main/java/cn/dankal/client/ui/home/map/GoogleMapsActivity.java
View file @
b66d516c
...
...
@@ -64,12 +64,12 @@ public class GoogleMapsActivity extends BaseActivity implements OnMapReadyCallba
private
LocationTracker
locationTrackObj
;
private
final
int
ANIMATION_TYPE_RIPPLE
=
0
;
private
GoogleMap
.
InfoWindowAdapter
windowAdapter
;
private
List
<
BottomAroundEntity
.
DataBean
>
dataBeans
;
//
附近所有商家信息
private
List
<
BottomAroundEntity
.
DataBean
>
dataBeans
;
//
근처 모든 상가 정보
private
SupportMapFragment
mapFragment
;
private
RelativeLayout
relativeLayout
;
private
static
final
int
LOCATION_PERMISSION_REQUEST_CODE
=
1
;
private
Drawable
drawable
;
//
当前需要显示的infoWindow网络图
private
Drawable
drawable
;
//
현재 표시 할 InforWindow 네트워크 맵
@Override
protected
int
getLayoutId
()
{
...
...
@@ -131,7 +131,7 @@ public class GoogleMapsActivity extends BaseActivity implements OnMapReadyCallba
View
infoWindow
=
null
;
/**
*
初始化地图
*
지도 초기 화
*
* @param mMap
*/
...
...
@@ -215,7 +215,7 @@ public class GoogleMapsActivity extends BaseActivity implements OnMapReadyCallba
}
//
开始请求数据,绘制
MarkerOptions();
//
데 이 터 를 요청 하여 그립 니 다.
MarkerOptions();
private
void
requestAllList
()
{
Map
<
String
,
Object
>
maps
=
new
HashMap
<>();
...
...
@@ -229,7 +229,7 @@ public class GoogleMapsActivity extends BaseActivity implements OnMapReadyCallba
maps
.
put
(
"queue_status"
,
""
);
maps
.
put
(
"search"
,
""
);
//
请求附近商家信息
//
근처 상가 에 정보 요청
HomeServiceFactory
.
aroundList
(
maps
).
subscribe
(
new
AbstractDialogSubscriber
<
BottomAroundEntity
>(
this
)
{
@Override
...
...
@@ -253,7 +253,7 @@ public class GoogleMapsActivity extends BaseActivity implements OnMapReadyCallba
}
/**
*
自定义infowinfow窗口
*
사용자 정의 Inforwinfow 창
*/
public
void
render
(
Marker
marker
,
View
view
)
{
int
index
=
Integer
.
parseInt
(
marker
.
getSnippet
());
...
...
app/src/main/java/cn/dankal/client/ui/home/map/GoogleMapsMallActivity.java
View file @
b66d516c
...
...
@@ -53,7 +53,7 @@ public class GoogleMapsMallActivity extends BaseActivity implements OnMapReadyCa
private
LocationTracker
locationTrackObj
;
private
final
int
ANIMATION_TYPE_RIPPLE
=
0
;
private
GoogleMap
.
InfoWindowAdapter
windowAdapter
;
private
List
<
BottomAroundEntity
.
DataBean
>
dataBeans
;
//
附近所有商家信息
private
List
<
BottomAroundEntity
.
DataBean
>
dataBeans
;
//
근처 모든 상가 정보
private
SupportMapFragment
mapFragment
;
private
RelativeLayout
relativeLayout
;
private
static
final
int
LOCATION_PERMISSION_REQUEST_CODE
=
1
;
...
...
@@ -120,7 +120,7 @@ public class GoogleMapsMallActivity extends BaseActivity implements OnMapReadyCa
/**
*
初始化地图
*
지도 초기 화
*
* @param mMap
*/
...
...
@@ -187,7 +187,7 @@ public class GoogleMapsMallActivity extends BaseActivity implements OnMapReadyCa
}
/**
*
自定义infowinfow窗口
*
사용자 정의 Inforwinfow 창
*/
public
void
render
(
Marker
marker
,
View
view
)
{
ImageView
ivStore
=
view
.
findViewById
(
R
.
id
.
iv_store_name
);
...
...
@@ -461,7 +461,7 @@ public class GoogleMapsMallActivity extends BaseActivity implements OnMapReadyCa
/**
*
申请权限
*
신청 권한
*/
private
void
setUpMap
()
{
if
(
ActivityCompat
.
checkSelfPermission
(
this
,
...
...
app/src/main/java/cn/dankal/client/ui/home/map/GoogleMapsMerchantActivity.java
View file @
b66d516c
...
...
@@ -60,7 +60,7 @@ public class GoogleMapsMerchantActivity extends BaseActivity implements OnMapRea
private
static
final
int
LOCATION_PERMISSION_REQUEST_CODE
=
1
;
private
RestaurantDetailEntity
entity
;
private
Drawable
drawable
;
//
当前需要显示的infoWindow网络图
private
Drawable
drawable
;
//
현재 표시 할 InforWindow 네트워크 맵
private
String
distance
=
"0m"
;
...
...
@@ -125,7 +125,7 @@ public class GoogleMapsMerchantActivity extends BaseActivity implements OnMapRea
/**
*
初始化地图
*
지도 초기 화
*
* @param mMap
*/
...
...
@@ -219,7 +219,7 @@ public class GoogleMapsMerchantActivity extends BaseActivity implements OnMapRea
}
/**
*
自定义infowinfow窗口
*
사용자 정의 Inforwinfow 창
*/
public
void
render
(
Marker
marker
,
View
view
)
{
ImageView
ivStore
=
view
.
findViewById
(
R
.
id
.
iv_store_name
);
...
...
@@ -504,7 +504,7 @@ public class GoogleMapsMerchantActivity extends BaseActivity implements OnMapRea
/**
*
申请权限
*
신청 권한
*/
private
void
setUpMap
()
{
if
(
ActivityCompat
.
checkSelfPermission
(
this
,
...
...
app/src/main/java/cn/dankal/client/ui/personal/CouponTypeFragment.kt
View file @
b66d516c
...
...
@@ -26,14 +26,14 @@ class CouponTypeFragment : BaseFragment() {
var
fragmentOne
=
MyCouponFragment
()
fragmentOne
.
arguments
=
Bundle
().
apply
{
putString
(
ARG_PARAM1
,
"0"
)
putString
(
ARG_PARAM2
,
"0"
)
//
餐馆
putString
(
ARG_PARAM2
,
"0"
)
//
식당.
}
dataList
.
add
(
fragmentOne
)
var
fragmentTow
=
UnCouponFragment
()
fragmentTow
.
arguments
=
Bundle
().
apply
{
putString
(
ARG_PARAM1
,
"1"
)
putString
(
ARG_PARAM2
,
"0"
)
//
餐馆
putString
(
ARG_PARAM2
,
"0"
)
//
식당.
}
dataList
.
add
(
fragmentTow
)
...
...
app/src/main/java/cn/dankal/client/ui/personal/FeedbackActivity.kt
View file @
b66d516c
...
...
@@ -40,13 +40,13 @@ class FeedbackActivity : BaseActivity(), GridImageAdapter.onAddPicClickListener,
for
(
media
in
selectList
)
{
var
path
=
""
path
=
if
(
media
.
isCut
&&
!
media
.
isCompressed
)
{
// 裁剪过
media
.
cutPath
}
else
if
(
media
.
isCompressed
||
media
.
isCut
&&
media
.
isCompressed
)
{
// 压缩过,或者裁剪同时压缩过,以最终压缩过图片为准
media
.
compressPath
}
else
{
// 原图
media
.
path
}
if
(
path
==
""
)
{
...
...
@@ -78,27 +78,25 @@ class FeedbackActivity : BaseActivity(), GridImageAdapter.onAddPicClickListener,
private
var
themeId
=
R
.
style
.
picture_default_style
override
fun
onAddPicClick
()
{
// 进入相册 以下是例子:不需要的api可以不写
PictureSelector
.
create
(
this
@FeedbackActivity
)
.
openGallery
(
PictureMimeType
.
ofImage
())
// 全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()、音频.ofAudio()
.
theme
(
themeId
)
// 主题样式设置 具体参考 values/styles 用法:R.style.picture.white.style
.
maxSelectNum
(
3
)
// 最大图片选择数量
.
minSelectNum
(
1
)
// 最小选择数量
.
imageSpanCount
(
4
)
// 每行显示个数
.
selectionMode
(
PictureConfig
.
MULTIPLE
)
// 多选 or 单选
.
previewImage
(
true
)
// 是否可预览图片
.
isCamera
(
true
)
// 是否显示拍照按钮
.
isZoomAnim
(
true
)
// 图片列表点击 缩放效果 默认true
//.imageFormat(PictureMimeType.PNG)// 拍照保存图片格式后缀,默认jpeg
//.setOutputCameraPath("/CustomPath")// 自定义拍照保存路径
.
enableCrop
(
false
)
// 是否裁剪
.
compress
(
true
)
// 是否压缩
.
synOrAsy
(
true
)
//同步true或异步false 压缩 默认同步
.
glideOverride
(
160
,
160
)
// glide 加载宽高,越小图片列表越流畅,但会影响列表图片浏览的清晰度
.
freeStyleCropEnabled
(
true
)
// 裁剪框是否可拖拽
.
selectionMedia
(
selectList
)
// 是否传入已选图片
.
minimumCompressSize
(
100
)
// 小于100kb的图片不压缩
.
forResult
(
PictureConfig
.
CHOOSE_REQUEST
)
//结果回调onActivityResult code
.
openGallery
(
PictureMimeType
.
ofImage
())
.
theme
(
themeId
)
.
maxSelectNum
(
3
)
.
minSelectNum
(
1
)
.
imageSpanCount
(
4
)
.
selectionMode
(
PictureConfig
.
MULTIPLE
)
.
previewImage
(
true
)
.
isCamera
(
true
)
.
isZoomAnim
(
true
)
.
enableCrop
(
false
)
.
compress
(
true
)
.
synOrAsy
(
true
)
.
glideOverride
(
160
,
160
)
.
freeStyleCropEnabled
(
true
)
.
selectionMedia
(
selectList
)
.
minimumCompressSize
(
100
)
.
forResult
(
PictureConfig
.
CHOOSE_REQUEST
)
}
private
var
adapter
:
GridImageAdapter
?
=
null
...
...
@@ -142,20 +140,16 @@ class FeedbackActivity : BaseActivity(), GridImageAdapter.onAddPicClickListener,
when
(
requestCode
)
{
PictureConfig
.
CHOOSE_REQUEST
->
{
listImage
.
clear
()
// 图片选择结果回调
selectList
=
PictureSelector
.
obtainMultipleResult
(
data
)
if
(
selectList
!=
null
)
{
tv_img_size
.
text
=
getString
(
R
.
string
.
upload_pictures
)
+
"("
+
selectList
.
size
+
"/3)"
for
(
media
in
selectList
)
{
var
path
=
""
path
=
if
(
media
.
isCut
&&
!
media
.
isCompressed
)
{
// 裁剪过
media
.
cutPath
}
else
if
(
media
.
isCompressed
||
media
.
isCut
&&
media
.
isCompressed
)
{
// 压缩过,或者裁剪同时压缩过,以最终压缩过图片为准
media
.
compressPath
}
else
{
// 原图
media
.
path
}
if
(
path
==
""
)
{
...
...
app/src/main/java/cn/dankal/client/ui/personal/LogoutActivity.kt
View file @
b66d516c
...
...
@@ -77,13 +77,13 @@ class LogoutActivity : BaseActivity() {
return
}
val
language
=
SPUtil
.
getInstance
(
this
@LogoutActivity
).
selectLanguage
if
(
language
==
1
)
{
//
韩文
if
(
language
==
1
)
{
//
한글
if
(
title
.
size
>
0
)
{
val
html
=
"<html><header>$linkCss</header>${content[0]}</body></html>"
WebViewUtil
.
initWebViewSettings
(
webView
,
this
@LogoutActivity
)
WebViewUtil
.
loadData
(
webView
,
html
)
}
}
else
{
//
中文
}
else
{
//
중국어.
if
(
title
.
size
>
1
)
{
val
html
=
"<html><header>$linkCss</header>${content[1]}</body></html>"
WebViewUtil
.
initWebViewSettings
(
webView
,
this
@LogoutActivity
)
...
...
app/src/main/java/cn/dankal/client/ui/personal/MyCollectActivity.kt
View file @
b66d516c
...
...
@@ -65,10 +65,10 @@ class MyCollectActivity : BaseActivity(), OnRefreshLoadMoreListener {
}
/**
*
删除
*
삭제 하 다.
*/
tv_collect_delete
.
setOnClickListener
{
//
遍历拿到所有选中的收藏u
uid
//
모든 선택 한 모음 집 가 져 오기
uid
var
uuidAll
=
mutableListOf
<
String
>()
for
(
i
in
0
until
listData
.
size
)
{
myCollectAdapter
?.
let
{
...
...
@@ -78,7 +78,7 @@ class MyCollectActivity : BaseActivity(), OnRefreshLoadMoreListener {
}
}
//
请求服务器删除数据
//
서버 데이터 삭제 요청
var
map
=
HashMap
<
String
,
Any
?>()
map
[
"user_collect_list"
]
=
uuidAll
UserServiceFactory
.
deleteUserCollect
(
map
).
subscribe
(
object
:
AbstractDialogSubscriber
<
ResponseBody
>(
this
)
{
...
...
@@ -90,7 +90,7 @@ class MyCollectActivity : BaseActivity(), OnRefreshLoadMoreListener {
}
/**
*
取消
*
취소 하 다.
*/
tv_collect_collect
.
setOnClickListener
{
myCollectAdapter
?.
let
{
...
...
app/src/main/java/cn/dankal/client/ui/personal/MyCouponFragment.kt
View file @
b66d516c
...
...
@@ -14,8 +14,8 @@ import io.reactivex.disposables.Disposable
import
kotlinx.android.synthetic.main.fragment_select_coupon.*
private
const
val
ARG_PARAM1
=
"param1"
//0
未使用(可用)1,已使用
private
const
val
ARG_PARAM2
=
"param2"
//0
餐馆,1商城
private
const
val
ARG_PARAM1
=
"param1"
//0
미사 용 (사용 가능) 1, 이미 사용
private
const
val
ARG_PARAM2
=
"param2"
//0
식당.,1상점.
class
MyCouponFragment
:
LazyLoadBaseFragment
()
{
...
...
app/src/main/java/cn/dankal/client/ui/personal/PersonalFragment.kt
View file @
b66d516c
...
...
@@ -36,12 +36,12 @@ class PersonalFragment : BaseFragment(), View.OnClickListener {
}
/**
*
当前Fragment是否可见
*
현재 Fragment 보 이 는 지 여부
*/
private
var
isViewVisible
=
false
/**
*
是否与View建立起映射关系
*
View 와 맵 관 계 를 맺 을 지 여부
*/
private
var
isInitView
=
false
...
...
@@ -125,6 +125,6 @@ class PersonalFragment : BaseFragment(), View.OnClickListener {
@Subscribe
(
threadMode
=
ThreadMode
.
MAIN
)
public
fun
onEvent
(
event
:
PersonUpdateEvent
)
{
requestPersonalInfo
()
//
刷新个人中心信息
requestPersonalInfo
()
//
개인 센터 정보 새로 고침
}
}
app/src/main/java/cn/dankal/client/ui/personal/PersonalInfoActivity.kt
View file @
b66d516c
...
...
@@ -52,7 +52,7 @@ class PersonalInfoActivity : BaseActivity(), View.OnClickListener {
ARouter
.
getInstance
().
build
(
LoginProtocol
.
UPDATE_EMAIL
).
navigation
()
isRefreshing
=
true
}
R
.
id
.
ll_personal_password
->
{
//
修改密码
R
.
id
.
ll_personal_password
->
{
//
비밀번호 변경
ARouter
.
getInstance
().
build
(
LoginProtocol
.
UPDATE_PASSWORD
).
navigation
()
isRefreshing
=
true
}
...
...
@@ -113,47 +113,47 @@ class PersonalInfoActivity : BaseActivity(), View.OnClickListener {
R
.
id
.
tv_item_korean
->
{
selectListOne
.
clear
()
PictureSelector
.
create
(
this
@PersonalInfoActivity
)
.
openCamera
(
PictureMimeType
.
ofImage
())
// 单独拍照,也可录像或也可音频 看你传入的类型是图片or视频
.
maxSelectNum
(
1
)
// 最大图片选择数量
.
minSelectNum
(
1
)
// 最小选择数量
.
previewImage
(
true
)
// 是否可预览图片
.
enableCrop
(
true
)
// 是否裁剪
.
compress
(
true
)
// 是否压缩
.
glideOverride
(
160
,
160
)
// glide 加载宽高,越小图片列表越流畅,但会影响列表图片浏览的清晰度
.
withAspectRatio
(
1
,
1
)
// 裁剪比例 如16:9 3:2 3:4 1:1 可自定义
.
freeStyleCropEnabled
(
true
)
// 裁剪框是否可拖拽
.
circleDimmedLayer
(
true
)
// 是否圆形裁剪
.
showCropFrame
(
false
)
// 是否显示裁剪矩形边框 圆形裁剪时建议设为false
.
showCropGrid
(
false
)
// 是否显示裁剪矩形网格 圆形裁剪时建议设为false
.
selectionMedia
(
selectListOne
)
// 是否传入已选图片
.
previewEggs
(
false
)
//预览图片时 是否增强左右滑动图片体验(图片滑动一半即可看到上一张是否选中)
.
minimumCompressSize
(
100
)
// 小于100kb的图片不压缩
.
forResult
(
11
)
//结果回调onActivityResult code
.
openCamera
(
PictureMimeType
.
ofImage
())
.
maxSelectNum
(
1
)
.
minSelectNum
(
1
)
.
previewImage
(
true
)
.
enableCrop
(
true
)
.
compress
(
true
)
.
glideOverride
(
160
,
160
)
.
withAspectRatio
(
1
,
1
)
.
freeStyleCropEnabled
(
true
)
.
circleDimmedLayer
(
true
)
.
showCropFrame
(
false
)
.
showCropGrid
(
false
)
.
selectionMedia
(
selectListOne
)
.
previewEggs
(
false
)
.
minimumCompressSize
(
100
)
.
forResult
(
11
)
}
R
.
id
.
tv_item_chinese
->
{
selectListTow
.
clear
()
PictureSelector
.
create
(
this
@PersonalInfoActivity
)
.
openGallery
(
PictureMimeType
.
ofImage
())
// 全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()、音频.ofAudio()
.
maxSelectNum
(
1
)
// 最大图片选择数量
.
minSelectNum
(
1
)
// 最小选择数量
.
imageSpanCount
(
4
)
// 每行显示个数
.
selectionMode
(
PictureConfig
.
SINGLE
)
// 多选 or 单选
.
previewImage
(
true
)
// 是否可预览图片
.
isCamera
(
false
)
// 是否显示拍照按钮
.
isZoomAnim
(
true
)
// 图片列表点击 缩放效果 默认true
.
enableCrop
(
true
)
// 是否裁剪
.
withAspectRatio
(
1
,
1
)
// 裁剪比例 如16:9 3:2 3:4 1:1 可自定义
.
freeStyleCropEnabled
(
true
)
// 裁剪框是否可拖拽
.
circleDimmedLayer
(
true
)
// 是否圆形裁剪
.
showCropFrame
(
false
)
// 是否显示裁剪矩形边框 圆形裁剪时建议设为false
.
showCropGrid
(
false
)
// 是否显示裁剪矩形网格 圆形裁剪时建议设为false
.
compress
(
true
)
// 是否压缩
.
synOrAsy
(
true
)
//同步true或异步false 压缩 默认同步
.
glideOverride
(
160
,
160
)
// glide 加载宽高,越小图片列表越流畅,但会影响列表图片浏览的清晰度
.
freeStyleCropEnabled
(
true
)
// 裁剪框是否可拖拽
.
selectionMedia
(
selectListTow
)
// 是否传入已选图片
.
minimumCompressSize
(
100
)
// 小于100kb的图片不压缩
.
forResult
(
22
)
//结果回调onActivityResult code
.
openGallery
(
PictureMimeType
.
ofImage
())
.
maxSelectNum
(
1
)
.
minSelectNum
(
1
)
.
imageSpanCount
(
4
)
.
selectionMode
(
PictureConfig
.
SINGLE
)
.
previewImage
(
true
)
.
isCamera
(
false
)
.
isZoomAnim
(
true
)
.
enableCrop
(
true
)
.
withAspectRatio
(
1
,
1
)
.
freeStyleCropEnabled
(
true
)
.
circleDimmedLayer
(
true
)
.
showCropFrame
(
false
)
.
showCropGrid
(
false
)
.
compress
(
true
)
.
synOrAsy
(
true
)
.
glideOverride
(
160
,
160
)
.
freeStyleCropEnabled
(
true
)
.
selectionMedia
(
selectListTow
)
.
minimumCompressSize
(
100
)
.
forResult
(
22
)
}
}
}
...
...
@@ -168,7 +168,7 @@ class PersonalInfoActivity : BaseActivity(), View.OnClickListener {
if
(
resultCode
==
Activity
.
RESULT_OK
)
{
when
(
requestCode
)
{
11
->
{
//
图片选择结果回调
//
이미지 선택 결과 반전
selectListOne
=
PictureSelector
.
obtainMultipleResult
(
data
)
showUpload
(
selectListOne
.
get
(
0
))
}
...
...
@@ -184,13 +184,13 @@ class PersonalInfoActivity : BaseActivity(), View.OnClickListener {
val
media
=
localMedia
var
path
=
""
path
=
if
(
media
.
isCut
&&
!
media
.
isCompressed
)
{
// 裁剪过
media
.
cutPath
}
else
if
(
media
.
isCompressed
||
media
.
isCut
&&
media
.
isCompressed
)
{
// 压缩过,或者裁剪同时压缩过,以最终压缩过图片为准
media
.
compressPath
}
else
{
// 原图
media
.
path
}
if
(
path
==
""
)
{
...
...
@@ -206,10 +206,10 @@ class PersonalInfoActivity : BaseActivity(), View.OnClickListener {
showLoadingDialog
()
val
listPath
=
listOf
<
String
>(
path
)
//上传到腾讯云
CosUploadUtil
.
getInstance
().
uploadPicture
(
this
,
listPath
,
object
:
CosUploadUtil
.
ImageUpReturnListener
{
override
fun
uploadSuccess
(
picUrls
:
MutableList
<
String
>?)
{
//修改头像
var
map
=
HashMap
<
String
,
Any
?>()
picUrls
?.
let
{
if
(
it
.
size
>
0
){
...
...
app/src/main/java/cn/dankal/client/ui/personal/QueueDetailsActivity.kt
View file @
b66d516c
...
...
@@ -30,12 +30,12 @@ import kotlinx.android.synthetic.main.activity_queue_details.*
import
okhttp3.ResponseBody
/**
*
排队详情
*
대기 자세 한 정보
*/
class
QueueDetailsActivity
:
BaseActivity
()
{
private
var
uuid
:
String
?
=
null
private
var
type
=
"0"
//0,1,2//
三种状态,0排队成功,1排队中,2排队已过号
private
var
type
=
"0"
//0,1,2//
세 가지 상태, 0 줄 서기 성공, 1 줄 서기 중 2 줄 이 지 났 습 니 다.
override
fun
getLayoutId
():
Int
{
return
R
.
layout
.
activity_queue_details
...
...
@@ -43,7 +43,7 @@ class QueueDetailsActivity : BaseActivity() {
private
var
hotelUUID
=
""
private
var
tablesNumber
:
Int
=
0
//
前方等待桌数
private
var
tablesNumber
:
Int
=
0
//
전방 대기 테이블 수
override
fun
initComponents
()
{
addSingleTitleBar
(
getString
(
R
.
string
.
queuing_details
))
...
...
@@ -62,11 +62,11 @@ class QueueDetailsActivity : BaseActivity() {
}
type
=
t
.
is_over_number
when
(
t
.
is_over_number
)
{
"0"
->
{
//
排队中
"0"
->
{
//
줄 서 는 중
tv_state
.
text
=
getString
(
R
.
string
.
in_the_ine
)
btn_cancel
.
setText
(
R
.
string
.
cancel_queuing
)
}
"1"
->
{
//
排队成功
"1"
->
{
//
줄 서기 성공
tv_state
.
text
=
getString
(
R
.
string
.
successful_queuing
)
iv_start_image
.
setImageResource
(
R
.
mipmap
.
ic_home_line_up_success
)
}
...
...
@@ -89,9 +89,9 @@ class QueueDetailsActivity : BaseActivity() {
}
})
//
返回首页
//
홈 페이지 로 되돌아가다
btn_cancel
.
setOnClickListener
{
if
(
type
==
"0"
)
{
//
取消排队
if
(
type
==
"0"
)
{
//
줄 서기 취소
showDialog
(
""
,
getString
(
R
.
string
.
whether_to_cancel_the_queue
),
object
:
DKCallBackBoolean
{
override
fun
action
(
type
:
Int
)
{
RestaurantServiceFactory
.
cancelQueue
(
hotelUUID
).
subscribe
(
object
:
AbstractDialogSubscriber
<
ResponseBody
>(
this
@QueueDetailsActivity
)
{
...
...
@@ -102,21 +102,21 @@ class QueueDetailsActivity : BaseActivity() {
})
}
},
true
,
true
)
}
else
{
//
返回首页
}
else
{
//
홈 페이지 로 되돌아가다
startActivity
(
Intent
(
this
@QueueDetailsActivity
,
HomeActivity
::
class
.
java
))
}
}
//
我要点餐
//
주문 할 게 요.
btn_order
.
setOnClickListener
{
if
(
type
==
"2"
)
{
//
重新排队
if
(
type
==
"2"
)
{
//
다시 줄 서기
val
intent
=
Intent
(
this
@QueueDetailsActivity
,
QueueActivity
::
class
.
java
)
intent
.
putExtra
(
ConstantsRestaurantType
.
UUID
,
hotelUUID
)
startActivity
(
intent
)
}
else
{
//
我要点餐
if
(
tablesNumber
==
0
)
{
//
去扫码
}
else
{
//
주문 할 게 요.
if
(
tablesNumber
==
0
)
{
//
스 캔 을 가다
startActivityForResult
(
Intent
(
this
@QueueDetailsActivity
,
CaptureActivity
::
class
.
java
),
ConstantsHomeType
.
SCAN
)
}
else
{
//
提示,前方桌数等待为0时候才可以点餐
}
else
{
//
안내, 앞 테이블 수 는 0 시 까지 기 다 려 야 주문 할 수 있 습 니 다.
showDialog
(
getString
(
R
.
string
.
waiting_before_ordering
))
}
}
...
...
app/src/main/java/cn/dankal/client/ui/personal/SettingActivity.kt
View file @
b66d516c
...
...
@@ -35,7 +35,7 @@ class SettingActivity : BaseActivity(), CallDialog.OnCenterItemClickListener, Vi
override
fun
onClick
(
v
:
View
?)
{
when
(
v
?.
id
)
{
R
.
id
.
ll_address_manager
->
{
//
跳转到地址管理
R
.
id
.
ll_address_manager
->
{
//
주소 관리 로 가기
var
intent
=
Intent
(
this
@SettingActivity
,
AddressManagerActivity
::
class
.
java
)
intent
.
putExtra
(
"inType"
,
1
)
startActivity
(
intent
)
...
...
@@ -68,10 +68,10 @@ class SettingActivity : BaseActivity(), CallDialog.OnCenterItemClickListener, Vi
R
.
id
.
ll_setting_language
->
{
showBottomDialog
()
}
R
.
id
.
ll_setting_logout
->
{
//
注销账号
R
.
id
.
ll_setting_logout
->
{
//
계 정 탈퇴
startActivity
(
Intent
(
this
@SettingActivity
,
LogoutActivity
::
class
.
java
))
}
R
.
id
.
btn_setting_exit
->
{
//
退出账号
R
.
id
.
btn_setting_exit
->
{
//
계 정 탈퇴
val
builder
=
CommonDialog
.
Builder
(
this
)
builder
.
setTitle
(
getString
(
R
.
string
.
are_you_sure_to_log_out
))
.
setPositiveButton
(
getString
(
R
.
string
.
ok
),
Color
.
parseColor
(
"#141414"
))
{
type
->
...
...
@@ -122,7 +122,7 @@ class SettingActivity : BaseActivity(), CallDialog.OnCenterItemClickListener, Vi
requestPhone
()
//
获取缓存大小并显示
//
캐 시 크기 가 져 오고 표시
try
{
val
totalCacheSize
=
CleanDataUtils
.
getTotalCacheSize
(
this
)
tv_cache
.
text
=
totalCacheSize
...
...
@@ -161,12 +161,6 @@ class SettingActivity : BaseActivity(), CallDialog.OnCenterItemClickListener, Vi
}
}
/**
* 如果是7.0以下,我们需要调用changeAppLanguage方法,
* 如果是7.0及以上系统,直接把我们想要切换的语言类型保存在SharedPreferences中即可
* 然后重新启动MainActivity
* @param language
*/
private
fun
changeLanguage
(
language
:
String
?)
{
//ToastUtils.showLong(getString(R.string.switch_success))
//LanguageUtil.setApplicationLanguage(this, language)
...
...
app/src/main/java/cn/dankal/client/ui/personal/SystemMessageDetailsActivity.kt
View file @
b66d516c
...
...
@@ -22,7 +22,7 @@ class SystemMessageDetailsActivity : BaseActivity() {
tv_message_title
.
text
=
title
tv_message_content
.
text
=
content
//
刷新状态
//
리 셋 상태
UserServiceFactory
.
updateState
(
uuid
).
subscribe
(
object
:
AbstractDialogSubscriber
<
ResponseBody
>(
this
)
{
override
fun
onNext
(
t
:
ResponseBody
)
{
...
...
app/src/main/java/cn/dankal/client/ui/personal/UnCouponFragment.kt
View file @
b66d516c
...
...
@@ -14,8 +14,8 @@ import io.reactivex.disposables.Disposable
import
kotlinx.android.synthetic.main.fragment_select_coupon.*
private
const
val
ARG_PARAM1
=
"param1"
//0
未使用(可用)1,已使用
private
const
val
ARG_PARAM2
=
"param2"
//
0餐馆,1商城
private
const
val
ARG_PARAM1
=
"param1"
//0
미사 용 (사용 가능) 1, 이미 사용
private
const
val
ARG_PARAM2
=
"param2"
//
식당, 쇼핑 몰
class
UnCouponFragment
:
LazyLoadBaseFragment
()
{
...
...
app/src/main/java/cn/dankal/client/ui/personal/order/food/FoodEvaluationActivity.kt
View file @
b66d516c
...
...
@@ -46,12 +46,12 @@ import okhttp3.ResponseBody
import
java.io.Serializable
/**
*
餐馆评价
*
식당 평가
*/
class
FoodEvaluationActivity
:
BaseActivity
(),
GridImageAdapter
.
onAddPicClickListener
,
View
.
OnClickListener
{
private
var
listImage
=
mutableListOf
<
String
>()
//
需要提交的评论图片,上传到腾讯云的图片
private
var
commitListImage
=
mutableListOf
<
String
>()
//
作为参数上传的图片
private
var
listImage
=
mutableListOf
<
String
>()
//
제출 해 야 할 댓 글 사진, 텐 센트 클 라 우 드 에 올 려 주세요.
private
var
commitListImage
=
mutableListOf
<
String
>()
//
매개 변수 로 올 린 이미지
override
fun
onClick
(
v
:
View
?)
{
...
...
@@ -66,7 +66,7 @@ class FoodEvaluationActivity : BaseActivity(), GridImageAdapter.onAddPicClickLis
return
}
if
(
listImage
.
size
==
0
)
{
//
没有选择图片
if
(
listImage
.
size
==
0
)
{
//
그림 선택 안 함
commitListImage
.
clear
()
commitEvaluationData
(
content
,
commitListImage
)
}
else
{
...
...
@@ -86,7 +86,7 @@ class FoodEvaluationActivity : BaseActivity(), GridImageAdapter.onAddPicClickLis
}
/**
*
提交评论数据
*
리 뷰 데이터 제출
*/
private
fun
commitEvaluationData
(
content
:
String
,
picUrls
:
MutableList
<
String
>?)
{
var
evaluationCommitEntity
=
EvaluationCommitEntity
()
...
...
@@ -117,25 +117,25 @@ class FoodEvaluationActivity : BaseActivity(), GridImageAdapter.onAddPicClickLis
override
fun
onAddPicClick
()
{
PictureSelector
.
create
(
this
@FoodEvaluationActivity
)
.
openGallery
(
PictureMimeType
.
ofImage
())
// 全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()、音频.ofAudio()
.
theme
(
themeId
)
// 主题样式设置 具体参考 values/styles 用法:R.style.picture.white.style
.
maxSelectNum
(
6
)
// 最大图片选择数量
.
minSelectNum
(
1
)
// 最小选择数量
.
imageSpanCount
(
4
)
// 每行显示个数
.
selectionMode
(
PictureConfig
.
MULTIPLE
)
// 多选 or 单选
.
previewImage
(
true
)
// 是否可预览图片
.
isCamera
(
true
)
// 是否显示拍照按钮
.
isZoomAnim
(
true
)
// 图片列表点击 缩放效果 默认true
//.imageFormat(PictureMimeType.PNG)
// 拍照保存图片格式后缀,默认jpeg
//.setOutputCameraPath("/CustomPath")
// 自定义拍照保存路径
.
enableCrop
(
false
)
// 是否裁剪
.
compress
(
true
)
// 是否压缩
.
synOrAsy
(
true
)
//同步true或异步false 压缩 默认同步
.
glideOverride
(
160
,
160
)
// glide 加载宽高,越小图片列表越流畅,但会影响列表图片浏览的清晰度
.
freeStyleCropEnabled
(
true
)
// 裁剪框是否可拖拽
.
selectionMedia
(
selectList
)
// 是否传入已选图片
.
minimumCompressSize
(
100
)
// 小于100kb的图片不压缩
.
forResult
(
PictureConfig
.
CHOOSE_REQUEST
)
//结果回调onActivityResult code
.
openGallery
(
PictureMimeType
.
ofImage
())
.
theme
(
themeId
)
.
maxSelectNum
(
6
)
.
minSelectNum
(
1
)
.
imageSpanCount
(
4
)
.
selectionMode
(
PictureConfig
.
MULTIPLE
)
.
previewImage
(
true
)
.
isCamera
(
true
)
.
isZoomAnim
(
true
)
//.imageFormat(PictureMimeType.PNG)
//.setOutputCameraPath("/CustomPath")
.
enableCrop
(
false
)
.
compress
(
true
)
.
synOrAsy
(
true
)
.
glideOverride
(
160
,
160
)
.
freeStyleCropEnabled
(
true
)
.
selectionMedia
(
selectList
)
.
minimumCompressSize
(
100
)
.
forResult
(
PictureConfig
.
CHOOSE_REQUEST
)
}
override
fun
getLayoutId
():
Int
{
...
...
@@ -178,7 +178,7 @@ class FoodEvaluationActivity : BaseActivity(), GridImageAdapter.onAddPicClickLis
}
/**
*
请求数据,获取店铺名字和图片
*
데 이 터 를 요청 하고 가게 이름과 그림 을 가 져 옵 니 다.
*/
private
fun
requestData
()
{
UserServiceFactory
.
orderHotelDetail
(
orderId
).
subscribe
(
object
:
AbstractDialogSubscriber
<
OrderHotelDetail
>(
this
)
{
...
...
@@ -208,7 +208,7 @@ class FoodEvaluationActivity : BaseActivity(), GridImageAdapter.onAddPicClickLis
if
(
data
==
null
)
{
return
}
//
图片选择结果回调
//
이미지 선택 결과 반전
selectList
=
PictureSelector
.
obtainMultipleResult
(
data
)
if
(
selectList
!=
null
)
{
...
...
@@ -222,13 +222,13 @@ class FoodEvaluationActivity : BaseActivity(), GridImageAdapter.onAddPicClickLis
val
media
=
selectList
.
get
(
i
)
var
path
=
""
path
=
if
(
media
.
isCut
&&
!
media
.
isCompressed
)
{
//
裁剪过
//
재단 한 적 이 있다
media
.
cutPath
}
else
if
(
media
.
isCompressed
||
media
.
isCut
&&
media
.
isCompressed
)
{
//
压缩过,或者裁剪同时压缩过,以最终压缩过图片为准
//
압축 한 적 이 있 거나, 재단 과 동시에 압축 한 적 이 있 으 며, 최종 적 으로 그림 을 압축 한 적 이 있 는 것 을 기준 으로 한다.
media
.
compressPath
}
else
{
//
原图
//
원 도
media
.
path
}
if
(
path
==
""
)
{
...
...
app/src/main/java/cn/dankal/client/ui/personal/order/food/FoodOrderActivity.kt
View file @
b66d516c
...
...
@@ -19,10 +19,10 @@ class FoodOrderActivity : BaseActivity() {
addSingleTitleBar
(
getString
(
R
.
string
.
food_order
))
var
dataList
=
ArrayList
<
Fragment
>()
dataList
.
add
(
FoodOrderFragment
.
newInstance
(
"1"
))
//1
-已支付 / 待上餐/ 待发货);
dataList
.
add
(
FoodOrderFragment
.
newInstance
(
"4"
))
//4
-已完成
dataList
.
add
(
FoodOrderFragment
.
newInstance
(
"11"
))
//8
-已取消(退款成功)
dataList
.
add
(
FoodOrderFragment
.
newInstance
(
"2"
))
//2
-售后订单
dataList
.
add
(
FoodOrderFragment
.
newInstance
(
"1"
))
//1
- 지불 / 배 송 대기);
dataList
.
add
(
FoodOrderFragment
.
newInstance
(
"4"
))
//4
- 이미 완성
dataList
.
add
(
FoodOrderFragment
.
newInstance
(
"11"
))
//8
- 취소 (환불 성공)
dataList
.
add
(
FoodOrderFragment
.
newInstance
(
"2"
))
//2
- 애 프 터 주문
var
titles
=
ArrayList
<
String
>()
titles
.
add
(
getString
(
R
.
string
.
paymented
))
...
...
@@ -42,7 +42,7 @@ class FoodOrderActivity : BaseActivity() {
}
override
fun
onTabSelected
(
tab
:
TabLayout
.
Tab
?)
{
tab
?.
let
{
//
默认切换的时候,会有一个过渡动画,设为false后,取消动画,直接显示
//
기본 값 으로 전환 할 때 하나의 과도 애니메이션 이 있 는데 false 로 설정 한 후에 애니메이션 을 취소 하고 바로 표시 합 니 다.
vp_pager
.
setCurrentItem
(
tab
.
position
,
false
)
vp_pager
.
currentItem
=
tab
.
position
}
...
...
app/src/main/java/cn/dankal/client/ui/personal/order/food/OrderDetailsActivity.kt
View file @
b66d516c
...
...
@@ -28,7 +28,7 @@ import java.text.DecimalFormat
class
OrderDetailsActivity
:
BaseActivity
(),
View
.
OnClickListener
,
CallListDialog
.
OnCenterItemClickListener
{
override
fun
OnCenterItemClick
(
dialog
:
CallListDialog
?,
view
:
View
?)
{
when
(
view
?.
id
)
{
R
.
id
.
btn_commit
->
{
//
餐馆申请售后
R
.
id
.
btn_commit
->
{
//
식당 에서 애프터서비스 를 신청 하 다.
var
reason
=
dialog
?.
reason
var
reasonUUID
=
dialog
?.
reasonUUID
if
(
reason
==
""
)
{
...
...
@@ -59,8 +59,8 @@ class OrderDetailsActivity : BaseActivity(), View.OnClickListener, CallListDialo
var
orderHotelDetail
:
OrderHotelDetail
?
=
null
override
fun
onClick
(
v
:
View
?)
{
when
(
v
?.
id
)
{
R
.
id
.
tv_order_again
->
{
//
点击再来一单
//
先删除已有的
R
.
id
.
tv_order_again
->
{
//
클릭 하여 하나 더 추가
//
기 존 것 부터 삭제
val
entities
=
LitePal
.
where
(
"storeUUid=? "
,
mStoreUUID
).
find
(
FoodEntity
::
class
.
java
)
entities
?.
let
{
for
(
i
in
0
until
entities
.
size
)
{
...
...
@@ -68,7 +68,7 @@ class OrderDetailsActivity : BaseActivity(), View.OnClickListener, CallListDialo
foodEntity
.
delete
()
}
}
//
获取当前数据,存储到本地数据库
//
현재 데 이 터 를 가 져 와 로 컬 데이터베이스 에 저장 합 니 다.
orderHotelDetail
?.
let
{
for
(
i
in
0
until
it
.
orders_goods_list
.
size
)
{
var
shopBean
=
it
.
orders_goods_list
.
get
(
i
)
...
...
@@ -98,10 +98,10 @@ class OrderDetailsActivity : BaseActivity(), View.OnClickListener, CallListDialo
startActivity
(
Intent
(
this
@OrderDetailsActivity
,
FoodEvaluationActivity
::
class
.
java
).
putExtra
(
"order_id"
,
uuid
))
setResetAllButton
()
}
R
.
id
.
tv_order_appeal
->
{
//
申请售后
R
.
id
.
tv_order_appeal
->
{
//
A / S 를 신청 하 다
listDialog
?.
show
()
}
R
.
id
.
tv_order_cancel_apply
->
{
//
取消申诉
R
.
id
.
tv_order_cancel_apply
->
{
//
신 고 를 취소 하 다.
showDialog
(
""
,
getString
(
R
.
string
.
is_cancel_apply
),
object
:
DKCallBackBoolean
{
override
fun
action
(
type
:
Int
)
{
var
map
=
HashMap
<
String
,
Any
?>()
...
...
@@ -202,7 +202,7 @@ class OrderDetailsActivity : BaseActivity(), View.OnClickListener, CallListDialo
showRefund
(
orders_after_sale_vo
)
}
3
->
getString
(
R
.
string
.
to_be_received
)
4
->
{
//
以上餐
4
->
{
//
이상 의 식사
tv_order_again
.
visibility
=
View
.
VISIBLE
appealButtonStatus
(
pay_type
,
is_after_sale
)
}
...
...
@@ -245,24 +245,24 @@ class OrderDetailsActivity : BaseActivity(), View.OnClickListener, CallListDialo
tv_details_restaurant_name
.
text
=
hotel_name
if
(!(
order_status
==
11
||
order_status
==
12
||
order_status
==
2
))
{
if
(
is_comment
==
0
)
{
//
未评论
if
(
is_comment
==
0
)
{
//
미 평론
tv_order_evaluation
.
visibility
=
View
.
VISIBLE
}
else
{
//
已评论
}
else
{
//
이미 평론 하 다.
tv_order_evaluation
.
visibility
=
View
.
GONE
}
}
payType
=
pay_type
if
(
pay_type
==
2
)
{
//
邮票支付
if
(
pay_type
==
2
)
{
//
우표 지불
tv_details_restaurant_total_price
.
text
=
UIUtile
.
stringToStamp
(
should_pay_price
)
tv_details_restaurant_actual_price
.
text
=
UIUtile
.
stringToStamp
(
real_pay_price
)
//
隐藏优惠券抵扣
//
쿠폰 할인 숨 기기
ll_coupon
.
visibility
=
View
.
GONE
}
else
{
tv_details_restaurant_total_price
.
text
=
UIUtile
.
stringToPrice
(
should_pay_price
)
tv_details_restaurant_actual_price
.
text
=
UIUtile
.
stringToPrice
(
real_pay_price
)
//
优惠券抵扣
//
쿠폰 할인
tv_details_restaurant_deduction_price
.
text
=
"-"
+
UIUtile
.
stringToPrice
(
coupon_price
)
}
}
...
...
@@ -272,7 +272,7 @@ class OrderDetailsActivity : BaseActivity(), View.OnClickListener, CallListDialo
private
fun
appealButtonStatus
(
payType
:
Int
,
is_after_sale
:
Int
)
{
val
currentTime
=
System
.
currentTimeMillis
()
if
(!
UIUtile
.
isBeyond
(
currentTime
,
createTime
))
{
//
超过的二十四小时,不显示订单申诉
if
(!
UIUtile
.
isBeyond
(
currentTime
,
createTime
))
{
//
24 시간 이 넘 으 면, 주문 신고 가 표시 되 지 않 는 다.
if
(
payType
!=
2
)
{
if
(
is_after_sale
==
0
)
{
tv_order_appeal
.
visibility
=
View
.
VISIBLE
...
...
@@ -287,7 +287,7 @@ class OrderDetailsActivity : BaseActivity(), View.OnClickListener, CallListDialo
/**
*
重置所有按钮状态
*
모든 버튼 상태 초기 화
*/
private
fun
setResetAllButton
()
{
tv_order_again
.
visibility
=
View
.
GONE
...
...
@@ -306,7 +306,7 @@ class OrderDetailsActivity : BaseActivity(), View.OnClickListener, CallListDialo
tv_apply_time
.
text
=
it
.
create_time
tv_reason
.
text
=
it
.
refund_reason
if
(
payType
==
2
)
{
//
邮票支付
if
(
payType
==
2
)
{
//
우표 지불
tv_money
.
text
=
UIUtile
.
stringToStamp
(
it
.
refund_price
)
}
else
{
tv_money
.
text
=
UIUtile
.
stringToPrice
(
it
.
refund_price
)
...
...
app/src/main/java/cn/dankal/client/ui/personal/order/food/Test.java
deleted
100644 → 0
View file @
a7798ca2
package
cn
.
dankal
.
client
.
ui
.
personal
.
order
.
food
;
import
java.text.DecimalFormat
;
/**
* Created by zhengpeng on 2019/9/24.
*/
public
class
Test
{
public
static
void
main
(
String
[]
args
)
{
Double
s
=
Double
.
valueOf
(
new
DecimalFormat
(
"#"
).
format
(
Double
.
valueOf
(
10.0
)));
System
.
out
.
println
(
"输出值->"
+
s
);
}
}
app/src/main/java/cn/dankal/client/ui/personal/order/mall/AfterSaleInfoActivity.kt
View file @
b66d516c
...
...
@@ -37,12 +37,12 @@ class AfterSaleInfoActivity : BaseActivity(), View.OnClickListener {
return
}
when
(
v
?.
id
)
{
R
.
id
.
ll_consult
->
{
//
协商历史
R
.
id
.
ll_consult
->
{
//
역사 협상
startActivity
(
Intent
(
this
@AfterSaleInfoActivity
,
LogisticsActivity
::
class
.
java
)
.
putExtra
(
"after_sale_uuid"
,
afterSaleUuid
)
.
putExtra
(
"cause"
,
refundReason
))
}
R
.
id
.
tv_btn_cancel
->
{
//
撤销申请
R
.
id
.
tv_btn_cancel
->
{
//
신청 을 취소 하 다
showDialogStateOne
(
getString
(
R
.
string
.
do_you_want_to_cancel_the_refund_application
),
{
UserServiceFactory
.
orderAfterSaleRepeal
(
afterSaleUuid
,
orderUuid
).
subscribe
(
object
:
AbstractDialogSubscriber
<
ResponseBody
>(
this
@AfterSaleInfoActivity
)
{
override
fun
onNext
(
t
:
ResponseBody
)
{
...
...
@@ -57,7 +57,7 @@ class AfterSaleInfoActivity : BaseActivity(), View.OnClickListener {
it
.
dismiss
()
}
//
发送消息,刷新售后列表
//
소식 발송, 애 프 터 리스트 리 셋
EventBus
.
getDefault
().
post
(
UpdateSaleAfterEvent
())
startActivity
(
Intent
(
this
@AfterSaleInfoActivity
,
AfterSaleInfoActivity
::
class
.
java
).
putExtra
(
"after_sale_uuid"
,
afterSaleUuid
))
finish
()
...
...
@@ -70,17 +70,17 @@ class AfterSaleInfoActivity : BaseActivity(), View.OnClickListener {
})
},
true
)
}
R
.
id
.
tv_btn_update
->
{
//
修改申请
R
.
id
.
tv_btn_update
->
{
//
신청 을 수정 하 다
val
intent
=
Intent
(
this
@AfterSaleInfoActivity
,
ApplyAfterSaleTowActivity
::
class
.
java
)
val
bundle
=
Bundle
()
bundle
.
putString
(
"after_sale_uuid"
,
afterSaleUuid
)
bundle
.
putInt
(
"type"
,
1
)
bundle
.
putSerializable
(
"entity"
,
entity
)
intent
.
putExtras
(
bundle
)
startActivity
(
intent
)
//
修改
startActivity
(
intent
)
//
고치다.
finish
()
}
R
.
id
.
tv_btn_service
->
{
//
联系客服
R
.
id
.
tv_btn_service
->
{
//
고객 지원 을 연락 하 다.
showDialogStateOne
(
getString
(
R
.
string
.
whether_to_dial
)
+
"\n"
+
phone
,
{
UserServiceFactory
.
orderAfterSaleRepeal
(
afterSaleUuid
,
orderUuid
).
subscribe
(
object
:
AbstractDialogSubscriber
<
ResponseBody
>(
this
@AfterSaleInfoActivity
)
{
override
fun
onNext
(
t
:
ResponseBody
)
{
...
...
@@ -128,7 +128,7 @@ class AfterSaleInfoActivity : BaseActivity(), View.OnClickListener {
}
/**
*
请求售后详情
*
A / S 요청 상세
*/
private
fun
requestData
()
{
var
map
=
HashMap
<
String
,
Any
?>()
...
...
@@ -138,7 +138,7 @@ class AfterSaleInfoActivity : BaseActivity(), View.OnClickListener {
entity
=
t
t
.
let
{
when
(
t
.
refund_status
)
{
0
->
{
//
待审核
0
->
{
//
심 사 를 기다리다
tv_tip_text_one
.
visibility
=
View
.
VISIBLE
tv_tip_title
.
visibility
=
View
.
VISIBLE
...
...
@@ -150,15 +150,15 @@ class AfterSaleInfoActivity : BaseActivity(), View.OnClickListener {
tv_tip_title
.
text
=
getString
(
R
.
string
.
you_have_successfully_initiated_a_refund_applicatiplease_be_patient_and_wait_for_the_merchant_to_process_it
)
tv_tip_text_one
.
text
=
getString
(
R
.
string
.
tip_merchant_refuses
)
//
处理倒计时
val
total
:
kotlin
.
Long
=
60
*
60
*
24
*
7
//
总时间3天
//
처리 초읽기
val
total
:
kotlin
.
Long
=
60
*
60
*
24
*
7
//
총 3 일
val
createTime
=
UIUtile
.
dateToStamp
(
it
.
create_time
)
/
1000
//
获取创建时间的时间戳
val
showTime
=
System
.
currentTimeMillis
()
/
1000
-
createTime
//
得到时间差值
val
createTime
=
UIUtile
.
dateToStamp
(
it
.
create_time
)
/
1000
//
생 성 시간의 스탬프 가 져 오기
val
showTime
=
System
.
currentTimeMillis
()
/
1000
-
createTime
//
시간 차 를 얻다
if
(
showTime
<
total
+
1
)
{
val
countDown
=
total
-
showTime
//
倒计时显示
//
카운트다운 표시
flowable
=
Flowable
.
intervalRange
(
1
,
countDown
,
0
,
1
,
TimeUnit
.
SECONDS
)
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doOnNext
{
aLong
->
...
...
@@ -172,7 +172,7 @@ class AfterSaleInfoActivity : BaseActivity(), View.OnClickListener {
tv_remaining_time
.
text
=
getString
(
R
.
string
.
left
)
+
0
+
getString
(
R
.
string
.
day
)
+
0
+
getString
(
R
.
string
.
hour
)
+
0
+
getString
(
R
.
string
.
branch
)
+
0
+
getString
(
R
.
string
.
second
)
+
getString
(
R
.
string
.
merchant_does_not_process
)
}
}
1
->
{
//
审核通过
1
->
{
//
심사 에 통과 하 다
tv_tip_text_one
.
visibility
=
View
.
VISIBLE
tv_tip_text_tow
.
visibility
=
View
.
VISIBLE
...
...
@@ -185,7 +185,7 @@ class AfterSaleInfoActivity : BaseActivity(), View.OnClickListener {
tv_tip_text_one
.
text
=
getString
(
R
.
string
.
your_refund_application_has_been_successful
)
tv_tip_text_tow
.
text
=
getString
(
R
.
string
.
please_wait_for_business_refund_to_return_to_your_account
)
}
2
->
{
//
审核拒绝
2
->
{
//
심사 하여 거절 하 다.
tv_tip_text_one
.
visibility
=
View
.
VISIBLE
tv_tip_title
.
visibility
=
View
.
VISIBLE
...
...
@@ -194,7 +194,7 @@ class AfterSaleInfoActivity : BaseActivity(), View.OnClickListener {
tv_tip_title
.
text
=
getString
(
R
.
string
.
your_refund_application_has_not_been_approved_and_the_refund_has_been_closed
)
tv_tip_text_one
.
text
=
getString
(
R
.
string
.
your_application_is_not_in_conformity_with_the_actual_situation
)
}
3
->
{
//
撤销申请
3
->
{
//
신청 을 취소 하 다
tv_tip_title
.
visibility
=
View
.
VISIBLE
tv_after_close
.
visibility
=
View
.
VISIBLE
ll_refund_information
.
visibility
=
View
.
VISIBLE
...
...
app/src/main/java/cn/dankal/client/ui/personal/order/mall/ApplyAfterSaleActivity.kt
View file @
b66d516c
...
...
@@ -18,11 +18,11 @@ class ApplyAfterSaleActivity : BaseActivity(), View.OnClickListener {
override
fun
onClick
(
v
:
View
?)
{
when
(
v
?.
id
)
{
R
.
id
.
cl_only_one
->
{
//
仅退款
R
.
id
.
cl_only_one
->
{
//
환불 만 가능
orderStatus
=
6
toPage
()
}
R
.
id
.
cl_only_tow
->
{
//
退货退款
R
.
id
.
cl_only_tow
->
{
//
반품 환불
orderStatus
=
7
toPage
()
}
...
...
app/src/main/java/cn/dankal/client/ui/personal/order/mall/ApplyAfterSaleTowActivity.kt
View file @
b66d516c
...
...
@@ -35,9 +35,9 @@ class ApplyAfterSaleTowActivity : BaseActivity(), GridImageAdapter.onAddPicClick
private
var
reason
:
String
?
=
""
private
var
reasonUUID
:
String
?
=
""
var
afterSaleUuid
:
String
=
""
//
售后
id
var
afterSaleUuid
:
String
=
""
//
애 프 터
id
private
val
listImage
=
mutableListOf
<
String
>()
//
上传到腾讯云的图片
private
val
listImage
=
mutableListOf
<
String
>()
//
텐 센트 클 라 우 드 에 올 린 사진 입 니 다.
private
val
commitListImage
=
mutableListOf
<
String
>()
override
fun
OnCenterItemClick
(
dialog
:
CallListDialog
?,
view
:
View
?)
{
...
...
@@ -71,12 +71,12 @@ class ApplyAfterSaleTowActivity : BaseActivity(), GridImageAdapter.onAddPicClick
return
}
if
(
listImage
.
size
==
0
)
{
//
只上传内容
if
(
listImage
.
size
==
0
)
{
//
내용 만 올 리 기
commitListImage
.
clear
()
commitRequest
(
commitListImage
)
}
else
{
showLoadingDialog
()
//
上传图片到腾讯云
//
텐 센트 클 라 우 드 에 사진 올 리 기
CosUploadUtil
.
getInstance
().
uploadPicture
(
this
,
listImage
,
object
:
CosUploadUtil
.
ImageUpReturnListener
{
override
fun
uploadSuccess
(
picUrls
:
MutableList
<
String
>?)
{
commitRequest
(
picUrls
)
...
...
@@ -99,7 +99,7 @@ class ApplyAfterSaleTowActivity : BaseActivity(), GridImageAdapter.onAddPicClick
val
afterCause
=
et_after_cause
.
text
.
toString
()
//
申请售后
//
A / S 를 신청 하 다
var
map
=
HashMap
<
String
,
Any
?>()
map
[
"img_list"
]
=
picUrls
map
[
"order_goods_uuid"
]
=
it
.
uuid
...
...
@@ -150,31 +150,31 @@ class ApplyAfterSaleTowActivity : BaseActivity(), GridImageAdapter.onAddPicClick
private
var
listDialog
:
CallListDialog
?
=
null
//订单售后理由
override
fun
onAddPicClick
()
{
// 进入相册 以下是例子:不需要的api可以不写
PictureSelector
.
create
(
this
@ApplyAfterSaleTowActivity
)
.
openGallery
(
PictureMimeType
.
ofImage
())
// 全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()、音频.ofAudio()
.
theme
(
themeId
)
// 主题样式设置 具体参考 values/styles 用法:R.style.picture.white.style
.
maxSelectNum
(
4
)
// 最大图片选择数量
.
minSelectNum
(
1
)
// 最小选择数量
.
imageSpanCount
(
4
)
// 每行显示个数
.
selectionMode
(
PictureConfig
.
MULTIPLE
)
// 多选 or 单选
.
previewImage
(
true
)
// 是否可预览图片
.
isCamera
(
true
)
// 是否显示拍照按钮
.
isZoomAnim
(
true
)
// 图片列表点击 缩放效果 默认true
.
enableCrop
(
false
)
// 是否裁剪
.
compress
(
true
)
// 是否压缩
.
synOrAsy
(
true
)
//同步true或异步false 压缩 默认同步
.
glideOverride
(
160
,
160
)
// glide 加载宽高,越小图片列表越流畅,但会影响列表图片浏览的清晰度
// .isGif(cb_isGif.isChecked())
// 是否显示gif图片
.
freeStyleCropEnabled
(
true
)
// 裁剪框是否可拖拽
.
selectionMedia
(
selectList
)
// 是否传入已选图片
.
minimumCompressSize
(
100
)
// 小于100kb的图片不压缩
.
forResult
(
PictureConfig
.
CHOOSE_REQUEST
)
//结果回调onActivityResult code
.
openGallery
(
PictureMimeType
.
ofImage
())
.
theme
(
themeId
)
.
maxSelectNum
(
4
)
.
minSelectNum
(
1
)
.
imageSpanCount
(
4
)
.
selectionMode
(
PictureConfig
.
MULTIPLE
)
.
previewImage
(
true
)
.
isCamera
(
true
)
.
isZoomAnim
(
true
)
.
enableCrop
(
false
)
.
compress
(
true
)
.
synOrAsy
(
true
)
.
glideOverride
(
160
,
160
)
// .isGif(cb_isGif.isChecked())
.
freeStyleCropEnabled
(
true
)
.
selectionMedia
(
selectList
)
.
minimumCompressSize
(
100
)
.
forResult
(
PictureConfig
.
CHOOSE_REQUEST
)
}
private
var
selectList
:
List
<
LocalMedia
>
=
ArrayList
<
LocalMedia
>()
private
var
type
=
0
//
判断类型,0,提交售后 1、申请售后
private
var
type
=
0
//
판단 유형, 0, 제출 애 프 터 1, 신청 애 프 터
override
fun
getLayoutId
():
Int
{
return
R
.
layout
.
activity_apply_after_sale_tow
...
...
@@ -203,14 +203,14 @@ class ApplyAfterSaleTowActivity : BaseActivity(), GridImageAdapter.onAddPicClick
val
mediaType
=
PictureMimeType
.
pictureToVideo
(
pictureType
)
when
(
mediaType
)
{
1
->
//
预览图片 可自定长按保存路径
//
미리 보기 그림 은 저장 경로 에 따라 자동 으로 길 게 설정 할 수 있 습 니 다.
//PictureSelector.create(MainActivity.this).themeStyle(themeId).externalPicturePreview(position, "/custom_file", selectList);
PictureSelector
.
create
(
this
@ApplyAfterSaleTowActivity
).
themeStyle
(
themeId
).
openExternalPreview
(
position
,
selectList
)
2
->
//
预览视频
//
영상 미리 보기
PictureSelector
.
create
(
this
@ApplyAfterSaleTowActivity
).
externalPictureVideo
(
media
.
getPath
())
3
->
//
预览音频
//
오디 오 미리 보기
PictureSelector
.
create
(
this
@ApplyAfterSaleTowActivity
).
externalPictureAudio
(
media
.
getPath
())
}
}
...
...
@@ -218,14 +218,11 @@ class ApplyAfterSaleTowActivity : BaseActivity(), GridImageAdapter.onAddPicClick
}
}
/**
* 初始化数据
*/
private
fun
initData
()
{
var
bundle
=
intent
.
extras
type
=
bundle
.
getInt
(
"type"
)
if
(
type
==
0
)
{
//
提交售后
if
(
type
==
0
)
{
//
애프터서비스 를 제출 하 다.
entity
=
bundle
.
getSerializable
(
"shop"
)
as
MallOrderDetailEntity
.
OrdersGoodsListBean
?
storeName
=
bundle
.
getString
(
"store_name"
)
orderStatus
=
bundle
.
getInt
(
"orderStatus"
)
...
...
@@ -245,7 +242,7 @@ class ApplyAfterSaleTowActivity : BaseActivity(), GridImageAdapter.onAddPicClick
tv_shop_refund_money
.
text
=
UIUtile
.
stringToPriceTow
(
it
.
real_price
)
tv_shop_refund_more_money
.
text
=
UIUtile
.
stringToPrice
(
it
.
real_price
)
}
}
else
{
//
修改售后
}
else
{
//
애프터서비스 를 수정 하 다.
afterSaleUuid
=
bundle
.
getString
(
"after_sale_uuid"
,
""
)
var
afterInfoEntity
:
AfterInfoEntity
=
bundle
.
getSerializable
(
"entity"
)
as
AfterInfoEntity
afterInfoEntity
?.
let
{
...
...
@@ -273,7 +270,7 @@ class ApplyAfterSaleTowActivity : BaseActivity(), GridImageAdapter.onAddPicClick
if
(
data
==
null
)
{
return
}
//
图片选择结果回调
//
이미지 선택 결과 반전
selectList
=
PictureSelector
.
obtainMultipleResult
(
data
)
if
(
selectList
!=
null
&&
selectList
.
isNotEmpty
())
{
tv_img_count
.
text
=
"${selectList.size}/4"
...
...
@@ -283,13 +280,13 @@ class ApplyAfterSaleTowActivity : BaseActivity(), GridImageAdapter.onAddPicClick
for
(
media
in
selectList
)
{
var
path
=
""
path
=
if
(
media
.
isCut
&&
!
media
.
isCompressed
)
{
// 裁剪过
media
.
cutPath
}
else
if
(
media
.
isCompressed
||
media
.
isCut
&&
media
.
isCompressed
)
{
// 压缩过,或者裁剪同时压缩过,以最终压缩过图片为准
media
.
compressPath
}
else
{
// 原图
media
.
path
}
if
(
path
==
""
)
{
...
...
app/src/main/java/cn/dankal/client/ui/personal/order/mall/EvaluationActivity.kt
View file @
b66d516c
...
...
@@ -47,16 +47,16 @@ class EvaluationActivity : BaseActivity() {
var
listData
=
it
.
selectResult
//
循环遍历获取所有的图片
//
모든 그림 을 반복 해서 가 져 옵 니 다.
val
listAllImage
=
mutableListOf
<
String
>()
uploadImage
.
forEach
{
it
->
listAllImage
.
addAll
(
it
.
value
)
}
if
(
listAllImage
.
size
==
0
)
{
//
用户并没有选择图片
if
(
listAllImage
.
size
==
0
)
{
//
사용자 가 그림 을 선택 하지 않 았 습 니 다
UserServiceFactory
.
userComment
(
listData
).
subscribe
(
object
:
AbstractDialogSubscriber
<
ResponseBody
>(
this
@EvaluationActivity
)
{
override
fun
onNext
(
t
:
ResponseBody
)
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
successful_comments
))
//
跳转到评价成功结果页
//
평가 성공 결과 쪽으로 가기
val
intent
=
Intent
(
this
@EvaluationActivity
,
MallPayResultActivity
::
class
.
java
)
var
bundle
=
Bundle
()
bundle
.
putInt
(
"type"
,
3
)
...
...
@@ -67,7 +67,7 @@ class EvaluationActivity : BaseActivity() {
ActivityManager
.
getInstance
().
finishIndexActivity
(
2
)
}
})
}
else
{
//
有图片
}
else
{
//
그림 이 있어 요.
showLoadingDialog
()
CosUploadUtil
.
getInstance
().
uploadPicture
(
this
,
listAllImage
,
object
:
CosUploadUtil
.
ImageUpReturnListener
{
override
fun
uploadSuccess
(
picUrls
:
MutableList
<
String
>?)
{
...
...
@@ -91,7 +91,7 @@ class EvaluationActivity : BaseActivity() {
UserServiceFactory
.
userComment
(
listData
).
subscribe
(
object
:
AbstractDialogSubscriber
<
ResponseBody
>(
this
@EvaluationActivity
)
{
override
fun
onNext
(
t
:
ResponseBody
)
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
successful_comments
))
//
跳转到评价成功结果页
//
평가 성공 결과 쪽으로 가기
val
intent
=
Intent
(
this
@EvaluationActivity
,
MallPayResultActivity
::
class
.
java
)
var
bundle
=
Bundle
()
bundle
.
putInt
(
"type"
,
3
)
...
...
@@ -133,7 +133,7 @@ class EvaluationActivity : BaseActivity() {
if
(
data
==
null
)
{
return
}
//
图片选择结果回调
//
이미지 선택 결과 반전
selectList
=
PictureSelector
.
obtainMultipleResult
(
data
)
adapter
?.
let
{
it
.
setList
(
it
.
mPosition
,
selectList
)
...
...
app/src/main/java/cn/dankal/client/ui/personal/order/mall/ExpressActivity.java
View file @
b66d516c
...
...
@@ -49,7 +49,7 @@ public class ExpressActivity extends BaseActivity {
initView
();
addSingleTitleBar
(
getString
(
R
.
string
.
logistics_details
));
//
请求物流key
//
물류 키 요청
requestLogistic
();
//sendByOKHttp();
}
...
...
@@ -75,7 +75,7 @@ public class ExpressActivity extends BaseActivity {
});
}
//
开始请求数据
//
시작 요청 데이터
private
void
requestData
(
String
logistics
)
{
Bundle
bundle
=
getIntent
().
getExtras
();
...
...
app/src/main/java/cn/dankal/client/ui/personal/order/mall/LeaveMessageActivity.kt
View file @
b66d516c
...
...
@@ -63,7 +63,7 @@ class LeaveMessageActivity : BaseActivity(), OnRefreshLoadMoreListener {
map
[
"orderUuid"
]
=
uuid
map
[
"pageSize"
]
=
10
requestLeaveNotesList
()
//
初始化数据
requestLeaveNotesList
()
//
데 이 터 를 초기 화 하 다.
adapter
=
LeaveMessageAdapter
(
this
,
R
.
layout
.
item_leave_message
,
mData
)
rv_leave_message
.
layoutManager
=
LinearLayoutManager
(
this
)
...
...
@@ -114,7 +114,7 @@ class LeaveMessageActivity : BaseActivity(), OnRefreshLoadMoreListener {
}
/**
*
提交留言
*
메 시 지 를 남기다
*/
private
fun
commitLeave
(
content
:
String
)
{
var
parameter
=
HashMap
<
String
,
Any
?>()
...
...
@@ -132,7 +132,7 @@ class LeaveMessageActivity : BaseActivity(), OnRefreshLoadMoreListener {
}
/**
*
请求留言记录
*
메모 요청
*/
private
fun
requestLeaveNotesList
()
{
map
[
"pageIndex"
]
=
page
...
...
@@ -158,7 +158,7 @@ class LeaveMessageActivity : BaseActivity(), OnRefreshLoadMoreListener {
}
/**
*
关闭软键盘
*
소프트 키 패드 닫 기
*
* @param mEditText输入框
* @param mContext上下文
...
...
app/src/main/java/cn/dankal/client/ui/personal/order/mall/LogisticsActivity.kt
View file @
b66d516c
...
...
@@ -10,7 +10,7 @@ import cn.dankal.client.adapter.shop.LogisticsAdapter
import
kotlinx.android.synthetic.main.activity_logistics.*
/**
*
协商历史
*
역사 협상
*/
class
LogisticsActivity
:
BaseActivity
()
{
override
fun
getLayoutId
():
Int
{
...
...
app/src/main/java/cn/dankal/client/ui/personal/order/mall/MallOrderActivity.kt
View file @
b66d516c
...
...
@@ -45,7 +45,7 @@ class MallOrderActivity : BaseActivity() {
}
override
fun
onTabSelected
(
tab
:
TabLayout
.
Tab
?)
{
tab
?.
let
{
//
默认切换的时候,会有一个过渡动画,设为false后,取消动画,直接显示
//
기본 값 으로 전환 할 때 하나의 과도 애니메이션 이 있 는데 false 로 설정 한 후에 애니메이션 을 취소 하고 바로 표시 합 니 다.
vp_pager
.
setCurrentItem
(
tab
.
position
,
false
)
vp_pager
.
currentItem
=
tab
.
position
}
...
...
app/src/main/java/cn/dankal/client/ui/personal/order/mall/MallOrderDetailsActivity.kt
View file @
b66d516c
...
...
@@ -38,7 +38,7 @@ import kotlinx.android.synthetic.main.activity_mall_order_details.*
import
okhttp3.ResponseBody
/**
*
待发货、卖家已发货,待收货
*
배 송 대기, 판매자 가 이미 화물 을 발송 하여 수령 대기
*/
class
MallOrderDetailsActivity
:
BaseActivity
(),
View
.
OnClickListener
,
CallDialog
.
OnCenterItemClickListener
,
CallListDialog
.
OnCenterItemClickListener
,
...
...
@@ -56,7 +56,7 @@ class MallOrderDetailsActivity : BaseActivity(), View.OnClickListener, CallDialo
private
var
isLogisticsInfo
=
true
/**
*
列表对话框
*
목록 대화 상자
*/
override
fun
OnCenterItemClick
(
dialog
:
CallListDialog
?,
view
:
View
?)
{
when
(
view
?.
id
)
{
...
...
@@ -66,7 +66,7 @@ class MallOrderDetailsActivity : BaseActivity(), View.OnClickListener, CallDialo
if
(
reason
==
""
)
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
please_choose_the_reason_for_canceling_the_order
))
return
}
else
{
//
取消商城订单
}
else
{
//
상점 주문 취소
var
map
=
HashMap
<
String
,
Any
?>()
map
[
"order_uuid"
]
=
orderUUid
map
[
"reason"
]
=
reasonUUID
...
...
@@ -74,7 +74,7 @@ class MallOrderDetailsActivity : BaseActivity(), View.OnClickListener, CallDialo
override
fun
onNext
(
t
:
ResponseBody
)
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
cancellation_successful
))
finish
()
//
刷新状态
//
리 셋 상태
startActivity
(
Intent
(
this
@MallOrderDetailsActivity
,
MallOrderDetailsCancelActivity
::
class
.
java
).
putExtra
(
ConstantsRestaurantType
.
UUID
,
orderUUid
))
}
})
...
...
app/src/main/java/cn/dankal/client/ui/personal/order/mall/MallOrderDetailsCancelActivity.kt
View file @
b66d516c
...
...
@@ -13,7 +13,7 @@ import cn.dankal.client.util.UIUtile
import
kotlinx.android.synthetic.main.activity_mall_order_cancel_details.*
/**
*
待发货、卖家已发货
*
출하 대기, 판매자 이미 발송
*/
class
MallOrderDetailsCancelActivity
:
BaseActivity
()
{
private
var
uuid
:
String
?
=
null
...
...
@@ -41,7 +41,7 @@ class MallOrderDetailsCancelActivity : BaseActivity() {
/**
*
请求数据
*
요청 데이터
*/
private
fun
requestPageData
()
{
UserServiceFactory
.
orderStoreDetail
(
uuid
).
subscribe
(
object
:
AbstractDialogSubscriber
<
MallOrderDetailEntity
>(
this
)
{
...
...
@@ -65,7 +65,7 @@ class MallOrderDetailsCancelActivity : BaseActivity() {
else
->
""
}
if
(
order_status
==
5
)
{
//
已取消,显示取消原因
if
(
order_status
==
5
)
{
//
취소, 취소 원인 표시
ll_cause
.
visibility
=
View
.
VISIBLE
tv_order_cancel_cause
.
text
=
cancel_reason
}
else
{
...
...
app/src/main/java/cn/dankal/client/ui/personal/order/mall/MallOrderDetailsCompleteActivity.kt
View file @
b66d516c
...
...
@@ -21,7 +21,7 @@ import kotlinx.android.synthetic.main.activity_mall_order_complete_details.*
/**
*
交易完成
*
거래 가 끝나다
*/
class
MallOrderDetailsCompleteActivity
:
BaseActivity
(),
View
.
OnClickListener
,
LogisticsDialog
.
OnCenterItemClickListener
{
...
...
@@ -48,14 +48,14 @@ class MallOrderDetailsCompleteActivity : BaseActivity(), View.OnClickListener, L
override
fun
onClick
(
v
:
View
?)
{
when
(
v
?.
id
)
{
R
.
id
.
tv_evaluation
->
{
//
评价
R
.
id
.
tv_evaluation
->
{
//
평가 하 다.
var
intent
=
Intent
(
this
@MallOrderDetailsCompleteActivity
,
EvaluationActivity
::
class
.
java
)
var
bundle
=
Bundle
()
bundle
.
putSerializable
(
"shop_list"
,
shopOrderEntity
)
intent
.
putExtras
(
bundle
)
startActivity
(
intent
)
}
R
.
id
.
ll_mall_logistics
->
{
//
物流
R
.
id
.
ll_mall_logistics
->
{
//
물류
if
(
isLogisticsInfo
)
{
val
bundle
=
Bundle
()
bundle
.
putString
(
ExpressActivity
.
LOGISTICS_NAME
,
mLogisticsName
)
...
...
@@ -66,7 +66,7 @@ class MallOrderDetailsCompleteActivity : BaseActivity(), View.OnClickListener, L
ToastUtils
.
showShort
(
getString
(
R
.
string
.
no_logistics_information_yet
))
}
}
R
.
id
.
tv_see_evaluation
->
{
//
查看评论
R
.
id
.
tv_see_evaluation
->
{
//
댓 글 을 보다
startActivity
(
Intent
(
this
,
MallEvaluateDetailsActivity
::
class
.
java
)
.
putExtra
(
ConstantsShopType
.
GOODS_UUID
,
uuid
))
}
...
...
@@ -94,7 +94,7 @@ class MallOrderDetailsCompleteActivity : BaseActivity(), View.OnClickListener, L
/**
*
请求数据
*
요청 데이터
*/
private
fun
requestPageData
()
{
UserServiceFactory
.
orderStoreDetail
(
uuid
).
subscribe
(
object
:
AbstractDialogSubscriber
<
MallOrderDetailEntity
>(
this
)
{
...
...
@@ -124,9 +124,9 @@ class MallOrderDetailsCompleteActivity : BaseActivity(), View.OnClickListener, L
mLogisticsName
=
if
(
logistics_name
!=
null
)
logistics_name
else
""
mLogisticsCode
=
if
(
logistics_code
!=
null
)
logistics_code
else
""
if
(
is_comment
==
0
)
{
//
未评价显示评价按钮
if
(
is_comment
==
0
)
{
//
평가 없 음 평가 버튼
tv_evaluation
.
visibility
=
View
.
VISIBLE
}
else
{
//
显示查看评价按钮
}
else
{
//
보기 평가 버튼 보이 기
tv_see_evaluation
.
visibility
=
View
.
VISIBLE
}
...
...
app/src/main/java/cn/dankal/client/ui/personal/order/mall/MallOrderDetailsPayActivity.kt
View file @
b66d516c
...
...
@@ -34,7 +34,7 @@ import java.util.*
import
java.util.concurrent.TimeUnit
/**
*
待支付
*
미 지급
*/
class
MallOrderDetailsPayActivity
:
BaseActivity
(),
View
.
OnClickListener
,
CallListDialog
.
OnCenterItemClickListener
{
...
...
@@ -45,7 +45,7 @@ class MallOrderDetailsPayActivity : BaseActivity(), View.OnClickListener, CallLi
if
(
reason
==
""
)
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
please_choose_the_reason_for_canceling_the_order
))
return
}
else
{
//
取消商城订单
}
else
{
//
상점 주문 취소
var
map
=
HashMap
<
String
,
Any
?>()
map
[
"order_uuid"
]
=
uuid
map
[
"reason"
]
=
reason
...
...
@@ -69,7 +69,7 @@ class MallOrderDetailsPayActivity : BaseActivity(), View.OnClickListener, CallLi
private
var
mDisposable
:
Disposable
?
=
null
private
var
listDialog
:
CallListDialog
?
=
null
//
选择取消理由
private
var
listDialog
:
CallListDialog
?
=
null
//
취소 사유 선택
var
mListData
=
mutableListOf
<
MallOrderDetailEntity
.
OrdersGoodsListBean
>()
...
...
@@ -77,13 +77,13 @@ class MallOrderDetailsPayActivity : BaseActivity(), View.OnClickListener, CallLi
override
fun
onClick
(
v
:
View
?)
{
when
(
v
?.
id
)
{
R
.
id
.
tv_cancel_order
->
{
//
取消订单
R
.
id
.
tv_cancel_order
->
{
//
주문 취소
listDialog
?.
let
{
it
.
show
()
}
}
R
.
id
.
tv_order_pay
->
{
//
立即支付
//
刷新购物车
R
.
id
.
tv_order_pay
->
{
//
즉시 지불 하 다.
//
카 트 리 셋
EventBus
.
getDefault
().
postSticky
(
UpdateCarEvent
())
var
map
=
HashMap
<
String
,
Any
?>()
map
[
"order_uuid"
]
=
uuid
...
...
@@ -122,7 +122,7 @@ class MallOrderDetailsPayActivity : BaseActivity(), View.OnClickListener, CallLi
/**
*
请求数据
*
요청 데이터
*/
private
fun
requestPageData
()
{
UserServiceFactory
.
orderStoreDetail
(
uuid
).
subscribe
(
object
:
AbstractDialogSubscriber
<
MallOrderDetailEntity
>(
this
)
{
...
...
@@ -157,14 +157,14 @@ class MallOrderDetailsPayActivity : BaseActivity(), View.OnClickListener, CallLi
tv_receipt_phone
.
text
=
phone
tv_receipt_address
.
text
=
address
val
total
:
kotlin
.
Long
=
15
*
60
//
总时间15分钟
val
total
:
kotlin
.
Long
=
15
*
60
//
총 시간 15 분
val
createTime
=
UIUtile
.
dateToStamp
(
create_time
)
/
1000
//
获取创建时间的时间戳
val
showTime
=
System
.
currentTimeMillis
()
/
1000
-
createTime
//
得到时间差值
val
createTime
=
UIUtile
.
dateToStamp
(
create_time
)
/
1000
//
생 성 시간의 스탬프 가 져 오기
val
showTime
=
System
.
currentTimeMillis
()
/
1000
-
createTime
//
시간 차 를 얻다
if
(
showTime
<
total
+
1
)
{
val
countDown
=
total
-
showTime
//
倒计时显示
//
카운트다운 표시
flowable
=
Flowable
.
intervalRange
(
1
,
countDown
,
0
,
1
,
TimeUnit
.
SECONDS
)
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doOnNext
{
aLong
->
...
...
app/src/main/java/cn/dankal/client/ui/personal/order/mall/MallOrderFragment.kt
View file @
b66d516c
...
...
@@ -48,7 +48,7 @@ class MallOrderFragment : BaseFragment(), OnRefreshLoadMoreListener, CallListDia
if
(
reason
==
""
)
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
please_choose_the_reason_for_canceling_the_order
))
return
}
else
{
//
取消商城订单
}
else
{
//
상점 주문 취소
var
map
=
HashMap
<
String
,
Any
?>()
map
[
"order_uuid"
]
=
mDataList
[
mPosition
].
uuid
map
[
"reason"
]
=
reasonUUID
...
...
@@ -56,7 +56,7 @@ class MallOrderFragment : BaseFragment(), OnRefreshLoadMoreListener, CallListDia
UserServiceFactory
.
orderStoreCancel
(
map
).
subscribe
(
object
:
AbstractDialogSubscriber
<
ResponseBody
>(
this
)
{
override
fun
onNext
(
t
:
ResponseBody
)
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
cancellation_successful
))
requestDataList
(
true
)
//
刷新界面
requestDataList
(
true
)
//
화면 새로 고침
}
})
}
...
...
@@ -96,14 +96,14 @@ class MallOrderFragment : BaseFragment(), OnRefreshLoadMoreListener, CallListDia
adapter
?.
setOnItemChildClickListener
{
adapter
,
view
,
position
->
when
(
view
.
id
)
{
R
.
id
.
tv_store_order_cancel
->
{
//
取消订单
R
.
id
.
tv_store_order_cancel
->
{
//
주문 취소
listDialog
?.
let
{
it
.
show
()
mPosition
=
position
}
}
R
.
id
.
tv_store_order_pay
->
{
//
支付
//
刷新购物车
R
.
id
.
tv_store_order_pay
->
{
//
지불 하 다.
//
카 트 리 셋
EventBus
.
getDefault
().
postSticky
(
UpdateCarEvent
())
var
map
=
HashMap
<
String
,
Any
?>()
map
[
"order_uuid"
]
=
mDataList
[
mPosition
].
uuid
...
...
@@ -114,7 +114,7 @@ class MallOrderFragment : BaseFragment(), OnRefreshLoadMoreListener, CallListDia
}
})
}
R
.
id
.
tv_store_order_sure
->
{
//
确认收货
R
.
id
.
tv_store_order_sure
->
{
//
수령 확인
showDialog
(
""
,
getString
(
R
.
string
.
do_you_want_to_confirm_receipt
),
{
UserServiceFactory
.
finishMallOrder
(
mDataList
[
mPosition
].
uuid
).
subscribe
(
object
:
AbstractDialogSubscriber
<
ResponseBody
>(
this
)
{
override
fun
onNext
(
t
:
ResponseBody
)
{
...
...
@@ -124,31 +124,31 @@ class MallOrderFragment : BaseFragment(), OnRefreshLoadMoreListener, CallListDia
})
},
true
,
true
)
}
R
.
id
.
tv_store_evaluate
->
{
//
评价
R
.
id
.
tv_store_evaluate
->
{
//
평가 하 다.
requestShopData
(
mDataList
[
mPosition
].
uuid
)
}
R
.
id
.
rv_item_mall_order
->
{
when
(
mDataList
[
position
].
order_status
)
{
0
->
{
//"
待支付
"
//"
미 지급
"
startActivity
(
Intent
(
activity
,
MallOrderDetailsPayActivity
::
class
.
java
).
putExtra
(
ConstantsRestaurantType
.
UUID
,
mDataList
[
position
].
uuid
))
}
1
->
{
//"
已支付
"
//"
지불 됨
"
startActivity
(
Intent
(
activity
,
MallOrderDetailsActivity
::
class
.
java
).
putExtra
(
ConstantsRestaurantType
.
UUID
,
mDataList
[
position
].
uuid
))
}
2
->
{
startActivity
(
Intent
(
activity
,
MallOrderDetailsCancelActivity
::
class
.
java
).
putExtra
(
ConstantsRestaurantType
.
UUID
,
mDataList
[
position
].
uuid
))
}
3
->
{
//"
待收货
"
//"
수령 대기 화물
"
startActivity
(
Intent
(
activity
,
MallOrderDetailsActivity
::
class
.
java
).
putExtra
(
ConstantsRestaurantType
.
UUID
,
mDataList
[
position
].
uuid
))
}
4
->
{
//"
已完成
"
4
->
{
//"
완료 됨
"
startActivity
(
Intent
(
activity
,
MallOrderDetailsCompleteActivity
::
class
.
java
).
putExtra
(
ConstantsRestaurantType
.
UUID
,
mDataList
[
position
].
uuid
))
}
5
->
{
//"
已取消
"
//"
취소 됨
"
startActivity
(
Intent
(
activity
,
MallOrderDetailsCancelActivity
::
class
.
java
).
putExtra
(
ConstantsRestaurantType
.
UUID
,
mDataList
[
position
].
uuid
))
}
6
->
{
...
...
@@ -187,7 +187,7 @@ class MallOrderFragment : BaseFragment(), OnRefreshLoadMoreListener, CallListDia
}
private
var
isCreate
=
false
private
var
isLoading
=
false
//
是否进行网络请求
private
var
isLoading
=
false
//
네트워크 요청 여부
override
fun
setUserVisibleHint
(
isVisibleToUser
:
Boolean
)
{
super
.
setUserVisibleHint
(
isVisibleToUser
)
...
...
@@ -198,7 +198,6 @@ class MallOrderFragment : BaseFragment(), OnRefreshLoadMoreListener, CallListDia
if
(
isCreate
&&
userVisibleHint
&&
!
isLoading
)
{
isLoading
=
true
requestDataList
(
true
)
// Log.i("aaaaaaaaaaa","调用了"+this@MallOrderFragment.toString())
}
}
...
...
@@ -276,17 +275,17 @@ class MallOrderFragment : BaseFragment(), OnRefreshLoadMoreListener, CallListDia
request
.
appId
=
WxConstants
.
WX_APP_ID
//appid
request
.
partnerId
=
payEntity
.
partner_id
//
商户号
request
.
partnerId
=
payEntity
.
partner_id
//
상점 번호
request
.
prepayId
=
payEntity
.
prepay_id
//
预支付交易会话
ID
request
.
prepayId
=
payEntity
.
prepay_id
//
선불 거래 세 션
ID
request
.
packageValue
=
payEntity
.
package_str
//
扩展字段
request
.
packageValue
=
payEntity
.
package_str
//
확장 필드
request
.
nonceStr
=
payEntity
.
nonce_str
//
随机字符串
request
.
nonceStr
=
payEntity
.
nonce_str
//
임 의 문자열
request
.
timeStamp
=
payEntity
.
time_stamp
request
.
sign
=
payEntity
.
sign
//
签名
request
.
sign
=
payEntity
.
sign
//
서명 하 다.
api
.
sendReq
(
request
)
}
...
...
@@ -303,14 +302,14 @@ class MallOrderFragment : BaseFragment(), OnRefreshLoadMoreListener, CallListDia
}
/**
*
微信支付回调
*
위 챗 결 제 를 반송 하 다.
*/
@org
.
greenrobot
.
eventbus
.
Subscribe
(
threadMode
=
ThreadMode
.
MAIN
)
public
fun
updatePlayStatus
(
entity
:
PlayStatusEntity
?)
{
if
(
entity
!=
null
)
{
if
(
entity
.
type
==
0
)
{
//
支付失败
if
(
entity
.
type
==
0
)
{
//
지불 실패
ToastUtils
.
showShort
(
getString
(
R
.
string
.
failure_to_pay
))
}
else
{
//
支付成功
}
else
{
//
지불 성공
ToastUtils
.
showShort
(
getString
(
R
.
string
.
successful_payment
))
}
}
...
...
app/src/main/java/cn/dankal/client/ui/shop/AddAddressActivity.java
View file @
b66d516c
...
...
@@ -70,7 +70,7 @@ public class AddAddressActivity extends BaseActivity {
private
ArrayAdapter
arrayAdapter
;
private
static
boolean
isDefault
=
false
;
//
是否已经设置成默认地址
private
static
boolean
isDefault
=
false
;
//
기본 주소 로 설정 하 였 는 지 여부
private
PopupWindow
popupWindow
;
...
...
@@ -90,10 +90,10 @@ public class AddAddressActivity extends BaseActivity {
uuid
=
getIntent
().
getStringExtra
(
UUID
);
}
if
(!
TextUtils
.
isEmpty
(
uuid
))
{
//
地址详情
if
(!
TextUtils
.
isEmpty
(
uuid
))
{
//
주소 상세
addSingleTitleBar
(
getString
(
R
.
string
.
address_details
));
requestAddressData
(
uuid
);
}
else
{
//
新建地址
}
else
{
//
새 주소
addSingleTitleBar
(
getString
(
R
.
string
.
new_Address
));
}
...
...
@@ -105,7 +105,7 @@ public class AddAddressActivity extends BaseActivity {
@Override
public
void
onTextChanged
(
CharSequence
s
,
int
start
,
int
before
,
int
count
)
{
//
调用接口去搜索韩国的地址
//
인 터 페 이 스 를 이용 하여 한국 의 주 소 를 검색 하 다.
if
(!
isSearch
)
{
isSearch
=
true
;
return
;
...
...
@@ -136,7 +136,7 @@ public class AddAddressActivity extends BaseActivity {
if
(
actionId
==
EditorInfo
.
IME_ACTION_SEND
||
actionId
==
EditorInfo
.
IME_ACTION_DONE
||
(
event
!=
null
&&
KeyEvent
.
KEYCODE_ENTER
==
event
.
getKeyCode
()
&&
KeyEvent
.
ACTION_DOWN
==
event
.
getAction
()))
{
//
处理事件
//
사건 을 처리 하 다
}
return
true
;
});
...
...
@@ -160,7 +160,7 @@ public class AddAddressActivity extends BaseActivity {
if
(
actionId
==
EditorInfo
.
IME_ACTION_SEND
||
actionId
==
EditorInfo
.
IME_ACTION_DONE
||
(
event
!=
null
&&
KeyEvent
.
KEYCODE_ENTER
==
event
.
getKeyCode
()
&&
KeyEvent
.
ACTION_DOWN
==
event
.
getAction
()))
{
//
处理事件
//
사건 을 처리 하 다
}
return
true
;
});
...
...
@@ -199,7 +199,7 @@ public class AddAddressActivity extends BaseActivity {
/**
*
绑定数据
*
바 인 딩 데이터
*
* @param uuid
*/
...
...
@@ -276,7 +276,7 @@ public class AddAddressActivity extends BaseActivity {
map
.
put
(
"is_default"
,
0
);
}
if
(
TextUtils
.
isEmpty
(
uuid
))
{
//
添加
if
(
TextUtils
.
isEmpty
(
uuid
))
{
//
첨가 하 다.
AddressServiceFactory
.
addAddress
(
map
).
subscribe
(
new
AbstractDialogSubscriber
<
AddressEntity
>(
this
)
{
@Override
public
void
onNext
(
AddressEntity
addressEntity
)
{
...
...
@@ -285,7 +285,7 @@ public class AddAddressActivity extends BaseActivity {
finish
();
}
});
}
else
{
//
修改
}
else
{
//
고치다.
map
.
put
(
"uuid"
,
uuid
);
AddressServiceFactory
.
updateAddress
(
map
).
subscribe
(
new
AbstractDialogSubscriber
<
AddressEntity
>(
this
)
{
@Override
...
...
app/src/main/java/cn/dankal/client/ui/shop/AddressManagerActivity.kt
View file @
b66d516c
...
...
@@ -29,7 +29,7 @@ class AddressManagerActivity : BaseActivity(), View.OnClickListener {
private
var
adapter
:
AddressManagerAdapter
?
=
null
private
var
inType
=
0
//0
选择地址,1地址管理
private
var
inType
=
0
//0
주소 선택, 1 주소 관리
override
fun
onClick
(
v
:
View
?)
{
when
(
v
?.
id
)
{
...
...
app/src/main/java/cn/dankal/client/ui/shop/CommentMallActivity.kt
View file @
b66d516c
...
...
@@ -32,8 +32,8 @@ class CommentMallActivity : BaseListActivity<CommentContentEntity.DataBean>() {
private
var
page
=
1
private
var
maps
:
MutableMap
<
String
,
Any
>?
=
null
private
var
type
=
0
//
评论类型,默认0,全部
private
var
listType
:
MutableList
<
CommentTypeEntity
>?
=
null
//
评论类别
private
var
type
=
0
//
댓 글 유형, 기본 값 0, 전부
private
var
listType
:
MutableList
<
CommentTypeEntity
>?
=
null
//
논평 유형
override
fun
onLoadMore
(
refreshLayout
:
RefreshLayout
)
{
requestListData
(
false
)
...
...
app/src/main/java/cn/dankal/client/ui/shop/DetailsMerchantFragment.java
View file @
b66d516c
...
...
@@ -71,7 +71,7 @@ public class DetailsMerchantFragment extends BaseFragment implements OnRefreshLo
@Override
protected
void
initComponents
()
{
initView
();
//
配置商品内容
//
상품 내용 설정
listData
=
new
ArrayList
<>();
linearLayoutManagerContent
=
new
LinearLayoutManager
(
getActivity
());
rvDetailsContent
.
setLayoutManager
(
linearLayoutManagerContent
);
...
...
@@ -94,7 +94,7 @@ public class DetailsMerchantFragment extends BaseFragment implements OnRefreshLo
}
});
//
配置商品类别
//
상품 유형 설정
Bundle
bundle
=
getArguments
();
if
(
bundle
!=
null
)
{
storeUuid
=
bundle
.
getString
(
ConstantsShopType
.
STORE_UUID
);
...
...
@@ -102,9 +102,9 @@ public class DetailsMerchantFragment extends BaseFragment implements OnRefreshLo
if
(
goodsTypeListBeans
!=
null
&&
goodsTypeListBeans
.
size
()
>
0
)
{
mGoodsTypeUUID
=
goodsTypeListBeans
.
get
(
0
).
getUuid
();
requestContentData
(
mGoodsTypeUUID
,
true
);
//
初始化内容数据
requestContentData
(
mGoodsTypeUUID
,
true
);
//
내용 데이터 초기 화
//
设置商品类型
//
상품 유형 설정
linearLayoutManagerTitle
=
new
LinearLayoutManager
(
getActivity
());
rvDetailsTitle
.
setLayoutManager
(
linearLayoutManagerTitle
);
shopTypeTitleAdapter
=
new
MallTypeTitleAdapter
(
getActivity
(),
R
.
layout
.
item_shop_type_title
,
goodsTypeListBeans
);
...
...
app/src/main/java/cn/dankal/client/ui/shop/MallEvaluateDetailsActivity.kt
View file @
b66d516c
...
...
@@ -20,7 +20,7 @@ import com.scwang.smartrefresh.layout.api.RefreshLayout
import
io.reactivex.disposables.Disposable
/**
*
评价详情
*
상세 한 상황 을 평가 하 다.
*/
class
MallEvaluateDetailsActivity
:
BaseListActivity
<
EvaluateEntity
>()
{
...
...
app/src/main/java/cn/dankal/client/ui/shop/MallPayResultActivity.kt
View file @
b66d516c
...
...
@@ -33,15 +33,15 @@ class MallPayResultActivity : BaseActivity(), View.OnClickListener {
override
fun
onClick
(
v
:
View
?)
{
when
(
v
?.
id
)
{
R
.
id
.
tv_result_see
->
{
//
查看订单
R
.
id
.
tv_result_see
->
{
//
주문 서 를 확인 하 다.
startActivity
(
Intent
(
this
@MallPayResultActivity
,
MallOrderActivity
::
class
.
java
))
finish
()
}
R
.
id
.
tv_result_home
->
{
//
回到首页
R
.
id
.
tv_result_home
->
{
//
홈 페이지 로 돌아가다
if
(
type
==
1
)
{
startActivity
(
Intent
(
this
@MallPayResultActivity
,
HomeActivity
::
class
.
java
))
}
if
(
type
==
2
)
{
//
立即评价
if
(
type
==
2
)
{
//
즉시 평가 하 다
var
intent
=
Intent
(
this
@MallPayResultActivity
,
EvaluationActivity
::
class
.
java
)
var
bundle
=
Bundle
()
bundle
.
putSerializable
(
"shop_list"
,
mallOrderActivity
)
...
...
@@ -49,7 +49,7 @@ class MallPayResultActivity : BaseActivity(), View.OnClickListener {
startActivity
(
intent
)
finish
()
}
if
(
type
==
3
)
{
//
查看评论
if
(
type
==
3
)
{
//
댓 글 을 보다
startActivity
(
Intent
(
this
,
MallEvaluateDetailsActivity
::
class
.
java
)
.
putExtra
(
ConstantsShopType
.
GOODS_UUID
,
orderId
))
finish
()
...
...
@@ -58,7 +58,7 @@ class MallPayResultActivity : BaseActivity(), View.OnClickListener {
}
}
private
var
orderId
:
String
?
=
""
//
商城订单
ID
private
var
orderId
:
String
?
=
""
//
상점 주문서
ID
private
var
listData
=
mutableListOf
<
RecommendShopEntity
.
DataBean
>()
...
...
@@ -135,7 +135,7 @@ class MallPayResultActivity : BaseActivity(), View.OnClickListener {
}
/**
*
请求推荐商品
*
추천 상품 요청
*/
private
fun
requestShopContentData
(
goods_type_uuid
:
List
<
String
>?)
{
var
map
=
HashMap
<
String
,
Any
?>()
...
...
app/src/main/java/cn/dankal/client/ui/shop/MallSearchActivity.kt
View file @
b66d516c
...
...
@@ -44,7 +44,7 @@ import java.util.HashMap
class
MallSearchActivity
:
BaseActivity
(),
View
.
OnClickListener
{
private
var
searchType
=
0
//
搜索类型0商城,1商品
private
var
searchType
=
0
//
검색 유형 0 상점, 1 상품
private
var
searchContent
=
mutableListOf
<
String
>()
...
...
@@ -73,7 +73,7 @@ class MallSearchActivity : BaseActivity(), View.OnClickListener {
override
fun
onClick
(
v
:
View
?)
{
when
(
v
?.
id
)
{
R
.
id
.
tv_mall
->
{
//
商城
R
.
id
.
tv_mall
->
{
//
상점.
searchType
=
0
findHistory
()
et_search
.
hint
=
getString
(
R
.
string
.
please_enter_the_name_merchant
)
...
...
@@ -89,7 +89,7 @@ class MallSearchActivity : BaseActivity(), View.OnClickListener {
rv_search_result
.
layoutManager
=
LinearLayoutManager
(
this
)
rv_search_result
.
adapter
=
mallAdapter
}
R
.
id
.
tv_shop
->
{
//
商品
R
.
id
.
tv_shop
->
{
//
상품.
searchType
=
1
findHistory
()
et_search
.
hint
=
getString
(
R
.
string
.
please_input_shop_name
)
...
...
@@ -106,28 +106,28 @@ class MallSearchActivity : BaseActivity(), View.OnClickListener {
rv_search_result
.
adapter
=
shopAdapter
}
R
.
id
.
tv_search
->
{
//
点击搜索
R
.
id
.
tv_search
->
{
//
클릭 하여 검색
var
searchContent
=
et_search
.
text
.
toString
()
if
(
TextUtils
.
isEmpty
(
searchContent
))
{
return
}
stareSearchData
(
searchContent
)
//
加入历史记录
stareSearchData
(
searchContent
)
//
역사 기록 에 넣다
sv_mall_search
.
visibility
=
View
.
GONE
refreshLayout
.
visibility
=
View
.
VISIBLE
if
(
searchType
==
0
)
{
//
商城搜索
if
(
searchType
==
0
)
{
//
상점 검색
searchMall
(
searchContent
)
}
else
{
//
商品搜索
}
else
{
//
상품 검색
searchShop
(
searchContent
)
ll_filter
.
visibility
=
View
.
VISIBLE
updateFilter
(
1
)
}
}
R
.
id
.
tv_clean_history
->
{
//
清空搜索历史
R
.
id
.
tv_clean_history
->
{
//
검색 기록 비우 기
cleanHistory
()
}
R
.
id
.
tv_comprehensive
->
{
//
综合
R
.
id
.
tv_comprehensive
->
{
//
종합 하 다.
sales
=
""
price
=
""
var
searchContent
=
et_search
.
text
.
toString
()
...
...
@@ -163,7 +163,7 @@ class MallSearchActivity : BaseActivity(), View.OnClickListener {
/**
*
指定商品
*
지정 상품
*/
private
fun
searchShop
(
searchContent
:
String
)
{
val
map
=
HashMap
<
String
,
Any
>()
...
...
@@ -197,7 +197,7 @@ class MallSearchActivity : BaseActivity(), View.OnClickListener {
}
/**
*
指定商城
*
상점 을 지정 하 다
*/
private
fun
searchMall
(
searchContent
:
String
)
{
val
map
=
HashMap
<
String
,
Any
>()
...
...
@@ -257,7 +257,7 @@ class MallSearchActivity : BaseActivity(), View.OnClickListener {
refreshLayout
.
setRefreshHeader
(
ClassicsHeader
(
this
).
setEnableLastTime
(
true
))
refreshLayout
.
setRefreshFooter
(
ClassicsFooter
(
this
))
//
初始化历史记录
//
과거 기록 초기 화
shopArrayAdapter
=
ShopArrayAdapter
(
this
,
R
.
layout
.
item_search_string
,
searchContent
)
lv_history
.
adapter
=
shopArrayAdapter
lv_history
.
onItemClickListener
=
AdapterView
.
OnItemClickListener
{
parent
,
view
,
position
,
id
->
...
...
@@ -266,7 +266,7 @@ class MallSearchActivity : BaseActivity(), View.OnClickListener {
et_search
.
setSelection
(
et_search
.
text
.
length
)
}
//
初始化热门搜索
//
인기 검색 초기 화
tagAdapter
=
object
:
TagAdapter
<
HotSearchListEntity
.
DataBean
>(
listHot
)
{
override
fun
getView
(
parent
:
FlowLayout
,
position
:
Int
,
dataBean
:
HotSearchListEntity
.
DataBean
):
View
{
val
tv
=
LayoutInflater
.
from
(
this
@MallSearchActivity
).
inflate
(
R
.
layout
.
item_search_hot
,
fl_tag_one
,
false
)
as
TextView
...
...
@@ -304,11 +304,11 @@ class MallSearchActivity : BaseActivity(), View.OnClickListener {
findHistory
()
//
初始化获得商品和商城热搜
//
초기 화 획득 상품 및 상점 검색
requestHotelSearch
(
1
)
requestHotelSearch
(
2
)
//
默认配置商城热搜
//
기본 구성 상점 검색
listHot
.
clear
()
listHot
.
addAll
(
listMallHot
)
...
...
@@ -342,7 +342,7 @@ class MallSearchActivity : BaseActivity(), View.OnClickListener {
}
}
//
商城adapter配置
//
상점 adapter 설정
mallAdapter
=
MallAdapter
(
R
.
layout
.
item_merchant
,
searchResultMallList
)
mallAdapter
?.
setOnItemClickListener
{
adapter
,
view
,
position
->
val
dataBean
=
searchResultMallList
.
get
(
position
)
...
...
@@ -357,14 +357,14 @@ class MallSearchActivity : BaseActivity(), View.OnClickListener {
et_search
.
setOnEditorActionListener
{
arg0
,
arg1
,
arg2
->
if
(
arg1
==
EditorInfo
.
IME_ACTION_SEARCH
)
{
var
searchContent
=
et_search
.
text
.
toString
()
stareSearchData
(
searchContent
)
//
加入历史记录
stareSearchData
(
searchContent
)
//
역사 기록 에 넣다
sv_mall_search
.
visibility
=
View
.
GONE
refreshLayout
.
visibility
=
View
.
VISIBLE
if
(
searchType
==
0
)
{
//
商城搜索
if
(
searchType
==
0
)
{
//
상점 검색
searchMall
(
searchContent
)
}
else
{
//
商品搜索
}
else
{
//
상품 검색
searchShop
(
searchContent
)
ll_filter
.
visibility
=
View
.
VISIBLE
updateFilter
(
1
)
...
...
@@ -376,8 +376,8 @@ class MallSearchActivity : BaseActivity(), View.OnClickListener {
/**
*
请求热门搜索
* 1
商城,2商品
*
인기 검색 요청
* 1
상점, 2 상품
*/
private
fun
requestHotelSearch
(
type
:
Int
)
{
HomeServiceFactory
.
getSearchList
(
1
,
20
,
type
).
subscribe
(
object
:
AbstractDialogSubscriber
<
HotSearchListEntity
>(
this
)
{
...
...
@@ -386,7 +386,7 @@ class MallSearchActivity : BaseActivity(), View.OnClickListener {
listMallHot
.
clear
()
listMallHot
.
addAll
(
entity
.
data
)
//
初始化商城
//
상점 초기 화
listHot
.
clear
()
listHot
.
addAll
(
listMallHot
)
tagAdapter
?.
let
{
...
...
@@ -404,11 +404,11 @@ class MallSearchActivity : BaseActivity(), View.OnClickListener {
}
/**
*
保存搜索关键字
*
검색 키워드 저장
* @param searchText
*/
private
fun
stareSearchData
(
searchText
:
String
)
{
//
先查找,是否有改搜索记录
//
검색 기록 변경 여 부 를 먼저 찾 습 니 다.
var
entitys
=
findIsPresence
(
searchText
)
if
(
entitys
.
isNotEmpty
())
{
var
entity
=
entitys
[
0
]
...
...
@@ -430,7 +430,7 @@ class MallSearchActivity : BaseActivity(), View.OnClickListener {
}
/**
*
查询历史记录
*
역사 기록 을 조회 하 다.
*/
private
fun
findHistory
()
{
...
...
@@ -447,7 +447,7 @@ class MallSearchActivity : BaseActivity(), View.OnClickListener {
}
/**
*
更新筛选状态
*
필터 상태 업데이트
*/
private
fun
updateFilter
(
type
:
Int
)
{
when
(
type
)
{
...
...
app/src/main/java/cn/dankal/client/ui/shop/MerchantInfoFragment.kt
View file @
b66d516c
...
...
@@ -33,7 +33,7 @@ class MerchantInfoFragment : BaseFragment(), View.OnClickListener, CallDialog.On
it
.
show
()
}
}
R
.
id
.
iv_location
->
{
//
商城详情不跳地图
R
.
id
.
iv_location
->
{
//
상점 상세 맵 점프 하지 않 음
// toMaps()
}
R
.
id
.
tv_merchant_address
->
{
...
...
app/src/main/java/cn/dankal/client/ui/shop/QueueResultActivity.java
View file @
b66d516c
...
...
@@ -45,7 +45,7 @@ public class QueueResultActivity extends BaseActivity {
TextView
tvCountTime
;
TextView
tvState
;
//
排队状态
TextView
tvState
;
//
대기 상태
ImageView
ivStartImage
;
...
...
@@ -65,11 +65,11 @@ public class QueueResultActivity extends BaseActivity {
/* @BindView(R.id.ll_background)
LinearLayoutCompat llBackGround;*/
private
int
tablesNumber
;
//
前方等待桌数
private
int
tablesNumber
;
//
전방 대기 테이블 수
private
CommitQueueEntity
commitQueueEntity
;
private
int
type
=
0
;
//0,1,2//
三种状态,0排队成功,1排队中,2排队已过号
private
int
type
=
0
;
//0,1,2//
세 가지 상태, 0 줄 서기 성공, 1 줄 서기 중 2 줄 이 지 났 습 니 다.
@Override
...
...
@@ -155,7 +155,7 @@ public class QueueResultActivity extends BaseActivity {
findViewById
(
R
.
id
.
btn_order
).
setOnClickListener
(
this
::
onViewClicked
);
}
//
显示排队提醒弹出窗口
//
대기 열 알림 팝 업 창 표시
private
void
showQueueTip
()
{
showDialogStateTow
(
getString
(
R
.
string
.
queuing_reminders
),
getString
(
R
.
string
.
we_are_waiting_for_you
));
}
...
...
@@ -169,7 +169,7 @@ public class QueueResultActivity extends BaseActivity {
public
void
onViewClicked
(
View
view
)
{
if
(
view
.
getId
()==
R
.
id
.
btn_cancel
){
if
(
type
==
1
)
{
//
取消排队
if
(
type
==
1
)
{
//
줄 서기 취소
showDialog
(
""
,
getString
(
R
.
string
.
whether_to_cancel_the_queue
),
type
->
{
if
(
commitQueueEntity
!=
null
)
{
RestaurantServiceFactory
.
cancelQueue
(
commitQueueEntity
.
getUuid
()).
subscribe
(
new
AbstractDialogSubscriber
<
ResponseBody
>(
this
)
{
...
...
@@ -181,20 +181,20 @@ public class QueueResultActivity extends BaseActivity {
});
}
},
true
,
true
);
}
else
{
//
返回首页
}
else
{
//
홈 페이지 로 되돌아가다
startActivity
(
new
Intent
(
QueueResultActivity
.
this
,
HomeActivity
.
class
));
}
}
else
if
(
view
.
getId
()==
R
.
id
.
btn_order
){
if
(
type
==
2
)
{
//
重新排队
if
(
type
==
2
)
{
//
다시 줄 서기
Intent
intent
=
new
Intent
(
QueueResultActivity
.
this
,
QueueActivity
.
class
);
if
(
commitQueueEntity
!=
null
)
{
intent
.
putExtra
(
ConstantsRestaurantType
.
UUID
,
commitQueueEntity
.
getHotel_uuid
());
}
startActivity
(
intent
);
}
else
{
//
我要点餐
if
(
tablesNumber
==
0
)
{
//
去扫码
}
else
{
//
주문 할 게 요.
if
(
tablesNumber
==
0
)
{
//
스 캔 을 가다
startActivityForResult
(
new
Intent
(
QueueResultActivity
.
this
,
CaptureActivity
.
class
),
ConstantsHomeType
.
SCAN
);
}
else
{
//
提示,前方桌数等待为0时候才可以点餐
}
else
{
//
안내, 앞 테이블 수 는 0 시 까지 기 다 려 야 주문 할 수 있 습 니 다.
showDialog
(
getString
(
R
.
string
.
waiting_before_ordering
));
}
}
...
...
@@ -204,7 +204,7 @@ public class QueueResultActivity extends BaseActivity {
@Override
protected
void
onPause
()
{
super
.
onPause
();
//
通知餐馆详情刷新
//
식당 정보 갱신 통지
EventBus
.
getDefault
().
post
(
new
UpdateStateEvent
());
}
...
...
app/src/main/java/cn/dankal/client/ui/shop/ShopDetailActivity.kt
View file @
b66d516c
...
...
@@ -60,17 +60,17 @@ class ShopDetailActivity : BaseActivity(), View.OnClickListener {
var
storeUuid
:
String
?
=
null
var
goodsUuid
:
String
?
=
null
var
selectSpecEntity
:
MallSpecsDetailEntity
?
=
null
//
选中的规格
var
selectSpecEntity
:
MallSpecsDetailEntity
?
=
null
//
선 택 된 규격
var
operateType
=
0
//
操作类型,0添加到购物车操作,1结算操作
var
operateType
=
0
//
조작 유형, 0 카 트 조작 에 추가, 1 결제 작업
var
isCollect
=
0
//
当前状态是否收藏,0未收藏,1已收藏
var
isCollect
=
0
//
현재 상태 저장 여부, 0 저장 되 지 않 음, 1 저장 되 어 있 음
var
collectUUID
:
String
?
=
null
//
收藏
id
var
collectUUID
:
String
?
=
null
//
수집
id
var
homeTypeUuid
=
""
private
var
inType
=
1
//
进入商城首页类型,1,进入商城首页,2,进入店铺首页
private
var
inType
=
1
//
상점 홈 페이지 유형 진입, 1, 상점 홈 페이지 진입, 2, 점포 홈 페이지 진입
private
val
selectShopList
=
mutableListOf
<
CartGoodsListEntity
.
SettleCartGoodsListBeanX
>()
//当前的商品列表
...
...
@@ -80,7 +80,7 @@ class ShopDetailActivity : BaseActivity(), View.OnClickListener {
.
putExtra
(
ConstantsShopType
.
GOODS_UUID
,
goodsUuid
)
.
putExtra
(
ConstantsShopType
.
STORE_UUID
,
storeUuid
))
R
.
id
.
tv_mall_detail_add_car
->
{
//
加入购物车
R
.
id
.
tv_mall_detail_add_car
->
{
//
카 트 에 들어가다
operateType
=
0
//settleAccounts()
showBottomDialog
()
...
...
@@ -114,7 +114,7 @@ class ShopDetailActivity : BaseActivity(), View.OnClickListener {
tv_button_collect
.
setCompoundDrawablesWithIntrinsicBounds
(
null
,
top
,
null
,
null
)
}
})
}
else
{
//
取消收藏
}
else
{
//
모음 집 취소
isCollect
=
0
var
map
=
HashMap
<
String
,
Any
?>()
var
listUUID
=
mutableListOf
<
String
?>()
...
...
@@ -135,7 +135,7 @@ class ShopDetailActivity : BaseActivity(), View.OnClickListener {
/**
*
添加商品到购物车
*
카 트 에 상품 추가
*/
private
fun
addCart
()
{
val
map
=
HashMap
<
String
,
Any
?>()
...
...
@@ -146,12 +146,12 @@ class ShopDetailActivity : BaseActivity(), View.OnClickListener {
MallServiceFactory
.
addCart
(
map
).
subscribe
(
object
:
AbstractDialogSubscriber
<
AddCarResultEntity
>(
this
)
{
override
fun
onNext
(
entity
:
AddCarResultEntity
)
{
//
通知购物车刷新
//
카 트 리 셋 알림
EventBus
.
getDefault
().
postSticky
(
UpdateCarEvent
())
if
(
operateType
==
0
)
{
//
添加到购物车操作
if
(
operateType
==
0
)
{
//
카 트 조작 에 추가
ToastUtils
.
showShort
(
getString
(
R
.
string
.
add_success
))
requestCartList
()
}
else
{
//
结算操作
}
else
{
//
결산 작업
selectShopList
.
clear
()
var
settleCartGoodsListBean
=
CartGoodsListEntity
.
SettleCartGoodsListBeanX
()
//配置需要提交结算的参数
...
...
@@ -214,13 +214,13 @@ class ShopDetailActivity : BaseActivity(), View.OnClickListener {
}
/**
*
请求规格详情
*
요청 규격 상세
*/
private
fun
requestShopSpecsDetailData
(
storeUuid
:
String
?,
goodsUuid
:
String
?)
{
MallServiceFactory
.
getGoodsSpecs
(
storeUuid
,
goodsUuid
).
subscribe
(
object
:
AbstractDialogSubscriber
<
List
<
MallSpecsDetailEntity
>>(
this
)
{
override
fun
onNext
(
t
:
List
<
MallSpecsDetailEntity
>)
{
specsData
=
t
//
默认选择第一个规格,并用第一个规格的价格
//
기본 으로 첫 번 째 규격 을 선택 하고 첫 번 째 규격 의 가격 을 사용 합 니 다.
if
(
t
!=
null
&&
t
.
isNotEmpty
())
{
selectSpecEntity
=
t
[
0
]
tv_goods_specs_tip
.
text
=
getString
(
R
.
string
.
a_select
)
...
...
@@ -231,8 +231,8 @@ class ShopDetailActivity : BaseActivity(), View.OnClickListener {
}
/**
*
请求详情数据
*
状态类型,type=1,刷新收藏
*
요청 정보 데이터
*
상태 유형, type = 1, 모음 집 새로 고침
*/
private
fun
requestShopDetailData
(
storeUuid
:
String
?,
goodsUuid
:
String
?,
type
:
Int
)
{
MallServiceFactory
.
getGoodsDetail
(
storeUuid
,
goodsUuid
).
subscribe
(
object
:
AbstractDialogSubscriber
<
ShopDetailEntity
>(
this
)
{
...
...
@@ -272,10 +272,10 @@ class ShopDetailActivity : BaseActivity(), View.OnClickListener {
}
}
isCollect
=
is_collect
if
(
is_collect
==
0
)
{
//
未收藏
if
(
is_collect
==
0
)
{
//
저장 되 지 않 음
val
top
=
resources
.
getDrawable
(
R
.
mipmap
.
ic_collection_dark
)
tv_button_collect
.
setCompoundDrawablesWithIntrinsicBounds
(
null
,
top
,
null
,
null
)
}
else
{
//
已收藏
}
else
{
//
저장 됨
val
top
=
resources
.
getDrawable
(
R
.
mipmap
.
ic_collection_bright
)
tv_button_collect
.
setCompoundDrawablesWithIntrinsicBounds
(
null
,
top
,
null
,
null
)
}
...
...
@@ -381,7 +381,7 @@ class ShopDetailActivity : BaseActivity(), View.OnClickListener {
/**
*
分类标志选择监听
*
분류 표지 선택 감청
*/
flowLayoutOne
.
setOnTagClickListener
{
_
,
position
,
_
->
specsData
?.
let
{
...
...
@@ -435,8 +435,8 @@ class ShopDetailActivity : BaseActivity(), View.OnClickListener {
}
/**
*
去结算和加入购物车
*
都需要调用购物车接口
*
결제 하고 카 트 가입 하고.
*
카 트 인터페이스 가 필요 해 요.
*/
private
fun
settleAccounts
()
{
if
(
selectSpecEntity
==
null
)
{
...
...
@@ -446,7 +446,7 @@ class ShopDetailActivity : BaseActivity(), View.OnClickListener {
showBottomDialog
()
}
}
}
else
{
//
调用添加到购物车接口
}
else
{
//
카 트 인터페이스 에 호출
addCart
()
}
}
...
...
@@ -459,7 +459,7 @@ class ShopDetailActivity : BaseActivity(), View.OnClickListener {
}
/**
*
请求评论数据
*
댓 글 요청 데이터
*/
private
fun
requestListData
()
{
var
maps
=
HashMap
<
String
,
Any
?>()
...
...
@@ -505,7 +505,7 @@ class ShopDetailActivity : BaseActivity(), View.OnClickListener {
}
/**
*
查找购物车有多少件商品
*
카 트 에 몇 가지 상품 이 있 는 지 찾 아 보 세 요.
*/
private
fun
requestCartList
()
{
MallServiceFactory
.
getCartList
(
1
,
50
).
subscribe
(
object
:
AbstractDialogSubscriber
<
ShopCarEntity
>(
this
)
{
...
...
app/src/main/java/cn/dankal/client/ui/shop/ShopFragment.java
View file @
b66d516c
...
...
@@ -111,7 +111,7 @@ public class ShopFragment extends BaseFragment {
});
}
//
获取状态栏高度
//
획득 상태 표시 줄 높이
private
void
getStateBar
()
{
int
result
=
0
;
int
resourceId
=
this
.
getResources
().
getIdentifier
(
"status_bar_height"
,
"dimen"
,
"android"
);
...
...
app/src/main/java/cn/dankal/client/ui/shop/ShopItemFragment.java
View file @
b66d516c
...
...
@@ -102,13 +102,13 @@ public class ShopItemFragment extends BaseFragment {
startActivity
(
new
Intent
(
getActivity
(),
DishesDetailsTowActivity
.
class
)
.
putExtra
(
Constant
.
HOTEL_UUID
,
bean
.
getHotel_store_uuid
())
.
putExtra
(
Constant
.
SHOP_UUID
,
bean
.
getGoods_uuid
()));
}
else
{
//
商城
}
else
{
//
상점.
Intent
intent
=
new
Intent
(
getActivity
(),
ShopDetailActivity
.
class
);
intent
.
putExtra
(
ConstantsShopType
.
STORE_UUID
,
bean
.
getHotel_store_uuid
());
intent
.
putExtra
(
ConstantsShopType
.
GOODS_UUID
,
bean
.
getGoods_uuid
());
startActivity
(
intent
);
}
}
else
{
//
富文本
}
else
{
//
부 텍스트
startActivity
(
new
Intent
(
getActivity
(),
WebViewContentActivity
.
class
).
putExtra
(
"url"
,
bean
.
getContent
()));
}
}
...
...
app/src/main/java/cn/dankal/client/ui/shop/SureOrderActivity.kt
View file @
b66d516c
...
...
@@ -32,33 +32,33 @@ import org.greenrobot.eventbus.ThreadMode
class
SureOrderActivity
:
BaseActivity
(),
View
.
OnClickListener
{
var
pay
=
0
//0app
微信支付,1支付宝支付
var
addressUUID
:
String
?
=
null
//
地址
id
var
pay
=
0
//0app
위 챗 결제, 1 알 리 페 이 결제
var
addressUUID
:
String
?
=
null
//
주소
id
private
var
sureOrderAdapter
:
SureOrderAdapter
?
=
null
private
var
listShopData
=
mutableListOf
<
SettleEntity
.
UserStorePaySettleListBean
.
StoreCartGoodsListBean
>()
private
var
orderId
:
String
=
""
private
var
couponId
=
""
//
优惠券
ID
private
var
couponId
=
""
//
쿠폰
ID
private
var
homeTypeUuid
=
""
private
var
payment
=
""
//
支付金额
private
var
payment
=
""
//
지불 금액
override
fun
onClick
(
v
:
View
?)
{
when
(
v
?.
id
)
{
R
.
id
.
ll_replace
->
{
//
选择地址
R
.
id
.
ll_replace
->
{
//
주소 선택
var
intent
=
Intent
(
this
@SureOrderActivity
,
AddressManagerActivity
::
class
.
java
)
intent
.
putExtra
(
"inType"
,
0
)
startActivityForResult
(
intent
,
2
)
}
R
.
id
.
tv_pay
->
{
//
调用支付
R
.
id
.
tv_pay
->
{
//
호출 지불
requestPay
()
}
R
.
id
.
ll_pay_away
->
{
//
选择支付方式
R
.
id
.
ll_pay_away
->
{
//
지불 방식 을 선택 하 다
var
intent
=
Intent
(
this
@SureOrderActivity
,
SelectPayActivity
::
class
.
java
)
startActivityForResult
(
intent
,
1
)
}
...
...
@@ -80,7 +80,7 @@ class SureOrderActivity : BaseActivity(), View.OnClickListener {
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
)
when
(
requestCode
)
{
1
->
{
//
支付方式选择返回
1
->
{
//
지불 방식 선택 복귀
data
?.
let
{
pay
=
it
.
getIntExtra
(
"pay"
,
0
)
if
(
pay
==
0
)
{
...
...
@@ -90,7 +90,7 @@ class SureOrderActivity : BaseActivity(), View.OnClickListener {
}
}
}
2
->
{
//
地址返回
2
->
{
//
주소 반환
data
?.
let
{
var
data
:
AddressEntity
.
DataBean
=
it
.
extras
.
getSerializable
(
"address"
)
as
AddressEntity
.
DataBean
data
?.
let
{
...
...
@@ -107,7 +107,7 @@ class SureOrderActivity : BaseActivity(), View.OnClickListener {
}
}
}
3
->
{
//
选择优惠券返回
3
->
{
//
쿠폰 을 선택 하고 돌아 가기
if
(
data
!=
null
)
{
var
couponId
=
data
.
getStringExtra
(
"couponUUID"
)
var
couponName
=
data
.
getStringExtra
(
"couponName"
)
...
...
@@ -117,7 +117,7 @@ class SureOrderActivity : BaseActivity(), View.OnClickListener {
tv_coupon_name
.
text
=
getString
(
R
.
string
.
please_select_coupon
)
}
if
(!
TextUtils
.
isEmpty
(
couponId
))
{
//
刷新支付信息
//
지불 정 보 를 갱신 하 다.
this
.
couponId
=
couponId
}
else
{
this
.
couponId
=
""
...
...
@@ -129,9 +129,9 @@ class SureOrderActivity : BaseActivity(), View.OnClickListener {
}
//
请求支付
//
지불 을 청구 하 다
private
fun
requestPay
()
{
//
刷新购物车
//
카 트 리 셋
EventBus
.
getDefault
().
postSticky
(
UpdateCarEvent
())
var
map
=
HashMap
<
String
,
Any
?>()
...
...
@@ -157,17 +157,17 @@ class SureOrderActivity : BaseActivity(), View.OnClickListener {
request
.
appId
=
WxConstants
.
WX_APP_ID
//appid
request
.
partnerId
=
payEntity
.
partner_id
//
商户号
request
.
partnerId
=
payEntity
.
partner_id
//
상점 번호
request
.
prepayId
=
payEntity
.
prepay_id
//
预支付交易会话
ID
request
.
prepayId
=
payEntity
.
prepay_id
//
선불 거래 세 션
ID
request
.
packageValue
=
payEntity
.
package_str
//
扩展字段
request
.
packageValue
=
payEntity
.
package_str
//
확장 필드
request
.
nonceStr
=
payEntity
.
nonce_str
//
随机字符串
request
.
nonceStr
=
payEntity
.
nonce_str
//
임 의 문자열
request
.
timeStamp
=
payEntity
.
time_stamp
request
.
sign
=
payEntity
.
sign
//
签名
request
.
sign
=
payEntity
.
sign
//
서명 하 다.
api
.
sendReq
(
request
)
}
...
...
@@ -202,7 +202,7 @@ class SureOrderActivity : BaseActivity(), View.OnClickListener {
}
/**
*
请求地址数据
*
요청 주소 데이터
*/
private
fun
requestAddress
()
{
AddressServiceFactory
.
getAddressList
()
...
...
@@ -231,7 +231,7 @@ class SureOrderActivity : BaseActivity(), View.OnClickListener {
}
/**
*
请求确认订单接口
*
주문 인터페이스 확인 요청
*/
private
fun
requestData
()
{
var
map
=
HashMap
<
String
,
Any
?>()
...
...
@@ -268,17 +268,17 @@ class SureOrderActivity : BaseActivity(), View.OnClickListener {
}
/**
*
微信支付回调
*
위 챗 결 제 를 반송 하 다.
*/
@org
.
greenrobot
.
eventbus
.
Subscribe
(
threadMode
=
ThreadMode
.
MAIN
)
public
fun
updatePlayStatus
(
entity
:
PlayStatusEntity
?)
{
if
(
entity
!=
null
)
{
if
(
entity
.
type
==
0
)
{
//
支付失败
if
(
entity
.
type
==
0
)
{
//
지불 실패
ToastUtils
.
showShort
(
getString
(
R
.
string
.
failure_to_pay
))
//
跳转到订单页面
//
주문서 페이지 로 가기
startActivity
(
Intent
(
this
@SureOrderActivity
,
MallOrderActivity
::
class
.
java
))
finish
()
}
else
{
//
支付成功
}
else
{
//
지불 성공
ToastUtils
.
showShort
(
getString
(
R
.
string
.
successful_payment
))
val
intent
=
Intent
(
this
@SureOrderActivity
,
MallPayResultActivity
::
class
.
java
)
var
bundle
=
Bundle
()
...
...
app/src/main/java/cn/dankal/client/util/FindUtil.java
View file @
b66d516c
...
...
@@ -16,7 +16,7 @@ import cn.dankal.entities.shop.ShopTypeContentEntity;
/**
* Created by zhengpeng on 2019/8/21.
*
查询数据库工具类
*
데이터베이스 도구 클래스 검색
*/
public
class
FindUtil
{
...
...
@@ -25,18 +25,18 @@ public class FindUtil {
* @param goods_uuid
* @param second_main_specs_uuid
* @param secondSpecs
* @return
数据库是否查到了该商品
* @return
데이터베이스 에서 이 상품 을 찾 았 는 지 여부
*/
public
static
FoodEntity
findDataBasesShop
(
String
storeUUID
,
String
goods_uuid
,
String
second_main_specs_uuid
,
List
<
String
>
secondSpecs
)
{
List
<
FoodEntity
>
entities
=
LitePal
.
where
(
"storeUUid=? and goods_uuid=? and second_main_specs_uuid=?"
,
storeUUID
,
goods_uuid
,
second_main_specs_uuid
).
order
(
"id desc"
).
find
(
FoodEntity
.
class
);
if
(
entities
==
null
||
entities
.
size
()
==
0
)
{
//
没有当前商品,新添加
if
(
entities
==
null
||
entities
.
size
()
==
0
)
{
//
현재 상품 없 이 추가
return
null
;
}
else
{
//
判断辅规格是不是一样
//
보조 규격 이 같 는 지 아 닌 지 판단 하 다.
for
(
int
i
=
0
;
i
<
entities
.
size
();
i
++)
{
FoodEntity
foodEntity
=
entities
.
get
(
i
);
//
获取当前辅规格
//
현재 보조 규격 가 져 오기
List
<
String
>
secondSpecList
=
foodEntity
.
getSecond_specs_list
();
if
(
secondSpecList
==
null
)
{
...
...
@@ -46,10 +46,10 @@ public class FindUtil {
return
null
;
}
}
else
{
if
(
secondSpecs
.
size
()
==
0
&&
secondSpecList
.
size
()
==
0
)
{
//
没有选择辅规格
if
(
secondSpecs
.
size
()
==
0
&&
secondSpecList
.
size
()
==
0
)
{
//
보조 사양 선택 하지 않 음
return
foodEntity
;
}
if
(
secondSpecList
.
equals
(
secondSpecs
))
{
//
辅规格一样,数量加
1
if
(
secondSpecList
.
equals
(
secondSpecs
))
{
//
보조 규격 동일, 수량 증가
1
return
foodEntity
;
}
}
...
...
app/src/main/java/cn/dankal/client/util/ToastUtils.java
View file @
b66d516c
...
...
@@ -10,7 +10,7 @@ import cn.dankal.basiclib.util.AppUtils;
/**
* Created by zhengpeng on 2019/8/8.
*
为了解决多语言切换,ToastUtil的坑
*
다 국어 적 전환 을 해결 하기 위해, Toast Util 의 구덩이
*/
public
class
ToastUtils
{
public
static
void
showShort
(
int
text
)
{
...
...
app/src/main/java/cn/dankal/client/util/UIUtile.java
View file @
b66d516c
...
...
@@ -36,28 +36,28 @@ public class UIUtile {
public
static
final
String
TAG
=
"ui_log"
;
/**
*
地球半径,单位
km
*
지구 반경 단위
km
*/
private
static
final
double
EARTH_RADIUS
=
6378.137
;
/**
*
改变tabLayout指示器宽度
*
tabLayot 인디케이터 폭 변경
*
* @param tabLayout
*/
public
static
void
reflex
(
final
TabLayout
tabLayout
)
{
//
了解源码得知 线的宽度是根据 tabView的宽度来设置的
//
소스 코드 를 알 아 보 니 라인 의 너 비 는 tabView 의 넓이 에 따라 설 치 된 것 입 니 다.
tabLayout
.
post
(
new
Runnable
()
{
@Override
public
void
run
()
{
try
{
//
拿到tabLayout的mTabStrip属性
//
tabLayot 의 mTabStrip 속성 가 져 오기
LinearLayout
mTabStrip
=
(
LinearLayout
)
tabLayout
.
getChildAt
(
0
);
for
(
int
i
=
0
;
i
<
mTabStrip
.
getChildCount
();
i
++)
{
View
tabView
=
mTabStrip
.
getChildAt
(
i
);
//
拿到tabView的mTextView属性 tab的字数不固定一定用反射取mTextView
//
tabView 를 가 져 온 mTextView 속성 tab 의 글자 수 는 고정 되 지 않 고 반드시 mTextView 를 반사 해서 취하 십시오.
Field
mTextViewField
=
tabView
.
getClass
().
getDeclaredField
(
"mTextView"
);
mTextViewField
.
setAccessible
(
true
);
...
...
@@ -65,7 +65,7 @@ public class UIUtile {
tabView
.
setPadding
(
0
,
0
,
0
,
0
);
//
因为我想要的效果是 字多宽线就多宽,所以测量mTextView的宽度
//
내 가 원 하 는 효 과 는 글자 가 많 고 선 이 넓 기 때문에 mTextView 의 폭 을 재 는 것 이다.
int
width
=
0
;
width
=
mTextView
.
getWidth
();
if
(
width
==
0
)
{
...
...
@@ -73,7 +73,7 @@ public class UIUtile {
width
=
mTextView
.
getMeasuredWidth
();
}
//
设置tab左右间距为10dp 注意这里不能使用Padding 因为源码中线的宽度是根据 tabView的宽度来设置的
//
tab 좌우 간격 을 10dp 로 설정 합 니 다. 여 기 는 Padding 을 사용 할 수 없습니다.
LinearLayout
.
LayoutParams
params
=
(
LinearLayout
.
LayoutParams
)
tabView
.
getLayoutParams
();
params
.
width
=
width
;
params
.
leftMargin
=
tabView
.
getMeasuredWidth
()
/
2
-
width
/
2
;
...
...
@@ -94,18 +94,18 @@ public class UIUtile {
public
static
void
reflexTow
(
final
TabLayout
tabLayout
)
{
//
了解源码得知 线的宽度是根据 tabView的宽度来设置的
//
소스 코드 를 알 아 보 니 라인 의 너 비 는 tabView 의 넓이 에 따라 설 치 된 것 입 니 다.
tabLayout
.
post
(
new
Runnable
()
{
@Override
public
void
run
()
{
try
{
//
拿到tabLayout的mTabStrip属性
//
tabLayot 의 mTabStrip 속성 가 져 오기
LinearLayout
mTabStrip
=
(
LinearLayout
)
tabLayout
.
getChildAt
(
0
);
for
(
int
i
=
0
;
i
<
mTabStrip
.
getChildCount
();
i
++)
{
View
tabView
=
mTabStrip
.
getChildAt
(
i
);
//
拿到tabView的mTextView属性 tab的字数不固定一定用反射取mTextView
//
tabView 를 가 져 온 mTextView 속성 tab 의 글자 수 는 고정 되 지 않 고 반드시 mTextView 를 반사 해서 취하 십시오.
Field
mTextViewField
=
tabView
.
getClass
().
getDeclaredField
(
"mTextView"
);
mTextViewField
.
setAccessible
(
true
);
...
...
@@ -113,7 +113,7 @@ public class UIUtile {
tabView
.
setPadding
(
0
,
0
,
0
,
0
);
//
因为我想要的效果是 字多宽线就多宽,所以测量mTextView的宽度
//
내 가 원 하 는 효 과 는 글자 가 많 고 선 이 넓 기 때문에 mTextView 의 폭 을 재 는 것 이다.
int
width
=
0
;
width
=
mTextView
.
getWidth
();
if
(
width
==
0
)
{
...
...
@@ -121,7 +121,7 @@ public class UIUtile {
width
=
mTextView
.
getMeasuredWidth
();
}
//
设置tab左右间距为10dp 注意这里不能使用Padding 因为源码中线的宽度是根据 tabView的宽度来设置的
//
tab 좌우 간격 을 10dp 로 설정 합 니 다. 여 기 는 Padding 을 사용 할 수 없습니다.
LinearLayout
.
LayoutParams
params
=
(
LinearLayout
.
LayoutParams
)
tabView
.
getLayoutParams
();
params
.
width
=
width
;
params
.
leftMargin
=
(
tabView
.
getMeasuredWidth
()
/
3
);
...
...
@@ -141,7 +141,7 @@ public class UIUtile {
}
/**
* xml
转换成View
* xml
를 View 로 변환 하 다
*
* @param layoutId
* @param parent
...
...
@@ -153,7 +153,7 @@ public class UIUtile {
}
/**
*
处理价格
*
처리 가격
*/
@NotNull
public
static
String
stringToPrice
(
String
s
)
{
...
...
@@ -164,13 +164,13 @@ public class UIUtile {
return
"₩"
+
new
DecimalFormat
(
"#"
).
format
(
Double
.
valueOf
(
s
));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
Log
.
e
(
TAG
,
"
数据转换错误
"
);
Log
.
e
(
TAG
,
"
데이터 변환 오류
"
);
}
return
"0"
;
}
/**
*
处理价格
*
처리 가격
*/
@NotNull
public
static
String
stringToPrice
(
double
s
)
{
...
...
@@ -178,13 +178,13 @@ public class UIUtile {
return
"₩"
+
new
DecimalFormat
(
"#"
).
format
(
s
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
Log
.
e
(
TAG
,
"
数据转换错误
"
);
Log
.
e
(
TAG
,
"
데이터 변환 오류
"
);
}
return
"0"
;
}
/**
*
处理价格
,String to double
*
처리 가격
,String to double
*/
@NotNull
public
static
Double
stringToDouble
(
String
s
)
{
...
...
@@ -195,22 +195,29 @@ public class UIUtile {
return
Double
.
valueOf
(
new
DecimalFormat
(
"#"
).
format
(
Double
.
valueOf
(
s
)));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
Log
.
e
(
TAG
,
"
数据转换错误
"
);
Log
.
e
(
TAG
,
"
데이터 변환 오류
"
);
}
return
0.00
;
}
/**
*
处理邮票
*
우 표를 처리 하 다
*/
@NotNull
public
static
String
stringToStamp
(
String
s
)
{
try
{
String
zhang
=
"장"
;
if
(
SPUtil
.
getInstance
(
DankalApplication
.
getContext
()).
getSelectLanguage
()
==
1
)
{
int
languageType
=
SPUtil
.
getInstance
(
DankalApplication
.
getContext
()).
getSelectLanguage
();
if
(
languageType
==
1
)
{
zhang
=
"장"
;
}
else
{
}
else
if
(
languageType
==
0
)
{
zhang
=
"张"
;
}
else
if
(
languageType
==
2
)
{
zhang
=
""
;
}
else
if
(
languageType
==
3
)
{
zhang
=
"枚"
;
}
int
index
=
s
.
indexOf
(
"."
);
if
(
index
!=
-
1
)
{
...
...
@@ -219,33 +226,38 @@ public class UIUtile {
return
s
+
zhang
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
Log
.
e
(
TAG
,
"
数据转换错误
"
);
Log
.
e
(
TAG
,
"
데이터 변환 오류
"
);
}
return
""
;
}
/**
*
处理邮票
*
우 표를 처리 하 다
*/
@NotNull
public
static
String
stringToStamp
(
int
s
)
{
try
{
String
zhang
=
"장"
;
if
(
SPUtil
.
getInstance
(
DankalApplication
.
getContext
()).
getSelectLanguage
()
==
1
)
{
int
languageType
=
SPUtil
.
getInstance
(
DankalApplication
.
getContext
()).
getSelectLanguage
();
if
(
languageType
==
1
)
{
zhang
=
"장"
;
}
else
{
}
else
if
(
languageType
==
0
)
{
zhang
=
"张"
;
}
else
if
(
languageType
==
2
)
{
zhang
=
""
;
}
else
if
(
languageType
==
3
)
{
zhang
=
"枚"
;
}
return
s
+
zhang
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
Log
.
e
(
TAG
,
"
数据转换错误
"
);
Log
.
e
(
TAG
,
"
데이터 변환 오류
"
);
}
return
DankalApplication
.
getContext
().
getString
(
R
.
string
.
zhang
);
}
/**
*
处理价格,不带¥
*
처리 가격 은 ¥ 하지 않 는 다.
*/
public
static
String
stringToPriceTow
(
String
s
)
{
try
{
...
...
@@ -255,13 +267,13 @@ public class UIUtile {
return
new
DecimalFormat
(
"#"
).
format
(
Double
.
valueOf
(
s
));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
Log
.
e
(
TAG
,
"
数据转换错误
"
);
Log
.
e
(
TAG
,
"
데이터 변환 오류
"
);
}
return
"0"
;
}
/*
*
将时间戳转换为时间
*
타임 스탬프 를 시간 으로 변환
*/
public
static
String
stampToDate
(
String
s
)
{
String
res
;
...
...
@@ -273,7 +285,7 @@ public class UIUtile {
}
/*
*
将时间转换为时间戳
*
시간 을 타임스탬프 로 변환 하 다
*/
public
static
long
dateToStamp
(
String
s
)
throws
ParseException
{
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
...
...
@@ -283,7 +295,7 @@ public class UIUtile {
}
/**
*
计算时间差,是否超过二十四小时
*
계산 시간 차, 24 시간 초과 여부
*/
public
static
boolean
isBeyond
(
long
startTime
,
long
endTime
)
{
double
hours
=
(
double
)
(
startTime
-
endTime
)
/
3600
/
1000
;
...
...
@@ -295,7 +307,7 @@ public class UIUtile {
}
/**
*
计算时间差,是否超过7天
*
계산 시간 차, 7 일 초과 여부
*/
public
static
boolean
isBeyondDay
(
long
startTime
,
long
endTime
)
{
double
hours
=
(
double
)
(
startTime
-
endTime
)
/
3600
/
1000
;
...
...
@@ -307,10 +319,10 @@ public class UIUtile {
}
/**
*
获取用户距离餐馆的 距离
*
식당 에서 사용자 거리 확보
*
* @param lng
用户经度
* @param lat
用户纬度
* @param lng
사용자 경도
* @param lat
사용자 위도
*/
public
static
String
getDistanceTow
(
double
lng
,
double
lat
,
double
lng2
,
double
lat2
)
{
Double
dis
=
getDistance
(
lng
,
lat
,
lng2
,
lat2
);
...
...
@@ -325,35 +337,35 @@ public class UIUtile {
}
/**
*
根据经纬度,计算两点间的距离
*
경위 에 근거 하여 두 점 간 의 거 리 를 계산 하 다.
*
* @param longitude1
第一个点的经度
* @param latitude1
第一个点的纬度
* @param longitude2
第二个点的经度
* @param latitude2
第二个点的纬度
* @return
返回距离 单位千米
* @param longitude1
첫 번 째 점 의 경도.
* @param latitude1
첫 번 째 위도.
* @param longitude2
두 번 째 점 의 경도
* @param latitude2
두 번 째 점 의 위도
* @return
복귀 거리 단위 천 미터
*/
public
static
double
getDistance
(
double
longitude1
,
double
latitude1
,
double
longitude2
,
double
latitude2
)
{
//
纬度
//
위도.
double
lat1
=
Math
.
toRadians
(
latitude1
);
double
lat2
=
Math
.
toRadians
(
latitude2
);
//
经度
//
경도.
double
lng1
=
Math
.
toRadians
(
longitude1
);
double
lng2
=
Math
.
toRadians
(
longitude2
);
//
纬度之差
//
위도 의 차이
double
a
=
lat1
-
lat2
;
//
经度之差
//
경도 의 차이
double
b
=
lng1
-
lng2
;
//
计算两点距离的公式
//
두 점 거 리 를 계산 하 는 공식.
double
s
=
2
*
Math
.
asin
(
Math
.
sqrt
(
Math
.
pow
(
Math
.
sin
(
a
/
2
),
2
)
+
Math
.
cos
(
lat1
)
*
Math
.
cos
(
lat2
)
*
Math
.
pow
(
Math
.
sin
(
b
/
2
),
2
)));
//
弧长乘地球半径, 返回单位: 千米
//
아크 길이 지구 반경 곱 하기, 복귀 단위: 천 미터
s
=
s
*
EARTH_RADIUS
;
return
s
;
}
/**
*
富文本拼接成HTML
*
부 텍스트 를 HTML 로 맞 춥 니 다.
*
* @param text
* @return
...
...
app/src/main/java/cn/dankal/user/forget/ForgetPasswordHomeActivity.kt
View file @
b66d516c
...
...
@@ -44,11 +44,11 @@ class ForgetPasswordHomeActivity : BaseActivity() {
var
options
=
mutableListOf
<
Int
>()
var
optionsShow
=
mutableListOf
<
String
>()
//
显示文本
var
optionsShow
=
mutableListOf
<
String
>()
//
텍스트 보이 기
private
var
smsCodeImpl
:
SmsCodeImpl
?
=
null
var
phoneCode
=
82
//
默认手机区域码
var
phoneCode
=
82
//
기본 핸드폰 구역 코드
override
fun
getLayoutId
():
Int
{
return
R
.
layout
.
activity_forget_password_home
...
...
@@ -58,7 +58,7 @@ class ForgetPasswordHomeActivity : BaseActivity() {
addSingleTitleBar
(
getString
(
R
.
string
.
Forget_the_password
))
smsCodeImpl
=
SmsCodeImpl
(
this
)
//
初始化手机类型数据
//
핸드폰 유형 데이터 초기 화
initPhoneTypeData
()
ll_forget_phone
.
setOnClickListener
{
...
...
@@ -70,17 +70,17 @@ class ForgetPasswordHomeActivity : BaseActivity() {
}
//
手机号找回密码,下一步
//
핸드폰 번호 비밀번호 찾기, 다음 단계
bt_phone_next
.
setOnClickListener
{
var
phone
=
et_phone_num
.
text
.
toString
().
trim
()
var
code
=
et_passwd
.
text
.
toString
().
trim
()
//
判断手机号码
//
핸드폰 번호 판단
if
(
TextUtils
.
isEmpty
(
phone
))
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
Please_enter_your_cell_phone_number
))
return
@setOnClickListener
}
//
判断验证码
//
판단 인증번호
if
(
TextUtils
.
isEmpty
(
code
))
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
Please_enter_the_verification_code
))
return
@setOnClickListener
...
...
@@ -88,33 +88,33 @@ class ForgetPasswordHomeActivity : BaseActivity() {
verificationPhoneAndCode
(
phone
,
code
,
0
)
}
//
电话类型选择
//
전화 유형 선택
tv_pop_select
.
setOnClickListener
{
KeyBoardUtil
.
closeKeybord
(
et_phone_num
)
showPhoneTypeWindows
()
}
//
获取手机号验证码
//
핸드폰 번호 인증번호 가 져 오기
btn_code
.
setOnClickListener
{
var
phone
=
et_phone_num
.
text
.
toString
().
trim
()
if
(
TextUtils
.
isEmpty
(
phone
))
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
Please_enter_your_cell_phone_number
))
return
@setOnClickListener
}
//
调用获取验证码接口
//
호출 인증번호 인터페이스
smsCodeImpl
?.
getCode
(
phone
,
phoneCode
.
toString
(),
btn_code
,
"0"
)
}
//
获取邮箱验证码
//
메 일 박스 인증번호 가 져 오기
btn_email_code
.
setOnClickListener
{
var
email
=
et_email_num
.
text
.
toString
()
if
(
TextUtils
.
isEmpty
(
email
))
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
Please_enter_your_mailbox
))
return
@setOnClickListener
}
//
调用获取邮箱验证码接口
//
호출 획득 메 일주 소 인증번호 인터페이스
smsCodeImpl
?.
getEmailCode
(
email
,
btn_email_code
)
}
...
...
@@ -135,8 +135,8 @@ class ForgetPasswordHomeActivity : BaseActivity() {
}
setPhoneInputListen
()
//
手机号输入监听
setEmailInputListen
()
//
邮箱监听
setPhoneInputListen
()
//
핸드폰 번호 입력 감청
setEmailInputListen
()
//
메 일 박스 모니터링
}
private
fun
updateStates
(
states
:
Boolean
)
{
...
...
@@ -161,10 +161,10 @@ class ForgetPasswordHomeActivity : BaseActivity() {
}
/**
*
校验手机号和验证码
*
校验邮箱和验证码
*
핸드폰 번호 와 인증번호 확인
*
메 일주 소 체크 와 인증번호
*
* type
=0,手机号校验,type=1邮箱校验
* type
= 0, 핸드폰 번호 검사, type = 1 메 일주 소 검사
*/
private
fun
verificationPhoneAndCode
(
phone
:
String
,
code
:
String
,
type
:
Int
)
{
if
(
smsCodeImpl
?.
uuid
==
null
)
{
...
...
@@ -190,7 +190,7 @@ class ForgetPasswordHomeActivity : BaseActivity() {
/**
*
忘记密码邮箱登录,->跳去修改密码
*
비밀번호 잊 고 이메일 로그 인, - > 비밀번호 고치 기
*/
private
fun
requestLogin
(
email
:
String
)
{
UserServiceFactory
.
emailLogin
(
email
).
subscribe
(
object
:
AbstractDialogSubscriber
<
UserInfoBean
>(
this
)
{
...
...
@@ -231,7 +231,7 @@ class ForgetPasswordHomeActivity : BaseActivity() {
private
fun
showPhoneTypeWindows
()
{
val
pvOptions
=
OptionsPickerBuilder
(
this
,
OnOptionsSelectListener
{
options1
,
options2
,
options3
,
v
->
//
返回的分别是三个级别的选中位置
//
3 개의 등급 으로 돌아 가 는 선 택 된 위치 입 니 다.
val
opt1tx
=
if
(
options
.
size
>
0
)
options
[
options1
]
else
...
...
@@ -246,11 +246,11 @@ class ForgetPasswordHomeActivity : BaseActivity() {
.
setSubmitText
(
getString
(
R
.
string
.
ok
))
.
setCancelColor
(
Color
.
parseColor
(
"#4A4A4A"
))
.
setSubmitColor
(
Color
.
parseColor
(
"#FF6B5C"
))
.
setTextColorCenter
(
Color
.
BLACK
)
//设置选中项文字颜色
.
setTextColorCenter
(
Color
.
BLACK
)
.
setContentTextSize
(
20
)
.
build
<
Any
>()
pvOptions
.
setPicker
(
optionsShow
as
List
<
Any
>?)
//
一级选择器
pvOptions
.
setPicker
(
optionsShow
as
List
<
Any
>?)
//
1 급 선택 기
pvOptions
.
show
()
}
...
...
app/src/main/java/cn/dankal/user/login/FindEmailActivity.kt
View file @
b66d516c
...
...
@@ -40,32 +40,32 @@ class FindEmailActivity : BaseActivity(), View.OnClickListener {
var
options
=
mutableListOf
<
Int
>()
var
optionsShow
=
mutableListOf
<
String
>()
//
显示文本
var
optionsShow
=
mutableListOf
<
String
>()
//
텍스트 보이 기
var
phoneCode
=
82
//
默认手机区域码
var
phoneCode
=
82
//
기본 핸드폰 구역 코드
override
fun
onClick
(
v
:
View
?)
{
when
(
v
?.
id
)
{
R
.
id
.
btn_code
->
{
var
phone
=
et_phone_num
.
text
.
toString
().
trim
()
//
判断手机号码
//
핸드폰 번호 판단
if
(
TextUtils
.
isEmpty
(
phone
))
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
Please_enter_your_cell_phone_number
))
return
}
//
调用获取验证码接口
//
호출 인증번호 인터페이스
smsCodeImpl
?.
getCode
(
phone
,
phoneCode
.
toString
(),
btn_code
,
"0"
)
}
R
.
id
.
bt_next
->
{
var
phone
=
et_phone_num
.
text
.
toString
().
trim
()
var
code
=
et_passwd
.
text
.
toString
().
trim
()
//
判断手机号码
//
핸드폰 번호 판단
if
(
TextUtils
.
isEmpty
(
phone
))
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
Please_enter_your_cell_phone_number
))
return
}
//
判断验证码
//
판단 인증번호
if
(
TextUtils
.
isEmpty
(
code
))
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
Please_enter_the_verification_code
))
return
...
...
@@ -73,7 +73,7 @@ class FindEmailActivity : BaseActivity(), View.OnClickListener {
verificationPhoneAndCode
(
phone
,
code
)
}
R
.
id
.
tv_pop_select
->
{
//
显示底部手机号码选择弹窗
R
.
id
.
tv_pop_select
->
{
//
밑 에 핸드폰 번호 표시 팝 업 창 선택
if
(
options
.
size
==
0
)
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
Data_is_being_initialized
))
return
...
...
@@ -86,7 +86,7 @@ class FindEmailActivity : BaseActivity(), View.OnClickListener {
private
fun
showPhoneTypeWindows
()
{
val
pvOptions
=
OptionsPickerBuilder
(
this
,
OnOptionsSelectListener
{
options1
,
options2
,
options3
,
v
->
//返回的分别是三个级别的选中位置
val
opt1tx
=
if
(
options
.
size
>
0
)
options
[
options1
]
else
...
...
@@ -101,16 +101,16 @@ class FindEmailActivity : BaseActivity(), View.OnClickListener {
.
setSubmitText
(
getString
(
R
.
string
.
ok
))
.
setCancelColor
(
Color
.
parseColor
(
"#4A4A4A"
))
.
setSubmitColor
(
Color
.
parseColor
(
"#FF6B5C"
))
.
setTextColorCenter
(
Color
.
BLACK
)
//设置选中项文字颜色
.
setTextColorCenter
(
Color
.
BLACK
)
.
setContentTextSize
(
20
)
.
build
<
Any
>()
pvOptions
.
setPicker
(
optionsShow
as
List
<
Any
>?)
//一级选择器
pvOptions
.
setPicker
(
optionsShow
as
List
<
Any
>?)
pvOptions
.
show
()
}
/**
*
校验手机号和验证码
*
핸드폰 번호 와 인증번호 확인
*/
private
fun
verificationPhoneAndCode
(
phone
:
String
,
code
:
String
)
{
if
(
smsCodeImpl
==
null
||
smsCodeImpl
?.
uuid
==
null
)
{
...
...
@@ -123,10 +123,10 @@ class FindEmailActivity : BaseActivity(), View.OnClickListener {
map
[
"phone"
]
=
phone
UserServiceFactory
.
smsCode
(
map
).
subscribe
(
object
:
AbstractDialogSubscriber
<
ResponseBody
>(
this
)
{
override
fun
onNext
(
t
:
ResponseBody
)
{
//
找回邮箱
//
메 일주 소 찾기
UserServiceFactory
.
findEmail
(
phone
).
subscribe
(
object
:
AbstractDialogSubscriber
<
FindEmailEntity
>(
this
@FindEmailActivity
)
{
override
fun
onNext
(
t
:
FindEmailEntity
)
{
//
验证成功跳转到邮箱界面
//
검증 성공 메 일주 소 인터페이스 로 전송
ARouter
.
getInstance
().
build
(
FIND_EMAIL_TOW
).
withString
(
"email"
,
t
.
email
).
navigation
()
}
})
...
...
@@ -153,7 +153,7 @@ class FindEmailActivity : BaseActivity(), View.OnClickListener {
setInputListen
()
//
初始化手机类型数据
//
핸드폰 유형 데이터 초기 화
initPhoneTypeData
()
}
...
...
app/src/main/java/cn/dankal/user/login/FindEmailTowActivity.kt
View file @
b66d516c
...
...
@@ -52,7 +52,7 @@ class FindEmailTowActivity : BaseActivity() {
}
/**
*
忘记密码邮箱登录
*
비밀번호 잊 고 이메일 로그 인
*/
private
fun
requestLogin
(
email
:
String
)
{
UserServiceFactory
.
emailLogin
(
email
).
subscribe
(
object
:
AbstractDialogSubscriber
<
UserInfoBean
>(
this
)
{
...
...
@@ -88,7 +88,7 @@ class FindEmailTowActivity : BaseActivity() {
// Get new Instance ID token
val
token
=
task
.
result
?.
token
//上传到服务器
var
map
=
HashMap
<
String
,
Any
?>()
map
[
"fcm_token"
]
=
token
map
[
"type"
]
=
0
...
...
app/src/main/java/cn/dankal/user/login/LanguageSelectActivity.kt
View file @
b66d516c
...
...
@@ -35,18 +35,18 @@ class LanguageSelectActivity : BaseActivity() {
}
override
fun
initComponents
()
{
//
判断是否为第一次进入
//
첫 입장 여 부 를 판단 하 다
if
(
SPUtils
.
get
(
Constant
.
FIRST_IN
,
true
)
as
Boolean
)
{
ll_select_bg
.
visibility
=
View
.
VISIBLE
}
else
{
if
(
DankalApplication
.
isLogin
())
{
//
已登录
//
判断信息是否初始完成
if
(
DankalApplication
.
isLogin
())
{
//
로그 인 됨
//
정보의 초기 완성 여 부 를 판단 하 다.
if
(
TextUtils
.
isEmpty
(
DKUserManager
.
getUserInfo
().
phone
))
{
ARouter
.
getInstance
().
build
(
LoginProtocol
.
LOGIN
).
navigation
()
}
else
{
ARouter
.
getInstance
().
build
(
MainProtocol
.
MAIN
).
navigation
()
}
}
else
{
//
没有登录
}
else
{
//
로그 인 하지 않 음
ARouter
.
getInstance
().
build
(
LoginProtocol
.
LOGIN
).
navigation
()
}
}
...
...
app/src/main/java/cn/dankal/user/login/LoginActivity.kt
View file @
b66d516c
...
...
@@ -84,17 +84,17 @@ class LoginActivity : BaseActivity() {
accountLogin
(
account
,
pass
)
}
//
注册
//
등록 하 다.
tv_register_account
.
setOnClickListener
{
ARouter
.
getInstance
().
build
(
REGISTER
).
navigation
()
}
//
忘记密码
//
비밀 번 호 를 잊어버리다.
tv_forget
.
setOnClickListener
{
ARouter
.
getInstance
().
build
(
FORGET_PASSWORD
).
navigation
()
}
//
找回邮箱
//
메 일주 소 찾기
tv_find_email
.
setOnClickListener
{
ARouter
.
getInstance
().
build
(
FIND_EMAIL
).
navigation
()
}
...
...
@@ -114,7 +114,7 @@ class LoginActivity : BaseActivity() {
mRxPermissions
?.
let
{
it
.
request
(
Permission
.
ACCESS_COARSE_LOCATION
,
Permission
.
READ_PHONE_STATE
).
subscribe
({
if
(
it
)
{
//
权限被允许
//
권한 이 허용 되다
initLocation
()
}
else
{
val
builder
=
CommonDialog
.
Builder
(
this
)
...
...
@@ -140,10 +140,10 @@ class LoginActivity : BaseActivity() {
}
/**
*
微信登录
*
위 챗 로그 인
*/
private
fun
setWeChatLogin
()
{
//跳往 WXEntryActivity
val
req
=
SendAuth
.
Req
()
req
.
scope
=
"snsapi_userinfo"
req
.
state
=
"dankal-android-login"
...
...
@@ -189,7 +189,7 @@ class LoginActivity : BaseActivity() {
}
/**
*
账号登录
*
계 정 로그 인
*
* @param email
* @param pass
...
...
@@ -201,7 +201,7 @@ class LoginActivity : BaseActivity() {
UserServiceFactory
.
accountLogin
(
map
).
subscribe
(
object
:
AbstractDialogSubscriber
<
UserInfoBean
>(
this
)
{
override
fun
onNext
(
userInfoBean
:
UserInfoBean
)
{
DankalApplication
.
setLogin
(
true
)
//设置账号已登录
DankalApplication
.
setLogin
(
true
)
val
userResponseBody
=
UserResponseBody
()
val
tokenBean
=
UserResponseBody
.
TokenBean
()
tokenBean
.
token
=
userInfoBean
.
access_token
...
...
@@ -212,7 +212,7 @@ class LoginActivity : BaseActivity() {
DKUserManager
.
saveUserInfo
(
userResponseBody
)
DKUserManager
.
updateUserInfo
(
userInfoBean
)
//
上传
Firebase的token
//
업로드 하 다.
Firebase的token
uploadFireBaseToken
()
ARouter
.
getInstance
().
build
(
MainProtocol
.
MAIN
).
navigation
()
...
...
@@ -234,7 +234,7 @@ class LoginActivity : BaseActivity() {
Log
.
i
(
"FirebaseInstanceId"
,
token
)
//
上传到服务器
//
서버 에 업로드 하 다
var
map
=
HashMap
<
String
,
Any
?>()
map
[
"fcm_token"
]
=
token
map
[
"type"
]
=
0
...
...
@@ -258,7 +258,7 @@ class LoginActivity : BaseActivity() {
AppUtils
.
finishAllActivities
()
Handler
().
postDelayed
({
try
{
//
杀死该应用进程
//
이 프로 세 스 를 죽 입 니 다.
android
.
os
.
Process
.
killProcess
(
android
.
os
.
Process
.
myPid
())
System
.
exit
(
0
)
}
catch
(
e
:
Exception
)
{
...
...
app/src/main/java/cn/dankal/user/modify/EmailUpdatePasswordActivity.kt
View file @
b66d516c
...
...
@@ -17,7 +17,7 @@ import kotlinx.android.synthetic.main.activity_email_update_password.*
import
okhttp3.ResponseBody
/**
*
修改密码-用于邮箱验证登录后修改
*
비밀번호 변경 - 메 일 인증 로그 인 후 수정 에 사용
*/
@Route
(
path
=
EMAIL_UPDATE_PASSWORD
)
class
EmailUpdatePasswordActivity
:
BaseActivity
(),
View
.
OnClickListener
{
...
...
app/src/main/java/cn/dankal/user/modify/ModifyEmailActivity.kt
View file @
b66d516c
...
...
@@ -19,7 +19,7 @@ import okhttp3.ResponseBody
/**
* Created by zhengpeng on 2019/6/17.
*
修改邮箱
*
메 일 박스 수정
*/
@Route
(
path
=
UPDATE_EMAIL
)
class
ModifyEmailActivity
:
BaseActivity
(),
View
.
OnClickListener
{
...
...
@@ -75,16 +75,16 @@ class ModifyEmailActivity : BaseActivity(), View.OnClickListener {
setInputListen
()
}
//
请求接口判断邮箱是否存在
//
요청 인터페이스 판단 메 일주 소 존재 여부
private
fun
requestIsEmail
(
email
:
String
)
{
UserServiceFactory
.
isRegister
(
email
,
1
).
subscribe
(
object
:
AbstractDialogSubscriber
<
IsRegisterPhoneOrEmailEntity
>(
this
)
{
override
fun
onNext
(
t
:
IsRegisterPhoneOrEmailEntity
)
{
t
.
apply
{
if
(
"10001"
==
reason
)
{
//
邮箱存在
if
(
"10001"
==
reason
)
{
//
메 일주 소 존재
tv_email_register
.
text
=
getString
(
R
.
string
.
mailbox_id_is_registered
)
et_phone_num
.
setTextColor
(
ContextCompat
.
getColor
(
this
@ModifyEmailActivity
,
R
.
color
.
btn_bg
))
}
else
{
//
不存在
//
调用获取邮箱验证码接口
}
else
{
//
존재 하지 않 음
//
호출 획득 메 일주 소 인증번호 인터페이스
smsCodeImpl
?.
getEmailCode
(
email
,
btn_code
)
}
}
...
...
@@ -93,7 +93,7 @@ class ModifyEmailActivity : BaseActivity(), View.OnClickListener {
}
/**
*
校验邮箱和验证码
*
메 일주 소 체크 와 인증번호
*/
private
fun
verificationPhoneAndCode
(
email
:
String
,
code
:
String
)
{
var
map
=
HashMap
<
String
,
Any
?>()
...
...
@@ -102,8 +102,8 @@ class ModifyEmailActivity : BaseActivity(), View.OnClickListener {
map
[
"phone"
]
=
email
UserServiceFactory
.
smsCode
(
map
).
subscribe
(
object
:
AbstractDialogSubscriber
<
ResponseBody
>(
this
)
{
override
fun
onNext
(
t
:
ResponseBody
)
{
//
邮箱验证成功,修改邮箱
//
修改手机号
//
메 일 박스 인증 성공, 메 일 박스 수정
//
핸드폰 번호 를 고치다
var
map
=
HashMap
<
String
,
Any
?>()
map
[
"avatar"
]
=
""
map
[
"email"
]
=
email
...
...
app/src/main/java/cn/dankal/user/modify/ModifyPhoneActivity.kt
View file @
b66d516c
...
...
@@ -26,7 +26,7 @@ import okhttp3.ResponseBody
/**
* Created by zhengpeng on 2019/6/16.
*
修改手机号
*
핸드폰 번호 를 고치다
*/
@Route
(
path
=
UPDATE_PHONE
)
class
ModifyPhoneActivity
:
BaseActivity
(),
View
.
OnClickListener
{
...
...
@@ -36,9 +36,9 @@ class ModifyPhoneActivity : BaseActivity(), View.OnClickListener {
var
options
=
mutableListOf
<
Int
>()
var
optionsShow
=
mutableListOf
<
String
>()
//显示文本
var
optionsShow
=
mutableListOf
<
String
>()
var
phoneCode
=
82
//默认手机区域码
var
phoneCode
=
82
private
var
phoneIsEmpty
=
true
private
var
passwordIsEmpty
=
true
...
...
@@ -47,7 +47,7 @@ class ModifyPhoneActivity : BaseActivity(), View.OnClickListener {
when
(
v
?.
id
)
{
R
.
id
.
btn_code
->
{
var
phone
=
et_phone_num
.
text
.
toString
().
trim
()
//判断手机号码
if
(
TextUtils
.
isEmpty
(
phone
))
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
Please_enter_your_cell_phone_number
))
return
...
...
@@ -58,12 +58,12 @@ class ModifyPhoneActivity : BaseActivity(), View.OnClickListener {
var
phone
=
et_phone_num
.
text
.
toString
().
trim
()
var
code
=
et_passwd
.
text
.
toString
().
trim
()
//判断手机号码
if
(
TextUtils
.
isEmpty
(
phone
))
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
Please_enter_your_cell_phone_number
))
return
}
//判断验证码
if
(
TextUtils
.
isEmpty
(
code
))
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
Please_enter_the_verification_code
))
return
...
...
@@ -87,16 +87,16 @@ class ModifyPhoneActivity : BaseActivity(), View.OnClickListener {
}
/**
*
判断当前手机号是否存在
*
현재 핸드폰 번호 가 존재 하 는 지 여 부 를 판단 하 다.
*/
private
fun
isPhoneExist
(
phone
:
String
)
{
UserServiceFactory
.
isRegister
(
phone
,
0
).
subscribe
(
object
:
AbstractDialogSubscriber
<
IsRegisterPhoneOrEmailEntity
>(
this
)
{
override
fun
onNext
(
t
:
IsRegisterPhoneOrEmailEntity
)
{
t
.
apply
{
if
(
"10001"
==
reason
)
{
//
手机号码存在,去验证手机是否绑定第三方账号
if
(
"10001"
==
reason
)
{
//
핸드폰 번호 가 존재 하 므 로 핸드폰 이 제3자 계 정 에 연결 되 었 는 지 확인 하 세 요.
ToastUtils
.
showShort
(
getString
(
R
.
string
.
Mobile_phone_number_already_exists
))
}
else
{
//不存在
//
调用获取验证码接口
}
else
{
//
호출 인증번호 인터페이스
smsCodeImpl
?.
getCode
(
phone
,
phoneCode
.
toString
(),
btn_code
,
"0"
)
}
}
...
...
@@ -123,7 +123,7 @@ class ModifyPhoneActivity : BaseActivity(), View.OnClickListener {
private
fun
showPhoneTypeWindows
()
{
val
pvOptions
=
OptionsPickerBuilder
(
this
,
OnOptionsSelectListener
{
options1
,
options2
,
options3
,
v
->
//
返回的分别是三个级别的选中位置
//
3 개의 등급 으로 돌아 가 는 선 택 된 위치 입 니 다.
val
opt1tx
=
if
(
options
.
size
>
0
)
options
[
options1
]
else
...
...
@@ -138,16 +138,16 @@ class ModifyPhoneActivity : BaseActivity(), View.OnClickListener {
.
setSubmitText
(
getString
(
R
.
string
.
ok
))
.
setCancelColor
(
Color
.
parseColor
(
"#4A4A4A"
))
.
setSubmitColor
(
Color
.
parseColor
(
"#FF6B5C"
))
.
setTextColorCenter
(
Color
.
BLACK
)
//
设置选中项文字颜色
.
setTextColorCenter
(
Color
.
BLACK
)
//
선택 한 텍스트 색상 설정
.
setContentTextSize
(
20
)
.
build
<
Any
>()
pvOptions
.
setPicker
(
optionsShow
as
List
<
Any
>?)
//一级选择器
pvOptions
.
setPicker
(
optionsShow
as
List
<
Any
>?)
pvOptions
.
show
()
}
/**
*
校验手机号和验证码
*
핸드폰 번호 와 인증번호 확인
*/
private
fun
verificationPhoneAndCode
(
phone
:
String
,
code
:
String
)
{
var
map
=
HashMap
<
String
,
Any
?>()
...
...
@@ -156,7 +156,7 @@ class ModifyPhoneActivity : BaseActivity(), View.OnClickListener {
map
[
"phone"
]
=
phone
UserServiceFactory
.
smsCode
(
map
).
subscribe
(
object
:
AbstractDialogSubscriber
<
ResponseBody
>(
this
)
{
override
fun
onNext
(
t
:
ResponseBody
)
{
//
修改手机号
//
핸드폰 번호 를 고치다
var
map
=
HashMap
<
String
,
Any
?>()
map
[
"avatar"
]
=
""
map
[
"email"
]
=
""
...
...
app/src/main/java/cn/dankal/user/register/ProtocolActivity.kt
View file @
b66d516c
...
...
@@ -18,7 +18,7 @@ import com.alibaba.android.arouter.facade.annotation.Route
import
kotlinx.android.synthetic.main.activity_protocol.*
/**
*
协议
*
협의 하 다.
*/
@Route
(
path
=
LoginProtocol
.
PROTOCOL
)
class
ProtocolActivity
:
BaseActivity
()
{
...
...
@@ -27,8 +27,8 @@ class ProtocolActivity : BaseActivity() {
@JvmField
var
type
:
Int
=
0
private
var
mTitle
=
""
//标题
private
var
mContent
=
""
//内容
private
var
mTitle
=
""
private
var
mContent
=
""
override
fun
getLayoutId
():
Int
{
return
R
.
layout
.
activity_protocol
...
...
@@ -46,14 +46,14 @@ class ProtocolActivity : BaseActivity() {
"</style>"
t
?.
apply
{
val
language
=
SPUtil
.
getInstance
(
this
@ProtocolActivity
).
selectLanguage
if
(
language
==
1
)
{
//
韩文
if
(
language
==
1
)
{
//
한글
if
(
title
!=
null
&&
content
!=
null
)
{
if
(
title
.
size
>
0
&&
content
.
size
>
0
)
{
mTitle
=
title
[
0
]
mContent
=
content
[
0
]
}
}
}
else
{
//
中文
}
else
{
//
중국어.
if
(
title
!=
null
&&
content
!=
null
)
{
if
(
title
.
size
>
1
&&
content
.
size
>
1
)
{
mTitle
=
title
[
1
]
...
...
app/src/main/java/cn/dankal/user/register/RegisterActivity.kt
View file @
b66d516c
...
...
@@ -36,16 +36,16 @@ class RegisterActivity : BaseActivity(), View.OnClickListener {
var
options1Items
=
mutableListOf
<
PhoneTypeCodeEntity
>()
var
options
=
mutableListOf
<
Int
>()
//
实际数字
var
options
=
mutableListOf
<
Int
>()
//
실제 숫자
var
optionsShow
=
mutableListOf
<
String
>()
//
显示文本
var
optionsShow
=
mutableListOf
<
String
>()
//
텍스트 보이 기
var
phoneCode
=
82
//默认手机区域码
var
phoneCode
=
82
override
fun
onClick
(
v
:
View
?)
{
when
(
v
?.
id
)
{
R
.
id
.
bt_login
->
{
//
注册下一步
R
.
id
.
bt_login
->
{
//
다음 단계 등록
if
(!
cb_select
.
isChecked
)
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
Please_check_the_agreement_first
))
...
...
@@ -55,12 +55,12 @@ class RegisterActivity : BaseActivity(), View.OnClickListener {
var
phone
=
et_phone_num
.
text
.
toString
().
trim
()
var
code
=
et_passwd
.
text
.
toString
().
trim
()
//
判断手机号码
//
핸드폰 번호 판단
if
(
TextUtils
.
isEmpty
(
phone
))
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
Please_enter_your_cell_phone_number
))
return
}
//
判断验证码
//
판단 인증번호
if
(
TextUtils
.
isEmpty
(
code
))
{
ToastUtils
.
showShort
(
R
.
string
.
Please_enter_the_verification_code
)
}
...
...
@@ -68,9 +68,9 @@ class RegisterActivity : BaseActivity(), View.OnClickListener {
verificationPhoneAndCode
(
phone
,
code
)
}
R
.
id
.
btn_code
->
{
//
获取验证码
R
.
id
.
btn_code
->
{
//
인증번호 가 져 오기
var
phone
=
et_phone_num
.
text
.
toString
().
trim
()
//
判断手机号码
//
핸드폰 번호 판단
if
(
TextUtils
.
isEmpty
(
phone
))
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
Please_enter_your_cell_phone_number
))
return
...
...
@@ -79,11 +79,11 @@ class RegisterActivity : BaseActivity(), View.OnClickListener {
isPhoneExist
(
phone
)
}
R
.
id
.
tv_account_login
->
{
//
已有账号登录
R
.
id
.
tv_account_login
->
{
//
이미 계 정 로그 인
finish
()
}
R
.
id
.
tv_forget_password
->
{
//
忘记密码
R
.
id
.
tv_forget_password
->
{
//
비밀 번 호 를 잊어버리다.
finish
()
ARouter
.
getInstance
().
build
(
LoginProtocol
.
FORGET_PASSWORD
).
navigation
()
}
...
...
@@ -93,23 +93,23 @@ class RegisterActivity : BaseActivity(), View.OnClickListener {
showPhoneTypeWindows
()
}
R
.
id
.
tv_user_protocol
->
{
//
用户授权协议
R
.
id
.
tv_user_protocol
->
{
//
사용자 인증 프로 토 콜
ARouter
.
getInstance
().
build
(
LoginProtocol
.
PROTOCOL
).
withInt
(
"type"
,
0
).
navigation
()
}
}
}
/**
*
判断当前手机号是否存在
*
현재 핸드폰 번호 가 존재 하 는 지 여 부 를 판단 하 다.
*/
private
fun
isPhoneExist
(
phone
:
String
)
{
UserServiceFactory
.
isRegister
(
phone
,
0
).
subscribe
(
object
:
AbstractDialogSubscriber
<
IsRegisterPhoneOrEmailEntity
>(
this
)
{
override
fun
onNext
(
t
:
IsRegisterPhoneOrEmailEntity
)
{
t
.
apply
{
if
(
"10001"
==
reason
)
{
//
手机号码存在
if
(
"10001"
==
reason
)
{
//
핸드폰 번호 가 존재 합 니 다.
ToastUtils
.
showShort
(
getString
(
R
.
string
.
Mobile_phone_number_already_exists
))
}
else
{
//
不存在
//
调用获取验证码接口
}
else
{
//
존재 하지 않 음
//
호출 인증번호 인터페이스
smsCodeImpl
?.
getCode
(
phone
,
phoneCode
.
toString
(),
btn_code
,
"0"
)
}
}
...
...
@@ -118,7 +118,7 @@ class RegisterActivity : BaseActivity(), View.OnClickListener {
}
/**
*
校验手机号和验证码
*
핸드폰 번호 와 인증번호 확인
*/
private
fun
verificationPhoneAndCode
(
phone
:
String
,
code
:
String
)
{
var
codeUuid
=
smsCodeImpl
?.
uuid
...
...
@@ -132,7 +132,7 @@ class RegisterActivity : BaseActivity(), View.OnClickListener {
map
[
"phone"
]
=
phone
UserServiceFactory
.
smsCode
(
map
).
subscribe
(
object
:
AbstractDialogSubscriber
<
ResponseBody
>(
this
)
{
override
fun
onNext
(
t
:
ResponseBody
)
{
//
验证成功跳转到邮箱界面
//
검증 성공 메 일주 소 인터페이스 로 전송
ARouter
.
getInstance
().
build
(
REGISTER_EMAIL
)
.
withString
(
"phone"
,
phone
)
.
withString
(
"native_code"
,
phoneCode
.
toString
())
...
...
@@ -203,7 +203,7 @@ class RegisterActivity : BaseActivity(), View.OnClickListener {
}
/**
*
初始化加载手机号码类型
*
로 딩 핸드폰 번호 유형 초기 화
*/
private
fun
initPhoneTypeData
()
{
Thread
(
Runnable
{
...
...
@@ -213,7 +213,7 @@ class RegisterActivity : BaseActivity(), View.OnClickListener {
options
.
add
(
options1Items
[
i
].
code
)
if
(
SPUtil
.
getInstance
(
this
).
selectLanguage
!=
1
)
{
//中文
optionsShow
.
add
(
"+${options1Items[i].code}(${options1Items[i].zh})"
)
}
else
{
//
韩文
}
else
{
//
한글
optionsShow
.
add
(
"+${options1Items[i].code}(${options1Items[i].ko})"
)
}
}
...
...
@@ -221,7 +221,7 @@ class RegisterActivity : BaseActivity(), View.OnClickListener {
}
private
fun
showPhoneTypeWindows
()
{
val
pvOptions
=
OptionsPickerBuilder
(
this
,
OnOptionsSelectListener
{
options1
,
options2
,
options3
,
v
->
//返回的分别是三个级别的选中位置
val
opt1tx
=
if
(
options
.
size
>
0
)
options
[
options1
]
else
...
...
@@ -236,11 +236,11 @@ class RegisterActivity : BaseActivity(), View.OnClickListener {
.
setSubmitText
(
getString
(
R
.
string
.
ok
))
.
setCancelColor
(
Color
.
parseColor
(
"#4A4A4A"
))
.
setSubmitColor
(
Color
.
parseColor
(
"#FF6B5C"
))
.
setTextColorCenter
(
Color
.
BLACK
)
//设置选中项文字颜色
.
setTextColorCenter
(
Color
.
BLACK
)
.
setContentTextSize
(
20
)
.
build
<
Any
>()
pvOptions
.
setPicker
(
optionsShow
as
List
<
Any
>?)
//一级选择器
pvOptions
.
setPicker
(
optionsShow
as
List
<
Any
>?)
pvOptions
.
show
()
}
}
app/src/main/java/cn/dankal/user/register/RegisterEmailActivity.kt
View file @
b66d516c
...
...
@@ -37,7 +37,7 @@ class RegisterEmailActivity : BaseActivity(), View.OnClickListener {
override
fun
onClick
(
v
:
View
?)
{
when
(
v
?.
id
)
{
R
.
id
.
btn_code
->
{
//
获取邮箱验证码
R
.
id
.
btn_code
->
{
//
메 일 박스 인증번호 가 져 오기
/* var email = et_phone_num.text.toString().trim()
if (TextUtils.isEmpty(email)) {
ToastUtils.showShort(getString(R.string.Please_enter_your_mailbox))
...
...
@@ -69,7 +69,7 @@ class RegisterEmailActivity : BaseActivity(), View.OnClickListener {
requestIsEmail
(
email
)
}
R
.
id
.
tv_email_protocol
->
{
//
邮箱接收协议
R
.
id
.
tv_email_protocol
->
{
//
메 일 박스 수신 프로 토 콜
ARouter
.
getInstance
().
build
(
LoginProtocol
.
PROTOCOL
).
withInt
(
"type"
,
1
).
navigation
()
}
}
...
...
@@ -78,7 +78,7 @@ class RegisterEmailActivity : BaseActivity(), View.OnClickListener {
/* */
/**
*
校验邮箱和验证码
*
메 일주 소 체크 와 인증번호
*//*
private fun verificationPhoneAndCode(email: String, code: String) {
var map = HashMap<String, Any?>()
...
...
@@ -97,18 +97,18 @@ class RegisterEmailActivity : BaseActivity(), View.OnClickListener {
})
}*/
//
请求接口判断邮箱是否存在
//
요청 인터페이스 판단 메 일주 소 존재 여부
private
fun
requestIsEmail
(
email
:
String
)
{
UserServiceFactory
.
isRegister
(
email
,
1
).
subscribe
(
object
:
AbstractDialogSubscriber
<
IsRegisterPhoneOrEmailEntity
>(
this
)
{
override
fun
onNext
(
t
:
IsRegisterPhoneOrEmailEntity
)
{
t
.
apply
{
if
(
"10001"
==
reason
)
{
//
邮箱存在
if
(
"10001"
==
reason
)
{
//
메 일주 소 존재
tv_email_register
.
text
=
getString
(
R
.
string
.
mailbox_id_is_registered
)
et_phone_num
.
setTextColor
(
ContextCompat
.
getColor
(
this
@RegisterEmailActivity
,
R
.
color
.
btn_bg
))
}
else
{
//
不存在
//
调用获取邮箱验证码接口
}
else
{
//
존재 하지 않 음
//
호출 획득 메 일주 소 인증번호 인터페이스
// smsCodeImpl?.getEmailCode(email, btn_code)
//
跳转到下一页
//
다음 페이지 로 건 너 뛰 기
ARouter
.
getInstance
().
build
(
REGISTER_INPUT
)
.
withString
(
"phone"
,
phone
)
.
withString
(
"email"
,
email
)
...
...
app/src/main/java/cn/dankal/user/wx/IsBindPhoneActivity.kt
View file @
b66d516c
...
...
@@ -38,11 +38,12 @@ import java.util.*
@Route
(
path
=
IS_BAND_PHONE
)
class
IsBindPhoneActivity
:
BaseActivity
(),
View
.
OnClickListener
{
private
var
mState
=
0
//0正常状态手机号码不存在,1手机号码存在已绑定第三方账号,2手机号码存在未绑定第三方账号
private
var
mState
=
0
//0 정상 상태 핸드폰 번호 가 존재 하지 않 습 니 다. 1 핸드폰 번 호 는 이미
// 제3자 계 정 에 연결 되 어 있 고 2 핸드폰 번 호 는 제3자 계 정 에 연결 되 지 않 습 니 다.
override
fun
onClick
(
v
:
View
?)
{
when
(
v
?.
id
)
{
R
.
id
.
bt_login
->
{
//
注册下一步
R
.
id
.
bt_login
->
{
//
다음 단계 등록
if
(!
cb_select
.
isChecked
)
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
Please_check_the_agreement_first
))
return
...
...
@@ -51,12 +52,12 @@ class IsBindPhoneActivity : BaseActivity(), View.OnClickListener {
var
phone
=
et_phone_num
.
text
.
toString
().
trim
()
var
code
=
et_passwd
.
text
.
toString
().
trim
()
//
判断手机号码
//
핸드폰 번호 판단
if
(
TextUtils
.
isEmpty
(
phone
))
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
Please_enter_your_cell_phone_number
))
return
}
//
判断验证码
//
판단 인증번호
if
(
TextUtils
.
isEmpty
(
code
))
{
ToastUtils
.
showShort
(
R
.
string
.
Please_enter_the_verification_code
)
}
...
...
@@ -64,9 +65,9 @@ class IsBindPhoneActivity : BaseActivity(), View.OnClickListener {
verificationPhoneAndCode
(
phone
,
code
)
}
R
.
id
.
btn_code
->
{
//
获取验证码
R
.
id
.
btn_code
->
{
//
인증번호 가 져 오기
var
phone
=
et_phone_num
.
text
.
toString
().
trim
()
//
判断手机号码
//
핸드폰 번호 판단
if
(
TextUtils
.
isEmpty
(
phone
))
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
Please_enter_your_cell_phone_number
))
return
...
...
@@ -80,7 +81,7 @@ class IsBindPhoneActivity : BaseActivity(), View.OnClickListener {
showPhoneTypeWindows
()
}
R
.
id
.
tv_user_protocol
->
{
//
用户授权协议
R
.
id
.
tv_user_protocol
->
{
//
사용자 인증 프로 토 콜
ARouter
.
getInstance
().
build
(
LoginProtocol
.
PROTOCOL
).
withInt
(
"type"
,
0
).
navigation
()
}
}
...
...
@@ -90,11 +91,11 @@ class IsBindPhoneActivity : BaseActivity(), View.OnClickListener {
var
options1Items
=
mutableListOf
<
PhoneTypeCodeEntity
>()
var
options
=
mutableListOf
<
Int
>()
//
实际数字
var
options
=
mutableListOf
<
Int
>()
//
실제 숫자
var
optionsShow
=
mutableListOf
<
String
>()
//
显示文本
var
optionsShow
=
mutableListOf
<
String
>()
//
텍스트 보이 기
var
phoneCode
=
82
//
默认手机区域码
var
phoneCode
=
82
//
기본 핸드폰 구역 코드
override
fun
getLayoutId
():
Int
{
return
R
.
layout
.
activity_is_bind_phone
...
...
@@ -116,17 +117,17 @@ class IsBindPhoneActivity : BaseActivity(), View.OnClickListener {
}
/**
*
判断当前手机号是否存在
*
현재 핸드폰 번호 가 존재 하 는 지 여 부 를 판단 하 다.
*/
private
fun
isPhoneExist
(
phone
:
String
)
{
UserServiceFactory
.
isRegister
(
phone
,
0
).
subscribe
(
object
:
AbstractDialogSubscriber
<
IsRegisterPhoneOrEmailEntity
>(
this
)
{
override
fun
onNext
(
t
:
IsRegisterPhoneOrEmailEntity
)
{
t
.
apply
{
if
(
"10001"
==
reason
)
{
//
手机号码存在,去验证手机是否绑定第三方账号
if
(
"10001"
==
reason
)
{
//
핸드폰 번호 가 존재 하 므 로 핸드폰 이 제3자 계 정 에 연결 되 었 는 지 확인 하 세 요.
goVerification
(
phone
,
0
,
0
)
//ToastUtils.showShort(getString(R.string.Mobile_phone_number_already_exists))
}
else
{
//
不存在
//
调用获取验证码接口
}
else
{
//
존재 하지 않 음
//
호출 인증번호 인터페이스
smsCodeImpl
?.
getCode
(
phone
,
phoneCode
.
toString
(),
btn_code
,
"0"
)
mState
=
0
}
...
...
@@ -135,15 +136,15 @@ class IsBindPhoneActivity : BaseActivity(), View.OnClickListener {
})
}
//
去验证手机号是否绑定第三方账号
//
핸드폰 번호 가 제3자 계 정 에 연결 되 었 는 지 확인 하 세 요.
private
fun
goVerification
(
phone
:
String
,
type
:
Int
,
thirdType
:
Int
)
{
UserServiceFactory
.
isBindingThird
(
phone
,
type
,
thirdType
).
subscribe
(
object
:
AbstractDialogSubscriber
<
IsRegisterPhoneOrEmailEntity
>(
this
)
{
override
fun
onNext
(
t
:
IsRegisterPhoneOrEmailEntity
)
{
t
.
apply
{
if
(
"10001"
==
reason
)
{
//
已绑定
if
(
"10001"
==
reason
)
{
//
이미 귀속
mState
=
1
ToastUtils
.
showShort
(
getString
(
R
.
string
.
the_phone_number_is_already_bound
))
}
else
{
//
没有绑定
}
else
{
//
바 인 딩 없 음
mState
=
2
smsCodeImpl
?.
getCode
(
phone
,
phoneCode
.
toString
(),
btn_code
,
"0"
)
}
...
...
@@ -153,7 +154,7 @@ class IsBindPhoneActivity : BaseActivity(), View.OnClickListener {
}
/**
*
校验手机号和验证码
*
핸드폰 번호 와 인증번호 확인
*/
private
fun
verificationPhoneAndCode
(
phone
:
String
,
code
:
String
)
{
var
codeUuid
=
smsCodeImpl
?.
uuid
...
...
@@ -168,20 +169,20 @@ class IsBindPhoneActivity : BaseActivity(), View.OnClickListener {
UserServiceFactory
.
smsCode
(
map
).
subscribe
(
object
:
AbstractDialogSubscriber
<
ResponseBody
>(
this
)
{
override
fun
onNext
(
t
:
ResponseBody
)
{
if
(
mState
==
0
)
{
//
验证成功跳转到邮箱界面
//
검증 성공 메 일주 소 인터페이스 로 전송
ARouter
.
getInstance
().
build
(
LoginProtocol
.
REGISTER_EMAIL_WX
)
.
withString
(
"phone"
,
phone
)
.
withString
(
"native_code"
,
phoneCode
.
toString
())
.
navigation
()
}
else
if
(
mState
==
1
)
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
the_phone_number_is_already_bound
))
}
else
{
//
未绑定第三方账号
}
else
{
//
제3자 계 정 에 귀속 되 지 않 음
var
map
=
HashMap
<
String
,
Any
?>()
map
[
"phone"
]
=
phone
map
[
"type"
]
=
1
UserServiceFactory
.
accountBinding
(
map
).
subscribe
(
object
:
AbstractDialogSubscriber
<
UserInfoBean
>(
this
@IsBindPhoneActivity
)
{
override
fun
onNext
(
userInfoBean
:
UserInfoBean
)
{
DankalApplication
.
setLogin
(
true
)
//
设置账号已登录
DankalApplication
.
setLogin
(
true
)
//
계 정 설정 이미 로그 인
val
userResponseBody
=
UserResponseBody
()
val
tokenBean
=
UserResponseBody
.
TokenBean
()
tokenBean
.
token
=
userInfoBean
.
access_token
...
...
@@ -243,7 +244,7 @@ class IsBindPhoneActivity : BaseActivity(), View.OnClickListener {
}
/**
*
初始化加载手机号码类型
*
로 딩 핸드폰 번호 유형 초기 화
*/
private
fun
initPhoneTypeData
()
{
Thread
(
Runnable
{
...
...
@@ -253,7 +254,7 @@ class IsBindPhoneActivity : BaseActivity(), View.OnClickListener {
options
.
add
(
options1Items
[
i
].
code
)
if
(
SPUtils
.
get
(
Constant
.
EVENT_REFRESH_LANGUAGE
,
"ch"
)
==
"ch"
)
{
//中文
optionsShow
.
add
(
"+${options1Items[i].code}(${options1Items[i].zh})"
)
}
else
{
//
韩文
}
else
{
//
한글
optionsShow
.
add
(
"+${options1Items[i].code}(${options1Items[i].ko})"
)
}
}
...
...
@@ -262,7 +263,7 @@ class IsBindPhoneActivity : BaseActivity(), View.OnClickListener {
private
fun
showPhoneTypeWindows
()
{
val
pvOptions
=
OptionsPickerBuilder
(
this
,
OnOptionsSelectListener
{
options1
,
options2
,
options3
,
v
->
//返回的分别是三个级别的选中位置
val
opt1tx
=
if
(
options
.
size
>
0
)
options
[
options1
]
else
...
...
@@ -275,11 +276,11 @@ class IsBindPhoneActivity : BaseActivity(), View.OnClickListener {
.
setDividerColor
(
Color
.
WHITE
)
.
setCancelColor
(
Color
.
parseColor
(
"#4A4A4A"
))
.
setSubmitColor
(
Color
.
parseColor
(
"#FF6B5C"
))
.
setTextColorCenter
(
Color
.
BLACK
)
//设置选中项文字颜色
.
setTextColorCenter
(
Color
.
BLACK
)
.
setContentTextSize
(
20
)
.
build
<
Any
>()
pvOptions
.
setPicker
(
optionsShow
as
List
<
Any
>?)
//一级选择器
pvOptions
.
setPicker
(
optionsShow
as
List
<
Any
>?)
pvOptions
.
show
()
}
}
app/src/main/java/cn/dankal/user/wx/RegisterWXEmailActivity.kt
View file @
b66d516c
...
...
@@ -35,7 +35,7 @@ class RegisterWXEmailActivity : BaseActivity(), View.OnClickListener {
override
fun
onClick
(
v
:
View
?)
{
when
(
v
?.
id
)
{
R
.
id
.
btn_code
->
{
//获取邮箱验证码
R
.
id
.
btn_code
->
{
}
R
.
id
.
bt_login
->
{
...
...
@@ -54,7 +54,7 @@ class RegisterWXEmailActivity : BaseActivity(), View.OnClickListener {
requestIsEmail
(
email
)
}
R
.
id
.
tv_email_protocol
->
{
//邮箱接收协议
R
.
id
.
tv_email_protocol
->
{
// ARouter.getInstance().build(LoginProtocol.PROTOCOL).withInt("type", 1).navigation()
}
}
...
...
@@ -63,7 +63,7 @@ class RegisterWXEmailActivity : BaseActivity(), View.OnClickListener {
/* */
/**
*
校验邮箱和验证码
*
메 일주 소 체크 와 인증번호
*//*
private fun verificationPhoneAndCode(email: String, code: String) {
var map = HashMap<String, Any?>()
...
...
@@ -72,7 +72,7 @@ class RegisterWXEmailActivity : BaseActivity(), View.OnClickListener {
map["phone"] = email
UserServiceFactory.smsCode(map).subscribe(object : AbstractDialogSubscriber<ResponseBody>(this) {
override fun onNext(t: ResponseBody) {
//
跳转到下一页
//
다음 페이지 로 건 너 뛰 기
ARouter.getInstance().build(REGISTER_INPUT)
.withString("phone", phone)
.withString("email", email)
...
...
@@ -82,17 +82,17 @@ class RegisterWXEmailActivity : BaseActivity(), View.OnClickListener {
})
}*/
//
请求接口判断邮箱是否存在
//
요청 인터페이스 판단 메 일주 소 존재 여부
private
fun
requestIsEmail
(
email
:
String
)
{
UserServiceFactory
.
isRegister
(
email
,
1
).
subscribe
(
object
:
AbstractDialogSubscriber
<
IsRegisterPhoneOrEmailEntity
>(
this
)
{
override
fun
onNext
(
t
:
IsRegisterPhoneOrEmailEntity
)
{
t
.
apply
{
if
(
"10001"
==
reason
)
{
//
邮箱存在
if
(
"10001"
==
reason
)
{
//
메 일주 소 존재
tv_email_register
.
text
=
getString
(
R
.
string
.
mailbox_id_is_registered
)
}
else
{
//
不存在
//
调用获取邮箱验证码接口
}
else
{
//
존재 하지 않 음
//
호출 획득 메 일주 소 인증번호 인터페이스
// smsCodeImpl?.getEmailCode(email, btn_code)
//
跳转到下一页
//
다음 페이지 로 건 너 뛰 기
ARouter
.
getInstance
().
build
(
REGISTER_INPUT_WX
)
.
withString
(
"phone"
,
phone
)
.
withString
(
"email"
,
email
)
...
...
app/src/main/res/values-en/strings.xml
View file @
b66d516c
...
...
@@ -517,7 +517,7 @@
<string
name=
"srl_header_release"
>
Release Instant Refresh
</string>
<string
name=
"srl_header_finish"
>
Refresh to complete
</string>
<string
name=
"srl_header_failed"
>
Refresh the failure
</string>
<string
name=
"srl_header_update"
>
The last update
M-d HH:mm
</string>
<string
name=
"srl_header_update"
>
M-d HH:mm
</string>
<string
name=
"srl_header_secondary"
>
Release to the second floor
</string>
<string
name=
"srl_footer_pulling"
>
Pull up loads more
</string>
...
...
build.gradle
View file @
b66d516c
...
...
@@ -11,7 +11,7 @@ buildscript {
classpath
'com.android.tools.build:gradle:3.1.4'
classpath
"org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath
'com.github.dcendents:android-maven-gradle-plugin:2.1'
classpath
'com.google.gms:google-services:4.2.0'
//
classpath 'com.google.gms:google-services:4.2.0'
classpath
'com.novoda:bintray-release:0.9.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
...
...
module.gradle
View file @
b66d516c
if
(
assembleApp
.
toBoolean
())
{
apply
plugin:
'com.android.library'
}
else
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment