Commit 5c80e065 authored by zhang_z's avatar zhang_z

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	app/src/main/java/com/xingdata/zzdpos/C.java
parents a12fc602 772d1e84
......@@ -305,6 +305,28 @@ public class C {
public static final String add = ROOT_URL + "add";
}
/**
* 付费相关接口
*/
public final class PAIDUP {
/**
* 付费规则查询
*/
public static final String getEnter = PKG + "/enter/query";
/**
* 开通营销
*/
public static final String activateMarketing = PKG + "/merchant/marketing";
/**
* 开通营销支付确认
*/
public static final String confirmMarketing = PKG + "/merchant/confirmMarketing";
/**
* 获取当前营销状态
*/
public static final String getMarketing = PKG + "/merchant/getMarketing";
}
public final class TICKET {
private static final String ROOT_URL = PKG + "ticket/";
......
......@@ -11,6 +11,7 @@ import com.xingdata.zzdpos.model.Category;
import com.xingdata.zzdpos.model.Gbound;
import com.xingdata.zzdpos.model.Mscard;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.PaidUpEnter;
import com.xingdata.zzdpos.model.Trule;
import com.xingdata.zzdpos.model.Ubound;
import com.xingdata.zzdpos.model.UsskuParam;
......@@ -557,7 +558,53 @@ public final class ApiFactory {
}
}
public static class PaidUp {
/**
* 付費規則查詢
*/
public static Observable<Pager<PaidUpEnter>> getEnter() {
return Api.getInstance().service.getEnter()
.onErrorReturn(new ErrorFilter<>())
.map(new ResultFilter<>())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
/**
* 查询营销
*/
public static Observable<Object> getMarketing() {
return Api.getInstance().service.getMarketing()
.onErrorReturn(new ErrorFilter<>())
.map(new ResultFilter<>())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
/**
* 开通营销
*/
public static Observable<Object> activateMarketing(Integer months, Integer years
) {
return Api.getInstance().service.activateMarketing(months, years)
.onErrorReturn(new ErrorFilter<>())
.map(new ResultFilter<>())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
/**
* 开通营销确认
*/
public static Observable<Object> confirmMarketing(String payNo, Integer operID
) {
return Api.getInstance().service.confirmMarketing(payNo, operID)
.onErrorReturn(new ErrorFilter<>())
.map(new ResultFilter<>())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
}
}
public static class CsDetail {
/**
* 添加库存盘点详情
......
......@@ -15,6 +15,7 @@ import com.xingdata.zzdpos.model.Notice;
import com.xingdata.zzdpos.model.Oper;
import com.xingdata.zzdpos.model.Ossku;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.PaidUpEnter;
import com.xingdata.zzdpos.model.Pay;
import com.xingdata.zzdpos.model.Psb;
import com.xingdata.zzdpos.model.Saleorder;
......@@ -165,6 +166,18 @@ interface ApiService {
@POST(C.URL.FEED.add)
Observable<HttpMessage<Object>> addFeed(@Body Feed feed);
@POST(C.URL.PAIDUP.getEnter)
Observable<HttpMessage<Pager<PaidUpEnter>>> getEnter();
@POST(C.URL.PAIDUP.getMarketing)
Observable<HttpMessage<Object>> getMarketing();
@POST(C.URL.PAIDUP.activateMarketing)
Observable<HttpMessage<Object>> activateMarketing(@Query("months") Integer months, @Query("years") Integer years);
@POST(C.URL.PAIDUP.confirmMarketing)
Observable<HttpMessage<Object>> confirmMarketing(@Query("payNo") String payNo, @Query("openId") Integer openId);
@POST(C.URL.CSDETAIL.add)
Observable<HttpMessage<CsDetail>> addCsDetail(@Body CsDetail csDetail);
......
package com.xingdata.zzdpos.model;
/**
* Created by Administrator on 2018/3/2.
*/
public class PaidUpEnter {
/**
* mssrvMapId : 1
* mssrvFree : 1
* mssrvPrice1 : 3000
* mssrvPrice2 : 36000
* vipLevelDef : 4
* ticketLevelDef : 9
* acctLevelDef : 2
* smsFee : 10
* updateTime : 1519808634000
* createTime : 1519808634000
* mssrvName : 开通优惠券
*/
private int mssrvMapId;
private int mssrvFree;
private int mssrvPrice1;
private int mssrvPrice2;
private int vipLevelDef;
private int ticketLevelDef;
private int acctLevelDef;
private int smsFee;
private long updateTime;
private long createTime;
private String mssrvName;
public int getMssrvMapId() {
return mssrvMapId;
}
public void setMssrvMapId(int mssrvMapId) {
this.mssrvMapId = mssrvMapId;
}
public int getMssrvFree() {
return mssrvFree;
}
public void setMssrvFree(int mssrvFree) {
this.mssrvFree = mssrvFree;
}
public int getMssrvPrice1() {
return mssrvPrice1;
}
public void setMssrvPrice1(int mssrvPrice1) {
this.mssrvPrice1 = mssrvPrice1;
}
public int getMssrvPrice2() {
return mssrvPrice2;
}
public void setMssrvPrice2(int mssrvPrice2) {
this.mssrvPrice2 = mssrvPrice2;
}
public int getVipLevelDef() {
return vipLevelDef;
}
public void setVipLevelDef(int vipLevelDef) {
this.vipLevelDef = vipLevelDef;
}
public int getTicketLevelDef() {
return ticketLevelDef;
}
public void setTicketLevelDef(int ticketLevelDef) {
this.ticketLevelDef = ticketLevelDef;
}
public int getAcctLevelDef() {
return acctLevelDef;
}
public void setAcctLevelDef(int acctLevelDef) {
this.acctLevelDef = acctLevelDef;
}
public int getSmsFee() {
return smsFee;
}
public void setSmsFee(int smsFee) {
this.smsFee = smsFee;
}
public long getUpdateTime() {
return updateTime;
}
public void setUpdateTime(long updateTime) {
this.updateTime = updateTime;
}
public long getCreateTime() {
return createTime;
}
public void setCreateTime(long createTime) {
this.createTime = createTime;
}
public String getMssrvName() {
return mssrvName;
}
public void setMssrvName(String mssrvName) {
this.mssrvName = mssrvName;
}
}
......@@ -13,8 +13,10 @@ import com.xingdata.zzdpos.base.BaseActivity;
import com.xingdata.zzdpos.base.BaseFragment;
import com.xingdata.zzdpos.databinding.ActivityMainBinding;
import com.xingdata.zzdpos.databinding.ItemMenuBottomBinding;
import com.xingdata.zzdpos.ui.dialog.PromptDialog;
import com.xingdata.zzdpos.ui.main.adapter.FragmentViewAdapter;
import com.xingdata.zzdpos.ui.main.dialog.HandoverDialog;
import com.xingdata.zzdpos.ui.main.dialog.PaidUpDialog;
import com.xingdata.zzdpos.ui.main.fragment.CasherFragment;
import com.xingdata.zzdpos.ui.main.fragment.MyselfFragment;
import com.xingdata.zzdpos.ui.main.fragment.ServiceFragment;
......@@ -44,6 +46,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
// private List<View> views=new ArrayList<>();
private List<ItemMenuBottomBinding> itemMenuBottomBindings = new ArrayList<>();
private HandoverDialog mHandoverDialog = new HandoverDialog();
private PaidUpDialog mPaidUpDialog = new PaidUpDialog();
@Override
public int getLayoutId() {
......@@ -52,6 +55,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
@Override
public void initView() {
mPresenter.getPaidUpEnter();
mainActivity = this;
mPresenter.initHandoverInfo();
List<BaseFragment> fragments = new ArrayList<>();
......@@ -181,6 +185,21 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
mHandoverDialog.show(this);
}
@Override
public void showPaidUpVipDialog(Class activity, Integer day) {
mPaidUpDialog.setDay(day);
mPaidUpDialog.setClass(activity);
mPaidUpDialog.show(this);
}
@Override
public void showMarketingResult() {
PromptDialog mPromptDialog = new PromptDialog();
mPromptDialog.setDialogType(PromptDialog.PROMPTDIALOG_SUCC, "开通成功");
mPromptDialog.setCustomButton("确定", view -> dismissAllDialog());
mPromptDialog.show((BaseActivity) ActivityUtils.getTopActivity(), 2);
}
@Override
public void onBackPressedSupport() {
if ((System.currentTimeMillis() - mExitTime) > 1500) {
......
......@@ -8,7 +8,9 @@ interface MainContract {
interface View extends BaseView {
void isShowLoading(Boolean is);
void showUptateDialog(String updateUrl, String version);
/**
* 交班确认
*/
......@@ -20,10 +22,34 @@ interface MainContract {
*/
void showHandoverDialog();
/**
* 显示会员续费页面
*/
void showPaidUpVipDialog(Class activity, Integer day);
/**
* 显示开通结果
*/
void showMarketingResult();
}
abstract class Presenter extends BasePresenter<View> {
/**
* 查詢會員规则
*/
public abstract void getPaidUpEnter();
/**
* 查詢會員付費
*/
public abstract void isPaidUpVip(Class activity);
/**
* 开通营销
*/
public abstract void activateMarketing(Integer months, Integer years);
/**
* 菜单EXIT页面 - 点击交班 打开交班报表页面
......
package com.xingdata.zzdpos.ui.main;
import android.os.Message;
import android.view.KeyEvent;
import com.alibaba.fastjson.JSON;
import com.blankj.utilcode.util.ActivityUtils;
import com.blankj.utilcode.util.AppUtils;
import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.SPUtils;
import com.blankj.utilcode.util.StringUtils;
import com.blankj.utilcode.util.TimeUtils;
import com.blankj.utilcode.util.ToastUtils;
import com.xingdata.api.print.ZX_PrintPOS;
import com.xingdata.zzdpos.api.ApiFactory;
import com.xingdata.zzdpos.db.DBFactory;
import com.xingdata.zzdpos.model.HandoverInfo;
import com.xingdata.zzdpos.model.PaidUpEnter;
import com.xingdata.zzdpos.ui.login.LoginPresenter;
import com.xingdata.zzdpos.util.SystemUtil;
......@@ -30,7 +24,7 @@ import io.reactivex.ObservableSource;
import io.reactivex.functions.Function;
public class MainPresenter extends MainContract.Presenter {
public static PaidUpEnter mPaidUpEnter;
public static HandoverInfo handoverInfo;
......@@ -39,9 +33,66 @@ public class MainPresenter extends MainContract.Presenter {
this.initRealm();
}
@Override
public void getPaidUpEnter() {
ApiFactory.PaidUp.getEnter()
.subscribe(paidUpEnterPager -> {
if (paidUpEnterPager.getList().size() != 0) {
this.mPaidUpEnter = paidUpEnterPager.getList().get(0);
}
}
, throwable -> {
ToastUtils.showShort(throwable.getMessage());
}
);
}
@Override
public void isPaidUpVip(Class activity) {
ApiFactory.PaidUp.getMarketing()
.subscribe(object -> {
if (object.toString().length() == 0) {
mView.showPaidUpVipDialog(activity, null);
} else {
Long time = JSON.parseObject(object.toString()).getLong("openExp");
Integer day = (int) ((time - System.currentTimeMillis()) / 86400000L);
if (day <= 7) {
mView.showPaidUpVipDialog(activity, day);
} else {
ActivityUtils.startActivity(activity);
}
}
}
, throwable -> {
ToastUtils.showShort(throwable.getMessage());
}
);
}
@Override
public void activateMarketing(Integer months, Integer years) {
mView.isShowLoading(true);
ApiFactory.PaidUp.activateMarketing(months, years).doFinally(() -> mView.isShowLoading(false))
.subscribe(object -> {
mView.showMarketingResult();
}
, throwable -> {
ToastUtils.showShort(throwable.getMessage());
}
);
}
@Override
public void clickHandover() {
mView.showHandoverDialog();
}
......
package com.xingdata.zzdpos.ui.main.dialog;
import android.text.Html;
import android.view.View;
import com.blankj.utilcode.util.ActivityUtils;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseDialog;
import com.xingdata.zzdpos.databinding.DialogPaidUpBinding;
import com.xingdata.zzdpos.model.PaidUpEnter;
import com.xingdata.zzdpos.ui.main.MainPresenter;
import com.xingdata.zzdpos.ui.marketing.marketingMenu.MarketingMenuPresenter;
import com.xingdata.zzdpos.util.ConvertUtil;
/**
* 交班页面
*/
public class PaidUpDialog extends BaseDialog<MainPresenter, DialogPaidUpBinding> {
private Boolean isNew = true;
private Integer day;
private Class mClass;
public void setDay(Integer integer) {
this.day = integer;
}
public void setClass(Class mClass) {
this.mClass = mClass;
}
@Override
public int getLayoutId() {
return R.layout.dialog_paid_up;
}
@Override
public int getTitle() {
return -1;
}
@Override
public void onCancelClick(View view) {
super.onCancelClick(view);
if (!isNew) {
if (mClass != null) {
ActivityUtils.startActivity(mClass);
} else {
mPresenter.clickHandover();
}
}
}
@Override
public void onConfirmClick(View view) {
super.onConfirmClick(view);
if (isNew) {
mPresenter.activateMarketing(null, null);
dismiss();
} else {
mViewBinding.tvLine1.setVisibility(View.GONE);
mViewBinding.setIsShow(false);
}
}
@Override
public void initView() {
mViewBinding.setIsShow(true);
if (MainPresenter.mPaidUpEnter != null) {
setPaidUpEnter(MainPresenter.mPaidUpEnter);
}
}
public void setPaidUpEnter(PaidUpEnter paidUpEnter) {
if (day != null) {
if (day < 0) {
day = 0;
}
mViewBinding.tvLine1.setText(Html.fromHtml("<big><font color=\"black\">高级功能体验剩余</font></big>" +
"<big><big><big><font color=\"red\">" + day + "</font></big></big></big>" + "<big><font color=\"black\">天</font></big>"));
setBtnName("继续使用", "续费");
isNew = false;
} else {
mViewBinding.tvLine1.setText(Html.fromHtml("<big><font color=\"black\">高级功能可试用</font></big>" +
"<big><big><big><font color=\"red\">" + paidUpEnter.getMssrvFree() + "</font></big></big></big>" + "<big><font color=\"black\">月</font></big>"));
setBtnName("暂不试用", "开始试用");
isNew = true;
}
mViewBinding.tvLine2.setText(Html.fromHtml("<big><font color=\"black\">服务费:¥</font></big>" +
"<big><big><big><font color=\"black\">" + ConvertUtil.fenToYuan(Long.valueOf(paidUpEnter.getMssrvPrice2()), false) + "/年" + "</font></big></big></big>"));
}
}
......@@ -19,6 +19,7 @@ import com.xingdata.zzdpos.ui.main.adapter.MenuRecyclerAdapter;
import com.xingdata.zzdpos.ui.manage.manageMenu.ManageMenuActivity;
import com.xingdata.zzdpos.ui.marketing.marketingMenu.MarketingMenuActivity;
import com.xingdata.zzdpos.ui.payment.PaymentActivity;
import com.xingdata.zzdpos.ui.sendticke.SendTicketActivity;
import com.xingdata.zzdpos.ui.statistics.StatisticsActivity;
import com.xingdata.zzdpos.ui.store.StoreActivity;
import com.xingdata.zzdpos.ui.vip.VipActivity;
......@@ -130,7 +131,7 @@ public class CasherFragment extends BaseFragment<MainPresenter, FragmentCasherBi
MarketingMenuActivity.class));
break;
case C.MENU.MENU_TICKET://优惠券
ActivityUtils.startActivity(getActivity(), com.xingdata.zzdpos.ui.sendticke.SendTicketActivity.class);
mPresenter.isPaidUpVip(SendTicketActivity.class);
break;
case C.MENU.MENU_STATISTICS://统计
ActivityUtils.startActivity(getActivity(), StatisticsActivity.class);
......@@ -158,7 +159,7 @@ public class CasherFragment extends BaseFragment<MainPresenter, FragmentCasherBi
mViewBinding.btnHandover.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
mPresenter.clickHandover();
mPresenter.isPaidUpVip(null);
}
});
......
......@@ -33,7 +33,7 @@ public class InventoryActivity extends BaseActivity<InventoryPresenter, Activity
private InventoryFragment mInventoryFragment = new InventoryFragment();
private ManageDateFragment mManageDateFragment = new ManageDateFragment();
private InventoryAddFragment mInventoryAddFragment;
;
private ScanFragment mScanFragment;
@Override
......
......@@ -10,8 +10,11 @@ import com.blankj.utilcode.util.ActivityUtils;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity;
import com.xingdata.zzdpos.databinding.ActivityMarketingMenuBinding;
import com.xingdata.zzdpos.model.MarketingMenuModel;
import com.xingdata.zzdpos.ui.dialog.PromptDialog;
import com.xingdata.zzdpos.ui.main.dialog.PaidUpDialog;
import com.xingdata.zzdpos.ui.marketing.integral.IntegralActivity;
import com.xingdata.zzdpos.ui.marketing.marketingMenu.adapter.MarketingMenuAdapter;
import com.xingdata.zzdpos.ui.marketing.ms.MsActivity;
......@@ -24,14 +27,19 @@ import com.xingdata.zzdpos.util.RecyclerViewUtil;
import java.util.ArrayList;
import java.util.List;
public class MarketingMenuActivity extends AppCompatActivity {
public class MarketingMenuActivity extends BaseActivity<MarketingMenuPresenter, ActivityMarketingMenuBinding> implements MarketingMenuContract.View {
MarketingMenuAdapter marketingMenuAdapter;
List<Integer> list = new ArrayList<>();
private PaidUpDialog mPaidUpDialog = new PaidUpDialog();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_marketing_menu);
public int getLayoutId() {
return R.layout.activity_marketing_menu;
}
@Override
public void initView() {
ActivityMarketingMenuBinding mViewBinding = DataBindingUtil.setContentView(
this, R.layout.activity_marketing_menu);
......@@ -70,17 +78,20 @@ public class MarketingMenuActivity extends AppCompatActivity {
break;
case C.MENU.MENU_MS_TICKET: {
//优惠券设置
ActivityUtils.startActivity(ReturnTicketActivity.class);
mPresenter.isPaidUpVip(ReturnTicketActivity.class);
}
break;
case C.MENU.MENU_MS_RECHARGE: {
//充值优惠
ActivityUtils.startActivity(RechargeRuleActivity.class);
mPresenter.isPaidUpVip(RechargeRuleActivity.class);
}
break;
case C.MENU.MENU_MS_MS: {
//营销计划
ActivityUtils.startActivity(MsActivity.class);
mPresenter.isPaidUpVip(MsActivity.class);
}
break;
case C.MENU.MENU_MS_SMS: {
......@@ -95,4 +106,29 @@ public class MarketingMenuActivity extends AppCompatActivity {
}
});
}
@Override
public void showPaidUpVipDialog(Class activity, Integer day) {
mPaidUpDialog.setDay(day);
mPaidUpDialog.setClass(activity);
mPaidUpDialog.show(this);
}
@Override
public void showMarketingResult() {
PromptDialog mPromptDialog = new PromptDialog();
mPromptDialog.setDialogType(PromptDialog.PROMPTDIALOG_SUCC, "开通成功");
mPromptDialog.setCustomButton("确定", view -> dismissAllDialog());
mPromptDialog.show((BaseActivity) ActivityUtils.getTopActivity(), 2);
}
@Override
public void isShowLoading(Boolean is) {
if (is) {
mLoadingDialog.show((BaseActivity) mContext);
} else {
if (mLoadingDialog.isShowing) {
mLoadingDialog.dismiss();
}
}
}
}
package com.xingdata.zzdpos.ui.marketing.marketingMenu;
import com.xingdata.zzdpos.base.BasePresenter;
import com.xingdata.zzdpos.base.BaseView;
interface MarketingMenuContract {
interface View extends BaseView {
/**
* 显示读取对话框
*/
void isShowLoading(Boolean is);
/**
* 显示会员续费页面
*/
void showPaidUpVipDialog(Class activity, Integer day);
/**
* 显示开通结果
*/
void showMarketingResult();
}
abstract class Presenter extends BasePresenter<View> {
/**
* 查詢會員规则
*/
public abstract void getPaidUpEnter();
/**
* 查詢會員付費
*/
public abstract void isPaidUpVip(Class activity);
/**
* 开通营销
*/
public abstract void activateMarketing(Integer months, Integer years);
}
}
package com.xingdata.zzdpos.ui.marketing.marketingMenu;
import com.alibaba.fastjson.JSON;
import com.blankj.utilcode.util.ActivityUtils;
import com.blankj.utilcode.util.ToastUtils;
import com.xingdata.zzdpos.api.ApiFactory;
import com.xingdata.zzdpos.ui.main.MainPresenter;
public class MarketingMenuPresenter extends MarketingMenuContract.Presenter {
@Override
public void getPaidUpEnter() {
ApiFactory.PaidUp.getEnter()
.subscribe(paidUpEnterPager -> {
if (paidUpEnterPager.getList().size() != 0) {
MainPresenter.mPaidUpEnter = paidUpEnterPager.getList().get(0);
}
}
, throwable -> {
ToastUtils.showShort(throwable.getMessage());
}
);
}
@Override
public void isPaidUpVip(Class activity) {
ApiFactory.PaidUp.getMarketing()
.subscribe(object -> {
if (object.toString().length() == 0) {
mView.showPaidUpVipDialog(activity, null);
} else {
Long time = JSON.parseObject(object.toString()).getLong("openExp");
Integer day = (int) ((time - System.currentTimeMillis()) / 86400000L);
if (day <= 7) {
mView.showPaidUpVipDialog(activity, day);
} else {
ActivityUtils.startActivity(activity);
}
}
}
, throwable -> {
ToastUtils.showShort(throwable.getMessage());
}
);
}
@Override
public void activateMarketing(Integer months, Integer years) {
mView.isShowLoading(true);
ApiFactory.PaidUp.activateMarketing(months, years).doFinally(() -> mView.isShowLoading(false))
.subscribe(object -> {
mView.showMarketingResult();
}
, throwable -> {
ToastUtils.showShort(throwable.getMessage());
}
);
}
@Override
public void onAttached() {
}
}
\ No newline at end of file
......@@ -21,8 +21,11 @@ import com.xingdata.zzdpos.ui.marketing.ticket.ReturnTicketPresenter;
import com.xingdata.zzdpos.util.ConvertUtil;
import com.xingdata.zzdpos.util.OnClickListener;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
public class TickerAddFragment extends BaseFragment<ReturnTicketPresenter,
DialogTicketAddSettingBinding> {
......@@ -134,15 +137,25 @@ public class TickerAddFragment extends BaseFragment<ReturnTicketPresenter,
trule.setTruleStatus(nowStatus);
trule.setTruleValAmt(ConvertUtil.yuanToFen(mViewBinding.etTicketMoney.getText().toString
()));
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
format.setTimeZone(TimeZone.getTimeZone("GMT+08:00"));
trule.setTruleExp(TimeUtils.string2Millis(mViewBinding.tvDate.getText().toString() + " " +
"23:59:59"));
try {
Date date = format.parse(mViewBinding.tvDate.getText().toString() +
" 23:59:59");
trule.setTruleExp(date.getTime());
trule.setTruleOrderAmt(ConvertUtil.yuanToFen(mViewBinding.etRuleMoney.getText().toString
()));
if (!mViewBinding.etTicketCount.getText().toString().equals("")) {
trule.setTruleUseNum(Byte.parseByte(mViewBinding.etTicketCount.getText().toString()));
trule.setTruleUseNum(Byte.parseByte(mViewBinding.etTicketCount.getText().toString
()));
} else {
trule.setTruleUseNum((byte) 1);
}
} catch (ParseException e) {
e.printStackTrace();
}
return trule;
}
......
......@@ -88,6 +88,10 @@ public class SendTickerFragment extends BaseFragment<SendTicketPresenter,
break;
case R.id.btn_send: {
if (isNull()) {
if (truleList.size() <= 0) {
ToastUtils.showLong("没有优惠券");
return;
}
long tickerId = truleList
.get(nowTickerItemId).getTruleMapId();
mLoadingDialog.show((BaseActivity) getActivity());
......
......@@ -57,8 +57,8 @@ public final class SystemUtil {
e.printStackTrace();
}
}
return "0818562";
// return "test01";
// return "0818562";
return "test8988";
}
/**
......
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<import type="android.view.View" />
<variable
name="isShow"
type="Boolean" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white_caocao"
android:focusable="true"
android:focusableInTouchMode="true"
android:orientation="vertical"
android:paddingTop="@dimen/all_margin">
<TextView
android:id="@+id/tv_line_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center" />
<TextView
android:id="@+id/tv_line_2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center" />
<View
android:id="@+id/view1"
android:layout_width="match_parent"
android:layout_height="@dimen/view_line_L1"
android:layout_marginTop="@dimen/all_margin"
android:background="@color/lyt_main_bg"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_line_2" />
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/all_margin"
android:visibility="@{isShow?View.VISIBLE:View.GONE}">
<ImageView
android:id="@+id/img_model_one"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/icon_manager_ticket" />
<TextView
android:id="@+id/tv_model_one"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/all_padding"
android:text="@string/paid_up_vip_model1"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size"
app:layout_constraintStart_toEndOf="@id/img_model_one"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/all_padding"
android:layout_marginTop="@dimen/all_padding"
android:text="@string/paid_up_vip_model1_detail"
android:textColor="@color/gary"
android:textSize="@dimen/all_text_size_low"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/img_model_one"
app:layout_constraintTop_toBottomOf="@id/tv_model_one" />
</android.support.constraint.ConstraintLayout>
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/all_margin"
android:visibility="@{isShow?View.VISIBLE:View.GONE}">
<ImageView
android:id="@+id/img_model_two"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/top_up_preferential" />
<TextView
android:id="@+id/tv_model_two"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/all_padding"
android:text="@string/paid_up_vip_model2"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size"
app:layout_constraintStart_toEndOf="@id/img_model_two"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/paid_up_vip_model2_detail"
android:textColor="@color/gary"
android:textSize="@dimen/all_text_size_low"
android:layout_marginStart="@dimen/all_padding"
android:layout_marginTop="@dimen/all_padding"
app:layout_constraintTop_toBottomOf="@id/tv_model_two"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/img_model_two"
/>
</android.support.constraint.ConstraintLayout>
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/all_margin"
android:visibility="@{isShow?View.VISIBLE:View.GONE}">
<ImageView
android:id="@+id/img_model_three"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/marketing_plan" />
<TextView
android:id="@+id/tv_model_three"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/all_padding"
android:text="@string/paid_up_vip_model3"
android:textColor="@color/black_baozheng"
android:textSize="@dimen/all_text_size"
app:layout_constraintStart_toEndOf="@id/img_model_three"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/all_padding"
android:layout_marginTop="@dimen/all_padding"
app:layout_constraintEnd_toEndOf="parent"
android:text="@string/paid_up_vip_model1_detail"
android:textColor="@color/gary"
android:textSize="@dimen/all_text_size_low"
app:layout_constraintStart_toEndOf="@id/img_model_three"
app:layout_constraintTop_toBottomOf="@id/tv_model_three" />
</android.support.constraint.ConstraintLayout>
</LinearLayout>
</layout>
\ No newline at end of file
......@@ -741,5 +741,12 @@
<string name="search_action">搜索</string>
<string name="search_clear">清空</string>
<!--续费会员-->
<string name="paid_up_vip_model1">优惠券设置</string>
<string name="paid_up_vip_model1_detail">设置优惠券面值,通过优惠券方式吸引回头客</string>
<string name="paid_up_vip_model2">充值优惠</string>
<string name="paid_up_vip_model2_detail">设置充值优惠金额,多充多送,让更多会员加入我们</string>
<string name="paid_up_vip_model3">营销计划</string>
<string name="paid_up_vip_model4_detail">提前设置打折、促销、满减、换购等优惠活动,不错过每一个节日</string>
<string name="paid_up_pay_hint">请选择支付方式</string>
</resources>
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