diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml
new file mode 100644
index 0000000..a55e7a1
--- /dev/null
+++ b/.idea/codeStyles/codeStyleConfig.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index d4bedb5..e75718b 100755
--- a/build.gradle
+++ b/build.gradle
@@ -91,17 +91,15 @@ ext {
gXRecyclerViewVersion = '1.5.9'
//rxview
gRxjavaBindingVersion = '2.1.1'
- gPickerViewVersion = '4.1.6'
wheelVersion = '4.1.0'
gBoomMenu = '2.1.1'
gFilePicker = '1.8.0'
- pickerViewVersion = '4.1.9'
+ gPickerViewVersion = '4.1.9'
//bottomNavBar
supportBottomNavBar = '2.0.5'
eventButsVersion = '3.1.1'
bannerVersion = '2.0.8'
plugVersion = '27.1.1'
- pickerViewVersion = '4.1.6'
xRecyclerViewVersion = '1.5.9'
lfilepickerlibraryVersion = '1.8.0'
mIndicatorVersion = '1.5.0'
diff --git a/cm_utils/build.gradle b/cm_utils/build.gradle
index 76ec12d..28aeb57 100755
--- a/cm_utils/build.gradle
+++ b/cm_utils/build.gradle
@@ -64,8 +64,8 @@ dependencies {
//butterknife
api "com.jakewharton:butterknife:$rootProject.ext.gButterKnifeVersion"
////选择器
- implementation "com.contrarywind:Android-PickerView:${rootProject.ext.pickerViewVersion}"
- implementation "com.contrarywind:wheelview:${rootProject.ext.wheelVersion}"
+ api "com.contrarywind:Android-PickerView:${rootProject.ext.gPickerViewVersion}"
+ api "com.contrarywind:wheelview:${rootProject.ext.wheelVersion}"
//recyclerview
implementation 'androidx.recyclerview:recyclerview:1.2.1'
//选择器
diff --git a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/constant/PathConfig.java b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/constant/PathConfig.java
index 2954ab7..897c220 100755
--- a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/constant/PathConfig.java
+++ b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/constant/PathConfig.java
@@ -117,8 +117,7 @@ public class PathConfig {
public static final String PATH_MODULE_PLACE_ACTIVITY_PLACEDETAIL = "/moduleplace/activity/placedetail";//场馆详情
public static final String PATH_MODULE_PLACE_ACTIVITY_PLACELIST = "/moduleplace/activity/placelist";//场馆列表
public static final String PATH_MODULE_PLACE_FRAGMENT_MAIN = "/moduleplace/fragment/main";//场馆fragment
- public static final String PATH_MODULE_PLACE_ACTIVITY_PLACE_SUBJECT_DETAIL = "/moduleplace/activity/subjectdetail"
- ;//场馆详情
+ public static final String PATH_MODULE_PLACE_ACTIVITY_PLACE_SUBJECT_DETAIL = "/moduleplace/activity/subjectdetail";//场馆详情
public static final String PATH_MODULE_PLACE_TICKET_DISTINE = "/moduleplace/activity/distineticket";//门票预定
public static final String PATH_MODULE_PLACE_DISTINE_BOOKING = "/moduleplace/activity/distinebooking";//场次预定
@@ -140,8 +139,7 @@ public class PathConfig {
public static final String PATH_MODULE_CULTURAL_VOUNTEER_MANAGE = "/modulecultural/activity/vounteermanage";//志愿团队
public static final String PATH_MODULE_CULTURAL_VOUNTEER_MANAGE_LIST = "/modulecultural/activity" +
"/vounteermanagelsit";//我创建的自愿者团队
- public static final String PATH_MODULE_CULTURAL_VOUNTEER_ACTIVITY_TEAM = "/modulecultural/activity/vounteermember"
- ;//志愿者列表
+ public static final String PATH_MODULE_CULTURAL_VOUNTEER_ACTIVITY_TEAM = "/modulecultural/activity/vounteermember";//志愿者列表
public static final String PATH_MODULE_CULTURAL_VOUNTEER_MEMBER_DETAIL = "/modulecultural/activity" +
"/vounteermemberdetail";//志愿者详情
public static final String PATH_MODULE_CULTURAL_VOUNTEER_MANAGE_MEMBER = "/modulecultural/activity" +
@@ -153,8 +151,7 @@ public class PathConfig {
public static final String PATH_MODULE_CULTURAL_LIVE_LIST = "/modulecultural/activity/livelookbacklist";//直播回看播放列表
public static final String PATH_MODULE_CULTURAL_VOUNTEER_MINE_TEAM_DETAIL = "/modulecultural/activity/vounteer" +
"/detail";//我创建的团队详情
- public static final String PATH_MODULE_CULTURAL_VOUNTEER_MINE_TEAM_EDIT = "/modulecultural/activity/vounteer/edit"
- ;//编辑我创建的团队
+ public static final String PATH_MODULE_CULTURAL_VOUNTEER_MINE_TEAM_EDIT = "/modulecultural/activity/vounteer/edit";//编辑我创建的团队
public static final String PATH_MODULE_CULTURAL_VOUNTEER_ACTIVITY_LIST = "/modulecultural/activity/vounteer" +
"/activitylist";//志愿者活动列表
@@ -265,4 +262,10 @@ public class PathConfig {
public static final String PATH_MODULE_SHOP_ACTIVITY_GOODS_LIST = "/moduleshop/activity/shopGoodsList";//商品列表
public static final String PATH_MODULE_SHOP_ACTIVITY_GOODS_DETAIL = "/moduleshop/activity/shopGoodsDetail";//商品详情
public static final String PATH_MODULE_SHOP_ACTIVITY_SHOP_CAR = "/moduleshop/activity/shopGoodsCar";//购物车
+ public static final String PATH_MODULE_SHOP_ACTIVITY_SHOP_ORDER_CONFIRM =
+ "/moduleshop/activity/shopOrderConfirm";//订单确认
+ public static final String PATH_MODULE_SHOP_ACTIVITY_SHOP_ADDRESS = "/moduleshop/activity/shopGoodsAddress";//收货地址
+ public static final String PATH_MODULE_SHOP_ACTIVITY_SHOP_MINE_ORDER = "/moduleshop/activity/shopOrderList";//我的订单
+ public static final String PATH_MODULE_SHOP_ACTIVITY_SHOP_MINE_ORDER_DETAIL = "/moduleshop/activity/shopOrderDetail";//我的订单
+ public static final String PATH_MODULE_SHOP_ACTIVITY_SHOP_ADD_ADDRESS = "/moduleshop/activity/shopAddAddress";//新增收货地
}
diff --git a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/beans/AreaBean.java b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/beans/AreaBean.java
index 335f6c3..f04a3c5 100755
--- a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/beans/AreaBean.java
+++ b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/beans/AreaBean.java
@@ -1,5 +1,7 @@
package com.sucstepsoft.cm_utils.core.beans;
+import com.contrarywind.interfaces.IPickerViewData;
+
import java.util.List;
/**
@@ -8,7 +10,7 @@ import java.util.List;
* 邮箱: itgaojian@163.com
* 描述:
*/
-public class AreaBean {
+public class AreaBean implements IPickerViewData {
/**
* areaCityCode : string
@@ -174,6 +176,11 @@ public class AreaBean {
this.subArea = subArea;
}
+ @Override
+ public String getPickerViewText() {
+ return areaName;
+ }
+
public static class SubAreaBean {
}
}
diff --git a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/retrofit_net/api/BaseApiService.java b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/retrofit_net/api/BaseApiService.java
index a91ccf2..28047f2 100755
--- a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/retrofit_net/api/BaseApiService.java
+++ b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/retrofit_net/api/BaseApiService.java
@@ -290,4 +290,20 @@ public interface BaseApiService {
Call downloadApk(@Url String url);
+ /**
+ * 统一用户-根据pId获取下级
+ *
+ * @param pId
+ * @return
+ */
+ @Headers({"Content-Type:application/json", "Accept:application/json"})
+ @GET("app/area/listbyparentidrelease/{areaParentId}")
+ Observable> getArea(@Path("areaParentId") String pId);
+
+ /**
+ * 统一用户-区域-根据Id获取详情
+ */
+ @Headers({"Content-Type:application/json", "Accept:application/json"})
+ @GET("app/area/getrelease/{areaId}")
+ Observable getAreaDetail(@Path("areaId") String pId);
}
diff --git a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/widget/views/BaseCustomHPickerView.java b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/widget/views/BaseCustomHPickerView.java
deleted file mode 100755
index 07d6bf7..0000000
--- a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/widget/views/BaseCustomHPickerView.java
+++ /dev/null
@@ -1,354 +0,0 @@
-package com.sucstepsoft.cm_utils.core.widget.views;
-
-import android.annotation.SuppressLint;
-import android.app.Activity;
-import android.app.Dialog;
-import android.content.Context;
-import android.graphics.Color;
-import android.graphics.drawable.ColorDrawable;
-import android.view.Display;
-import android.view.Gravity;
-import android.view.KeyEvent;
-import android.view.LayoutInflater;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.Window;
-import android.view.WindowManager;
-import android.view.animation.Animation;
-import android.view.animation.AnimationUtils;
-import android.widget.FrameLayout;
-
-import com.bigkoo.pickerview.configure.PickerOptions;
-import com.bigkoo.pickerview.listener.OnDismissListener;
-import com.bigkoo.pickerview.utils.PickerViewAnimateUtil;
-import com.sucstepsoft.cm_utils.R;
-
-public class BaseCustomHPickerView {
- private Context context;
- protected ViewGroup contentContainer;
- private ViewGroup rootView;//附加View 的 根View
- private ViewGroup dialogView;//附加Dialog 的 根View
-
- protected PickerOptions mPickerOptions;
- private OnDismissListener onDismissListener;
- private boolean dismissing;
-
- private Animation outAnim;
- private Animation inAnim;
- private boolean isShowing;
-
- protected int animGravity = Gravity.BOTTOM;
-
- private Dialog mDialog;
- protected View clickView;//是通过哪个View弹出的
- private boolean isAnim = true;
-
- public BaseCustomHPickerView(Context context) {
- this.context = context;
- }
-
-
- protected void initViews() {
-
- FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
- ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.BOTTOM);
-
- LayoutInflater layoutInflater = LayoutInflater.from(context);
- if (isDialog()) {
-
- //如果是对话框模式
- dialogView = (ViewGroup) layoutInflater.inflate(R.layout.layout_basepickerview, null, false);
- //设置界面的背景为透明
- dialogView.setBackgroundColor(Color.TRANSPARENT);
- //这个是真正要加载选择器的父布局
- contentContainer = (ViewGroup) dialogView.findViewById(R.id.content_container);
- //设置对话框 默认左右间距屏幕30
-// params.leftMargin = 10;
-// params.rightMargin = 10;
- contentContainer.setLayoutParams(params);
- //创建对话框
- createDialog();
- //给背景设置点击事件,这样当点击内容以外的地方会关闭界面
- dialogView.setOnClickListener(view -> dismiss());
- } else {
- //如果只是要显示在屏幕的下方
- //decorView是activity的根View,包含 contentView 和 titleView
- if (mPickerOptions.decorView == null) {
- mPickerOptions.decorView = (ViewGroup) ((Activity) context).getWindow().getDecorView();
- }
- //将控件添加到decorView中
- rootView = (ViewGroup) layoutInflater.inflate(R.layout.layout_basepickerview, mPickerOptions.decorView, false);
- rootView.setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
- if (mPickerOptions.backgroundId != -1) {
- rootView.setBackgroundColor(mPickerOptions.backgroundId);
- }
- //这个是真正要加载时间选取器的父布局
- contentContainer = (ViewGroup) rootView.findViewById(R.id.content_container);
- contentContainer.setLayoutParams(params);
- }
- setKeyBackCancelable(true);
- }
-
- protected void initAnim() {
- inAnim = getInAnimation();
- outAnim = getOutAnimation();
- }
-
- protected void initEvents() {
- }
-
-
- /**
- * @param v (是通过哪个View弹出的)
- * @param isAnim 是否显示动画效果
- */
- public void show(View v, boolean isAnim) {
- this.clickView = v;
- this.isAnim = isAnim;
- show();
- }
-
- public void show(boolean isAnim) {
- this.isAnim = isAnim;
- show();
- }
-
- public void show(View v) {
- this.clickView = v;
- show();
- }
-
-
- /**
- * 添加View到根视图
- */
- public void show() {
- if (isDialog()) {
- showDialog();
- } else {
- if (isShowing()) {
- return;
- }
- isShowing = true;
- onAttached(rootView);
- rootView.requestFocus();
- }
- }
-
-
- /**
- * show的时候调用
- *
- * @param view 这个View
- */
- private void onAttached(View view) {
- mPickerOptions.decorView.addView(view);
- if (isAnim) {
- contentContainer.startAnimation(inAnim);
- }
- }
-
-
- /**
- * 检测该View是不是已经添加到根视图
- *
- * @return 如果视图已经存在该View返回true
- */
- public boolean isShowing() {
- if (isDialog()) {
- return false;
- } else {
- return rootView.getParent() != null || isShowing;
- }
-
- }
-
- public void dismiss() {
- if (isDialog()) {
- dismissDialog();
- } else {
- if (dismissing) {
- return;
- }
-
- if (isAnim) {
- //消失动画
- outAnim.setAnimationListener(new Animation.AnimationListener() {
- @Override
- public void onAnimationStart(Animation animation) {
-
- }
-
- @Override
- public void onAnimationEnd(Animation animation) {
- dismissImmediately();
- }
-
- @Override
- public void onAnimationRepeat(Animation animation) {
-
- }
- });
- contentContainer.startAnimation(outAnim);
- } else {
- dismissImmediately();
- }
- dismissing = true;
- }
-
-
- }
-
- public void dismissImmediately() {
-
- mPickerOptions.decorView.post(new Runnable() {
- @Override
- public void run() {
- //从根视图移除
- mPickerOptions.decorView.removeView(rootView);
- isShowing = false;
- dismissing = false;
- if (onDismissListener != null) {
- onDismissListener.onDismiss(BaseCustomHPickerView.this);
- }
- }
- });
-
-
- }
-
- private Animation getInAnimation() {
- int res = PickerViewAnimateUtil.getAnimationResource(this.animGravity, true);
- return AnimationUtils.loadAnimation(context, res);
- }
-
- private Animation getOutAnimation() {
- int res = PickerViewAnimateUtil.getAnimationResource(this.animGravity, false);
- return AnimationUtils.loadAnimation(context, res);
- }
-
- public BaseCustomHPickerView setOnDismissListener(OnDismissListener onDismissListener) {
- this.onDismissListener = onDismissListener;
- return this;
- }
-
- public void setKeyBackCancelable(boolean isCancelable) {
-
- ViewGroup View;
- if (isDialog()) {
- View = dialogView;
- } else {
- View = rootView;
- }
-
- View.setFocusable(isCancelable);
- View.setFocusableInTouchMode(isCancelable);
- if (isCancelable) {
- View.setOnKeyListener(onKeyBackListener);
- } else {
- View.setOnKeyListener(null);
- }
- }
-
- private View.OnKeyListener onKeyBackListener = (v, keyCode, event) -> {
- if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == MotionEvent.ACTION_DOWN && isShowing()) {
- dismiss();
- return true;
- }
- return false;
- };
-
- protected BaseCustomHPickerView setOutSideCancelable(boolean isCancelable) {
-
- if (rootView != null) {
- View view = rootView.findViewById(R.id.outmost_container);
-
- if (isCancelable) {
- view.setOnTouchListener(onCancelableTouchListener);
- } else {
- view.setOnTouchListener(null);
- }
- }
-
- return this;
- }
-
- /**
- * 设置对话框模式是否可以点击外部取消
- */
- public void setDialogOutSideCancelable() {
- if (mDialog != null) {
- mDialog.setCancelable(mPickerOptions.cancelable);
- }
- }
-
-
- /**
- * Called when the user touch on black overlay, in order to dismiss the dialog.
- */
- @SuppressLint("ClickableViewAccessibility")
- private final View.OnTouchListener onCancelableTouchListener = (v, event) -> {
- if (event.getAction() == MotionEvent.ACTION_DOWN) {
- dismiss();
- }
- return false;
- };
-
- public View findViewById(int id) {
- return contentContainer.findViewById(id);
- }
-
- public void createDialog() {
- if (dialogView != null) {
- mDialog = new Dialog(context, R.style.custom_dialog2);
- mDialog.setCancelable(mPickerOptions.cancelable);//不能点外面取消,也不能点back取消
- mDialog.setContentView(dialogView);
-
- Window dialogWindow = mDialog.getWindow();
- WindowManager m = ((Activity) context).getWindowManager();
- Display d = m.getDefaultDisplay();
- WindowManager.LayoutParams p = dialogWindow.getAttributes();
- p.height = (int) (d.getHeight() * 0.9);
- p.width = (int) (d.getWidth() * 0.3);
- dialogWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
- dialogWindow.setAttributes(p);
- if (dialogWindow != null) {
- dialogWindow.setWindowAnimations(R.style.picker_view_scale_anim);
- dialogWindow.setGravity(Gravity.CENTER);//可以改成Bottom
- }
-
- mDialog.setOnDismissListener(dialog -> {
- if (onDismissListener != null) {
- onDismissListener.onDismiss(BaseCustomHPickerView.this);
- }
- });
- }
- }
-
- private void showDialog() {
- if (mDialog != null) {
- mDialog.show();
- }
- }
-
- private void dismissDialog() {
- if (mDialog != null) {
- mDialog.dismiss();
- }
- }
-
- public ViewGroup getDialogContainerLayout() {
- return contentContainer;
- }
-
-
- public Dialog getDialog() {
- return mDialog;
- }
-
-
- public boolean isDialog() {
- return false;
- }
-}
diff --git a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/widget/views/BaseCustomPickerView.java b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/widget/views/BaseCustomPickerView.java
deleted file mode 100755
index 3f3071d..0000000
--- a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/widget/views/BaseCustomPickerView.java
+++ /dev/null
@@ -1,354 +0,0 @@
-package com.sucstepsoft.cm_utils.core.widget.views;
-
-import android.annotation.SuppressLint;
-import android.app.Activity;
-import android.app.Dialog;
-import android.content.Context;
-import android.graphics.Color;
-import android.graphics.drawable.ColorDrawable;
-import android.view.Display;
-import android.view.Gravity;
-import android.view.KeyEvent;
-import android.view.LayoutInflater;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.Window;
-import android.view.WindowManager;
-import android.view.animation.Animation;
-import android.view.animation.AnimationUtils;
-import android.widget.FrameLayout;
-
-import com.bigkoo.pickerview.configure.PickerOptions;
-import com.bigkoo.pickerview.listener.OnDismissListener;
-import com.bigkoo.pickerview.utils.PickerViewAnimateUtil;
-import com.sucstepsoft.cm_utils.R;
-
-public class BaseCustomPickerView {
- private Context context;
- protected ViewGroup contentContainer;
- private ViewGroup rootView;//附加View 的 根View
- private ViewGroup dialogView;//附加Dialog 的 根View
-
- protected PickerOptions mPickerOptions;
- private OnDismissListener onDismissListener;
- private boolean dismissing;
-
- private Animation outAnim;
- private Animation inAnim;
- private boolean isShowing;
-
- protected int animGravity = Gravity.BOTTOM;
-
- private Dialog mDialog;
- protected View clickView;//是通过哪个View弹出的
- private boolean isAnim = true;
-
- public BaseCustomPickerView(Context context) {
- this.context = context;
- }
-
-
- protected void initViews() {
-
- FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
- ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.BOTTOM);
-
- LayoutInflater layoutInflater = LayoutInflater.from(context);
- if (isDialog()) {
-
- //如果是对话框模式
- dialogView = (ViewGroup) layoutInflater.inflate(R.layout.layout_basepickerview, null, false);
- //设置界面的背景为透明
- dialogView.setBackgroundColor(Color.TRANSPARENT);
- //这个是真正要加载选择器的父布局
- contentContainer = (ViewGroup) dialogView.findViewById(R.id.content_container);
- //设置对话框 默认左右间距屏幕30
-// params.leftMargin = 10;
-// params.rightMargin = 10;
- contentContainer.setLayoutParams(params);
- //创建对话框
- createDialog();
- //给背景设置点击事件,这样当点击内容以外的地方会关闭界面
- dialogView.setOnClickListener(view -> dismiss());
- } else {
- //如果只是要显示在屏幕的下方
- //decorView是activity的根View,包含 contentView 和 titleView
- if (mPickerOptions.decorView == null) {
- mPickerOptions.decorView = (ViewGroup) ((Activity) context).getWindow().getDecorView();
- }
- //将控件添加到decorView中
- rootView = (ViewGroup) layoutInflater.inflate(R.layout.layout_basepickerview, mPickerOptions.decorView, false);
- rootView.setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
- if (mPickerOptions.backgroundId != -1) {
- rootView.setBackgroundColor(mPickerOptions.backgroundId);
- }
- //这个是真正要加载时间选取器的父布局
- contentContainer = (ViewGroup) rootView.findViewById(R.id.content_container);
- contentContainer.setLayoutParams(params);
- }
- setKeyBackCancelable(true);
- }
-
- protected void initAnim() {
- inAnim = getInAnimation();
- outAnim = getOutAnimation();
- }
-
- protected void initEvents() {
- }
-
-
- /**
- * @param v (是通过哪个View弹出的)
- * @param isAnim 是否显示动画效果
- */
- public void show(View v, boolean isAnim) {
- this.clickView = v;
- this.isAnim = isAnim;
- show();
- }
-
- public void show(boolean isAnim) {
- this.isAnim = isAnim;
- show();
- }
-
- public void show(View v) {
- this.clickView = v;
- show();
- }
-
-
- /**
- * 添加View到根视图
- */
- public void show() {
- if (isDialog()) {
- showDialog();
- } else {
- if (isShowing()) {
- return;
- }
- isShowing = true;
- onAttached(rootView);
- rootView.requestFocus();
- }
- }
-
-
- /**
- * show的时候调用
- *
- * @param view 这个View
- */
- private void onAttached(View view) {
- mPickerOptions.decorView.addView(view);
- if (isAnim) {
- contentContainer.startAnimation(inAnim);
- }
- }
-
-
- /**
- * 检测该View是不是已经添加到根视图
- *
- * @return 如果视图已经存在该View返回true
- */
- public boolean isShowing() {
- if (isDialog()) {
- return false;
- } else {
- return rootView.getParent() != null || isShowing;
- }
-
- }
-
- public void dismiss() {
- if (isDialog()) {
- dismissDialog();
- } else {
- if (dismissing) {
- return;
- }
-
- if (isAnim) {
- //消失动画
- outAnim.setAnimationListener(new Animation.AnimationListener() {
- @Override
- public void onAnimationStart(Animation animation) {
-
- }
-
- @Override
- public void onAnimationEnd(Animation animation) {
- dismissImmediately();
- }
-
- @Override
- public void onAnimationRepeat(Animation animation) {
-
- }
- });
- contentContainer.startAnimation(outAnim);
- } else {
- dismissImmediately();
- }
- dismissing = true;
- }
-
-
- }
-
- public void dismissImmediately() {
-
- mPickerOptions.decorView.post(new Runnable() {
- @Override
- public void run() {
- //从根视图移除
- mPickerOptions.decorView.removeView(rootView);
- isShowing = false;
- dismissing = false;
- if (onDismissListener != null) {
- onDismissListener.onDismiss(BaseCustomPickerView.this);
- }
- }
- });
-
-
- }
-
- private Animation getInAnimation() {
- int res = PickerViewAnimateUtil.getAnimationResource(this.animGravity, true);
- return AnimationUtils.loadAnimation(context, res);
- }
-
- private Animation getOutAnimation() {
- int res = PickerViewAnimateUtil.getAnimationResource(this.animGravity, false);
- return AnimationUtils.loadAnimation(context, res);
- }
-
- public BaseCustomPickerView setOnDismissListener(OnDismissListener onDismissListener) {
- this.onDismissListener = onDismissListener;
- return this;
- }
-
- public void setKeyBackCancelable(boolean isCancelable) {
-
- ViewGroup View;
- if (isDialog()) {
- View = dialogView;
- } else {
- View = rootView;
- }
-
- View.setFocusable(isCancelable);
- View.setFocusableInTouchMode(isCancelable);
- if (isCancelable) {
- View.setOnKeyListener(onKeyBackListener);
- } else {
- View.setOnKeyListener(null);
- }
- }
-
- private View.OnKeyListener onKeyBackListener = (v, keyCode, event) -> {
- if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == MotionEvent.ACTION_DOWN && isShowing()) {
- dismiss();
- return true;
- }
- return false;
- };
-
- protected BaseCustomPickerView setOutSideCancelable(boolean isCancelable) {
-
- if (rootView != null) {
- View view = rootView.findViewById(R.id.outmost_container);
-
- if (isCancelable) {
- view.setOnTouchListener(onCancelableTouchListener);
- } else {
- view.setOnTouchListener(null);
- }
- }
-
- return this;
- }
-
- /**
- * 设置对话框模式是否可以点击外部取消
- */
- public void setDialogOutSideCancelable() {
- if (mDialog != null) {
- mDialog.setCancelable(mPickerOptions.cancelable);
- }
- }
-
-
- /**
- * Called when the user touch on black overlay, in order to dismiss the dialog.
- */
- @SuppressLint("ClickableViewAccessibility")
- private final View.OnTouchListener onCancelableTouchListener = (v, event) -> {
- if (event.getAction() == MotionEvent.ACTION_DOWN) {
- dismiss();
- }
- return false;
- };
-
- public View findViewById(int id) {
- return contentContainer.findViewById(id);
- }
-
- public void createDialog() {
- if (dialogView != null) {
- mDialog = new Dialog(context, R.style.custom_dialog2);
- mDialog.setCancelable(mPickerOptions.cancelable);//不能点外面取消,也不能点back取消
- mDialog.setContentView(dialogView);
-
- Window dialogWindow = mDialog.getWindow();
- WindowManager m = ((Activity) context).getWindowManager();
- Display d = m.getDefaultDisplay();
- WindowManager.LayoutParams p = dialogWindow.getAttributes();
- p.height = (int) (d.getHeight() * 0.5);
- p.width = (int) (d.getWidth() * 0.9);
- dialogWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
- dialogWindow.setAttributes(p);
- if (dialogWindow != null) {
- dialogWindow.setWindowAnimations(R.style.picker_view_scale_anim);
- dialogWindow.setGravity(Gravity.CENTER);//可以改成Bottom
- }
-
- mDialog.setOnDismissListener(dialog -> {
- if (onDismissListener != null) {
- onDismissListener.onDismiss(BaseCustomPickerView.this);
- }
- });
- }
- }
-
- private void showDialog() {
- if (mDialog != null) {
- mDialog.show();
- }
- }
-
- private void dismissDialog() {
- if (mDialog != null) {
- mDialog.dismiss();
- }
- }
-
- public ViewGroup getDialogContainerLayout() {
- return contentContainer;
- }
-
-
- public Dialog getDialog() {
- return mDialog;
- }
-
-
- public boolean isDialog() {
- return false;
- }
-}
diff --git a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/widget/views/CustomPickerBuilder.java b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/widget/views/CustomPickerBuilder.java
deleted file mode 100755
index 6509ca2..0000000
--- a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/widget/views/CustomPickerBuilder.java
+++ /dev/null
@@ -1,247 +0,0 @@
-package com.sucstepsoft.cm_utils.core.widget.views;
-
-import android.content.Context;
-import android.graphics.Typeface;
-import android.view.ViewGroup;
-
-import com.bigkoo.pickerview.configure.PickerOptions;
-import com.bigkoo.pickerview.listener.CustomListener;
-import com.bigkoo.pickerview.listener.OnOptionsSelectChangeListener;
-import com.bigkoo.pickerview.listener.OnOptionsSelectListener;
-
-public class CustomPickerBuilder {
- //配置类
- private PickerOptions mPickerOptions;
-
-
- //Required
- public CustomPickerBuilder(Context context, OnOptionsSelectListener listener) {
- mPickerOptions = new PickerOptions(PickerOptions.TYPE_PICKER_OPTIONS);
- mPickerOptions.context = context;
- mPickerOptions.optionsSelectListener = listener;
- }
-
- //Option
- public CustomPickerBuilder setSubmitText(String textContentConfirm) {
- mPickerOptions.textContentConfirm = textContentConfirm;
- return this;
- }
-
- public CustomPickerBuilder setCancelText(String textContentCancel) {
- mPickerOptions.textContentCancel = textContentCancel;
- return this;
- }
-
- public CustomPickerBuilder setTitleText(String textContentTitle) {
- mPickerOptions.textContentTitle = textContentTitle;
- return this;
- }
-
- public CustomPickerBuilder isDialog(boolean isDialog) {
- mPickerOptions.isDialog = isDialog;
- return this;
- }
-
- public CustomPickerBuilder setSubmitColor(int textColorConfirm) {
- mPickerOptions.textColorConfirm = textColorConfirm;
- return this;
- }
-
- public CustomPickerBuilder setCancelColor(int textColorCancel) {
- mPickerOptions.textColorCancel = textColorCancel;
- return this;
- }
-
- /**
- * 显示时的外部背景色颜色,默认是灰色
- *
- * @param backgroundId color resId.
- * @return
- */
- public CustomPickerBuilder setBackgroundId(int backgroundId) {
- mPickerOptions.backgroundId = backgroundId;
- return this;
- }
-
- /**
- * ViewGroup 类型
- * 设置PickerView的显示容器
- *
- * @param decorView Parent View.
- * @return
- */
- public CustomPickerBuilder setDecorView(ViewGroup decorView) {
- mPickerOptions.decorView = decorView;
- return this;
- }
-
- public CustomPickerBuilder setLayoutRes(int res, CustomListener listener) {
- mPickerOptions.layoutRes = res;
- mPickerOptions.customListener = listener;
- return this;
- }
-
- public CustomPickerBuilder setBgColor(int bgColorWheel) {
- mPickerOptions.bgColorWheel = bgColorWheel;
- return this;
- }
-
- public CustomPickerBuilder setTitleBgColor(int bgColorTitle) {
- mPickerOptions.bgColorTitle = bgColorTitle;
- return this;
- }
-
- public CustomPickerBuilder setTitleColor(int textColorTitle) {
- mPickerOptions.textColorTitle = textColorTitle;
- return this;
- }
-
- public CustomPickerBuilder setSubCalSize(int textSizeSubmitCancel) {
- mPickerOptions.textSizeSubmitCancel = textSizeSubmitCancel;
- return this;
- }
-
- public CustomPickerBuilder setTitleSize(int textSizeTitle) {
- mPickerOptions.textSizeTitle = textSizeTitle;
- return this;
- }
-
- public CustomPickerBuilder setContentTextSize(int textSizeContent) {
- mPickerOptions.textSizeContent = textSizeContent;
- return this;
- }
-
- public CustomPickerBuilder setOutSideCancelable(boolean cancelable) {
- mPickerOptions.cancelable = cancelable;
- return this;
- }
-
-
- public CustomPickerBuilder setLabels(String label1, String label2, String label3) {
- mPickerOptions.label1 = label1;
- mPickerOptions.label2 = label2;
- mPickerOptions.label3 = label3;
- return this;
- }
-
- /**
- * 设置Item 的间距倍数,用于控制 Item 高度间隔
- *
- * @param lineSpacingMultiplier 浮点型,1.0-4.0f 之间有效,超过则取极值。
- */
- public CustomPickerBuilder setLineSpacingMultiplier(float lineSpacingMultiplier) {
- mPickerOptions.lineSpacingMultiplier = lineSpacingMultiplier;
- return this;
- }
-
- /**
- * Set item divider line type color.
- *
- * @param dividerColor color resId.
- */
- public CustomPickerBuilder setDividerColor(int dividerColor) {
- mPickerOptions.dividerColor = dividerColor;
- return this;
- }
-
-// /**
-// * Set item divider line type.
-// *
-// * @param dividerType enum Type {@link WheelView.DividerType}
-// */
-// public CustomPickerBuilder setDividerType(WheelView.DividerType dividerType) {
-// mPickerOptions.dividerType = dividerType;
-// return this;
-// }
-
- /**
- * Set the textColor of selected item.
- *
- * @param textColorCenter color res.
- */
- public CustomPickerBuilder setTextColorCenter(int textColorCenter) {
- mPickerOptions.textColorCenter = textColorCenter;
- return this;
- }
-
- /**
- * Set the textColor of outside item.
- *
- * @param textColorOut color resId.
- */
- public CustomPickerBuilder setTextColorOut(int textColorOut) {
- mPickerOptions.textColorOut = textColorOut;
- return this;
- }
-
- public CustomPickerBuilder setTypeface(Typeface font) {
- mPickerOptions.font = font;
- return this;
- }
-
- public CustomPickerBuilder setCyclic(boolean cyclic1, boolean cyclic2, boolean cyclic3) {
- mPickerOptions.cyclic1 = cyclic1;
- mPickerOptions.cyclic2 = cyclic2;
- mPickerOptions.cyclic3 = cyclic3;
- return this;
- }
-
- public CustomPickerBuilder setSelectOptions(int option1) {
- mPickerOptions.option1 = option1;
- return this;
- }
-
- public CustomPickerBuilder setSelectOptions(int option1, int option2) {
- mPickerOptions.option1 = option1;
- mPickerOptions.option2 = option2;
- return this;
- }
-
- public CustomPickerBuilder setSelectOptions(int option1, int option2, int option3) {
- mPickerOptions.option1 = option1;
- mPickerOptions.option2 = option2;
- mPickerOptions.option3 = option3;
- return this;
- }
-
- public CustomPickerBuilder setTextXOffset(int xoffset_one, int xoffset_two, int xoffset_three) {
- mPickerOptions.x_offset_one = xoffset_one;
- mPickerOptions.x_offset_two = xoffset_two;
- mPickerOptions.x_offset_three = xoffset_three;
- return this;
- }
-
- public CustomPickerBuilder isCenterLabel(boolean isCenterLabel) {
- mPickerOptions.isCenterLabel = isCenterLabel;
- return this;
- }
-
- /**
- * 切换选项时,是否还原第一项
- *
- * @param isRestoreItem true:还原; false: 保持上一个选项
- * @return TimePickerBuilder
- */
- public CustomPickerBuilder isRestoreItem(boolean isRestoreItem) {
- mPickerOptions.isRestoreItem = isRestoreItem;
- return this;
- }
-
- /**
- * @param listener 切换item项滚动停止时,实时回调监听。
- * @return
- */
- public CustomPickerBuilder setOptionsSelectChangeListener(OnOptionsSelectChangeListener listener) {
- mPickerOptions.optionsSelectChangeListener = listener;
- return this;
- }
-
-
- public CustomPickerView build() {
- return new CustomPickerView<>(mPickerOptions);
- }
-
- public CustomPickerBuilder setDialog(int i, int i1) {
- return null;
- }
-}
diff --git a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/widget/views/CustomPickerView.java b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/widget/views/CustomPickerView.java
deleted file mode 100755
index 680f08a..0000000
--- a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/widget/views/CustomPickerView.java
+++ /dev/null
@@ -1,187 +0,0 @@
-package com.sucstepsoft.cm_utils.core.widget.views;
-
-import android.content.Context;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.widget.Button;
-import android.widget.LinearLayout;
-import android.widget.RelativeLayout;
-import android.widget.TextView;
-
-import com.bigkoo.pickerview.configure.PickerOptions;
-import com.bigkoo.pickerview.view.WheelOptions;
-import com.sucstepsoft.cm_utils.R;
-
-import java.util.List;
-
-public class CustomPickerView extends BaseCustomPickerView implements View.OnClickListener {
- private WheelOptions wheelOptions;
-
- private static final String TAG_SUBMIT = "submit";
- private static final String TAG_CANCEL = "cancel";
-
- public CustomPickerView(PickerOptions pickerOptions) {
- super(pickerOptions.context);
- mPickerOptions = pickerOptions;
- initView(pickerOptions.context);
- }
-
-
- private void initView(Context context) {
- setDialogOutSideCancelable();
- initViews();
- initAnim();
- initEvents();
- if (mPickerOptions.customListener == null) {
- LayoutInflater.from(context).inflate(mPickerOptions.layoutRes, contentContainer);
-
- //顶部标题
- TextView tvTitle = (TextView) findViewById(R.id.tvTitle);
- RelativeLayout rv_top_bar = (RelativeLayout) findViewById(R.id.rv_topbar);
-
- //确定和取消按钮
- Button btnSubmit = (Button) findViewById(R.id.btnSubmit);
- Button btnCancel = (Button) findViewById(R.id.btnCancel);
-
- btnSubmit.setTag(TAG_SUBMIT);
- btnCancel.setTag(TAG_CANCEL);
- btnSubmit.setOnClickListener(this);
- btnCancel.setOnClickListener(this);
-
- //设置文字
- btnSubmit.setText(TextUtils.isEmpty(mPickerOptions.textContentConfirm) ? context.getResources().getString(R.string.pickerview_submit) : mPickerOptions.textContentConfirm);
- btnCancel.setText(TextUtils.isEmpty(mPickerOptions.textContentCancel) ? context.getResources().getString(R.string.pickerview_cancel) : mPickerOptions.textContentCancel);
- tvTitle.setText(TextUtils.isEmpty(mPickerOptions.textContentTitle) ? "" : mPickerOptions.textContentTitle);//默认为空
-
- //设置color
- btnSubmit.setTextColor(mPickerOptions.textColorConfirm);
- btnCancel.setTextColor(mPickerOptions.textColorCancel);
- tvTitle.setTextColor(mPickerOptions.textColorTitle);
- rv_top_bar.setBackgroundColor(mPickerOptions.bgColorTitle);
-
- //设置文字大小
- btnSubmit.setTextSize(mPickerOptions.textSizeSubmitCancel);
- btnCancel.setTextSize(mPickerOptions.textSizeSubmitCancel);
- tvTitle.setTextSize(mPickerOptions.textSizeTitle);
- } else {
- mPickerOptions.customListener.customLayout(LayoutInflater.from(context).inflate(mPickerOptions.layoutRes, contentContainer));
- }
-
- // ----滚轮布局
- final LinearLayout optionsPicker = (LinearLayout) findViewById(R.id.optionspicker);
- optionsPicker.setBackgroundColor(mPickerOptions.bgColorWheel);
-
- wheelOptions = new WheelOptions(optionsPicker, mPickerOptions.isRestoreItem);
- if (mPickerOptions.optionsSelectChangeListener != null) {
- wheelOptions.setOptionsSelectChangeListener(mPickerOptions.optionsSelectChangeListener);
- }
-
- wheelOptions.setTextContentSize(mPickerOptions.textSizeContent);
- wheelOptions.setLabels(mPickerOptions.label1, mPickerOptions.label2, mPickerOptions.label3);
- wheelOptions.setTextXOffset(mPickerOptions.x_offset_one, mPickerOptions.x_offset_two, mPickerOptions.x_offset_three);
- wheelOptions.setCyclic(mPickerOptions.cyclic1, mPickerOptions.cyclic2, mPickerOptions.cyclic3);
- wheelOptions.setTypeface(mPickerOptions.font);
-
- setOutSideCancelable(mPickerOptions.cancelable);
-
- wheelOptions.setDividerColor(mPickerOptions.dividerColor);
-// wheelOptions.setDividerType(mPickerOptions.dividerType);
- wheelOptions.setLineSpacingMultiplier(mPickerOptions.lineSpacingMultiplier);
- wheelOptions.setTextColorOut(mPickerOptions.textColorOut);
- wheelOptions.setTextColorCenter(mPickerOptions.textColorCenter);
- wheelOptions.isCenterLabel(mPickerOptions.isCenterLabel);
- }
-
- /**
- * 动态设置标题
- *
- * @param text 标题文本内容
- */
- public void setTitleText(String text) {
- TextView tvTitle = (TextView) findViewById(R.id.tvTitle);
- if (tvTitle != null) {
- tvTitle.setText(text);
- }
- }
-
- /**
- * 设置默认选中项
- *
- * @param option1
- */
- public void setSelectOptions(int option1) {
- mPickerOptions.option1 = option1;
- reSetCurrentItems();
- }
-
-
- public void setSelectOptions(int option1, int option2) {
- mPickerOptions.option1 = option1;
- mPickerOptions.option2 = option2;
- reSetCurrentItems();
- }
-
- public void setSelectOptions(int option1, int option2, int option3) {
- mPickerOptions.option1 = option1;
- mPickerOptions.option2 = option2;
- mPickerOptions.option3 = option3;
- reSetCurrentItems();
- }
-
- private void reSetCurrentItems() {
- if (wheelOptions != null) {
- wheelOptions.setCurrentItems(mPickerOptions.option1, mPickerOptions.option2, mPickerOptions.option3);
- }
- }
-
- public void setPicker(List optionsItems) {
- this.setPicker(optionsItems, null, null);
- }
-
- public void setPicker(List options1Items, List> options2Items) {
- this.setPicker(options1Items, options2Items, null);
- }
-
- public void setPicker(List options1Items,
- List> options2Items,
- List>> options3Items) {
-
- wheelOptions.setPicker(options1Items, options2Items, options3Items);
- reSetCurrentItems();
- }
-
-
- //不联动情况下调用
- public void setNPicker(List options1Items,
- List options2Items,
- List options3Items) {
-
- wheelOptions.setLinkage(false);
- wheelOptions.setNPicker(options1Items, options2Items, options3Items);
- reSetCurrentItems();
- }
-
- @Override
- public void onClick(View v) {
- String tag = (String) v.getTag();
- if (tag.equals(TAG_SUBMIT)) {
- returnData();
- }
- dismiss();
- }
-
- //抽离接口回调的方法
- public void returnData() {
- if (mPickerOptions.optionsSelectListener != null) {
- int[] optionsCurrentItems = wheelOptions.getCurrentItems();
- mPickerOptions.optionsSelectListener.onOptionsSelect(optionsCurrentItems[0], optionsCurrentItems[1], optionsCurrentItems[2], clickView);
- }
- }
-
-
- @Override
- public boolean isDialog() {
- return mPickerOptions.isDialog;
- }
-}
diff --git a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/widget/views/HCustomPickerBuilder.java b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/widget/views/HCustomPickerBuilder.java
deleted file mode 100755
index c05f8a3..0000000
--- a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/widget/views/HCustomPickerBuilder.java
+++ /dev/null
@@ -1,247 +0,0 @@
-package com.sucstepsoft.cm_utils.core.widget.views;
-
-import android.content.Context;
-import android.graphics.Typeface;
-import android.view.ViewGroup;
-
-import com.bigkoo.pickerview.configure.PickerOptions;
-import com.bigkoo.pickerview.listener.CustomListener;
-import com.bigkoo.pickerview.listener.OnOptionsSelectChangeListener;
-import com.bigkoo.pickerview.listener.OnOptionsSelectListener;
-
-public class HCustomPickerBuilder {
- //配置类
- private PickerOptions mPickerOptions;
-
-
- //Required
- public HCustomPickerBuilder(Context context, OnOptionsSelectListener listener) {
- mPickerOptions = new PickerOptions(PickerOptions.TYPE_PICKER_OPTIONS);
- mPickerOptions.context = context;
- mPickerOptions.optionsSelectListener = listener;
- }
-
- //Option
- public HCustomPickerBuilder setSubmitText(String textContentConfirm) {
- mPickerOptions.textContentConfirm = textContentConfirm;
- return this;
- }
-
- public HCustomPickerBuilder setCancelText(String textContentCancel) {
- mPickerOptions.textContentCancel = textContentCancel;
- return this;
- }
-
- public HCustomPickerBuilder setTitleText(String textContentTitle) {
- mPickerOptions.textContentTitle = textContentTitle;
- return this;
- }
-
- public HCustomPickerBuilder isDialog(boolean isDialog) {
- mPickerOptions.isDialog = isDialog;
- return this;
- }
-
- public HCustomPickerBuilder setSubmitColor(int textColorConfirm) {
- mPickerOptions.textColorConfirm = textColorConfirm;
- return this;
- }
-
- public HCustomPickerBuilder setCancelColor(int textColorCancel) {
- mPickerOptions.textColorCancel = textColorCancel;
- return this;
- }
-
- /**
- * 显示时的外部背景色颜色,默认是灰色
- *
- * @param backgroundId color resId.
- * @return
- */
- public HCustomPickerBuilder setBackgroundId(int backgroundId) {
- mPickerOptions.backgroundId = backgroundId;
- return this;
- }
-
- /**
- * ViewGroup 类型
- * 设置PickerView的显示容器
- *
- * @param decorView Parent View.
- * @return
- */
- public HCustomPickerBuilder setDecorView(ViewGroup decorView) {
- mPickerOptions.decorView = decorView;
- return this;
- }
-
- public HCustomPickerBuilder setLayoutRes(int res, CustomListener listener) {
- mPickerOptions.layoutRes = res;
- mPickerOptions.customListener = listener;
- return this;
- }
-
- public HCustomPickerBuilder setBgColor(int bgColorWheel) {
- mPickerOptions.bgColorWheel = bgColorWheel;
- return this;
- }
-
- public HCustomPickerBuilder setTitleBgColor(int bgColorTitle) {
- mPickerOptions.bgColorTitle = bgColorTitle;
- return this;
- }
-
- public HCustomPickerBuilder setTitleColor(int textColorTitle) {
- mPickerOptions.textColorTitle = textColorTitle;
- return this;
- }
-
- public HCustomPickerBuilder setSubCalSize(int textSizeSubmitCancel) {
- mPickerOptions.textSizeSubmitCancel = textSizeSubmitCancel;
- return this;
- }
-
- public HCustomPickerBuilder setTitleSize(int textSizeTitle) {
- mPickerOptions.textSizeTitle = textSizeTitle;
- return this;
- }
-
- public HCustomPickerBuilder setContentTextSize(int textSizeContent) {
- mPickerOptions.textSizeContent = textSizeContent;
- return this;
- }
-
- public HCustomPickerBuilder setOutSideCancelable(boolean cancelable) {
- mPickerOptions.cancelable = cancelable;
- return this;
- }
-
-
- public HCustomPickerBuilder setLabels(String label1, String label2, String label3) {
- mPickerOptions.label1 = label1;
- mPickerOptions.label2 = label2;
- mPickerOptions.label3 = label3;
- return this;
- }
-
- /**
- * 设置Item 的间距倍数,用于控制 Item 高度间隔
- *
- * @param lineSpacingMultiplier 浮点型,1.0-4.0f 之间有效,超过则取极值。
- */
- public HCustomPickerBuilder setLineSpacingMultiplier(float lineSpacingMultiplier) {
- mPickerOptions.lineSpacingMultiplier = lineSpacingMultiplier;
- return this;
- }
-
- /**
- * Set item divider line type color.
- *
- * @param dividerColor color resId.
- */
- public HCustomPickerBuilder setDividerColor(int dividerColor) {
- mPickerOptions.dividerColor = dividerColor;
- return this;
- }
-
-// /**
-// * Set item divider line type.
-// *
-// * @param dividerType enum Type {@link WheelView.DividerType}
-// */
-// public HCustomPickerBuilder setDividerType(WheelView.DividerType dividerType) {
-// mPickerOptions.dividerType = dividerType;
-// return this;
-// }
-
- /**
- * Set the textColor of selected item.
- *
- * @param textColorCenter color res.
- */
- public HCustomPickerBuilder setTextColorCenter(int textColorCenter) {
- mPickerOptions.textColorCenter = textColorCenter;
- return this;
- }
-
- /**
- * Set the textColor of outside item.
- *
- * @param textColorOut color resId.
- */
- public HCustomPickerBuilder setTextColorOut(int textColorOut) {
- mPickerOptions.textColorOut = textColorOut;
- return this;
- }
-
- public HCustomPickerBuilder setTypeface(Typeface font) {
- mPickerOptions.font = font;
- return this;
- }
-
- public HCustomPickerBuilder setCyclic(boolean cyclic1, boolean cyclic2, boolean cyclic3) {
- mPickerOptions.cyclic1 = cyclic1;
- mPickerOptions.cyclic2 = cyclic2;
- mPickerOptions.cyclic3 = cyclic3;
- return this;
- }
-
- public HCustomPickerBuilder setSelectOptions(int option1) {
- mPickerOptions.option1 = option1;
- return this;
- }
-
- public HCustomPickerBuilder setSelectOptions(int option1, int option2) {
- mPickerOptions.option1 = option1;
- mPickerOptions.option2 = option2;
- return this;
- }
-
- public HCustomPickerBuilder setSelectOptions(int option1, int option2, int option3) {
- mPickerOptions.option1 = option1;
- mPickerOptions.option2 = option2;
- mPickerOptions.option3 = option3;
- return this;
- }
-
- public HCustomPickerBuilder setTextXOffset(int xoffset_one, int xoffset_two, int xoffset_three) {
- mPickerOptions.x_offset_one = xoffset_one;
- mPickerOptions.x_offset_two = xoffset_two;
- mPickerOptions.x_offset_three = xoffset_three;
- return this;
- }
-
- public HCustomPickerBuilder isCenterLabel(boolean isCenterLabel) {
- mPickerOptions.isCenterLabel = isCenterLabel;
- return this;
- }
-
- /**
- * 切换选项时,是否还原第一项
- *
- * @param isRestoreItem true:还原; false: 保持上一个选项
- * @return TimePickerBuilder
- */
- public HCustomPickerBuilder isRestoreItem(boolean isRestoreItem) {
- mPickerOptions.isRestoreItem = isRestoreItem;
- return this;
- }
-
- /**
- * @param listener 切换item项滚动停止时,实时回调监听。
- * @return
- */
- public HCustomPickerBuilder setOptionsSelectChangeListener(OnOptionsSelectChangeListener listener) {
- mPickerOptions.optionsSelectChangeListener = listener;
- return this;
- }
-
-
- public HCustomPickerView build() {
- return new HCustomPickerView<>(mPickerOptions);
- }
-
- public HCustomPickerBuilder setDialog(int i, int i1) {
- return null;
- }
-}
diff --git a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/widget/views/HCustomPickerView.java b/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/widget/views/HCustomPickerView.java
deleted file mode 100755
index 4b92938..0000000
--- a/cm_utils/src/main/java/com/sucstepsoft/cm_utils/core/widget/views/HCustomPickerView.java
+++ /dev/null
@@ -1,187 +0,0 @@
-package com.sucstepsoft.cm_utils.core.widget.views;
-
-import android.content.Context;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.widget.Button;
-import android.widget.LinearLayout;
-import android.widget.RelativeLayout;
-import android.widget.TextView;
-
-import com.bigkoo.pickerview.configure.PickerOptions;
-import com.bigkoo.pickerview.view.WheelOptions;
-import com.sucstepsoft.cm_utils.R;
-
-import java.util.List;
-
-public class HCustomPickerView extends BaseCustomHPickerView implements View.OnClickListener {
- private WheelOptions wheelOptions;
-
- private static final String TAG_SUBMIT = "submit";
- private static final String TAG_CANCEL = "cancel";
-
- public HCustomPickerView(PickerOptions pickerOptions) {
- super(pickerOptions.context);
- mPickerOptions = pickerOptions;
- initView(pickerOptions.context);
- }
-
-
- private void initView(Context context) {
- setDialogOutSideCancelable();
- initViews();
- initAnim();
- initEvents();
- if (mPickerOptions.customListener == null) {
- LayoutInflater.from(context).inflate(mPickerOptions.layoutRes, contentContainer);
-
- //顶部标题
- TextView tvTitle = (TextView) findViewById(R.id.tvTitle);
- RelativeLayout rv_top_bar = (RelativeLayout) findViewById(R.id.rv_topbar);
-
- //确定和取消按钮
- Button btnSubmit = (Button) findViewById(R.id.btnSubmit);
- Button btnCancel = (Button) findViewById(R.id.btnCancel);
-
- btnSubmit.setTag(TAG_SUBMIT);
- btnCancel.setTag(TAG_CANCEL);
- btnSubmit.setOnClickListener(this);
- btnCancel.setOnClickListener(this);
-
- //设置文字
- btnSubmit.setText(TextUtils.isEmpty(mPickerOptions.textContentConfirm) ? context.getResources().getString(R.string.pickerview_submit) : mPickerOptions.textContentConfirm);
- btnCancel.setText(TextUtils.isEmpty(mPickerOptions.textContentCancel) ? context.getResources().getString(R.string.pickerview_cancel) : mPickerOptions.textContentCancel);
- tvTitle.setText(TextUtils.isEmpty(mPickerOptions.textContentTitle) ? "" : mPickerOptions.textContentTitle);//默认为空
-
- //设置color
- btnSubmit.setTextColor(mPickerOptions.textColorConfirm);
- btnCancel.setTextColor(mPickerOptions.textColorCancel);
- tvTitle.setTextColor(mPickerOptions.textColorTitle);
- rv_top_bar.setBackgroundColor(mPickerOptions.bgColorTitle);
-
- //设置文字大小
- btnSubmit.setTextSize(mPickerOptions.textSizeSubmitCancel);
- btnCancel.setTextSize(mPickerOptions.textSizeSubmitCancel);
- tvTitle.setTextSize(mPickerOptions.textSizeTitle);
- } else {
- mPickerOptions.customListener.customLayout(LayoutInflater.from(context).inflate(mPickerOptions.layoutRes, contentContainer));
- }
-
- // ----滚轮布局
- final LinearLayout optionsPicker = (LinearLayout) findViewById(R.id.optionspicker);
- optionsPicker.setBackgroundColor(mPickerOptions.bgColorWheel);
-
- wheelOptions = new WheelOptions(optionsPicker, mPickerOptions.isRestoreItem);
- if (mPickerOptions.optionsSelectChangeListener != null) {
- wheelOptions.setOptionsSelectChangeListener(mPickerOptions.optionsSelectChangeListener);
- }
-
- wheelOptions.setTextContentSize(mPickerOptions.textSizeContent);
- wheelOptions.setLabels(mPickerOptions.label1, mPickerOptions.label2, mPickerOptions.label3);
- wheelOptions.setTextXOffset(mPickerOptions.x_offset_one, mPickerOptions.x_offset_two, mPickerOptions.x_offset_three);
- wheelOptions.setCyclic(mPickerOptions.cyclic1, mPickerOptions.cyclic2, mPickerOptions.cyclic3);
- wheelOptions.setTypeface(mPickerOptions.font);
-
- setOutSideCancelable(mPickerOptions.cancelable);
-
- wheelOptions.setDividerColor(mPickerOptions.dividerColor);
-// wheelOptions.setDividerType(mPickerOptions.dividerType);
- wheelOptions.setLineSpacingMultiplier(mPickerOptions.lineSpacingMultiplier);
- wheelOptions.setTextColorOut(mPickerOptions.textColorOut);
- wheelOptions.setTextColorCenter(mPickerOptions.textColorCenter);
- wheelOptions.isCenterLabel(mPickerOptions.isCenterLabel);
- }
-
- /**
- * 动态设置标题
- *
- * @param text 标题文本内容
- */
- public void setTitleText(String text) {
- TextView tvTitle = (TextView) findViewById(R.id.tvTitle);
- if (tvTitle != null) {
- tvTitle.setText(text);
- }
- }
-
- /**
- * 设置默认选中项
- *
- * @param option1
- */
- public void setSelectOptions(int option1) {
- mPickerOptions.option1 = option1;
- reSetCurrentItems();
- }
-
-
- public void setSelectOptions(int option1, int option2) {
- mPickerOptions.option1 = option1;
- mPickerOptions.option2 = option2;
- reSetCurrentItems();
- }
-
- public void setSelectOptions(int option1, int option2, int option3) {
- mPickerOptions.option1 = option1;
- mPickerOptions.option2 = option2;
- mPickerOptions.option3 = option3;
- reSetCurrentItems();
- }
-
- private void reSetCurrentItems() {
- if (wheelOptions != null) {
- wheelOptions.setCurrentItems(mPickerOptions.option1, mPickerOptions.option2, mPickerOptions.option3);
- }
- }
-
- public void setPicker(List optionsItems) {
- this.setPicker(optionsItems, null, null);
- }
-
- public void setPicker(List options1Items, List> options2Items) {
- this.setPicker(options1Items, options2Items, null);
- }
-
- public void setPicker(List options1Items,
- List> options2Items,
- List>> options3Items) {
-
- wheelOptions.setPicker(options1Items, options2Items, options3Items);
- reSetCurrentItems();
- }
-
-
- //不联动情况下调用
- public void setNPicker(List options1Items,
- List options2Items,
- List options3Items) {
-
- wheelOptions.setLinkage(false);
- wheelOptions.setNPicker(options1Items, options2Items, options3Items);
- reSetCurrentItems();
- }
-
- @Override
- public void onClick(View v) {
- String tag = (String) v.getTag();
- if (tag.equals(TAG_SUBMIT)) {
- returnData();
- }
- dismiss();
- }
-
- //抽离接口回调的方法
- public void returnData() {
- if (mPickerOptions.optionsSelectListener != null) {
- int[] optionsCurrentItems = wheelOptions.getCurrentItems();
- mPickerOptions.optionsSelectListener.onOptionsSelect(optionsCurrentItems[0], optionsCurrentItems[1], optionsCurrentItems[2], clickView);
- }
- }
-
-
- @Override
- public boolean isDialog() {
- return mPickerOptions.isDialog;
- }
-}
diff --git a/cm_utils/src/main/res/drawable-xhdpi/ic_cb_checked.png b/cm_utils/src/main/res/drawable-xhdpi/ic_cb_checked.png
new file mode 100644
index 0000000..fec766e
Binary files /dev/null and b/cm_utils/src/main/res/drawable-xhdpi/ic_cb_checked.png differ
diff --git a/cm_utils/src/main/res/drawable-xhdpi/ic_cb_unchecked.png b/cm_utils/src/main/res/drawable-xhdpi/ic_cb_unchecked.png
new file mode 100644
index 0000000..dd6618d
Binary files /dev/null and b/cm_utils/src/main/res/drawable-xhdpi/ic_cb_unchecked.png differ
diff --git a/cm_utils/src/main/res/drawable-xhdpi/ic_divid_line_bottom.png b/cm_utils/src/main/res/drawable-xhdpi/ic_divid_line_bottom.png
new file mode 100644
index 0000000..bc02cf1
Binary files /dev/null and b/cm_utils/src/main/res/drawable-xhdpi/ic_divid_line_bottom.png differ
diff --git a/cm_utils/src/main/res/drawable-xhdpi/ic_edit_icon.png b/cm_utils/src/main/res/drawable-xhdpi/ic_edit_icon.png
new file mode 100644
index 0000000..d691718
Binary files /dev/null and b/cm_utils/src/main/res/drawable-xhdpi/ic_edit_icon.png differ
diff --git a/cm_utils/src/main/res/drawable/sel_radio_checkbox.xml b/cm_utils/src/main/res/drawable/sel_radio_checkbox.xml
new file mode 100755
index 0000000..238163e
--- /dev/null
+++ b/cm_utils/src/main/res/drawable/sel_radio_checkbox.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/cm_utils/src/main/res/layout/layout_custom_loading_dialog.xml b/cm_utils/src/main/res/layout/layout_custom_loading_dialog.xml
index 021666e..db5016f 100755
--- a/cm_utils/src/main/res/layout/layout_custom_loading_dialog.xml
+++ b/cm_utils/src/main/res/layout/layout_custom_loading_dialog.xml
@@ -19,8 +19,8 @@
@@ -32,7 +32,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
- android:layout_marginTop="5dp"
+ android:layout_marginTop="10dp"
android:layout_marginBottom="5dp"
android:textColor="@color/white"
android:textSize="15sp"
diff --git a/moduleactivity/build.gradle b/moduleactivity/build.gradle
index 71a2a57..448b5cf 100755
--- a/moduleactivity/build.gradle
+++ b/moduleactivity/build.gradle
@@ -62,7 +62,7 @@ dependencies {
//butterknife
annotationProcessor "com.jakewharton:butterknife-compiler:${rootProject.ext.gButterKnifeVersion}"
//选择器
- implementation "com.contrarywind:Android-PickerView:${rootProject.ext.pickerViewVersion}"
+ implementation "com.contrarywind:Android-PickerView:${rootProject.ext.gPickerViewVersion}"
implementation "com.contrarywind:wheelview:${rootProject.ext.wheelVersion}"
//gson
implementation "com.google.code.gson:gson:${rootProject.ext.supportGson}"
diff --git a/modulecultural/build.gradle b/modulecultural/build.gradle
index b9a196e..88cea39 100755
--- a/modulecultural/build.gradle
+++ b/modulecultural/build.gradle
@@ -66,7 +66,7 @@ dependencies {
//butterknife
annotationProcessor "com.jakewharton:butterknife-compiler:${rootProject.ext.gButterKnifeVersion}"
//选择器
- implementation "com.contrarywind:Android-PickerView:${rootProject.ext.pickerViewVersion}"
+ implementation "com.contrarywind:Android-PickerView:${rootProject.ext.gPickerViewVersion}"
implementation "com.contrarywind:wheelview:${rootProject.ext.wheelVersion}"
//gson
implementation "com.google.code.gson:gson:${rootProject.ext.supportGson}"
diff --git a/modulemain/build.gradle b/modulemain/build.gradle
index 065b803..c300a17 100755
--- a/modulemain/build.gradle
+++ b/modulemain/build.gradle
@@ -72,7 +72,7 @@ dependencies {
//butterknife
annotationProcessor "com.jakewharton:butterknife-compiler:${rootProject.ext.gButterKnifeVersion}"
//选择器
- implementation "com.contrarywind:Android-PickerView:${rootProject.ext.pickerViewVersion}"
+ implementation "com.contrarywind:Android-PickerView:${rootProject.ext.gPickerViewVersion}"
//gson
implementation "com.google.code.gson:gson:${rootProject.ext.supportGson}"
//glide
diff --git a/modulemap/build.gradle b/modulemap/build.gradle
index 9bee002..b96abee 100755
--- a/modulemap/build.gradle
+++ b/modulemap/build.gradle
@@ -63,7 +63,7 @@ dependencies {
//butterknife
annotationProcessor "com.jakewharton:butterknife-compiler:${rootProject.ext.gButterKnifeVersion}"
//选择器
- implementation "com.contrarywind:Android-PickerView:${rootProject.ext.pickerViewVersion}"
+ implementation "com.contrarywind:Android-PickerView:${rootProject.ext.gPickerViewVersion}"
//gson
implementation "com.google.code.gson:gson:${rootProject.ext.supportGson}"
//glide
diff --git a/modulemine/build.gradle b/modulemine/build.gradle
index 4692110..c67282b 100755
--- a/modulemine/build.gradle
+++ b/modulemine/build.gradle
@@ -58,7 +58,7 @@ dependencies {
//butterknife
annotationProcessor "com.jakewharton:butterknife-compiler:${rootProject.ext.gButterKnifeVersion}"
//选择器
- implementation "com.contrarywind:Android-PickerView:${rootProject.ext.pickerViewVersion}"
+ implementation "com.contrarywind:Android-PickerView:${rootProject.ext.gPickerViewVersion}"
implementation "com.contrarywind:wheelview:${rootProject.ext.wheelVersion}"
//gson
implementation "com.google.code.gson:gson:${rootProject.ext.supportGson}"
diff --git a/modulemine/src/main/java/com/tengshisoft/modulemine/fragments/MineMainFragment.java b/modulemine/src/main/java/com/tengshisoft/modulemine/fragments/MineMainFragment.java
index b8d9f76..51c558b 100755
--- a/modulemine/src/main/java/com/tengshisoft/modulemine/fragments/MineMainFragment.java
+++ b/modulemine/src/main/java/com/tengshisoft/modulemine/fragments/MineMainFragment.java
@@ -78,8 +78,18 @@ public class MineMainFragment extends BaseFragment {
TypeFaceTextView mTvNickName;
private Unbinder mBind;
private List mFuncBeans = new ArrayList<>();
- private String[] mTitles = new String[]{"我的分享", "我的活动", "我的志愿团队", "我的志愿活动", "我的订单", "我的收藏", "设置"};
- private int[] mIcons = new int[]{R.drawable.ic_mine_activity, R.drawable.ic_mine_activity, R.drawable.ic_mine_team, R.drawable.ic_mine_order_icon, R.drawable.ic_mine_order, R.drawable.ic_mine_collect_icon, R.drawable.ic_mine_setting_icon};
+ private String[] mTitles = new String[]{"我的分享", "我的活动", "我的志愿团队", "我的志愿活动", "我的场馆订单", "我的收藏", "收货地址", "购物车",
+ "我的商城订单", "设置"};
+ private int[] mIcons = new int[]{R.drawable.ic_mine_activity,
+ R.drawable.ic_mine_activity,
+ R.drawable.ic_mine_team,
+ R.drawable.ic_mine_order_icon,
+ R.drawable.ic_mine_order,
+ R.drawable.ic_mine_collect_icon,
+ R.drawable.ic_mine_shop_address,
+ R.drawable.ic_mine_shipping_car,
+ R.drawable.ic_mine_order_list,
+ R.drawable.ic_mine_setting_icon};
@Override
protected void setDataToView(View dataView) {
@@ -163,6 +173,15 @@ public class MineMainFragment extends BaseFragment {
case "我的分享":
pagePath = PathConfig.PATH_MODULE_CULTURAL_ACTIVITY_SHARE_MINE_LIST;
break;
+ case "收货地址":
+ pagePath= PathConfig.PATH_MODULE_SHOP_ACTIVITY_SHOP_ADDRESS;
+ break;
+ case "购物车":
+ pagePath=PathConfig.PATH_MODULE_SHOP_ACTIVITY_SHOP_CAR;
+ break;
+ case "我的商城订单":
+ pagePath=PathConfig.PATH_MODULE_SHOP_ACTIVITY_SHOP_MINE_ORDER;
+ break;
}
ARouter.getInstance()
.build(pagePath).navigation();
@@ -176,7 +195,8 @@ public class MineMainFragment extends BaseFragment {
private String mPhotoPath;
private void checkPhotoPermission() {
- PermissionUtils.permission(PermissionConstants.CAMERA, PermissionConstants.STORAGE, PermissionConstants.MICROPHONE)
+ PermissionUtils.permission(PermissionConstants.CAMERA, PermissionConstants.STORAGE,
+ PermissionConstants.MICROPHONE)
.callback(new PermissionUtils.SimpleCallback() {
@Override
public void onGranted() {
@@ -285,7 +305,8 @@ public class MineMainFragment extends BaseFragment {
@Override
public void onSuccess(File file) {
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
- MultipartBody.Part body = MultipartBody.Part.createFormData("image", file.getName(), requestFile);
+ MultipartBody.Part body = MultipartBody.Part.createFormData("image", file.getName(),
+ requestFile);
RetrofitManager.getInstance()
.create(BaseApiService.class)
.uploadImgToUserCenter(body, UserLgUtils.getToken())
diff --git a/modulemine/src/main/res/drawable-xhdpi/ic_mine_order_list.png b/modulemine/src/main/res/drawable-xhdpi/ic_mine_order_list.png
new file mode 100644
index 0000000..c41db10
Binary files /dev/null and b/modulemine/src/main/res/drawable-xhdpi/ic_mine_order_list.png differ
diff --git a/modulemine/src/main/res/drawable-xhdpi/ic_mine_shipping_car.png b/modulemine/src/main/res/drawable-xhdpi/ic_mine_shipping_car.png
new file mode 100644
index 0000000..32f56b4
Binary files /dev/null and b/modulemine/src/main/res/drawable-xhdpi/ic_mine_shipping_car.png differ
diff --git a/modulemine/src/main/res/drawable-xhdpi/ic_mine_shop_address.png b/modulemine/src/main/res/drawable-xhdpi/ic_mine_shop_address.png
new file mode 100644
index 0000000..28ee160
Binary files /dev/null and b/modulemine/src/main/res/drawable-xhdpi/ic_mine_shop_address.png differ
diff --git a/moduleplace/build.gradle b/moduleplace/build.gradle
index 37f619d..1e98b96 100755
--- a/moduleplace/build.gradle
+++ b/moduleplace/build.gradle
@@ -55,7 +55,7 @@ dependencies {
//butterknife
annotationProcessor "com.jakewharton:butterknife-compiler:${rootProject.ext.gButterKnifeVersion}"
//选择器
- implementation "com.contrarywind:Android-PickerView:${rootProject.ext.pickerViewVersion}"
+ implementation "com.contrarywind:Android-PickerView:${rootProject.ext.gPickerViewVersion}"
//gson
implementation "com.google.code.gson:gson:${rootProject.ext.supportGson}"
//glide
diff --git a/moduleshop/build.gradle b/moduleshop/build.gradle
index 59ba647..5fc5619 100644
--- a/moduleshop/build.gradle
+++ b/moduleshop/build.gradle
@@ -60,7 +60,7 @@ dependencies {
//butterknife
annotationProcessor "com.jakewharton:butterknife-compiler:${rootProject.ext.gButterKnifeVersion}"
//选择器
- implementation "com.contrarywind:Android-PickerView:${rootProject.ext.pickerViewVersion}"
+ implementation "com.contrarywind:Android-PickerView:${rootProject.ext.gPickerViewVersion}"
//gson
implementation "com.google.code.gson:gson:${rootProject.ext.supportGson}"
//glide
diff --git a/moduleshop/src/main/AndroidManifest.xml b/moduleshop/src/main/AndroidManifest.xml
index a6d4484..793ee9d 100644
--- a/moduleshop/src/main/AndroidManifest.xml
+++ b/moduleshop/src/main/AndroidManifest.xml
@@ -1,24 +1,45 @@
+ package="com.tenlionsoft.moduleshop">
+
+
+
+
+
+
+
+
+ mCarDatas = new ArrayList<>();
+ private List mDatas = new ArrayList<>();
+ private OrderConfirmGoodsAdapter mAdapter;
+ private ShippingAddressBean mAddressBean;
+
+ @Override
+ protected int setLayoutId() {
+ return R.layout.activity_order_confirm;
+ }
+
+ @Override
+ public void initData() {
+ ButterKnife.bind(this);
+ mTvBaseTitle.setText("订单确认");
+ mAdapter = new OrderConfirmGoodsAdapter(mActivity, mDatas);
+ mRlvGoods.setLayoutManager(new LinearLayoutManager(mActivity));
+ mRlvGoods.setAdapter(mAdapter);
+ mLlChooseAddress.setOnClickListener(v -> ARouter.getInstance()
+ .build(PathConfig.PATH_MODULE_SHOP_ACTIVITY_SHOP_ADDRESS)
+ .withInt("type", 1)//选择地址
+ .navigation(mActivity, 13));
+ getDefaultAddress();
+ parserShopCar();
+ }
+
+ /**
+ * 获取默认地址
+ */
+ private void getDefaultAddress() {
+ RetrofitManager.getInstance()
+ .create(ShopApi.class)
+ .getDefaultAddress(UserLgUtils.getToken())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(ShippingAddressBean shippingAddressBean) {
+ setAddress(shippingAddressBean);
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ ExceptionHandler.handleException(e);
+ e.printStackTrace();
+ refreshView(STATE_LOAD_ERROR);
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ private void setAddress(ShippingAddressBean b) {
+ refreshView(STATE_LOAD_SUCCESS);
+ mAddressBean = b;
+ mTvAddressArea.setText(b.getAreaName());
+ mTvAddressContent.setText(b.getShopAddressContent());
+ mTvName.setText(b.getShopAddressName() + " " + b.getShopAddressPhone());
+ }
+
+ private void parserShopCar() {
+ try {
+ String shopCar = UserLgUtils.getShopCar();
+ if (!TextUtils.isEmpty(shopCar)) {
+ Gson gson = new Gson();
+ Type type = new TypeToken>() {
+ }.getType();
+ mCarDatas = gson.fromJson(shopCar, type);
+ LogUtils.e("购物车数据===" + mCarDatas);
+ if (mCarDatas != null && mCarDatas.size() > 0) {
+ for (int i = 0; i < mCarDatas.size(); i++) {
+ ShopGoodsDetailBean bean = mCarDatas.get(i);
+ if (bean.isCheck()) {
+ mDatas.add(bean);
+ }
+ }
+ countPrice();
+ mAdapter.setData(mDatas);
+ } else {
+ refreshView(STATE_LOAD_ERROR);
+ mTvErrorHint.setText("系统错误,请重新提交");
+ }
+ } else {
+ refreshView(STATE_LOAD_ERROR);
+ mTvErrorHint.setText("系统错误,请重新提交");
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * 计算总价
+ */
+ private void countPrice() {
+ double price = 0.0;
+ for (int i = 0; i < mDatas.size(); i++) {
+ price += (mDatas.get(i).getCarAmount() * mDatas.get(i).getGoodsPrice());
+ }
+ mTvPrice.setText(price + "");
+ }
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ if (requestCode == 13) {
+ if (resultCode == RESULT_OK) {
+ ShippingAddressBean addressBean = (ShippingAddressBean) data.getSerializableExtra("bean");
+ LogUtils.e(addressBean);
+ setAddress(addressBean);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/activitys/ShippingAddressActivity.java b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/activitys/ShippingAddressActivity.java
new file mode 100644
index 0000000..fa607fa
--- /dev/null
+++ b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/activitys/ShippingAddressActivity.java
@@ -0,0 +1,193 @@
+package com.tenlionsoft.moduleshop.activitys;
+
+import android.app.ProgressDialog;
+import android.content.Intent;
+import android.view.View;
+import android.widget.LinearLayout;
+
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.alibaba.android.arouter.facade.annotation.Route;
+import com.alibaba.android.arouter.launcher.ARouter;
+import com.sucstepsoft.cm_utils.constant.PathConfig;
+import com.sucstepsoft.cm_utils.core.beans.BaseSuccessBean;
+import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager;
+import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity;
+import com.sucstepsoft.cm_utils.utils.ExceptionHandler;
+import com.sucstepsoft.cm_utils.utils.UIUtil;
+import com.sucstepsoft.cm_utils.utils.UserLgUtils;
+import com.sucstepsoft.cm_utils.utils.toast.ToastUtils;
+import com.tenlionsoft.moduleshop.R;
+import com.tenlionsoft.moduleshop.R2;
+import com.tenlionsoft.moduleshop.adapter.ShippingAddressAdapter;
+import com.tenlionsoft.moduleshop.beans.ShippingAddressBean;
+import com.tenlionsoft.moduleshop.net.ShopApi;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+import io.reactivex.Observer;
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.disposables.Disposable;
+import io.reactivex.schedulers.Schedulers;
+
+/**
+ * 收货地址
+ */
+@Route(path = PathConfig.PATH_MODULE_SHOP_ACTIVITY_SHOP_ADDRESS)
+public class ShippingAddressActivity extends BaseActivity {
+
+ @BindView(R2.id.ll_empty_h)
+ LinearLayout mLlEmptyH;
+ @BindView(R2.id.rlv_address)
+ RecyclerView mRlvAddress;
+ @BindView(R2.id.ll_add_address)
+ LinearLayout mLlAddAddress;
+ private int mType;//1选择 2查看
+ private List mDatas = new ArrayList<>();
+ private ShippingAddressAdapter mAdapter;
+ private ShippingAddressBean mCurrentBean;
+
+ @Override
+ protected int setLayoutId() {
+ return R.layout.activity_shipping_address;
+ }
+
+ @Override
+ public void initData() {
+ ButterKnife.bind(this);
+ mTvBaseTitle.setText("收货地址");
+ refreshView(STATE_LOAD_SUCCESS);
+ mType = getIntent().getIntExtra("type", 2);
+ mAdapter = new ShippingAddressAdapter(mActivity, mDatas);
+ mRlvAddress.setLayoutManager(new LinearLayoutManager(mActivity));
+ mRlvAddress.setAdapter(mAdapter);
+ mLlAddAddress.setOnClickListener(v -> ARouter.getInstance()
+ .build(PathConfig.PATH_MODULE_SHOP_ACTIVITY_SHOP_ADD_ADDRESS)
+ .navigation(mActivity, 12));
+ if (mType == 1) {
+ mTvPublish.setVisibility(View.VISIBLE);
+ mTvPublish.setText("确定");
+ mTvPublish.setOnClickListener(v -> {
+ Intent intent = new Intent();
+ intent.putExtra("bean", mCurrentBean);
+ setResult(RESULT_OK, intent);
+ finish();
+ });
+ } else {
+ mTvPublish.setVisibility(View.GONE);
+ }
+ //选择
+ mAdapter.addOnItemSelectListener((b, i) -> setAddressDefault(b));
+ //
+ mAdapter.addOnEditListener((b, i) -> ARouter.getInstance()
+ .build(PathConfig.PATH_MODULE_SHOP_ACTIVITY_SHOP_ADD_ADDRESS)
+ .withSerializable("bean", mCurrentBean)
+ .withInt("type", 3)
+ .navigation(mActivity, 12));
+ getAddressList();
+ }
+
+ /**
+ * 设置默认地址
+ */
+ private void setAddressDefault(ShippingAddressBean b) {
+ ProgressDialog dialog = UIUtil.initDialog(mActivity, "设置中...");
+ dialog.show();
+ RetrofitManager.getInstance()
+ .create(ShopApi.class)
+ .doSetDefaultAddress(b.getShopAddressId(), UserLgUtils.getToken())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(BaseSuccessBean baseSuccessBean) {
+ dialog.dismiss();
+ ToastUtils.show("设置成功");
+ getAddressList();
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ dialog.dismiss();
+ ExceptionHandler.handleException(e);
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ /**
+ * 获取地址列表
+ */
+ private void getAddressList() {
+ ProgressDialog dialog = UIUtil.initDialog(mActivity, "加载中...");
+ dialog.show();
+ RetrofitManager.getInstance()
+ .create(ShopApi.class)
+ .getShippingAddressList(UserLgUtils.getToken())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(List shippingAddressBeans) {
+ dialog.dismiss();
+ if (shippingAddressBeans.size() > 0) {
+ mDatas = shippingAddressBeans;
+ mLlEmptyH.setVisibility(View.GONE);
+ mRlvAddress.setVisibility(View.VISIBLE);
+ for (int i = 0; i < mDatas.size(); i++) {
+ ShippingAddressBean bean = mDatas.get(i);
+ if ("1".equals(bean.getShopAddressDefault())) {
+ mCurrentBean = bean;
+ break;
+ }
+ }
+ mAdapter.setData(mDatas);
+ } else {
+ mLlEmptyH.setVisibility(View.VISIBLE);
+ mRlvAddress.setVisibility(View.GONE);
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ dialog.dismiss();
+ ExceptionHandler.handleException(e);
+ refreshView(STATE_LOAD_ERROR);
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ if (requestCode == 12) {
+ if (resultCode == RESULT_OK) {
+ getAddressList();
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/activitys/ShopAddAddressActivity.java b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/activitys/ShopAddAddressActivity.java
new file mode 100644
index 0000000..ffc957d
--- /dev/null
+++ b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/activitys/ShopAddAddressActivity.java
@@ -0,0 +1,578 @@
+package com.tenlionsoft.moduleshop.activitys;
+
+import android.app.ProgressDialog;
+import android.graphics.Color;
+import android.text.TextUtils;
+import android.widget.EditText;
+import android.widget.LinearLayout;
+
+import com.alibaba.android.arouter.facade.annotation.Route;
+import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
+import com.bigkoo.pickerview.view.OptionsPickerView;
+import com.google.gson.Gson;
+import com.sucstepsoft.cm_utils.constant.PathConfig;
+import com.sucstepsoft.cm_utils.core.beans.AreaBean;
+import com.sucstepsoft.cm_utils.core.beans.BaseSuccessBean;
+import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager;
+import com.sucstepsoft.cm_utils.core.retrofit_net.api.BaseApiService;
+import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity;
+import com.sucstepsoft.cm_utils.core.widget.views.TypeFaceTextView;
+import com.sucstepsoft.cm_utils.utils.ExceptionHandler;
+import com.sucstepsoft.cm_utils.utils.UIUtil;
+import com.sucstepsoft.cm_utils.utils.UserLgUtils;
+import com.sucstepsoft.cm_utils.utils.toast.ToastUtils;
+import com.tenlionsoft.moduleshop.R;
+import com.tenlionsoft.moduleshop.R2;
+import com.tenlionsoft.moduleshop.beans.SaveAddressBean;
+import com.tenlionsoft.moduleshop.beans.ShippingAddressBean;
+import com.tenlionsoft.moduleshop.net.ShopApi;
+
+import java.util.List;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+import io.reactivex.Observer;
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.disposables.Disposable;
+import io.reactivex.schedulers.Schedulers;
+import okhttp3.MediaType;
+import okhttp3.RequestBody;
+
+/**
+ * 添加或编辑收货地址
+ */
+
+@Route(path = PathConfig.PATH_MODULE_SHOP_ACTIVITY_SHOP_ADD_ADDRESS)
+public class ShopAddAddressActivity extends BaseActivity {
+ @BindView(R2.id.tv_area1)
+ TypeFaceTextView mTvArea1;
+ @BindView(R2.id.tv_area2)
+ TypeFaceTextView mTvArea2;
+ @BindView(R2.id.tv_area3)
+ TypeFaceTextView mTvArea3;
+ @BindView(R2.id.tv_area4)
+ TypeFaceTextView mTvArea4;
+ @BindView(R2.id.et_detail)
+ EditText mEtDetail;
+ @BindView(R2.id.et_name)
+ EditText mEtName;
+ @BindView(R2.id.et_phone)
+ EditText mEtPhone;
+ @BindView(R2.id.et_zipcode)
+ EditText mEtZipCode;
+ @BindView(R2.id.ll_confirm)
+ LinearLayout mLlConfirm;
+ private int mType;
+ private ShippingAddressBean mBean;
+
+ private AreaBean mSelArea1;
+ private AreaBean mSelArea2;
+ private AreaBean mSelArea3;
+ private AreaBean mSelArea4;
+ private List mArea1;
+ private List mArea2;
+ private List mArea3;
+ private List mArea4;
+ private OptionsPickerView mArea1Picker;
+ private OptionsPickerView mArea2Picker;
+ private OptionsPickerView mArea3Picker;
+ private OptionsPickerView mArea4Picker;
+
+
+ @Override
+ protected int setLayoutId() {
+ return R.layout.activity_shop_add_address;
+ }
+
+ @Override
+ public void initData() {
+ ButterKnife.bind(this);
+ mTvBaseTitle.setText("收货地址");
+ refreshView(STATE_LOAD_SUCCESS);
+ mType = getIntent().getIntExtra("type", 2);
+ if (2 == mType) {
+ //新增
+ mLlConfirm.setOnClickListener(v -> doSaveAddress());
+ } else {
+ //编辑
+ mBean = (ShippingAddressBean) getIntent().getSerializableExtra("bean");
+ setDetailBean();
+ mLlConfirm.setOnClickListener(v -> doUpdateAddress());
+ }
+ mTvArea1.setOnClickListener(v -> onShowArea1());
+ mTvArea2.setOnClickListener(v -> onShowArea2());
+ mTvArea3.setOnClickListener(v -> onShowArea3());
+ mTvArea4.setOnClickListener(v -> onShowArea4());
+ }
+
+
+ private void setDetailBean() {
+ String[] s = mBean.getAreaName().split(" ");
+ mTvArea1.setText(s[0]);
+ mTvArea2.setText(s[1]);
+ mTvArea3.setText(s[2]);
+ mTvArea4.setText(s[3]);
+ mSelArea4 = new AreaBean();
+ mSelArea4.setAreaId(mBean.getAreaId());
+ mSelArea4.setAreaCode(mBean.getAreaCode());
+ mSelArea4.setAreaName(mBean.getAreaName());
+ mEtName.setText(mBean.getShopAddressName());
+ mEtPhone.setText(mBean.getShopAddressPhone());
+ mEtZipCode.setText(mBean.getShopAddressZipcode());
+ mEtDetail.setText(mBean.getShopAddressContent());
+ getArea4Detail();
+ }
+
+
+ private void getAreaList(String areaId, int type) {
+ ProgressDialog dialog = UIUtil.initDialog(mActivity, "加载中...");
+ dialog.show();
+ RetrofitManager.getInstance()
+ .create(BaseApiService.class)
+ .getArea(areaId)
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer>() {
+ @Override
+ public void onSubscribe(Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(List areaBeans) {
+ dialog.dismiss();
+ switch (type) {
+ case 1:
+ mArea1 = areaBeans;
+ onShowArea1();
+ break;
+ case 2:
+ mArea2 = areaBeans;
+ onShowArea2();
+ break;
+ case 3:
+ mArea3 = areaBeans;
+ onShowArea3();
+ break;
+ case 4:
+ mArea4 = areaBeans;
+ onShowArea4();
+ break;
+ }
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ dialog.dismiss();
+ ExceptionHandler.handleException(e);
+ e.printStackTrace();
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+
+ private void onShowArea1() {
+ if (mArea1 != null && mArea1.size() > 0) {
+ mArea1Picker = new OptionsPickerBuilder(mActivity, (options1, options2, options3, v) -> {
+ mSelArea1 = mArea1.get(options1);
+ mTvArea1.setText(mSelArea1.getAreaName());
+ mArea2 = null;
+ mSelArea2 = null;
+ mTvArea2.setText("");
+
+ mArea3 = null;
+ mSelArea3 = null;
+ mTvArea3.setText("");
+
+ mArea4 = null;
+ mSelArea4 = null;
+ mTvArea4.setText("");
+
+ }).setTitleText("请选择")
+ .setCancelColor(Color.parseColor("#1189FF"))
+ .setSubmitColor(Color.parseColor("#1189FF"))
+ .setTitleColor(Color.parseColor("#1189FF"))
+ .build();
+ mArea1Picker.setPicker(mArea1);
+ mArea1Picker.show();
+ } else {
+ if (mArea1 == null) {
+ getAreaList("0", 1);
+ } else {
+ ToastUtils.showShort("暂无数据");
+ }
+ }
+ }
+
+ private void onShowArea2() {
+ if (mArea2 != null && mArea2.size() > 0) {
+ mArea2Picker = new OptionsPickerBuilder(mActivity, (options1, options2, options3, v) -> {
+ mSelArea2 = mArea2.get(options1);
+ mTvArea2.setText(mSelArea2.getAreaName());
+
+ mArea3 = null;
+ mSelArea3 = null;
+ mTvArea3.setText("");
+
+ mArea4 = null;
+ mSelArea4 = null;
+ mTvArea4.setText("");
+
+ }).setTitleText("请选择")
+ .setCancelColor(Color.parseColor("#1189FF"))
+ .setSubmitColor(Color.parseColor("#1189FF"))
+ .setTitleColor(Color.parseColor("#1189FF"))
+ .build();
+ mArea2Picker.setPicker(mArea2);
+ mArea2Picker.show();
+ } else {
+ if (mArea2 == null) {
+ if (mSelArea1 == null) {
+ ToastUtils.show("请选省份");
+ } else {
+ getAreaList(mSelArea1.getAreaId(), 2);
+ }
+ } else {
+ ToastUtils.showShort("暂无数据");
+ }
+ }
+ }
+
+ private void onShowArea3() {
+ if (mArea3 != null && mArea3.size() > 0) {
+ mArea3Picker = new OptionsPickerBuilder(mActivity, (options1, options2, options3, v) -> {
+ mSelArea3 = mArea3.get(options1);
+ mTvArea3.setText(mSelArea3.getAreaName());
+
+ mArea4 = null;
+ mSelArea4 = null;
+ mTvArea4.setText("");
+ }).setTitleText("请选择")
+ .setCancelColor(Color.parseColor("#1189FF"))
+ .setSubmitColor(Color.parseColor("#1189FF"))
+ .setTitleColor(Color.parseColor("#1189FF"))
+ .build();
+ mArea3Picker.setPicker(mArea3);
+ mArea3Picker.show();
+ } else {
+ if (mArea3 == null) {
+ if (mSelArea2 == null) {
+ ToastUtils.show("请选择市");
+ } else {
+ getAreaList(mSelArea2.getAreaId(), 3);
+ }
+ } else {
+ ToastUtils.showShort("暂无数据");
+ }
+ }
+ }
+
+ private void onShowArea4() {
+ if (mArea4 != null && mArea4.size() > 0) {
+ mArea4Picker = new OptionsPickerBuilder(mActivity, (options1, options2, options3, v) -> {
+ mSelArea4 = mArea4.get(options1);
+ mTvArea4.setText(mSelArea4.getAreaName());
+ }).setTitleText("请选择")
+ .setCancelColor(Color.parseColor("#1189FF"))
+ .setSubmitColor(Color.parseColor("#1189FF"))
+ .setTitleColor(Color.parseColor("#1189FF"))
+ .build();
+ mArea4Picker.setPicker(mArea4);
+ mArea4Picker.show();
+ } else {
+ if (mArea4 == null) {
+ if (mSelArea3 != null) {
+ getAreaList(mSelArea3.getAreaId(), 4);
+ } else {
+ ToastUtils.show("请选择县区");
+ }
+ } else {
+ ToastUtils.showShort("暂无数据");
+ }
+ }
+ }
+
+ private boolean checkParams() {
+ if (mSelArea1 == null) {
+ ToastUtils.show("请选择省份");
+ return false;
+ }
+
+ if (mSelArea2 == null) {
+ ToastUtils.show("请选择市");
+ return false;
+ }
+ if (mSelArea3 == null) {
+ ToastUtils.show("请选择区县");
+ return false;
+ }
+ if (mSelArea4 == null) {
+ ToastUtils.show("请选择乡镇、街道");
+ return false;
+ }
+ String detail = mEtDetail.getText().toString().trim();
+ if (TextUtils.isEmpty(detail)) {
+ ToastUtils.show("请输入详细地址");
+ return false;
+ }
+ String name = mEtName.getText().toString().trim();
+ if (TextUtils.isEmpty(name)) {
+ ToastUtils.show("请输入收货人姓名");
+ return false;
+ }
+ String phone = mEtPhone.getText().toString().trim();
+ if (TextUtils.isEmpty(phone)) {
+ ToastUtils.show("请输入联系方式");
+ return false;
+ }
+
+ return true;
+ }
+
+
+ private RequestBody buildParams() {
+ SaveAddressBean bean = new SaveAddressBean();
+ bean.setAreaCode(mSelArea4.getAreaCode());
+ bean.setAreaId(mSelArea4.getAreaId());
+ StringBuilder sb = new StringBuilder();
+ sb.append(mSelArea1.getAreaName());
+ sb.append(" ");
+ sb.append(mSelArea2.getAreaName());
+ sb.append(" ");
+ sb.append(mSelArea3.getAreaName());
+ sb.append(" ");
+ sb.append(mSelArea4.getAreaName());
+ bean.setAreaName(sb.toString());
+ String detail = mEtDetail.getText().toString().trim();
+ String name = mEtName.getText().toString().trim();
+ String phone = mEtPhone.getText().toString().trim();
+ bean.setShopAddressContent(detail);
+ bean.setShopAddressName(name);
+ bean.setShopAddressPhone(phone);
+ String zipcode = mEtZipCode.getText().toString().trim();
+ bean.setShopAddressZipcode(zipcode);
+ Gson gson = new Gson();
+ String obj = gson.toJson(bean);
+ RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), obj);
+ return body;
+ }
+
+ /**
+ * 更新地址
+ */
+ private void doUpdateAddress() {
+ if (checkParams()) {
+ ProgressDialog dialog = UIUtil.initDialog(mActivity, "保存中...");
+ dialog.show();
+ RequestBody body = buildParams();
+ RetrofitManager.getInstance()
+ .create(ShopApi.class)
+ .doEditAddress(body, mBean.getShopAddressId(), UserLgUtils.getToken())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(BaseSuccessBean baseSuccessBean) {
+ dialog.dismiss();
+ ToastUtils.show("更新成功");
+ setResult(RESULT_OK);
+ finish();
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ dialog.dismiss();
+ ExceptionHandler.handleException(e);
+ e.printStackTrace();
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ }
+
+ /**
+ * 新增地址
+ */
+ private void doSaveAddress() {
+ if (checkParams()) {
+ ProgressDialog dialog = UIUtil.initDialog(mActivity, "保存中...");
+ dialog.show();
+ RequestBody body = buildParams();
+ RetrofitManager.getInstance()
+ .create(ShopApi.class)
+ .doSaveAddress(body, UserLgUtils.getToken())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(BaseSuccessBean baseSuccessBean) {
+ dialog.dismiss();
+ ToastUtils.show("新增成功");
+ setResult(RESULT_OK);
+ finish();
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ dialog.dismiss();
+ ExceptionHandler.handleException(e);
+ e.printStackTrace();
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ }
+
+ private void getArea1Detail(ProgressDialog dialog) {
+ RetrofitManager.getInstance()
+ .create(BaseApiService.class)
+ .getAreaDetail(mSelArea2.getAreaParentId())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(AreaBean areaBeans) {
+ mSelArea1 = areaBeans;
+ dialog.dismiss();
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ refreshView(STATE_LOAD_ERROR);
+ dialog.dismiss();
+ ExceptionHandler.handleException(e);
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ private void getArea2Detail(ProgressDialog dialog) {
+ RetrofitManager.getInstance()
+ .create(BaseApiService.class)
+ .getAreaDetail(mSelArea3.getAreaParentId())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(AreaBean areaBeans) {
+ mSelArea2 = areaBeans;
+ getArea1Detail(dialog);
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ refreshView(STATE_LOAD_ERROR);
+ dialog.dismiss();
+ ExceptionHandler.handleException(e);
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ private void getArea3Detail(ProgressDialog dialog) {
+ RetrofitManager.getInstance()
+ .create(BaseApiService.class)
+ .getAreaDetail(mSelArea4.getAreaParentId())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(AreaBean areaBeans) {
+ mSelArea3 = areaBeans;
+ getArea2Detail(dialog);
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ refreshView(STATE_LOAD_ERROR);
+ dialog.dismiss();
+ ExceptionHandler.handleException(e);
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
+ private void getArea4Detail() {
+ ProgressDialog dialog = UIUtil.initDialog(mActivity, "加载中...");
+ dialog.show();
+ RetrofitManager.getInstance()
+ .create(BaseApiService.class)
+ .getAreaDetail(mSelArea4.getAreaId())
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Observer() {
+ @Override
+ public void onSubscribe(Disposable d) {
+
+ }
+
+ @Override
+ public void onNext(AreaBean areaBeans) {
+ mSelArea4 = areaBeans;
+ getArea3Detail(dialog);
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ refreshView(STATE_LOAD_ERROR);
+ dialog.dismiss();
+ ExceptionHandler.handleException(e);
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+}
\ No newline at end of file
diff --git a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/activitys/ShopCarActivity.java b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/activitys/ShopCarActivity.java
index 0178cb0..41fb965 100644
--- a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/activitys/ShopCarActivity.java
+++ b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/activitys/ShopCarActivity.java
@@ -11,6 +11,7 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.alibaba.android.arouter.facade.annotation.Route;
+import com.alibaba.android.arouter.launcher.ARouter;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.sucstepsoft.cm_utils.constant.PathConfig;
@@ -18,10 +19,10 @@ import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity;
import com.sucstepsoft.cm_utils.core.widget.views.TypeFaceTextView;
import com.sucstepsoft.cm_utils.utils.LogUtils;
import com.sucstepsoft.cm_utils.utils.UserLgUtils;
-import com.tengshisoft.moduleshop.R;
-import com.tengshisoft.moduleshop.R2;
+import com.sucstepsoft.cm_utils.utils.toast.ToastUtils;
+import com.tenlionsoft.moduleshop.R;
+import com.tenlionsoft.moduleshop.R2;
import com.tenlionsoft.moduleshop.adapter.CarGoodsAdapter;
-import com.tenlionsoft.moduleshop.beans.CustomCarBean;
import com.tenlionsoft.moduleshop.beans.ShopGoodsDetailBean;
import java.lang.reflect.Type;
@@ -45,7 +46,6 @@ public class ShopCarActivity extends BaseActivity {
@BindView(R2.id.tv_confirm)
TypeFaceTextView mTvConfirm;
private List mCarDatas = new ArrayList<>();
- private List mDatas;
private CarGoodsAdapter mAdapter;
@Override
@@ -57,7 +57,6 @@ public class ShopCarActivity extends BaseActivity {
public void initData() {
ButterKnife.bind(this);
mTvBaseTitle.setText("购物车");
- mDatas = new ArrayList<>();
mAdapter = new CarGoodsAdapter(mActivity, mCarDatas);
mRlvCar.setLayoutManager(new LinearLayoutManager(mActivity));
mRlvCar.setAdapter(mAdapter);
@@ -119,7 +118,23 @@ public class ShopCarActivity extends BaseActivity {
* 提交订单
*/
private void doSaveOrder() {
-
+ boolean flag = false;
+ for (int i = 0; i < mCarDatas.size(); i++) {
+ ShopGoodsDetailBean bean = mCarDatas.get(i);
+ if (bean.isCheck()) {
+ flag = true;
+ break;
+ }
+ }
+ if (flag) {
+ toSaveLocalData();
+ finish();
+ ARouter.getInstance()
+ .build(PathConfig.PATH_MODULE_SHOP_ACTIVITY_SHOP_ORDER_CONFIRM)
+ .navigation();
+ } else {
+ ToastUtils.show("请选择要购买的商品");
+ }
}
diff --git a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/CarGoodsAdapter.java b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/CarGoodsAdapter.java
index f60283f..7839e58 100644
--- a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/CarGoodsAdapter.java
+++ b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/CarGoodsAdapter.java
@@ -11,7 +11,7 @@ import com.bumptech.glide.request.RequestOptions;
import com.sucstepsoft.cm_utils.core.retrofit_net.BaseUrlApi;
import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter;
import com.sucstepsoft.cm_utils.core.widget.views.AddOrDelView;
-import com.tengshisoft.moduleshop.R;
+import com.tenlionsoft.moduleshop.R;
import com.tenlionsoft.moduleshop.beans.ShopGoodsDetailBean;
import com.tenlionsoft.moduleshop.holder.CarGoodsHolder;
diff --git a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/GoodsCarAdapter.java b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/GoodsCarAdapter.java
index 1d5814c..3408c45 100644
--- a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/GoodsCarAdapter.java
+++ b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/GoodsCarAdapter.java
@@ -8,7 +8,7 @@ import android.view.ViewGroup;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter;
-import com.tengshisoft.moduleshop.R;
+import com.tenlionsoft.moduleshop.R;
import com.tenlionsoft.moduleshop.beans.CustomCarBean;
import com.tenlionsoft.moduleshop.beans.ShopGoodsDetailBean;
import com.tenlionsoft.moduleshop.holder.GoodsCarHolder;
diff --git a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/GoodsStandardAdapter.java b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/GoodsStandardAdapter.java
index ab67130..02861ea 100644
--- a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/GoodsStandardAdapter.java
+++ b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/GoodsStandardAdapter.java
@@ -10,7 +10,7 @@ import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
import com.sucstepsoft.cm_utils.core.retrofit_net.BaseUrlApi;
import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter;
-import com.tengshisoft.moduleshop.R;
+import com.tenlionsoft.moduleshop.R;
import com.tenlionsoft.moduleshop.beans.GoodsStandardBean;
import com.tenlionsoft.moduleshop.holder.GoodsStandardHolder;
diff --git a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/OrderConfirmGoodsAdapter.java b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/OrderConfirmGoodsAdapter.java
new file mode 100644
index 0000000..ece9eae
--- /dev/null
+++ b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/OrderConfirmGoodsAdapter.java
@@ -0,0 +1,84 @@
+package com.tenlionsoft.moduleshop.adapter;
+
+import android.content.Context;
+import android.text.Html;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
+import com.sucstepsoft.cm_utils.core.retrofit_net.BaseUrlApi;
+import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter;
+import com.tenlionsoft.moduleshop.R;
+import com.tenlionsoft.moduleshop.beans.ShopGoodsDetailBean;
+import com.tenlionsoft.moduleshop.holder.OrderConfirmGoodsHolder;
+
+import java.util.List;
+
+/**
+ * 确认订单商品适配器
+ */
+public class OrderConfirmGoodsAdapter extends BaseRecyclerAdapter {
+
+ public OrderConfirmGoodsAdapter(Context ctx, List list) {
+ super(ctx, list);
+ }
+
+ @Override
+ public OrderConfirmGoodsHolder createHolder(ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(mContext).inflate(R.layout.item_order_confirm_goods, parent, false);
+ return new OrderConfirmGoodsHolder(view);
+ }
+
+ @Override
+ public void bindHolder(OrderConfirmGoodsHolder h, int i) {
+ ShopGoodsDetailBean bean = mData.get(i);
+ h.mTvName.setText(Html.fromHtml(bean.getGoodsName()));
+ Glide.with(mContext)
+ .load(BaseUrlApi.BASE_SHOP_IMG_URL + bean.getGoodsIcon())
+ .apply(new RequestOptions()
+ .placeholder(R.drawable.ic_img_default)
+ .error(R.drawable.ic_img_default))
+ .into(h.mIvIcon);
+ h.mTvPrice.setText("¥ " + bean.getGoodsPrice());
+ h.mTvSales.setText("销量:" + bean.getGoodsSalesVolume() + "");
+ h.mTvFreight.setText("1".equals(bean.getGoodsNotFreight()) ? "不包邮" : "包邮");
+ h.mTvEvaluate.setText("评分:" + bean.getGoodStar() + "");
+ h.mTvGoodsStandard.setText(bean.getGoodsStandarName());
+ h.mTvCount.setText("数量:" + bean.getCarAmount());
+
+ }
+
+ public OnItemC mOnItemC;
+
+ public void addItemC(OnItemC c) {
+ this.mOnItemC = c;
+ }
+
+ public interface OnItemC {
+ void onItemC(ShopGoodsDetailBean bean, int i);
+ }
+
+ protected OnCheckListener mOnCheckListener;
+
+ public void addCheckListener(OnCheckListener clickLis) {
+ this.mOnCheckListener = clickLis;
+ }
+
+ public interface OnCheckListener {
+ void onClick(ShopGoodsDetailBean b, int i, boolean check);
+ }
+
+
+ protected OnClickLis mOnClickLis;
+
+ public void addClick(OnClickLis clickLis) {
+ this.mOnClickLis = clickLis;
+ }
+
+ public interface OnClickLis {
+ void onClick(ShopGoodsDetailBean b, int i);
+ }
+
+}
diff --git a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/ShippingAddressAdapter.java b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/ShippingAddressAdapter.java
new file mode 100644
index 0000000..09dc9f4
--- /dev/null
+++ b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/ShippingAddressAdapter.java
@@ -0,0 +1,67 @@
+package com.tenlionsoft.moduleshop.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter;
+import com.tenlionsoft.moduleshop.R;
+import com.tenlionsoft.moduleshop.beans.ShippingAddressBean;
+import com.tenlionsoft.moduleshop.holder.ShippingAddressHolder;
+
+import java.util.List;
+
+/**
+ * 收货地址
+ */
+public class ShippingAddressAdapter extends BaseRecyclerAdapter {
+
+ public ShippingAddressAdapter(Context ctx, List list) {
+ super(ctx, list);
+ }
+
+ @Override
+ public ShippingAddressHolder createHolder(ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(mContext).inflate(R.layout.item_shipping_address, parent, false);
+ return new ShippingAddressHolder(view);
+ }
+
+ @Override
+ public void bindHolder(ShippingAddressHolder h, int i) {
+ ShippingAddressBean b = mData.get(i);
+ h.mTvAddressArea.setText(b.getAreaName());
+ h.mTvAddressContent.setText(b.getShopAddressContent());
+ h.mTvName.setText(b.getShopAddressName() + " " + b.getShopAddressPhone());
+ if ("1".equals(b.getShopAddressDefault())) {
+ h.mIvDefault.setVisibility(View.VISIBLE);
+ } else {
+ h.mIvDefault.setVisibility(View.GONE);
+ }
+ h.mIvEdit.setOnClickListener(v -> mEditListener.onEdit(b, i));
+ h.mLlContent.setOnClickListener(v -> mItemSelectListener.onSelect(b, i));
+ }
+
+ private OnEditListener mEditListener;
+
+ public void addOnEditListener(OnEditListener listener) {
+ this.mEditListener = listener;
+ }
+
+ public interface OnEditListener {
+ void onEdit(ShippingAddressBean b, int i);
+ }
+
+
+ private OnItemSelectListener mItemSelectListener;
+
+ public void addOnItemSelectListener(OnItemSelectListener listener) {
+ this.mItemSelectListener = listener;
+ }
+
+ public interface OnItemSelectListener {
+ void onSelect(ShippingAddressBean b, int i);
+ }
+
+
+}
diff --git a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/ShopGoodsAdapter.java b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/ShopGoodsAdapter.java
index 49df36f..4c09483 100644
--- a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/ShopGoodsAdapter.java
+++ b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/ShopGoodsAdapter.java
@@ -10,7 +10,7 @@ import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
import com.sucstepsoft.cm_utils.core.retrofit_net.BaseUrlApi;
import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter;
-import com.tengshisoft.moduleshop.R;
+import com.tenlionsoft.moduleshop.R;
import com.tenlionsoft.moduleshop.beans.GoodsListBean;
import com.tenlionsoft.moduleshop.holder.GoodsHolder;
diff --git a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/ShopSortAdapter.java b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/ShopSortAdapter.java
index 3ff2ca6..c1a87a4 100644
--- a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/ShopSortAdapter.java
+++ b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/ShopSortAdapter.java
@@ -9,7 +9,7 @@ import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
import com.sucstepsoft.cm_utils.core.retrofit_net.BaseUrlApi;
import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter;
-import com.tengshisoft.moduleshop.R;
+import com.tenlionsoft.moduleshop.R;
import com.tenlionsoft.moduleshop.beans.ShopSortListBean;
import com.tenlionsoft.moduleshop.holder.ShopSortHolder;
diff --git a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/ShopSortExAdapter.java b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/ShopSortExAdapter.java
index 5370c4f..9f7e72c 100644
--- a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/ShopSortExAdapter.java
+++ b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/ShopSortExAdapter.java
@@ -8,7 +8,7 @@ import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.TextView;
-import com.tengshisoft.moduleshop.R;
+import com.tenlionsoft.moduleshop.R;
import com.tenlionsoft.moduleshop.beans.ShopSortListBean;
import java.util.List;
diff --git a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/ShopSortOneAdapter.java b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/ShopSortOneAdapter.java
index b5a4df1..8f5e7b3 100644
--- a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/ShopSortOneAdapter.java
+++ b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/ShopSortOneAdapter.java
@@ -7,7 +7,7 @@ import android.view.View;
import android.view.ViewGroup;
import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter;
-import com.tengshisoft.moduleshop.R;
+import com.tenlionsoft.moduleshop.R;
import com.tenlionsoft.moduleshop.beans.ShopSortListBean;
import com.tenlionsoft.moduleshop.holder.ShopSortOneHolder;
diff --git a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/ShopSortSecondAdapter.java b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/ShopSortSecondAdapter.java
index 173f9fe..c207281 100644
--- a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/ShopSortSecondAdapter.java
+++ b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/adapter/ShopSortSecondAdapter.java
@@ -7,12 +7,8 @@ import android.view.ViewGroup;
import androidx.recyclerview.widget.GridLayoutManager;
-import com.bumptech.glide.Glide;
-import com.bumptech.glide.RequestBuilder;
-import com.bumptech.glide.request.RequestOptions;
-import com.sucstepsoft.cm_utils.core.retrofit_net.BaseUrlApi;
import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter;
-import com.tengshisoft.moduleshop.R;
+import com.tenlionsoft.moduleshop.R;
import com.tenlionsoft.moduleshop.beans.ShopSortListBean;
import com.tenlionsoft.moduleshop.holder.ShopSortSecondHolder;
diff --git a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/beans/OrderListBean.java b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/beans/OrderListBean.java
new file mode 100644
index 0000000..555e1bf
--- /dev/null
+++ b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/beans/OrderListBean.java
@@ -0,0 +1,790 @@
+package com.tenlionsoft.moduleshop.beans;
+
+import java.util.List;
+
+public class OrderListBean {
+
+ private int page;
+ private List rows;
+ private int total;
+
+ public int getPage() {
+ return page;
+ }
+
+ public void setPage(int page) {
+ this.page = page;
+ }
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
+
+ public int getTotal() {
+ return total;
+ }
+
+ public void setTotal(int total) {
+ this.total = total;
+ }
+
+ public static class RowsBean {
+ private int amountFinalMoney;
+ private int amountFinalTotalMoney;
+ private int amountMoney;
+ private String cancelData;
+ private String cancelDataTitle;
+ private String cancelRemark;
+ private String cancelTime;
+ private String cancelType;
+ private String chargeOrderStatus;
+ private String chargeOrderTime;
+ private String creator;
+ private String evaluateExpress;
+ private String evaluateService;
+ private String evaluateTime;
+ private String expressAddress;
+ private String expressAreaCode;
+ private String expressCompany;
+ private String expressCompanyName;
+ private int expressFinalMoney;
+ private int expressMoney;
+ private String expressName;
+ private String expressNo;
+ private String expressPhone;
+ private String gmtCreate;
+ private String gmtModified;
+ private int isCancel;
+ private int isDelete;
+ private String modifier;
+ private List orderDetailList;
+ private String orderFinalTime;
+ private String orderId;
+ private String orderNo;
+ private String orderNumber;
+ private String orderQrcode;
+ private int orderStatus;
+ private String orderStatusMsg;
+ private String orderTimeStatus;
+ private String orderType;
+ private String shopId;
+ private String shopLogo;
+ private String shopName;
+ private String shopWords;
+ private String words;
+
+ public int getAmountFinalMoney() {
+ return amountFinalMoney;
+ }
+
+ public void setAmountFinalMoney(int amountFinalMoney) {
+ this.amountFinalMoney = amountFinalMoney;
+ }
+
+ public int getAmountFinalTotalMoney() {
+ return amountFinalTotalMoney;
+ }
+
+ public void setAmountFinalTotalMoney(int amountFinalTotalMoney) {
+ this.amountFinalTotalMoney = amountFinalTotalMoney;
+ }
+
+ public int getAmountMoney() {
+ return amountMoney;
+ }
+
+ public void setAmountMoney(int amountMoney) {
+ this.amountMoney = amountMoney;
+ }
+
+ public String getCancelData() {
+ return cancelData;
+ }
+
+ public void setCancelData(String cancelData) {
+ this.cancelData = cancelData;
+ }
+
+ public String getCancelDataTitle() {
+ return cancelDataTitle;
+ }
+
+ public void setCancelDataTitle(String cancelDataTitle) {
+ this.cancelDataTitle = cancelDataTitle;
+ }
+
+ public String getCancelRemark() {
+ return cancelRemark;
+ }
+
+ public void setCancelRemark(String cancelRemark) {
+ this.cancelRemark = cancelRemark;
+ }
+
+ public String getCancelTime() {
+ return cancelTime;
+ }
+
+ public void setCancelTime(String cancelTime) {
+ this.cancelTime = cancelTime;
+ }
+
+ public String getCancelType() {
+ return cancelType;
+ }
+
+ public void setCancelType(String cancelType) {
+ this.cancelType = cancelType;
+ }
+
+ public String getChargeOrderStatus() {
+ return chargeOrderStatus;
+ }
+
+ public void setChargeOrderStatus(String chargeOrderStatus) {
+ this.chargeOrderStatus = chargeOrderStatus;
+ }
+
+ public String getChargeOrderTime() {
+ return chargeOrderTime;
+ }
+
+ public void setChargeOrderTime(String chargeOrderTime) {
+ this.chargeOrderTime = chargeOrderTime;
+ }
+
+ public String getCreator() {
+ return creator;
+ }
+
+ public void setCreator(String creator) {
+ this.creator = creator;
+ }
+
+ public String getEvaluateExpress() {
+ return evaluateExpress;
+ }
+
+ public void setEvaluateExpress(String evaluateExpress) {
+ this.evaluateExpress = evaluateExpress;
+ }
+
+ public String getEvaluateService() {
+ return evaluateService;
+ }
+
+ public void setEvaluateService(String evaluateService) {
+ this.evaluateService = evaluateService;
+ }
+
+ public String getEvaluateTime() {
+ return evaluateTime;
+ }
+
+ public void setEvaluateTime(String evaluateTime) {
+ this.evaluateTime = evaluateTime;
+ }
+
+ public String getExpressAddress() {
+ return expressAddress;
+ }
+
+ public void setExpressAddress(String expressAddress) {
+ this.expressAddress = expressAddress;
+ }
+
+ public String getExpressAreaCode() {
+ return expressAreaCode;
+ }
+
+ public void setExpressAreaCode(String expressAreaCode) {
+ this.expressAreaCode = expressAreaCode;
+ }
+
+ public String getExpressCompany() {
+ return expressCompany;
+ }
+
+ public void setExpressCompany(String expressCompany) {
+ this.expressCompany = expressCompany;
+ }
+
+ public String getExpressCompanyName() {
+ return expressCompanyName;
+ }
+
+ public void setExpressCompanyName(String expressCompanyName) {
+ this.expressCompanyName = expressCompanyName;
+ }
+
+ public int getExpressFinalMoney() {
+ return expressFinalMoney;
+ }
+
+ public void setExpressFinalMoney(int expressFinalMoney) {
+ this.expressFinalMoney = expressFinalMoney;
+ }
+
+ public int getExpressMoney() {
+ return expressMoney;
+ }
+
+ public void setExpressMoney(int expressMoney) {
+ this.expressMoney = expressMoney;
+ }
+
+ public String getExpressName() {
+ return expressName;
+ }
+
+ public void setExpressName(String expressName) {
+ this.expressName = expressName;
+ }
+
+ public String getExpressNo() {
+ return expressNo;
+ }
+
+ public void setExpressNo(String expressNo) {
+ this.expressNo = expressNo;
+ }
+
+ public String getExpressPhone() {
+ return expressPhone;
+ }
+
+ public void setExpressPhone(String expressPhone) {
+ this.expressPhone = expressPhone;
+ }
+
+ public String getGmtCreate() {
+ return gmtCreate;
+ }
+
+ public void setGmtCreate(String gmtCreate) {
+ this.gmtCreate = gmtCreate;
+ }
+
+ public String getGmtModified() {
+ return gmtModified;
+ }
+
+ public void setGmtModified(String gmtModified) {
+ this.gmtModified = gmtModified;
+ }
+
+ public int getIsCancel() {
+ return isCancel;
+ }
+
+ public void setIsCancel(int isCancel) {
+ this.isCancel = isCancel;
+ }
+
+ public int getIsDelete() {
+ return isDelete;
+ }
+
+ public void setIsDelete(int isDelete) {
+ this.isDelete = isDelete;
+ }
+
+ public String getOdifier() {
+ return modifier;
+ }
+
+ public void setOdifier(String odifier) {
+ modifier = odifier;
+ }
+
+ public List getOrderDetailList() {
+ return orderDetailList;
+ }
+
+ public void setOrderDetailList(List orderDetailList) {
+ this.orderDetailList = orderDetailList;
+ }
+
+ public String getOrderFinalTime() {
+ return orderFinalTime;
+ }
+
+ public void setOrderFinalTime(String orderFinalTime) {
+ this.orderFinalTime = orderFinalTime;
+ }
+
+ public String getOrderId() {
+ return orderId;
+ }
+
+ public void setOrderId(String orderId) {
+ this.orderId = orderId;
+ }
+
+ public String getOrderNo() {
+ return orderNo;
+ }
+
+ public void setOrderNo(String orderNo) {
+ this.orderNo = orderNo;
+ }
+
+ public String getOrderNumber() {
+ return orderNumber;
+ }
+
+ public void setOrderNumber(String orderNumber) {
+ this.orderNumber = orderNumber;
+ }
+
+ public String getOrderQrcode() {
+ return orderQrcode;
+ }
+
+ public void setOrderQrcode(String orderQrcode) {
+ this.orderQrcode = orderQrcode;
+ }
+
+ public int getOrderStatus() {
+ return orderStatus;
+ }
+
+ public void setOrderStatus(int orderStatus) {
+ this.orderStatus = orderStatus;
+ }
+
+ public String getOrderStatusMsg() {
+ return orderStatusMsg;
+ }
+
+ public void setOrderStatusMsg(String orderStatusMsg) {
+ this.orderStatusMsg = orderStatusMsg;
+ }
+
+ public String getOrderTimeStatus() {
+ return orderTimeStatus;
+ }
+
+ public void setOrderTimeStatus(String orderTimeStatus) {
+ this.orderTimeStatus = orderTimeStatus;
+ }
+
+ public String getOrderType() {
+ return orderType;
+ }
+
+ public void setOrderType(String orderType) {
+ this.orderType = orderType;
+ }
+
+ public String getShopId() {
+ return shopId;
+ }
+
+ public void setShopId(String shopId) {
+ this.shopId = shopId;
+ }
+
+ public String getShopLogo() {
+ return shopLogo;
+ }
+
+ public void setShopLogo(String shopLogo) {
+ this.shopLogo = shopLogo;
+ }
+
+ public String getShopName() {
+ return shopName;
+ }
+
+ public void setShopName(String shopName) {
+ this.shopName = shopName;
+ }
+
+ public String getShopWords() {
+ return shopWords;
+ }
+
+ public void setShopWords(String shopWords) {
+ this.shopWords = shopWords;
+ }
+
+ public String getWords() {
+ return words;
+ }
+
+ public void setWords(String words) {
+ this.words = words;
+ }
+
+ public static class OrderDetailListBean {
+ private String creator;
+ private String gmtCreate;
+ private String gmtModified;
+ private String goodsId;
+ private int goodsItemCount;
+ private String goodsItemId;
+ private String goodsItemName;
+ private int goodsItemPrice;
+ private String goodsItemUnit;
+ private String goodsLogo;
+ private String goodsName;
+ private int isDelete;
+ private String isService;
+ private String modifier;
+ private String orderDetailComment;
+ private String orderDetailEvaluate;
+ private String orderDetailEvaluateTime;
+ private String orderDetailId;
+ private String orderDetailImage;
+ private String orderId;
+ private String serviceId;
+ private List serviceList;
+ private String serviceType;
+ private int totalFinalPrice;
+ private int totalPrice;
+
+ public String getCreator() {
+ return creator;
+ }
+
+ public void setCreator(String creator) {
+ this.creator = creator;
+ }
+
+ public String getGmtCreate() {
+ return gmtCreate;
+ }
+
+ public void setGmtCreate(String gmtCreate) {
+ this.gmtCreate = gmtCreate;
+ }
+
+ public String getGmtModified() {
+ return gmtModified;
+ }
+
+ public void setGmtModified(String gmtModified) {
+ this.gmtModified = gmtModified;
+ }
+
+ public String getGoodsId() {
+ return goodsId;
+ }
+
+ public void setGoodsId(String goodsId) {
+ this.goodsId = goodsId;
+ }
+
+ public int getGoodsItemCount() {
+ return goodsItemCount;
+ }
+
+ public void setGoodsItemCount(int goodsItemCount) {
+ this.goodsItemCount = goodsItemCount;
+ }
+
+ public String getGoodsItemId() {
+ return goodsItemId;
+ }
+
+ public void setGoodsItemId(String goodsItemId) {
+ this.goodsItemId = goodsItemId;
+ }
+
+ public String getGoodsItemName() {
+ return goodsItemName;
+ }
+
+ public void setGoodsItemName(String goodsItemName) {
+ this.goodsItemName = goodsItemName;
+ }
+
+ public int getGoodsItemPrice() {
+ return goodsItemPrice;
+ }
+
+ public void setGoodsItemPrice(int goodsItemPrice) {
+ this.goodsItemPrice = goodsItemPrice;
+ }
+
+ public String getGoodsItemUnit() {
+ return goodsItemUnit;
+ }
+
+ public void setGoodsItemUnit(String goodsItemUnit) {
+ this.goodsItemUnit = goodsItemUnit;
+ }
+
+ public String getGoodsLogo() {
+ return goodsLogo;
+ }
+
+ public void setGoodsLogo(String goodsLogo) {
+ this.goodsLogo = goodsLogo;
+ }
+
+ public String getGoodsName() {
+ return goodsName;
+ }
+
+ public void setGoodsName(String goodsName) {
+ this.goodsName = goodsName;
+ }
+
+ public int getIsDelete() {
+ return isDelete;
+ }
+
+ public void setIsDelete(int isDelete) {
+ this.isDelete = isDelete;
+ }
+
+ public String getIsService() {
+ return isService;
+ }
+
+ public void setIsService(String isService) {
+ this.isService = isService;
+ }
+
+ public String getOdifier() {
+ return modifier;
+ }
+
+ public void setOdifier(String odifier) {
+ modifier = odifier;
+ }
+
+ public String getOrderDetailComment() {
+ return orderDetailComment;
+ }
+
+ public void setOrderDetailComment(String orderDetailComment) {
+ this.orderDetailComment = orderDetailComment;
+ }
+
+ public String getOrderDetailEvaluate() {
+ return orderDetailEvaluate;
+ }
+
+ public void setOrderDetailEvaluate(String orderDetailEvaluate) {
+ this.orderDetailEvaluate = orderDetailEvaluate;
+ }
+
+ public String getOrderDetailEvaluateTime() {
+ return orderDetailEvaluateTime;
+ }
+
+ public void setOrderDetailEvaluateTime(String orderDetailEvaluateTime) {
+ this.orderDetailEvaluateTime = orderDetailEvaluateTime;
+ }
+
+ public String getOrderDetailId() {
+ return orderDetailId;
+ }
+
+ public void setOrderDetailId(String orderDetailId) {
+ this.orderDetailId = orderDetailId;
+ }
+
+ public String getOrderDetailImage() {
+ return orderDetailImage;
+ }
+
+ public void setOrderDetailImage(String orderDetailImage) {
+ this.orderDetailImage = orderDetailImage;
+ }
+
+ public String getOrderId() {
+ return orderId;
+ }
+
+ public void setOrderId(String orderId) {
+ this.orderId = orderId;
+ }
+
+ public String getServiceId() {
+ return serviceId;
+ }
+
+ public void setServiceId(String serviceId) {
+ this.serviceId = serviceId;
+ }
+
+ public List getServiceList() {
+ return serviceList;
+ }
+
+ public void setServiceList(List serviceList) {
+ this.serviceList = serviceList;
+ }
+
+ public String getServiceType() {
+ return serviceType;
+ }
+
+ public void setServiceType(String serviceType) {
+ this.serviceType = serviceType;
+ }
+
+ public int getTotalFinalPrice() {
+ return totalFinalPrice;
+ }
+
+ public void setTotalFinalPrice(int totalFinalPrice) {
+ this.totalFinalPrice = totalFinalPrice;
+ }
+
+ public int getTotalPrice() {
+ return totalPrice;
+ }
+
+ public void setTotalPrice(int totalPrice) {
+ this.totalPrice = totalPrice;
+ }
+
+ public static class ServiceListBean {
+ private String checkRemark;
+ private String checkTime;
+ private String createTime;
+ private String orderServiceFinalTime;
+ private String orderServiceId;
+ private String orderServiceStatus;
+ private int price;
+ private String serviceType;
+ private String serviceTypeName;
+ private String statusRemark;
+ private String step;
+ private String type0Status;
+ private String type1Status;
+ private String type2Status;
+ private String type3Status;
+
+ public String getCheckRemark() {
+ return checkRemark;
+ }
+
+ public void setCheckRemark(String checkRemark) {
+ this.checkRemark = checkRemark;
+ }
+
+ public String getCheckTime() {
+ return checkTime;
+ }
+
+ public void setCheckTime(String checkTime) {
+ this.checkTime = checkTime;
+ }
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getOrderServiceFinalTime() {
+ return orderServiceFinalTime;
+ }
+
+ public void setOrderServiceFinalTime(String orderServiceFinalTime) {
+ this.orderServiceFinalTime = orderServiceFinalTime;
+ }
+
+ public String getOrderServiceId() {
+ return orderServiceId;
+ }
+
+ public void setOrderServiceId(String orderServiceId) {
+ this.orderServiceId = orderServiceId;
+ }
+
+ public String getOrderServiceStatus() {
+ return orderServiceStatus;
+ }
+
+ public void setOrderServiceStatus(String orderServiceStatus) {
+ this.orderServiceStatus = orderServiceStatus;
+ }
+
+ public int getPrice() {
+ return price;
+ }
+
+ public void setPrice(int price) {
+ this.price = price;
+ }
+
+ public String getServiceType() {
+ return serviceType;
+ }
+
+ public void setServiceType(String serviceType) {
+ this.serviceType = serviceType;
+ }
+
+ public String getServiceTypeName() {
+ return serviceTypeName;
+ }
+
+ public void setServiceTypeName(String serviceTypeName) {
+ this.serviceTypeName = serviceTypeName;
+ }
+
+ public String getStatusRemark() {
+ return statusRemark;
+ }
+
+ public void setStatusRemark(String statusRemark) {
+ this.statusRemark = statusRemark;
+ }
+
+ public String getStep() {
+ return step;
+ }
+
+ public void setStep(String step) {
+ this.step = step;
+ }
+
+ public String getType0Status() {
+ return type0Status;
+ }
+
+ public void setType0Status(String type0Status) {
+ this.type0Status = type0Status;
+ }
+
+ public String getType1Status() {
+ return type1Status;
+ }
+
+ public void setType1Status(String type1Status) {
+ this.type1Status = type1Status;
+ }
+
+ public String getType2Status() {
+ return type2Status;
+ }
+
+ public void setType2Status(String type2Status) {
+ this.type2Status = type2Status;
+ }
+
+ public String getType3Status() {
+ return type3Status;
+ }
+
+ public void setType3Status(String type3Status) {
+ this.type3Status = type3Status;
+ }
+ }
+ }
+ }
+}
diff --git a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/beans/SaveAddressBean.java b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/beans/SaveAddressBean.java
new file mode 100644
index 0000000..ed6f312
--- /dev/null
+++ b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/beans/SaveAddressBean.java
@@ -0,0 +1,77 @@
+package com.tenlionsoft.moduleshop.beans;
+
+public class SaveAddressBean {
+
+ private String areaCode;
+ private String areaId;
+ private String areaName;
+ private String shopAddressContent; //地址详情
+ private String shopAddressDefault;//是否默认 1默认 0非默认
+ private String shopAddressName;//收货人姓名
+ private String shopAddressPhone;//收货人手机号码
+ private String shopAddressZipcode;//邮编
+
+ public String getAreaCode() {
+ return areaCode;
+ }
+
+ public void setAreaCode(String areaCode) {
+ this.areaCode = areaCode;
+ }
+
+ public String getAreaId() {
+ return areaId;
+ }
+
+ public void setAreaId(String areaId) {
+ this.areaId = areaId;
+ }
+
+ public String getAreaName() {
+ return areaName;
+ }
+
+ public void setAreaName(String areaName) {
+ this.areaName = areaName;
+ }
+
+ public String getShopAddressContent() {
+ return shopAddressContent;
+ }
+
+ public void setShopAddressContent(String shopAddressContent) {
+ this.shopAddressContent = shopAddressContent;
+ }
+
+ public String getShopAddressDefault() {
+ return shopAddressDefault;
+ }
+
+ public void setShopAddressDefault(String shopAddressDefault) {
+ this.shopAddressDefault = shopAddressDefault;
+ }
+
+ public String getShopAddressName() {
+ return shopAddressName;
+ }
+
+ public void setShopAddressName(String shopAddressName) {
+ this.shopAddressName = shopAddressName;
+ }
+
+ public String getShopAddressPhone() {
+ return shopAddressPhone;
+ }
+
+ public void setShopAddressPhone(String shopAddressPhone) {
+ this.shopAddressPhone = shopAddressPhone;
+ }
+
+ public String getShopAddressZipcode() {
+ return shopAddressZipcode;
+ }
+
+ public void setShopAddressZipcode(String shopAddressZipcode) {
+ this.shopAddressZipcode = shopAddressZipcode;
+ }
+}
diff --git a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/beans/SaveOrderBean.java b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/beans/SaveOrderBean.java
new file mode 100644
index 0000000..31c12dd
--- /dev/null
+++ b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/beans/SaveOrderBean.java
@@ -0,0 +1,73 @@
+package com.tenlionsoft.moduleshop.beans;
+
+import java.util.List;
+
+public class SaveOrderBean {
+
+ private List goodsItemList;
+ private String shopAddressId;
+ private String words;
+
+ public List getGoodsItemList() {
+ return goodsItemList;
+ }
+
+ public void setGoodsItemList(List goodsItemList) {
+ this.goodsItemList = goodsItemList;
+ }
+
+ public String getShopAddressId() {
+ return shopAddressId;
+ }
+
+ public void setShopAddressId(String shopAddressId) {
+ this.shopAddressId = shopAddressId;
+ }
+
+ public String getWords() {
+ return words;
+ }
+
+ public void setWords(String words) {
+ this.words = words;
+ }
+
+ public static class GoodsItemListBean {
+ private int count;
+ private String goodsId;
+ private String goodsItemId;
+ private int weight;
+
+ public int getCount() {
+ return count;
+ }
+
+ public void setCount(int count) {
+ this.count = count;
+ }
+
+ public String getGoodsId() {
+ return goodsId;
+ }
+
+ public void setGoodsId(String goodsId) {
+ this.goodsId = goodsId;
+ }
+
+ public String getGoodsItemId() {
+ return goodsItemId;
+ }
+
+ public void setGoodsItemId(String goodsItemId) {
+ this.goodsItemId = goodsItemId;
+ }
+
+ public int getWeight() {
+ return weight;
+ }
+
+ public void setWeight(int weight) {
+ this.weight = weight;
+ }
+ }
+}
diff --git a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/beans/ShippingAddressBean.java b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/beans/ShippingAddressBean.java
new file mode 100644
index 0000000..8d2d092
--- /dev/null
+++ b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/beans/ShippingAddressBean.java
@@ -0,0 +1,133 @@
+package com.tenlionsoft.moduleshop.beans;
+
+import java.io.Serializable;
+
+public class ShippingAddressBean implements Serializable {
+
+ private String areaCode;
+ private String areaId;
+ private String areaName;
+ private String creator;
+ private String gmtCreate;
+ private String gmtModified;
+ private int isDelete;
+ private String modifier;
+ private String shopAddressContent;
+ private String shopAddressDefault;
+ private String shopAddressId;
+ private String shopAddressName;
+ private String shopAddressPhone;
+ private String shopAddressZipcode;
+
+ public String getAreaCode() {
+ return areaCode;
+ }
+
+ public void setAreaCode(String areaCode) {
+ this.areaCode = areaCode;
+ }
+
+ public String getAreaId() {
+ return areaId;
+ }
+
+ public void setAreaId(String areaId) {
+ this.areaId = areaId;
+ }
+
+ public String getAreaName() {
+ return areaName;
+ }
+
+ public void setAreaName(String areaName) {
+ this.areaName = areaName;
+ }
+
+ public String getCreator() {
+ return creator;
+ }
+
+ public void setCreator(String creator) {
+ this.creator = creator;
+ }
+
+ public String getGmtCreate() {
+ return gmtCreate;
+ }
+
+ public void setGmtCreate(String gmtCreate) {
+ this.gmtCreate = gmtCreate;
+ }
+
+ public String getGmtModified() {
+ return gmtModified;
+ }
+
+ public void setGmtModified(String gmtModified) {
+ this.gmtModified = gmtModified;
+ }
+
+ public int getIsDelete() {
+ return isDelete;
+ }
+
+ public void setIsDelete(int isDelete) {
+ this.isDelete = isDelete;
+ }
+
+ public String getOdifier() {
+ return modifier;
+ }
+
+ public void setOdifier(String odifier) {
+ modifier = odifier;
+ }
+
+ public String getShopAddressContent() {
+ return shopAddressContent;
+ }
+
+ public void setShopAddressContent(String shopAddressContent) {
+ this.shopAddressContent = shopAddressContent;
+ }
+
+ public String getShopAddressDefault() {
+ return shopAddressDefault;
+ }
+
+ public void setShopAddressDefault(String shopAddressDefault) {
+ this.shopAddressDefault = shopAddressDefault;
+ }
+
+ public String getShopAddressId() {
+ return shopAddressId;
+ }
+
+ public void setShopAddressId(String shopAddressId) {
+ this.shopAddressId = shopAddressId;
+ }
+
+ public String getShopAddressName() {
+ return shopAddressName;
+ }
+
+ public void setShopAddressName(String shopAddressName) {
+ this.shopAddressName = shopAddressName;
+ }
+
+ public String getShopAddressPhone() {
+ return shopAddressPhone;
+ }
+
+ public void setShopAddressPhone(String shopAddressPhone) {
+ this.shopAddressPhone = shopAddressPhone;
+ }
+
+ public String getShopAddressZipcode() {
+ return shopAddressZipcode;
+ }
+
+ public void setShopAddressZipcode(String shopAddressZipcode) {
+ this.shopAddressZipcode = shopAddressZipcode;
+ }
+}
diff --git a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/fragments/ShopSortFragment.java b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/fragments/ShopSortFragment.java
index 8f7d383..53631d8 100644
--- a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/fragments/ShopSortFragment.java
+++ b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/fragments/ShopSortFragment.java
@@ -12,8 +12,8 @@ import com.sucstepsoft.cm_utils.constant.PathConfig;
import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager;
import com.sucstepsoft.cm_utils.core.widget.base.BaseFragment;
import com.sucstepsoft.cm_utils.utils.ExceptionHandler;
-import com.tengshisoft.moduleshop.R;
-import com.tengshisoft.moduleshop.R2;
+import com.tenlionsoft.moduleshop.R;
+import com.tenlionsoft.moduleshop.R2;
import com.tenlionsoft.moduleshop.adapter.ShopSortOneAdapter;
import com.tenlionsoft.moduleshop.adapter.ShopSortSecondAdapter;
import com.tenlionsoft.moduleshop.beans.ShopSortListBean;
diff --git a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/CarGoodsHolder.java b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/CarGoodsHolder.java
index f910e04..e2aa634 100644
--- a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/CarGoodsHolder.java
+++ b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/CarGoodsHolder.java
@@ -10,7 +10,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.sucstepsoft.cm_utils.core.widget.views.AddOrDelView;
import com.sucstepsoft.cm_utils.core.widget.views.TypeFaceTextView;
-import com.tengshisoft.moduleshop.R;
+import com.tenlionsoft.moduleshop.R;
/**
* 购物车中商品
diff --git a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/GoodsCarHolder.java b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/GoodsCarHolder.java
index ad8724d..5e299c9 100644
--- a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/GoodsCarHolder.java
+++ b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/GoodsCarHolder.java
@@ -6,7 +6,7 @@ import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.sucstepsoft.cm_utils.core.widget.views.TypeFaceTextView;
-import com.tengshisoft.moduleshop.R;
+import com.tenlionsoft.moduleshop.R;
/**
* 购物车列表
diff --git a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/GoodsHolder.java b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/GoodsHolder.java
index 0cd3874..7acb2f9 100644
--- a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/GoodsHolder.java
+++ b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/GoodsHolder.java
@@ -7,7 +7,7 @@ import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.sucstepsoft.cm_utils.core.widget.views.TypeFaceTextView;
-import com.tengshisoft.moduleshop.R;
+import com.tenlionsoft.moduleshop.R;
public class GoodsHolder extends RecyclerView.ViewHolder {
public ImageView mIvIcon;
diff --git a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/GoodsStandardHolder.java b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/GoodsStandardHolder.java
index 9571e61..00c423e 100644
--- a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/GoodsStandardHolder.java
+++ b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/GoodsStandardHolder.java
@@ -8,7 +8,7 @@ import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.sucstepsoft.cm_utils.core.widget.views.TypeFaceTextView;
-import com.tengshisoft.moduleshop.R;
+import com.tenlionsoft.moduleshop.R;
public class GoodsStandardHolder extends RecyclerView.ViewHolder {
public ImageView mIvIcon;
diff --git a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/OrderConfirmGoodsHolder.java b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/OrderConfirmGoodsHolder.java
new file mode 100644
index 0000000..636d175
--- /dev/null
+++ b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/OrderConfirmGoodsHolder.java
@@ -0,0 +1,39 @@
+package com.tenlionsoft.moduleshop.holder;
+
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.sucstepsoft.cm_utils.core.widget.views.TypeFaceTextView;
+import com.tenlionsoft.moduleshop.R;
+
+/**
+ * 确认订单中的商品
+ */
+public class OrderConfirmGoodsHolder extends RecyclerView.ViewHolder {
+ public ImageView mIvIcon;
+ public TypeFaceTextView mTvName;
+ public TypeFaceTextView mTvPrice;
+ public TypeFaceTextView mTvSales;
+ public TypeFaceTextView mTvEvaluate;
+ public TypeFaceTextView mTvFreight;
+ public TypeFaceTextView mTvGoodsStandard;
+ public LinearLayout mLlItem;
+ public TypeFaceTextView mTvCount;
+
+ public OrderConfirmGoodsHolder(@NonNull View itemView) {
+ super(itemView);
+ mIvIcon = itemView.findViewById(R.id.iv_goods_icon);
+ mTvName = itemView.findViewById(R.id.tv_goods_name);
+ mTvPrice = itemView.findViewById(R.id.tv_goods_price);
+ mTvSales = itemView.findViewById(R.id.tv_goods_sales);
+ mTvEvaluate = itemView.findViewById(R.id.tv_goods_evaluate);
+ mTvFreight = itemView.findViewById(R.id.tv_goods_freight);
+ mTvGoodsStandard = itemView.findViewById(R.id.tv_goods_standard);
+ mLlItem = itemView.findViewById(R.id.ll_item);
+ mTvCount = itemView.findViewById(R.id.tv_count);
+ }
+}
diff --git a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/ShippingAddressHolder.java b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/ShippingAddressHolder.java
new file mode 100644
index 0000000..3136e1a
--- /dev/null
+++ b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/ShippingAddressHolder.java
@@ -0,0 +1,33 @@
+package com.tenlionsoft.moduleshop.holder;
+
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.sucstepsoft.cm_utils.core.widget.views.TypeFaceTextView;
+import com.tenlionsoft.moduleshop.R;
+
+/**
+ * 收货地址
+ */
+public class ShippingAddressHolder extends RecyclerView.ViewHolder {
+ public ImageView mIvDefault;
+ public TypeFaceTextView mTvAddressArea;
+ public TypeFaceTextView mTvAddressContent;
+ public TypeFaceTextView mTvName;
+ public ImageView mIvEdit;
+ public LinearLayout mLlContent;
+
+ public ShippingAddressHolder(@NonNull View itemView) {
+ super(itemView);
+ mIvDefault = itemView.findViewById(R.id.iv_default);
+ mTvAddressArea = itemView.findViewById(R.id.tv_address_area);
+ mTvAddressContent = itemView.findViewById(R.id.tv_address_content);
+ mIvEdit = itemView.findViewById(R.id.iv_edit);
+ mLlContent = itemView.findViewById(R.id.ll_content);
+ mTvName = itemView.findViewById(R.id.tv_name);
+ }
+}
diff --git a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/ShopSortHolder.java b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/ShopSortHolder.java
index ef03ef5..6552b11 100644
--- a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/ShopSortHolder.java
+++ b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/ShopSortHolder.java
@@ -7,7 +7,8 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
-import com.tengshisoft.moduleshop.R;
+import com.tenlionsoft.moduleshop.R;
+
public class ShopSortHolder extends RecyclerView.ViewHolder {
public TextView mTvName;
diff --git a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/ShopSortOneHolder.java b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/ShopSortOneHolder.java
index 40d0fd1..1d54ba6 100644
--- a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/ShopSortOneHolder.java
+++ b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/ShopSortOneHolder.java
@@ -7,7 +7,8 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
-import com.tengshisoft.moduleshop.R;
+import com.tenlionsoft.moduleshop.R;
+
public class ShopSortOneHolder extends RecyclerView.ViewHolder {
public TextView mTvName;
diff --git a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/ShopSortSecondHolder.java b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/ShopSortSecondHolder.java
index abe4623..2d33aa9 100644
--- a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/ShopSortSecondHolder.java
+++ b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/holder/ShopSortSecondHolder.java
@@ -8,7 +8,8 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
-import com.tengshisoft.moduleshop.R;
+import com.tenlionsoft.moduleshop.R;
+
/**
* 二级分类
diff --git a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/net/ShopApi.java b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/net/ShopApi.java
index 4db5f76..34cb182 100644
--- a/moduleshop/src/main/java/com/tenlionsoft/moduleshop/net/ShopApi.java
+++ b/moduleshop/src/main/java/com/tenlionsoft/moduleshop/net/ShopApi.java
@@ -3,6 +3,7 @@ package com.tenlionsoft.moduleshop.net;
import com.sucstepsoft.cm_utils.core.beans.BaseSuccessBean;
import com.tenlionsoft.moduleshop.beans.GoodsListBean;
import com.tenlionsoft.moduleshop.beans.GoodsStandardBean;
+import com.tenlionsoft.moduleshop.beans.ShippingAddressBean;
import com.tenlionsoft.moduleshop.beans.ShopGoodsDetailBean;
import com.tenlionsoft.moduleshop.beans.ShopSortListBean;
@@ -15,6 +16,7 @@ import retrofit2.http.GET;
import retrofit2.http.Header;
import retrofit2.http.Headers;
import retrofit2.http.POST;
+import retrofit2.http.PUT;
import retrofit2.http.Path;
import retrofit2.http.Query;
@@ -75,4 +77,47 @@ public interface ShopApi {
@Headers({"base_url_name:shop", "Content-Type:application/json", "Accept:application/json"})
@POST("app/order/savebycart")
Observable doSaveOrder(@Body RequestBody goods, @Header("token") String token);
+
+ /**
+ * 新增收货地址
+ */
+ @Headers({"base_url_name:shop", "Content-Type:application/json", "Accept:application/json"})
+ @POST("app/shopaddress/save")
+ Observable doSaveAddress(@Body RequestBody goods, @Header("token") String token);
+
+ /**
+ * 修改收货地址
+ */
+ @Headers({"base_url_name:shop", "Content-Type:application/json", "Accept:application/json"})
+ @PUT("app/shopaddress/update/{shopAddressId}")
+ Observable doEditAddress(@Body RequestBody goods,
+ @Path("shopAddressId") String addressId,
+ @Header("token") String token);
+
+ /**
+ * 设置默认收货地址
+ */
+ @Headers({"base_url_name:shop", "Content-Type:application/json", "Accept:application/json"})
+ @PUT("app/shopaddress/updatedefault/{shopAddressId}")
+ Observable doSetDefaultAddress(@Path("shopAddressId") String id, @Header("token") String token);
+
+ /**
+ * 获取默认地址
+ */
+ @Headers({"base_url_name:shop", "Content-Type:application/json", "Accept:application/json"})
+ @GET("app/shopaddress/getdefault")
+ Observable getDefaultAddress(@Header("token") String token);
+
+
+ /**
+ * 收货地址列表
+ */
+ @Headers({"base_url_name:shop", "Content-Type:application/json", "Accept:application/json"})
+ @GET("app/shopaddress/list")
+ Observable> getShippingAddressList(@Header("token") String token);
+ /**
+ * 我的订单
+ * app/order/listpage
+ */
+
}
diff --git a/moduleshop/src/main/res/layout/activity_order_confirm.xml b/moduleshop/src/main/res/layout/activity_order_confirm.xml
new file mode 100644
index 0000000..4ae9fff
--- /dev/null
+++ b/moduleshop/src/main/res/layout/activity_order_confirm.xml
@@ -0,0 +1,150 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/moduleshop/src/main/res/layout/activity_shipping_address.xml b/moduleshop/src/main/res/layout/activity_shipping_address.xml
new file mode 100644
index 0000000..513c71c
--- /dev/null
+++ b/moduleshop/src/main/res/layout/activity_shipping_address.xml
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/moduleshop/src/main/res/layout/activity_shop_add_address.xml b/moduleshop/src/main/res/layout/activity_shop_add_address.xml
new file mode 100644
index 0000000..9394507
--- /dev/null
+++ b/moduleshop/src/main/res/layout/activity_shop_add_address.xml
@@ -0,0 +1,286 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/moduleshop/src/main/res/layout/item_car_goods.xml b/moduleshop/src/main/res/layout/item_car_goods.xml
index f5f3960..b7ef42b 100644
--- a/moduleshop/src/main/res/layout/item_car_goods.xml
+++ b/moduleshop/src/main/res/layout/item_car_goods.xml
@@ -11,7 +11,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
- android:button="@drawable/sel_checkbox_red"
+ android:button="@drawable/sel_radio_checkbox"
android:enabled="false" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/moduleshop/src/main/res/layout/item_second_shop_sort.xml b/moduleshop/src/main/res/layout/item_second_shop_sort.xml
index 9bbc4c6..e66213f 100644
--- a/moduleshop/src/main/res/layout/item_second_shop_sort.xml
+++ b/moduleshop/src/main/res/layout/item_second_shop_sort.xml
@@ -7,32 +7,6 @@
android:background="@color/white"
android:orientation="vertical">
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/moduleshop/src/main/res/layout/item_shipping_address.xml b/moduleshop/src/main/res/layout/item_shipping_address.xml
new file mode 100644
index 0000000..6ecdf73
--- /dev/null
+++ b/moduleshop/src/main/res/layout/item_shipping_address.xml
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file