Commit b5b0ee8c by wukun

0904

parent 113866b8
......@@ -196,6 +196,7 @@ public class Constants {
public final static String IDS = "ids";
public final static String OPERATE_DETAIL = "operate_detail";
public final static String OPERATE_DETAIL_PHONE = "operate_detail_phone";
public final static String CAN_EDIT = "can_edit";
//订单详情
public final static String ORDER_DETAIL = "order_detail";
......
......@@ -16,6 +16,18 @@ import java.util.ArrayList;
*/
public class ImageFileCropEngine implements CropFileEngine {
private boolean isFree = false;
public ImageFileCropEngine() {
}
public ImageFileCropEngine(boolean isFree) {
this.isFree = isFree;
}
@Override
public void onStartCrop(Fragment fragment, Uri srcUri, Uri destinationUri, ArrayList<String> dataSource, int requestCode) {
UCrop.Options options = buildOptions(fragment);
......@@ -36,13 +48,19 @@ public class ImageFileCropEngine implements CropFileEngine {
}
private UCrop.Options buildOptions(Fragment fragment) {
float x = 0;
if (isFree){
x = 1.5F;
}else{
x = 1;
}
UCrop.Options options = new UCrop.Options();
// options.setHideBottomControls(!cb_hide.isChecked());
// options.setFreeStyleCropEnabled(cb_styleCrop.isChecked());
// options.setFreeStyleCropEnabled(isFree);
// options.setShowCropFrame(cb_showCropFrame.isChecked());
// options.setShowCropGrid(cb_showCropGrid.isChecked());
// options.setCircleDimmedLayer(cb_crop_circular.isChecked());
options.withAspectRatio(1, 1);
options.withAspectRatio(x, 1);
options.setHideBottomControls(true);
// options.setCropOutputPathDir(getApplication().getFilesDir().getAbsolutePath() + "/wkCrop");
// options.setCropOutputFileName(System.currentTimeMillis() + ".png");
......
......@@ -34,13 +34,13 @@ public class SelectPicUtils {
});
}
public static void selectPic(Activity activity, int maxImgCout, boolean needCrop, int requestCode) {
public static void selectPic(Activity activity, int maxImgCout, boolean needCrop, int requestCode,boolean isFree) {
String[] mPerArr = new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE};
MPermissionUtils.requestPermissionsResult(activity, 1, mPerArr, new MPermissionUtils.OnPermissionListener() {
@SuppressLint("CheckResult")
@Override
public void onPermissionGranted() {
showPicDialogs(activity, maxImgCout, needCrop, requestCode);
showPicDialogs(activity, maxImgCout, needCrop, requestCode,isFree);
}
@Override
......@@ -50,11 +50,26 @@ public class SelectPicUtils {
}
public static void showPicDialogs(Activity activity, int size, boolean needCrop, int requestCode) {
ImageFileCropEngine imageFileCropEngine = new ImageFileCropEngine(false);
PictureSelectionModel selector = PictureSelector.create(activity)
.openGallery(SelectMimeType.ofImage())//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()
// .setFilterMaxFileSize(size)
.setImageEngine(GlideEngine.createGlideEngine())
.setCropEngine(imageFileCropEngine)
.setImageSpanCount(4)
.setSelectionMode(SelectModeConfig.MULTIPLE);
selector.forResult(requestCode);
}
public static void showPicDialogs(Activity activity, int size, boolean needCrop, int requestCode,boolean isFree) {
ImageFileCropEngine imageFileCropEngine = new ImageFileCropEngine(isFree);
PictureSelectionModel selector = PictureSelector.create(activity)
.openGallery(SelectMimeType.ofImage())//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()
// .setFilterMaxFileSize(size)
.setImageEngine(GlideEngine.createGlideEngine())
.setCropEngine(new ImageFileCropEngine())
.setCropEngine(imageFileCropEngine)
.setImageSpanCount(4)
.setSelectionMode(SelectModeConfig.MULTIPLE);
// .isPreviewImage(true)
......
......@@ -793,7 +793,7 @@ C) 在甲方使用大鱼平å°æœåŠ¡è¿‡ç¨‹ä¸­äº§ç”Ÿçš„业务数æ®ï¼Œå®¢æˆ·æ•°æ
<string name="be_takeed_price">代收款项</string>
<string name="take_price_subsidy">工费补贴</string>
<string name="contact_seller_support">联系商家技术支持</string>
<string name="seller_support">商家技术支持</string>
<string name="seller_support">联系商家</string>
<string name="stand_operate_step_">标准操作步骤:</string>
<string name="no_mobile">暂无联系方式</string>
<string name="send_str">发送</string>
......
......@@ -5,8 +5,8 @@ buildscript {
ext.build_tools_version = "29.0.2"
ext.min_sdk_version = 21
ext.target_sdk_version = 29
ext.version_code = 314
ext.verson_name = "3.1.4"
ext.version_code = 315
ext.verson_name = "3.1.5"
ext.gradle_version = '4.0.1'
ext.isReleaseMinify = false
ext.isDebugMinify = false
......
......@@ -91,6 +91,9 @@ public class OrderApiFactory {
public static Observable<List<OperateInfo>> getOperateInfo(OperatePostData data) {
return Api.getService(OrderService.class).getOperateInfo(data.spuIds).compose(Api.applySchedulers());
}
public static Observable<List<String>> getOperatePhone(int orderId) {
return Api.getService(OrderService.class).getOperatePhone(orderId).compose(Api.applySchedulers());
}
public static Observable<KaAddress> getKaAddress(int companyId) {
return Api.getService(OrderService.class).getKaAddress(companyId).compose(Api.applySchedulers());
......
......@@ -194,6 +194,11 @@ public interface OrderService {
*/
@POST(OrderConstant.ORDER_OPERATE)
Observable<BaseResponse<List<OperateInfo>>> getOperateInfo(@Body int[] data);
/**
* 获取操作指南.
*/
@GET(OrderConstant.ORDER_OPERATE_PHONE)
Observable<BaseResponse<List<String>>> getOperatePhone(@Query("orderId") int orderId);
/**
* 获取厂商默认收货地址.
......
package com.dayu.order.api.protocol;
import java.io.Serializable;
public class OrderPhone implements Serializable {
private int code;
// private String msg;
// private List<String> data;
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
//
// public String getMsg() {
// return msg;
// }
//
// public void setMsg(String msg) {
// this.msg = msg;
// }
//
// public List<String> getData() {
// return data;
// }
//
// public void setData(ArrayList<String> data) {
// this.data = data;
// }
}
......@@ -32,6 +32,7 @@ public class Spu implements Serializable, Parcelable {
private String brandName;
private String sn;
private String productName;
private boolean isHide = false;
public String getProductName() {
return productName;
......
......@@ -85,6 +85,10 @@ public class OrderConstant {
*/
public final static String ORDER_OPERATE = "/api-ka-base/" + "spu/getMobileSpusBySpuIds";
/**
* 获取操作指南.
*/
public final static String ORDER_OPERATE_PHONE= "/api-order/" + "orders/supportAndCreatorMobile";
/**
* 获取厂商默认收货地址.
*/
public final static String KA_ADDRESS = "/api-ka-user/" + "companyAddress/default/companyId/{companyId}";
......
......@@ -32,6 +32,7 @@ public interface MultiProcessOrderContract {
String getSnNumbers();
void setSnNumbers(String snStrs);
void hideSOP(boolean b);
void showSnView(boolean show);
String getVideo();
......
......@@ -63,16 +63,19 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen
private String videoUrl; //视频上传成功后的地址
private boolean isShowVideo;
private int mUserId;
private boolean isHide;
@Override
public void onAttached() {
Bundle bundle = mView.getBundle();
isHide = bundle.getBoolean("isHide", false);
mSpu = (Spu) bundle.getSerializable(OrderConstant.SPU);
mSpus = bundle.getParcelableArrayList(OrderConstant.SPUS);
mSourceSpus = bundle.getParcelableArrayList(OrderConstant.SPUS_SOURCE);
mState = bundle.getInt(Constants.STATE);
mKaId = mView.getBundle().getInt(OrderConstant.KAADDRESSID, -1);
sopOrderVersion = bundle.getInt(Constants.SOP_ORDER_VERSION);
if (mKaId != -1) {
getPhone();
}
......@@ -96,6 +99,14 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen
// if (mSpu.getStatus() == 2) {
// getInfo();
// }
// if (mSpu.getSopStatus() == 1){
// mView.hideSOP(false);
// }else{
// mView.hideSOP(true);
// }
// if (isHide){
// mView.hideSOP(true);
// }
}
private void commitOrder(List<String> list, List<String> snList, String videoUrl) {
......@@ -255,6 +266,9 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen
}));
}
public void isShow() {
}
@Override
public void dumpToSop() {
......@@ -282,7 +296,16 @@ public class MultiProcessOrderPresenter extends MultiProcessOrderContract.Presen
public void getInfo() {
mView.showDialog();
OrderApiFactory.getMultiProcessInfo(mId).subscribe(baseObserver(spu -> {
mDetail.set(spu);
// if (mSpu.getSopStatus() == 1){
// mView.hideSOP(false);
// }else{
// mView.hideSOP(true);
// }
// if (isHide){
// mView.hideSOP(true);
// }
mBrandName.set(spu.getBrandName());
mView.setSnNumbers(spu.getSn());
// mSn.set(spu.getSn());
......
......@@ -13,6 +13,7 @@ import java.util.List;
public interface OperateConstract {
interface View extends BaseView {
void setDatas(List<OperateInfo> operateInfos);
void setOrderId(List<String> orderPhone);
}
abstract class Presenter extends BaseListPresenter<OperateConstract.View> {
......
......@@ -6,8 +6,8 @@ import androidx.databinding.ObservableField;
import com.dayu.common.Constants;
import com.dayu.order.api.OrderApiFactory;
import com.dayu.order.api.protocol.OperateInfo;
import com.dayu.order.api.protocol.OperatePostData;
import com.dayu.order.api.protocol.OrderDetail;
/**
* Created by mReturn
......@@ -15,6 +15,7 @@ import com.dayu.order.api.protocol.OperatePostData;
*/
public class OperatePresenter extends OperateConstract.Presenter {
private int[] mSpuIds;
private int orderId;
@Override
......@@ -26,12 +27,22 @@ public class OperatePresenter extends OperateConstract.Presenter {
public void onAttached() {
Bundle bundle = mView.getBundle();
mSpuIds = bundle.getIntArray(Constants.IDS);
orderId = ((OrderDetail) bundle.getSerializable(Constants.ORDER_DETAIL)).getId();
getOperateData();
}
@Override
public void getOperateData() {
mView.showDialog();
OrderApiFactory.getOperateInfo(new OperatePostData(mSpuIds)).subscribe(baseObserver(info-> mView.setDatas(info)));
OrderApiFactory.getOperatePhone(orderId).subscribe(baseObserver(info-> {
mView.setOrderId(info);
OrderApiFactory.getOperateInfo(new OperatePostData(mSpuIds)).subscribe(baseObserver(inf-> mView.setDatas(inf)));
}));
}
}
......@@ -323,6 +323,15 @@ public class MultiProcessOrderActivity extends BaseActivity<MultiProcessOrderPre
}
@Override
public void hideSOP(boolean b) {
if (b){
mBind.tvModifySop.setVisibility(View.GONE);
}else{
mBind.tvModifySop.setVisibility(View.VISIBLE);
}
}
@Override
public void showSnView(boolean show) {
if (show) {
mBind.tvProductTitle.setVisibility(View.VISIBLE);
......
......@@ -12,7 +12,6 @@ import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.webkit.ValueCallback;
import android.webkit.WebChromeClient;
......@@ -26,7 +25,6 @@ import com.cjt2325.cameralibrary.util.ScreenUtils;
import com.dayu.base.api.Api;
import com.dayu.base.api.BaseApiFactory;
import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.base.ui.activity.CameraActivity;
import com.dayu.base.ui.activity.ImgGalleryActivty;
import com.dayu.base.ui.adapter.MediaChooseAdapter;
import com.dayu.base.ui.adapter.SpacesItemDecoration;
......@@ -50,7 +48,6 @@ import com.dayu.utils.ToastUtils;
import com.dayu.widgets.CustomDialog;
import com.dayu.widgets.TextDialog;
import com.luck.picture.lib.basic.PictureSelectionCameraModel;
import com.luck.picture.lib.basic.PictureSelectionSystemModel;
import com.luck.picture.lib.basic.PictureSelector;
import com.luck.picture.lib.config.SelectMimeType;
import com.luck.picture.lib.entity.LocalMedia;
......@@ -62,11 +59,8 @@ import org.greenrobot.eventbus.Subscribe;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
import cn.jzvd.Jzvd;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
public class SopLocalActivity extends BaseActivity<SImplePresenter, ActivitySopLocalBinding> {
......@@ -214,6 +208,8 @@ public class SopLocalActivity extends BaseActivity<SImplePresenter, ActivitySopL
mBind.webView.setLayoutParams(param);
mBind.webView.loadUrl(currentSop.getH5Url());
}
}else{
toNext(true);
}
mBind.btnNext.setOnClickListener(view -> {
preSaveData();
......@@ -281,7 +277,7 @@ public class SopLocalActivity extends BaseActivity<SImplePresenter, ActivitySopL
//保存数据
private void preSaveData() {
if (!canEdit) {
toNext();
toNext(false);
return;
}
if (currentSop == null) {
......@@ -304,7 +300,7 @@ public class SopLocalActivity extends BaseActivity<SImplePresenter, ActivitySopL
|| mVideos.size() != CommonUtils.string2ListUrl(currentSop.getVideoResult()).size())
isEdit = true;
if (isSeted && !isEdit) {
toNext();
toNext(false);
} else {
if (radioStatus == 0 && currentSop.getRadioOption() == 2) {
showToast("请设置选项");
......@@ -396,7 +392,7 @@ public class SopLocalActivity extends BaseActivity<SImplePresenter, ActivitySopL
.subscribe(mPresenter.baseObserver(success -> {
hideDialog();
getPermissionLocation();
toNext();
toNext(false);
}));
}
......@@ -484,7 +480,7 @@ public class SopLocalActivity extends BaseActivity<SImplePresenter, ActivitySopL
// });
}
private void toNext() {
private void toNext(boolean isHide) {
isEdit = false;
isSeted = true;
if (OrderConstant.sopListData != null && step < OrderConstant.sopListData.size()) {
......@@ -500,12 +496,14 @@ public class SopLocalActivity extends BaseActivity<SImplePresenter, ActivitySopL
if (mSpu != null) {
Intent intent = new Intent(mActivity, MultiProcessOrderActivity.class);
Bundle bundle = new Bundle();
mSpu.setSopStatus(2);
bundle.putSerializable(OrderConstant.SPU, mSpu);
bundle.putParcelableArrayList(OrderConstant.SPUS, mSpus);
bundle.putParcelableArrayList(OrderConstant.SPUS_SOURCE, mBundle.getParcelableArrayList(OrderConstant.SPUS_SOURCE));
bundle.putInt(Constants.ORDER_POSTION, 0);
bundle.putInt(Constants.ORDER_ID, mOrderId);
bundle.putInt(Constants.STATE, mSpuState);
bundle.putBoolean("isHide",isHide);
intent.putExtra(Constants.BUNDLE, bundle);
bundle.putInt(Constants.SOP_ORDER_VERSION, version);
startActivity(intent);
......
......@@ -48,10 +48,12 @@ public class OperateDetailFragment extends BaseFragment<SImplePresenter, Fragmen
private int page = 1;
private int pageSize = 20;
private WeakHandler weakHandler = new WeakHandler();
private ArrayList<String> phoneNum;
public static OperateDetailFragment newInstance(OperateInfo info, int createProviderId) {
public static OperateDetailFragment newInstance(OperateInfo info, int createProviderId, ArrayList<String> phoneNum) {
Bundle args = new Bundle();
args.putSerializable(Constants.OPERATE_DETAIL, info);
args.putStringArrayList(Constants.OPERATE_DETAIL_PHONE, phoneNum);
args.putInt(Constants.ID, createProviderId);
OperateDetailFragment fragment = new OperateDetailFragment();
fragment.setArguments(args);
......@@ -64,6 +66,7 @@ public class OperateDetailFragment extends BaseFragment<SImplePresenter, Fragmen
userInfo = mUserInfo;
GlideImageLoader.load(mActivity, mBind.ivAvatar, userInfo.getHeaderImg(), R.drawable.icon_user_default);
operateInfo = (OperateInfo) getArguments().getSerializable(Constants.OPERATE_DETAIL);
phoneNum = getArguments().getStringArrayList(Constants.OPERATE_DETAIL_PHONE);
int createProviderId = getArguments().getInt(Constants.ID);
getCommentData();
initRefreshView();
......@@ -133,6 +136,14 @@ public class OperateDetailFragment extends BaseFragment<SImplePresenter, Fragmen
//联系电话
mBind.tvContactSeller.setOnClickListener(v -> {
//TODO 联系电话
if (phoneNum == null){
ToastUtils.showShortToast("data == null");
}else{
ToastUtils.showShortToast(phoneNum.size()+"");
}
if (TextUtils.isEmpty(phone)) {
ToastUtils.showShortToast(R.string.no_mobile);
} else {
......@@ -207,6 +218,12 @@ public class OperateDetailFragment extends BaseFragment<SImplePresenter, Fragmen
mBind.refreshLayout.finishRefresh();
mBind.refreshLayout.finishLoadMore();
}));
OrderApiFactory.getComment(operateInfo.getId(), 1, 3, 1, page, pageSize)
.subscribe(mPresenter.baseObserver(data -> {
}, responeThrowable -> {
}));
}
......
......@@ -9,7 +9,6 @@ import androidx.viewpager.widget.ViewPager;
import com.dayu.base.ui.adapter.FragmentBaseAdapter;
import com.dayu.base.ui.fragment.BaseFragment;
import com.dayu.base.ui.fragment.DataBindingFragment;
import com.dayu.common.Constants;
import com.dayu.order.R;
import com.dayu.order.api.protocol.OperateInfo;
......@@ -18,14 +17,10 @@ import com.dayu.order.common.OperatePhoneEvent;
import com.dayu.order.databinding.FragmentOrderOperateBinding;
import com.dayu.order.presenter.operate.OperateConstract;
import com.dayu.order.presenter.operate.OperatePresenter;
import com.dayu.order.presenter.serverinstruction.ServerInstructionContract;
import com.dayu.order.presenter.serverinstruction.ServerInstructionPresenter;
import com.dayu.order.ui.adapter.OrderAdapter;
import com.dayu.utils.ToastUtils;
import org.greenrobot.eventbus.EventBus;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
......@@ -38,6 +33,7 @@ public class OrderOperateFragment extends BaseFragment<OperatePresenter,Fragment
private int curIndex;
private List<Fragment> fragments = new ArrayList<>();
private OrderDetail detail;
private ArrayList orderPhone;
public static OrderOperateFragment newInstance(int[] ids,OrderDetail detail) {
Bundle args = new Bundle();
......@@ -73,7 +69,7 @@ public class OrderOperateFragment extends BaseFragment<OperatePresenter,Fragment
List<String> phones = new ArrayList<>();
for(OperateInfo info : operateInfos){
titles.add(info.getName());
fragments.add(OperateDetailFragment.newInstance(info,detail.getCreateProviderId()));
fragments.add(OperateDetailFragment.newInstance(info,detail.getCreateProviderId(),orderPhone));
if (!TextUtils.isEmpty(info.getHotline())){
phones.add(info.getHotline());
}
......@@ -96,6 +92,11 @@ public class OrderOperateFragment extends BaseFragment<OperatePresenter,Fragment
});
}
@Override
public void setOrderId(List<String> orderPhone) {
this.orderPhone = (ArrayList) orderPhone;
}
private void showArrow() {
if (fragments.size()>1){
mBind.ivPre.setVisibility(curIndex == 0?View.GONE:View.VISIBLE);
......
......@@ -75,11 +75,11 @@ public class RegisterActivity extends BaseActivity<SImplePresenter, ActivityRegi
private void setListener() {
mBind.addHeader.setOnClickListener(v -> {
CommonUtils.hideSoftInput(mActivity);
SelectPicUtils.selectPic(mActivity, 1, true, headerRequest);
SelectPicUtils.selectPic(mActivity, 1, true, headerRequest,false);
});
mBind.addIdentity.setOnClickListener(v -> {
CommonUtils.hideSoftInput(mActivity);
SelectPicUtils.selectPic(mActivity, 1, true, identityRequest);
SelectPicUtils.selectPic(mActivity, 1, true, identityRequest,true);
}
);
......
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 sign in to comment