Commit 1354332c by Wyh

Merge remote-tracking branch 'origin/master'

parents e945e7ce 9c403202
...@@ -9,14 +9,16 @@ project.dependencies.add('api', project(':cc')) //用最新版 ...@@ -9,14 +9,16 @@ project.dependencies.add('api', project(':cc')) //用最新版
//project.dependencies.add('api', "com.billy.android:cc:2.1.6") //用最新版 //project.dependencies.add('api', "com.billy.android:cc:2.1.6") //用最新版
dependencies { dependencies {
if (project.name != 'public-base' && project.name != 'arms') { if (project.name != 'public-base' && project.name != 'arms' && project.name != 'qm-qmui') {
api project(':public-base') api project(':public-base')
} }
if (project.name != 'arms') { if (project.name != 'arms') {
implementation project(':arms') implementation project(':arms')
} }
// //
// if (project.name != 'qm-qmui' && project.name != 'arms') {
if (project.name != 'arms') { if (project.name != 'arms') {
// implementation project(':qm-qmui')
implementation rootProject.ext.dependencies["qmui"] implementation rootProject.ext.dependencies["qmui"]
} }
implementation rootProject.ext.dependencies["retrofit-url-manager"] implementation rootProject.ext.dependencies["retrofit-url-manager"]
......
...@@ -15,10 +15,6 @@ android { ...@@ -15,10 +15,6 @@ android {
consumerProguardFiles 'proguard-rules.pro' consumerProguardFiles 'proguard-rules.pro'
} }
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
buildTypes { buildTypes {
release { release {
minifyEnabled false minifyEnabled false
......
...@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.download.mvp.contract; ...@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.download.mvp.contract;
import android.content.Context; import android.content.Context;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.common.bean.FoodBean; import com.gingersoft.gsa.cloud.base.common.bean.FoodBean;
import com.gingersoft.gsa.cloud.database.bean.Food; import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.download.mvp.model.bean.ComboItemRespone; import com.gingersoft.gsa.cloud.download.mvp.model.bean.ComboItemRespone;
...@@ -59,5 +60,8 @@ public interface DownloadContract { ...@@ -59,5 +60,8 @@ public interface DownloadContract {
Observable<ComboItemRespone> downComboItem(int restaurantId); Observable<ComboItemRespone> downComboItem(int restaurantId);
Observable<FoodModifierRespone> downFoodModifier(int restaurantId); Observable<FoodModifierRespone> downFoodModifier(int restaurantId);
Observable<BaseResult> downDiscount(int restaurantId);
} }
} }
...@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.download.mvp.model; ...@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.download.mvp.model;
import android.app.Application; import android.app.Application;
import android.content.Context; import android.content.Context;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.common.bean.FoodBean; import com.gingersoft.gsa.cloud.base.common.bean.FoodBean;
import com.gingersoft.gsa.cloud.base.utils.constans.HttpsConstans; import com.gingersoft.gsa.cloud.base.utils.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.database.bean.Food; import com.gingersoft.gsa.cloud.database.bean.Food;
...@@ -106,5 +107,11 @@ public class DownloadModel extends BaseModel implements DownloadContract.Model { ...@@ -106,5 +107,11 @@ public class DownloadModel extends BaseModel implements DownloadContract.Model {
.downFoodModifier(restaurantId); .downFoodModifier(restaurantId);
} }
@Override
public Observable<BaseResult> downDiscount(int restaurantId) {
return mRepositoryManager.obtainRetrofitService(DownloadService.class)
.downDiscount(restaurantId);
}
} }
\ No newline at end of file
...@@ -59,6 +59,9 @@ public class DownloadTaskImp implements Runnable { ...@@ -59,6 +59,9 @@ public class DownloadTaskImp implements Runnable {
case 5: case 5:
presenter.downFoodModifier(request.getDownTag()); presenter.downFoodModifier(request.getDownTag());
break; break;
case 6:
presenter.downDiscount(request.getDownTag());
break;
} }
} }
} }
package com.gingersoft.gsa.cloud.download.mvp.model.service; package com.gingersoft.gsa.cloud.download.mvp.model.service;
import com.gingersoft.gsa.cloud.base.Api; import com.gingersoft.gsa.cloud.base.Api;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.common.bean.FoodBean; import com.gingersoft.gsa.cloud.base.common.bean.FoodBean;
import com.gingersoft.gsa.cloud.download.mvp.model.bean.ComboItemRespone; import com.gingersoft.gsa.cloud.download.mvp.model.bean.ComboItemRespone;
import com.gingersoft.gsa.cloud.download.mvp.model.bean.FoodComboRespone; import com.gingersoft.gsa.cloud.download.mvp.model.bean.FoodComboRespone;
...@@ -36,4 +37,7 @@ public interface DownloadService { ...@@ -36,4 +37,7 @@ public interface DownloadService {
@GET(Api.food_modifiere_relation + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2) @GET(Api.food_modifiere_relation + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<FoodModifierRespone> downFoodModifier(@Query("restaurantId") int restaurantId); Observable<FoodModifierRespone> downFoodModifier(@Query("restaurantId") int restaurantId);
@GET(Api.restaurant_discount + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> downDiscount(@Query("restaurantId") int restaurantId);
} }
...@@ -5,10 +5,17 @@ import android.app.Application; ...@@ -5,10 +5,17 @@ import android.app.Application;
import com.billy.cc.core.component.CC; import com.billy.cc.core.component.CC;
import com.gingersoft.gsa.cloud.base.Api; import com.gingersoft.gsa.cloud.base.Api;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.common.bean.FoodBean; import com.gingersoft.gsa.cloud.base.common.bean.FoodBean;
import com.gingersoft.gsa.cloud.base.utils.CommonConfiguration;
import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
import com.gingersoft.gsa.cloud.base.utils.constans.HttpsConstans; import com.gingersoft.gsa.cloud.base.utils.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.database.bean.ComboItem; import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.database.bean.Function;
import com.gingersoft.gsa.cloud.database.greendao.DiscountDao;
import com.gingersoft.gsa.cloud.database.utils.ComboItemDaoUtils; import com.gingersoft.gsa.cloud.database.utils.ComboItemDaoUtils;
import com.gingersoft.gsa.cloud.database.utils.DiscountDaoUtils;
import com.gingersoft.gsa.cloud.database.utils.FoodComboDaoUtils; import com.gingersoft.gsa.cloud.database.utils.FoodComboDaoUtils;
import com.gingersoft.gsa.cloud.database.utils.FoodDaoUtils; import com.gingersoft.gsa.cloud.database.utils.FoodDaoUtils;
import com.gingersoft.gsa.cloud.database.utils.FoodModifierDaoUtils; import com.gingersoft.gsa.cloud.database.utils.FoodModifierDaoUtils;
...@@ -74,22 +81,23 @@ public class DownloadPresenter extends BasePresenter<DownloadContract.Model, Dow ...@@ -74,22 +81,23 @@ public class DownloadPresenter extends BasePresenter<DownloadContract.Model, Dow
private DataDownLoadAdapter mAapter; private DataDownLoadAdapter mAapter;
private List<DataDownLoadState> mList = new ArrayList<>(); private List<DataDownLoadState> mList = new ArrayList<>();
private String[] downTitles = {"功能列表", "食品列表", "食品細項", "食品套餐", "套餐食品", "食品細項"}; private String[] downTitles = {"功能列表", "食品列表", "食品細項", "食品套餐", "套餐食品", "食品細項", "折扣信息"};
//下載所佔比例 //下載所佔比例
private int[] ratios = {8, 46, 22, 8, 8, 8}; private int[] ratios = {7, 46, 22, 7, 7, 7,4};
private String urlList[] = { private String urlList[] = {
HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL + Api.download_function_list, HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL + Api.download_function_list,
HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL + Api.food_list, HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL + Api.food_list,
HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL + Api.modifier, HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL + Api.modifier,
HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL + Api.food_package_relation, HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL + Api.food_package_relation,
HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL + Api.food_comboItem, HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL + Api.food_comboItem,
HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL + Api.food_modifiere_relation}; HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL + Api.food_modifiere_relation,
HttpsConstans.ROOT_SERVER_ADDRESS_FORMAL + Api.restaurant_discount};
//当前请求响应成功数 //当前请求响应成功数
private int responseSuccessCount; private int responseSuccessCount;
//当前所需請求數 //当前所需請求數
private int requestCount = 6; private int requestCount = 7;
//當前下載進度 //當前下載進度
private float currentProgress = 0; private float currentProgress = 0;
...@@ -123,6 +131,7 @@ public class DownloadPresenter extends BasePresenter<DownloadContract.Model, Dow ...@@ -123,6 +131,7 @@ public class DownloadPresenter extends BasePresenter<DownloadContract.Model, Dow
mRootView.showMessage("Can not connect server, retry?"); mRootView.showMessage("Can not connect server, retry?");
} }
requestCount = urlList.length;
responseSuccessCount = 0; responseSuccessCount = 0;
currentProgress = 0; currentProgress = 0;
IActivity.setTvProgress(0); IActivity.setTvProgress(0);
...@@ -218,7 +227,44 @@ public class DownloadPresenter extends BasePresenter<DownloadContract.Model, Dow ...@@ -218,7 +227,44 @@ public class DownloadPresenter extends BasePresenter<DownloadContract.Model, Dow
mDownDisposable.clear(); mDownDisposable.clear();
} }
private List<Function> getFunctions(){
List<Function > functions = new ArrayList<>();
Function function = new Function();
function.setResName("重置餐檯");
function.setId((long) 1);
function.setResUrl("table/bottom/init");
functions.add(function);
Function function2 = new Function();
function2.setResName("轉檯");
function2.setId((long) 2);
function2.setResUrl("table/bottom/move");
functions.add(function2);
Function function3 = new Function();
function3.setResName("分檯");
function3.setId((long) 3);
function3.setResUrl("table/bottom/splite");
functions.add(function3);
Function function4 = new Function();
function4.setResName("上菜紙");
function4.setId((long) 4);
function4.setResUrl("table/bottom/parper");
functions.add(function4);
Function function5 = new Function();
function5.setResName("skyorder");
function5.setId((long) 5);
function5.setResUrl("table/bottom/skyorder");
functions.add(function5);
return functions;
}
public void downFun(int downTag) { public void downFun(int downTag) {
List<Function > functions = getFunctions();
mModel.downFunctionList() mModel.downFunctionList()
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.subscribeOn(AndroidSchedulers.mainThread()) .subscribeOn(AndroidSchedulers.mainThread())
...@@ -238,7 +284,7 @@ public class DownloadPresenter extends BasePresenter<DownloadContract.Model, Dow ...@@ -238,7 +284,7 @@ public class DownloadPresenter extends BasePresenter<DownloadContract.Model, Dow
FunctionDaoUtils functionDao = new FunctionDaoUtils(IActivity); FunctionDaoUtils functionDao = new FunctionDaoUtils(IActivity);
functionDao.deleteAll(); functionDao.deleteAll();
if (functionBean.isSuccess() && functionBean.getData() != null) { if (functionBean.isSuccess() && functionBean.getData() != null) {
functionDao.insertMultFunction(functionBean.getData()); functionDao.insertMultFunction(functions);
} }
DataDownLoadState loadState = mList.get(downTag); DataDownLoadState loadState = mList.get(downTag);
...@@ -336,6 +382,7 @@ public class DownloadPresenter extends BasePresenter<DownloadContract.Model, Dow ...@@ -336,6 +382,7 @@ public class DownloadPresenter extends BasePresenter<DownloadContract.Model, Dow
modifierDao.deleteAll(); modifierDao.deleteAll();
if (modifier.isSuccess() && modifier.getData() != null) { if (modifier.isSuccess() && modifier.getData() != null) {
modifierDao.insertMultModifier(modifier.getData()); modifierDao.insertMultModifier(modifier.getData());
CommonConfiguration.getInstance().saveModifierTopIdConfiguration(modifier.getData());
} }
} }
DataDownLoadState loadState = mList.get(downTag); DataDownLoadState loadState = mList.get(downTag);
...@@ -384,6 +431,7 @@ public class DownloadPresenter extends BasePresenter<DownloadContract.Model, Dow ...@@ -384,6 +431,7 @@ public class DownloadPresenter extends BasePresenter<DownloadContract.Model, Dow
comboDao.deleteAll(); comboDao.deleteAll();
if (combo.isSuccess() && combo.getData() != null) { if (combo.isSuccess() && combo.getData() != null) {
comboDao.insertMultCombo(combo.getData()); comboDao.insertMultCombo(combo.getData());
CommonConfiguration.getInstance().saveComboIdConfiguration(combo.getData());
} }
} }
DataDownLoadState loadState = mList.get(downTag); DataDownLoadState loadState = mList.get(downTag);
...@@ -506,6 +554,55 @@ public class DownloadPresenter extends BasePresenter<DownloadContract.Model, Dow ...@@ -506,6 +554,55 @@ public class DownloadPresenter extends BasePresenter<DownloadContract.Model, Dow
}); });
} }
public void downDiscount(int downTag) {
int restaurantId = GsaCloudApplication.getRestaurantId(IActivity);
mModel.downDiscount(restaurantId)
.subscribeOn(Schedulers.io())
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseResult>(mErrorHandler) {
@Override
public void onSubscribe(Disposable d) {
super.onSubscribe(d);
mDownDisposable.add(d);
}
@Override
public void onNext(@NonNull BaseResult result) {
if (result.isSuccess()) {
if (result != null) {
DiscountDaoUtils discountDaoUtils = new DiscountDaoUtils(IActivity);
discountDaoUtils.deleteAll();
if (result.isSuccess() && result.getData() != null) {
List<Discount> discountList = JsonUtils.parseArray(result.getData(),Discount.class);
discountDaoUtils.insertMultDiscount(discountList);
}
}
DataDownLoadState loadState = mList.get(downTag);
loadState.setState(2);
mAapter.notifyItemChanged(downTag);
currentProgress += loadState.getRatio();
IActivity.setTvProgress(currentProgress);
responseSuccessCount++;
if (responseSuccessCount == requestCount) {
endDownReturn();
}
}
}
@Override
public void onError(Throwable t) {
super.onError(t);
DataDownLoadState loadState = mList.get(downTag);
loadState.setState(0);
mRootView.showMessage("部分下載失敗,點擊刷新按鈕重新下載");
}
});
}
private void initDownState() { private void initDownState() {
for (int i = 0; i < mList.size(); i++) { for (int i = 0; i < mList.size(); i++) {
//初始化下载状态 //初始化下载状态
......
apply plugin: 'java-library'
dependencies {
def lintVersion = '26.4.2'
compileOnly "com.android.tools.lint:lint-api:$lintVersion"
compileOnly "com.android.tools.lint:lint-checks:$lintVersion"
}
sourceCompatibility = "1.7"
targetCompatibility = "1.7"
jar {
manifest {
attributes("Lint-Registry-v2": 'com.qmuiteam.qmui.lint.QMUIIssueRegistry')
}
}
...@@ -57,7 +57,7 @@ dependencies { ...@@ -57,7 +57,7 @@ dependencies {
implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
implementation 'cn.bingoogolapple:bga-progressbar:1.0.1'//进度条 implementation 'cn.bingoogolapple:bga-progressbar:1.0.1'//进度条
implementation files('libs/nineoldandroids-2.4.0.jar') implementation files('libs/nineoldandroids-2.4.0.jar')
compile "androidx.core:core-ktx:+" implementation "androidx.core:core-ktx:+"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
} }
repositories { repositories {
......
apply from: rootProject.file('cc-settings.gradle') ext.alwaysLib = true //虽然apply了cc-settings-2.gradle,但一直作为library编译,否则别的组件依赖此module时会报错
apply from: rootProject.file("cc-settings.gradle")
apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-android' apply plugin: 'kotlin-android'
apply plugin: 'com.jakewharton.butterknife' apply plugin: 'com.jakewharton.butterknife'
...@@ -54,9 +55,5 @@ dependencies { ...@@ -54,9 +55,5 @@ dependencies {
testImplementation rootProject.ext.dependencies["junit"] testImplementation rootProject.ext.dependencies["junit"]
implementation rootProject.ext.dependencies["BaseRecyclerViewAdapter"] implementation rootProject.ext.dependencies["BaseRecyclerViewAdapter"]
compile "androidx.core:core-ktx:+" implementation "androidx.core:core-ktx:+"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}
repositories {
mavenCentral()
} }
...@@ -2,32 +2,32 @@ ...@@ -2,32 +2,32 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.gingersoft.gsa.cloud.manager"> package="com.gingersoft.gsa.cloud.manager">
<application <!-- <application-->
android:name="com.gingersoft.gsa.cloud.base.application.GsaCloudApplication" <!-- android:name="com.gingersoft.gsa.cloud.base.application.GsaCloudApplication"-->
android:allowBackup="true" <!-- android:allowBackup="true"-->
android:icon="@mipmap/ic_launcher" <!-- android:icon="@mipmap/ic_launcher"-->
android:label="@string/app_name" <!-- android:label="@string/app_name"-->
android:networkSecurityConfig="@xml/network_android" <!-- android:networkSecurityConfig="@xml/network_android"-->
android:roundIcon="@mipmap/ic_launcher_round" <!-- android:roundIcon="@mipmap/ic_launcher_round"-->
android:supportsRtl="true" <!-- android:supportsRtl="true"-->
android:theme="@style/AppTheme"> <!-- android:theme="@style/AppTheme">-->
<meta-data <!-- <meta-data-->
android:name="com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration" <!-- android:name="com.gingersoft.gsa.cloud.globalconfig.GlobalConfiguration"-->
android:value="ConfigModule" /> <!-- android:value="ConfigModule" />-->
<meta-data <!-- <meta-data-->
android:name="design_width_in_dp" <!-- android:name="design_width_in_dp"-->
android:value="360" /> <!-- android:value="360" />-->
<meta-data <!-- <meta-data-->
android:name="design_height_in_dp" <!-- android:name="design_height_in_dp"-->
android:value="540" /> <!-- android:value="540" />-->
</application> <!-- </application>-->
<uses-permission android:name="android.permission.INTERNET" /> <!-- <uses-permission android:name="android.permission.INTERNET" />-->
<uses-permission android:name="android.permission.WAKE_LOCK" /> <!-- <uses-permission android:name="android.permission.WAKE_LOCK" />-->
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- <uses-permission android:name="android.permission.READ_PHONE_STATE" />-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />-->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <!-- <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />-->
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" /> <!-- <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />-->
</manifest> </manifest>
<resources> <resources>
<dimen name="main_fab_margin">16dp</dimen> <dimen name="main_fab_margin">16dp</dimen>
<dimen name="main_recyclerview_marginLeft">@dimen/dp_15</dimen> <dimen name="main_recyclerview_marginLeft">@dimen/dp_15</dimen>
<dimen name="main_recyclerview_marginRight">@dimen/dp_15</dimen> <dimen name="main_recyclerview_marginRight">@dimen/dp_15</dimen>
<dimen name="main_page_radius">@dimen/dp_12</dimen> <dimen name="main_page_radius">@dimen/dp_12</dimen>
</resources> </resources>
<resources> <resources>
<string name="main_app_name">GSA-Cloud</string> <string name="manager_app_name">GSA-Manager</string>
<string name="main">首頁</string>
<string name="report">报表</string>
<string name="my">我的</string>
<string name="turnover_today">今日營業額($)</string>
<string name="cutoff">截止</string>
<string name="total_amount_of_project">項目總金額</string>
<string name="number_of_consumers">消費人數</string>
<string name="bill_number">賬單數</string>
<string name="main_action_settings">Settings</string>
<string name="configuration">配置</string>
<string name="home_page">首頁</string>
<string name="minqing">沽清</string>
<string name="data_down">數據下載</string>
<string name="function_table_service">餐檯服務</string>
<string name="function_report">報表</string>
<string name="function_manage">管理选项</string>
<string name="function_soldout_ctrl">沽清控制</string>
<string name="quit_system">退出系統</string>
<string name="format_one_point">%1$.1f</string>
</resources> </resources>
<resources> <resources>
<!-- Base application theme. --> <!-- Base application theme. -->
<style name="main_AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- <style name="main_AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">-->
<!-- Customize your theme here. --> <!-- &lt;!&ndash; Customize your theme here. &ndash;&gt;-->
<item name="colorPrimary">@color/main_colorPrimary</item> <!-- <item name="colorPrimary">@color/main_colorPrimary</item>-->
<item name="colorPrimaryDark">@color/main_colorPrimaryDark</item> <!-- <item name="colorPrimaryDark">@color/main_colorPrimaryDark</item>-->
<item name="colorAccent">@color/main_colorAccent</item> <!-- <item name="colorAccent">@color/main_colorAccent</item>-->
</style> <!-- </style>-->
</resources> </resources>
...@@ -43,7 +43,7 @@ android { ...@@ -43,7 +43,7 @@ android {
/** /**
* 版本号 * 版本号
*/ */
schemaVersion 1 schemaVersion 2
/** /**
* greendao输出dao的数据库操作实体类文件夹(相对路径 包名+自定义路径名称,包将创建于包名的直接路径下) * greendao输出dao的数据库操作实体类文件夹(相对路径 包名+自定义路径名称,包将创建于包名的直接路径下)
*/ */
...@@ -62,21 +62,22 @@ dependencies { ...@@ -62,21 +62,22 @@ dependencies {
implementation files('libs/javabase64-1.2.jar') implementation files('libs/javabase64-1.2.jar')
implementation files('libs/sun.misc.BASE64Decoder.jar') implementation files('libs/sun.misc.BASE64Decoder.jar')
api files('libs/nexgon5lib.jar') api files('libs/nexgon5lib.jar')
// test
implementation 'androidx.viewpager2:viewpager2:1.0.0-alpha03'
testImplementation rootProject.ext.dependencies["junit"] testImplementation rootProject.ext.dependencies["junit"]
debugImplementation rootProject.ext.dependencies["canary-debug"] debugImplementation rootProject.ext.dependencies["canary-debug"]
releaseImplementation rootProject.ext.dependencies["canary-release"] releaseImplementation rootProject.ext.dependencies["canary-release"]
testImplementation rootProject.ext.dependencies["canary-release"] testImplementation rootProject.ext.dependencies["canary-release"]
annotationProcessor rootProject.ext.dependencies["dagger2-compiler"] annotationProcessor rootProject.ext.dependencies["dagger2-compiler"]
implementation rootProject.ext.dependencies["BaseRecyclerViewAdapter"] implementation rootProject.ext.dependencies["BaseRecyclerViewAdapter"]
implementation rootProject.ext.dependencies["fastjson"]
implementation rootProject.ext.dependencies["zxing"]
implementation rootProject.ext.dependencies["progressmanager"]
// test
testImplementation 'junit:junit:4.12' testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.2.0' androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation 'com.android.support:design:28.0.0' implementation 'com.android.support:design:28.0.0'
implementation rootProject.ext.dependencies["fastjson"]
implementation rootProject.ext.dependencies["zxing"]
implementation rootProject.ext.dependencies["progressmanager"]
implementation rootProject.ext.dependencies["BaseRecyclerViewAdapter"]
// 數據庫 // 數據庫
implementation 'org.greenrobot:greendao:3.2.2' implementation 'org.greenrobot:greendao:3.2.2'
implementation 'org.greenrobot:greendao-generator:3.2.2' implementation 'org.greenrobot:greendao-generator:3.2.2'
......
...@@ -24,6 +24,8 @@ public interface Api { ...@@ -24,6 +24,8 @@ public interface Api {
String food_comboItem = "food/comboItem"; String food_comboItem = "food/comboItem";
//食品細項關係 //食品細項關係
String food_modifiere_relation = "food/modifierDetail"; String food_modifiere_relation = "food/modifierDetail";
//餐廳折扣
String restaurant_discount = "RestaurantDiscount/list";
//日誌上傳 //日誌上傳
String upload_app_log = "public/cloud/gsa/upload"; String upload_app_log = "public/cloud/gsa/upload";
} }
package com.gingersoft.gsa.cloud.base.common.bean;
import android.graphics.Color;
import com.gingersoft.gsa.cloud.database.bean.Discount;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-01-19
* 修订历史:2020-01-19
* 描述:
*/
public class BillOrderMoney {
private String title;
private double money;
/**是否已送單#0=未送單;1=已送單*/
private int status = 0;
private int textSize;
private int textColor = Color.parseColor("#000000");
private int bgColor;
private byte type = DISCOUNT_TYPE;
public static final byte DISCOUNT_TYPE = 1;
public static final byte SERVERCHARGE_TYPE = 2;
private Discount discount;
public BillOrderMoney() {
}
public BillOrderMoney(String title, double money, int textSize, int textColor, int bgColor) {
this.title = title;
this.money = money;
this.textSize = textSize;
this.textColor = textColor;
this.bgColor = bgColor;
}
public BillOrderMoney(String title, double money) {
this.title = title;
this.money = money;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public int getTextSize() {
return textSize;
}
public void setTextSize(int textSize) {
this.textSize = textSize;
}
public int getTextColor() {
return textColor;
}
public void setTextColor(int textColor) {
this.textColor = textColor;
}
public int getBgColor() {
return bgColor;
}
public void setBgColor(int bgColor) {
this.bgColor = bgColor;
}
public byte getType() {
return type;
}
public void setType(byte type) {
this.type = type;
}
public Discount getDiscount() {
return discount;
}
public void setDiscount(Discount discount) {
this.discount = discount;
}
}
...@@ -27,23 +27,36 @@ public class OrderBean { ...@@ -27,23 +27,36 @@ public class OrderBean {
private int person; private int person;
private double totalAmount; private double totalAmount;
private double totalPoints; private double totalPoints;
/**生成訂單時間*/ /**折扣金額*/
private double discountAmount;
/**折扣比例*/
private double discountValue;
/**折扣類型*/
private int type;
/**
* 生成訂單時間
*/
private String createTime; private String createTime;
private List<OrderDetailsBean> orderDetails; private List<OrderDetailsBean> orderDetails;
public OrderBean() { public OrderBean() {
} }
public OrderBean(OrderBean orderBean) { public OrderBean(OrderBean orderBean) {
this.id = orderBean.id; this.id = orderBean.id;
this.status = orderBean.status; this.status = orderBean.status;
this.orderNo = orderBean.orderNo; this.orderNo = orderBean.orderNo;
this.person = orderBean.person; this.person = orderBean.person;
this.discountAmount = orderBean.discountAmount;
this.discountValue = orderBean.discountValue;
this.type = orderBean.type;
this.createTime = orderBean.createTime; this.createTime = orderBean.createTime;
} }
public OrderBean(int orderId) { public OrderBean(int orderId) {
this.id = orderId; this.id = orderId;
} }
public long getId() { public long getId() {
return id; return id;
} }
...@@ -92,6 +105,30 @@ public class OrderBean { ...@@ -92,6 +105,30 @@ public class OrderBean {
this.totalPoints = totalPoints; this.totalPoints = totalPoints;
} }
public double getDiscountAmount() {
return discountAmount;
}
public void setDiscountAmount(double discountAmount) {
this.discountAmount = discountAmount;
}
public double getDiscountValue() {
return discountValue;
}
public void setDiscountValue(double discountValue) {
this.discountValue = discountValue;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public String getCreateTime() { public String getCreateTime() {
return createTime; return createTime;
} }
...@@ -134,11 +171,16 @@ public class OrderBean { ...@@ -134,11 +171,16 @@ public class OrderBean {
private byte type; private byte type;
private long parentId; private long parentId;
private long orderId; private long orderId;
/**
* 是否参与折扣#0:不參與;1:參與;
*/
private long ablediscount;
/** /**
* 自定義字段 * 自定義字段
*/ */
/**商品父級ID*/ /**
* 商品父級ID
*/
private long topId; private long topId;
private long memberId; private long memberId;
...@@ -146,14 +188,14 @@ public class OrderBean { ...@@ -146,14 +188,14 @@ public class OrderBean {
} }
public OrderDetailsBean(String productName, long productId,long parentId, double price, double lunchboxPrice, int number,byte type, long orderId) { public OrderDetailsBean(String productName, long productId, long parentId, double price, double lunchboxPrice, int number, byte type, long orderId) {
this.productName = productName; this.productName = productName;
this.productId = productId; this.productId = productId;
this.parentId = parentId; this.parentId = parentId;
this.price = price; this.price = price;
this.lunchboxPrice = lunchboxPrice; this.lunchboxPrice = lunchboxPrice;
this.number = number; this.number = number;
this.type =type; this.type = type;
this.orderId = orderId; this.orderId = orderId;
} }
...@@ -253,6 +295,14 @@ public class OrderBean { ...@@ -253,6 +295,14 @@ public class OrderBean {
this.orderId = orderId; this.orderId = orderId;
} }
public long getAblediscount() {
return ablediscount;
}
public void setAblediscount(long ablediscount) {
this.ablediscount = ablediscount;
}
public long getTopId() { public long getTopId() {
return topId; return topId;
} }
...@@ -291,7 +341,7 @@ public class OrderBean { ...@@ -291,7 +341,7 @@ public class OrderBean {
public static List<OrderDetailsBean> transOrderDetails(List<OrderDetail> foods) { public static List<OrderDetailsBean> transOrderDetails(List<OrderDetail> foods) {
List<OrderDetailsBean> orderDetailsBeans = new ArrayList<>(); List<OrderDetailsBean> orderDetailsBeans = new ArrayList<>();
for (OrderDetail food : foods) { for (OrderDetail food : foods) {
OrderDetailsBean orderDetailsBean = new OrderDetailsBean(food.getProductName(), food.getProductId(), food.getParentId(),food.getUnit_price(), food.getLunchboxPrice(), food.getNumber(), food.getType(),food.getOrderId()); OrderDetailsBean orderDetailsBean = new OrderDetailsBean(food.getProductName(), food.getProductId(), food.getParentId(), food.getUnit_price(), food.getLunchboxPrice(), food.getNumber(), food.getType(), food.getOrderId());
orderDetailsBeans.add(orderDetailsBean); orderDetailsBeans.add(orderDetailsBean);
} }
return orderDetailsBeans; return orderDetailsBeans;
......
...@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.base.common.bean; ...@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.base.common.bean;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage; import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
import com.gingersoft.gsa.cloud.database.bean.ComboItem; import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.database.bean.Food; import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.database.bean.Modifier; import com.gingersoft.gsa.cloud.database.bean.Modifier;
...@@ -43,10 +44,10 @@ public class OrderDetail implements Serializable { ...@@ -43,10 +44,10 @@ public class OrderDetail implements Serializable {
private int limitQty = 0; private int limitQty = 0;
//折扣比例 //折扣比例
private double PERCENTAGE = 0.00; private double PERCENTAGE = 0.00;
//"food" or "discount" or "modifiy" //套餐编號
private String prop = "food"; private long comid ;
//当作为套餐内时的编 //細項編
private String comid = ""; private long mid;
//修改数量前的数量 //修改数量前的数量
private int changeBeforeQty = 0; private int changeBeforeQty = 0;
//当前食品是否有子项 //当前食品是否有子项
...@@ -59,11 +60,24 @@ public class OrderDetail implements Serializable { ...@@ -59,11 +60,24 @@ public class OrderDetail implements Serializable {
private int ComboLevel = 0; private int ComboLevel = 0;
//套餐食品是否自動跟餐 //套餐食品是否自動跟餐
private boolean isComboAuto = false; private boolean isComboAuto = false;
//"food" or "discount" or "modifiy"
private int prop = FOOD_PROP;
/**
* 訂單Item類型
* 1:主食品
* 2:套餐
* 3:細項
* 4:折扣
*/
public static final byte FOOD_PROP = 1;
public static final byte COMBO_PROP = 2;
public static final byte MODIFIER_PROP = 3;
public static final byte DISCOUNT_PROP = 4;
/*** /***
* 層級 * 層級
* 1#主食品 * 1:主食品
* 2#子項or細項 * 2:子項or細項
* 3#細項 * 3:細項
*/ */
private int itemType; private int itemType;
/** /**
...@@ -115,7 +129,7 @@ public class OrderDetail implements Serializable { ...@@ -115,7 +129,7 @@ public class OrderDetail implements Serializable {
*/ */
private String userCouponNo; private String userCouponNo;
/** /**
* 类型#1:优惠卷;2:商品;3:菜品;4:细项; * 类型#1:优惠卷;2:商品;3:菜品;4:细项;5:折扣;
*/ */
private byte type; private byte type;
/** /**
...@@ -135,7 +149,7 @@ public class OrderDetail implements Serializable { ...@@ -135,7 +149,7 @@ public class OrderDetail implements Serializable {
*/ */
private Date createTime = new Date(); private Date createTime = new Date();
/** /**
* 是否参与折扣 * 是否参与折扣#0:不參與;1:參與;
*/ */
private long ablediscount; private long ablediscount;
/** /**
...@@ -159,11 +173,11 @@ public class OrderDetail implements Serializable { ...@@ -159,11 +173,11 @@ public class OrderDetail implements Serializable {
/** /**
* type編號#3:菜品;4:細項 * type編號#3:菜品;4:細項;5:折扣
*/ */
public static final byte FOOD_TYPE = 3; public static final byte FOOD_TYPE = 3;
public static final byte MODIFIER_TYPE = 4; public static final byte MODIFIER_TYPE = 4;
public static final byte DISCOUNT_TYPE = 5;
private String printseting; private String printseting;
...@@ -207,14 +221,18 @@ public class OrderDetail implements Serializable { ...@@ -207,14 +221,18 @@ public class OrderDetail implements Serializable {
return PERCENTAGE; return PERCENTAGE;
} }
public String getProp() { public int getProp() {
return prop; return prop;
} }
public String getComid() { public long getComid() {
return comid; return comid;
} }
public long getMid() {
return mid;
}
public int getChangeBeforeQty() { public int getChangeBeforeQty() {
return changeBeforeQty; return changeBeforeQty;
} }
...@@ -347,14 +365,18 @@ public class OrderDetail implements Serializable { ...@@ -347,14 +365,18 @@ public class OrderDetail implements Serializable {
this.PERCENTAGE = PERCENTAGE; this.PERCENTAGE = PERCENTAGE;
} }
public void setProp(String prop) { public void setProp(int prop) {
this.prop = prop; this.prop = prop;
} }
public void setComid(String comid) { public void setComid(long comid) {
this.comid = comid; this.comid = comid;
} }
public void setMid(long mid) {
this.mid = mid;
}
public void setChangeBeforeQty(int changeBeforeQty) { public void setChangeBeforeQty(int changeBeforeQty) {
this.changeBeforeQty = changeBeforeQty; this.changeBeforeQty = changeBeforeQty;
} }
...@@ -506,6 +528,7 @@ public class OrderDetail implements Serializable { ...@@ -506,6 +528,7 @@ public class OrderDetail implements Serializable {
orderDetail.setProductId(orderDetailsBean.getProductId()); orderDetail.setProductId(orderDetailsBean.getProductId());
orderDetail.setOrderId(orderDetailsBean.getOrderId()); orderDetail.setOrderId(orderDetailsBean.getOrderId());
orderDetail.setParentId(orderDetailsBean.getParentId()); orderDetail.setParentId(orderDetailsBean.getParentId());
orderDetail.setTopId(orderDetailsBean.getTopId());
orderDetail.setProductName(orderDetailsBean.getProductName()); orderDetail.setProductName(orderDetailsBean.getProductName());
orderDetail.setNumber(orderDetailsBean.getNumber()); orderDetail.setNumber(orderDetailsBean.getNumber());
orderDetail.setPrice(orderDetailsBean.getPrice() * orderDetailsBean.getNumber()); orderDetail.setPrice(orderDetailsBean.getPrice() * orderDetailsBean.getNumber());
...@@ -531,6 +554,9 @@ public class OrderDetail implements Serializable { ...@@ -531,6 +554,9 @@ public class OrderDetail implements Serializable {
if (orderDetailsBean.getParentId() != 0 && orderDetailsBean.getType() == FOOD_TYPE) { if (orderDetailsBean.getParentId() != 0 && orderDetailsBean.getType() == FOOD_TYPE) {
return 2; return 2;
} }
if (orderDetailsBean.getParentId() != 0 && orderDetailsBean.getType() == DISCOUNT_TYPE) {
return 2;
}
if (parentOrderDetail != null && orderDetailsBean.getParentId() != 0) { if (parentOrderDetail != null && orderDetailsBean.getParentId() != 0) {
if (parentOrderDetail.getId() == orderDetailsBean.getParentId()) { if (parentOrderDetail.getId() == orderDetailsBean.getParentId()) {
//是父級 //是父級
...@@ -538,6 +564,10 @@ public class OrderDetail implements Serializable { ...@@ -538,6 +564,10 @@ public class OrderDetail implements Serializable {
//第二層子食品 //第二層子食品
return 2; return 2;
} }
if (parentOrderDetail.getParentId() == 0 && orderDetailsBean.getType() == DISCOUNT_TYPE) {
//第二層子食品
return 2;
}
if (parentOrderDetail.getParentId() != 0 && orderDetailsBean.getType() == MODIFIER_TYPE) { if (parentOrderDetail.getParentId() != 0 && orderDetailsBean.getType() == MODIFIER_TYPE) {
//第三層細項 //第三層細項
return 3; return 3;
...@@ -572,7 +602,7 @@ public class OrderDetail implements Serializable { ...@@ -572,7 +602,7 @@ public class OrderDetail implements Serializable {
orderDetail.setNew(true); orderDetail.setNew(true);
orderDetail.setType(FOOD_TYPE); orderDetail.setType(FOOD_TYPE);
orderDetail.setItemType(1); orderDetail.setItemType(1);
orderDetail.setProp("food"); orderDetail.setProp(FOOD_PROP);
orderDetail.setAutoMod(foods.getAutoMod()); orderDetail.setAutoMod(foods.getAutoMod());
int comboLevel = foods.isComboFood() ? 1 : 0; int comboLevel = foods.isComboFood() ? 1 : 0;
orderDetail.setComboLevel(comboLevel); orderDetail.setComboLevel(comboLevel);
...@@ -588,20 +618,22 @@ public class OrderDetail implements Serializable { ...@@ -588,20 +618,22 @@ public class OrderDetail implements Serializable {
* @param isRvMealClicked * @param isRvMealClicked
* @return * @return
*/ */
public static OrderDetail comboTransOrderDetail(ComboItem foodCombo, long id, int number, String prop, boolean isRvMealClicked) { public static OrderDetail comboTransOrderDetail(ComboItem foodCombo, long id, int number, int prop, boolean isRvMealClicked) {
OrderDetail orderDetail = new OrderDetail(); OrderDetail orderDetail = new OrderDetail();
orderDetail.setProductName(foodCombo.getName()); orderDetail.setProductName(foodCombo.getName());
if (foodCombo.getFid() != null) { // if (foodCombo.getFid() != null) {
orderDetail.setTopId(foodCombo.getFid()); // orderDetail.setTopId(foodCombo.getFid());
} orderDetail.setTopId(foodCombo.getComId());
// }
if (foodCombo.getComId() != null) { if (foodCombo.getComId() != null) {
orderDetail.setProductId(foodCombo.getComId()); orderDetail.setProductId(foodCombo.getFid());
} }
orderDetail.setParentId(id); orderDetail.setParentId(id);
orderDetail.setUnit_price(foodCombo.getPrice()); orderDetail.setUnit_price(foodCombo.getPrice());
orderDetail.setPrice(number * orderDetail.getUnit_price()); orderDetail.setPrice(number * orderDetail.getUnit_price());
orderDetail.setNumber(number); orderDetail.setNumber(number);
orderDetail.setOrderId(MyOrderManage.getInstance().getOrderId()); orderDetail.setOrderId(MyOrderManage.getInstance().getOrderId());
orderDetail.setComid(foodCombo.getComId());
orderDetail.setIsfood(true); orderDetail.setIsfood(true);
orderDetail.setNew(true); orderDetail.setNew(true);
orderDetail.setType(FOOD_TYPE); orderDetail.setType(FOOD_TYPE);
...@@ -628,22 +660,50 @@ public class OrderDetail implements Serializable { ...@@ -628,22 +660,50 @@ public class OrderDetail implements Serializable {
public static OrderDetail modifierTransOrderDetail(Modifier modifier, long id, int number) { public static OrderDetail modifierTransOrderDetail(Modifier modifier, long id, int number) {
OrderDetail orderDetail = new OrderDetail(); OrderDetail orderDetail = new OrderDetail();
orderDetail.setProductName(modifier.getModifierName()); orderDetail.setProductName(modifier.getModifierName());
orderDetail.setTopId(modifier.getFid()); orderDetail.setTopId(modifier.getTopId());
orderDetail.setParentId(id); orderDetail.setParentId(id);
orderDetail.setProductId(modifier.getMid()); orderDetail.setProductId(modifier.getMid());
orderDetail.setUnit_price(modifier.getPrice()); orderDetail.setUnit_price(modifier.getPrice());
orderDetail.setPrice(number * orderDetail.getUnit_price()); orderDetail.setPrice(number * orderDetail.getUnit_price());
orderDetail.setNumber(number); orderDetail.setNumber(number);
orderDetail.setOrderId(MyOrderManage.getInstance().getOrderId()); orderDetail.setOrderId(MyOrderManage.getInstance().getOrderId());
orderDetail.setMid(modifier.getMid());
orderDetail.setIsfood(false); orderDetail.setIsfood(false);
orderDetail.setNew(true); orderDetail.setNew(true);
orderDetail.setType(MODIFIER_TYPE); orderDetail.setType(MODIFIER_TYPE);
orderDetail.setItemType(3); orderDetail.setItemType(3);
orderDetail.setProp("modifify"); orderDetail.setProp(MODIFIER_PROP);
//手动点击细项 才将子食品作为主体被选中 //手动点击细项 才将子食品作为主体被选中
orderDetail.setSelected(2); orderDetail.setSelected(2);
return orderDetail; return orderDetail;
} }
/**
* 折扣轉換
*
* @param discount
* @return
*/
public static OrderDetail discountTransOrderDetail(Discount discount, double sourcePrice) {
double discountPrice = Discount.calculationDiscount(discount,sourcePrice);
OrderDetail orderDetail = new OrderDetail();
orderDetail.setProductName(discount.getRemark());
orderDetail.setTopId(discount.getId());
orderDetail.setParentId(discount.getId());
orderDetail.setProductId(discount.getId());
orderDetail.setNumber(1);
orderDetail.setPrice(discountPrice);
orderDetail.setUnit_price(discountPrice);
orderDetail.setOrderId(MyOrderManage.getInstance().getOrderId());
orderDetail.setIsfood(false);
orderDetail.setNew(true);
orderDetail.setType(DISCOUNT_TYPE);
orderDetail.setItemType(2);
orderDetail.setProp(DISCOUNT_PROP);
orderDetail.setSelected(2);
return orderDetail;
}
} }
...@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.base.common.bean.mealManage; ...@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.base.common.bean.mealManage;
import android.app.Activity; import android.app.Activity;
import com.gingersoft.gsa.cloud.base.common.bean.BillOrderMoney;
import com.gingersoft.gsa.cloud.base.common.bean.OrderBean; import com.gingersoft.gsa.cloud.base.common.bean.OrderBean;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail; import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.PayMethod; import com.gingersoft.gsa.cloud.base.common.bean.PayMethod;
...@@ -52,6 +53,8 @@ public class MyOrderManage { ...@@ -52,6 +53,8 @@ public class MyOrderManage {
private List<OrderDetail> orderFoodList = new ArrayList<>(); private List<OrderDetail> orderFoodList = new ArrayList<>();
/**本次送單食品,用於打印*/ /**本次送單食品,用於打印*/
private List<OrderDetail> newFoodList = new ArrayList<>(); private List<OrderDetail> newFoodList = new ArrayList<>();
/**整單折扣,服務費*/
protected List<BillOrderMoney> orderMoneyList = new ArrayList<>();
/**本次支付方式,用於打印*/ /**本次支付方式,用於打印*/
private List<PayMethod> billMoney = new ArrayList<>(); private List<PayMethod> billMoney = new ArrayList<>();
...@@ -99,6 +102,9 @@ public class MyOrderManage { ...@@ -99,6 +102,9 @@ public class MyOrderManage {
this.orderBean = orderBean; this.orderBean = orderBean;
} }
public OrderBean getOrderBean() {
return orderBean;
}
public void changeNumber(int number) { public void changeNumber(int number) {
...@@ -1011,6 +1017,9 @@ public class MyOrderManage { ...@@ -1011,6 +1017,9 @@ public class MyOrderManage {
if (newFoodList != null) { if (newFoodList != null) {
newFoodList.clear(); newFoodList.clear();
} }
if (orderMoneyList != null) {
orderMoneyList.clear();
}
if (billMoney != null) { if (billMoney != null) {
billMoney.clear(); billMoney.clear();
} }
...@@ -1132,7 +1141,19 @@ public class MyOrderManage { ...@@ -1132,7 +1141,19 @@ public class MyOrderManage {
public void setOrderFoodList(List<OrderDetail> orderFoodList) { public void setOrderFoodList(List<OrderDetail> orderFoodList) {
this.orderFoodList = orderFoodList; this.orderFoodList = orderFoodList;
} }
//
public List<BillOrderMoney> getOrderMoneyList() {
if (orderMoneyList == null) {
orderMoneyList = new ArrayList<>();
}
return orderMoneyList;
}
public void setOrderMoneyList(List<BillOrderMoney> orderMoneyList) {
this.orderMoneyList = orderMoneyList;
}
//
// public List<DatasBean> getComboOrders() { // public List<DatasBean> getComboOrders() {
// return comboOrders; // return comboOrders;
// } // }
...@@ -1177,7 +1198,6 @@ public class MyOrderManage { ...@@ -1177,7 +1198,6 @@ public class MyOrderManage {
// this.selectMealAdapter = selectMealAdapter; // this.selectMealAdapter = selectMealAdapter;
// } // }
public boolean isModifyOrder() { public boolean isModifyOrder() {
return modifyOrder; return modifyOrder;
} }
......
package com.gingersoft.gsa.cloud.base.utils;
import android.text.TextUtils;
import android.util.SparseArray;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.database.bean.FoodCombo;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.database.utils.FoodComboDaoUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-02-14
* 修订历史:2020-02-14
* 描述:常用配置
*/
public class CommonConfiguration {
//保存食品套餐組ID
private SparseArray<Integer> mComboIdList;
//保存細項組ID
private SparseArray<Long> mModifierTopIdList;
private static CommonConfiguration commonConfiguration;
public static CommonConfiguration getInstance() {
if (commonConfiguration == null) {
commonConfiguration = new CommonConfiguration();
}
return commonConfiguration;
}
public CommonConfiguration() {
mComboIdList = new SparseArray<>();
mModifierTopIdList = new SparseArray<>();
}
/**
* 保存食品對應套餐ID備用
*
* @param datas
*/
public void saveComboIdConfiguration(List<FoodCombo> datas) {
for (FoodCombo datasBean : datas) {
if (datasBean.getFid() != 0 && datasBean.getComId() != 0) {
mComboIdList.put(Integer.parseInt(datasBean.getFid() + ""), datasBean.getComId());
}
}
}
/**
* 保存細項對應組ID備用
*
* @param datas
*/
public void saveModifierTopIdConfiguration(List<Modifier> datas) {
for (Modifier datasBean : datas) {
if (datasBean.getMid() != 0 && datasBean.getTopId() != 0) {
mModifierTopIdList.put(Integer.parseInt(datasBean.getMid() + ""), datasBean.getTopId());
}
}
}
public long getModifierTopIdMid(int mid) {
return mModifierTopIdList.get(mid, (long) 0);
}
}
...@@ -17,7 +17,7 @@ public class MoneyUtil { ...@@ -17,7 +17,7 @@ public class MoneyUtil {
// 總金額小數位 // 總金額小數位
public static int rounding, RoundingDecimal; public static int rounding, RoundingDecimal;
// (直接截取) : 食品 細項 折扣 會員折扣 合計 服務費 // (直接截取) : 食品 細項 折扣 會員折扣 合計 服務費
public static int ItemDecimals; public static int ItemDecimals = 1;
public static double get_ItemDecimals_money(double money) { public static double get_ItemDecimals_money(double money) {
double rMoney = money; double rMoney = money;
......
package com.gingersoft.gsa.cloud.constans;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-04-11
* 修订历史:2020-04-11
* 描述:
*/
public interface StyleConstans {
String front_size = "fs";
String front_color = "fc";
String backgroup_color = "bc";
}
...@@ -68,6 +68,9 @@ public class ComboItem { ...@@ -68,6 +68,9 @@ public class ComboItem {
private String name2; private String name2;
@Transient @Transient
private long parentId; private long parentId;
/**套餐最大選擇數*/
@Transient
private int selectQty;
/**默認選中數*/ /**默認選中數*/
@Transient @Transient
private String defmodifier = "0"; private String defmodifier = "0";
...@@ -329,6 +332,14 @@ public class ComboItem { ...@@ -329,6 +332,14 @@ public class ComboItem {
this.modifier = modifier; this.modifier = modifier;
} }
public int getSelectQty() {
return selectQty;
}
public void setSelectQty(int selectQty) {
this.selectQty = selectQty;
}
public String getDefmodifier() { public String getDefmodifier() {
return defmodifier; return defmodifier;
} }
......
package com.gingersoft.gsa.cloud.database.bean;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.Property;
import java.util.Date;
import org.greenrobot.greendao.annotation.Generated;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-04-08
* 修订历史:2020-04-08
* 描述:
*/
@Entity
public class Discount {
/**
* ID
*/
@Property(nameInDb = "_id")
@Id(autoincrement = true)
private Long id;
private Integer restaurant_id;
/**金額*/
private Double amount;
/**折扣*/
private Double discount_value;
/**类型#0:金额;1:折扣;*/
private Integer type;
/**状态#0:启用;1:禁用;*/
private Integer status;
/**折扣描述*/
private String remark;
private Date begin_time;
private Date end_time;
@Generated(hash = 947827493)
public Discount(Long id, Integer restaurant_id, Double amount,
Double discount_value, Integer type, Integer status, String remark,
Date begin_time, Date end_time) {
this.id = id;
this.restaurant_id = restaurant_id;
this.amount = amount;
this.discount_value = discount_value;
this.type = type;
this.status = status;
this.remark = remark;
this.begin_time = begin_time;
this.end_time = end_time;
}
@Generated(hash = 1777606421)
public Discount() {
}
public Long getId() {
return this.id;
}
public void setId(Long id) {
this.id = id;
}
public Integer getRestaurant_id() {
return this.restaurant_id;
}
public void setRestaurant_id(Integer restaurant_id) {
this.restaurant_id = restaurant_id;
}
public Double getAmount() {
return this.amount;
}
public void setAmount(Double amount) {
this.amount = amount;
}
public Double getDiscount_value() {
return this.discount_value;
}
public void setDiscount_value(Double discount_value) {
this.discount_value = discount_value;
}
public Integer getType() {
return this.type;
}
public void setType(Integer type) {
this.type = type;
}
public Integer getStatus() {
return this.status;
}
public void setStatus(Integer status) {
this.status = status;
}
public String getRemark() {
return this.remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public Date getBegin_time() {
return this.begin_time;
}
public void setBegin_time(Date begin_time) {
this.begin_time = begin_time;
}
public Date getEnd_time() {
return this.end_time;
}
public void setEnd_time(Date end_time) {
this.end_time = end_time;
}
/**
* 計算折扣金額
* @param discount
* @param sourcePrice
* @return
*/
public static double calculationDiscount(Discount discount , double sourcePrice){
double discountPrice;
if(discount.getType() == 0){
//金額折扣
discountPrice = discount.getAmount();
}else {
//百分比折扣
discountPrice = sourcePrice * discount.getDiscount_value();
}
if(sourcePrice < discountPrice){
//折扣金額不能超出總額
discountPrice = sourcePrice;
}else {
discountPrice = sourcePrice - discountPrice;
}
return -MoneyUtil.get_ItemDecimals_money(discountPrice);
}
}
...@@ -23,6 +23,7 @@ public class FoodCombo { ...@@ -23,6 +23,7 @@ public class FoodCombo {
private int comId;//套餐ID private int comId;//套餐ID
private int seqNo; private int seqNo;
private int diffAmt; private int diffAmt;
/**套餐最大選擇數*/
private int selectQty; private int selectQty;
private String createTime; private String createTime;
private String defModifier; private String defModifier;
......
...@@ -21,7 +21,6 @@ import java.util.List; ...@@ -21,7 +21,6 @@ import java.util.List;
public class FoodModifier { public class FoodModifier {
@Property(nameInDb = "_id") @Property(nameInDb = "_id")
@Id(autoincrement = true) @Id(autoincrement = true)
private Long id; private Long id;
......
...@@ -107,6 +107,11 @@ public class Function { ...@@ -107,6 +107,11 @@ public class Function {
this.textSizeRes = textSizeRes; this.textSizeRes = textSizeRes;
} }
public Function(String resUrl, int iconRes) {
this.resUrl = resUrl;
this.iconRes = iconRes;
}
public Long getId() { public Long getId() {
return id; return id;
} }
......
...@@ -224,6 +224,9 @@ public class Modifier { ...@@ -224,6 +224,9 @@ public class Modifier {
@Transient @Transient
/**最大選中數*/ /**最大選中數*/
private int maxNumber = 99; private int maxNumber = 99;
@Transient
/**最小選中數*/
private int minNumber = 1;
/**默認選中數*/ /**默認選中數*/
@Transient @Transient
private String defmodifier = "0"; private String defmodifier = "0";
...@@ -754,6 +757,14 @@ public class Modifier { ...@@ -754,6 +757,14 @@ public class Modifier {
this.maxNumber = maxNumber; this.maxNumber = maxNumber;
} }
public int getMinNumber() {
return minNumber;
}
public void setMinNumber(int minNumber) {
this.minNumber = minNumber;
}
public void setSelected(boolean selected) { public void setSelected(boolean selected) {
this.selected = selected; this.selected = selected;
} }
......
...@@ -14,14 +14,15 @@ import org.greenrobot.greendao.identityscope.IdentityScopeType; ...@@ -14,14 +14,15 @@ import org.greenrobot.greendao.identityscope.IdentityScopeType;
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT. // THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
/** /**
* Master of DAO (schema version 1): knows all DAOs. * Master of DAO (schema version 2): knows all DAOs.
*/ */
public class DaoMaster extends AbstractDaoMaster { public class DaoMaster extends AbstractDaoMaster {
public static final int SCHEMA_VERSION = 1; public static final int SCHEMA_VERSION = 2;
/** Creates underlying database table using DAOs. */ /** Creates underlying database table using DAOs. */
public static void createAllTables(Database db, boolean ifNotExists) { public static void createAllTables(Database db, boolean ifNotExists) {
ComboItemDao.createTable(db, ifNotExists); ComboItemDao.createTable(db, ifNotExists);
DiscountDao.createTable(db, ifNotExists);
FoodDao.createTable(db, ifNotExists); FoodDao.createTable(db, ifNotExists);
FoodComboDao.createTable(db, ifNotExists); FoodComboDao.createTable(db, ifNotExists);
FoodModifierDao.createTable(db, ifNotExists); FoodModifierDao.createTable(db, ifNotExists);
...@@ -33,6 +34,7 @@ public class DaoMaster extends AbstractDaoMaster { ...@@ -33,6 +34,7 @@ public class DaoMaster extends AbstractDaoMaster {
/** Drops underlying database table using DAOs. */ /** Drops underlying database table using DAOs. */
public static void dropAllTables(Database db, boolean ifExists) { public static void dropAllTables(Database db, boolean ifExists) {
ComboItemDao.dropTable(db, ifExists); ComboItemDao.dropTable(db, ifExists);
DiscountDao.dropTable(db, ifExists);
FoodDao.dropTable(db, ifExists); FoodDao.dropTable(db, ifExists);
FoodComboDao.dropTable(db, ifExists); FoodComboDao.dropTable(db, ifExists);
FoodModifierDao.dropTable(db, ifExists); FoodModifierDao.dropTable(db, ifExists);
...@@ -58,6 +60,7 @@ public class DaoMaster extends AbstractDaoMaster { ...@@ -58,6 +60,7 @@ public class DaoMaster extends AbstractDaoMaster {
public DaoMaster(Database db) { public DaoMaster(Database db) {
super(db, SCHEMA_VERSION); super(db, SCHEMA_VERSION);
registerDaoClass(ComboItemDao.class); registerDaoClass(ComboItemDao.class);
registerDaoClass(DiscountDao.class);
registerDaoClass(FoodDao.class); registerDaoClass(FoodDao.class);
registerDaoClass(FoodComboDao.class); registerDaoClass(FoodComboDao.class);
registerDaoClass(FoodModifierDao.class); registerDaoClass(FoodModifierDao.class);
......
...@@ -9,6 +9,7 @@ import org.greenrobot.greendao.identityscope.IdentityScopeType; ...@@ -9,6 +9,7 @@ import org.greenrobot.greendao.identityscope.IdentityScopeType;
import org.greenrobot.greendao.internal.DaoConfig; import org.greenrobot.greendao.internal.DaoConfig;
import com.gingersoft.gsa.cloud.database.bean.ComboItem; import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.database.bean.Food; import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.database.bean.FoodCombo; import com.gingersoft.gsa.cloud.database.bean.FoodCombo;
import com.gingersoft.gsa.cloud.database.bean.FoodModifier; import com.gingersoft.gsa.cloud.database.bean.FoodModifier;
...@@ -17,6 +18,7 @@ import com.gingersoft.gsa.cloud.database.bean.Modifier; ...@@ -17,6 +18,7 @@ import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean; import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.gingersoft.gsa.cloud.database.greendao.ComboItemDao; import com.gingersoft.gsa.cloud.database.greendao.ComboItemDao;
import com.gingersoft.gsa.cloud.database.greendao.DiscountDao;
import com.gingersoft.gsa.cloud.database.greendao.FoodDao; import com.gingersoft.gsa.cloud.database.greendao.FoodDao;
import com.gingersoft.gsa.cloud.database.greendao.FoodComboDao; import com.gingersoft.gsa.cloud.database.greendao.FoodComboDao;
import com.gingersoft.gsa.cloud.database.greendao.FoodModifierDao; import com.gingersoft.gsa.cloud.database.greendao.FoodModifierDao;
...@@ -34,6 +36,7 @@ import com.gingersoft.gsa.cloud.database.greendao.PrinterDeviceBeanDao; ...@@ -34,6 +36,7 @@ import com.gingersoft.gsa.cloud.database.greendao.PrinterDeviceBeanDao;
public class DaoSession extends AbstractDaoSession { public class DaoSession extends AbstractDaoSession {
private final DaoConfig comboItemDaoConfig; private final DaoConfig comboItemDaoConfig;
private final DaoConfig discountDaoConfig;
private final DaoConfig foodDaoConfig; private final DaoConfig foodDaoConfig;
private final DaoConfig foodComboDaoConfig; private final DaoConfig foodComboDaoConfig;
private final DaoConfig foodModifierDaoConfig; private final DaoConfig foodModifierDaoConfig;
...@@ -42,6 +45,7 @@ public class DaoSession extends AbstractDaoSession { ...@@ -42,6 +45,7 @@ public class DaoSession extends AbstractDaoSession {
private final DaoConfig printerDeviceBeanDaoConfig; private final DaoConfig printerDeviceBeanDaoConfig;
private final ComboItemDao comboItemDao; private final ComboItemDao comboItemDao;
private final DiscountDao discountDao;
private final FoodDao foodDao; private final FoodDao foodDao;
private final FoodComboDao foodComboDao; private final FoodComboDao foodComboDao;
private final FoodModifierDao foodModifierDao; private final FoodModifierDao foodModifierDao;
...@@ -56,6 +60,9 @@ public class DaoSession extends AbstractDaoSession { ...@@ -56,6 +60,9 @@ public class DaoSession extends AbstractDaoSession {
comboItemDaoConfig = daoConfigMap.get(ComboItemDao.class).clone(); comboItemDaoConfig = daoConfigMap.get(ComboItemDao.class).clone();
comboItemDaoConfig.initIdentityScope(type); comboItemDaoConfig.initIdentityScope(type);
discountDaoConfig = daoConfigMap.get(DiscountDao.class).clone();
discountDaoConfig.initIdentityScope(type);
foodDaoConfig = daoConfigMap.get(FoodDao.class).clone(); foodDaoConfig = daoConfigMap.get(FoodDao.class).clone();
foodDaoConfig.initIdentityScope(type); foodDaoConfig.initIdentityScope(type);
...@@ -75,6 +82,7 @@ public class DaoSession extends AbstractDaoSession { ...@@ -75,6 +82,7 @@ public class DaoSession extends AbstractDaoSession {
printerDeviceBeanDaoConfig.initIdentityScope(type); printerDeviceBeanDaoConfig.initIdentityScope(type);
comboItemDao = new ComboItemDao(comboItemDaoConfig, this); comboItemDao = new ComboItemDao(comboItemDaoConfig, this);
discountDao = new DiscountDao(discountDaoConfig, this);
foodDao = new FoodDao(foodDaoConfig, this); foodDao = new FoodDao(foodDaoConfig, this);
foodComboDao = new FoodComboDao(foodComboDaoConfig, this); foodComboDao = new FoodComboDao(foodComboDaoConfig, this);
foodModifierDao = new FoodModifierDao(foodModifierDaoConfig, this); foodModifierDao = new FoodModifierDao(foodModifierDaoConfig, this);
...@@ -83,6 +91,7 @@ public class DaoSession extends AbstractDaoSession { ...@@ -83,6 +91,7 @@ public class DaoSession extends AbstractDaoSession {
printerDeviceBeanDao = new PrinterDeviceBeanDao(printerDeviceBeanDaoConfig, this); printerDeviceBeanDao = new PrinterDeviceBeanDao(printerDeviceBeanDaoConfig, this);
registerDao(ComboItem.class, comboItemDao); registerDao(ComboItem.class, comboItemDao);
registerDao(Discount.class, discountDao);
registerDao(Food.class, foodDao); registerDao(Food.class, foodDao);
registerDao(FoodCombo.class, foodComboDao); registerDao(FoodCombo.class, foodComboDao);
registerDao(FoodModifier.class, foodModifierDao); registerDao(FoodModifier.class, foodModifierDao);
...@@ -93,6 +102,7 @@ public class DaoSession extends AbstractDaoSession { ...@@ -93,6 +102,7 @@ public class DaoSession extends AbstractDaoSession {
public void clear() { public void clear() {
comboItemDaoConfig.clearIdentityScope(); comboItemDaoConfig.clearIdentityScope();
discountDaoConfig.clearIdentityScope();
foodDaoConfig.clearIdentityScope(); foodDaoConfig.clearIdentityScope();
foodComboDaoConfig.clearIdentityScope(); foodComboDaoConfig.clearIdentityScope();
foodModifierDaoConfig.clearIdentityScope(); foodModifierDaoConfig.clearIdentityScope();
...@@ -105,6 +115,10 @@ public class DaoSession extends AbstractDaoSession { ...@@ -105,6 +115,10 @@ public class DaoSession extends AbstractDaoSession {
return comboItemDao; return comboItemDao;
} }
public DiscountDao getDiscountDao() {
return discountDao;
}
public FoodDao getFoodDao() { public FoodDao getFoodDao() {
return foodDao; return foodDao;
} }
......
package com.gingersoft.gsa.cloud.database.greendao;
import android.database.Cursor;
import android.database.sqlite.SQLiteStatement;
import org.greenrobot.greendao.AbstractDao;
import org.greenrobot.greendao.Property;
import org.greenrobot.greendao.internal.DaoConfig;
import org.greenrobot.greendao.database.Database;
import org.greenrobot.greendao.database.DatabaseStatement;
import com.gingersoft.gsa.cloud.database.bean.Discount;
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
/**
* DAO for table "DISCOUNT".
*/
public class DiscountDao extends AbstractDao<Discount, Long> {
public static final String TABLENAME = "DISCOUNT";
/**
* Properties of entity Discount.<br/>
* Can be used for QueryBuilder and for referencing column names.
*/
public static class Properties {
public final static Property Id = new Property(0, Long.class, "id", true, "_id");
public final static Property Restaurant_id = new Property(1, Integer.class, "restaurant_id", false, "RESTAURANT_ID");
public final static Property Amount = new Property(2, Double.class, "amount", false, "AMOUNT");
public final static Property Discount_value = new Property(3, Double.class, "discount_value", false, "DISCOUNT_VALUE");
public final static Property Type = new Property(4, Integer.class, "type", false, "TYPE");
public final static Property Status = new Property(5, Integer.class, "status", false, "STATUS");
public final static Property Remark = new Property(6, String.class, "remark", false, "REMARK");
public final static Property Begin_time = new Property(7, java.util.Date.class, "begin_time", false, "BEGIN_TIME");
public final static Property End_time = new Property(8, java.util.Date.class, "end_time", false, "END_TIME");
}
public DiscountDao(DaoConfig config) {
super(config);
}
public DiscountDao(DaoConfig config, DaoSession daoSession) {
super(config, daoSession);
}
/** Creates the underlying database table. */
public static void createTable(Database db, boolean ifNotExists) {
String constraint = ifNotExists? "IF NOT EXISTS ": "";
db.execSQL("CREATE TABLE " + constraint + "\"DISCOUNT\" (" + //
"\"_id\" INTEGER PRIMARY KEY AUTOINCREMENT ," + // 0: id
"\"RESTAURANT_ID\" INTEGER," + // 1: restaurant_id
"\"AMOUNT\" REAL," + // 2: amount
"\"DISCOUNT_VALUE\" REAL," + // 3: discount_value
"\"TYPE\" INTEGER," + // 4: type
"\"STATUS\" INTEGER," + // 5: status
"\"REMARK\" TEXT," + // 6: remark
"\"BEGIN_TIME\" INTEGER," + // 7: begin_time
"\"END_TIME\" INTEGER);"); // 8: end_time
}
/** Drops the underlying database table. */
public static void dropTable(Database db, boolean ifExists) {
String sql = "DROP TABLE " + (ifExists ? "IF EXISTS " : "") + "\"DISCOUNT\"";
db.execSQL(sql);
}
@Override
protected final void bindValues(DatabaseStatement stmt, Discount entity) {
stmt.clearBindings();
Long id = entity.getId();
if (id != null) {
stmt.bindLong(1, id);
}
Integer restaurant_id = entity.getRestaurant_id();
if (restaurant_id != null) {
stmt.bindLong(2, restaurant_id);
}
Double amount = entity.getAmount();
if (amount != null) {
stmt.bindDouble(3, amount);
}
Double discount_value = entity.getDiscount_value();
if (discount_value != null) {
stmt.bindDouble(4, discount_value);
}
Integer type = entity.getType();
if (type != null) {
stmt.bindLong(5, type);
}
Integer status = entity.getStatus();
if (status != null) {
stmt.bindLong(6, status);
}
String remark = entity.getRemark();
if (remark != null) {
stmt.bindString(7, remark);
}
java.util.Date begin_time = entity.getBegin_time();
if (begin_time != null) {
stmt.bindLong(8, begin_time.getTime());
}
java.util.Date end_time = entity.getEnd_time();
if (end_time != null) {
stmt.bindLong(9, end_time.getTime());
}
}
@Override
protected final void bindValues(SQLiteStatement stmt, Discount entity) {
stmt.clearBindings();
Long id = entity.getId();
if (id != null) {
stmt.bindLong(1, id);
}
Integer restaurant_id = entity.getRestaurant_id();
if (restaurant_id != null) {
stmt.bindLong(2, restaurant_id);
}
Double amount = entity.getAmount();
if (amount != null) {
stmt.bindDouble(3, amount);
}
Double discount_value = entity.getDiscount_value();
if (discount_value != null) {
stmt.bindDouble(4, discount_value);
}
Integer type = entity.getType();
if (type != null) {
stmt.bindLong(5, type);
}
Integer status = entity.getStatus();
if (status != null) {
stmt.bindLong(6, status);
}
String remark = entity.getRemark();
if (remark != null) {
stmt.bindString(7, remark);
}
java.util.Date begin_time = entity.getBegin_time();
if (begin_time != null) {
stmt.bindLong(8, begin_time.getTime());
}
java.util.Date end_time = entity.getEnd_time();
if (end_time != null) {
stmt.bindLong(9, end_time.getTime());
}
}
@Override
public Long readKey(Cursor cursor, int offset) {
return cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0);
}
@Override
public Discount readEntity(Cursor cursor, int offset) {
Discount entity = new Discount( //
cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0), // id
cursor.isNull(offset + 1) ? null : cursor.getInt(offset + 1), // restaurant_id
cursor.isNull(offset + 2) ? null : cursor.getDouble(offset + 2), // amount
cursor.isNull(offset + 3) ? null : cursor.getDouble(offset + 3), // discount_value
cursor.isNull(offset + 4) ? null : cursor.getInt(offset + 4), // type
cursor.isNull(offset + 5) ? null : cursor.getInt(offset + 5), // status
cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6), // remark
cursor.isNull(offset + 7) ? null : new java.util.Date(cursor.getLong(offset + 7)), // begin_time
cursor.isNull(offset + 8) ? null : new java.util.Date(cursor.getLong(offset + 8)) // end_time
);
return entity;
}
@Override
public void readEntity(Cursor cursor, Discount entity, int offset) {
entity.setId(cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0));
entity.setRestaurant_id(cursor.isNull(offset + 1) ? null : cursor.getInt(offset + 1));
entity.setAmount(cursor.isNull(offset + 2) ? null : cursor.getDouble(offset + 2));
entity.setDiscount_value(cursor.isNull(offset + 3) ? null : cursor.getDouble(offset + 3));
entity.setType(cursor.isNull(offset + 4) ? null : cursor.getInt(offset + 4));
entity.setStatus(cursor.isNull(offset + 5) ? null : cursor.getInt(offset + 5));
entity.setRemark(cursor.isNull(offset + 6) ? null : cursor.getString(offset + 6));
entity.setBegin_time(cursor.isNull(offset + 7) ? null : new java.util.Date(cursor.getLong(offset + 7)));
entity.setEnd_time(cursor.isNull(offset + 8) ? null : new java.util.Date(cursor.getLong(offset + 8)));
}
@Override
protected final Long updateKeyAfterInsert(Discount entity, long rowId) {
entity.setId(rowId);
return rowId;
}
@Override
public Long getKey(Discount entity) {
if(entity != null) {
return entity.getId();
} else {
return null;
}
}
@Override
public boolean hasKey(Discount entity) {
return entity.getId() != null;
}
@Override
protected final boolean isEntityUpdateable() {
return true;
}
}
...@@ -162,7 +162,7 @@ public class ComboItemDaoUtils { ...@@ -162,7 +162,7 @@ public class ComboItemDaoUtils {
ArrayList<ComboItem> comboItems = new ArrayList<>(); ArrayList<ComboItem> comboItems = new ArrayList<>();
// String sql = "SELECT c.*,f.FOOD_NAME,f.FOOD_NAME1,f.FOOD_NAME2,f.PRICE,f.AUTO_MOD FROM COMBO_ITEM c join FOOD f on c.FID=f.FID and f.INVISIBLE=0 join FOOD_COMBO r on r.COM_ID=c.COM_ID "; // String sql = "SELECT c.*,f.FOOD_NAME,f.FOOD_NAME1,f.FOOD_NAME2,f.PRICE,f.AUTO_MOD FROM COMBO_ITEM c join FOOD f on c.FID=f.FID and f.INVISIBLE=0 join FOOD_COMBO r on r.COM_ID=c.COM_ID ";
String sql = "SELECT c.*,f.FOOD_NAME,f.FOOD_NAME1,f.FOOD_NAME2,f.PRICE,f.AUTO_MOD,DEF_MODIFIER FROM COMBO_ITEM c join FOOD f on c.FID=f.FID and f.INVISIBLE=0 join FOOD_COMBO r on r.COM_ID=c.COM_ID "; String sql = "SELECT c.*,f.FOOD_NAME,f.FOOD_NAME1,f.FOOD_NAME2,f.PRICE,f.AUTO_MOD,DEF_MODIFIER,SELECT_QTY FROM COMBO_ITEM c join FOOD f on c.FID=f.FID and f.INVISIBLE=0 join FOOD_COMBO r on r.COM_ID=c.COM_ID ";
if (fid > 0) { if (fid > 0) {
sql = sql + " where r.FID='" + fid + "'"; sql = sql + " where r.FID='" + fid + "'";
...@@ -180,6 +180,7 @@ public class ComboItemDaoUtils { ...@@ -180,6 +180,7 @@ public class ComboItemDaoUtils {
order.setName2(c.getString(c.getColumnIndex("FOOD_NAME2"))); order.setName2(c.getString(c.getColumnIndex("FOOD_NAME2")));
order.setVisible(c.getLong(c.getColumnIndex("VISIBLE"))); order.setVisible(c.getLong(c.getColumnIndex("VISIBLE")));
order.setAutoMode(c.getInt(c.getColumnIndex("AUTO_MOD"))); order.setAutoMode(c.getInt(c.getColumnIndex("AUTO_MOD")));
order.setSelectQty(c.getInt(c.getColumnIndex("SELECT_QTY")));
String defmodifier = c.getString(c.getColumnIndex("DEF_MODIFIER")); String defmodifier = c.getString(c.getColumnIndex("DEF_MODIFIER"));
if (!TextUtils.isEmpty(defmodifier) && !", ".equals(defmodifier)) { if (!TextUtils.isEmpty(defmodifier) && !", ".equals(defmodifier)) {
order.setDefmodifier(defmodifier); order.setDefmodifier(defmodifier);
......
package com.gingersoft.gsa.cloud.database.utils;
import android.content.Context;
import android.util.Log;
import com.gingersoft.gsa.cloud.database.DaoManager;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.database.greendao.DiscountDao;
import com.gingersoft.gsa.cloud.database.greendao.FoodDao;
import com.gingersoft.gsa.cloud.database.greendao.FoodModifierDao;
import com.gingersoft.gsa.cloud.database.greendao.FunctionDao;
import org.greenrobot.greendao.query.QueryBuilder;
import java.util.List;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-01-02
* 修订历史:2020-01-02
* 描述:
*/
public class DiscountDaoUtils {
private static final String TAG = DiscountDaoUtils.class.getSimpleName();
private DaoManager mManager;
public DiscountDaoUtils(Context context){
mManager = DaoManager.getInstance();
mManager.init(context);
}
/**
* 完成Function记录的插入,如果表未创建,先创建Function表
* @param discount
* @return
*/
public boolean insertDiscount(Discount discount){
boolean flag = false;
flag = mManager.getDaoSession().getDiscountDao().insert(discount) == -1 ? false : true;
Log.i(TAG, "insert discount :" + flag + "-->" + discount.toString());
return flag;
}
/**
* 插入多条数据,在子线程操作
* @param discountList
* @return
*/
public boolean insertMultDiscount(final List<Discount> discountList) {
boolean flag = false;
try {
mManager.getDaoSession().runInTx(new Runnable() {
@Override
public void run() {
for (Discount discount : discountList) {
mManager.getDaoSession().insertOrReplace(discount);
}
}
});
flag = true;
} catch (Exception e) {
e.printStackTrace();
}
return flag;
}
/**
* 修改一条数据
* @param discount
* @return
*/
public boolean updateDiscount(Discount discount){
boolean flag = false;
try {
mManager.getDaoSession().update(discount);
flag = true;
}catch (Exception e){
e.printStackTrace();
}
return flag;
}
/**
* 删除单条记录
* @param discount
* @return
*/
public boolean deleteDiscount(Discount discount){
boolean flag = false;
try {
//按照id删除
mManager.getDaoSession().delete(discount);
flag = true;
}catch (Exception e){
e.printStackTrace();
}
return flag;
}
/**
* 删除所有记录
* @return
*/
public boolean deleteAll(){
boolean flag = false;
try {
//按照id删除
mManager.getDaoSession().deleteAll(Discount.class);
flag = true;
}catch (Exception e){
e.printStackTrace();
}
return flag;
}
/**
* 查询所有记录
* @return
*/
public List<Discount> queryAllDiscount(){
return mManager.getDaoSession().loadAll(Discount.class);
}
/**
* 根据主键id查询记录
* @param key
* @return
*/
public Discount queryDiscountById(long key){
return mManager.getDaoSession().load(Discount.class, key);
}
/**
* 使用native sql进行查询操作
*/
public List<Discount> queryDiscountByNativeSql(String sql, String[] conditions){
return mManager.getDaoSession().queryRaw(Discount.class, sql, conditions);
}
/**
* 使用queryBuilder进行查询
* @return
*/
public List<Discount> queryDiscountByQueryBuilder(){
QueryBuilder<Discount> queryBuilder = mManager.getDaoSession().queryBuilder(Discount.class);
long currentTime = System.currentTimeMillis();
// return queryBuilder.where(queryBuilder.and(
// DiscountDao.Properties.Status.eq(0),
// DiscountDao.Properties.Begin_time.le(currentTime),
// DiscountDao.Properties.End_time.ge(currentTime))).list();
return queryBuilder.where(DiscountDao.Properties.Status.eq(0)).list();
}
}
...@@ -143,6 +143,6 @@ public class FunctionDaoUtils { ...@@ -143,6 +143,6 @@ public class FunctionDaoUtils {
public List<Function> queryFunctionByQueryBuilder(long FunctionId){ public List<Function> queryFunctionByQueryBuilder(long FunctionId){
QueryBuilder<Function> queryBuilder = mManager.getDaoSession().queryBuilder(Function.class); QueryBuilder<Function> queryBuilder = mManager.getDaoSession().queryBuilder(Function.class);
return queryBuilder.where(FunctionDao.Properties.Id.eq(FunctionId)).list(); return queryBuilder.where(FunctionDao.Properties.Id.eq(FunctionId)).list();
// return queryBuilder.where(FunctionDao.Properties._id.ge(id)).list();
} }
} }
...@@ -295,7 +295,7 @@ public class ModifierDaoUtils { ...@@ -295,7 +295,7 @@ public class ModifierDaoUtils {
// String sql = " SELECT MODIFIER.mid,MODIFIER_NAME,MODIFIER_NAME1,MODIFIER_NAME2,TOP_ID,PRICE,MOD_COMM,MOD_TASTE,MOD_MSG,VISIBLE,MULTIPLE,IS_PARENT" + // String sql = " SELECT MODIFIER.mid,MODIFIER_NAME,MODIFIER_NAME1,MODIFIER_NAME2,TOP_ID,PRICE,MOD_COMM,MOD_TASTE,MOD_MSG,VISIBLE,MULTIPLE,IS_PARENT" +
// " FROM MODIFIER join FOOD_MODIFIER on MODIFIER.MID=FOOD_MODIFIER.MID where MODIFIER.VISIBLE=0 and FOOD_MODIFIER.FID='" + fid + "' order by FOOD_MODIFIER.seq,MODIFIER.SEQ_NO"; // " FROM MODIFIER join FOOD_MODIFIER on MODIFIER.MID=FOOD_MODIFIER.MID where MODIFIER.VISIBLE=0 and FOOD_MODIFIER.FID='" + fid + "' order by FOOD_MODIFIER.seq,MODIFIER.SEQ_NO";
String sql = " SELECT MODIFIER.MID,MODIFIER_NAME,MODIFIER_NAME1,MODIFIER_NAME2,TOP_ID,PRICE,MOD_COMM,MOD_TASTE,MOD_MSG,VISIBLE,MULTIPLE,IS_PARENT" + String sql = " SELECT MODIFIER.MID,MODIFIER_NAME,MODIFIER_NAME1,MODIFIER_NAME2,TOP_ID,PRICE,MOD_COMM,MOD_TASTE,MOD_MSG,VISIBLE,MULTIPLE,IS_PARENT,MAX_QTY,MIN_QTY" +
" FROM MODIFIER join FOOD_MODIFIER fm on MODIFIER.MID=FOOD_MODIFIER.MID where MODIFIER.INVISIBLE=0 and FOOD_MODIFIER.FID='" + fid + "' order by FOOD_MODIFIER.SEQ_NO,MODIFIER.SEQ_NO"; " FROM MODIFIER join FOOD_MODIFIER fm on MODIFIER.MID=FOOD_MODIFIER.MID where MODIFIER.INVISIBLE=0 and FOOD_MODIFIER.FID='" + fid + "' order by FOOD_MODIFIER.SEQ_NO,MODIFIER.SEQ_NO";
List<Modifier> mfs_child = new ArrayList<>(); List<Modifier> mfs_child = new ArrayList<>();
...@@ -308,14 +308,14 @@ public class ModifierDaoUtils { ...@@ -308,14 +308,14 @@ public class ModifierDaoUtils {
switch (mode) { switch (mode) {
case modifierMode_All: case modifierMode_All:
sqlstr = " SELECT m.MID,MODIFIER_NAME,MODIFIER_NAME1,MODIFIER_NAME2,TOP_ID,PRICE,MOD_COMM,MOD_TASTE,MOD_MSG,VISIBLE,MULTIPLE,IS_PARENT,DEFMODIFIER" + sqlstr = " SELECT m.MID,MODIFIER_NAME,MODIFIER_NAME1,MODIFIER_NAME2,TOP_ID,PRICE,MOD_COMM,MOD_TASTE,MOD_MSG,VISIBLE,MULTIPLE,IS_PARENT,DEFMODIFIER,MAX_QTY,MIN_QTY" +
" FROM MODIFIER m join FOOD_MODIFIER fm on m.TOP_ID=fm.MID where m.INVISIBLE=0 and m.IS_PARENT=1 and fm.FID='" + fid + "' order by fm.SEQ_NO,m.SEQ_NO"; " FROM MODIFIER m join FOOD_MODIFIER fm on m.TOP_ID=fm.MID where m.INVISIBLE=0 and m.IS_PARENT=1 and fm.FID='" + fid + "' order by fm.SEQ_NO,m.SEQ_NO";
mfs_child1 = query_modifier_Child_new(sqlstr, fid); mfs_child1 = query_modifier_Child_new(sqlstr, fid);
List<Modifier> mfs_child2 = new ArrayList<>(); List<Modifier> mfs_child2 = new ArrayList<>();
sqlstr = " SELECT m.MID,MODIFIER_NAME,MODIFIER_NAME1,MODIFIER_NAME2,TOP_ID,PRICE,MOD_COMM,MOD_TASTE,MOD_MSG,VISIBLE,MULTIPLE,IS_PARENT,DEFMODIFIER" + sqlstr = " SELECT m.MID,MODIFIER_NAME,MODIFIER_NAME1,MODIFIER_NAME2,TOP_ID,PRICE,MOD_COMM,MOD_TASTE,MOD_MSG,VISIBLE,MULTIPLE,IS_PARENT,DEFMODIFIER,MAX_QTY,MIN_QTY" +
" FROM MODIFIER m join FOOD_MODIFIER fm on m.TOP_ID=fm.MID where m.INVISIBLE=0 and m.IS_PARENT=0 and fm.FID='" + fid + "' order by fm.SEQ_NO,m.SEQ_NO"; " FROM MODIFIER m join FOOD_MODIFIER fm on m.TOP_ID=fm.MID where m.INVISIBLE=0 and m.IS_PARENT=0 and fm.FID='" + fid + "' order by fm.SEQ_NO,m.SEQ_NO";
mfs_child2 = query_modifier_Child_new(sqlstr, fid); mfs_child2 = query_modifier_Child_new(sqlstr, fid);
...@@ -364,11 +364,12 @@ public class ModifierDaoUtils { ...@@ -364,11 +364,12 @@ public class ModifierDaoUtils {
order.setModifierName2(c.getString(c.getColumnIndex("MODIFIER_NAME2"))); order.setModifierName2(c.getString(c.getColumnIndex("MODIFIER_NAME2")));
// order.setVisible(c.getInt(c.getColumnIndex("VISIBLE"))); // order.setVisible(c.getInt(c.getColumnIndex("VISIBLE")));
order.setTopId(c.getLong(c.getColumnIndex("TOP_ID"))); order.setTopId(c.getLong(c.getColumnIndex("TOP_ID")));
order.setModComm(c.getLong(c.getColumnIndex("MOD_COMM"))); order.setModComm(c.getLong(c.getColumnIndex("MOD_COMM")));
order.setModMsg(c.getLong(c.getColumnIndex("MOD_MSG"))); order.setModMsg(c.getLong(c.getColumnIndex("MOD_MSG")));
order.setModTaste(c.getLong(c.getColumnIndex("MOD_TASTE"))); order.setModTaste(c.getLong(c.getColumnIndex("MOD_TASTE")));
order.setMultiple(c.getDouble(c.getColumnIndex("MULTIPLE"))); order.setMultiple(c.getDouble(c.getColumnIndex("MULTIPLE")));
order.setMaxNumber(c.getInt(c.getColumnIndex("MAX_QTY")));
order.setMinNumber(c.getInt(c.getColumnIndex("MIN_QTY")));
String defmodifier = c.getString(c.getColumnIndex("DEFMODIFIER")); String defmodifier = c.getString(c.getColumnIndex("DEFMODIFIER"));
if (!TextUtils.isEmpty(defmodifier) && !", ".equals(defmodifier)) { if (!TextUtils.isEmpty(defmodifier) && !", ".equals(defmodifier)) {
order.setDefmodifier(defmodifier); order.setDefmodifier(defmodifier);
......
package com.gingersoft.gsa.cloud.function;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-04-11
* 修订历史:2020-04-11
* 描述:
*/
public class FModule {
private String keyRes;
private int openIconRes;
private int disableIconRes;
public FModule(String keyRes, int openIconRes, int disableIconRes) {
this.keyRes = keyRes;
this.openIconRes = openIconRes;
this.disableIconRes = disableIconRes;
}
public String getKeyRes() {
return keyRes;
}
public int getOpenIconRes() {
return openIconRes;
}
public int getDisableIconRes() {
return disableIconRes;
}
}
package com.gingersoft.gsa.cloud.function;
import android.content.Context;
import com.gingersoft.gsa.cloud.database.bean.Function;
import com.gingersoft.gsa.cloud.database.utils.FunctionDaoUtils;
import java.util.ArrayList;
import java.util.List;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-04-10
* 修订历史:2020-04-10
* 描述:功能管理
*/
public class FunctionManager {
private String TAG = getClass().getSimpleName();
private static FunctionManager sDefaultOpenTableManage;
public static FunctionManager getDefault() {
if (sDefaultOpenTableManage == null) {
sDefaultOpenTableManage = new FunctionManager();
}
return sDefaultOpenTableManage;
}
public List<Function> getFunctionByResModule(Context context, Class c, String specific) {
String resLoction = c.getSimpleName().toLowerCase() + "/" + specific;
FunctionDaoUtils daoUtils = new FunctionDaoUtils(context);
List<Function> functionList = daoUtils.queryAllFunction();
return filterFunctionByResLoction(functionList, resLoction);
}
private List<Function> filterFunctionByResLoction(List<Function> functionList, String resLoction) {
List<Function> functions = new ArrayList<>();
for (int i = 0; i < functionList.size(); i++) {
Function function = functionList.get(i);
if (function.getResUrl().startsWith(resLoction)) {
functions.add(function);
}
}
return functions;
}
}
package com.gingersoft.gsa.cloud.function;
import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.database.bean.Function;
/**
* 作者:ELEGANT_BIN
* 版本:1/6/0
* 创建日期:2020-04-10
* 修订历史:2020-04-10
* 描述:每個功能模塊對應的key
*/
public class FunctionModule {
public static final class Main{
/**首頁- 點餐*/
public static final FModule [] order = {
new FModule("main/order/table", R.drawable.table_splite,0) ,
new FModule("main/order/delivery", R.drawable.table_paper,0) ,
new FModule("main/order/takeaway", R.drawable.table_skyorder,0),
new FModule("main/order/preorder", R.drawable.table_skyorder,0),
};
/**首頁- 管理*/
public static final FModule [] manager = {
new FModule("main/manager/bill", R.drawable.table_splite,0) ,
new FModule("main/manager/table", R.drawable.table_paper,0) ,
new FModule("main/manager/printer", R.drawable.table_skyorder,0),
new FModule("main/manager/pay", R.drawable.table_skyorder,0),
new FModule("main/manager/discout", R.drawable.table_skyorder,0)
};
/**首頁- 員工管理*/
public static final FModule [] employee = {
new FModule("main/employee/management", R.drawable.table_splite,0) ,
new FModule("main/employee/delivery", R.drawable.table_paper,0) ,
new FModule("main/employee/takeaway", R.drawable.table_skyorder,0)
};
}
public static final class Table{
/**餐檯頁*/
public static final FModule [] bottom = {
new FModule("table/bottom/init", R.drawable.table_init,0) ,
new FModule("table/bottom/move", R.drawable.table_move,0) ,
new FModule("table/bottom/splite", R.drawable.table_splite,0) ,
new FModule("table/bottom/parper", R.drawable.table_paper,0) ,
new FModule("table/bottom/skyorder", R.drawable.table_skyorder,0)
};
/**餐牌頁*/
public static final FModule [] meal = {
new FModule("table/meal/plu", R.drawable.table_paper,0) ,
new FModule("table/meal/discount", R.drawable.table_skyorder,0)
};
/**賬單內容頁*/
public static final FModule [] order = {
new FModule("table/order/send", 0,0) ,
new FModule("table/order/print", 0,0) ,
new FModule("table/order/pay", 0,0) ,
new FModule("table/order/transfer", 0,0) ,
new FModule("table/order/discount", 0,0)
};
}
}
...@@ -6,6 +6,7 @@ import android.net.ParseException; ...@@ -6,6 +6,7 @@ import android.net.ParseException;
import android.text.TextUtils; import android.text.TextUtils;
import com.billy.cc.core.component.CC; import com.billy.cc.core.component.CC;
import com.billy.cc.core.component.CCResult;
import com.gingersoft.gsa.cloud.base.R; import com.gingersoft.gsa.cloud.base.R;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage; import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
...@@ -92,10 +93,10 @@ public class MyResponseErrorListener implements ResponseErrorListener { ...@@ -92,10 +93,10 @@ public class MyResponseErrorListener implements ResponseErrorListener {
OpenTableManage.getDefault().clear(); OpenTableManage.getDefault().clear();
//修改登錄狀態 //修改登錄狀態
GsaCloudApplication.isLogin = false; GsaCloudApplication.isLogin = false;
CC.obtainBuilder("User.Component.Login") // CC.obtainBuilder("User.Component.Login")
.setActionName("showActivityA") // .setActionName("showActivityA")
.build() // .build()
.call(); // .call();
showloggedDialog = false; showloggedDialog = false;
context.finish(); context.finish();
dialog.dismiss(); dialog.dismiss();
......
...@@ -6,6 +6,9 @@ import android.app.Application; ...@@ -6,6 +6,9 @@ import android.app.Application;
import android.os.Bundle; import android.os.Bundle;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.utils.CommonConfiguration;
import com.gingersoft.gsa.cloud.database.utils.FoodComboDaoUtils;
import com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils;
@SuppressLint("NewApi") @SuppressLint("NewApi")
...@@ -30,6 +33,15 @@ public class MyActivityLifecycle implements Application.ActivityLifecycleCallbac ...@@ -30,6 +33,15 @@ public class MyActivityLifecycle implements Application.ActivityLifecycleCallbac
@Override @Override
public void onActivityResumed(Activity activity) { public void onActivityResumed(Activity activity) {
String name = activity.getClass().getSimpleName();
if(name.equals("NewMainActivity")){
//每次到首頁都更新食品套餐,細項對應ID備用
FoodComboDaoUtils foodComboDaoUtils = new FoodComboDaoUtils(activity);
CommonConfiguration.getInstance().saveComboIdConfiguration(foodComboDaoUtils.queryAllCombo());
ModifierDaoUtils modifierDaoUtils = new ModifierDaoUtils(activity);
CommonConfiguration.getInstance().saveModifierTopIdConfiguration(modifierDaoUtils.queryAllModifier());
}
GsaCloudApplication.getAppContext().setCurrentActivity(activity); GsaCloudApplication.getAppContext().setCurrentActivity(activity);
} }
......
...@@ -9,12 +9,10 @@ import android.graphics.Paint; ...@@ -9,12 +9,10 @@ import android.graphics.Paint;
import android.graphics.RectF; import android.graphics.RectF;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.view.View; import android.view.View;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import androidx.viewpager2.widget.ViewPager2; import androidx.viewpager2.widget.ViewPager2;
import androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback; import androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback;
import com.gingersoft.gsa.cloud.base.R; import com.gingersoft.gsa.cloud.base.R;
/** /**
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android" <com.qmuiteam.qmui.alpha.QMUIAlphaTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tv_name" android:id="@+id/tv_name"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
...@@ -10,6 +10,4 @@ ...@@ -10,6 +10,4 @@
android:gravity="center_vertical" android:gravity="center_vertical"
android:text="餐檯模式" android:text="餐檯模式"
android:textColor="@color/normal_color" android:textColor="@color/normal_color"
android:textSize="@dimen/sp_15"> android:textSize="@dimen/sp_15"/>
</TextView>
\ No newline at end of file
...@@ -226,7 +226,7 @@ ...@@ -226,7 +226,7 @@
<item name="android:gravity">left</item> <item name="android:gravity">left</item>
</style> </style>
<style name="DialogTheme2MenuItemStyle" parent="@style/QMUI.Dialog_MenuItem"> <style name="DialogTheme2MenuItemStyle">
<item name="android:textSize">16sp</item> <item name="android:textSize">16sp</item>
<item name="android:textColor">?attr/qmui_config_color_gray_1</item> <item name="android:textColor">?attr/qmui_config_color_gray_1</item>
<item name="android:paddingLeft">32dp</item> <item name="android:paddingLeft">32dp</item>
......
ext.alwaysLib = true //虽然apply了cc-settings-2.gradle,但一直作为library编译,否则别的组件依赖此module时会报错
apply from: rootProject.file("cc-settings.gradle")
android {
compileSdkVersion rootProject.ext.android["compileSdkVersion"]
defaultConfig {
minSdkVersion rootProject.ext.android["minSdkVersion"]
targetSdkVersion rootProject.ext.android["targetSdkVersion"]
versionCode rootProject.ext.android["versionCode"]
versionName rootProject.ext.android["versionName"]
multiDexEnabled true
}
compileOptions {
targetCompatibility JavaVersion.VERSION_1_8
sourceCompatibility JavaVersion.VERSION_1_8
}
buildTypes {
debug {
buildConfigField "boolean", "LOG_DEBUG", "true"
buildConfigField "boolean", "USE_CANARY", "true"
minifyEnabled false
}
release {
buildConfigField "boolean", "LOG_DEBUG", "false"
buildConfigField "boolean", "USE_CANARY", "false"
minifyEnabled false
zipAlignEnabled false
}
}
}
dependencies {
def lintVersion = '26.4.2'
compileOnly "com.android.tools.lint:lint-api:$lintVersion"
compileOnly "com.android.tools.lint:lint-checks:$lintVersion"
}
//jar {
// manifest {
// attributes("Lint-Registry-v2": 'com.qmuiteam.qmui.lint.QMUIIssueRegistry')
// }
//}
<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.qmuiteam.lint">
</manifest>
...@@ -3,9 +3,6 @@ apply from: rootProject.file("cc-settings.gradle") ...@@ -3,9 +3,6 @@ apply from: rootProject.file("cc-settings.gradle")
apply plugin: 'kotlin-android' apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-android-extensions'
//version = QMUI_VERSION
//noinspection GroovyMissingReturnStatement
android { android {
compileSdkVersion rootProject.ext.android["compileSdkVersion"] compileSdkVersion rootProject.ext.android["compileSdkVersion"]
...@@ -14,8 +11,6 @@ android { ...@@ -14,8 +11,6 @@ android {
targetSdkVersion rootProject.ext.android["targetSdkVersion"] targetSdkVersion rootProject.ext.android["targetSdkVersion"]
versionCode rootProject.ext.android["versionCode"] versionCode rootProject.ext.android["versionCode"]
versionName rootProject.ext.android["versionName"] versionName rootProject.ext.android["versionName"]
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles 'consumer-rules.pro'
multiDexEnabled true multiDexEnabled true
} }
...@@ -67,7 +62,7 @@ dependencies { ...@@ -67,7 +62,7 @@ dependencies {
api rootProject.ext.dependencies["annotations"] api rootProject.ext.dependencies["annotations"]
api rootProject.ext.dependencies["design"] api rootProject.ext.dependencies["design"]
api rootProject.ext.dependencies["constraintlayout"] api rootProject.ext.dependencies["constraintlayout"]
lintChecks project(':lintrule') lintChecks project(':qm-lintrule')
//test //test
testImplementation 'junit:junit:4.12' testImplementation 'junit:junit:4.12'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment