diff --git a/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java b/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java new file mode 100644 index 0000000..a7a010b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java @@ -0,0 +1,219 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class ToiletListBean { + + private int code; + private String message; + private boolean success; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * area : 20.00 + * code : 3625250008 + * createTime : 2021-07-07 + * delFlag : 0 + * deptId : + * id : 1412675026622865410 + * lat : 27.77740600 + * lng : 116.05673800 + * name : 王泥岭公厕 + * notes : 无 + * owner : 环卫所 + * photo : + * position : 王泥岭 + * responsiblePerson : 张三 + * responsiblePersonTel : 13214521544 + * ts : 2021-01-12 + * updateTime : + */ + + private String area; + private String code; + private String createTime; + private String delFlag; + private String deptId; + private String id; + private String lat; + private String lng; + private String name; + private String notes; + private String owner; + private String photo; + private String position; + private String responsiblePerson; + private String responsiblePersonTel; + private String ts; + private String updateTime; + + public String getArea() { + return area; + } + + public void setArea(String area) { + this.area = area; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + 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 getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNotes() { + return notes; + } + + public void setNotes(String notes) { + this.notes = notes; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getPhoto() { + return photo; + } + + public void setPhoto(String photo) { + this.photo = photo; + } + + public String getPosition() { + return position; + } + + public void setPosition(String position) { + this.position = position; + } + + public String getResponsiblePerson() { + return responsiblePerson; + } + + public void setResponsiblePerson(String responsiblePerson) { + this.responsiblePerson = responsiblePerson; + } + + public String getResponsiblePersonTel() { + return responsiblePersonTel; + } + + public void setResponsiblePersonTel(String responsiblePersonTel) { + this.responsiblePersonTel = responsiblePersonTel; + } + + public String getTs() { + return ts; + } + + public void setTs(String ts) { + this.ts = ts; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java b/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java new file mode 100644 index 0000000..a7a010b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java @@ -0,0 +1,219 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class ToiletListBean { + + private int code; + private String message; + private boolean success; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * area : 20.00 + * code : 3625250008 + * createTime : 2021-07-07 + * delFlag : 0 + * deptId : + * id : 1412675026622865410 + * lat : 27.77740600 + * lng : 116.05673800 + * name : 王泥岭公厕 + * notes : 无 + * owner : 环卫所 + * photo : + * position : 王泥岭 + * responsiblePerson : 张三 + * responsiblePersonTel : 13214521544 + * ts : 2021-01-12 + * updateTime : + */ + + private String area; + private String code; + private String createTime; + private String delFlag; + private String deptId; + private String id; + private String lat; + private String lng; + private String name; + private String notes; + private String owner; + private String photo; + private String position; + private String responsiblePerson; + private String responsiblePersonTel; + private String ts; + private String updateTime; + + public String getArea() { + return area; + } + + public void setArea(String area) { + this.area = area; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + 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 getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNotes() { + return notes; + } + + public void setNotes(String notes) { + this.notes = notes; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getPhoto() { + return photo; + } + + public void setPhoto(String photo) { + this.photo = photo; + } + + public String getPosition() { + return position; + } + + public void setPosition(String position) { + this.position = position; + } + + public String getResponsiblePerson() { + return responsiblePerson; + } + + public void setResponsiblePerson(String responsiblePerson) { + this.responsiblePerson = responsiblePerson; + } + + public String getResponsiblePersonTel() { + return responsiblePersonTel; + } + + public void setResponsiblePersonTel(String responsiblePersonTel) { + this.responsiblePersonTel = responsiblePersonTel; + } + + public String getTs() { + return ts; + } + + public void setTs(String ts) { + this.ts = ts; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java new file mode 100644 index 0000000..cd64c8f --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.ToiletListBean; + +public interface OnGetToiletListListener { + void onSuccess(ToiletListBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java b/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java new file mode 100644 index 0000000..a7a010b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java @@ -0,0 +1,219 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class ToiletListBean { + + private int code; + private String message; + private boolean success; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * area : 20.00 + * code : 3625250008 + * createTime : 2021-07-07 + * delFlag : 0 + * deptId : + * id : 1412675026622865410 + * lat : 27.77740600 + * lng : 116.05673800 + * name : 王泥岭公厕 + * notes : 无 + * owner : 环卫所 + * photo : + * position : 王泥岭 + * responsiblePerson : 张三 + * responsiblePersonTel : 13214521544 + * ts : 2021-01-12 + * updateTime : + */ + + private String area; + private String code; + private String createTime; + private String delFlag; + private String deptId; + private String id; + private String lat; + private String lng; + private String name; + private String notes; + private String owner; + private String photo; + private String position; + private String responsiblePerson; + private String responsiblePersonTel; + private String ts; + private String updateTime; + + public String getArea() { + return area; + } + + public void setArea(String area) { + this.area = area; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + 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 getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNotes() { + return notes; + } + + public void setNotes(String notes) { + this.notes = notes; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getPhoto() { + return photo; + } + + public void setPhoto(String photo) { + this.photo = photo; + } + + public String getPosition() { + return position; + } + + public void setPosition(String position) { + this.position = position; + } + + public String getResponsiblePerson() { + return responsiblePerson; + } + + public void setResponsiblePerson(String responsiblePerson) { + this.responsiblePerson = responsiblePerson; + } + + public String getResponsiblePersonTel() { + return responsiblePersonTel; + } + + public void setResponsiblePersonTel(String responsiblePersonTel) { + this.responsiblePersonTel = responsiblePersonTel; + } + + public String getTs() { + return ts; + } + + public void setTs(String ts) { + this.ts = ts; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java new file mode 100644 index 0000000..cd64c8f --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.ToiletListBean; + +public interface OnGetToiletListListener { + void onSuccess(ToiletListBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java new file mode 100644 index 0000000..0e0eec2 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IToiletListModel { + Subscription sendToiletListRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java b/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java new file mode 100644 index 0000000..a7a010b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java @@ -0,0 +1,219 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class ToiletListBean { + + private int code; + private String message; + private boolean success; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * area : 20.00 + * code : 3625250008 + * createTime : 2021-07-07 + * delFlag : 0 + * deptId : + * id : 1412675026622865410 + * lat : 27.77740600 + * lng : 116.05673800 + * name : 王泥岭公厕 + * notes : 无 + * owner : 环卫所 + * photo : + * position : 王泥岭 + * responsiblePerson : 张三 + * responsiblePersonTel : 13214521544 + * ts : 2021-01-12 + * updateTime : + */ + + private String area; + private String code; + private String createTime; + private String delFlag; + private String deptId; + private String id; + private String lat; + private String lng; + private String name; + private String notes; + private String owner; + private String photo; + private String position; + private String responsiblePerson; + private String responsiblePersonTel; + private String ts; + private String updateTime; + + public String getArea() { + return area; + } + + public void setArea(String area) { + this.area = area; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + 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 getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNotes() { + return notes; + } + + public void setNotes(String notes) { + this.notes = notes; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getPhoto() { + return photo; + } + + public void setPhoto(String photo) { + this.photo = photo; + } + + public String getPosition() { + return position; + } + + public void setPosition(String position) { + this.position = position; + } + + public String getResponsiblePerson() { + return responsiblePerson; + } + + public void setResponsiblePerson(String responsiblePerson) { + this.responsiblePerson = responsiblePerson; + } + + public String getResponsiblePersonTel() { + return responsiblePersonTel; + } + + public void setResponsiblePersonTel(String responsiblePersonTel) { + this.responsiblePersonTel = responsiblePersonTel; + } + + public String getTs() { + return ts; + } + + public void setTs(String ts) { + this.ts = ts; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java new file mode 100644 index 0000000..cd64c8f --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.ToiletListBean; + +public interface OnGetToiletListListener { + void onSuccess(ToiletListBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java new file mode 100644 index 0000000..0e0eec2 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IToiletListModel { + Subscription sendToiletListRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java index 8a9c0d0..9a90954 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java @@ -32,6 +32,7 @@ import com.casic.dcms.bean.PhoneBookBean; import com.casic.dcms.bean.ProcessPersonBean; import com.casic.dcms.bean.PublicKeyBean; +import com.casic.dcms.bean.ToiletListBean; import com.casic.dcms.bean.UrgentCaseBean; import com.casic.dcms.bean.UserBean; import com.casic.dcms.bean.WellDetailBean; @@ -67,6 +68,7 @@ import com.casic.dcms.listener.OnGetSearchListListener; import com.casic.dcms.listener.OnGetSentenceListener; import com.casic.dcms.listener.OnGetSmallClassListener; +import com.casic.dcms.listener.OnGetToiletListListener; import com.casic.dcms.listener.OnGetUrgentCaseListListener; import com.casic.dcms.listener.OnGetUserListener; import com.casic.dcms.listener.OnGetWellDetailListener; @@ -93,11 +95,11 @@ ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, ICaseHandleModel, ICaseDetailModel, ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, ICaseHandledListModel, IUrgentCaseListModel, IComSentenceModel, IOvertimeCaseListModel, IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, - IPersonOnlineModel, ICaseStatusModel, ICaseListModel, ICleanToiletModel, ICleanRecordModel, - IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, IProcessPersonModel, - ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, ILightDetailModel, - IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, IWellListModel, - IOptionWellModel, IPushRegisterModel, IUploadPositionModel { + IPersonOnlineModel, ICaseStatusModel, ICaseListModel, IToiletListModel, ICleanToiletModel, + ICleanRecordModel, IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, + IProcessPersonModel, ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, + ILightDetailModel, IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, + IWellListModel, IOptionWellModel, IPushRegisterModel, IUploadPositionModel { private OnAuthenticateListener onAuthenticateListener; private OnLoginListener loginListener; @@ -125,6 +127,7 @@ private OnGetOnlinePersonListener onlinePersonListener; private OnGetCaseStatusListener caseStatusListener; private OnGetSearchListListener searchListListener; + private OnGetToiletListListener toiletListListener; private OnGetCleanRecordListener cleanRecordListener; private OnGetPackageCaseListener packageCaseListener; private OnGetAuthorizeListener authorizeListener; @@ -238,6 +241,10 @@ this.searchListListener = listener; } + public RetrofitRequestModelImpl(OnGetToiletListListener listener) { + this.toiletListListener = listener; + } + public RetrofitRequestModelImpl(OnGetCleanRecordListener listener) { this.cleanRecordListener = listener; } @@ -1253,6 +1260,34 @@ } /** + * {@link IToiletListModel} + */ + @Override + public Subscription sendToiletListRequest() { + Observable observable = RetrofitServiceManager.getToiletListResult(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + toiletListListener.onFailure(e); + } + } + + @Override + public void onNext(ToiletListBean resultBean) { + if (resultBean != null) { + toiletListListener.onSuccess(resultBean); + } + } + }); + } + + /** * {@link ICleanToiletModel} */ @Override diff --git a/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java b/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java new file mode 100644 index 0000000..a7a010b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java @@ -0,0 +1,219 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class ToiletListBean { + + private int code; + private String message; + private boolean success; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * area : 20.00 + * code : 3625250008 + * createTime : 2021-07-07 + * delFlag : 0 + * deptId : + * id : 1412675026622865410 + * lat : 27.77740600 + * lng : 116.05673800 + * name : 王泥岭公厕 + * notes : 无 + * owner : 环卫所 + * photo : + * position : 王泥岭 + * responsiblePerson : 张三 + * responsiblePersonTel : 13214521544 + * ts : 2021-01-12 + * updateTime : + */ + + private String area; + private String code; + private String createTime; + private String delFlag; + private String deptId; + private String id; + private String lat; + private String lng; + private String name; + private String notes; + private String owner; + private String photo; + private String position; + private String responsiblePerson; + private String responsiblePersonTel; + private String ts; + private String updateTime; + + public String getArea() { + return area; + } + + public void setArea(String area) { + this.area = area; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + 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 getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNotes() { + return notes; + } + + public void setNotes(String notes) { + this.notes = notes; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getPhoto() { + return photo; + } + + public void setPhoto(String photo) { + this.photo = photo; + } + + public String getPosition() { + return position; + } + + public void setPosition(String position) { + this.position = position; + } + + public String getResponsiblePerson() { + return responsiblePerson; + } + + public void setResponsiblePerson(String responsiblePerson) { + this.responsiblePerson = responsiblePerson; + } + + public String getResponsiblePersonTel() { + return responsiblePersonTel; + } + + public void setResponsiblePersonTel(String responsiblePersonTel) { + this.responsiblePersonTel = responsiblePersonTel; + } + + public String getTs() { + return ts; + } + + public void setTs(String ts) { + this.ts = ts; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java new file mode 100644 index 0000000..cd64c8f --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.ToiletListBean; + +public interface OnGetToiletListListener { + void onSuccess(ToiletListBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java new file mode 100644 index 0000000..0e0eec2 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IToiletListModel { + Subscription sendToiletListRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java index 8a9c0d0..9a90954 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java @@ -32,6 +32,7 @@ import com.casic.dcms.bean.PhoneBookBean; import com.casic.dcms.bean.ProcessPersonBean; import com.casic.dcms.bean.PublicKeyBean; +import com.casic.dcms.bean.ToiletListBean; import com.casic.dcms.bean.UrgentCaseBean; import com.casic.dcms.bean.UserBean; import com.casic.dcms.bean.WellDetailBean; @@ -67,6 +68,7 @@ import com.casic.dcms.listener.OnGetSearchListListener; import com.casic.dcms.listener.OnGetSentenceListener; import com.casic.dcms.listener.OnGetSmallClassListener; +import com.casic.dcms.listener.OnGetToiletListListener; import com.casic.dcms.listener.OnGetUrgentCaseListListener; import com.casic.dcms.listener.OnGetUserListener; import com.casic.dcms.listener.OnGetWellDetailListener; @@ -93,11 +95,11 @@ ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, ICaseHandleModel, ICaseDetailModel, ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, ICaseHandledListModel, IUrgentCaseListModel, IComSentenceModel, IOvertimeCaseListModel, IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, - IPersonOnlineModel, ICaseStatusModel, ICaseListModel, ICleanToiletModel, ICleanRecordModel, - IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, IProcessPersonModel, - ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, ILightDetailModel, - IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, IWellListModel, - IOptionWellModel, IPushRegisterModel, IUploadPositionModel { + IPersonOnlineModel, ICaseStatusModel, ICaseListModel, IToiletListModel, ICleanToiletModel, + ICleanRecordModel, IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, + IProcessPersonModel, ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, + ILightDetailModel, IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, + IWellListModel, IOptionWellModel, IPushRegisterModel, IUploadPositionModel { private OnAuthenticateListener onAuthenticateListener; private OnLoginListener loginListener; @@ -125,6 +127,7 @@ private OnGetOnlinePersonListener onlinePersonListener; private OnGetCaseStatusListener caseStatusListener; private OnGetSearchListListener searchListListener; + private OnGetToiletListListener toiletListListener; private OnGetCleanRecordListener cleanRecordListener; private OnGetPackageCaseListener packageCaseListener; private OnGetAuthorizeListener authorizeListener; @@ -238,6 +241,10 @@ this.searchListListener = listener; } + public RetrofitRequestModelImpl(OnGetToiletListListener listener) { + this.toiletListListener = listener; + } + public RetrofitRequestModelImpl(OnGetCleanRecordListener listener) { this.cleanRecordListener = listener; } @@ -1253,6 +1260,34 @@ } /** + * {@link IToiletListModel} + */ + @Override + public Subscription sendToiletListRequest() { + Observable observable = RetrofitServiceManager.getToiletListResult(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + toiletListListener.onFailure(e); + } + } + + @Override + public void onNext(ToiletListBean resultBean) { + if (resultBean != null) { + toiletListListener.onSuccess(resultBean); + } + } + }); + } + + /** * {@link ICleanToiletModel} */ @Override diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IToiletListPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IToiletListPresenter.java new file mode 100644 index 0000000..b918019 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IToiletListPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IToiletListPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java b/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java new file mode 100644 index 0000000..a7a010b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java @@ -0,0 +1,219 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class ToiletListBean { + + private int code; + private String message; + private boolean success; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * area : 20.00 + * code : 3625250008 + * createTime : 2021-07-07 + * delFlag : 0 + * deptId : + * id : 1412675026622865410 + * lat : 27.77740600 + * lng : 116.05673800 + * name : 王泥岭公厕 + * notes : 无 + * owner : 环卫所 + * photo : + * position : 王泥岭 + * responsiblePerson : 张三 + * responsiblePersonTel : 13214521544 + * ts : 2021-01-12 + * updateTime : + */ + + private String area; + private String code; + private String createTime; + private String delFlag; + private String deptId; + private String id; + private String lat; + private String lng; + private String name; + private String notes; + private String owner; + private String photo; + private String position; + private String responsiblePerson; + private String responsiblePersonTel; + private String ts; + private String updateTime; + + public String getArea() { + return area; + } + + public void setArea(String area) { + this.area = area; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + 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 getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNotes() { + return notes; + } + + public void setNotes(String notes) { + this.notes = notes; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getPhoto() { + return photo; + } + + public void setPhoto(String photo) { + this.photo = photo; + } + + public String getPosition() { + return position; + } + + public void setPosition(String position) { + this.position = position; + } + + public String getResponsiblePerson() { + return responsiblePerson; + } + + public void setResponsiblePerson(String responsiblePerson) { + this.responsiblePerson = responsiblePerson; + } + + public String getResponsiblePersonTel() { + return responsiblePersonTel; + } + + public void setResponsiblePersonTel(String responsiblePersonTel) { + this.responsiblePersonTel = responsiblePersonTel; + } + + public String getTs() { + return ts; + } + + public void setTs(String ts) { + this.ts = ts; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java new file mode 100644 index 0000000..cd64c8f --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.ToiletListBean; + +public interface OnGetToiletListListener { + void onSuccess(ToiletListBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java new file mode 100644 index 0000000..0e0eec2 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IToiletListModel { + Subscription sendToiletListRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java index 8a9c0d0..9a90954 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java @@ -32,6 +32,7 @@ import com.casic.dcms.bean.PhoneBookBean; import com.casic.dcms.bean.ProcessPersonBean; import com.casic.dcms.bean.PublicKeyBean; +import com.casic.dcms.bean.ToiletListBean; import com.casic.dcms.bean.UrgentCaseBean; import com.casic.dcms.bean.UserBean; import com.casic.dcms.bean.WellDetailBean; @@ -67,6 +68,7 @@ import com.casic.dcms.listener.OnGetSearchListListener; import com.casic.dcms.listener.OnGetSentenceListener; import com.casic.dcms.listener.OnGetSmallClassListener; +import com.casic.dcms.listener.OnGetToiletListListener; import com.casic.dcms.listener.OnGetUrgentCaseListListener; import com.casic.dcms.listener.OnGetUserListener; import com.casic.dcms.listener.OnGetWellDetailListener; @@ -93,11 +95,11 @@ ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, ICaseHandleModel, ICaseDetailModel, ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, ICaseHandledListModel, IUrgentCaseListModel, IComSentenceModel, IOvertimeCaseListModel, IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, - IPersonOnlineModel, ICaseStatusModel, ICaseListModel, ICleanToiletModel, ICleanRecordModel, - IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, IProcessPersonModel, - ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, ILightDetailModel, - IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, IWellListModel, - IOptionWellModel, IPushRegisterModel, IUploadPositionModel { + IPersonOnlineModel, ICaseStatusModel, ICaseListModel, IToiletListModel, ICleanToiletModel, + ICleanRecordModel, IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, + IProcessPersonModel, ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, + ILightDetailModel, IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, + IWellListModel, IOptionWellModel, IPushRegisterModel, IUploadPositionModel { private OnAuthenticateListener onAuthenticateListener; private OnLoginListener loginListener; @@ -125,6 +127,7 @@ private OnGetOnlinePersonListener onlinePersonListener; private OnGetCaseStatusListener caseStatusListener; private OnGetSearchListListener searchListListener; + private OnGetToiletListListener toiletListListener; private OnGetCleanRecordListener cleanRecordListener; private OnGetPackageCaseListener packageCaseListener; private OnGetAuthorizeListener authorizeListener; @@ -238,6 +241,10 @@ this.searchListListener = listener; } + public RetrofitRequestModelImpl(OnGetToiletListListener listener) { + this.toiletListListener = listener; + } + public RetrofitRequestModelImpl(OnGetCleanRecordListener listener) { this.cleanRecordListener = listener; } @@ -1253,6 +1260,34 @@ } /** + * {@link IToiletListModel} + */ + @Override + public Subscription sendToiletListRequest() { + Observable observable = RetrofitServiceManager.getToiletListResult(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + toiletListListener.onFailure(e); + } + } + + @Override + public void onNext(ToiletListBean resultBean) { + if (resultBean != null) { + toiletListListener.onSuccess(resultBean); + } + } + }); + } + + /** * {@link ICleanToiletModel} */ @Override diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IToiletListPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IToiletListPresenter.java new file mode 100644 index 0000000..b918019 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IToiletListPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IToiletListPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ToiletListPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ToiletListPresenterImpl.java new file mode 100644 index 0000000..14b9996 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ToiletListPresenterImpl.java @@ -0,0 +1,38 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.ToiletListBean; +import com.casic.dcms.listener.OnGetToiletListListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.RetrofitRequestModelImpl; +import com.casic.dcms.mvp.view.IToiletListView; + +public class ToiletListPresenterImpl extends BasePresenter implements IToiletListPresenter, OnGetToiletListListener { + + private IToiletListView view; + private RetrofitRequestModelImpl actionModel; + + public ToiletListPresenterImpl(IToiletListView toiletListView) { + this.view = toiletListView; + actionModel = new RetrofitRequestModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.sendToiletListRequest()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(ToiletListBean resultBean) { + view.obtainToiletListData(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java b/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java new file mode 100644 index 0000000..a7a010b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java @@ -0,0 +1,219 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class ToiletListBean { + + private int code; + private String message; + private boolean success; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * area : 20.00 + * code : 3625250008 + * createTime : 2021-07-07 + * delFlag : 0 + * deptId : + * id : 1412675026622865410 + * lat : 27.77740600 + * lng : 116.05673800 + * name : 王泥岭公厕 + * notes : 无 + * owner : 环卫所 + * photo : + * position : 王泥岭 + * responsiblePerson : 张三 + * responsiblePersonTel : 13214521544 + * ts : 2021-01-12 + * updateTime : + */ + + private String area; + private String code; + private String createTime; + private String delFlag; + private String deptId; + private String id; + private String lat; + private String lng; + private String name; + private String notes; + private String owner; + private String photo; + private String position; + private String responsiblePerson; + private String responsiblePersonTel; + private String ts; + private String updateTime; + + public String getArea() { + return area; + } + + public void setArea(String area) { + this.area = area; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + 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 getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNotes() { + return notes; + } + + public void setNotes(String notes) { + this.notes = notes; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getPhoto() { + return photo; + } + + public void setPhoto(String photo) { + this.photo = photo; + } + + public String getPosition() { + return position; + } + + public void setPosition(String position) { + this.position = position; + } + + public String getResponsiblePerson() { + return responsiblePerson; + } + + public void setResponsiblePerson(String responsiblePerson) { + this.responsiblePerson = responsiblePerson; + } + + public String getResponsiblePersonTel() { + return responsiblePersonTel; + } + + public void setResponsiblePersonTel(String responsiblePersonTel) { + this.responsiblePersonTel = responsiblePersonTel; + } + + public String getTs() { + return ts; + } + + public void setTs(String ts) { + this.ts = ts; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java new file mode 100644 index 0000000..cd64c8f --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.ToiletListBean; + +public interface OnGetToiletListListener { + void onSuccess(ToiletListBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java new file mode 100644 index 0000000..0e0eec2 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IToiletListModel { + Subscription sendToiletListRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java index 8a9c0d0..9a90954 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java @@ -32,6 +32,7 @@ import com.casic.dcms.bean.PhoneBookBean; import com.casic.dcms.bean.ProcessPersonBean; import com.casic.dcms.bean.PublicKeyBean; +import com.casic.dcms.bean.ToiletListBean; import com.casic.dcms.bean.UrgentCaseBean; import com.casic.dcms.bean.UserBean; import com.casic.dcms.bean.WellDetailBean; @@ -67,6 +68,7 @@ import com.casic.dcms.listener.OnGetSearchListListener; import com.casic.dcms.listener.OnGetSentenceListener; import com.casic.dcms.listener.OnGetSmallClassListener; +import com.casic.dcms.listener.OnGetToiletListListener; import com.casic.dcms.listener.OnGetUrgentCaseListListener; import com.casic.dcms.listener.OnGetUserListener; import com.casic.dcms.listener.OnGetWellDetailListener; @@ -93,11 +95,11 @@ ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, ICaseHandleModel, ICaseDetailModel, ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, ICaseHandledListModel, IUrgentCaseListModel, IComSentenceModel, IOvertimeCaseListModel, IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, - IPersonOnlineModel, ICaseStatusModel, ICaseListModel, ICleanToiletModel, ICleanRecordModel, - IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, IProcessPersonModel, - ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, ILightDetailModel, - IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, IWellListModel, - IOptionWellModel, IPushRegisterModel, IUploadPositionModel { + IPersonOnlineModel, ICaseStatusModel, ICaseListModel, IToiletListModel, ICleanToiletModel, + ICleanRecordModel, IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, + IProcessPersonModel, ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, + ILightDetailModel, IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, + IWellListModel, IOptionWellModel, IPushRegisterModel, IUploadPositionModel { private OnAuthenticateListener onAuthenticateListener; private OnLoginListener loginListener; @@ -125,6 +127,7 @@ private OnGetOnlinePersonListener onlinePersonListener; private OnGetCaseStatusListener caseStatusListener; private OnGetSearchListListener searchListListener; + private OnGetToiletListListener toiletListListener; private OnGetCleanRecordListener cleanRecordListener; private OnGetPackageCaseListener packageCaseListener; private OnGetAuthorizeListener authorizeListener; @@ -238,6 +241,10 @@ this.searchListListener = listener; } + public RetrofitRequestModelImpl(OnGetToiletListListener listener) { + this.toiletListListener = listener; + } + public RetrofitRequestModelImpl(OnGetCleanRecordListener listener) { this.cleanRecordListener = listener; } @@ -1253,6 +1260,34 @@ } /** + * {@link IToiletListModel} + */ + @Override + public Subscription sendToiletListRequest() { + Observable observable = RetrofitServiceManager.getToiletListResult(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + toiletListListener.onFailure(e); + } + } + + @Override + public void onNext(ToiletListBean resultBean) { + if (resultBean != null) { + toiletListListener.onSuccess(resultBean); + } + } + }); + } + + /** * {@link ICleanToiletModel} */ @Override diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IToiletListPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IToiletListPresenter.java new file mode 100644 index 0000000..b918019 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IToiletListPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IToiletListPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ToiletListPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ToiletListPresenterImpl.java new file mode 100644 index 0000000..14b9996 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ToiletListPresenterImpl.java @@ -0,0 +1,38 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.ToiletListBean; +import com.casic.dcms.listener.OnGetToiletListListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.RetrofitRequestModelImpl; +import com.casic.dcms.mvp.view.IToiletListView; + +public class ToiletListPresenterImpl extends BasePresenter implements IToiletListPresenter, OnGetToiletListListener { + + private IToiletListView view; + private RetrofitRequestModelImpl actionModel; + + public ToiletListPresenterImpl(IToiletListView toiletListView) { + this.view = toiletListView; + actionModel = new RetrofitRequestModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.sendToiletListRequest()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(ToiletListBean resultBean) { + view.obtainToiletListData(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IToiletListView.java b/app/src/main/java/com/casic/dcms/mvp/view/IToiletListView.java new file mode 100644 index 0000000..2ec0dc5 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IToiletListView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.ToiletListBean; + +public interface IToiletListView { + void obtainToiletListData(ToiletListBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java b/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java new file mode 100644 index 0000000..a7a010b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java @@ -0,0 +1,219 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class ToiletListBean { + + private int code; + private String message; + private boolean success; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * area : 20.00 + * code : 3625250008 + * createTime : 2021-07-07 + * delFlag : 0 + * deptId : + * id : 1412675026622865410 + * lat : 27.77740600 + * lng : 116.05673800 + * name : 王泥岭公厕 + * notes : 无 + * owner : 环卫所 + * photo : + * position : 王泥岭 + * responsiblePerson : 张三 + * responsiblePersonTel : 13214521544 + * ts : 2021-01-12 + * updateTime : + */ + + private String area; + private String code; + private String createTime; + private String delFlag; + private String deptId; + private String id; + private String lat; + private String lng; + private String name; + private String notes; + private String owner; + private String photo; + private String position; + private String responsiblePerson; + private String responsiblePersonTel; + private String ts; + private String updateTime; + + public String getArea() { + return area; + } + + public void setArea(String area) { + this.area = area; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + 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 getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNotes() { + return notes; + } + + public void setNotes(String notes) { + this.notes = notes; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getPhoto() { + return photo; + } + + public void setPhoto(String photo) { + this.photo = photo; + } + + public String getPosition() { + return position; + } + + public void setPosition(String position) { + this.position = position; + } + + public String getResponsiblePerson() { + return responsiblePerson; + } + + public void setResponsiblePerson(String responsiblePerson) { + this.responsiblePerson = responsiblePerson; + } + + public String getResponsiblePersonTel() { + return responsiblePersonTel; + } + + public void setResponsiblePersonTel(String responsiblePersonTel) { + this.responsiblePersonTel = responsiblePersonTel; + } + + public String getTs() { + return ts; + } + + public void setTs(String ts) { + this.ts = ts; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java new file mode 100644 index 0000000..cd64c8f --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.ToiletListBean; + +public interface OnGetToiletListListener { + void onSuccess(ToiletListBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java new file mode 100644 index 0000000..0e0eec2 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IToiletListModel { + Subscription sendToiletListRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java index 8a9c0d0..9a90954 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java @@ -32,6 +32,7 @@ import com.casic.dcms.bean.PhoneBookBean; import com.casic.dcms.bean.ProcessPersonBean; import com.casic.dcms.bean.PublicKeyBean; +import com.casic.dcms.bean.ToiletListBean; import com.casic.dcms.bean.UrgentCaseBean; import com.casic.dcms.bean.UserBean; import com.casic.dcms.bean.WellDetailBean; @@ -67,6 +68,7 @@ import com.casic.dcms.listener.OnGetSearchListListener; import com.casic.dcms.listener.OnGetSentenceListener; import com.casic.dcms.listener.OnGetSmallClassListener; +import com.casic.dcms.listener.OnGetToiletListListener; import com.casic.dcms.listener.OnGetUrgentCaseListListener; import com.casic.dcms.listener.OnGetUserListener; import com.casic.dcms.listener.OnGetWellDetailListener; @@ -93,11 +95,11 @@ ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, ICaseHandleModel, ICaseDetailModel, ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, ICaseHandledListModel, IUrgentCaseListModel, IComSentenceModel, IOvertimeCaseListModel, IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, - IPersonOnlineModel, ICaseStatusModel, ICaseListModel, ICleanToiletModel, ICleanRecordModel, - IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, IProcessPersonModel, - ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, ILightDetailModel, - IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, IWellListModel, - IOptionWellModel, IPushRegisterModel, IUploadPositionModel { + IPersonOnlineModel, ICaseStatusModel, ICaseListModel, IToiletListModel, ICleanToiletModel, + ICleanRecordModel, IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, + IProcessPersonModel, ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, + ILightDetailModel, IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, + IWellListModel, IOptionWellModel, IPushRegisterModel, IUploadPositionModel { private OnAuthenticateListener onAuthenticateListener; private OnLoginListener loginListener; @@ -125,6 +127,7 @@ private OnGetOnlinePersonListener onlinePersonListener; private OnGetCaseStatusListener caseStatusListener; private OnGetSearchListListener searchListListener; + private OnGetToiletListListener toiletListListener; private OnGetCleanRecordListener cleanRecordListener; private OnGetPackageCaseListener packageCaseListener; private OnGetAuthorizeListener authorizeListener; @@ -238,6 +241,10 @@ this.searchListListener = listener; } + public RetrofitRequestModelImpl(OnGetToiletListListener listener) { + this.toiletListListener = listener; + } + public RetrofitRequestModelImpl(OnGetCleanRecordListener listener) { this.cleanRecordListener = listener; } @@ -1253,6 +1260,34 @@ } /** + * {@link IToiletListModel} + */ + @Override + public Subscription sendToiletListRequest() { + Observable observable = RetrofitServiceManager.getToiletListResult(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + toiletListListener.onFailure(e); + } + } + + @Override + public void onNext(ToiletListBean resultBean) { + if (resultBean != null) { + toiletListListener.onSuccess(resultBean); + } + } + }); + } + + /** * {@link ICleanToiletModel} */ @Override diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IToiletListPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IToiletListPresenter.java new file mode 100644 index 0000000..b918019 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IToiletListPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IToiletListPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ToiletListPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ToiletListPresenterImpl.java new file mode 100644 index 0000000..14b9996 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ToiletListPresenterImpl.java @@ -0,0 +1,38 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.ToiletListBean; +import com.casic.dcms.listener.OnGetToiletListListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.RetrofitRequestModelImpl; +import com.casic.dcms.mvp.view.IToiletListView; + +public class ToiletListPresenterImpl extends BasePresenter implements IToiletListPresenter, OnGetToiletListListener { + + private IToiletListView view; + private RetrofitRequestModelImpl actionModel; + + public ToiletListPresenterImpl(IToiletListView toiletListView) { + this.view = toiletListView; + actionModel = new RetrofitRequestModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.sendToiletListRequest()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(ToiletListBean resultBean) { + view.obtainToiletListData(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IToiletListView.java b/app/src/main/java/com/casic/dcms/mvp/view/IToiletListView.java new file mode 100644 index 0000000..2ec0dc5 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IToiletListView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.ToiletListBean; + +public interface IToiletListView { + void obtainToiletListData(ToiletListBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java index 8ee7e90..2ab2f73 100644 --- a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java @@ -120,7 +120,7 @@ public void onClick(View v) { switch (v.getId()) { case R.id.bridgeLayout: - String bridgeJson = (String) SaveKeyValues.getValue(Constant.BRIDGES, ""); + String bridgeJson = (String) SaveKeyValues.getValue(Constant.BRIDGE_LIST, ""); if (bridgeJson.equals("")) { ToastHelper.showToast("获取桥梁数据异常", ToastHelper.ERROR); return; diff --git a/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java b/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java new file mode 100644 index 0000000..a7a010b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java @@ -0,0 +1,219 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class ToiletListBean { + + private int code; + private String message; + private boolean success; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * area : 20.00 + * code : 3625250008 + * createTime : 2021-07-07 + * delFlag : 0 + * deptId : + * id : 1412675026622865410 + * lat : 27.77740600 + * lng : 116.05673800 + * name : 王泥岭公厕 + * notes : 无 + * owner : 环卫所 + * photo : + * position : 王泥岭 + * responsiblePerson : 张三 + * responsiblePersonTel : 13214521544 + * ts : 2021-01-12 + * updateTime : + */ + + private String area; + private String code; + private String createTime; + private String delFlag; + private String deptId; + private String id; + private String lat; + private String lng; + private String name; + private String notes; + private String owner; + private String photo; + private String position; + private String responsiblePerson; + private String responsiblePersonTel; + private String ts; + private String updateTime; + + public String getArea() { + return area; + } + + public void setArea(String area) { + this.area = area; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + 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 getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNotes() { + return notes; + } + + public void setNotes(String notes) { + this.notes = notes; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getPhoto() { + return photo; + } + + public void setPhoto(String photo) { + this.photo = photo; + } + + public String getPosition() { + return position; + } + + public void setPosition(String position) { + this.position = position; + } + + public String getResponsiblePerson() { + return responsiblePerson; + } + + public void setResponsiblePerson(String responsiblePerson) { + this.responsiblePerson = responsiblePerson; + } + + public String getResponsiblePersonTel() { + return responsiblePersonTel; + } + + public void setResponsiblePersonTel(String responsiblePersonTel) { + this.responsiblePersonTel = responsiblePersonTel; + } + + public String getTs() { + return ts; + } + + public void setTs(String ts) { + this.ts = ts; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java new file mode 100644 index 0000000..cd64c8f --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.ToiletListBean; + +public interface OnGetToiletListListener { + void onSuccess(ToiletListBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java new file mode 100644 index 0000000..0e0eec2 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IToiletListModel { + Subscription sendToiletListRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java index 8a9c0d0..9a90954 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java @@ -32,6 +32,7 @@ import com.casic.dcms.bean.PhoneBookBean; import com.casic.dcms.bean.ProcessPersonBean; import com.casic.dcms.bean.PublicKeyBean; +import com.casic.dcms.bean.ToiletListBean; import com.casic.dcms.bean.UrgentCaseBean; import com.casic.dcms.bean.UserBean; import com.casic.dcms.bean.WellDetailBean; @@ -67,6 +68,7 @@ import com.casic.dcms.listener.OnGetSearchListListener; import com.casic.dcms.listener.OnGetSentenceListener; import com.casic.dcms.listener.OnGetSmallClassListener; +import com.casic.dcms.listener.OnGetToiletListListener; import com.casic.dcms.listener.OnGetUrgentCaseListListener; import com.casic.dcms.listener.OnGetUserListener; import com.casic.dcms.listener.OnGetWellDetailListener; @@ -93,11 +95,11 @@ ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, ICaseHandleModel, ICaseDetailModel, ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, ICaseHandledListModel, IUrgentCaseListModel, IComSentenceModel, IOvertimeCaseListModel, IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, - IPersonOnlineModel, ICaseStatusModel, ICaseListModel, ICleanToiletModel, ICleanRecordModel, - IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, IProcessPersonModel, - ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, ILightDetailModel, - IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, IWellListModel, - IOptionWellModel, IPushRegisterModel, IUploadPositionModel { + IPersonOnlineModel, ICaseStatusModel, ICaseListModel, IToiletListModel, ICleanToiletModel, + ICleanRecordModel, IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, + IProcessPersonModel, ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, + ILightDetailModel, IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, + IWellListModel, IOptionWellModel, IPushRegisterModel, IUploadPositionModel { private OnAuthenticateListener onAuthenticateListener; private OnLoginListener loginListener; @@ -125,6 +127,7 @@ private OnGetOnlinePersonListener onlinePersonListener; private OnGetCaseStatusListener caseStatusListener; private OnGetSearchListListener searchListListener; + private OnGetToiletListListener toiletListListener; private OnGetCleanRecordListener cleanRecordListener; private OnGetPackageCaseListener packageCaseListener; private OnGetAuthorizeListener authorizeListener; @@ -238,6 +241,10 @@ this.searchListListener = listener; } + public RetrofitRequestModelImpl(OnGetToiletListListener listener) { + this.toiletListListener = listener; + } + public RetrofitRequestModelImpl(OnGetCleanRecordListener listener) { this.cleanRecordListener = listener; } @@ -1253,6 +1260,34 @@ } /** + * {@link IToiletListModel} + */ + @Override + public Subscription sendToiletListRequest() { + Observable observable = RetrofitServiceManager.getToiletListResult(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + toiletListListener.onFailure(e); + } + } + + @Override + public void onNext(ToiletListBean resultBean) { + if (resultBean != null) { + toiletListListener.onSuccess(resultBean); + } + } + }); + } + + /** * {@link ICleanToiletModel} */ @Override diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IToiletListPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IToiletListPresenter.java new file mode 100644 index 0000000..b918019 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IToiletListPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IToiletListPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ToiletListPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ToiletListPresenterImpl.java new file mode 100644 index 0000000..14b9996 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ToiletListPresenterImpl.java @@ -0,0 +1,38 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.ToiletListBean; +import com.casic.dcms.listener.OnGetToiletListListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.RetrofitRequestModelImpl; +import com.casic.dcms.mvp.view.IToiletListView; + +public class ToiletListPresenterImpl extends BasePresenter implements IToiletListPresenter, OnGetToiletListListener { + + private IToiletListView view; + private RetrofitRequestModelImpl actionModel; + + public ToiletListPresenterImpl(IToiletListView toiletListView) { + this.view = toiletListView; + actionModel = new RetrofitRequestModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.sendToiletListRequest()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(ToiletListBean resultBean) { + view.obtainToiletListData(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IToiletListView.java b/app/src/main/java/com/casic/dcms/mvp/view/IToiletListView.java new file mode 100644 index 0000000..2ec0dc5 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IToiletListView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.ToiletListBean; + +public interface IToiletListView { + void obtainToiletListData(ToiletListBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java index 8ee7e90..2ab2f73 100644 --- a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java @@ -120,7 +120,7 @@ public void onClick(View v) { switch (v.getId()) { case R.id.bridgeLayout: - String bridgeJson = (String) SaveKeyValues.getValue(Constant.BRIDGES, ""); + String bridgeJson = (String) SaveKeyValues.getValue(Constant.BRIDGE_LIST, ""); if (bridgeJson.equals("")) { ToastHelper.showToast("获取桥梁数据异常", ToastHelper.ERROR); return; diff --git a/app/src/main/java/com/casic/dcms/ui/MainActivity.java b/app/src/main/java/com/casic/dcms/ui/MainActivity.java index 05b678b..1c1fcd0 100644 --- a/app/src/main/java/com/casic/dcms/ui/MainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/MainActivity.java @@ -24,10 +24,13 @@ import com.casic.dcms.bean.ActionResultBean; import com.casic.dcms.bean.NoticeBean; import com.casic.dcms.bean.ProjectConfigBean; +import com.casic.dcms.bean.ToiletListBean; import com.casic.dcms.greendao.NoticeBeanDao; import com.casic.dcms.mvp.presenter.PushRegisterPresenterImpl; +import com.casic.dcms.mvp.presenter.ToiletListPresenterImpl; import com.casic.dcms.mvp.presenter.UploadPositionPresenterImpl; import com.casic.dcms.mvp.view.IPushRegisterView; +import com.casic.dcms.mvp.view.IToiletListView; import com.casic.dcms.mvp.view.IUploadPositionView; import com.casic.dcms.service.UploadLocationService; import com.casic.dcms.ui.fragment.HomePageFragment; @@ -56,7 +59,7 @@ import butterknife.BindView; import okhttp3.ResponseBody; -public class MainActivity extends DoubleClickExitActivity implements IUploadPositionView, IPushRegisterView { +public class MainActivity extends DoubleClickExitActivity implements IUploadPositionView, IPushRegisterView, IToiletListView { private static final String TAG = "MainActivity"; @BindView(R.id.pageTitleView) @@ -72,8 +75,10 @@ private List pageList; private UploadPositionPresenterImpl uploadPositionPresenter; private PushRegisterPresenterImpl registerPresenter; + private ToiletListPresenterImpl toiletListPresenter; private String imei = ""; private static WeakReferenceHandler weakReferenceHandler; + private Gson gson; @Override public int initLayoutView() { @@ -94,7 +99,9 @@ weakReferenceHandler = new WeakReferenceHandler(this); uploadPositionPresenter = new UploadPositionPresenterImpl(this); registerPresenter = new PushRegisterPresenterImpl(this); + toiletListPresenter = new ToiletListPresenterImpl(this); + gson = new Gson(); pageList = new ArrayList<>(); pageList.add(new HomePageFragment()); pageList.add(new PhonePageFragment()); @@ -102,7 +109,7 @@ pageList.add(new MinePageFragment()); imei = OtherUtils.obtainSimCardSerialNumber(this); - //获取桥梁配置项 + //获取配置项 obtainProjectConfig(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { @@ -114,14 +121,14 @@ } private void obtainProjectConfig() { + //桥梁数据 HttpRequestHelper.doRequest(Constant.PROJECT_CONFIG, new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { try { - Gson gson = new Gson(); String resultStr = resultBean.string(); List bridges = gson.fromJson(resultStr, ProjectConfigBean.class).getBridges(); - SaveKeyValues.putValue(Constant.BRIDGES, gson.toJson(bridges)); + SaveKeyValues.putValue(Constant.BRIDGE_LIST, gson.toJson(bridges)); } catch (IOException e) { e.printStackTrace(); } @@ -132,6 +139,8 @@ } }); + //公厕数据 + toiletListPresenter.onReadyRetrofitRequest(); } @Override @@ -299,6 +308,13 @@ } @Override + public void obtainToiletListData(ToiletListBean resultBean) { + if (resultBean.isSuccess()) { + SaveKeyValues.putValue(Constant.TOILET_LIST, gson.toJson(resultBean.getData())); + } + } + + @Override protected void onDestroy() { super.onDestroy(); if (uploadPositionPresenter != null) { @@ -307,5 +323,8 @@ if (registerPresenter != null) { registerPresenter.disposeRetrofitRequest(); } + if (toiletListPresenter != null) { + toiletListPresenter.disposeRetrofitRequest(); + } } } diff --git a/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java b/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java new file mode 100644 index 0000000..a7a010b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java @@ -0,0 +1,219 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class ToiletListBean { + + private int code; + private String message; + private boolean success; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * area : 20.00 + * code : 3625250008 + * createTime : 2021-07-07 + * delFlag : 0 + * deptId : + * id : 1412675026622865410 + * lat : 27.77740600 + * lng : 116.05673800 + * name : 王泥岭公厕 + * notes : 无 + * owner : 环卫所 + * photo : + * position : 王泥岭 + * responsiblePerson : 张三 + * responsiblePersonTel : 13214521544 + * ts : 2021-01-12 + * updateTime : + */ + + private String area; + private String code; + private String createTime; + private String delFlag; + private String deptId; + private String id; + private String lat; + private String lng; + private String name; + private String notes; + private String owner; + private String photo; + private String position; + private String responsiblePerson; + private String responsiblePersonTel; + private String ts; + private String updateTime; + + public String getArea() { + return area; + } + + public void setArea(String area) { + this.area = area; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + 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 getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNotes() { + return notes; + } + + public void setNotes(String notes) { + this.notes = notes; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getPhoto() { + return photo; + } + + public void setPhoto(String photo) { + this.photo = photo; + } + + public String getPosition() { + return position; + } + + public void setPosition(String position) { + this.position = position; + } + + public String getResponsiblePerson() { + return responsiblePerson; + } + + public void setResponsiblePerson(String responsiblePerson) { + this.responsiblePerson = responsiblePerson; + } + + public String getResponsiblePersonTel() { + return responsiblePersonTel; + } + + public void setResponsiblePersonTel(String responsiblePersonTel) { + this.responsiblePersonTel = responsiblePersonTel; + } + + public String getTs() { + return ts; + } + + public void setTs(String ts) { + this.ts = ts; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java new file mode 100644 index 0000000..cd64c8f --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.ToiletListBean; + +public interface OnGetToiletListListener { + void onSuccess(ToiletListBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java new file mode 100644 index 0000000..0e0eec2 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IToiletListModel { + Subscription sendToiletListRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java index 8a9c0d0..9a90954 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java @@ -32,6 +32,7 @@ import com.casic.dcms.bean.PhoneBookBean; import com.casic.dcms.bean.ProcessPersonBean; import com.casic.dcms.bean.PublicKeyBean; +import com.casic.dcms.bean.ToiletListBean; import com.casic.dcms.bean.UrgentCaseBean; import com.casic.dcms.bean.UserBean; import com.casic.dcms.bean.WellDetailBean; @@ -67,6 +68,7 @@ import com.casic.dcms.listener.OnGetSearchListListener; import com.casic.dcms.listener.OnGetSentenceListener; import com.casic.dcms.listener.OnGetSmallClassListener; +import com.casic.dcms.listener.OnGetToiletListListener; import com.casic.dcms.listener.OnGetUrgentCaseListListener; import com.casic.dcms.listener.OnGetUserListener; import com.casic.dcms.listener.OnGetWellDetailListener; @@ -93,11 +95,11 @@ ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, ICaseHandleModel, ICaseDetailModel, ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, ICaseHandledListModel, IUrgentCaseListModel, IComSentenceModel, IOvertimeCaseListModel, IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, - IPersonOnlineModel, ICaseStatusModel, ICaseListModel, ICleanToiletModel, ICleanRecordModel, - IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, IProcessPersonModel, - ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, ILightDetailModel, - IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, IWellListModel, - IOptionWellModel, IPushRegisterModel, IUploadPositionModel { + IPersonOnlineModel, ICaseStatusModel, ICaseListModel, IToiletListModel, ICleanToiletModel, + ICleanRecordModel, IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, + IProcessPersonModel, ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, + ILightDetailModel, IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, + IWellListModel, IOptionWellModel, IPushRegisterModel, IUploadPositionModel { private OnAuthenticateListener onAuthenticateListener; private OnLoginListener loginListener; @@ -125,6 +127,7 @@ private OnGetOnlinePersonListener onlinePersonListener; private OnGetCaseStatusListener caseStatusListener; private OnGetSearchListListener searchListListener; + private OnGetToiletListListener toiletListListener; private OnGetCleanRecordListener cleanRecordListener; private OnGetPackageCaseListener packageCaseListener; private OnGetAuthorizeListener authorizeListener; @@ -238,6 +241,10 @@ this.searchListListener = listener; } + public RetrofitRequestModelImpl(OnGetToiletListListener listener) { + this.toiletListListener = listener; + } + public RetrofitRequestModelImpl(OnGetCleanRecordListener listener) { this.cleanRecordListener = listener; } @@ -1253,6 +1260,34 @@ } /** + * {@link IToiletListModel} + */ + @Override + public Subscription sendToiletListRequest() { + Observable observable = RetrofitServiceManager.getToiletListResult(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + toiletListListener.onFailure(e); + } + } + + @Override + public void onNext(ToiletListBean resultBean) { + if (resultBean != null) { + toiletListListener.onSuccess(resultBean); + } + } + }); + } + + /** * {@link ICleanToiletModel} */ @Override diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IToiletListPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IToiletListPresenter.java new file mode 100644 index 0000000..b918019 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IToiletListPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IToiletListPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ToiletListPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ToiletListPresenterImpl.java new file mode 100644 index 0000000..14b9996 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ToiletListPresenterImpl.java @@ -0,0 +1,38 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.ToiletListBean; +import com.casic.dcms.listener.OnGetToiletListListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.RetrofitRequestModelImpl; +import com.casic.dcms.mvp.view.IToiletListView; + +public class ToiletListPresenterImpl extends BasePresenter implements IToiletListPresenter, OnGetToiletListListener { + + private IToiletListView view; + private RetrofitRequestModelImpl actionModel; + + public ToiletListPresenterImpl(IToiletListView toiletListView) { + this.view = toiletListView; + actionModel = new RetrofitRequestModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.sendToiletListRequest()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(ToiletListBean resultBean) { + view.obtainToiletListData(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IToiletListView.java b/app/src/main/java/com/casic/dcms/mvp/view/IToiletListView.java new file mode 100644 index 0000000..2ec0dc5 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IToiletListView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.ToiletListBean; + +public interface IToiletListView { + void obtainToiletListData(ToiletListBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java index 8ee7e90..2ab2f73 100644 --- a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java @@ -120,7 +120,7 @@ public void onClick(View v) { switch (v.getId()) { case R.id.bridgeLayout: - String bridgeJson = (String) SaveKeyValues.getValue(Constant.BRIDGES, ""); + String bridgeJson = (String) SaveKeyValues.getValue(Constant.BRIDGE_LIST, ""); if (bridgeJson.equals("")) { ToastHelper.showToast("获取桥梁数据异常", ToastHelper.ERROR); return; diff --git a/app/src/main/java/com/casic/dcms/ui/MainActivity.java b/app/src/main/java/com/casic/dcms/ui/MainActivity.java index 05b678b..1c1fcd0 100644 --- a/app/src/main/java/com/casic/dcms/ui/MainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/MainActivity.java @@ -24,10 +24,13 @@ import com.casic.dcms.bean.ActionResultBean; import com.casic.dcms.bean.NoticeBean; import com.casic.dcms.bean.ProjectConfigBean; +import com.casic.dcms.bean.ToiletListBean; import com.casic.dcms.greendao.NoticeBeanDao; import com.casic.dcms.mvp.presenter.PushRegisterPresenterImpl; +import com.casic.dcms.mvp.presenter.ToiletListPresenterImpl; import com.casic.dcms.mvp.presenter.UploadPositionPresenterImpl; import com.casic.dcms.mvp.view.IPushRegisterView; +import com.casic.dcms.mvp.view.IToiletListView; import com.casic.dcms.mvp.view.IUploadPositionView; import com.casic.dcms.service.UploadLocationService; import com.casic.dcms.ui.fragment.HomePageFragment; @@ -56,7 +59,7 @@ import butterknife.BindView; import okhttp3.ResponseBody; -public class MainActivity extends DoubleClickExitActivity implements IUploadPositionView, IPushRegisterView { +public class MainActivity extends DoubleClickExitActivity implements IUploadPositionView, IPushRegisterView, IToiletListView { private static final String TAG = "MainActivity"; @BindView(R.id.pageTitleView) @@ -72,8 +75,10 @@ private List pageList; private UploadPositionPresenterImpl uploadPositionPresenter; private PushRegisterPresenterImpl registerPresenter; + private ToiletListPresenterImpl toiletListPresenter; private String imei = ""; private static WeakReferenceHandler weakReferenceHandler; + private Gson gson; @Override public int initLayoutView() { @@ -94,7 +99,9 @@ weakReferenceHandler = new WeakReferenceHandler(this); uploadPositionPresenter = new UploadPositionPresenterImpl(this); registerPresenter = new PushRegisterPresenterImpl(this); + toiletListPresenter = new ToiletListPresenterImpl(this); + gson = new Gson(); pageList = new ArrayList<>(); pageList.add(new HomePageFragment()); pageList.add(new PhonePageFragment()); @@ -102,7 +109,7 @@ pageList.add(new MinePageFragment()); imei = OtherUtils.obtainSimCardSerialNumber(this); - //获取桥梁配置项 + //获取配置项 obtainProjectConfig(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { @@ -114,14 +121,14 @@ } private void obtainProjectConfig() { + //桥梁数据 HttpRequestHelper.doRequest(Constant.PROJECT_CONFIG, new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { try { - Gson gson = new Gson(); String resultStr = resultBean.string(); List bridges = gson.fromJson(resultStr, ProjectConfigBean.class).getBridges(); - SaveKeyValues.putValue(Constant.BRIDGES, gson.toJson(bridges)); + SaveKeyValues.putValue(Constant.BRIDGE_LIST, gson.toJson(bridges)); } catch (IOException e) { e.printStackTrace(); } @@ -132,6 +139,8 @@ } }); + //公厕数据 + toiletListPresenter.onReadyRetrofitRequest(); } @Override @@ -299,6 +308,13 @@ } @Override + public void obtainToiletListData(ToiletListBean resultBean) { + if (resultBean.isSuccess()) { + SaveKeyValues.putValue(Constant.TOILET_LIST, gson.toJson(resultBean.getData())); + } + } + + @Override protected void onDestroy() { super.onDestroy(); if (uploadPositionPresenter != null) { @@ -307,5 +323,8 @@ if (registerPresenter != null) { registerPresenter.disposeRetrofitRequest(); } + if (toiletListPresenter != null) { + toiletListPresenter.disposeRetrofitRequest(); + } } } diff --git a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java index e927cc5..7e3d47e 100644 --- a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java @@ -23,6 +23,7 @@ import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.bean.ToiletListBean; import com.casic.dcms.mvp.presenter.CleanToiletPresenterImpl; import com.casic.dcms.mvp.presenter.UploadImagePresenterImpl; import com.casic.dcms.mvp.view.IPublicToiletView; @@ -30,6 +31,7 @@ import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.SaveKeyValues; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.ToastHelper; @@ -48,6 +50,8 @@ import com.esri.arcgisruntime.mapping.view.MapView; import com.esri.arcgisruntime.symbology.PictureMarkerSymbol; import com.esri.arcgisruntime.util.ListenableList; +import com.google.gson.Gson; +import com.google.gson.reflect.TypeToken; import com.jzxiang.pickerview.TimePickerDialog; import com.jzxiang.pickerview.data.Type; import com.luck.picture.lib.PictureSelector; @@ -61,6 +65,7 @@ import java.io.File; import java.util.ArrayList; +import java.util.List; import butterknife.BindView; import butterknife.OnClick; @@ -200,7 +205,7 @@ graphicsOverlays.add(mGraphicsOverlay); } - @OnClick({R.id.expandMapView, R.id.minusMapView, R.id.startTimeLayout, R.id.endTimeLayout, R.id.selectWorkLayout, R.id.obtainToiletIdLayout, R.id.takePictureView, R.id.signInButton}) + @OnClick({R.id.expandMapView, R.id.minusMapView, R.id.obtainToiletIdLayout, R.id.startTimeLayout, R.id.endTimeLayout, R.id.selectWorkLayout, R.id.takePictureView, R.id.signInButton}) @Override public void onClick(View v) { switch (v.getId()) { @@ -210,6 +215,29 @@ case R.id.minusMapView: mapView.setViewpointScaleAsync(mapView.getMapScale() * 2); break; + case R.id.obtainToiletIdLayout: + String toiletValue = (String) SaveKeyValues.getValue(Constant.TOILET_LIST, ""); + if (toiletValue.equals("")) { + ToastHelper.showToast("获取公厕数据失败,请联系管理员", ToastHelper.ERROR); + return; + } + List dataBeans = new Gson().fromJson(toiletValue, new TypeToken>() { + }.getType()); + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); + sheetBuilder.setTitle("请选择您要打卡的公厕"); + for (ToiletListBean.DataBean it : dataBeans) { + sheetBuilder.addItem(it.getName()); + } + sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + + toiletIdView.setText(dataBeans.get(position).getId()); + //TODO 是否需要将地图移到相应的公厕,待定 + } + }).build().show(); + break; case R.id.startTimeLayout: new TimePickerDialog.Builder().setThemeColor(ContextCompat.getColor(this, R.color.mainThemeColor)) .setTitleStringId("请选择开始时间") diff --git a/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java b/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java new file mode 100644 index 0000000..a7a010b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java @@ -0,0 +1,219 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class ToiletListBean { + + private int code; + private String message; + private boolean success; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * area : 20.00 + * code : 3625250008 + * createTime : 2021-07-07 + * delFlag : 0 + * deptId : + * id : 1412675026622865410 + * lat : 27.77740600 + * lng : 116.05673800 + * name : 王泥岭公厕 + * notes : 无 + * owner : 环卫所 + * photo : + * position : 王泥岭 + * responsiblePerson : 张三 + * responsiblePersonTel : 13214521544 + * ts : 2021-01-12 + * updateTime : + */ + + private String area; + private String code; + private String createTime; + private String delFlag; + private String deptId; + private String id; + private String lat; + private String lng; + private String name; + private String notes; + private String owner; + private String photo; + private String position; + private String responsiblePerson; + private String responsiblePersonTel; + private String ts; + private String updateTime; + + public String getArea() { + return area; + } + + public void setArea(String area) { + this.area = area; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + 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 getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNotes() { + return notes; + } + + public void setNotes(String notes) { + this.notes = notes; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getPhoto() { + return photo; + } + + public void setPhoto(String photo) { + this.photo = photo; + } + + public String getPosition() { + return position; + } + + public void setPosition(String position) { + this.position = position; + } + + public String getResponsiblePerson() { + return responsiblePerson; + } + + public void setResponsiblePerson(String responsiblePerson) { + this.responsiblePerson = responsiblePerson; + } + + public String getResponsiblePersonTel() { + return responsiblePersonTel; + } + + public void setResponsiblePersonTel(String responsiblePersonTel) { + this.responsiblePersonTel = responsiblePersonTel; + } + + public String getTs() { + return ts; + } + + public void setTs(String ts) { + this.ts = ts; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java new file mode 100644 index 0000000..cd64c8f --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.ToiletListBean; + +public interface OnGetToiletListListener { + void onSuccess(ToiletListBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java new file mode 100644 index 0000000..0e0eec2 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IToiletListModel { + Subscription sendToiletListRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java index 8a9c0d0..9a90954 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java @@ -32,6 +32,7 @@ import com.casic.dcms.bean.PhoneBookBean; import com.casic.dcms.bean.ProcessPersonBean; import com.casic.dcms.bean.PublicKeyBean; +import com.casic.dcms.bean.ToiletListBean; import com.casic.dcms.bean.UrgentCaseBean; import com.casic.dcms.bean.UserBean; import com.casic.dcms.bean.WellDetailBean; @@ -67,6 +68,7 @@ import com.casic.dcms.listener.OnGetSearchListListener; import com.casic.dcms.listener.OnGetSentenceListener; import com.casic.dcms.listener.OnGetSmallClassListener; +import com.casic.dcms.listener.OnGetToiletListListener; import com.casic.dcms.listener.OnGetUrgentCaseListListener; import com.casic.dcms.listener.OnGetUserListener; import com.casic.dcms.listener.OnGetWellDetailListener; @@ -93,11 +95,11 @@ ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, ICaseHandleModel, ICaseDetailModel, ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, ICaseHandledListModel, IUrgentCaseListModel, IComSentenceModel, IOvertimeCaseListModel, IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, - IPersonOnlineModel, ICaseStatusModel, ICaseListModel, ICleanToiletModel, ICleanRecordModel, - IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, IProcessPersonModel, - ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, ILightDetailModel, - IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, IWellListModel, - IOptionWellModel, IPushRegisterModel, IUploadPositionModel { + IPersonOnlineModel, ICaseStatusModel, ICaseListModel, IToiletListModel, ICleanToiletModel, + ICleanRecordModel, IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, + IProcessPersonModel, ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, + ILightDetailModel, IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, + IWellListModel, IOptionWellModel, IPushRegisterModel, IUploadPositionModel { private OnAuthenticateListener onAuthenticateListener; private OnLoginListener loginListener; @@ -125,6 +127,7 @@ private OnGetOnlinePersonListener onlinePersonListener; private OnGetCaseStatusListener caseStatusListener; private OnGetSearchListListener searchListListener; + private OnGetToiletListListener toiletListListener; private OnGetCleanRecordListener cleanRecordListener; private OnGetPackageCaseListener packageCaseListener; private OnGetAuthorizeListener authorizeListener; @@ -238,6 +241,10 @@ this.searchListListener = listener; } + public RetrofitRequestModelImpl(OnGetToiletListListener listener) { + this.toiletListListener = listener; + } + public RetrofitRequestModelImpl(OnGetCleanRecordListener listener) { this.cleanRecordListener = listener; } @@ -1253,6 +1260,34 @@ } /** + * {@link IToiletListModel} + */ + @Override + public Subscription sendToiletListRequest() { + Observable observable = RetrofitServiceManager.getToiletListResult(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + toiletListListener.onFailure(e); + } + } + + @Override + public void onNext(ToiletListBean resultBean) { + if (resultBean != null) { + toiletListListener.onSuccess(resultBean); + } + } + }); + } + + /** * {@link ICleanToiletModel} */ @Override diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IToiletListPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IToiletListPresenter.java new file mode 100644 index 0000000..b918019 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IToiletListPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IToiletListPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ToiletListPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ToiletListPresenterImpl.java new file mode 100644 index 0000000..14b9996 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ToiletListPresenterImpl.java @@ -0,0 +1,38 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.ToiletListBean; +import com.casic.dcms.listener.OnGetToiletListListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.RetrofitRequestModelImpl; +import com.casic.dcms.mvp.view.IToiletListView; + +public class ToiletListPresenterImpl extends BasePresenter implements IToiletListPresenter, OnGetToiletListListener { + + private IToiletListView view; + private RetrofitRequestModelImpl actionModel; + + public ToiletListPresenterImpl(IToiletListView toiletListView) { + this.view = toiletListView; + actionModel = new RetrofitRequestModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.sendToiletListRequest()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(ToiletListBean resultBean) { + view.obtainToiletListData(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IToiletListView.java b/app/src/main/java/com/casic/dcms/mvp/view/IToiletListView.java new file mode 100644 index 0000000..2ec0dc5 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IToiletListView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.ToiletListBean; + +public interface IToiletListView { + void obtainToiletListData(ToiletListBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java index 8ee7e90..2ab2f73 100644 --- a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java @@ -120,7 +120,7 @@ public void onClick(View v) { switch (v.getId()) { case R.id.bridgeLayout: - String bridgeJson = (String) SaveKeyValues.getValue(Constant.BRIDGES, ""); + String bridgeJson = (String) SaveKeyValues.getValue(Constant.BRIDGE_LIST, ""); if (bridgeJson.equals("")) { ToastHelper.showToast("获取桥梁数据异常", ToastHelper.ERROR); return; diff --git a/app/src/main/java/com/casic/dcms/ui/MainActivity.java b/app/src/main/java/com/casic/dcms/ui/MainActivity.java index 05b678b..1c1fcd0 100644 --- a/app/src/main/java/com/casic/dcms/ui/MainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/MainActivity.java @@ -24,10 +24,13 @@ import com.casic.dcms.bean.ActionResultBean; import com.casic.dcms.bean.NoticeBean; import com.casic.dcms.bean.ProjectConfigBean; +import com.casic.dcms.bean.ToiletListBean; import com.casic.dcms.greendao.NoticeBeanDao; import com.casic.dcms.mvp.presenter.PushRegisterPresenterImpl; +import com.casic.dcms.mvp.presenter.ToiletListPresenterImpl; import com.casic.dcms.mvp.presenter.UploadPositionPresenterImpl; import com.casic.dcms.mvp.view.IPushRegisterView; +import com.casic.dcms.mvp.view.IToiletListView; import com.casic.dcms.mvp.view.IUploadPositionView; import com.casic.dcms.service.UploadLocationService; import com.casic.dcms.ui.fragment.HomePageFragment; @@ -56,7 +59,7 @@ import butterknife.BindView; import okhttp3.ResponseBody; -public class MainActivity extends DoubleClickExitActivity implements IUploadPositionView, IPushRegisterView { +public class MainActivity extends DoubleClickExitActivity implements IUploadPositionView, IPushRegisterView, IToiletListView { private static final String TAG = "MainActivity"; @BindView(R.id.pageTitleView) @@ -72,8 +75,10 @@ private List pageList; private UploadPositionPresenterImpl uploadPositionPresenter; private PushRegisterPresenterImpl registerPresenter; + private ToiletListPresenterImpl toiletListPresenter; private String imei = ""; private static WeakReferenceHandler weakReferenceHandler; + private Gson gson; @Override public int initLayoutView() { @@ -94,7 +99,9 @@ weakReferenceHandler = new WeakReferenceHandler(this); uploadPositionPresenter = new UploadPositionPresenterImpl(this); registerPresenter = new PushRegisterPresenterImpl(this); + toiletListPresenter = new ToiletListPresenterImpl(this); + gson = new Gson(); pageList = new ArrayList<>(); pageList.add(new HomePageFragment()); pageList.add(new PhonePageFragment()); @@ -102,7 +109,7 @@ pageList.add(new MinePageFragment()); imei = OtherUtils.obtainSimCardSerialNumber(this); - //获取桥梁配置项 + //获取配置项 obtainProjectConfig(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { @@ -114,14 +121,14 @@ } private void obtainProjectConfig() { + //桥梁数据 HttpRequestHelper.doRequest(Constant.PROJECT_CONFIG, new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { try { - Gson gson = new Gson(); String resultStr = resultBean.string(); List bridges = gson.fromJson(resultStr, ProjectConfigBean.class).getBridges(); - SaveKeyValues.putValue(Constant.BRIDGES, gson.toJson(bridges)); + SaveKeyValues.putValue(Constant.BRIDGE_LIST, gson.toJson(bridges)); } catch (IOException e) { e.printStackTrace(); } @@ -132,6 +139,8 @@ } }); + //公厕数据 + toiletListPresenter.onReadyRetrofitRequest(); } @Override @@ -299,6 +308,13 @@ } @Override + public void obtainToiletListData(ToiletListBean resultBean) { + if (resultBean.isSuccess()) { + SaveKeyValues.putValue(Constant.TOILET_LIST, gson.toJson(resultBean.getData())); + } + } + + @Override protected void onDestroy() { super.onDestroy(); if (uploadPositionPresenter != null) { @@ -307,5 +323,8 @@ if (registerPresenter != null) { registerPresenter.disposeRetrofitRequest(); } + if (toiletListPresenter != null) { + toiletListPresenter.disposeRetrofitRequest(); + } } } diff --git a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java index e927cc5..7e3d47e 100644 --- a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java @@ -23,6 +23,7 @@ import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.bean.ToiletListBean; import com.casic.dcms.mvp.presenter.CleanToiletPresenterImpl; import com.casic.dcms.mvp.presenter.UploadImagePresenterImpl; import com.casic.dcms.mvp.view.IPublicToiletView; @@ -30,6 +31,7 @@ import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.SaveKeyValues; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.ToastHelper; @@ -48,6 +50,8 @@ import com.esri.arcgisruntime.mapping.view.MapView; import com.esri.arcgisruntime.symbology.PictureMarkerSymbol; import com.esri.arcgisruntime.util.ListenableList; +import com.google.gson.Gson; +import com.google.gson.reflect.TypeToken; import com.jzxiang.pickerview.TimePickerDialog; import com.jzxiang.pickerview.data.Type; import com.luck.picture.lib.PictureSelector; @@ -61,6 +65,7 @@ import java.io.File; import java.util.ArrayList; +import java.util.List; import butterknife.BindView; import butterknife.OnClick; @@ -200,7 +205,7 @@ graphicsOverlays.add(mGraphicsOverlay); } - @OnClick({R.id.expandMapView, R.id.minusMapView, R.id.startTimeLayout, R.id.endTimeLayout, R.id.selectWorkLayout, R.id.obtainToiletIdLayout, R.id.takePictureView, R.id.signInButton}) + @OnClick({R.id.expandMapView, R.id.minusMapView, R.id.obtainToiletIdLayout, R.id.startTimeLayout, R.id.endTimeLayout, R.id.selectWorkLayout, R.id.takePictureView, R.id.signInButton}) @Override public void onClick(View v) { switch (v.getId()) { @@ -210,6 +215,29 @@ case R.id.minusMapView: mapView.setViewpointScaleAsync(mapView.getMapScale() * 2); break; + case R.id.obtainToiletIdLayout: + String toiletValue = (String) SaveKeyValues.getValue(Constant.TOILET_LIST, ""); + if (toiletValue.equals("")) { + ToastHelper.showToast("获取公厕数据失败,请联系管理员", ToastHelper.ERROR); + return; + } + List dataBeans = new Gson().fromJson(toiletValue, new TypeToken>() { + }.getType()); + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); + sheetBuilder.setTitle("请选择您要打卡的公厕"); + for (ToiletListBean.DataBean it : dataBeans) { + sheetBuilder.addItem(it.getName()); + } + sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + + toiletIdView.setText(dataBeans.get(position).getId()); + //TODO 是否需要将地图移到相应的公厕,待定 + } + }).build().show(); + break; case R.id.startTimeLayout: new TimePickerDialog.Builder().setThemeColor(ContextCompat.getColor(this, R.color.mainThemeColor)) .setTitleStringId("请选择开始时间") diff --git a/app/src/main/java/com/casic/dcms/utils/Constant.java b/app/src/main/java/com/casic/dcms/utils/Constant.java index 6922b43..9e3437c 100644 --- a/app/src/main/java/com/casic/dcms/utils/Constant.java +++ b/app/src/main/java/com/casic/dcms/utils/Constant.java @@ -37,7 +37,8 @@ Color.rgb(120, 104, 230)}; public static final String IP_KEY = "ip"; - public static final String BRIDGES = "projectBridges"; + public static final String BRIDGE_LIST = "projectBridges"; + public static final String TOILET_LIST = "toilets"; public static final long HALF_YEAR = 180 * 60 * 60 * 24 * 1000L; public static final long ONE_YEAR = 365 * 60 * 60 * 24 * 1000L; diff --git a/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java b/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java new file mode 100644 index 0000000..a7a010b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java @@ -0,0 +1,219 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class ToiletListBean { + + private int code; + private String message; + private boolean success; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * area : 20.00 + * code : 3625250008 + * createTime : 2021-07-07 + * delFlag : 0 + * deptId : + * id : 1412675026622865410 + * lat : 27.77740600 + * lng : 116.05673800 + * name : 王泥岭公厕 + * notes : 无 + * owner : 环卫所 + * photo : + * position : 王泥岭 + * responsiblePerson : 张三 + * responsiblePersonTel : 13214521544 + * ts : 2021-01-12 + * updateTime : + */ + + private String area; + private String code; + private String createTime; + private String delFlag; + private String deptId; + private String id; + private String lat; + private String lng; + private String name; + private String notes; + private String owner; + private String photo; + private String position; + private String responsiblePerson; + private String responsiblePersonTel; + private String ts; + private String updateTime; + + public String getArea() { + return area; + } + + public void setArea(String area) { + this.area = area; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + 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 getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNotes() { + return notes; + } + + public void setNotes(String notes) { + this.notes = notes; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getPhoto() { + return photo; + } + + public void setPhoto(String photo) { + this.photo = photo; + } + + public String getPosition() { + return position; + } + + public void setPosition(String position) { + this.position = position; + } + + public String getResponsiblePerson() { + return responsiblePerson; + } + + public void setResponsiblePerson(String responsiblePerson) { + this.responsiblePerson = responsiblePerson; + } + + public String getResponsiblePersonTel() { + return responsiblePersonTel; + } + + public void setResponsiblePersonTel(String responsiblePersonTel) { + this.responsiblePersonTel = responsiblePersonTel; + } + + public String getTs() { + return ts; + } + + public void setTs(String ts) { + this.ts = ts; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java new file mode 100644 index 0000000..cd64c8f --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.ToiletListBean; + +public interface OnGetToiletListListener { + void onSuccess(ToiletListBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java new file mode 100644 index 0000000..0e0eec2 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IToiletListModel { + Subscription sendToiletListRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java index 8a9c0d0..9a90954 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java @@ -32,6 +32,7 @@ import com.casic.dcms.bean.PhoneBookBean; import com.casic.dcms.bean.ProcessPersonBean; import com.casic.dcms.bean.PublicKeyBean; +import com.casic.dcms.bean.ToiletListBean; import com.casic.dcms.bean.UrgentCaseBean; import com.casic.dcms.bean.UserBean; import com.casic.dcms.bean.WellDetailBean; @@ -67,6 +68,7 @@ import com.casic.dcms.listener.OnGetSearchListListener; import com.casic.dcms.listener.OnGetSentenceListener; import com.casic.dcms.listener.OnGetSmallClassListener; +import com.casic.dcms.listener.OnGetToiletListListener; import com.casic.dcms.listener.OnGetUrgentCaseListListener; import com.casic.dcms.listener.OnGetUserListener; import com.casic.dcms.listener.OnGetWellDetailListener; @@ -93,11 +95,11 @@ ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, ICaseHandleModel, ICaseDetailModel, ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, ICaseHandledListModel, IUrgentCaseListModel, IComSentenceModel, IOvertimeCaseListModel, IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, - IPersonOnlineModel, ICaseStatusModel, ICaseListModel, ICleanToiletModel, ICleanRecordModel, - IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, IProcessPersonModel, - ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, ILightDetailModel, - IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, IWellListModel, - IOptionWellModel, IPushRegisterModel, IUploadPositionModel { + IPersonOnlineModel, ICaseStatusModel, ICaseListModel, IToiletListModel, ICleanToiletModel, + ICleanRecordModel, IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, + IProcessPersonModel, ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, + ILightDetailModel, IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, + IWellListModel, IOptionWellModel, IPushRegisterModel, IUploadPositionModel { private OnAuthenticateListener onAuthenticateListener; private OnLoginListener loginListener; @@ -125,6 +127,7 @@ private OnGetOnlinePersonListener onlinePersonListener; private OnGetCaseStatusListener caseStatusListener; private OnGetSearchListListener searchListListener; + private OnGetToiletListListener toiletListListener; private OnGetCleanRecordListener cleanRecordListener; private OnGetPackageCaseListener packageCaseListener; private OnGetAuthorizeListener authorizeListener; @@ -238,6 +241,10 @@ this.searchListListener = listener; } + public RetrofitRequestModelImpl(OnGetToiletListListener listener) { + this.toiletListListener = listener; + } + public RetrofitRequestModelImpl(OnGetCleanRecordListener listener) { this.cleanRecordListener = listener; } @@ -1253,6 +1260,34 @@ } /** + * {@link IToiletListModel} + */ + @Override + public Subscription sendToiletListRequest() { + Observable observable = RetrofitServiceManager.getToiletListResult(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + toiletListListener.onFailure(e); + } + } + + @Override + public void onNext(ToiletListBean resultBean) { + if (resultBean != null) { + toiletListListener.onSuccess(resultBean); + } + } + }); + } + + /** * {@link ICleanToiletModel} */ @Override diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IToiletListPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IToiletListPresenter.java new file mode 100644 index 0000000..b918019 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IToiletListPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IToiletListPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ToiletListPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ToiletListPresenterImpl.java new file mode 100644 index 0000000..14b9996 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ToiletListPresenterImpl.java @@ -0,0 +1,38 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.ToiletListBean; +import com.casic.dcms.listener.OnGetToiletListListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.RetrofitRequestModelImpl; +import com.casic.dcms.mvp.view.IToiletListView; + +public class ToiletListPresenterImpl extends BasePresenter implements IToiletListPresenter, OnGetToiletListListener { + + private IToiletListView view; + private RetrofitRequestModelImpl actionModel; + + public ToiletListPresenterImpl(IToiletListView toiletListView) { + this.view = toiletListView; + actionModel = new RetrofitRequestModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.sendToiletListRequest()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(ToiletListBean resultBean) { + view.obtainToiletListData(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IToiletListView.java b/app/src/main/java/com/casic/dcms/mvp/view/IToiletListView.java new file mode 100644 index 0000000..2ec0dc5 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IToiletListView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.ToiletListBean; + +public interface IToiletListView { + void obtainToiletListData(ToiletListBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java index 8ee7e90..2ab2f73 100644 --- a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java @@ -120,7 +120,7 @@ public void onClick(View v) { switch (v.getId()) { case R.id.bridgeLayout: - String bridgeJson = (String) SaveKeyValues.getValue(Constant.BRIDGES, ""); + String bridgeJson = (String) SaveKeyValues.getValue(Constant.BRIDGE_LIST, ""); if (bridgeJson.equals("")) { ToastHelper.showToast("获取桥梁数据异常", ToastHelper.ERROR); return; diff --git a/app/src/main/java/com/casic/dcms/ui/MainActivity.java b/app/src/main/java/com/casic/dcms/ui/MainActivity.java index 05b678b..1c1fcd0 100644 --- a/app/src/main/java/com/casic/dcms/ui/MainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/MainActivity.java @@ -24,10 +24,13 @@ import com.casic.dcms.bean.ActionResultBean; import com.casic.dcms.bean.NoticeBean; import com.casic.dcms.bean.ProjectConfigBean; +import com.casic.dcms.bean.ToiletListBean; import com.casic.dcms.greendao.NoticeBeanDao; import com.casic.dcms.mvp.presenter.PushRegisterPresenterImpl; +import com.casic.dcms.mvp.presenter.ToiletListPresenterImpl; import com.casic.dcms.mvp.presenter.UploadPositionPresenterImpl; import com.casic.dcms.mvp.view.IPushRegisterView; +import com.casic.dcms.mvp.view.IToiletListView; import com.casic.dcms.mvp.view.IUploadPositionView; import com.casic.dcms.service.UploadLocationService; import com.casic.dcms.ui.fragment.HomePageFragment; @@ -56,7 +59,7 @@ import butterknife.BindView; import okhttp3.ResponseBody; -public class MainActivity extends DoubleClickExitActivity implements IUploadPositionView, IPushRegisterView { +public class MainActivity extends DoubleClickExitActivity implements IUploadPositionView, IPushRegisterView, IToiletListView { private static final String TAG = "MainActivity"; @BindView(R.id.pageTitleView) @@ -72,8 +75,10 @@ private List pageList; private UploadPositionPresenterImpl uploadPositionPresenter; private PushRegisterPresenterImpl registerPresenter; + private ToiletListPresenterImpl toiletListPresenter; private String imei = ""; private static WeakReferenceHandler weakReferenceHandler; + private Gson gson; @Override public int initLayoutView() { @@ -94,7 +99,9 @@ weakReferenceHandler = new WeakReferenceHandler(this); uploadPositionPresenter = new UploadPositionPresenterImpl(this); registerPresenter = new PushRegisterPresenterImpl(this); + toiletListPresenter = new ToiletListPresenterImpl(this); + gson = new Gson(); pageList = new ArrayList<>(); pageList.add(new HomePageFragment()); pageList.add(new PhonePageFragment()); @@ -102,7 +109,7 @@ pageList.add(new MinePageFragment()); imei = OtherUtils.obtainSimCardSerialNumber(this); - //获取桥梁配置项 + //获取配置项 obtainProjectConfig(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { @@ -114,14 +121,14 @@ } private void obtainProjectConfig() { + //桥梁数据 HttpRequestHelper.doRequest(Constant.PROJECT_CONFIG, new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { try { - Gson gson = new Gson(); String resultStr = resultBean.string(); List bridges = gson.fromJson(resultStr, ProjectConfigBean.class).getBridges(); - SaveKeyValues.putValue(Constant.BRIDGES, gson.toJson(bridges)); + SaveKeyValues.putValue(Constant.BRIDGE_LIST, gson.toJson(bridges)); } catch (IOException e) { e.printStackTrace(); } @@ -132,6 +139,8 @@ } }); + //公厕数据 + toiletListPresenter.onReadyRetrofitRequest(); } @Override @@ -299,6 +308,13 @@ } @Override + public void obtainToiletListData(ToiletListBean resultBean) { + if (resultBean.isSuccess()) { + SaveKeyValues.putValue(Constant.TOILET_LIST, gson.toJson(resultBean.getData())); + } + } + + @Override protected void onDestroy() { super.onDestroy(); if (uploadPositionPresenter != null) { @@ -307,5 +323,8 @@ if (registerPresenter != null) { registerPresenter.disposeRetrofitRequest(); } + if (toiletListPresenter != null) { + toiletListPresenter.disposeRetrofitRequest(); + } } } diff --git a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java index e927cc5..7e3d47e 100644 --- a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java @@ -23,6 +23,7 @@ import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.bean.ToiletListBean; import com.casic.dcms.mvp.presenter.CleanToiletPresenterImpl; import com.casic.dcms.mvp.presenter.UploadImagePresenterImpl; import com.casic.dcms.mvp.view.IPublicToiletView; @@ -30,6 +31,7 @@ import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.SaveKeyValues; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.ToastHelper; @@ -48,6 +50,8 @@ import com.esri.arcgisruntime.mapping.view.MapView; import com.esri.arcgisruntime.symbology.PictureMarkerSymbol; import com.esri.arcgisruntime.util.ListenableList; +import com.google.gson.Gson; +import com.google.gson.reflect.TypeToken; import com.jzxiang.pickerview.TimePickerDialog; import com.jzxiang.pickerview.data.Type; import com.luck.picture.lib.PictureSelector; @@ -61,6 +65,7 @@ import java.io.File; import java.util.ArrayList; +import java.util.List; import butterknife.BindView; import butterknife.OnClick; @@ -200,7 +205,7 @@ graphicsOverlays.add(mGraphicsOverlay); } - @OnClick({R.id.expandMapView, R.id.minusMapView, R.id.startTimeLayout, R.id.endTimeLayout, R.id.selectWorkLayout, R.id.obtainToiletIdLayout, R.id.takePictureView, R.id.signInButton}) + @OnClick({R.id.expandMapView, R.id.minusMapView, R.id.obtainToiletIdLayout, R.id.startTimeLayout, R.id.endTimeLayout, R.id.selectWorkLayout, R.id.takePictureView, R.id.signInButton}) @Override public void onClick(View v) { switch (v.getId()) { @@ -210,6 +215,29 @@ case R.id.minusMapView: mapView.setViewpointScaleAsync(mapView.getMapScale() * 2); break; + case R.id.obtainToiletIdLayout: + String toiletValue = (String) SaveKeyValues.getValue(Constant.TOILET_LIST, ""); + if (toiletValue.equals("")) { + ToastHelper.showToast("获取公厕数据失败,请联系管理员", ToastHelper.ERROR); + return; + } + List dataBeans = new Gson().fromJson(toiletValue, new TypeToken>() { + }.getType()); + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); + sheetBuilder.setTitle("请选择您要打卡的公厕"); + for (ToiletListBean.DataBean it : dataBeans) { + sheetBuilder.addItem(it.getName()); + } + sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + + toiletIdView.setText(dataBeans.get(position).getId()); + //TODO 是否需要将地图移到相应的公厕,待定 + } + }).build().show(); + break; case R.id.startTimeLayout: new TimePickerDialog.Builder().setThemeColor(ContextCompat.getColor(this, R.color.mainThemeColor)) .setTitleStringId("请选择开始时间") diff --git a/app/src/main/java/com/casic/dcms/utils/Constant.java b/app/src/main/java/com/casic/dcms/utils/Constant.java index 6922b43..9e3437c 100644 --- a/app/src/main/java/com/casic/dcms/utils/Constant.java +++ b/app/src/main/java/com/casic/dcms/utils/Constant.java @@ -37,7 +37,8 @@ Color.rgb(120, 104, 230)}; public static final String IP_KEY = "ip"; - public static final String BRIDGES = "projectBridges"; + public static final String BRIDGE_LIST = "projectBridges"; + public static final String TOILET_LIST = "toilets"; public static final long HALF_YEAR = 180 * 60 * 60 * 24 * 1000L; public static final long ONE_YEAR = 365 * 60 * 60 * 24 * 1000L; diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java index 0318abd..d95fa05 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java @@ -33,6 +33,7 @@ import com.casic.dcms.bean.PhoneBookBean; import com.casic.dcms.bean.ProcessPersonBean; import com.casic.dcms.bean.PublicKeyBean; +import com.casic.dcms.bean.ToiletListBean; import com.casic.dcms.bean.UrgentCaseBean; import com.casic.dcms.bean.UserBean; import com.casic.dcms.bean.WellDetailBean; @@ -476,6 +477,14 @@ @Field("clientId") String clientId); /** + * 公厕列表 + *

+ * http://111.198.10.15:11409/sanitation/toilet/list + */ + @GET("/sanitation/toilet/list") + Observable obtainToiletList(@Header("token") String token); + + /** * 公厕打扫签到 *

* http://111.198.10.15:11409/sanitation/toiletClean/add diff --git a/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java b/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java new file mode 100644 index 0000000..a7a010b --- /dev/null +++ b/app/src/main/java/com/casic/dcms/bean/ToiletListBean.java @@ -0,0 +1,219 @@ +package com.casic.dcms.bean; + +import java.util.List; + +public class ToiletListBean { + + private int code; + private String message; + private boolean success; + private List data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public static class DataBean { + /** + * area : 20.00 + * code : 3625250008 + * createTime : 2021-07-07 + * delFlag : 0 + * deptId : + * id : 1412675026622865410 + * lat : 27.77740600 + * lng : 116.05673800 + * name : 王泥岭公厕 + * notes : 无 + * owner : 环卫所 + * photo : + * position : 王泥岭 + * responsiblePerson : 张三 + * responsiblePersonTel : 13214521544 + * ts : 2021-01-12 + * updateTime : + */ + + private String area; + private String code; + private String createTime; + private String delFlag; + private String deptId; + private String id; + private String lat; + private String lng; + private String name; + private String notes; + private String owner; + private String photo; + private String position; + private String responsiblePerson; + private String responsiblePersonTel; + private String ts; + private String updateTime; + + public String getArea() { + return area; + } + + public void setArea(String area) { + this.area = area; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + 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 getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getLat() { + return lat; + } + + public void setLat(String lat) { + this.lat = lat; + } + + public String getLng() { + return lng; + } + + public void setLng(String lng) { + this.lng = lng; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNotes() { + return notes; + } + + public void setNotes(String notes) { + this.notes = notes; + } + + public String getOwner() { + return owner; + } + + public void setOwner(String owner) { + this.owner = owner; + } + + public String getPhoto() { + return photo; + } + + public void setPhoto(String photo) { + this.photo = photo; + } + + public String getPosition() { + return position; + } + + public void setPosition(String position) { + this.position = position; + } + + public String getResponsiblePerson() { + return responsiblePerson; + } + + public void setResponsiblePerson(String responsiblePerson) { + this.responsiblePerson = responsiblePerson; + } + + public String getResponsiblePersonTel() { + return responsiblePersonTel; + } + + public void setResponsiblePersonTel(String responsiblePersonTel) { + this.responsiblePersonTel = responsiblePersonTel; + } + + public String getTs() { + return ts; + } + + public void setTs(String ts) { + this.ts = ts; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java b/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java new file mode 100644 index 0000000..cd64c8f --- /dev/null +++ b/app/src/main/java/com/casic/dcms/listener/OnGetToiletListListener.java @@ -0,0 +1,9 @@ +package com.casic.dcms.listener; + +import com.casic.dcms.bean.ToiletListBean; + +public interface OnGetToiletListListener { + void onSuccess(ToiletListBean resultBean); + + void onFailure(Throwable throwable); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java b/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java new file mode 100644 index 0000000..0e0eec2 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/model/IToiletListModel.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.model; + +import rx.Subscription; + +public interface IToiletListModel { + Subscription sendToiletListRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java index 8a9c0d0..9a90954 100644 --- a/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java +++ b/app/src/main/java/com/casic/dcms/mvp/model/RetrofitRequestModelImpl.java @@ -32,6 +32,7 @@ import com.casic.dcms.bean.PhoneBookBean; import com.casic.dcms.bean.ProcessPersonBean; import com.casic.dcms.bean.PublicKeyBean; +import com.casic.dcms.bean.ToiletListBean; import com.casic.dcms.bean.UrgentCaseBean; import com.casic.dcms.bean.UserBean; import com.casic.dcms.bean.WellDetailBean; @@ -67,6 +68,7 @@ import com.casic.dcms.listener.OnGetSearchListListener; import com.casic.dcms.listener.OnGetSentenceListener; import com.casic.dcms.listener.OnGetSmallClassListener; +import com.casic.dcms.listener.OnGetToiletListListener; import com.casic.dcms.listener.OnGetUrgentCaseListListener; import com.casic.dcms.listener.OnGetUserListener; import com.casic.dcms.listener.OnGetWellDetailListener; @@ -93,11 +95,11 @@ ISubmitShopCaseModel, ICaseVerifyModel, ICaseNextNodeModel, ICaseHandleModel, ICaseDetailModel, ICaseCheckModel, ICaseProcessModel, ICaseHandleListModel, ICaseHandledListModel, IUrgentCaseListModel, IComSentenceModel, IOvertimeCaseListModel, IUpdateSuperviseModel, IEventSourceModel, IHighEventModel, - IPersonOnlineModel, ICaseStatusModel, ICaseListModel, ICleanToiletModel, ICleanRecordModel, - IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, IProcessPersonModel, - ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, ILightDetailModel, - IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, IWellListModel, - IOptionWellModel, IPushRegisterModel, IUploadPositionModel { + IPersonOnlineModel, ICaseStatusModel, ICaseListModel, IToiletListModel, ICleanToiletModel, + ICleanRecordModel, IPackageCaseModel, IPackageHandleModel, IChangeShopInfoModel, IDeptCaseModel, + IProcessPersonModel, ISubmitMaintainModel, IMaintainRecordModel, ILightMapModel, ILightListModel, + ILightDetailModel, IControlLightModel, IAlarmListModel, ICancelAlarmModel, IWellDetailModel, + IWellListModel, IOptionWellModel, IPushRegisterModel, IUploadPositionModel { private OnAuthenticateListener onAuthenticateListener; private OnLoginListener loginListener; @@ -125,6 +127,7 @@ private OnGetOnlinePersonListener onlinePersonListener; private OnGetCaseStatusListener caseStatusListener; private OnGetSearchListListener searchListListener; + private OnGetToiletListListener toiletListListener; private OnGetCleanRecordListener cleanRecordListener; private OnGetPackageCaseListener packageCaseListener; private OnGetAuthorizeListener authorizeListener; @@ -238,6 +241,10 @@ this.searchListListener = listener; } + public RetrofitRequestModelImpl(OnGetToiletListListener listener) { + this.toiletListListener = listener; + } + public RetrofitRequestModelImpl(OnGetCleanRecordListener listener) { this.cleanRecordListener = listener; } @@ -1253,6 +1260,34 @@ } /** + * {@link IToiletListModel} + */ + @Override + public Subscription sendToiletListRequest() { + Observable observable = RetrofitServiceManager.getToiletListResult(); + return observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer() { + @Override + public void onCompleted() { + + } + + @Override + public void onError(Throwable e) { + if (e.getCause() != null) { + toiletListListener.onFailure(e); + } + } + + @Override + public void onNext(ToiletListBean resultBean) { + if (resultBean != null) { + toiletListListener.onSuccess(resultBean); + } + } + }); + } + + /** * {@link ICleanToiletModel} */ @Override diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/IToiletListPresenter.java b/app/src/main/java/com/casic/dcms/mvp/presenter/IToiletListPresenter.java new file mode 100644 index 0000000..b918019 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/IToiletListPresenter.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.presenter; + +public interface IToiletListPresenter { + void onReadyRetrofitRequest(); + + void disposeRetrofitRequest(); +} diff --git a/app/src/main/java/com/casic/dcms/mvp/presenter/ToiletListPresenterImpl.java b/app/src/main/java/com/casic/dcms/mvp/presenter/ToiletListPresenterImpl.java new file mode 100644 index 0000000..14b9996 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/presenter/ToiletListPresenterImpl.java @@ -0,0 +1,38 @@ +package com.casic.dcms.mvp.presenter; + +import com.casic.dcms.bean.ToiletListBean; +import com.casic.dcms.listener.OnGetToiletListListener; +import com.casic.dcms.mvp.BasePresenter; +import com.casic.dcms.mvp.model.RetrofitRequestModelImpl; +import com.casic.dcms.mvp.view.IToiletListView; + +public class ToiletListPresenterImpl extends BasePresenter implements IToiletListPresenter, OnGetToiletListListener { + + private IToiletListView view; + private RetrofitRequestModelImpl actionModel; + + public ToiletListPresenterImpl(IToiletListView toiletListView) { + this.view = toiletListView; + actionModel = new RetrofitRequestModelImpl(this); + } + + @Override + public void onReadyRetrofitRequest() { + addSubscription(actionModel.sendToiletListRequest()); + } + + @Override + public void disposeRetrofitRequest() { + unSubscription(); + } + + @Override + public void onSuccess(ToiletListBean resultBean) { + view.obtainToiletListData(resultBean); + } + + @Override + public void onFailure(Throwable throwable) { + + } +} diff --git a/app/src/main/java/com/casic/dcms/mvp/view/IToiletListView.java b/app/src/main/java/com/casic/dcms/mvp/view/IToiletListView.java new file mode 100644 index 0000000..2ec0dc5 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvp/view/IToiletListView.java @@ -0,0 +1,7 @@ +package com.casic.dcms.mvp.view; + +import com.casic.dcms.bean.ToiletListBean; + +public interface IToiletListView { + void obtainToiletListData(ToiletListBean resultBean); +} diff --git a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java index 8ee7e90..2ab2f73 100644 --- a/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/BridgeMaintainActivity.java @@ -120,7 +120,7 @@ public void onClick(View v) { switch (v.getId()) { case R.id.bridgeLayout: - String bridgeJson = (String) SaveKeyValues.getValue(Constant.BRIDGES, ""); + String bridgeJson = (String) SaveKeyValues.getValue(Constant.BRIDGE_LIST, ""); if (bridgeJson.equals("")) { ToastHelper.showToast("获取桥梁数据异常", ToastHelper.ERROR); return; diff --git a/app/src/main/java/com/casic/dcms/ui/MainActivity.java b/app/src/main/java/com/casic/dcms/ui/MainActivity.java index 05b678b..1c1fcd0 100644 --- a/app/src/main/java/com/casic/dcms/ui/MainActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/MainActivity.java @@ -24,10 +24,13 @@ import com.casic.dcms.bean.ActionResultBean; import com.casic.dcms.bean.NoticeBean; import com.casic.dcms.bean.ProjectConfigBean; +import com.casic.dcms.bean.ToiletListBean; import com.casic.dcms.greendao.NoticeBeanDao; import com.casic.dcms.mvp.presenter.PushRegisterPresenterImpl; +import com.casic.dcms.mvp.presenter.ToiletListPresenterImpl; import com.casic.dcms.mvp.presenter.UploadPositionPresenterImpl; import com.casic.dcms.mvp.view.IPushRegisterView; +import com.casic.dcms.mvp.view.IToiletListView; import com.casic.dcms.mvp.view.IUploadPositionView; import com.casic.dcms.service.UploadLocationService; import com.casic.dcms.ui.fragment.HomePageFragment; @@ -56,7 +59,7 @@ import butterknife.BindView; import okhttp3.ResponseBody; -public class MainActivity extends DoubleClickExitActivity implements IUploadPositionView, IPushRegisterView { +public class MainActivity extends DoubleClickExitActivity implements IUploadPositionView, IPushRegisterView, IToiletListView { private static final String TAG = "MainActivity"; @BindView(R.id.pageTitleView) @@ -72,8 +75,10 @@ private List pageList; private UploadPositionPresenterImpl uploadPositionPresenter; private PushRegisterPresenterImpl registerPresenter; + private ToiletListPresenterImpl toiletListPresenter; private String imei = ""; private static WeakReferenceHandler weakReferenceHandler; + private Gson gson; @Override public int initLayoutView() { @@ -94,7 +99,9 @@ weakReferenceHandler = new WeakReferenceHandler(this); uploadPositionPresenter = new UploadPositionPresenterImpl(this); registerPresenter = new PushRegisterPresenterImpl(this); + toiletListPresenter = new ToiletListPresenterImpl(this); + gson = new Gson(); pageList = new ArrayList<>(); pageList.add(new HomePageFragment()); pageList.add(new PhonePageFragment()); @@ -102,7 +109,7 @@ pageList.add(new MinePageFragment()); imei = OtherUtils.obtainSimCardSerialNumber(this); - //获取桥梁配置项 + //获取配置项 obtainProjectConfig(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { @@ -114,14 +121,14 @@ } private void obtainProjectConfig() { + //桥梁数据 HttpRequestHelper.doRequest(Constant.PROJECT_CONFIG, new IHttpRequestListener() { @Override public void onSuccess(ResponseBody resultBean) { try { - Gson gson = new Gson(); String resultStr = resultBean.string(); List bridges = gson.fromJson(resultStr, ProjectConfigBean.class).getBridges(); - SaveKeyValues.putValue(Constant.BRIDGES, gson.toJson(bridges)); + SaveKeyValues.putValue(Constant.BRIDGE_LIST, gson.toJson(bridges)); } catch (IOException e) { e.printStackTrace(); } @@ -132,6 +139,8 @@ } }); + //公厕数据 + toiletListPresenter.onReadyRetrofitRequest(); } @Override @@ -299,6 +308,13 @@ } @Override + public void obtainToiletListData(ToiletListBean resultBean) { + if (resultBean.isSuccess()) { + SaveKeyValues.putValue(Constant.TOILET_LIST, gson.toJson(resultBean.getData())); + } + } + + @Override protected void onDestroy() { super.onDestroy(); if (uploadPositionPresenter != null) { @@ -307,5 +323,8 @@ if (registerPresenter != null) { registerPresenter.disposeRetrofitRequest(); } + if (toiletListPresenter != null) { + toiletListPresenter.disposeRetrofitRequest(); + } } } diff --git a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java index e927cc5..7e3d47e 100644 --- a/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/PublicToiletActivity.java @@ -23,6 +23,7 @@ import com.casic.dcms.R; import com.casic.dcms.base.BaseActivity; import com.casic.dcms.bean.ActionResultBean; +import com.casic.dcms.bean.ToiletListBean; import com.casic.dcms.mvp.presenter.CleanToiletPresenterImpl; import com.casic.dcms.mvp.presenter.UploadImagePresenterImpl; import com.casic.dcms.mvp.view.IPublicToiletView; @@ -30,6 +31,7 @@ import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.LocationHelper; import com.casic.dcms.utils.OtherUtils; +import com.casic.dcms.utils.SaveKeyValues; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.TimeOrDateUtil; import com.casic.dcms.utils.ToastHelper; @@ -48,6 +50,8 @@ import com.esri.arcgisruntime.mapping.view.MapView; import com.esri.arcgisruntime.symbology.PictureMarkerSymbol; import com.esri.arcgisruntime.util.ListenableList; +import com.google.gson.Gson; +import com.google.gson.reflect.TypeToken; import com.jzxiang.pickerview.TimePickerDialog; import com.jzxiang.pickerview.data.Type; import com.luck.picture.lib.PictureSelector; @@ -61,6 +65,7 @@ import java.io.File; import java.util.ArrayList; +import java.util.List; import butterknife.BindView; import butterknife.OnClick; @@ -200,7 +205,7 @@ graphicsOverlays.add(mGraphicsOverlay); } - @OnClick({R.id.expandMapView, R.id.minusMapView, R.id.startTimeLayout, R.id.endTimeLayout, R.id.selectWorkLayout, R.id.obtainToiletIdLayout, R.id.takePictureView, R.id.signInButton}) + @OnClick({R.id.expandMapView, R.id.minusMapView, R.id.obtainToiletIdLayout, R.id.startTimeLayout, R.id.endTimeLayout, R.id.selectWorkLayout, R.id.takePictureView, R.id.signInButton}) @Override public void onClick(View v) { switch (v.getId()) { @@ -210,6 +215,29 @@ case R.id.minusMapView: mapView.setViewpointScaleAsync(mapView.getMapScale() * 2); break; + case R.id.obtainToiletIdLayout: + String toiletValue = (String) SaveKeyValues.getValue(Constant.TOILET_LIST, ""); + if (toiletValue.equals("")) { + ToastHelper.showToast("获取公厕数据失败,请联系管理员", ToastHelper.ERROR); + return; + } + List dataBeans = new Gson().fromJson(toiletValue, new TypeToken>() { + }.getType()); + QMUIBottomSheet.BottomListSheetBuilder sheetBuilder = new QMUIBottomSheet.BottomListSheetBuilder(this); + sheetBuilder.setTitle("请选择您要打卡的公厕"); + for (ToiletListBean.DataBean it : dataBeans) { + sheetBuilder.addItem(it.getName()); + } + sheetBuilder.setGravityCenter(true).setOnSheetItemClickListener(new QMUIBottomSheet.BottomListSheetBuilder.OnSheetItemClickListener() { + @Override + public void onClick(QMUIBottomSheet dialog, View itemView, int position, String tag) { + dialog.dismiss(); + + toiletIdView.setText(dataBeans.get(position).getId()); + //TODO 是否需要将地图移到相应的公厕,待定 + } + }).build().show(); + break; case R.id.startTimeLayout: new TimePickerDialog.Builder().setThemeColor(ContextCompat.getColor(this, R.color.mainThemeColor)) .setTitleStringId("请选择开始时间") diff --git a/app/src/main/java/com/casic/dcms/utils/Constant.java b/app/src/main/java/com/casic/dcms/utils/Constant.java index 6922b43..9e3437c 100644 --- a/app/src/main/java/com/casic/dcms/utils/Constant.java +++ b/app/src/main/java/com/casic/dcms/utils/Constant.java @@ -37,7 +37,8 @@ Color.rgb(120, 104, 230)}; public static final String IP_KEY = "ip"; - public static final String BRIDGES = "projectBridges"; + public static final String BRIDGE_LIST = "projectBridges"; + public static final String TOILET_LIST = "toilets"; public static final long HALF_YEAR = 180 * 60 * 60 * 24 * 1000L; public static final long ONE_YEAR = 365 * 60 * 60 * 24 * 1000L; diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java index 0318abd..d95fa05 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitService.java @@ -33,6 +33,7 @@ import com.casic.dcms.bean.PhoneBookBean; import com.casic.dcms.bean.ProcessPersonBean; import com.casic.dcms.bean.PublicKeyBean; +import com.casic.dcms.bean.ToiletListBean; import com.casic.dcms.bean.UrgentCaseBean; import com.casic.dcms.bean.UserBean; import com.casic.dcms.bean.WellDetailBean; @@ -476,6 +477,14 @@ @Field("clientId") String clientId); /** + * 公厕列表 + *

+ * http://111.198.10.15:11409/sanitation/toilet/list + */ + @GET("/sanitation/toilet/list") + Observable obtainToiletList(@Header("token") String token); + + /** * 公厕打扫签到 *

* http://111.198.10.15:11409/sanitation/toiletClean/add diff --git a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java index 25f3adc..0379f66 100644 --- a/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java +++ b/app/src/main/java/com/casic/dcms/utils/retrofit/RetrofitServiceManager.java @@ -35,6 +35,7 @@ import com.casic.dcms.bean.PhoneBookBean; import com.casic.dcms.bean.ProcessPersonBean; import com.casic.dcms.bean.PublicKeyBean; +import com.casic.dcms.bean.ToiletListBean; import com.casic.dcms.bean.UrgentCaseBean; import com.casic.dcms.bean.UserBean; import com.casic.dcms.bean.WellDetailBean; @@ -522,6 +523,15 @@ } /** + * 公厕列表 + */ + public static Observable getToiletListResult() { + Retrofit retrofit = createRetrofit(); + RetrofitService service = retrofit.create(RetrofitService.class); + return service.obtainToiletList(AuthenticationHelper.getToken()); + } + + /** * 公厕打扫签到 */ public static Observable getCleanToiletResult(String toiletId, String userId,