Commit ddd080de authored by 姜敏's avatar 姜敏

Merge remote-tracking branch 'origin/master'

parents 085fb9fa c08cca75
...@@ -539,6 +539,10 @@ public final class ApiFactory { ...@@ -539,6 +539,10 @@ public final class ApiFactory {
skuGrpId, keyword)); skuGrpId, keyword));
} }
public static Observable<Pager<com.xingdata.zzdpos.model.Sssku>> querySssku(String wd) {
return run(Api.getInstance().service.querySssku(wd));
}
public static Observable<Pager<com.xingdata.zzdpos.model.Sssku>> querySssku(int pageNum, public static Observable<Pager<com.xingdata.zzdpos.model.Sssku>> querySssku(int pageNum,
String keyword) { String keyword) {
return run(Api.getInstance().service.querySssku(pageNum, C.PRODUCT.PAGE_SIZE, keyword)); return run(Api.getInstance().service.querySssku(pageNum, C.PRODUCT.PAGE_SIZE, keyword));
...@@ -784,22 +788,12 @@ public final class ApiFactory { ...@@ -784,22 +788,12 @@ public final class ApiFactory {
public static class Recard { public static class Recard {
public static Observable<Boolean> checkPwd(Long vipId, String cardNo, String pwd) { public static Observable<Boolean> checkPwd(Long vipId, String cardNo, String pwd) {
return run(Api.getInstance().service.checkPwd(vipId, cardNo, EncryptUtils return run(Api.getInstance().service.checkPwd(vipId, cardNo, EncryptUtils.encryptMD5ToString(pwd)));
.encryptMD5ToString(pwd)));
} }
public static Observable<Vip> fullVip(Long vipId, Long amtPay, Long amtSend) { public static Observable<Vip> fullVip(Long vipId, Long amtPay, Long amtSend) {
return run(Api.getInstance().service.fullVip(vipId, amtPay, amtSend)); return run(Api.getInstance().service.fullVip(vipId, amtPay, amtSend));
} }
// public static Observable<Pager<VipRechargeOrder>> queryCard(Long vipId) {
// return Api.getInstance().service.queryRecharge(vipId,0,10)
// .onErrorReturn(new ErrorFilter<>())
// .map(new ResultFilter<>())
// .subscribeOn(Schedulers.io())
// .observeOn(AndroidSchedulers.mainThread())
// .retryWhen(new RetryHelper(3));
// }
} }
public static class Ms { public static class Ms {
......
...@@ -417,6 +417,9 @@ interface ApiService { ...@@ -417,6 +417,9 @@ interface ApiService {
@POST(C.URL.SSSKU.detail) @POST(C.URL.SSSKU.detail)
Observable<HttpMessage<Sssku>> detailSssku(@Query("id") Long id); Observable<HttpMessage<Sssku>> detailSssku(@Query("id") Long id);
@POST(C.URL.SSSKU.query)
Observable<HttpMessage<Pager<Sssku>>> querySssku(@Query("wd") String barcode);
@POST(C.URL.SSSKU.update) @POST(C.URL.SSSKU.update)
Observable<HttpMessage<Sssku>> updateSssku(@Body Sssku sssku); Observable<HttpMessage<Sssku>> updateSssku(@Body Sssku sssku);
......
...@@ -3,6 +3,7 @@ package com.xingdata.zzdpos.ui.manage.inventory; ...@@ -3,6 +3,7 @@ package com.xingdata.zzdpos.ui.manage.inventory;
import com.blankj.utilcode.util.TimeUtils; import com.blankj.utilcode.util.TimeUtils;
import com.blankj.utilcode.util.ToastUtils; import com.blankj.utilcode.util.ToastUtils;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.api.ApiFactory; import com.xingdata.zzdpos.api.ApiFactory;
import com.xingdata.zzdpos.db.DB; import com.xingdata.zzdpos.db.DB;
...@@ -11,6 +12,7 @@ import com.xingdata.zzdpos.model.Cs; ...@@ -11,6 +12,7 @@ import com.xingdata.zzdpos.model.Cs;
import com.xingdata.zzdpos.model.CsDetail; import com.xingdata.zzdpos.model.CsDetail;
import com.xingdata.zzdpos.model.Sssku; import com.xingdata.zzdpos.model.Sssku;
import com.xingdata.zzdpos.ui.main.MainPresenter; import com.xingdata.zzdpos.ui.main.MainPresenter;
import com.xingdata.zzdpos.util.ConvertUtil;
import com.xingdata.zzdpos.util.StringUtil; import com.xingdata.zzdpos.util.StringUtil;
...@@ -71,20 +73,9 @@ public class InventoryPresenter extends InventoryContract.Presenter { ...@@ -71,20 +73,9 @@ public class InventoryPresenter extends InventoryContract.Presenter {
* @param barcode 条形码 * @param barcode 条形码
*/ */
public void getProductByBarcode(String barcode) { public void getProductByBarcode(String barcode) {
mView.isShowLoading(true);
mCompositeDisposable.add(
queryProductsByScan(barcode).subscribe(ssskus -> { queryProductsByScan(barcode);
mView.isShowLoading(false);
mView.searchGoodsSuc();
if (ssskus.size() > 1) {
mView.addInventoryGoodsItem(ssskus);
} else if (ssskus.size() == 1) {
mView.addInventoryGoodsItem(ssskus.get(0));
} else {
ToastUtils.showShort("没有此商品");
}
})
);
} }
/** /**
...@@ -93,11 +84,22 @@ public class InventoryPresenter extends InventoryContract.Presenter { ...@@ -93,11 +84,22 @@ public class InventoryPresenter extends InventoryContract.Presenter {
* @param barcode 扫描出的条形码 * @param barcode 扫描出的条形码
* @return 商品信息 * @return 商品信息
*/ */
public static Observable<List<Sssku>> queryProductsByScan(String barcode) { public void queryProductsByScan(String barcode) {
RealmQuery<Sssku> query = DB.getInstance().get(MainPresenter.class).where(Sssku.class); mView.isShowLoading(true);
query.equalTo("spuBarcode", StringUtil.strToLong(barcode)).equalTo("skuStatus", 0); ApiFactory.Sssku.querySssku(barcode).doFinally(() -> mView.isShowLoading(false))
return Observable.just(query.findAll()) .subscribe(
.flatMap(ssskus -> Observable.just(getList(ssskus))); ssskuPager -> {
mView.searchGoodsSuc();
if (ssskuPager.getList().size() > 1) {
mView.addInventoryGoodsItem(ssskuPager.getList());
} else if (ssskuPager.getList().size() == 1) {
mView.addInventoryGoodsItem(ssskuPager.getList().get(0));
} else {
ToastUtils.showShort("没有此商品");
}
}, throwable -> {
ToastUtils.showShort("删除" + throwable.getMessage());
});
} }
@Override @Override
...@@ -117,7 +119,7 @@ public class InventoryPresenter extends InventoryContract.Presenter { ...@@ -117,7 +119,7 @@ public class InventoryPresenter extends InventoryContract.Presenter {
mView.isShowLoading(true); mView.isShowLoading(true);
ApiFactory.Cs.delCsDetail(cs.getId(), cs.getCsNo()).doFinally(() -> mView.isShowLoading(false)) ApiFactory.Cs.delCsDetail(cs.getId(), cs.getCsNo()).doFinally(() -> mView.isShowLoading(false))
.subscribe(object -> { .subscribe(object -> {
mView.delSucc(); mView.delSucc();
}, throwable -> { }, throwable -> {
ToastUtils.showShort(throwable.getMessage()); ToastUtils.showShort(throwable.getMessage());
}); });
...@@ -130,7 +132,7 @@ public class InventoryPresenter extends InventoryContract.Presenter { ...@@ -130,7 +132,7 @@ public class InventoryPresenter extends InventoryContract.Presenter {
@Override @Override
public void changeTitle(String s, boolean b) { public void changeTitle(String s, boolean b) {
mView.changeTitle(s,b); mView.changeTitle(s, b);
} }
@Override @Override
...@@ -140,7 +142,7 @@ public class InventoryPresenter extends InventoryContract.Presenter { ...@@ -140,7 +142,7 @@ public class InventoryPresenter extends InventoryContract.Presenter {
.subscribe(object -> { .subscribe(object -> {
mView.disInventoryDetailFragment(false); mView.disInventoryDetailFragment(false);
}, throwable -> { }, throwable -> {
ToastUtils.showShort("删除"+throwable.getMessage()); ToastUtils.showShort("删除" + throwable.getMessage());
}); });
} }
......
...@@ -15,8 +15,7 @@ import me.dm7.barcodescanner.core.IViewFinder; ...@@ -15,8 +15,7 @@ import me.dm7.barcodescanner.core.IViewFinder;
import me.dm7.barcodescanner.core.ViewFinderView; import me.dm7.barcodescanner.core.ViewFinderView;
import me.dm7.barcodescanner.zxing.ZXingScannerView; import me.dm7.barcodescanner.zxing.ZXingScannerView;
public class ScanFragment<P extends BasePresenter> extends BaseFragment<P, public class ScanFragment<P extends BasePresenter> extends BaseFragment<P, FragmentStoreScanBinding> {
FragmentStoreScanBinding> {
private ZXingScannerView mScannerView; private ZXingScannerView mScannerView;
private ZXingScannerView.ResultHandler mResultHandler; private ZXingScannerView.ResultHandler mResultHandler;
...@@ -125,8 +124,6 @@ public class ScanFragment<P extends BasePresenter> extends BaseFragment<P, ...@@ -125,8 +124,6 @@ public class ScanFragment<P extends BasePresenter> extends BaseFragment<P,
this.setLaserColor(themeColor); this.setLaserColor(themeColor);
this.setLaserEnabled(true); this.setLaserEnabled(true);
} }
} }
public void setTitle(String titleStr) { public void setTitle(String titleStr) {
......
...@@ -4,6 +4,9 @@ import android.animation.Keyframe; ...@@ -4,6 +4,9 @@ import android.animation.Keyframe;
import android.animation.ObjectAnimator; import android.animation.ObjectAnimator;
import android.animation.PropertyValuesHolder; import android.animation.PropertyValuesHolder;
import android.content.Intent; import android.content.Intent;
import android.media.Ringtone;
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.view.MotionEvent; import android.view.MotionEvent;
import android.view.View; import android.view.View;
...@@ -195,6 +198,14 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin ...@@ -195,6 +198,14 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
mScanFragment.resetScanner(); mScanFragment.resetScanner();
} }
@Override
public void startAlarm(boolean result) {
Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
if (notification == null) return;
Ringtone r = RingtoneManager.getRingtone(mContext, notification);
r.play();
}
/** /**
* 执行抖动动画 * 执行抖动动画
......
...@@ -132,6 +132,13 @@ interface StoreContract { ...@@ -132,6 +132,13 @@ interface StoreContract {
* 重置扫描器 * 重置扫描器
*/ */
void resetScanner(); void resetScanner();
/**
* 播放提示音
*
* @param result 提示音
*/
void startAlarm(boolean result);
} }
abstract class Presenter extends BasePresenter<View> { abstract class Presenter extends BasePresenter<View> {
......
...@@ -355,11 +355,14 @@ public class StorePresenter extends StoreContract.Presenter { ...@@ -355,11 +355,14 @@ public class StorePresenter extends StoreContract.Presenter {
mView.showSearchFragment(barcode); mView.showSearchFragment(barcode);
} else if (ssskus.size() == 1 && usskus.size() == 0) { } else if (ssskus.size() == 1 && usskus.size() == 0) {
this.clickAddSku(ssskus.get(0), 1); this.clickAddSku(ssskus.get(0), 1);
mView.startAlarm(true);
} else if (ssskus.size() == 0 && usskus.size() == 1) { } else if (ssskus.size() == 0 && usskus.size() == 1) {
this.clickAddSku(usskus.get(0), 1); this.clickAddSku(usskus.get(0), 1);
mView.startAlarm(true);
} else { } else {
mView.showMsg("没有找到此商品~"); mView.showMsg("没有找到此商品~");
mView.resetScanner(); mView.resetScanner();
mView.startAlarm(false);
} }
mView.dismissLoadingDialog(); mView.dismissLoadingDialog();
} }
......
...@@ -555,6 +555,11 @@ ...@@ -555,6 +555,11 @@
android:background="@color/gray_huanggai" android:background="@color/gray_huanggai"
app:layout_constraintBottom_toBottomOf="parent" /> app:layout_constraintBottom_toBottomOf="parent" />
</android.support.constraint.ConstraintLayout> </android.support.constraint.ConstraintLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/all_margin" />
</LinearLayout> </LinearLayout>
</android.support.v4.widget.NestedScrollView> </android.support.v4.widget.NestedScrollView>
......
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