From fab8c02a0aa8f941a507bdcb3e4d72deb6eb2242 Mon Sep 17 00:00:00 2001
From: weimingfei <fei_gaming@sina.com>
Date: 星期五, 24 十月 2025 14:53:18 +0800
Subject: [PATCH] 钥匙柜
---
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetVM.java | 59 ++++++
keyCabinet-android/app/src/main/res/layout/home_fragment_lbt_item.xml | 6
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/bean/CabinetDetailBean.java | 9 +
keyCabinet-android/app/src/main/res/layout/main_activity.xml | 17 +
keyCabinet-android/app/src/main/res/layout/key_cabinet_activity.xml | 4
keyCabinet-android/app/src/main/res/layout/manage_cabinet_activity.xml | 3
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/KeyCabinetActivity.java | 40 ----
keyCabinet-android/app/src/main/res/layout/face_activity.xml | 2
keyCabinet-android/app/src/main/res/layout/manage_login_activity.xml | 4
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainVM.java | 4
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetActivity.java | 146 ++++++++++++++---
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/http/Apis.java | 2
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/FaceActivity.java | 15 +
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/dao/CabinetGridDao.java | 2
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/KeyCabinetVM.java | 5
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/bean/DevConfigBean.java | 10 +
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageLoginVM.java | 5
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainActivity.java | 95 +++++------
keyCabinet-android/app/src/main/res/values/styles.xml | 3
19 files changed, 285 insertions(+), 146 deletions(-)
diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/bean/CabinetDetailBean.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/bean/CabinetDetailBean.java
index 52187a7..e0ae06a 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/bean/CabinetDetailBean.java
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/bean/CabinetDetailBean.java
@@ -6,6 +6,8 @@
import lombok.Data;
public class CabinetDetailBean implements Serializable {
+ //绠$悊鍛榠d
+ private Integer memberId;
//璁惧缂栧彿
private String code;
//璁惧ID
@@ -30,6 +32,13 @@
//鏌滄牸淇℃伅
private List<ManageKeyCabinetBean> cabinetGridInfoVOList;
+ public Integer getMemberId() {
+ return memberId;
+ }
+
+ public void setMemberId(Integer memberId) {
+ this.memberId = memberId;
+ }
public String getCode() {
return code;
diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/bean/DevConfigBean.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/bean/DevConfigBean.java
index 84039a2..db00eab 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/bean/DevConfigBean.java
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/bean/DevConfigBean.java
@@ -8,6 +8,8 @@
private List<String> bannerList;
//璁惧缂栧彿
private String code;
+ //绠$悊鑱旂郴鐢佃瘽
+ private String linkPhone;
//璁惧ID
private String devId;
//鏄惁鍙岄噸楠岃瘉 0鍚� 1鏄�
@@ -86,6 +88,14 @@
this.cabinetGridInfoVOList = cabinetGridInfoVOList;
}
+ public String getLinkPhone() {
+ return linkPhone;
+ }
+
+ public void setLinkPhone(String linkPhone) {
+ this.linkPhone = linkPhone;
+ }
+
public CabinetConfigDataBean getCabinetConfigDataVO() {
return cabinetConfigDataVO;
}
diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/dao/CabinetGridDao.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/dao/CabinetGridDao.java
index 26adf80..8d3870d 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/dao/CabinetGridDao.java
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/dao/CabinetGridDao.java
@@ -69,7 +69,7 @@
List<CabinetGridDo> getGridByOpenStatus(int isOpen);
@Transaction
- @Query("SELECT * FROM cabinet_grid WHERE is_open = 1 and working_status = 0 and grid_status = 0 order by grid_key asc")
+ @Query("SELECT * FROM cabinet_grid WHERE is_open = 1 and working_status = 0 and grid_status = 0 and key_status !=3 order by grid_key asc")
List<CabinetGridDo> getOpenGrids();
@Transaction
diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/http/Apis.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/http/Apis.java
index e6967f9..b2cf275 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/http/Apis.java
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/http/Apis.java
@@ -87,7 +87,7 @@
Observable<BaseResponse> timeOutUnCloseAlarm(@Body RequestBody requestBody);
/**
- * 鍏抽棴鏌滄牸 - 鍙告満
+ * 鍏抽棴鏌滄牸
*/
@POST("visitsAdmin/cloudService/web/cabinet/closeGrid")
Observable<BaseResponse> closeGrid(@Body RequestBody requestBody);
diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/FaceActivity.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/FaceActivity.java
index 2390109..302f2ad 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/FaceActivity.java
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/face/FaceActivity.java
@@ -9,8 +9,12 @@
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
+import android.text.SpannableString;
+import android.text.Spanned;
import android.text.TextUtils;
+import android.text.style.TextAppearanceSpan;
import android.view.View;
+import android.widget.TextView;
import com.baidu.idl.main.facesdk.model.BDFaceSDKCommon;
import com.doumee.keyCabinet.MApplication;
@@ -84,6 +88,15 @@
@Override
protected void timeChange(String djs) {
getDB().tvDjs.setText(djs);
+ }
+
+ private SpannableString getErrPhoneText(){
+ String phone = MApplication.getConfigBean().getLinkPhone();
+ String text = "濡傛湁闂璇疯仈绯荤鐞嗗憳"+phone;
+ SpannableString styledText = new SpannableString(text);
+ styledText.setSpan(new TextAppearanceSpan(this, R.style.style_tip3), 0, text.length()-phone.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+ styledText.setSpan(new TextAppearanceSpan(this,R.style.style_tip1), text.length()-phone.length()+1, text.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+ return styledText;
}
private void statusFsm(int toStatus){
@@ -273,7 +286,7 @@
SingleBaseConfig.getBaseConfig().getMirrorVideoRGB() , SingleBaseConfig.getBaseConfig().isOpenGl());
CameraPreviewManager.getInstance().startPreview(glMantleSurfacView,
SingleBaseConfig.getBaseConfig().getRgbVideoDirection() , PREFER_WIDTH, PERFER_HEIGH);
-
+ getDB().tvJg2.setText(getErrPhoneText(), TextView.BufferType.SPANNABLE);
}
@Override
diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/KeyCabinetActivity.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/KeyCabinetActivity.java
index 44934c8..f062a3f 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/KeyCabinetActivity.java
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/KeyCabinetActivity.java
@@ -55,32 +55,6 @@
private int status;
private int ysDownCount = 10;
- private Handler handler = new Handler(){
- @Override
- public void handleMessage(@NonNull Message msg) {
- switch (msg.what){
- case 0:
- /*if (ysDownCount==4) {
- //棰嗗彇閽ュ寵鍊掕鏃�
- doRegister(7,null);
- ysDownCount--;
- handler.sendEmptyMessageDelayed(0,1000);
- }else if (ysDownCount==0) {
- //棰嗗彇閽ュ寵鍊掕鏃�
- //doRegister(MApplication.nextBoolean()?5:6,null);
- }else {
- ysDownCount--;
- handler.sendEmptyMessageDelayed(0,1000);
- }*/
- break;
- case 1:
-
- break;
- default:
- break;
- }
- }
- };
@Override
public int getLayoutId() {
@@ -203,6 +177,7 @@
getDB().clTip1.setVisibility(View.GONE);
if(status==0) {
//閲嶆柊寮�闂�
+ openTime = StringUtil.DateToStr(new Date());
EventBus.getDefault().post(new OpenGridEvent(selectBean.getChannelCode(), selectBean.getBoardCode()));
}
downTime = 60;
@@ -234,7 +209,6 @@
getDB().clTip2.setVisibility(View.VISIBLE);
EventBus.getDefault().post(new GetKeyStatusEvent());
ysDownCount = 8;
- handler.sendEmptyMessageDelayed(0,1000);
break;
case 7:
//鎻愰啋鍏虫煖闂�
@@ -312,7 +286,7 @@
}
private SpannableString getErrPhoneText(){
- String phone = "15899098765";
+ String phone = MApplication.getConfigBean().getLinkPhone();
String text = "濡傛湁闂璇疯仈绯荤鐞嗗憳"+phone;
SpannableString styledText = new SpannableString(text);
styledText.setSpan(new TextAppearanceSpan(this, R.style.style_tip2), 0, text.length()-phone.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
@@ -340,13 +314,13 @@
if (gridDo != null) {
if(flag==0){
//鍙�
- if(TextUtils.isEmpty(gridDo.getKeyCode())){
+ if(TextUtils.isEmpty(gridDo.getCurKeyCode())){
//绌轰簡
doRegister(7,null);
}
}else {
//杩�
- if(!TextUtils.isEmpty(gridDo.getKeyCode())){
+ if(!TextUtils.isEmpty(gridDo.getCurKeyCode())){
//鏈夐挜鍖欎簡
doRegister(7,null);
}
@@ -359,8 +333,6 @@
@Override
protected void onDestroy() {
super.onDestroy();
- handler.removeCallbacksAndMessages(null);
- handler = null;
}
private String openTime = "";
@@ -377,7 +349,6 @@
return;
}
isOpened = true;
- openTime = StringUtil.DateToStr(new Date());
Toast.makeText(mContext, "鎿嶄綔4", Toast.LENGTH_LONG).show();
doRegister(4, null);
} else {
@@ -443,9 +414,6 @@
isOpened = false;
doRegister(5, null);
getVM().closeGrid(gridDo);
- }
- if (handler.hasMessages(0)) {
- handler.removeMessages(0);
}
}else {
Toast.makeText(mContext, "鏈煡璇㈠埌", Toast.LENGTH_LONG).show();
diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/KeyCabinetVM.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/KeyCabinetVM.java
index 61cdd3a..3db3550 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/KeyCabinetVM.java
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/KeyCabinetVM.java
@@ -12,6 +12,7 @@
import com.doumee.keyCabinet.bean.KeyCabinetBean;
import com.doumee.keyCabinet.bean.LoginBean;
import com.doumee.keyCabinet.dao.CabinetGridDo;
+import com.doumee.keyCabinet.event.HttpEvent;
import com.doumee.keyCabinet.http.Apis;
import com.doumee.keyCabinet.http.param.BaseResponse;
import com.doumee.keyCabinet.http.param.CloseGridParam;
@@ -109,6 +110,7 @@
public void onNext(@NonNull BaseResponse response) {
if(200==response.getCode()){
//寮�闂�
+ toast("寮�闂ㄦ帴鍙f垚鍔�");
doAction(2);
}else {
toast(response.getMessage());
@@ -144,7 +146,8 @@
.subscribe(new SimpleObserver<BaseResponse>(rxJavaGcManager) {
@Override
public void onNext(@NonNull BaseResponse response) {
-
+ EventBus.getDefault().post(new HttpEvent("鍏抽棴鏌滄牸鎺ュ彛璋冪敤鎴愬姛"));
+ toast("鍏抽棴鏌滄牸:"+response.getMessage());
}
@Override
diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetActivity.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetActivity.java
index ef9eb5a..f982e43 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetActivity.java
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetActivity.java
@@ -20,9 +20,11 @@
import com.doumee.keyCabinet.dao.CabinetGridDo;
import com.doumee.keyCabinet.dao.DaoManager;
import com.doumee.keyCabinet.databinding.ManageCabinetActivityBinding;
+import com.doumee.keyCabinet.event.CloseGridOneResultEvent;
import com.doumee.keyCabinet.event.HttpEvent;
import com.doumee.keyCabinet.event.ManageOpenGridResultEvent;
import com.doumee.keyCabinet.event.OpenAllGridEvent;
+import com.doumee.keyCabinet.event.OpenGridEvent;
import com.doumee.keyCabinet.event.OpenGridListEvent;
import com.doumee.keyCabinet.event.TimeClockEvent;
import com.doumee.keyCabinet.ui.keyCabinet.adapter.ManageCabinetRcvAdapter;
@@ -45,9 +47,12 @@
@AndroidEntryPoint
public class ManageCabinetActivity extends MyBaseActivity<ManageCabinetVM, ManageCabinetActivityBinding> {
private ManageCabinetRcvAdapter adapter;
- //1寰呭叏寮�锛�2寰呮壒閲忓紑
- private int status;
- private boolean isCanCZ = false;
+
+ //鏄惁鍙壒閲忔搷浣�
+ private boolean isCanPL = false;
+ //鍙爣璁帮細鍏ㄥ�熷嚭銆佸叏鏁呴殰
+ private boolean isCanBJ = false;
+ private int keyStatus = -1;
@Override
public int getLayoutId() {
@@ -64,21 +69,7 @@
adapter = new ManageCabinetRcvAdapter(this, R.layout.manage_cabinet_rcv_item, new ManageCabinetRcvAdapter.OnItemClick() {
@Override
public void onItemClick(ManageKeyCabinetBean item) {
- List<ManageKeyCabinetBean> datas = adapter.getListData();
- isCanCZ = false;
- for(ManageKeyCabinetBean d:datas){
- if(d.getIsSelected().get()){
- isCanCZ = true;
- break;
- }
- }
- if(isCanCZ){
- getDB().tvPlOpen.setBackgroundResource(R.drawable.shape_mb_bt_ok);
- getDB().tvBj.setBackgroundResource(R.drawable.shape_mb_bt_ok);
- }else {
- getDB().tvPlOpen.setBackgroundResource(R.drawable.shape_mb_bt_faile);
- getDB().tvBj.setBackgroundResource(R.drawable.shape_mb_bt_faile);
- }
+ updateBtnStatus();
}
});
RecyclerHelp.bindVG(this,getDB().rcvKm,3,30);
@@ -90,6 +81,9 @@
getVM().getDatasLD().observe(this, new Observer<List<ManageKeyCabinetBean>>() {
@Override
public void onChanged(List<ManageKeyCabinetBean> gridInfoBeans) {
+ if(getDB().clCz.getVisibility()==View.VISIBLE){
+ getDB().clCz.setVisibility(View.GONE);
+ }
if(gridInfoBeans.size()>0){
adapter.refreshData(gridInfoBeans);
getVM().emptyVisibility.set(View.GONE);
@@ -101,6 +95,45 @@
}
});
getVM().getCabinetDetail();
+ }
+
+ private void updateBtnStatus(){
+ List<ManageKeyCabinetBean> datas = adapter.getListData();
+ isCanPL = false;
+ isCanBJ = false;
+ keyStatus = -1;
+ for(ManageKeyCabinetBean d:datas){
+ if(d.getIsSelected().get()){
+ isCanPL = true;
+ if(keyStatus==-1){
+ keyStatus = getGridStatus(d);
+ }else {
+ if(keyStatus!=getGridStatus(d)){
+ //涓嶅悓
+ keyStatus = -2;
+ }
+ }
+ }
+ }
+ if(isCanPL){
+ getDB().tvPlOpen.setBackgroundResource(R.drawable.shape_mb_bt_ok);
+ }else {
+ getDB().tvPlOpen.setBackgroundResource(R.drawable.shape_mb_bt_faile);
+ }
+ if(keyStatus==2||keyStatus==4){
+ isCanBJ = true;
+ getDB().tvBj.setBackgroundResource(R.drawable.shape_mb_bt_ok);
+ }else {
+ getDB().tvBj.setBackgroundResource(R.drawable.shape_mb_bt_faile);
+ }
+ }
+
+ private int getGridStatus(ManageKeyCabinetBean grid){
+ if(grid.getWorkingStatus()==1){
+ return 4;
+ }else {
+ return grid.getKeyStatus();
+ }
}
private void updateDao(List<ManageKeyCabinetBean> beans){
@@ -153,7 +186,6 @@
}
private List<Integer> bjIds = new ArrayList<>();
- private boolean isGz = true;
private boolean isAllOpen = false;
@Override
protected void doRegister(int type, ActionEventData data) {
@@ -168,7 +200,6 @@
case 2:
{
//鍏ㄥ紑
- status = 1;
//鎵归噺寮�闂紝鏍¢獙鏄惁鍙墦寮�
List<Integer> ids = new ArrayList<>();
List<ManageKeyCabinetBean> datas = adapter.getListData();
@@ -183,7 +214,7 @@
}
break;
case 3: {
- if(!isCanCZ){
+ if(!isCanPL){
return;
}
//鎵归噺寮�闂紝鏍¢獙鏄惁鍙墦寮�
@@ -228,34 +259,33 @@
}break;
case 4: {
//鏍囪
- if(!isCanCZ){
+ if(!isCanPL){
return;
}
bjIds.clear();
- isGz = true;
+
List<ManageKeyCabinetBean> datas = adapter.getListData();
for (ManageKeyCabinetBean bean : datas) {
if (bean.getIsSelected().get()) {
bjIds.add(bean.getId());
- if(bean.getWorkingStatus()==0){
- isGz = false;
- }
}
}
if (bjIds.size() == 0) {
Toast.makeText(mContext, "璇烽�夋嫨鏌滄牸", Toast.LENGTH_SHORT).show();
return;
}
- if(isGz){
+ if(keyStatus==4){
//鍏ㄤ负鏁呴殰
getDB().tvBjgz.setText("鏍囪涓烘甯�");
getDB().tvBjgz.setTextColor(0xff279BAA);
getDB().tvBjgz.setBackgroundResource(R.drawable.shape_mb_cz_2_bg);
+ getDB().tvBy.setVisibility(View.GONE);
}else {
//鏍囪鏁呴殰
getDB().tvBjgz.setText("鏍囪涓烘晠闅�");
getDB().tvBjgz.setTextColor(0xffFF3600);
getDB().tvBjgz.setBackgroundResource(R.drawable.shape_mb_cz_1_bg);
+ getDB().tvBy.setVisibility(View.VISIBLE);
}
getDB().clCz.setVisibility(View.VISIBLE);
}break;
@@ -267,7 +297,7 @@
getVM().markRepair(bjIds);
break;
case 7:
- if(isGz) {
+ if(keyStatus==4) {
//姝e父
getVM().cancelFault(bjIds);
}else {
@@ -276,6 +306,7 @@
}
break;
case 9: {
+ updateBtnStatus();
if(isShowOpenTip==true) {
//娓呯┖寮�闂ㄦ彁閱�
isShowOpenTip = false;
@@ -284,6 +315,9 @@
getDB().clKmTip.setVisibility(View.GONE);
}
}break;
+ case 11:
+ updateBtnStatus();
+ break;
default:
break;
}
@@ -370,6 +404,17 @@
return styledText;
}
+ private void showKeyErrTip(CabinetGridDo gridDo){
+ getDB().imgClKm1.setImageResource(R.mipmap.ic_jjfail);
+ getDB().tvClKm1.setText("璇嗗埆澶辫触");
+ getDB().tvClKm2.setText(getTipText2("閽ュ寵鏌�",gridDo.getCabinetName(),"璇嗗埆澶辫触"), TextView.BufferType.SPANNABLE);
+ getDB().tvClKmClose.setText("閲嶆柊瀛樻斁");
+ getDB().tvClKmClose.setTextColor(0xffffffff);
+ getDB().tvClKmClose.setBackgroundResource(R.drawable.shape_mb_bt_ok);
+ isShowOpenTip = false;
+ getDB().clKmTip.setVisibility(View.VISIBLE);
+ }
+
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK){
@@ -380,6 +425,10 @@
return super.onKeyDown(keyCode, event);
}
+ /**
+ * 寮�闂ㄨ繑鍥�
+ * @param e
+ */
@Subscribe(threadMode = ThreadMode.MAIN)
public void ManageOpenGridResultEvent(ManageOpenGridResultEvent e){
if(!isFinishing()){
@@ -397,6 +446,10 @@
}
}
if(waitOpenMap.size()==0){
+ if(getDB().clKmTip.getVisibility()==View.VISIBLE){
+ //宸插脊鍑哄氨涓嶆彁绀轰簡
+ return;
+ }
EventBus.getDefault().post(new HttpEvent("鍏ㄩ儴鎵撳紑浜�:"+waitOpenMap.size()));
//鎵撳紑鎴愬姛
if(isAllOpen){
@@ -464,4 +517,41 @@
waitOpenMap.clear();
}
}
+
+ /**
+ * 鍏抽棬
+ * @param e
+ */
+ @Subscribe(threadMode= ThreadMode.MAIN)
+ public void CloseGridOneResultEvent(CloseGridOneResultEvent e){
+ if(!isFinishing()){
+ //鏍¢獙鍗″彿
+ CabinetGridDo gridDo = DaoManager.getCabinetGridDao().getGridByKey(e.getKey());
+ if(gridDo!=null){
+ //鏍¢獙閽ュ寵鏄惁鍖归厤
+ if(gridDo.getGridKey()==null){
+ if(!TextUtils.isEmpty(gridDo.getCurKeyCode())){
+ //鏈粦瀹氱殑瀛樻斁浜嗛挜鍖�
+ showKeyErrTip(gridDo);
+ //寮�闂�
+ EventBus.getDefault().post(new OpenGridEvent(Integer.parseInt(e.getKey().substring(2,4), 16)+"",
+ Integer.parseInt(e.getKey().substring(0,2), 16)+""));
+ return;
+ }
+ }else {
+ if(!TextUtils.isEmpty(gridDo.getCurKeyCode())){
+ if(!gridDo.getCurKeyCode().equals(gridDo.getKeyCode())){
+ //閽ュ寵涓嶅尮閰�
+ showKeyErrTip(gridDo);
+ //寮�闂�
+ EventBus.getDefault().post(new OpenGridEvent(Integer.parseInt(e.getKey().substring(2,4), 16)+"",
+ Integer.parseInt(e.getKey().substring(0,2), 16)+""));
+ return;
+ }
+ }
+ }
+ getVM().closeGrid(gridDo);
+ }
+ }
+ }
}
\ No newline at end of file
diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetVM.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetVM.java
index c99ca2e..2a338f5 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetVM.java
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetVM.java
@@ -1,6 +1,7 @@
package com.doumee.keyCabinet.ui.keyCabinet;
import android.app.Application;
+import android.text.TextUtils;
import androidx.annotation.NonNull;
import androidx.databinding.ObservableField;
@@ -9,11 +10,15 @@
import com.doumee.keyCabinet.MApplication;
import com.doumee.keyCabinet.bean.CabinetDetailBean;
+import com.doumee.keyCabinet.bean.LoginBean;
import com.doumee.keyCabinet.bean.ManageKeyCabinetBean;
+import com.doumee.keyCabinet.dao.CabinetGridDo;
+import com.doumee.keyCabinet.event.HttpEvent;
import com.doumee.keyCabinet.http.Apis;
import com.doumee.keyCabinet.http.param.BaseResponse;
import com.doumee.keyCabinet.http.param.BatchOpenGridAdminParam;
import com.doumee.keyCabinet.http.param.CancelFaultParam;
+import com.doumee.keyCabinet.http.param.CloseGridParam;
import com.doumee.keyCabinet.http.param.MarkFaultParam;
import com.doumee.keyCabinet.http.param.MarkRepairParam;
import com.doumee.keyCabinet.utils.ParamsUtil;
@@ -21,6 +26,8 @@
import com.doumee.lib_coremodel.base.DataViewModel;
import com.doumee.lib_coremodel.http.rxJava.SimpleObserver;
import com.doumee.lib_coremodel.http.utils.RxUtils;
+
+import org.greenrobot.eventbus.EventBus;
import java.util.ArrayList;
import java.util.List;
@@ -40,7 +47,7 @@
}
public void getCabinetDetail(){
- CabinetDetailBean bean = new CabinetDetailBean();
+ /*CabinetDetailBean bean = new CabinetDetailBean();
bean.setGridNum(24);
bean.setOnlineKeyNum(1);
bean.setOutKeyNum(2);
@@ -95,11 +102,8 @@
b4.setWorkingStatus(1);
b4.setBindStatus(1);
- datasLD.setValue(datas);
+ datasLD.setValue(datas);*/
- if(true){
- return;
- }
showLoading(true);
getRetrofitService(Apis.class).getCabinetDetail(MApplication.getLoginBean().getToken(),
MApplication.getConfigBean().getId())
@@ -110,6 +114,7 @@
if(200==response.getCode()){
dataOb.set(response.getData());
if(response.getData()!=null){
+ MApplication.getLoginBean().setMemberId(response.getData().getMemberId());
if(response.getData().getCabinetGridInfoVOList()!=null){
datasLD.setValue(response.getData().getCabinetGridInfoVOList());
}else {
@@ -136,14 +141,14 @@
}
public void batchOpenGridAdmin(List<Integer> gridIdList,boolean isAll){
- if(isAll) {
+ /*if(isAll) {
doAction(8);
}else {
doAction(10);
}
if(true){
return;
- }
+ }*/
showLoading(true);
BatchOpenGridAdminParam param = new BatchOpenGridAdminParam();
param.setCabinetId(MApplication.getConfigBean().getId());
@@ -156,6 +161,7 @@
public void onNext(@NonNull BaseResponse response) {
if(200==response.getCode()){
if(isAll) {
+ toast("鎵归噺寮�闂ㄦ垚鍔�");
doAction(8);
}else {
doAction(10);
@@ -190,6 +196,7 @@
@Override
public void onNext(@NonNull BaseResponse response) {
if(200==response.getCode()){
+ toast("鏍囪鏌滄牸姝e父鎴愬姛");
getCabinetDetail();
}else {
toast(response.getMessage());
@@ -220,6 +227,7 @@
@Override
public void onNext(@NonNull BaseResponse response) {
if(200==response.getCode()){
+ toast("鏍囪鏌滄牸鏁呴殰鎴愬姛");
getCabinetDetail();
}else {
toast(response.getMessage());
@@ -250,6 +258,7 @@
@Override
public void onNext(@NonNull BaseResponse response) {
if(200==response.getCode()){
+ toast("鏍囪缁翠慨淇濆吇鎴愬姛");
getCabinetDetail();
}else {
toast(response.getMessage());
@@ -268,6 +277,42 @@
});
}
+ /**
+ * 鍏抽棬
+ * @param gridDo
+ */
+ public void closeGrid(CabinetGridDo gridDo){
+ CloseGridParam param = new CloseGridParam();
+ LoginBean loginBean = MApplication.getLoginBean();
+ param.setCabinetId(MApplication.getConfigBean().getId());
+ param.setAuthType(loginBean.getAuthType());
+ param.setMemberId(loginBean.getMemberId());
+ param.setGridId(gridDo.getGridId());
+ param.setKeyStatus(!TextUtils.isEmpty(gridDo.getCurKeyCode())?1:2);
+ toast(gridDo.getGridKey()+"鍏抽棴锛屽綋鍓嶉挜鍖欏彿锛�"+gridDo.getCurKeyCode());
+ getRetrofitService(Apis.class).closeGrid(ParamsUtil.encodeRequestBody(param))
+ .compose(RxUtils.schedulersTransformer())
+ .subscribe(new SimpleObserver<BaseResponse>(rxJavaGcManager) {
+ @Override
+ public void onNext(@NonNull BaseResponse response) {
+ if(response.getCode()==200){
+ getCabinetDetail();
+ doAction(11);
+ }
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+
public MutableLiveData<List<ManageKeyCabinetBean>> getDatasLD() {
return datasLD;
}
diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageLoginVM.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageLoginVM.java
index 89e58c7..fa2587c 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageLoginVM.java
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageLoginVM.java
@@ -29,10 +29,6 @@
}
public void loginCabinet(String userName,String pw){
- if(true){
- doAction(5);
- return;
- }
LoginCabinetParam param = new LoginCabinetParam();
param.setUsername(userName);
param.setPassword(pw);
@@ -45,6 +41,7 @@
if(200==response.getCode()){
MApplication.setLoginBean(null);
MApplication.getLoginBean().setToken(response.getData());
+ MApplication.getLoginBean().setAuthType(2);
doAction(5);
}else {
doAction(4);
diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainActivity.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainActivity.java
index c248eb2..1b06374 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainActivity.java
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainActivity.java
@@ -39,11 +39,9 @@
import com.bumptech.glide.request.target.Target;
import com.bumptech.glide.request.transition.Transition;
import com.doumee.keyCabinet.BuildConfig;
-import com.doumee.keyCabinet.base.BannerPicResponsePara;
import com.doumee.keyCabinet.bean.CabinetConfigDataBean;
import com.doumee.keyCabinet.bean.DevConfigBean;
import com.doumee.keyCabinet.bean.FaceUserBean;
-import com.doumee.keyCabinet.bean.LoginBean;
import com.doumee.keyCabinet.dao.CabinetGridDo;
import com.doumee.keyCabinet.dao.DaoManager;
import com.doumee.keyCabinet.databinding.MainActivityBinding;
@@ -60,9 +58,9 @@
import com.doumee.keyCabinet.event.OpenGridEvent;
import com.doumee.keyCabinet.event.OpenGridListEvent;
import com.doumee.keyCabinet.event.OpenGridOneResultEvent;
-import com.doumee.keyCabinet.event.ReLoginEvent;
import com.doumee.keyCabinet.event.TimeClockEvent;
import com.doumee.keyCabinet.ui.face.ActivationActivity;
+import com.doumee.keyCabinet.ui.face.FaceActivity;
import com.doumee.keyCabinet.ui.keyCabinet.ChangeUrlActivity;
import com.doumee.keyCabinet.ui.keyCabinet.KeyCabinetActivity;
import com.doumee.keyCabinet.ui.keyCabinet.ManageLoginActivity;
@@ -273,6 +271,7 @@
getDB().tvId.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
+ startActivity(ManageLoginActivity.class);
//鏇存敼url
if(lastDownTime2!=null){
if(System.currentTimeMillis()-lastDownTime2>1000){
@@ -286,6 +285,13 @@
lastDownTime2=null;
startActivity(ChangeUrlActivity.class);
}
+ }
+ });
+ getDB().tvVersion.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ //todo 涓存椂浠g爜
+ setJiuConfig();
}
});
upErrInfo();
@@ -305,6 +311,8 @@
}
private void setJiuConfig(){
+ getVM().addInfo("閰掔簿閰嶇疆锛�"+(MApplication.getConfigBean().getCabinetConfigDataVO()!=null)+
+ ",涓插彛寮�鍚細"+(jiuPort!=null));
if(MApplication.getConfigBean().getCabinetConfigDataVO()!=null&&
jiuPort!=null){
setJiuConfig(0);
@@ -355,49 +363,19 @@
case 2:
case 3: {
//鏍¢獙鏄惁鐧诲綍
- /*if(MApplication.getConfigBean().getId()==null){
+ if(MApplication.getConfigBean().getId()==null){
Toast.makeText(mContext, "璁惧鏈坊鍔狅紝鏃犳硶鎿嶄綔", Toast.LENGTH_SHORT).show();
getVM().devLogin();
return;
}
- MApplication.getLoginBean().setFlag(type==2?0:1);
- startActivity(FaceActivity.class);*/
- /*if(type==2){
- send485(1,"A002010000000003");
- }else {
- send485(1,"A001010000000002");
- }*/
- //send485(1,"A001010000000002");
- //send485(1,"A002010000000003");
- //startActivity(KeyCabinetActivity.class,b);
checkGridStatus(0);
List<CabinetGridDo> gridDos = getVM().getOpenGrids();
if (gridDos.size() > 0) {
- tipDownCount = 10;
- isShowTip = true;
- getDB().tvDjs.setText(tipDownCount + "s");
- StringBuilder sb = new StringBuilder();
- for(CabinetGridDo d:gridDos){
- if (sb.length()>0) {
- sb.append("銆�");
- }
- String name = d.getCabinetName();
- if (TextUtils.isEmpty(name)) {
- name = gridDos.get(0).getGridKey();
- }
- sb.append(name);
- }
-
- getDB().tvTip22.setText(getTipText(sb.toString()), TextView.BufferType.SPANNABLE);
- getDB().clTip.setVisibility(View.VISIBLE);
+ showUnCloseTip(gridDos);
return;
}
MApplication.setLoginBean(null);
MApplication.getLoginBean().setFlag(type == 2 ? 0 : 1);
- if(type==3){
- startActivity(ManageLoginActivity.class);
- return;
- }
startActivity(KeyCabinetActivity.class);
}
break;
@@ -408,22 +386,7 @@
case 5: {
List<CabinetGridDo> gridDos = getVM().getOpenGrids();
if (gridDos.size() > 0) {
- tipDownCount = 10;
- isShowTip = true;
- getDB().tvDjs.setText(tipDownCount + "s");
- StringBuilder sb = new StringBuilder();
- for(CabinetGridDo d:gridDos){
- if (sb.length()>0) {
- sb.append("銆�");
- }
- String name = d.getCabinetName();
- if (TextUtils.isEmpty(name)) {
- name = gridDos.get(0).getGridKey();
- }
- sb.append(name);
- }
- getDB().tvTip22.setText(getTipText(sb.toString()), TextView.BufferType.SPANNABLE);
- getDB().clTip.setVisibility(View.VISIBLE);
+ showUnCloseTip(gridDos);
}else {
isShowTip = false;
getDB().clTip.setVisibility(View.GONE);
@@ -436,6 +399,35 @@
default:
break;
}
+ }
+
+ private void showUnCloseTip(List<CabinetGridDo> gridDos){
+ tipDownCount = 10;
+ isShowTip = true;
+ getDB().tvDjs.setText(tipDownCount + "s");
+ StringBuilder sb = new StringBuilder();
+ for(CabinetGridDo d:gridDos){
+ if (sb.length()>0) {
+ sb.append("銆�");
+ }
+ String name = d.getCabinetName();
+ if (TextUtils.isEmpty(name)) {
+ name = gridDos.get(0).getGridKey();
+ }
+ sb.append(name);
+ }
+ getDB().tvTip22.setText(getTipText(sb.toString()), TextView.BufferType.SPANNABLE);
+ getDB().tvTip23.setText(getErrPhoneText(), TextView.BufferType.SPANNABLE);
+ getDB().clTip.setVisibility(View.VISIBLE);
+ }
+
+ private SpannableString getErrPhoneText(){
+ String phone = MApplication.getConfigBean().getLinkPhone();
+ String text = "濡傛湁闂璇疯仈绯荤鐞嗗憳"+phone;
+ SpannableString styledText = new SpannableString(text);
+ styledText.setSpan(new TextAppearanceSpan(this, R.style.style_tip3), 0, text.length()-phone.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+ styledText.setSpan(new TextAppearanceSpan(this,R.style.style_tip1), text.length()-phone.length()+1, text.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+ return styledText;
}
private boolean isShowing = false;
@@ -1171,7 +1163,6 @@
EventBus.getDefault().post(new OpenGridEvent(Integer.parseInt(e.getKey().substring(2,4), 16)+"",
Integer.parseInt(e.getKey().substring(0,2), 16)+""));
}else {
- //todo 鍏抽棬鎴愬姛
if(isShowTip){
doRegister(5,null);
}
diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainVM.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainVM.java
index 16c401a..d1d11bd 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainVM.java
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/main/MainVM.java
@@ -295,7 +295,7 @@
.subscribe(new SimpleObserver<BaseResponse>(rxJavaGcManager) {
@Override
public void onNext(@NonNull BaseResponse response) {
-
+ toast("瓒呮椂鏈叧闂ㄦ帴鍙h皟鐢ㄦ垚鍔�");
}
@Override
@@ -323,7 +323,7 @@
.subscribe(new SimpleObserver<BaseResponse>(rxJavaGcManager) {
@Override
public void onNext(@NonNull BaseResponse response) {
-
+ toast("鍏抽棬鎺ュ彛璋冪敤鎴愬姛");
}
@Override
diff --git a/keyCabinet-android/app/src/main/res/layout/face_activity.xml b/keyCabinet-android/app/src/main/res/layout/face_activity.xml
index 8781983..fd8c59f 100644
--- a/keyCabinet-android/app/src/main/res/layout/face_activity.xml
+++ b/keyCabinet-android/app/src/main/res/layout/face_activity.xml
@@ -439,7 +439,7 @@
android:id="@+id/tv_jg2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="濡傛湁闂璇疯仈绯荤鐞嗗憳15899098765"
+ android:text="濡傛湁闂璇疯仈绯荤鐞嗗憳"
android:textColor="#ff666666"
android:textSize="24sp"
app:layout_constraintTop_toBottomOf="@+id/tv_jg1"
diff --git a/keyCabinet-android/app/src/main/res/layout/home_fragment_lbt_item.xml b/keyCabinet-android/app/src/main/res/layout/home_fragment_lbt_item.xml
index bc2419a..34a8410 100644
--- a/keyCabinet-android/app/src/main/res/layout/home_fragment_lbt_item.xml
+++ b/keyCabinet-android/app/src/main/res/layout/home_fragment_lbt_item.xml
@@ -3,14 +3,14 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
- android:paddingLeft="60dp"
- android:paddingRight="60dp">
+ android:paddingLeft="30dp"
+ android:paddingRight="30dp">
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/sim_icon"
android:layout_width="match_parent"
android:layout_height="0dp"
- app:viewAspectRatio="2.3"
+ app:viewAspectRatio="2.2"
style="@style/sim_nomal"
app:roundedCornerRadius="20dp"
app:layout_constraintTop_toTopOf="parent"
diff --git a/keyCabinet-android/app/src/main/res/layout/key_cabinet_activity.xml b/keyCabinet-android/app/src/main/res/layout/key_cabinet_activity.xml
index 857a499..a32a5b2 100644
--- a/keyCabinet-android/app/src/main/res/layout/key_cabinet_activity.xml
+++ b/keyCabinet-android/app/src/main/res/layout/key_cabinet_activity.xml
@@ -147,7 +147,7 @@
android:id="@+id/tv_jg2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="濡傛湁闂璇疯仈绯荤鐞嗗憳15899098765"
+ android:text="濡傛湁闂璇疯仈绯荤鐞嗗憳"
android:textColor="#ff666666"
android:textSize="24sp"
app:layout_constraintTop_toBottomOf="@+id/tv_jg1"
@@ -211,7 +211,7 @@
android:id="@+id/tv_tip2_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="濡傛湁闂璇疯仈绯荤鐞嗗憳15899098765"
+ android:text="濡傛湁闂璇疯仈绯荤鐞嗗憳"
android:textColor="#ff666666"
android:textSize="24sp"
app:layout_constraintTop_toBottomOf="@+id/tv_tip2_1"
diff --git a/keyCabinet-android/app/src/main/res/layout/main_activity.xml b/keyCabinet-android/app/src/main/res/layout/main_activity.xml
index 1df9cf9..cc4426a 100644
--- a/keyCabinet-android/app/src/main/res/layout/main_activity.xml
+++ b/keyCabinet-android/app/src/main/res/layout/main_activity.xml
@@ -165,17 +165,14 @@
android:id="@+id/img2"
android:layout_width="match_parent"
android:layout_height="0dp"
- android:background="@mipmap/bg_home"
android:scaleType="fitXY"
app:viewAspectRatio="2.2"
- android:layout_marginLeft="30dp"
- android:layout_marginRight="30dp"
app:layout_constraintTop_toBottomOf="@+id/bg_huan"
android:layout_marginTop="30dp"/>
<com.bigkoo.convenientbanner.ConvenientBanner
android:id="@+id/banner"
- android:layout_width="0dp"
+ android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintTop_toTopOf="@+id/img2"
app:layout_constraintBottom_toBottomOf="@+id/img2"
@@ -351,6 +348,18 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
+ <TextView
+ android:id="@+id/tv_tip2_3"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="濡傛湁闂璇疯仈绯荤鐞嗗憳15899098765"
+ android:textColor="#ff666666"
+ android:textSize="24sp"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ android:layout_marginBottom="45dp"/>
+
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.core.widget.NestedScrollView
diff --git a/keyCabinet-android/app/src/main/res/layout/manage_cabinet_activity.xml b/keyCabinet-android/app/src/main/res/layout/manage_cabinet_activity.xml
index fc6ded8..e2655a4 100644
--- a/keyCabinet-android/app/src/main/res/layout/manage_cabinet_activity.xml
+++ b/keyCabinet-android/app/src/main/res/layout/manage_cabinet_activity.xml
@@ -443,7 +443,8 @@
app:commandType="@{6}"
app:onClickCommand="@{model.myTypeCommand}"
android:layout_marginLeft="30dp"
- android:layout_marginRight="30dp"/>
+ android:layout_marginRight="30dp"
+ />
<TextView
android:id="@+id/tv_bjgz"
diff --git a/keyCabinet-android/app/src/main/res/layout/manage_login_activity.xml b/keyCabinet-android/app/src/main/res/layout/manage_login_activity.xml
index f3bdf42..da2a0f5 100644
--- a/keyCabinet-android/app/src/main/res/layout/manage_login_activity.xml
+++ b/keyCabinet-android/app/src/main/res/layout/manage_login_activity.xml
@@ -76,7 +76,7 @@
android:layout_width="0dp"
android:layout_height="75dp"
android:background="@null"
- android:text=""
+ android:text="15055153182"
android:textColor="#111111"
android:hint="璇疯緭鍏ョ櫥褰曡处鍙�"
android:textColorHint="#999999"
@@ -126,7 +126,7 @@
android:layout_width="0dp"
android:layout_height="75dp"
android:background="@null"
- android:text=""
+ android:text="123456a"
android:hint="璇疯緭鍏ヨ处鍙峰瘑鐮�"
android:textColorHint="#999999"
android:textSize="24sp"
diff --git a/keyCabinet-android/app/src/main/res/values/styles.xml b/keyCabinet-android/app/src/main/res/values/styles.xml
index a511123..53282a5 100644
--- a/keyCabinet-android/app/src/main/res/values/styles.xml
+++ b/keyCabinet-android/app/src/main/res/values/styles.xml
@@ -113,4 +113,7 @@
<style name="style_tip2">
<item name="android:textColor">#FF111111</item>
</style>
+ <style name="style_tip3">
+ <item name="android:textColor">#ff666666</item>
+ </style>
</resources>
\ No newline at end of file
--
Gitblit v1.9.3