Commit ba0e80a0 authored by david's avatar david Committed by 杨秀秀

完善消息,商铺信息

parent 2bf2a86c
......@@ -3,13 +3,12 @@ package com.xx.hbhconsumer.adapter;
import android.content.Context;
import com.xx.hbhconsumer.R;
import com.xx.hbhconsumer.data.http.respons.OrderBean;
import com.xx.hbhconsumer.data.http.respons.MessageBean;
import com.xx.hbhconsumer.databinding.ItemMessageBinding;
import com.xx.hbhconsumer.databinding.ItemOrderGoodsBinding;
import com.xx.xxviewlibrary.base.xxBaseRecyclerViewAdapter;
public class MessageAdapter extends xxBaseRecyclerViewAdapter<ItemMessageBinding, OrderBean> {
public class MessageAdapter extends xxBaseRecyclerViewAdapter<ItemMessageBinding, MessageBean> {
public MessageAdapter(Context context) {
super(context);
......@@ -22,8 +21,11 @@ public class MessageAdapter extends xxBaseRecyclerViewAdapter<ItemMessageBinding
}
@Override
protected void covert(ItemMessageBinding dataBind, OrderBean data, int position) {
protected void covert(ItemMessageBinding dataBind, MessageBean data, int position) {
// 将接口调出来的布局遍历上去
dataBind.setOrderBean(data);
dataBind.setMessageBean(data);
dataBind.tvNewsTitle.setText(data.getMessageType());
dataBind.tvMessage.setText(data.getMessageContent());
dataBind.tvMessageCreateTime.setText(data.getCreateTime());
}
}
......@@ -30,6 +30,7 @@ import com.xx.hbhconsumer.data.http.respons.SearchGoodsBean
import com.xx.hbhconsumer.data.http.respons.SearchShopBean
import com.xx.hbhconsumer.data.http.respons.ShopAndGoodsBean
import com.xx.hbhconsumer.data.http.respons.ShopBean
import com.xx.hbhconsumer.data.http.respons.ShopDetailBean
import com.xx.hbhconsumer.data.http.respons.ShopGoodsBean
import com.xx.hbhconsumer.data.http.respons.UserInfoBean
import io.reactivex.rxjava3.core.Observable
......@@ -133,7 +134,20 @@ interface ApiService {
*/
@Headers("Content-type:application/json")
@GET("app/message/getMessageList")
fun getMessageList(@Query("flag") flag: Int): Observable<BaseResponse<List<MessageBean>>>
fun getMessageList(@Query("flag") flag: Int): Observable<BasePageResponse<MessageBean>>
/**
* APP广告位查询
*/
@Headers("Content-type:application/json")
@PUT("app/message/unread")
fun messageUnread(@Body requestBody: RequestBody): Observable<BaseResponse<Integer>>
/**
* APP广告位查询
*/
@Headers("Content-type:application/json")
@POST("app/message/editAllUnread")
fun messageAllRead(): Observable<BaseResponse<Integer>>
/**
* APP广告位查询
......@@ -183,9 +197,13 @@ interface ApiService {
@Headers("Content-type:application/json")
@POST("/app/commodity/consumer-app/merchant-commodity")
@POST("app/commodity/consumer-app/merchant-commodity")
fun getShopGoodsList(@Body requestBody: RequestBody): Observable<BasePageResponse<ShopGoodsBean>>
@Headers("Content-type:application/json")
@GET("app/merchant/{businessId}")
fun getShopDetail(@Path("businessId") businessId:String?): Observable<BaseResponse<ShopDetailBean>>
@Headers("Content-type:application/json")
@POST("app/commodity/consumer-app/list-by-category")
fun listShopGoodsByCategory(@Body requestBody: RequestBody): Observable<BasePageResponse<GoodsBean>>
......@@ -240,9 +258,6 @@ interface ApiService {
@Headers("Content-type:application/json")
@GET("app/myHome/list")
fun memberInfo(): Observable<BaseResponse<MemberInfoBean>>
@Headers("Content-type:application/json")
@GET("app/message/getMessageList")
fun getMessageList(): Observable<BaseResponse<MemberInfoBean>>
@Headers("Content-type:application/json")
@GET("app/memberSign/{companyId}")
......
......@@ -10,6 +10,7 @@ import java.util.List;
import io.reactivex.rxjava3.core.Observable;
import me.goldze.mvvmhabit.http.ApiParams;
import me.goldze.mvvmhabit.http.BasePageResponse;
import me.goldze.mvvmhabit.http.BaseResponse;
import okhttp3.RequestBody;
......@@ -31,7 +32,7 @@ public class HomeRequest extends BaseRespons {
* 获取广告列表
* @return
*/
public Observable<BaseResponse<List<MessageBean>>> getMessageList() {
public Observable<BasePageResponse<MessageBean>> getMessageList() {
return getApiService().getMessageList(0);
}
......
package com.xx.hbhconsumer.data.http.requst;
import com.xx.hbhconsumer.data.http.BaseRespons;
import com.xx.hbhconsumer.data.http.respons.MemberInfoBean;
import com.xx.hbhconsumer.data.http.respons.MessageBean;
import io.reactivex.rxjava3.core.Observable;
import me.goldze.mvvmhabit.http.ApiParams;
import me.goldze.mvvmhabit.http.BasePageResponse;
import me.goldze.mvvmhabit.http.BaseResponse;
import okhttp3.RequestBody;
public class MessageRequest extends BaseRespons {
......@@ -12,7 +15,29 @@ public class MessageRequest extends BaseRespons {
* 获取广告列表
* @return
*/
public Observable<BaseResponse<MemberInfoBean>> memberInfo() {
return getApiService().memberInfo();
public Observable<BasePageResponse<MessageBean>> getMessageList(Integer flag) {
return getApiService().getMessageList(flag);
}
/**
* 获取广告列表
* @return
*/
public Observable<BaseResponse<Integer>> messageUnread(String businessId) {
ApiParams<MessageUnreadRequestBody> apiParams = new ApiParams<>();
MessageUnreadRequestBody requestBody = new MessageUnreadRequestBody(businessId, "1");
RequestBody body = apiParams.setParams(requestBody);
return getApiService().messageUnread(body);
}
public class MessageUnreadRequestBody {
public String businessId;
public String flag;
public MessageUnreadRequestBody(String businessId, String flag) {
this.businessId = businessId;
this.flag = flag;
}
}
}
......@@ -2,11 +2,9 @@ package com.xx.hbhconsumer.data.http.requst;
import com.xx.hbhconsumer.data.http.BaseRespons;
import com.xx.hbhconsumer.data.http.respons.MemberInfoBean;
import com.xx.hbhconsumer.data.http.respons.MessageBean;
import java.util.List;
import io.reactivex.rxjava3.core.Observable;
import me.goldze.mvvmhabit.http.BasePageResponse;
import me.goldze.mvvmhabit.http.BaseResponse;
public class MineRequest extends BaseRespons {
......@@ -22,7 +20,7 @@ public class MineRequest extends BaseRespons {
* 获取广告列表
* @return
*/
public Observable<BaseResponse<List<MessageBean>>> getMessageList() {
public Observable<BasePageResponse<MessageBean>> getMessageList() {
return getApiService().getMessageList(0);
}
}
package com.xx.hbhconsumer.data.http.requst;
import com.xx.hbhconsumer.data.http.BaseRespons;
import com.xx.hbhconsumer.data.http.respons.MessageBean;
import com.xx.hbhconsumer.data.http.respons.NewCommodityBean;
import java.util.List;
import io.reactivex.rxjava3.core.Observable;
import me.goldze.mvvmhabit.http.BasePageResponse;
import me.goldze.mvvmhabit.http.BaseResponse;
public class NewCommodityRequest extends BaseRespons {
......
......@@ -6,6 +6,7 @@ import com.xx.hbhconsumer.data.http.respons.GuessLikeGoodsBean;
import com.xx.hbhconsumer.data.http.respons.LowPriceGoodsBean;
import com.xx.hbhconsumer.data.http.respons.ShopAndGoodsBean;
import com.xx.hbhconsumer.data.http.respons.ShopBean;
import com.xx.hbhconsumer.data.http.respons.ShopDetailBean;
import com.xx.hbhconsumer.data.http.respons.ShopGoodsBean;
import java.util.List;
......@@ -40,6 +41,13 @@ public class ShopRequest extends BaseRespons {
return getApiService().getShopList(affiliatedCompany);
}
/**
* 低价好物商品列表
*/
public Observable<BaseResponse<ShopDetailBean>> getShopDetail(String affiliatedCompany) {
return getApiService().getShopDetail(affiliatedCompany);
}
public Observable<BasePageResponse<ShopGoodsBean>> getShopGoodsList(List<String> categoryIdList, String merchantId, String searchWord) {
ApiParams<ShopGoodsListRequestBody> apiParams = new ApiParams<>();
......
package com.xx.hbhconsumer.data.http.respons;
import com.google.gson.annotations.SerializedName;
public class MessageBean {
private String businessId;
private String createBy;
private String createTime;
private String delFlag;
private String flag;
private String messageContent;
private String messageType;
private ParamsDTO params;
private String remark;
private String updateBy;
private String updateTime;
private String merchantId;
private Integer userId;
public String getBusinessId() {
return businessId;
}
public void setBusinessId(String businessId) {
this.businessId = businessId;
}
public String getCreateBy() {
return createBy;
}
public void setCreateBy(String createBy) {
this.createBy = createBy;
}
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public String getDelFlag() {
return delFlag;
}
public void setDelFlag(String delFlag) {
this.delFlag = delFlag;
}
public String getFlag() {
return flag;
}
public void setFlag(String flag) {
this.flag = flag;
}
public String getMessageContent() {
return messageContent;
}
public void setMessageContent(String messageContent) {
this.messageContent = messageContent;
}
public String getMessageType() {
return messageType;
}
public void setMessageType(String messageType) {
this.messageType = messageType;
}
public ParamsDTO getParams() {
return params;
}
public void setParams(ParamsDTO params) {
this.params = params;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getUpdateBy() {
return updateBy;
}
public void setUpdateBy(String updateBy) {
this.updateBy = updateBy;
}
public String getUpdateTime() {
return updateTime;
}
public void setUpdateTime(String updateTime) {
this.updateTime = updateTime;
}
public String getMerchantId() {
return merchantId;
}
public void setMerchantId(String merchantId) {
this.merchantId = merchantId;
}
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public static class ParamsDTO {
}
}
package com.xx.hbhconsumer.data.http.respons
data class MessageBean(
val businessId: String,
val createBy: String,
val createTime: String,
val delFlag: String,
val flag: String,
val merchantId: String,
val messageContent: String,
val messageType: String,
val params: Params,
val remark: String,
val updateBy: String,
val updateTime: String,
val userId: Int
)
\ No newline at end of file
package com.xx.hbhconsumer.data.http.respons
data class ShopDetailBean(
val auditStatus: String,
val booth: Booth,
val boothId: String,
val boothWithUser: BoothWithUser,
val brandAuthorizationList: List<BrandAuthorization>,
val businessId: String,
val businessLicense: String,
val businessLicenseFile: BusinessLicenseFile,
val companyLogo: String,
val companyName: String,
val createBy: String,
val createTime: String,
val delFlag: String,
val integral: Int,
val leaseEndTime: String,
val leaseStartTime: String,
val logoFile: LogoFile,
val merchantNumber: String,
val merchantOperationLogList: List<MerchantOperationLog>,
val merchantSource: String,
val operatingPermit: String,
val operatingPermitFile: OperatingPermitFile,
val operation: String,
val params: ParamsXXXXXXX,
val personPhone: String,
val rating: Int,
val remark: String,
val responsiblePerson: String,
val status: String,
val storeManagerUserInfoList: List<StoreManagerUserInfo>,
val storeName: String,
val stormManagerUser: StormManagerUser,
val submitUserId: Int,
val supervisorsUserInfoList: List<SupervisorsUserInfo>,
val updateBy: String,
val updateTime: String,
val userId: Int
)
data class Booth(
val affiliatedCompany: String,
val boothNumber: String,
val businessId: String,
val createBy: String,
val createTime: String,
val delFlag: String,
val managerPerson: String,
val owningRegion: String,
val params: ParamsXXXXXXX,
val remark: String,
val specificLocation: String,
val status: String,
val supervisorPerson: String,
val updateBy: String,
val updateTime: String
)
data class BoothWithUser(
val affiliatedCompany: String,
val boothNumber: String,
val businessId: String,
val createBy: String,
val createTime: String,
val delFlag: String,
val managerPerson: String,
val owningRegion: String,
val params: ParamsXXXXXXX,
val remark: String,
val specificLocation: String,
val status: String,
val supervisorPerson: String,
val sysUserList: List<SysUser>,
val updateBy: String,
val updateTime: String
)
data class BrandAuthorization(
val brandName: String,
val businessId: String,
val createBy: String,
val createTime: String,
val delFlag: String,
val fileList: List<File>,
val merchantManagementId: String,
val orderNum: Int,
val params: ParamsXXXXXXX,
val remark: String,
val updateBy: String,
val updateTime: String
)
data class BusinessLicenseFile(
val businessId: String,
val filePath: String,
val newFileName: String,
val originalFileName: String,
val url: String
)
data class MerchantOperationLog(
val businessId: String,
val createBy: String,
val createTime: String,
val delFlag: String,
val merchantId: String,
val operation: String,
val params: ParamsXXXXXXX,
val remark: String
)
data class OperatingPermitFile(
val businessId: String,
val filePath: String,
val newFileName: String,
val originalFileName: String,
val url: String
)
class ParamsXXXXXXX
data class StoreManagerUserInfo(
val admin: Boolean,
val avatar: String,
val createBy: String,
val createTime: String,
val delFlag: String,
val deptId: Int,
val email: String,
val isHead: String,
val loginDate: String,
val loginIp: String,
val nickName: String,
val params: ParamsXXXXXXX,
val password: String,
val phonenumber: String,
val postIds: List<Int>,
val remark: String,
val roleId: Int,
val roleIds: List<Int>,
val roles: List<Role>,
val sex: String,
val status: String,
val updateBy: String,
val updateTime: String,
val userId: Int,
val userName: String,
val userType: String
)
data class StormManagerUser(
val admin: Boolean,
val avatar: String,
val createBy: String,
val createTime: String,
val delFlag: String,
val deptId: Int,
val email: String,
val isHead: String,
val loginDate: String,
val loginIp: String,
val nickName: String,
val params: ParamsXXXXXXX,
val password: String,
val phonenumber: String,
val postIds: List<Int>,
val remark: String,
val roleId: Int,
val roleIds: List<Int>,
val roles: List<Role>,
val sex: String,
val status: String,
val updateBy: String,
val updateTime: String,
val userId: Int,
val userName: String,
val userType: String
)
data class SupervisorsUserInfo(
val admin: Boolean,
val avatar: String,
val createBy: String,
val createTime: String,
val delFlag: String,
val deptId: Int,
val email: String,
val isHead: String,
val loginDate: String,
val loginIp: String,
val nickName: String,
val params: ParamsXXXXXXX,
val password: String,
val phonenumber: String,
val postIds: List<Int>,
val remark: String,
val roleId: Int,
val roleIds: List<Int>,
val roles: List<Role>,
val sex: String,
val status: String,
val updateBy: String,
val updateTime: String,
val userId: Int,
val userName: String,
val userType: String
)
data class SysUser(
val admin: Boolean,
val avatar: String,
val createBy: String,
val createTime: String,
val delFlag: String,
val dept: Dept,
val deptId: Int,
val email: String,
val isHead: String,
val loginDate: String,
val loginIp: String,
val nickName: String,
val params: ParamsXXXXXXX,
val password: String,
val phonenumber: String,
val postIds: List<Int>,
val remark: String,
val roleId: Int,
val roleIds: List<Int>,
val roles: List<Role>,
val sex: String,
val status: String,
val updateBy: String,
val updateTime: String,
val userId: Int,
val userName: String,
val userType: String
)
data class Dept(
val ancestors: String,
val createBy: String,
val createTime: String,
val delFlag: String,
val deptId: Int,
val deptName: String,
val disabled: Boolean,
val email: String,
val leader: String,
val orderNum: Int,
val params: ParamsXXXXXXX,
val parentId: Int,
val parentName: String,
val phone: String,
val remark: String,
val status: String,
val updateBy: String,
val updateTime: String
)
data class Role(
val admin: Boolean,
val createBy: String,
val createTime: String,
val dataScope: String,
val delFlag: String,
val deptCheckStrictly: Boolean,
val deptIds: List<Int>,
val flag: Boolean,
val menuCheckStrictly: Boolean,
val menuIds: List<Int>,
val params: ParamsXXXXXXX,
val permissions: List<String>,
val remark: String,
val roleId: Int,
val roleKey: String,
val roleName: String,
val roleSort: Int,
val status: String,
val updateBy: String,
val updateTime: String
)
\ No newline at end of file
......@@ -4,7 +4,7 @@ data class ShopGoodsBean(
val businessId: String,
val commodityName: String,
val commodityPictureFile: CommodityPictureFile,
val commodityPrice: Int
val commodityPrice: Double
)
data class CommodityPictureFile(
......@@ -15,11 +15,8 @@ data class CommodityPictureFile(
val filePath: String,
val newFileName: String,
val originalFileName: String,
val params: ParamsXXX,
val remark: String,
val updateBy: String,
val updateTime: String,
val url: String
)
class ParamsXXX
\ No newline at end of file
)
\ No newline at end of file
......@@ -37,9 +37,15 @@ public class HomeFragment extends BaseFragment<FragmentHomeBinding, HomeViewMode
if ("1".equals(areaId)) {
binding.tvAreaHexi.setBackground(getContext().getDrawable(R.drawable.bg_button_blue_all_radius_8));
binding.tvAreaBinghai.setBackground(getContext().getDrawable(R.drawable.bg_button_grey_all_radius_8));
binding.tvAreaHexi.setTextColor(getContext().getColor(R.color.foreground));
binding.tvAreaBinghai.setTextColor(getContext().getColor(R.color.price_black));
} else {
binding.tvAreaHexi.setBackground(getContext().getDrawable(R.drawable.bg_button_grey_all_radius_8));
binding.tvAreaBinghai.setBackground(getContext().getDrawable(R.drawable.bg_button_blue_all_radius_8));
binding.tvAreaHexi.setTextColor(getContext().getColor(R.color.price_black));
binding.tvAreaBinghai.setTextColor(getContext().getColor(R.color.foreground));
}
}
});
......
......@@ -31,6 +31,7 @@ import io.reactivex.rxjava3.functions.Consumer;
import me.goldze.mvvmhabit.base.BaseViewModel;
import me.goldze.mvvmhabit.binding.command.BindingCommand;
import me.goldze.mvvmhabit.http.ApiDisposableObserver;
import me.goldze.mvvmhabit.http.ApiDisposablePageObserver;
import me.goldze.mvvmhabit.utils.RxUtils;
public class HomeViewModel extends BaseViewModel<HomeRequest> {
......@@ -68,6 +69,7 @@ public class HomeViewModel extends BaseViewModel<HomeRequest> {
@Override
public void onResume() {
super.onResume();
areaId.postValue(LocalData.getAffiliatedCompany());
getADList();
getMessageList();
getLowPriceList("1");
......@@ -82,7 +84,7 @@ public class HomeViewModel extends BaseViewModel<HomeRequest> {
@Override
public void accept(Disposable disposable) throws Exception {
}
}).subscribe(new ApiDisposableObserver<List<MessageBean>>() {
}).subscribe(new ApiDisposablePageObserver<MessageBean>() {
@Override
public void onSuccess(List<MessageBean> messageBeanList) {
if (messageBeanList != null && messageBeanList.size() > 0) {
......@@ -97,6 +99,11 @@ public class HomeViewModel extends BaseViewModel<HomeRequest> {
dismissDialog();
}
@Override
public void getTotal(int total) {
}
});
}
......
......@@ -2,7 +2,10 @@ package com.xx.hbhconsumer.ui.messagecenter;
import android.os.Bundle;
import com.google.gson.Gson;
import com.xx.hbhconsumer.R;
import com.xx.hbhconsumer.data.http.requst.MessageRequest;
import com.xx.hbhconsumer.data.http.respons.MessageBean;
import com.xx.hbhconsumer.databinding.ActivityMessageDetailBinding;
import me.goldze.mvvmhabit.base.BaseActivity;
......@@ -13,6 +16,13 @@ public class MessageDetailActivity extends BaseActivity<ActivityMessageDetailBin
@Override
public void initData() {
super.initData();
String messageData = getIntent().getStringExtra("messageData");
MessageBean data = new Gson().fromJson(messageData, MessageBean.class);
binding.tvMessageTitle.setText(data.getMessageType());
binding.tvContent.setText(data.getMessageContent());
binding.tvTime.setText(data.getCreateTime());
binding.tvSource.setText(data.getCreateBy());
}
@Override
......@@ -25,4 +35,9 @@ public class MessageDetailActivity extends BaseActivity<ActivityMessageDetailBin
return BR.messageDetailViewModel;
}
@Override
public MessageDetailViewModel initViewModel() {
MessageRequest model = new MessageRequest();
return new MessageDetailViewModel(getApplication(), model);
}
}
......@@ -4,6 +4,7 @@ import android.app.Application;
import androidx.annotation.NonNull;
import com.xx.hbhconsumer.data.http.requst.MessageRequest;
import com.xx.hbhconsumer.data.http.requst.PhoneRequest;
import com.xx.hbhconsumer.ui.main.MainActivity;
import com.xx.hbhconsumer.ui.storeservices.StoreServicesActivity;
......@@ -11,12 +12,12 @@ import com.xx.hbhconsumer.ui.storeservices.StoreServicesActivity;
import me.goldze.mvvmhabit.base.BaseViewModel;
import me.goldze.mvvmhabit.binding.command.BindingCommand;
public class MessageDetailViewModel extends BaseViewModel<PhoneRequest> {
public class MessageDetailViewModel extends BaseViewModel<MessageRequest> {
public MessageDetailViewModel(@NonNull Application application) {
super(application);
}
public MessageDetailViewModel(@NonNull Application application, PhoneRequest model) {
public MessageDetailViewModel(@NonNull Application application, MessageRequest model) {
super(application, model);
}
......
......@@ -5,24 +5,24 @@ import android.view.LayoutInflater;
import android.view.ViewGroup;
import androidx.annotation.Nullable;
import androidx.lifecycle.Observer;
import com.xx.hbhconsumer.BR;
import com.xx.hbhconsumer.R;
import com.xx.hbhconsumer.adapter.MessageAdapter;
import com.xx.hbhconsumer.data.http.requst.LoginRequest;
import com.xx.hbhconsumer.data.http.respons.OrderBean;
import com.xx.hbhconsumer.data.http.requst.MessageRequest;
import com.xx.hbhconsumer.data.http.respons.MessageBean;
import com.xx.hbhconsumer.databinding.FragmentMessageListBinding;
import java.util.ArrayList;
import java.util.List;
import me.goldze.mvvmhabit.base.BaseFragment;
public class MessageListFragment extends BaseFragment<FragmentMessageListBinding, MessageListViewModel> {
public static MessageListFragment newInstance(Integer orderType) {
public static MessageListFragment newInstance(Integer flag) {
Bundle args = new Bundle();
args.putInt("orderType", orderType);
args.putInt("flag", flag);
MessageListFragment fragment = new MessageListFragment();
fragment.setArguments(args);
return fragment;
......@@ -30,16 +30,20 @@ public class MessageListFragment extends BaseFragment<FragmentMessageListBinding
@Override
public void initData() {
List<OrderBean> orderBeanList = new ArrayList<>();
//获取适配器上下文
MessageAdapter orderListAdapter = new MessageAdapter(getActivity());
//把adapterset进去
binding.rvMessageList.setAdapter(orderListAdapter);
orderListAdapter.mList = orderBeanList;
orderListAdapter.setOnItemClick((position, data) -> viewModel.goMessageDetail(position));
orderListAdapter.setOnItemClick((position, data) -> viewModel.goMessageDetail(data));
viewModel.messageBeanList.observe(this, new Observer<List<MessageBean>>() {
@Override
public void onChanged(List<MessageBean> messageBeanList) {
orderListAdapter.mList = messageBeanList;
}
});
}
@Override
......@@ -59,7 +63,9 @@ public class MessageListFragment extends BaseFragment<FragmentMessageListBinding
@Override
public MessageListViewModel initViewModel() {
LoginRequest model = new LoginRequest();
return new MessageListViewModel(getActivity().getApplication(), model);
MessageRequest model = new MessageRequest();
Bundle args = getArguments();
Integer flag = args.getInt("flag");
return new MessageListViewModel(getActivity().getApplication(), model, flag);
}
}
package com.xx.hbhconsumer.ui.messagecenter;
import android.app.Application;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.lifecycle.MutableLiveData;
import com.xx.hbhconsumer.data.http.requst.LoginRequest;
import com.xx.hbhconsumer.ui.order.OrderDetailActivity;
import com.google.gson.Gson;
import com.xx.hbhconsumer.data.http.requst.MessageRequest;
import com.xx.hbhconsumer.data.http.respons.MessageBean;
import java.util.ArrayList;
import java.util.List;
import io.reactivex.rxjava3.disposables.Disposable;
import io.reactivex.rxjava3.functions.Consumer;
import me.goldze.mvvmhabit.base.BaseViewModel;
import me.goldze.mvvmhabit.http.ApiDisposableObserver;
import me.goldze.mvvmhabit.http.ApiDisposablePageObserver;
import me.goldze.mvvmhabit.utils.RxUtils;
public class MessageListViewModel extends BaseViewModel<MessageRequest> {
public class MessageListViewModel extends BaseViewModel<LoginRequest> {
private Integer flag;
public MessageListViewModel(@NonNull Application application, LoginRequest model) {
public MutableLiveData<List<MessageBean>> messageBeanList = new MutableLiveData<>(new ArrayList<>());
public MessageListViewModel(@NonNull Application application, MessageRequest model, Integer flag) {
super(application, model);
this.flag = flag;
}
public void goMessageDetail(MessageBean data) {
messageUnread(data);
}
@Override
public void onCreate() {
super.onCreate();
}
@Override
public void onStart() {
super.onStart();
}
public void goMessageDetail(int position) {
startActivity(MessageDetailActivity.class);
@Override
public void onResume() {
super.onResume();
getMessageList();
}
private void messageUnread(MessageBean data) {
model.messageUnread(data.getBusinessId())
.compose(RxUtils.schedulersTransformer()) //线程调度
.doOnSubscribe(MessageListViewModel.this)
.doOnSubscribe(new Consumer<Disposable>() {
@Override
public void accept(Disposable disposable) throws Exception {
}
}).subscribe(new ApiDisposableObserver<Integer>() {
@Override
public void onSuccess(Integer resultBean) {
Bundle bundle = new Bundle();
bundle.putString("messageData", new Gson().toJson(data));
startActivity(MessageDetailActivity.class, bundle);
}
@Override
public void onError(String Error) {
dismissDialog();
}
});
}
public void getMessageList() {
model.getMessageList(flag)
.compose(RxUtils.schedulersTransformer()) //线程调度
.doOnSubscribe(MessageListViewModel.this)
.doOnSubscribe(new Consumer<Disposable>() {
@Override
public void accept(Disposable disposable) throws Exception {
}
}).subscribe(new ApiDisposablePageObserver<MessageBean>() {
@Override
public void onSuccess(List<MessageBean> resultBean) {
messageBeanList.postValue(resultBean);
}
@Override
public void onError(String Error) {
dismissDialog();
}
@Override
public void getTotal(int total) {
}
});
}
}
......
......@@ -10,22 +10,17 @@ import androidx.lifecycle.MutableLiveData;
import com.huantansheng.easyphotos.callback.SelectCallback;
import com.huantansheng.easyphotos.models.album.entity.Photo;
import com.xx.hbhconsumer.data.http.requst.MineRequest;
import com.xx.hbhconsumer.data.http.respons.AdvertisingBean;
import com.xx.hbhconsumer.data.http.respons.Filebean;
import com.xx.hbhconsumer.data.http.respons.MemberInfoBean;
import com.xx.hbhconsumer.data.http.respons.MessageBean;
import com.xx.hbhconsumer.data.http.respons.MyPointBean;
import com.xx.hbhconsumer.data.http.respons.UserBean;
import com.xx.hbhconsumer.data.local.LocalData;
import com.xx.hbhconsumer.ui.credit.MyCreditActivity;
import com.xx.hbhconsumer.ui.creditorder.CreditOrderActivity;
import com.xx.hbhconsumer.ui.home.HomeViewModel;
import com.xx.hbhconsumer.ui.messagecenter.MessageCenterActivity;
import com.xx.hbhconsumer.ui.mycollection.MyCollectionActivity;
import com.xx.hbhconsumer.ui.mycoupon.MyCouponActivity;
import com.xx.hbhconsumer.ui.order.OrderActivity;
import com.xx.hbhconsumer.ui.phone.PhoneActivity;
import com.xx.hbhconsumer.ui.pwd.PwdActivity;
import com.xx.hbhconsumer.ui.settings.SettingsActivity;
import java.io.File;
......@@ -38,6 +33,7 @@ import me.goldze.mvvmhabit.base.BaseViewModel;
import me.goldze.mvvmhabit.binding.command.BindingAction;
import me.goldze.mvvmhabit.binding.command.BindingCommand;
import me.goldze.mvvmhabit.http.ApiDisposableObserver;
import me.goldze.mvvmhabit.http.ApiDisposablePageObserver;
import me.goldze.mvvmhabit.utils.RxUtils;
public class MineViewModel extends BaseViewModel<MineRequest> {
......@@ -185,7 +181,7 @@ public class MineViewModel extends BaseViewModel<MineRequest> {
@Override
public void accept(Disposable disposable) throws Exception {
}
}).subscribe(new ApiDisposableObserver<List<MessageBean>>() {
}).subscribe(new ApiDisposablePageObserver<MessageBean>() {
@Override
public void onSuccess(List<MessageBean> messageBeanList) {
if (messageBeanList != null && messageBeanList.size() > 0) {
......@@ -200,6 +196,11 @@ public class MineViewModel extends BaseViewModel<MineRequest> {
dismissDialog();
}
@Override
public void getTotal(int total) {
}
});
}
......
......@@ -19,8 +19,6 @@ public class OrderDetailActivity extends BaseActivity<ActivityOrderDetailBinding
public void initData() {
super.initData();
viewModel.orderBean.observe(this, orderBean -> {
//获取适配器上下文
OrderGoodsAdapter creditGoodsAdapter = new OrderGoodsAdapter(this);
......
......@@ -8,6 +8,7 @@ import androidx.recyclerview.widget.GridLayoutManager;
import com.xx.hbhconsumer.R;
import com.xx.hbhconsumer.adapter.ShopDetailGoodsAdapter;
import com.xx.hbhconsumer.data.http.requst.ShopRequest;
import com.xx.hbhconsumer.data.http.respons.ShopDetailBean;
import com.xx.hbhconsumer.data.http.respons.ShopGoodsBean;
import com.xx.hbhconsumer.databinding.ActivityShopDetailBinding;
......@@ -36,6 +37,16 @@ public class ShopDetailActivity extends BaseActivity<ActivityShopDetailBinding,
}
});
viewModel.shopGoodsBean.observe(this, new Observer<ShopDetailBean>() {
@Override
public void onChanged(ShopDetailBean shopDetailBean) {
if (shopDetailBean != null) {
binding.rbLevel.setRating(Float.parseFloat(String.valueOf(shopDetailBean.getRating())));
binding.tvShopName.setText(shopDetailBean.getCompanyName());
}
}
});
}
......
......@@ -6,6 +6,7 @@ import androidx.annotation.NonNull;
import androidx.lifecycle.MutableLiveData;
import com.xx.hbhconsumer.data.http.requst.ShopRequest;
import com.xx.hbhconsumer.data.http.respons.ShopDetailBean;
import com.xx.hbhconsumer.data.http.respons.ShopGoodsBean;
import com.xx.hbhconsumer.ui.category.CategoryActivity;
......@@ -24,6 +25,7 @@ import me.goldze.mvvmhabit.utils.RxUtils;
public class ShopDetailViewModel extends BaseViewModel<ShopRequest> {
public MutableLiveData<String> searchWord = new MutableLiveData<>("");
public MutableLiveData<ShopDetailBean> shopGoodsBean = new MutableLiveData<>(null);
private String merchantId;
public MutableLiveData<List<String>> categoryIdList = new MutableLiveData<>(new ArrayList<>());
public MutableLiveData<List<ShopGoodsBean>> shopGoodsBeanList = new MutableLiveData<>(new ArrayList<>());
......@@ -46,9 +48,31 @@ public class ShopDetailViewModel extends BaseViewModel<ShopRequest> {
@Override
public void onResume() {
super.onResume();
loadShopDetail();
loadShopGoodsList();
}
private void loadShopDetail() {
model.getShopDetail(merchantId)
.compose(RxUtils.schedulersTransformer()) //线程调度
.doOnSubscribe(ShopDetailViewModel.this)
.doOnSubscribe(new Consumer<Disposable>() {
@Override
public void accept(Disposable disposable) throws Exception {
}
}).subscribe(new ApiDisposableObserver<ShopDetailBean>() {
@Override
public void onSuccess(ShopDetailBean resultBean) {
shopGoodsBean.postValue(resultBean);
}
@Override
public void onError(String Error) {
dismissDialog();
}
});
}
private void loadShopGoodsList() {
model.getShopGoodsList(categoryIdList.getValue(), merchantId, searchWord.getValue())
.compose(RxUtils.schedulersTransformer()) //线程调度
......
......@@ -54,7 +54,7 @@ public class ShopFragment extends BaseFragment<FragmentShopBinding, ShopViewMode
});
viewModel.shopBean.observe(this, shopBean -> {
if (shopBean.getCoverImage() != null) {
if (shopBean != null && shopBean.getCoverImage() != null) {
Glide.with(getActivity())
.load(RetrofitClient.baseImgUrl + shopBean.getCoverImage())
.into(binding.ivTopShopImageBanner);
......
......@@ -106,21 +106,23 @@
android:orientation="vertical">
<TextView
android:id="@+id/tv_shop_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="17dp"
android:layout_marginTop="17dp"
android:textSize="16sp"
android:textColor="#FF333333"
android:textStyle="bold"
android:text="上海迷雾之森家具有限公司"
android:text="上海迷雾之森家具有限公司"/>
/>
<RelativeLayout
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginLeft="17dp"
android:layout_marginTop="13dp">
android:layout_marginTop="13dp"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
......@@ -135,7 +137,18 @@
android:text="店铺等级"
/>
</RelativeLayout>
<RatingBar
android:id="@+id/rb_level"
style="?android:attr/ratingBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:isIndicator="true"
android:numStars="5"
android:stepSize="0.5"
android:theme="@style/RatingBar_CustomColor"
android:layout_marginLeft="13dp"/>
</LinearLayout>
<RelativeLayout
android:layout_width="wrap_content"
......
......@@ -5,8 +5,8 @@
<data>
<variable
name="orderBean"
type="com.xx.hbhconsumer.data.http.respons.OrderBean" />
name="messageBean"
type="com.xx.hbhconsumer.data.http.respons.MessageBean" />
</data>
<RelativeLayout
......@@ -59,6 +59,7 @@
<TextView
android:id="@+id/tv_message"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/rl_title"
......
......@@ -43,4 +43,11 @@
<item name="android:textColor">#5971A4</item>
<item name="android:textSize">10sp</item>
</style>
<style name="RatingBar_CustomColor" parent="@android:style/Widget.Holo.RatingBar.Indicator">
<!--Background Color-->
<item name="colorControlNormal">#D7D7D7</item>
<!--Progress Color-->
<item name="colorControlActivated">#C8382A</item>
</style>
</resources>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment