Merge branch 'wuhuyancao' of http://139.186.142.91:10010/r/productDev/dmvisit into wuhuyancao
| | |
| | | </template> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | |
| | | applicationId "com.doumee.keyCabinet" |
| | | minSdkVersion build_versions.min_sdk |
| | | targetSdkVersion build_versions.target_sdk |
| | | versionCode 1 |
| | | versionName "1.0.0" |
| | | versionCode 2 |
| | | versionName "1.0.1" |
| | | |
| | | //æ¯ævectorDrawablesç¢éå¾ |
| | | vectorDrawables.useSupportLibrary = true |
| | |
| | | android:resource="@xml/provider_paths" /> |
| | | </provider> |
| | | |
| | | <receiver |
| | | <!--<receiver |
| | | android:name="com.doumee.keyCabinet.ui.service.BootCompleteReceiver" |
| | | android:enabled="true" |
| | | android:exported="true"> |
| | | |
| | | <!-- æ¥æ¶å¯å¨å®æç广æ --> |
| | | <!– æ¥æ¶å¯å¨å®æçå¹¿æ –> |
| | | <intent-filter android:priority="1000"> |
| | | <action android:name="android.intent.action.BOOT_COMPLETED" /> |
| | | </intent-filter> |
| | | </receiver> |
| | | </receiver>--> |
| | | |
| | | <service android:name="com.doumee.keyCabinet.ui.service.HeartbeatService" /> |
| | | <service android:name="com.doumee.keyCabinet.ui.service.FaceUpdateService" /> |
| | | <!--<service android:name="com.doumee.keyCabinet.ui.service.HeartbeatService" /> |
| | | <service android:name="com.doumee.keyCabinet.ui.service.FaceUpdateService" />--> |
| | | |
| | | <uses-library |
| | | android:name="org.apache.http.legacy" |
| | |
| | | private Integer memberId; |
| | | private String memberName; |
| | | |
| | | //0:管çåï¼1ï¼ç¨æ· |
| | | //0:管çåï¼1ï¼å¸æº |
| | | private String groupId; |
| | | |
| | | private boolean checked; |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.keyCabinet.event; |
| | | |
| | | public class OpenErrEvent { |
| | | private String key; |
| | | |
| | | public OpenErrEvent(String key) { |
| | | this.key = key; |
| | | } |
| | | |
| | | public String getKey() { |
| | | return key; |
| | | } |
| | | |
| | | public void setKey(String key) { |
| | | this.key = key; |
| | | } |
| | | } |
| | |
| | | private String channelCode; |
| | | //æ¿å· |
| | | private String boardCode; |
| | | private String key; |
| | | |
| | | public OpenGridEvent(String channelCode, String boardCode) { |
| | | this.channelCode = channelCode; |
| | | this.boardCode = boardCode; |
| | | } |
| | | |
| | | public OpenGridEvent(String key) { |
| | | this.key = key; |
| | | } |
| | | |
| | | public String getKey() { |
| | | return key; |
| | | } |
| | | |
| | | public void setKey(String key) { |
| | | this.key = key; |
| | | } |
| | | |
| | | public String getChannelCode() { |
| | | return channelCode; |
| | | } |
| | |
| | | * è·åICå¡ç¨æ·ä¸»é® - 叿º |
| | | */ |
| | | @POST("visitsAdmin/cloudService/web/cabinet/getMemberIdByCode") |
| | | Observable<BaseResponse<Integer>> getMemberIdByCode(@Query("code")String code); |
| | | Observable<BaseResponse<Integer>> getMemberIdByCode(@Body RequestBody requestBody); |
| | | |
| | | /** |
| | | * é
ç²¾æ£æµåè¦ |
| | |
| | | package com.doumee.keyCabinet.http.param; |
| | | |
| | | public class AlcoholTestAlarmParam { |
| | | //æåid |
| | | private Integer cabinetId; |
| | | //ä¼åid |
| | | private Integer memberId; |
| | | private String alcoholNum; |
| | |
| | | public void setAlcoholNum(String alcoholNum) { |
| | | this.alcoholNum = alcoholNum; |
| | | } |
| | | |
| | | public Integer getCabinetId() { |
| | | return cabinetId; |
| | | } |
| | | |
| | | public void setCabinetId(Integer cabinetId) { |
| | | this.cabinetId = cabinetId; |
| | | } |
| | | } |
| | |
| | | package com.doumee.keyCabinet.http.param; |
| | | |
| | | public class GetMemberIdByCodeParam { |
| | | //å
³è人åç±»åï¼0=叿ºï¼1=æ ¡éªäººå |
| | | private Integer userType; |
| | | private String code; |
| | | |
| | | public GetMemberIdByCodeParam(String code) { |
| | | this.code = code; |
| | | } |
| | | |
| | | public String getCode() { |
| | | return code; |
| | |
| | | public void setCode(String code) { |
| | | this.code = code; |
| | | } |
| | | |
| | | public Integer getUserType() { |
| | | return userType; |
| | | } |
| | | |
| | | public void setUserType(Integer userType) { |
| | | this.userType = userType; |
| | | } |
| | | } |
| | |
| | | List<FaceUserBean> datas = new ArrayList<>(); |
| | | if(faceBean!=null&&faceBean.getAutoFaceList()!=null){ |
| | | for(FaceUserBean bean:faceBean.getAutoFaceList()){ |
| | | bean.setGroupId("1"); |
| | | bean.setGroupId("0"); |
| | | } |
| | | datas.addAll(faceBean.getAutoFaceList()); |
| | | } |
| | | if(faceBean!=null&&faceBean.getDriverFaceList()!=null){ |
| | | for(FaceUserBean bean:faceBean.getDriverFaceList()){ |
| | | bean.setGroupId("0"); |
| | | bean.setGroupId("1"); |
| | | } |
| | | datas.addAll(faceBean.getDriverFaceList()); |
| | | } |
| | |
| | | import com.doumee.keyCabinet.base.MyBaseActivity; |
| | | import com.doumee.keyCabinet.databinding.FaceActivityBinding; |
| | | import com.doumee.keyCabinet.event.FaceStatusChangeEvent; |
| | | import com.doumee.keyCabinet.event.HttpEvent; |
| | | import com.doumee.keyCabinet.event.JiujinBeginEvent; |
| | | import com.doumee.keyCabinet.event.JiujinResultEvent; |
| | | import com.doumee.keyCabinet.event.TimeClockEvent; |
| | |
| | | private void statusFsm(int toStatus){ |
| | | status = toStatus; |
| | | isToChose = false; |
| | | getDB().etEwm.requestFocus(); |
| | | switch (toStatus){ |
| | | case 0: |
| | | //å-管çå人è¸éªè¯ |
| | |
| | | case 1: |
| | | //å-管çåå·å¡éªè¯ |
| | | getDB().etEwm.setText(""); |
| | | getDB().etEwm.requestFocus(); |
| | | getDB().tvTitle.setText("管çå身份éªè¯"); |
| | | getDB().clFace.setVisibility(View.GONE); |
| | | getDB().clCard.setVisibility(View.VISIBLE); |
| | |
| | | //å-叿ºé
ç²¾æ£æµå¤±è´¥ |
| | | //Toast.makeText(mContext, "叿ºé
ç²¾æ£æµå¤±è´¥", Toast.LENGTH_SHORT).show(); |
| | | getDB().clJiu.setVisibility(View.GONE); |
| | | getDB().tvJg1.setText("é
ç²¾æ£æµå¼å¸¸ï¼è¯·éæ°æ£æµ"); |
| | | getDB().tvJg1.setText("é
ç²¾æ£æµæä½ä¸å½ï¼è¯·éæ°æ£æµ"); |
| | | getDB().clTip1.setVisibility(View.VISIBLE); |
| | | break; |
| | | case 7: |
| | |
| | | finish(); |
| | | } |
| | | break; |
| | | case 8: |
| | | getDB().message.setText(data.getData().get("obj").toString()); |
| | | getDB().message.setVisibility(View.VISIBLE); |
| | | handler.sendEmptyMessageDelayed(6,2000); |
| | | getDB().message.invalidate(); |
| | | getDB().message.requestLayout(); |
| | | EventBus.getDefault().post(new HttpEvent("icå¡+++++++"+data.getData().get("type").toString())); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | |
| | | //icå¡è¯»å |
| | | getDB().etEwm.requestFocus(); |
| | | getDB().etEwm.setFocusable(true); |
| | | getDB().etEwm.setShowSoftInputOnFocus(true); |
| | | getDB().etEwm.setShowSoftInputOnFocus(false); |
| | | hideSoftKeyboard(getDB().etEwm); |
| | | getDB().etEwm.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { |
| | | @Override |
| | |
| | | hideSoftKeyboard(getDB().etEwm); |
| | | } |
| | | }); |
| | | |
| | | getDB().etEwm.addTextChangedListener(new TextWatcher() { |
| | | @Override |
| | | public void beforeTextChanged(CharSequence s, int start, int count, int after) { |
| | |
| | | return; |
| | | } |
| | | if(status!=1&&status!=3&&status!=8){ |
| | | getDB().etEwm.setText(""); |
| | | getDB().etEwm.requestFocus(); |
| | | return; |
| | | } |
| | | if(handler.hasMessages(5)){ |
| | |
| | | getVM().alcoholTestAlarm(resultEvent.getConcentration().toString()); |
| | | //Toast.makeText(mContext, "é
ç²¾æ£æµè¶
æ ", Toast.LENGTH_SHORT).show(); |
| | | statusFsm(9); |
| | | //忣æµï¼å°å£°é³å
³é |
| | | EventBus.getDefault().post(new JiujinBeginEvent()); |
| | | } |
| | | break; |
| | | case 4: |
| | |
| | | } |
| | | getDB().etEwm.setText(""); |
| | | getDB().etEwm.requestFocus(); |
| | | break; |
| | | case 6: |
| | | getDB().message.setVisibility(View.GONE); |
| | | break; |
| | | default: |
| | | break; |
| | |
| | | User user = livenessModel.getUser(); |
| | | if (user == null) { |
| | | mUser = null; |
| | | //EventBus.getDefault().post(new HttpEvent("人è¸ç¨æ·æ£æµå¤±è´¥------->"+(status==0?"管çåäººè¸æ£æµï¼":"叿ºäººè¸æ£æµï¼"))); |
| | | if (isCompareCheck) { |
| | | /*getDB().clFail.setVisibility(View.VISIBLE); |
| | | getDB().tv4.setText(getString(R.string.face_tip2)); |
| | |
| | | |
| | | } else { |
| | | mUser = user; |
| | | /*EventBus.getDefault().post(new HttpEvent("人è¸ç¨æ·------->"+(status==0?"管çåäººè¸æ£æµï¼":"叿ºäººè¸æ£æµï¼") |
| | | +(user.getGroupId().equals("0")?"管çå":"叿º")));*/ |
| | | if (isCompareCheck) { |
| | | getDB().clFail.setVisibility(View.GONE); |
| | | if(handler.hasMessages(0)) { |
| | |
| | | @Subscribe(threadMode = ThreadMode.MAIN) |
| | | public void JiujinResultEvent(JiujinResultEvent e){ |
| | | if(!isFinishing()){ |
| | | if(status!=4&&status!=6){ |
| | | return; |
| | | } |
| | | //Toast.makeText(mContext, "é
ç²¾æ£æµè¿åï¼"+e.isOk(), Toast.LENGTH_SHORT).show(); |
| | | if(!e.isOk()){ |
| | | getDB().clJiujinProgress.setVisibility(View.GONE); |
| | |
| | | * @param type //0ï¼ç®¡çåï¼1ï¼å¸æº |
| | | */ |
| | | public void getMemberIdByCode(String code,String type){ |
| | | //showLoading(true); |
| | | getRetrofitService(Apis.class).getMemberIdByCode(code) |
| | | GetMemberIdByCodeParam param = new GetMemberIdByCodeParam(); |
| | | param.setUserType("0".equals(type)?1:0); |
| | | param.setCode(code); |
| | | getRetrofitService(Apis.class).getMemberIdByCode(ParamsUtil.encodeRequestBody(param)) |
| | | .compose(RxUtils.schedulersTransformer()) |
| | | .subscribe(new SimpleObserver<BaseResponse<Integer>>(rxJavaGcManager) { |
| | | @Override |
| | |
| | | } |
| | | } |
| | | }else { |
| | | //toast(response.getMessage()); |
| | | doAction(8,response.getMessage()); |
| | | } |
| | | } |
| | | |
| | |
| | | */ |
| | | public void alcoholTestAlarm(String data){ |
| | | AlcoholTestAlarmParam param = new AlcoholTestAlarmParam(); |
| | | param.setCabinetId(MApplication.getConfigBean().getId()); |
| | | param.setMemberId(MApplication.getLoginBean().getMemberId()); |
| | | param.setAlcoholNum(data); |
| | | showLoading(true); |
| | |
| | | // æ·»å æ°æ® |
| | | holder.text_user_ctime.setText(mList.get(position).getId()+""); |
| | | holder.textUserName.setText(mList.get(position).getUserName()); |
| | | holder.textSf.setText(mList.get(position).getGroupId().equals("0")? |
| | | holder.textSf.setText(mList.get(position).getGroupId().equals("1")? |
| | | MApplication.mContext.getString(R.string.face_hy) :MApplication.mContext.getString(R.string.face_xy)); |
| | | FrescoUtils.displayImageFresco(mList.get(position).getImageName(),holder.circleUserHead); |
| | | } |
| | |
| | | @Override |
| | | public void initData(@Nullable Bundle savedInstanceState) { |
| | | getDB().etUrl.setText(SpUtil.getString("base_url", Apis.HTTP)); |
| | | getDB().etTime.setText(SpUtil.getInt("loop_time",30)+""); |
| | | getDB().etTime.setText(SpUtil.getInt("loop_time",60)+""); |
| | | } |
| | | |
| | | @Override |
| | |
| | | ToastView.show(MApplication.mContext,"æ¥å£å°åä¸è½ä¸ºç©º"); |
| | | return; |
| | | } |
| | | if(!url.startsWith("http://")||!url.startsWith("https://")||!url.endsWith("/")){ |
| | | if((url.startsWith("http://")||url.startsWith("https://"))&&url.endsWith("/")){ |
| | | //æ£ç¡® |
| | | }else { |
| | | ToastView.show(MApplication.mContext,"æ¥å£å°åé误"); |
| | | return; |
| | | } |
| | |
| | | import com.doumee.keyCabinet.event.CloseGridOneResultEvent; |
| | | import com.doumee.keyCabinet.event.KeyResultEvent; |
| | | import com.doumee.keyCabinet.event.GetKeyStatusEvent; |
| | | import com.doumee.keyCabinet.event.OpenErrEvent; |
| | | import com.doumee.keyCabinet.event.OpenGridEvent; |
| | | import com.doumee.keyCabinet.event.OpenGridListEvent; |
| | | import com.doumee.keyCabinet.event.OpenGridOneResultEvent; |
| | |
| | | private int status; |
| | | |
| | | private int ysDownCount = 10; |
| | | private boolean isChose; |
| | | |
| | | @Override |
| | | public int getLayoutId() { |
| | |
| | | adapter = new CabinetRcvAdapter(this, R.layout.cabinet_rcv_item, new CabinetRcvAdapter.OnItemClick() { |
| | | @Override |
| | | public void onItemClick(KeyCabinetBean item) { |
| | | if(isChose){ |
| | | return; |
| | | } |
| | | selectBean = item; |
| | | } |
| | | }); |
| | |
| | | Toast.makeText(mContext, "è¯·éæ©æé¨", Toast.LENGTH_SHORT).show(); |
| | | return; |
| | | } |
| | | if(isChose){ |
| | | return; |
| | | } |
| | | isChose = true; |
| | | if(isOpening){ |
| | | return; |
| | | } |
| | |
| | | downTime = 60; |
| | | break; |
| | | case 2: |
| | | getDB().clTip1.setVisibility(View.GONE); |
| | | //getDB().clTip1.setVisibility(View.GONE); |
| | | if(status==0) { |
| | | //éæ°å¼é¨ |
| | | openTime = StringUtil.DateToStr(new Date()); |
| | |
| | | isOpening = false; |
| | | //å¼å¯æå |
| | | status=1; |
| | | if("0".equals(flag)) { |
| | | if(flag==0) { |
| | | getDB().imgTip2.setImageResource(R.mipmap.ic_notclose_key); |
| | | getDB().tvTip22.setText("请é¢åé¥ååå
³éæé¨"); |
| | | }else { |
| | |
| | | getDB().tvTip21.setText(getTipText(selectBean.getCode(),"æé¨æå¼æå"), TextView.BufferType.SPANNABLE); |
| | | getDB().clTip1.setVisibility(View.GONE); |
| | | getDB().clTip2.setVisibility(View.VISIBLE); |
| | | EventBus.getDefault().post(new GetKeyStatusEvent()); |
| | | ysDownCount = 8; |
| | | break; |
| | | case 7: |
| | |
| | | @Override |
| | | protected void onDestroy() { |
| | | super.onDestroy(); |
| | | handler.removeCallbacksAndMessages(null); |
| | | handler = null; |
| | | } |
| | | |
| | | private String openTime = ""; |
| | |
| | | if(selectBean!=null){ |
| | | String key = SportUtils.intToHex(Integer.parseInt(selectBean.getBoardCode())) |
| | | +SportUtils.intToHex(Integer.parseInt(selectBean.getChannelCode())); |
| | | //å¼é¨æåï¼ç§»é¤å¼é¨ |
| | | if(handler.hasMessages(1)){ |
| | | handler.removeMessages(1); |
| | | } |
| | | if(key.equals(e.getKey())) { |
| | | if (e.getIsOpen()==1) { |
| | | //å¼é¨æå |
| | |
| | | return; |
| | | } |
| | | isOpened = true; |
| | | Toast.makeText(mContext, "æä½4", Toast.LENGTH_LONG).show(); |
| | | doRegister(4, null); |
| | | getVM().doAction(4); |
| | | } else { |
| | | //失败 |
| | | //妿æ¯é¥åä¸å¯¹ç»§ç»å¼é¨ |
| | |
| | | } |
| | | if (!gridDo.getCurKeyCode().equals(selectBean.getKeyCode())) { |
| | | //é¥åä¸å¹é
|
| | | doRegister(10,null); |
| | | getVM().doAction(10,null); |
| | | EventBus.getDefault().post(new OpenGridEvent(selectBean.getChannelCode(), selectBean.getBoardCode())); |
| | | return; |
| | | } |
| | | } |
| | | doRegister(3, null); |
| | | getVM().doAction(3); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | private Long keyTime; |
| | | private boolean isOpened = false; |
| | | @Subscribe(threadMode= ThreadMode.MAIN) |
| | | public void CloseGridOneResultEvent(CloseGridOneResultEvent e){ |
| | | if(!isFinishing()){ |
| | | //å
³é¨æåï¼ç§»é¤å¼é¨ |
| | | if(handler.hasMessages(1)){ |
| | | handler.removeMessages(1); |
| | | } |
| | | //è·åå¡å· |
| | | EventBus.getDefault().post(new GetKeyStatusEvent()); |
| | | if(selectBean!=null){ |
| | | keyTime = new Date().getTime()+500; |
| | | if(handler.hasMessages(0)){ |
| | | handler.removeMessages(0); |
| | | } |
| | | handler.sendEmptyMessageDelayed(0,1200); |
| | | /*if(selectBean!=null){ |
| | | String key = SportUtils.intToHex(Integer.parseInt(selectBean.getBoardCode())) |
| | | +SportUtils.intToHex(Integer.parseInt(selectBean.getChannelCode())); |
| | | if(key.equals(e.getKey())) { |
| | |
| | | if (gridDo.getCurKeyCode().equals(selectBean.getKeyCode())) { |
| | | //é¢å失败 |
| | | isOpened = false; |
| | | doRegister(6, null); |
| | | getVM().doAction(6); |
| | | getVM().closeGrid(gridDo); |
| | | }else { |
| | | //é¥åä¸å¹é
|
| | | //Toast.makeText(mContext, "æä½10", Toast.LENGTH_LONG).show(); |
| | | doRegister(10,null); |
| | | getVM().doAction(10,null); |
| | | EventBus.getDefault().post(new OpenGridEvent(selectBean.getChannelCode(), selectBean.getBoardCode())); |
| | | } |
| | | } else { |
| | | //é¥åæ¿èµ°äº |
| | | isOpened = false; |
| | | doRegister(5, null); |
| | | getVM().doAction(5); |
| | | getVM().closeGrid(gridDo); |
| | | } |
| | | }else { |
| | |
| | | if (gridDo.getCurKeyCode().equals(selectBean.getKeyCode())) { |
| | | //ç¸åå½è¿æå |
| | | isOpened = false; |
| | | doRegister(8, null); |
| | | getVM().doAction(8); |
| | | getVM().closeGrid(gridDo); |
| | | }else { |
| | | //é¥åä¸å¹é
|
| | | doRegister(10,null); |
| | | getVM().doAction(10,null); |
| | | EventBus.getDefault().post(new OpenGridEvent(selectBean.getChannelCode(), selectBean.getBoardCode())); |
| | | } |
| | | } else { |
| | | //é¥åæªå½è¿ |
| | | isOpened = false; |
| | | doRegister(9, null); |
| | | getVM().doAction(9); |
| | | getVM().closeGrid(gridDo); |
| | | } |
| | | }else { |
| | |
| | | } |
| | | } |
| | | } |
| | | }*/ |
| | | } |
| | | } |
| | | |
| | | @Subscribe(threadMode= ThreadMode.MAIN) |
| | | public void OpenErrEvent(OpenErrEvent e){ |
| | | //å¼é¨å¤±è´¥ |
| | | if(!isFinishing()){ |
| | | //å¼é¨ |
| | | if(handler.hasMessages(1)){ |
| | | handler.removeMessages(1); |
| | | } |
| | | EventBus.getDefault().post(new OpenGridEvent(selectBean.getChannelCode(), selectBean.getBoardCode())); |
| | | handler.sendEmptyMessageDelayed(1,1000); |
| | | } |
| | | } |
| | | |
| | |
| | | public void KeyResultEvent(KeyResultEvent e){ |
| | | if(!isFinishing()){ |
| | | if(selectBean!=null){ |
| | | //æ ¡éªæ¶é´ |
| | | if(keyTime==null){ |
| | | return; |
| | | } |
| | | if(keyTime!=null&&keyTime>System.currentTimeMillis()){ |
| | | //æ ¡éªè¿åæ¶é´<å½ä»¤æ¶é´ |
| | | return; |
| | | } |
| | | if(handler.hasMessages(0)){ |
| | | handler.removeMessages(0); |
| | | } |
| | | String key = SportUtils.intToHex(Integer.parseInt(selectBean.getBoardCode())) |
| | | +SportUtils.intToHex(Integer.parseInt(selectBean.getChannelCode())); |
| | | if(flag==0) { |
| | |
| | | if (gridDo.getCurKeyCode().equals(selectBean.getKeyCode())) { |
| | | //é¢å失败 |
| | | isOpened = false; |
| | | doRegister(6, null); |
| | | getVM().doAction(6); |
| | | getVM().closeGrid(gridDo); |
| | | }else { |
| | | //é¥åä¸å¹é
|
| | | //Toast.makeText(mContext, "æä½10", Toast.LENGTH_LONG).show(); |
| | | doRegister(10,null); |
| | | getVM().doAction(10); |
| | | EventBus.getDefault().post(new OpenGridEvent(selectBean.getChannelCode(), selectBean.getBoardCode())); |
| | | } |
| | | } else { |
| | | //é¥åæ¿èµ°äº |
| | | isOpened = false; |
| | | doRegister(5, null); |
| | | getVM().doAction(5); |
| | | getVM().closeGrid(gridDo); |
| | | } |
| | | }else { |
| | | //没å
³é¨ |
| | | if(TextUtils.isEmpty(gridDo.getCurKeyCode())){ |
| | | //ç©ºäº |
| | | doRegister(7,null); |
| | | getVM().doAction(7); |
| | | } |
| | | } |
| | | }else { |
| | |
| | | if (gridDo.getCurKeyCode().equals(selectBean.getKeyCode())) { |
| | | //ç¸åå½è¿æå |
| | | isOpened = false; |
| | | doRegister(8, null); |
| | | getVM().doAction(8); |
| | | getVM().closeGrid(gridDo); |
| | | }else { |
| | | //é¥åä¸å¹é
|
| | | doRegister(10,null); |
| | | getVM().doAction(10); |
| | | EventBus.getDefault().post(new OpenGridEvent(selectBean.getChannelCode(), selectBean.getBoardCode())); |
| | | } |
| | | } else { |
| | | //é¥åæªå½è¿ |
| | | isOpened = false; |
| | | doRegister(9, null); |
| | | getVM().doAction(9); |
| | | getVM().closeGrid(gridDo); |
| | | } |
| | | }else { |
| | | //没å
³é¨ |
| | | if(!TextUtils.isEmpty(gridDo.getCurKeyCode())){ |
| | | //æé¥åäº |
| | | doRegister(7,null); |
| | | getVM().doAction(7); |
| | | } |
| | | } |
| | | } else { |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | private Handler handler = new Handler(){ |
| | | @Override |
| | | public void handleMessage(@NonNull Message msg) { |
| | | switch (msg.what){ |
| | | case 0: |
| | | //éæ°åéé¥åæ¥è¯¢ |
| | | //åéæ¥è¯¢é¥åå· |
| | | EventBus.getDefault().post(new GetKeyStatusEvent()); |
| | | handler.sendEmptyMessageDelayed(0,1200); |
| | | break; |
| | | case 1: |
| | | EventBus.getDefault().post(new OpenGridEvent(selectBean.getChannelCode(), selectBean.getBoardCode())); |
| | | handler.sendEmptyMessageDelayed(1,1000); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | | }; |
| | | } |
| | |
| | | package com.doumee.keyCabinet.ui.keyCabinet; |
| | | |
| | | import androidx.annotation.NonNull; |
| | | import androidx.annotation.Nullable; |
| | | import androidx.lifecycle.Observer; |
| | | |
| | | import android.os.Build; |
| | | 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.widget.TextView; |
| | | import android.widget.Toast; |
| | | |
| | | import com.doumee.keyCabinet.MApplication; |
| | | import com.doumee.keyCabinet.R; |
| | | import com.doumee.keyCabinet.base.MyBaseActivity; |
| | | import com.doumee.keyCabinet.bean.ManageKeyCabinetBean; |
| | |
| | | import com.doumee.keyCabinet.event.KeyResultEvent; |
| | | import com.doumee.keyCabinet.event.ManageOpenGridResultEvent; |
| | | import com.doumee.keyCabinet.event.OpenAllGridEvent; |
| | | import com.doumee.keyCabinet.event.OpenErrEvent; |
| | | import com.doumee.keyCabinet.event.OpenGridEvent; |
| | | import com.doumee.keyCabinet.event.OpenGridListEvent; |
| | | import com.doumee.keyCabinet.event.OpenGridOneResultEvent; |
| | |
| | | import com.doumee.lib_coremodel.util.RecyclerHelp; |
| | | import com.doumee.lib_coremodel.util.StringUtil; |
| | | import com.example.datalibrary.db.DBManager; |
| | | import com.innohi.YNHAPI; |
| | | |
| | | import org.greenrobot.eventbus.EventBus; |
| | | import org.greenrobot.eventbus.Subscribe; |
| | |
| | | } |
| | | }); |
| | | getVM().getCabinetDetail(); |
| | | getDB().tvTitle.setOnLongClickListener(new View.OnLongClickListener() { |
| | | @Override |
| | | public boolean onLongClick(View v) { |
| | | //å¯ä»¥ä¸æ |
| | | YNHAPI mAPI = YNHAPI.getInstance(); |
| | | mAPI.setNavigationBarVisibility(YNHAPI.NavigationBarVisibility.VISIBLE); |
| | | return true; |
| | | } |
| | | }); |
| | | } |
| | | |
| | | private void updateBtnStatus(){ |
| | |
| | | CabinetGridDo[] upList = new CabinetGridDo[updateList.size()]; |
| | | for(int i=0;i<updateList.size();i++){ |
| | | upList[i] = updateList.get(i); |
| | | } |
| | | //todo 廿 |
| | | CabinetGridDo gridDo = oldMap.get("0101"); |
| | | if(gridDo!=null){ |
| | | EventBus.getDefault().post(new HttpEvent(StringUtil.DateToStrSS(new Date())+"=================>æ´æ°æ°æ®å½åé¥å2ï¼"+gridDo.getCurKeyCode())); |
| | | } |
| | | |
| | | DaoManager.getCabinetGridDao().update(upList); |
| | |
| | | } |
| | | if(isShowOpenTip){ |
| | | if(openTipDownCount==0){ |
| | | doRegister(9,null); |
| | | getVM().doAction(9); |
| | | }else { |
| | | openTipDownCount--; |
| | | getDB().tvClKmClose.setText(openTipDownCount+"s èªå¨å
³é"); |
| | |
| | | } |
| | | } |
| | | |
| | | private String sygKey; |
| | | @Subscribe |
| | | public void OpenGridOneResultEvent(OpenGridOneResultEvent e){ |
| | | if(!isFinishing()){ |
| | | //å¼é¨æåï¼ç§»é¤å¼é¨ |
| | | if(handler.hasMessages(1)){ |
| | | handler.removeMessages(1); |
| | | } |
| | | if(e.getIsOpen()==0){ |
| | | if(e.getKey().equals(sygKey)){ |
| | | return; |
| | | } |
| | | sygKey = e.getKey(); |
| | | //å¼é¨å¤±è´¥,éæ°å¼é¨ |
| | | EventBus.getDefault().post(new OpenGridEvent(Integer.parseInt(e.getKey().substring(2,4), 16)+"", |
| | | Integer.parseInt(e.getKey().substring(0,2), 16)+"")); |
| | |
| | | } |
| | | } |
| | | |
| | | private Long keyTime; |
| | | private HashMap<String,String> closeMap = new HashMap<>(); |
| | | /** |
| | | * å
³é¨ |
| | | * @param e |
| | |
| | | @Subscribe(threadMode= ThreadMode.MAIN) |
| | | public void CloseGridOneResultEvent(CloseGridOneResultEvent e){ |
| | | if(!isFinishing()){ |
| | | //è·åå¡å· |
| | | EventBus.getDefault().post(new GetKeyStatusEvent()); |
| | | if(isShowTip){ |
| | | isShowTip = false; |
| | | getDB().clTip.setVisibility(View.GONE); |
| | | } |
| | | //å
³é¨æåï¼ç§»é¤å¼é¨ |
| | | if(handler.hasMessages(1)){ |
| | | handler.removeMessages(1); |
| | | } |
| | | //åéæ¥è¯¢é¥åå· |
| | | EventBus.getDefault().post(new GetKeyStatusEvent()); |
| | | keyTime = new Date().getTime()+500; |
| | | if(handler.hasMessages(0)){ |
| | | handler.removeMessages(0); |
| | | } |
| | | handler.sendEmptyMessageDelayed(0,1200); |
| | | closeMap.put(e.getKey(),""); |
| | | /*111 |
| | | //æ ¡éªå¡å· |
| | | CabinetGridDo gridDo = DaoManager.getCabinetGridDao().getGridByKey(e.getKey()); |
| | | if(gridDo!=null){ |
| | |
| | | } |
| | | } |
| | | } |
| | | EventBus.getDefault().post(new HttpEvent(StringUtil.DateToStrSS(new Date())+"é¨å
³éæå==>ç®æ ï¼"+gridDo.getKeyCode()+",å½åï¼"+gridDo.getCurKeyCode())); |
| | | EventBus.getDefault().post(new HttpEvent(StringUtil.DateToStrSS(new Date())+"é¨å
³éæå***************************>ç®æ ï¼"+gridDo.getKeyCode()+",å½åï¼"+gridDo.getCurKeyCode())); |
| | | getVM().closeGrid(gridDo); |
| | | }*/ |
| | | } |
| | | } |
| | | |
| | | @Subscribe(threadMode= ThreadMode.MAIN) |
| | | public void OpenErrEvent(OpenErrEvent e){ |
| | | //å¼é¨å¤±è´¥ |
| | | if(!isFinishing()){ |
| | | //å¼é¨ |
| | | if(handler.hasMessages(1)){ |
| | | handler.removeMessages(1); |
| | | } |
| | | EventBus.getDefault().post(new OpenGridEvent(e.getKey())); |
| | | Message msg = Message.obtain(); |
| | | msg.what=1; |
| | | msg.obj = e.getKey(); |
| | | handler.sendMessageDelayed(msg,1000); |
| | | } |
| | | } |
| | | |
| | | @Subscribe |
| | | public void KeyResultEvent(KeyResultEvent e){ |
| | | if(!isFinishing()){ |
| | | //æ ¡éªæ¶é´ |
| | | if(keyTime==null){ |
| | | return; |
| | | } |
| | | if(keyTime!=null&&keyTime>System.currentTimeMillis()){ |
| | | //æ ¡éªè¿åæ¶é´<å½ä»¤æ¶é´ |
| | | return; |
| | | } |
| | | if(handler.hasMessages(0)){ |
| | | handler.removeMessages(0); |
| | | } |
| | | HashMap<String,String> copyMap = new HashMap<>(); |
| | | copyMap.putAll(closeMap); |
| | | closeMap.clear(); |
| | | //æ ¡éªå¡å·ä¸å¯¹çï¼ç´æ¥å¼¹åº |
| | | List<CabinetGridDo> gridDos = DaoManager.getCabinetGridDao().loadAll(); |
| | | List<String> keys = new ArrayList<>(); |
| | | StringBuilder sb = new StringBuilder(); |
| | | for(CabinetGridDo gridDo:gridDos){ |
| | | boolean isFail = false; |
| | | if(TextUtils.isEmpty(gridDo.getGridKey())){ |
| | | if(!TextUtils.isEmpty(gridDo.getCurKeyCode())&&gridDo.getIsOpen()==0){ |
| | | //æªç»å®çåæ¾äºé¥å |
| | |
| | | sb.append("ã"); |
| | | } |
| | | sb.append(gridDo.getCabinetName()); |
| | | isFail = true; |
| | | } |
| | | }else { |
| | | if(!TextUtils.isEmpty(gridDo.getCurKeyCode())){ |
| | |
| | | sb.append("ã"); |
| | | } |
| | | sb.append(gridDo.getCabinetName()); |
| | | isFail = true; |
| | | } |
| | | } |
| | | } |
| | | if(!isFail){ |
| | | if(copyMap.containsKey(gridDo.getGridKey())){ |
| | | //å
³é¨æå |
| | | EventBus.getDefault().post(new HttpEvent(StringUtil.DateToStrSS(new Date())+"é¨å
³éæå***************************>ç®æ ï¼"+gridDo.getKeyCode()+",å½åï¼"+gridDo.getCurKeyCode())); |
| | | getVM().closeGrid(gridDo); |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | protected void onDestroy() { |
| | | super.onDestroy(); |
| | | handler.removeCallbacksAndMessages(null); |
| | | handler = null; |
| | | } |
| | | |
| | | private Handler handler = new Handler(){ |
| | | @Override |
| | | public void handleMessage(@NonNull Message msg) { |
| | | switch (msg.what){ |
| | | case 0: |
| | | //éæ°åéé¥åæ¥è¯¢ |
| | | //åéæ¥è¯¢é¥åå· |
| | | EventBus.getDefault().post(new GetKeyStatusEvent()); |
| | | handler.sendEmptyMessageDelayed(0,1200); |
| | | break; |
| | | case 1: |
| | | EventBus.getDefault().post(new OpenGridEvent((String) msg.obj)); |
| | | handler.sendEmptyMessageDelayed(1,1000); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | | }; |
| | | } |
| | |
| | | @Override |
| | | public void onNext(@NonNull BaseResponse response) { |
| | | if(response.getCode()==200){ |
| | | EventBus.getDefault().post(new HttpEvent("å
³éææ ¼æ¥å£æå")); |
| | | EventBus.getDefault().post(new HttpEvent("å
³éææ ¼æ¥å£æå:"+gridDo.getCurKeyCode())); |
| | | getCabinetDetail(); |
| | | doAction(11); |
| | | } |
| | |
| | | import android.widget.Toast; |
| | | |
| | | import com.doumee.keyCabinet.BuildConfig; |
| | | import com.doumee.keyCabinet.MApplication; |
| | | import com.doumee.keyCabinet.R; |
| | | import com.doumee.keyCabinet.base.MyBaseActivity; |
| | | import com.doumee.keyCabinet.databinding.ManageLoginActivityBinding; |
| | | import com.doumee.keyCabinet.event.TimeClockEvent; |
| | | import com.doumee.keyCabinet.utils.LMobileInfo; |
| | | import com.doumee.lib_coremodel.bean.event.ActionEventData; |
| | | import com.innohi.YNHAPI; |
| | | |
| | | import org.greenrobot.eventbus.Subscribe; |
| | | |
| | |
| | | getDB().tvNo.setText("NOï¼"+ LMobileInfo.getDeviceUniqueId()); |
| | | getDB().tvV.setText("V"+ BuildConfig.VERSION_NAME); |
| | | |
| | | |
| | | getDB().tv1.setOnLongClickListener(new View.OnLongClickListener() { |
| | | @Override |
| | | public boolean onLongClick(View v) { |
| | | if(MApplication.getConfigBean().getId()==null){ |
| | | //å¯ä»¥ä¸æ |
| | | YNHAPI mAPI = YNHAPI.getInstance(); |
| | | mAPI.setNavigationBarVisibility(YNHAPI.NavigationBarVisibility.VISIBLE); |
| | | return true; |
| | | } |
| | | return false; |
| | | } |
| | | }); |
| | | } |
| | | |
| | | @Override |
| | |
| | | import android.content.Context; |
| | | import android.content.Intent; |
| | | import android.graphics.Bitmap; |
| | | import android.graphics.PixelFormat; |
| | | import android.graphics.drawable.BitmapDrawable; |
| | | import android.hardware.Camera; |
| | | import android.opengl.Visibility; |
| | | import android.os.Build; |
| | | import android.os.Bundle; |
| | | import android.os.Handler; |
| | | import android.os.Message; |
| | |
| | | import android.view.LayoutInflater; |
| | | import android.view.View; |
| | | import android.view.ViewGroup; |
| | | import android.view.WindowManager; |
| | | import android.widget.PopupWindow; |
| | | import android.widget.RelativeLayout; |
| | | import android.widget.TextView; |
| | |
| | | import com.doumee.keyCabinet.event.KeyResultEvent; |
| | | import com.doumee.keyCabinet.event.ManageOpenGridResultEvent; |
| | | import com.doumee.keyCabinet.event.OpenAllGridEvent; |
| | | import com.doumee.keyCabinet.event.OpenErrEvent; |
| | | import com.doumee.keyCabinet.event.OpenGridEvent; |
| | | import com.doumee.keyCabinet.event.OpenGridListEvent; |
| | | import com.doumee.keyCabinet.event.OpenGridOneResultEvent; |
| | |
| | | import com.example.datalibrary.model.User; |
| | | import com.example.datalibrary.utils.ToastUtils; |
| | | import com.example.datalibrary.view.PreviewTexture; |
| | | import com.innohi.YNHAPI; |
| | | import com.yanzhenjie.permission.runtime.Permission; |
| | | |
| | | import org.greenrobot.eventbus.EventBus; |
| | |
| | | getVM().getFaceLD(); |
| | | } |
| | | getVM().upBraceletLog();*/ |
| | | case 1: |
| | | if(isShowing) { |
| | | EventBus.getDefault().post(new OpenGridEvent((String) msg.obj)); |
| | | handler.sendEmptyMessageDelayed(1, 1000); |
| | | } |
| | | break; |
| | | case 2: |
| | | |
| | | if(isShowing){ |
| | | //éæ°åéé¥åæ¥è¯¢ |
| | | //åéæ¥è¯¢é¥åå· |
| | | EventBus.getDefault().post(new GetKeyStatusEvent()); |
| | | handler.sendEmptyMessageDelayed(2,1200); |
| | | } |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | |
| | | getDB().setModel(getVM()); |
| | | initRGBCheck(); |
| | | handler.sendEmptyMessageDelayed(0, 1000); |
| | | //å¯å¨å¿è·³ |
| | | /*//å¯å¨å¿è·³ |
| | | Intent intent = new Intent(MainActivity.this, HeartbeatService.class); |
| | | startService(intent); |
| | | //å¯å¨æ´æ°äººè¸ |
| | | Intent intent2 = new Intent(MainActivity.this, FaceUpdateService.class); |
| | | startService(intent2); |
| | | startService(intent2);*/ |
| | | getPermission(); |
| | | Timber.tag("====>").d(LMobileInfo.getDeviceUniqueId()); |
| | | } |
| | |
| | | long availableMemory = memoryInfo.availMem/(1024*1024); |
| | | long usedMemory = totalMemory - availableMemory; |
| | | //getDB().tvM.setText("æ»å
åï¼"+totalMemory+",使ç¨å
åï¼"+usedMemory+",å¯ç¨å
åï¼"+availableMemory); |
| | | if((availableMemory<400&&showTime!=null&&(System.currentTimeMillis()-showTime>5000))|| |
| | | if((availableMemory<100&&showTime!=null&&(System.currentTimeMillis()-showTime>5000))|| |
| | | ("02:00:00".equals(StringUtil.getHM()))){ |
| | | //å¯ç¨å
åå°äº400M,æè
æ¯å¤©åæ¨2ç¹ï¼éå¯app |
| | | //restartApp(); |
| | | restartApp(); |
| | | } |
| | | } |
| | | |
| | |
| | | lastDownTime1 = System.currentTimeMillis(); |
| | | downCount1++; |
| | | System.out.println(); |
| | | Timber.tag("==>").d(""+downCount1); |
| | | //Timber.tag("==>").d(""+downCount1); |
| | | if(downCount1>4) { |
| | | downCount1=0; |
| | | lastDownTime1=null; |
| | |
| | | } |
| | | } |
| | | }); |
| | | getDB().tvVersion.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | //todo 临æ¶ä»£ç |
| | | //setJiuConfig(); |
| | | SpUtil.saveString("rbgCameraId","0"); |
| | | } |
| | | }); |
| | | |
| | | getDB().imgLeft.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | public void onClick(View v1) { |
| | | //todo 临æ¶ä»£ç |
| | | if (getDB().nsv.getVisibility()== View.VISIBLE) { |
| | | getDB().nsv.setVisibility(View.GONE); |
| | | }else { |
| | | getDB().nsv.setVisibility(View.VISIBLE); |
| | | } |
| | | |
| | | YNHAPI mAPI = YNHAPI.getInstance(); |
| | | mAPI.setNavigationBarVisibility(YNHAPI.NavigationBarVisibility.VISIBLE); |
| | | } |
| | | }); |
| | | upErrInfo(); |
| | |
| | | protected void onResume() { |
| | | super.onResume(); |
| | | isShowing = true; |
| | | YNHAPI mAPI = YNHAPI.getInstance(); |
| | | mAPI.setNavigationBarVisibility(YNHAPI.NavigationBarVisibility.ALWAYS_INVISIBLE); |
| | | mAPI.setBootLaunchApk("com.doumee.keyCabinet", true); |
| | | showTime = System.currentTimeMillis(); |
| | | if(!isFaceOk) { |
| | | initLicense(); |
| | |
| | | waitBeans.clear(); |
| | | selectBeans.addAll(userBeans); |
| | | finishCount=0; |
| | | faceHandler.sendEmptyMessage(0); |
| | | /*//å é¤å
¨é¨ |
| | | FaceApi.getInstance().userClean(); |
| | | faceHandler.sendEmptyMessage(0);*/ |
| | | |
| | | HashMap<String,String> uMap = new HashMap<>(); |
| | | for(FaceUserBean d:selectBeans){ |
| | | String key = d.getMemberId().toString()+"_"+d.getGroupId(); |
| | | uMap.put(key,""); |
| | | } |
| | | //å é¤ä¸åå¨ç¨æ· |
| | | List<User> users = FaceApi.getInstance().getAllUserList(); |
| | | List<User> dels = new ArrayList<>(); |
| | | for(User u:users){ |
| | | String key = u.getUserId()+"_"+u.getGroupId(); |
| | | if(!uMap.containsKey(key)){ |
| | | dels.add(u); |
| | | } |
| | | } |
| | | if(dels.size()>0){ |
| | | UserInfoManager.getInstance().deleteUserListInfo(dels, |
| | | "", new UserInfoManager.UserInfoListener() { |
| | | @Override |
| | | public void userListDeleteSuccess() { |
| | | // ç¨æ·å表å 餿å |
| | | faceHandler.sendEmptyMessage(0); |
| | | } |
| | | |
| | | @Override |
| | | public void userListDeleteFailure(String message) { |
| | | // ç¨æ·å表å é¤å¤±è´¥ |
| | | faceHandler.sendEmptyMessage(0); |
| | | } |
| | | }, |
| | | new DBLoadListener() { |
| | | @Override |
| | | public void onStart(int successCount) { |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void onLoad(int finishCount, int successCount, float progress) { |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void onComplete(List<User> features, int successCount) { |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void onFail(int finishCount, int successCount, List<User> features) { |
| | | |
| | | } |
| | | }); |
| | | }else { |
| | | faceHandler.sendEmptyMessage(0); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | private UpdateUtil updateUtil; |
| | | private void checkUpdate(){ |
| | | //çæ¬æ´æ° |
| | | new UpdateUtil(this).setShowToast(false).getServerVerCode(new UpdateUtil.VersionCallBack() { |
| | | @Override |
| | | public void isNeedUpdate(boolean isUpdate) { |
| | | isUpdateVersion = isUpdate; |
| | | } |
| | | }); |
| | | if(updateUtil==null){ |
| | | updateUtil = new UpdateUtil(this); |
| | | updateUtil.setShowToast(false); |
| | | } |
| | | if(!updateUtil.isShowing()){ |
| | | updateUtil.getServerVerCode(new UpdateUtil.VersionCallBack() { |
| | | @Override |
| | | public void isNeedUpdate(boolean isUpdate) { |
| | | isUpdateVersion = isUpdate; |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | |
| | | private PermissiondDialog permissiondDialog; |
| | |
| | | } |
| | | |
| | | private int tipDownCount = 10; |
| | | private int loopDownCount = 30; |
| | | private int loopDownCount = 60; |
| | | private boolean isShowTip; |
| | | @Subscribe |
| | | public void TimeClockEvent(TimeClockEvent e){ |
| | |
| | | } |
| | | } |
| | | if(loopDownCount==0){ |
| | | loopDownCount = SpUtil.getInt("loop_time",30); |
| | | loopDownCount = SpUtil.getInt("loop_time",60); |
| | | //宿¶æååºæ¬ä¿¡æ¯ |
| | | getVM().devLogin(); |
| | | getPermission(); |
| | | getVM().devHeart(); |
| | | EventBus.getDefault().post(new GetFacesEvent()); |
| | | }else { |
| | | loopDownCount--; |
| | | } |
| | |
| | | public void OpenGridEvent(OpenGridEvent e){ |
| | | if(!isFinishing()){ |
| | | //å¼å¯æé¨ |
| | | String code = "8A"+SportUtils.intToHex(Integer.parseInt(e.getBoardCode())) |
| | | +SportUtils.intToHex(Integer.parseInt(e.getChannelCode()))+"11"; |
| | | String key = e.getKey(); |
| | | if(TextUtils.isEmpty(key)) { |
| | | key = SportUtils.intToHex(Integer.parseInt(e.getBoardCode())) |
| | | + SportUtils.intToHex(Integer.parseInt(e.getChannelCode())); |
| | | } |
| | | String code = "8A" + key + "11"; |
| | | code += SportUtils.getBCC(code); |
| | | send485(0,code); |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | @Subscribe |
| | | public void CloseGridOneResultEvent(CloseGridOneResultEvent e){ |
| | | if(!isFinishing()&&isShowing){ |
| | | //å¨é¦é¡µï¼æ ¡éªå
³é¨çé¥åæ¯å¦å¹é
|
| | | if (e.getIsOpen() == 0) { |
| | | //å
³é¨æå |
| | | //æ¥è¯¢é¥åå· |
| | | CabinetGridDo gridDo = DaoManager.getCabinetGridDao().getGridByKey(e.getKey()); |
| | | if (gridDo != null) { |
| | | getVM().addInfo("æ¯è¾é¥åï¼å½åï¼"+gridDo.getCurKeyCode()+", å
³èé¥åï¼"+gridDo.getKeyCode()); |
| | | if(!TextUtils.isEmpty(gridDo.getCurKeyCode())&& |
| | | !TextUtils.isEmpty(gridDo.getKeyCode())&& |
| | | !gridDo.getCurKeyCode().equals(gridDo.getKeyCode())){ |
| | | //é¥åä¸ä¸æ ·ï¼å¼é¨ |
| | | ToastView.show(MApplication.mContext,gridDo.getCabinetName()+"é¥ååæ¾ä½ç½®é误"); |
| | | EventBus.getDefault().post(new OpenGridEvent(Integer.parseInt(e.getKey().substring(2,4), 16)+"", |
| | | Integer.parseInt(e.getKey().substring(0,2), 16)+"")); |
| | | }else { |
| | | if(isShowTip){ |
| | | doRegister(5,null); |
| | | } |
| | | if(isShowing){ |
| | | //å¨é¦é¡µå
³é¨æåï¼éè°ç¨å
³é¨æ¹æ³ |
| | | getVM().closeGrid(gridDo); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | private SerialPortModel gridPort; |
| | | private SerialPortReadObserver gridReadObserver = new SerialPortReadObserver() { |
| | | @Override |
| | |
| | | if(gridDo!=null){ |
| | | gridDo.setIsOpen("00".equals(open)?1:0); |
| | | gridDo.setUpdateTime(StringUtil.DateToStr(new Date())); |
| | | //todo 廿 |
| | | EventBus.getDefault().post(new HttpEvent(StringUtil.DateToStrSS(new Date())+"=================>æ´æ°æ°æ®å½åé¥å3ï¼"+gridDo.getCurKeyCode())); |
| | | |
| | | DaoManager.getCabinetGridDao().update(gridDo); |
| | | EventBus.getDefault().post(new ManageOpenGridResultEvent()); |
| | | if(gridDo.getIsOpen()==0) { |
| | | //å¼é¨å¤±è´¥ |
| | | if (isShowing) { |
| | | //é¦é¡µå¼é¨å¤±è´¥ï¼é¥åä¸å¯¹ |
| | | if (!TextUtils.isEmpty(gridDo.getCurKeyCode()) && |
| | | !TextUtils.isEmpty(gridDo.getKeyCode()) && |
| | | !gridDo.getCurKeyCode().equals(gridDo.getKeyCode())) { |
| | | //é¥åä¸ä¸æ ·ï¼å¼é¨ |
| | | ToastView.show(MApplication.mContext, gridDo.getCabinetName() + "é¥ååæ¾ä½ç½®é误"); |
| | | EventBus.getDefault().post(new OpenGridEvent(Integer.parseInt(gridDo.getGridKey().substring(2, 4), 16) + "", |
| | | Integer.parseInt(gridDo.getGridKey().substring(0, 2), 16) + "")); |
| | | } |
| | | } |
| | | EventBus.getDefault().post(new OpenErrEvent(key)); |
| | | }else { |
| | | //å¼é¨æå |
| | | //å¼é¨è¿å |
| | | EventBus.getDefault().post(new OpenGridOneResultEvent(key,"00".equals(open)?1:0)); |
| | | } |
| | | } |
| | | //å¼é¨è¿å |
| | | EventBus.getDefault().post(new OpenGridOneResultEvent(key,"00".equals(open)?1:0)); |
| | | |
| | | }else if(data.length()==16){ |
| | | //æ¹é |
| | | //8A 02 00 00 00 00 11 99 |
| | |
| | | updateList.add(gridDo); |
| | | } |
| | | } |
| | | runOnUiThread(() -> { |
| | | getVM().addInfo("æ¹éå¼é¨æ´æ°åºæ°æ®:çå·ï¼" +bh+","+updateList.size()); |
| | | }); |
| | | //todo 廿 |
| | | CabinetGridDo gridDo = oldMap.get("0101"); |
| | | if(gridDo!=null) { |
| | | EventBus.getDefault().post(new HttpEvent(StringUtil.DateToStrSS(new Date())+"=================>æ´æ°æ°æ®å½åé¥å6ï¼" + gridDo.getCurKeyCode())); |
| | | } |
| | | |
| | | getVM().updateGrids(updateList); |
| | | EventBus.getDefault().post(new ManageOpenGridResultEvent()); |
| | |
| | | if(gridDo!=null){ |
| | | gridDo.setIsOpen("00".equals(open)?1:0); |
| | | gridDo.setUpdateTime(StringUtil.DateToStr(new Date())); |
| | | //todo 廿 |
| | | EventBus.getDefault().post(new HttpEvent(StringUtil.DateToStrSS(new Date())+"=================>æ´æ°æ°æ®å½åé¥å3ï¼"+gridDo.getCurKeyCode())); |
| | | |
| | | DaoManager.getCabinetGridDao().update(gridDo); |
| | | } |
| | | //å
³é¨è¿å |
| | | EventBus.getDefault().post(new CloseGridOneResultEvent(key,"00".equals(open)?1:0)); |
| | | if(isShowing&&isShowTip){ |
| | | //ä¿®æ¹æ¾ç¤ºæé |
| | | doRegister(5,null); |
| | | getVM().doAction(5); |
| | | } |
| | | }else if(data.startsWith("80")){ |
| | | //æ¥è¯¢ææé¨ç¶æ |
| | |
| | | runOnUiThread(() -> { |
| | | getVM().addInfo("æ´æ°åºæ°æ®:çå·ï¼" +bh+","+ addList.size()+","+updateList.size()); |
| | | }); |
| | | //todo 廿 |
| | | CabinetGridDo gridDo = oldMap.get("0101"); |
| | | if(gridDo!=null){ |
| | | EventBus.getDefault().post(new HttpEvent(StringUtil.DateToStrSS(new Date())+ |
| | | "=================>æ´æ°æ°æ®å½åé¥å5ï¼"+gridDo.getCurKeyCode())); |
| | | } |
| | | |
| | | getVM().updateGrids(updateList); |
| | | if(isShowing){ |
| | |
| | | } |
| | | } |
| | | } |
| | | //todo 廿 |
| | | CabinetGridDo gridDo = oldMap.get("0101"); |
| | | if(gridDo!=null) { |
| | | EventBus.getDefault().post(new HttpEvent(StringUtil.DateToStrSS(new Date())+ |
| | | "=================>æ´æ°æ°æ®å½åé¥å7ï¼" + gridDo.getCurKeyCode())); |
| | | } |
| | | |
| | | getVM().updateGrids(updateList); |
| | | EventBus.getDefault().post(new KeyResultEvent()); |
| | |
| | | } |
| | | try { |
| | | runOnUiThread(() -> { |
| | | //getVM().addInfo("è·åå°é
ç²¾æ£æµæ°æ®:"+StringUtil.DateToStrSS(new Date())+" " + new String(bytes)); |
| | | getVM().addInfo("è·åå°é
ç²¾æ£æµæ°æ®:"+StringUtil.DateToStrSS(new Date())+" " + new String(bytes)); |
| | | }); |
| | | String data = new String(bytes); |
| | | runOnUiThread(() -> { |
| | | //getVM().addInfo("è·åå°é
ç²¾æ£æµæ¯å¦æ£æµå¤±è´¥:" + (data.contains("blow fail"))); |
| | | }); |
| | | if(data.contains("blow fail")){ |
| | | //æ£æµå¤±è´¥ |
| | | EventBus.getDefault().post(new JiujinResultEvent(false,null)); |
| | |
| | | sendPortHandlerMsg(2,"A002010000000003",time+400); |
| | | } |
| | | |
| | | private String jiu_blow; |
| | | private String jiu_mic_ad; |
| | | private String jiu_alarm; |
| | | private String jiu_unit; |
| | | private void setJiuConfig(long time){ |
| | | CabinetConfigDataBean config = MApplication.getConfigBean().getCabinetConfigDataVO(); |
| | | //è®¾ç½®å¹æ°æ¶é´ |
| | | sendPortHandlerMsg(3,"blow:"+config.getBlowTime(),time+100); |
| | | //ååå¼ |
| | | sendPortHandlerMsg(3,"mic_ad:"+config.getPressure(),time+300); |
| | | //æµåº¦éå¼ |
| | | sendPortHandlerMsg(3,"alarm:"+config.getConcentration(),time+600); |
| | | //æµåº¦éå¼åä½ (1=mg/100ml;2=mg/L;3=%BAC) |
| | | sendPortHandlerMsg(3,"unit:"+config.getThreshold(),time+900); |
| | | |
| | | sendPortHandlerMsg(3,"read"+config.getThreshold(),time+1200); |
| | | if(!config.getBlowTime().equals(jiu_blow)) { |
| | | //è®¾ç½®å¹æ°æ¶é´ |
| | | jiu_blow = config.getBlowTime(); |
| | | sendPortHandlerMsg(3, "blow:" + config.getBlowTime(), time += 100); |
| | | } |
| | | if(!config.getPressure().equals(jiu_mic_ad)) { |
| | | //ååå¼ |
| | | jiu_mic_ad = config.getPressure(); |
| | | sendPortHandlerMsg(3, "mic_ad:" + config.getPressure(), time += 300); |
| | | } |
| | | if(!config.getConcentration().equals(jiu_alarm)) { |
| | | //æµåº¦éå¼ |
| | | jiu_alarm = config.getConcentration(); |
| | | sendPortHandlerMsg(3, "alarm:" + config.getConcentration(), time += 300); |
| | | } |
| | | if("3".equals(config.getThreshold())){ |
| | | config.setThreshold("0"); |
| | | } |
| | | if(!config.getThreshold().equals(jiu_unit)) { |
| | | //æµåº¦éå¼åä½ (1=mg/100ml;2=mg/L;3=%BAC) |
| | | jiu_unit = config.getThreshold(); |
| | | sendPortHandlerMsg(3, "unit:" + config.getThreshold(), time += 300); |
| | | } |
| | | } |
| | | |
| | | private void sendPortHandlerMsg(int what,String obj,long time){ |
| | |
| | | private boolean isInitPort; |
| | | //åå§åä¸²å£ |
| | | private void initPort(){ |
| | | SpUtil.setString("port_grid","/dev/ttyS7"); |
| | | SpUtil.setString("port_key","/dev/ttyS1"); |
| | | SpUtil.setString("port_jiu","/dev/ttyS2"); |
| | | //SpUtil.setString("port_grid","/dev/ttyS7"); |
| | | //SpUtil.setString("port_key","/dev/ttyS1"); |
| | | //SpUtil.setString("port_jiu","/dev/ttyS2"); |
| | | gridPath = SpUtil.getString("port_grid"); |
| | | //getVM().addInfo("é¨ä¸²å£é¾æ¥ï¼"+gridPath); |
| | | getVM().addInfo("é¨ä¸²å£é¾æ¥ï¼"+gridPath); |
| | | keyPath = SpUtil.getString("port_key"); |
| | | //getVM().addInfo("é¥å串å£é¾æ¥ï¼"+keyPath); |
| | | getVM().addInfo("é¥å串å£é¾æ¥ï¼"+keyPath); |
| | | jiuPath = SpUtil.getString("port_jiu"); |
| | | //getVM().addInfo("é
精串å£é¾æ¥ï¼"+jiuPath); |
| | | getVM().addInfo("é
精串å£é¾æ¥ï¼"+jiuPath); |
| | | if(!TextUtils.isEmpty(SpUtil.getString("port_grid"))&& |
| | | !TextUtils.isEmpty(SpUtil.getString("port_key"))&& |
| | | !TextUtils.isEmpty(SpUtil.getString("port_jiu"))){ |
| | |
| | | runOnUiThread(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | //todo 廿 |
| | | if(type==2){ |
| | | return; |
| | | } |
| | | getVM().addInfo("åéæä»¤ï¼"+StringUtil.DateToStrSS(new Date())+"==>"+code); |
| | | } |
| | | }); |
| | |
| | | getVM().addInfo("串å£å
¨é¨é¾æ¥æåï¼"); |
| | | return true; |
| | | } |
| | | |
| | | //å¼é¨ |
| | | @Subscribe |
| | | public void OpenGridOneResultEvent(OpenGridOneResultEvent e){ |
| | | if(!isFinishing()&&isShowing){ |
| | | //å¼é¨æåï¼ç§»é¤å¼é¨ |
| | | if(handler.hasMessages(1)){ |
| | | handler.removeMessages(1); |
| | | getVM().addInfo("==ç§»é¤å¼é¨ä»»å¡"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | private Long keyTime; |
| | | private HashMap<String,String> closeMap = new HashMap<>(); |
| | | /** |
| | | * å
³é¨ |
| | | * @param e |
| | | */ |
| | | @Subscribe(threadMode= ThreadMode.MAIN) |
| | | public void CloseGridOneResultEvent(CloseGridOneResultEvent e){ |
| | | if(!isFinishing()&&isShowing){ |
| | | //å
³é¨æåï¼ç§»é¤å¼é¨ |
| | | if(handler.hasMessages(1)){ |
| | | handler.removeMessages(1); |
| | | getVM().addInfo("==ç§»é¤å¼é¨ä»»å¡"); |
| | | } |
| | | closeMap.put(e.getKey(),""); |
| | | //åéæ¥è¯¢é¥åå· |
| | | EventBus.getDefault().post(new GetKeyStatusEvent()); |
| | | keyTime = new Date().getTime()+500; |
| | | if(handler.hasMessages(2)){ |
| | | handler.removeMessages(2); |
| | | } |
| | | handler.sendEmptyMessageDelayed(2,1200); |
| | | } |
| | | } |
| | | |
| | | @Subscribe(threadMode= ThreadMode.MAIN) |
| | | public void OpenErrEvent(OpenErrEvent e){ |
| | | //å¼é¨å¤±è´¥ |
| | | if(!isFinishing()&&isShowing){ |
| | | //å¼é¨ |
| | | if(handler.hasMessages(1)){ |
| | | handler.removeMessages(1); |
| | | getVM().addInfo("==ç§»é¤å¼é¨ä»»å¡"); |
| | | } |
| | | EventBus.getDefault().post(new OpenGridEvent(e.getKey())); |
| | | Message msg = Message.obtain(); |
| | | msg.what=1; |
| | | msg.obj = e.getKey(); |
| | | handler.sendMessageDelayed(msg,1000); |
| | | } |
| | | } |
| | | |
| | | @Subscribe |
| | | public void KeyResultEvent(KeyResultEvent e){ |
| | | if(!isFinishing()&&isShowing){ |
| | | //æ ¡éªæ¶é´ |
| | | if(keyTime==null){ |
| | | return; |
| | | } |
| | | if(keyTime!=null&&keyTime>System.currentTimeMillis()){ |
| | | //æ ¡éªè¿åæ¶é´<å½ä»¤æ¶é´ |
| | | return; |
| | | } |
| | | if(handler.hasMessages(2)){ |
| | | handler.removeMessages(2); |
| | | } |
| | | |
| | | HashMap<String,String> copyMap = new HashMap<>(); |
| | | copyMap.putAll(closeMap); |
| | | closeMap.clear(); |
| | | //æ ¡éªå¡å·ä¸å¯¹çï¼ç´æ¥å¼¹åº |
| | | List<CabinetGridDo> gridDos = DaoManager.getCabinetGridDao().loadAll(); |
| | | List<String> keys = new ArrayList<>(); |
| | | StringBuilder sb = new StringBuilder(); |
| | | for(CabinetGridDo gridDo:gridDos){ |
| | | //è¦å¨èå´å
|
| | | if(copyMap.containsKey(gridDo.getGridKey())){ |
| | | boolean isFail = false; |
| | | if(TextUtils.isEmpty(gridDo.getGridKey())){ |
| | | if(!TextUtils.isEmpty(gridDo.getCurKeyCode())&&gridDo.getIsOpen()==0){ |
| | | //æªç»å®çåæ¾äºé¥å |
| | | keys.add(gridDo.getGridKey()); |
| | | if(sb.length()>0){ |
| | | sb.append("ã"); |
| | | } |
| | | sb.append(gridDo.getCabinetName()); |
| | | isFail = true; |
| | | } |
| | | }else { |
| | | if(!TextUtils.isEmpty(gridDo.getCurKeyCode())){ |
| | | if(!gridDo.getCurKeyCode().equals(gridDo.getKeyCode())&&gridDo.getIsOpen()==0){ |
| | | //é¥åä¸å¹é
|
| | | keys.add(gridDo.getGridKey()); |
| | | if(sb.length()>0){ |
| | | sb.append("ã"); |
| | | } |
| | | sb.append(gridDo.getCabinetName()); |
| | | isFail = true; |
| | | } |
| | | } |
| | | } |
| | | if(!isFail){ |
| | | //å
³é¨æå |
| | | EventBus.getDefault().post(new HttpEvent(StringUtil.DateToStrSS(new Date())+"é¨å
³éæå***************************>ç®æ ï¼"+gridDo.getKeyCode()+",å½åï¼"+gridDo.getCurKeyCode())); |
| | | getVM().closeGrid(gridDo); |
| | | } |
| | | } |
| | | } |
| | | if(sb.length()>0){ |
| | | ToastView.show(MApplication.mContext, sb.toString() + "é¥ååæ¾ä½ç½®é误"); |
| | | } |
| | | if(keys.size()>0){ |
| | | //å¼é¨ |
| | | EventBus.getDefault().post(new OpenGridListEvent(keys)); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | public void devLogin(){ |
| | | //æ¸
é¤ç»å½ä¿¡æ¯ |
| | | MApplication.saveConfigBean(new DevConfigBean()); |
| | | EventBus.getDefault().post(new HttpEvent("è·åé¥åæåºæ¬ä¿¡æ¯-请æ±")); |
| | | getRetrofitService(Apis.class).getCabinetInfoForDriver(LMobileInfo.getDeviceUniqueId()) |
| | | .compose(RxUtils.schedulersTransformer()) |
| | |
| | | toast(MApplication.mContext.getString(R.string.guide_toast_1)); |
| | | } |
| | | }else { |
| | | MApplication.saveConfigBean(new DevConfigBean()); |
| | | toast(response.getMessage()); |
| | | } |
| | | } |
| | |
| | | DaoManager.getCabinetGridDao().insert(addList); |
| | | } |
| | | |
| | | //todo 廿 |
| | | CabinetGridDo gridDo = oldMap.get("0101"); |
| | | if(gridDo!=null){ |
| | | EventBus.getDefault().post(new HttpEvent(StringUtil.DateToStrSS(new Date())+"=================>æ´æ°æ°æ®å½åé¥å1ï¼"+gridDo.getCurKeyCode())); |
| | | } |
| | | |
| | | if(updateList.size()>0){ |
| | | CabinetGridDo[] upList = new CabinetGridDo[updateList.size()]; |
| | | for(int i=0;i<updateList.size();i++){ |
| | |
| | | List<FaceUserBean> datas = new ArrayList<>(); |
| | | if(faceBean!=null&&faceBean.getAutoFaceList()!=null){ |
| | | for(FaceUserBean bean:faceBean.getAutoFaceList()){ |
| | | bean.setGroupId("1"); |
| | | bean.setGroupId("0"); |
| | | } |
| | | datas.addAll(faceBean.getAutoFaceList()); |
| | | } |
| | | if(faceBean!=null&&faceBean.getDriverFaceList()!=null){ |
| | | for(FaceUserBean bean:faceBean.getDriverFaceList()){ |
| | | bean.setGroupId("0"); |
| | | bean.setGroupId("1"); |
| | | } |
| | | datas.addAll(faceBean.getDriverFaceList()); |
| | | } |
| | |
| | | .subscribe(new SimpleObserver<BaseResponse>(rxJavaGcManager) { |
| | | @Override |
| | | public void onNext(@NonNull BaseResponse response) { |
| | | toast("å
³é¨æ¥å£è°ç¨æå"); |
| | | |
| | | } |
| | | |
| | | @Override |
| | |
| | | import com.doumee.keyCabinet.ui.guide.GuideActivity; |
| | | import com.doumee.keyCabinet.ui.main.MainActivity; |
| | | import com.doumee.lib_coremodel.util.SpUtil; |
| | | import com.innohi.YNHAPI; |
| | | |
| | | import java.io.BufferedWriter; |
| | | import java.io.ByteArrayOutputStream; |
| | |
| | | public void uncaughtException(Thread thread, Throwable ex) { |
| | | try { |
| | | //导åºå¼å¸¸ä¿¡æ¯å°SDå¡ä¸ |
| | | YNHAPI mAPI = YNHAPI.getInstance(); |
| | | mAPI.setNavigationBarVisibility(YNHAPI.NavigationBarVisibility.VISIBLE); |
| | | dumpExceptionToSDCard(ex); |
| | | //System.out.println("éå¯åºç¨"); |
| | | // å建ä¸ä¸ªæ°çå¯å¨æå¾ |
| | | /*Intent intent = new Intent(mContext, MainActivity.class); |
| | | // 设置FLAG_ACTIVITY_CLEAR_TASKæ å¿ä½ |
| | | intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); |
| | | // 使ç¨PendingIntentå
è£
å¯å¨æå¾ |
| | | PendingIntent pendingIntent = PendingIntent.getActivity(mContext, 0, intent, PendingIntent.FLAG_ONE_SHOT); |
| | | // è·åAlarmManagerå®ä¾ |
| | | AlarmManager alarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE); |
| | | // å¨500毫ç§å触åéå¯æä½ |
| | | alarmManager.set(AlarmManager.RTC, System.currentTimeMillis() + 10, pendingIntent); |
| | | long time = SpUtil.getLong("err_app"); |
| | | SpUtil.saveLong("err_app",System.currentTimeMillis()); |
| | | if(System.currentTimeMillis()-time>60000){ |
| | | //æ¥éé´é60ç§ï¼æéå¯ |
| | | //System.out.println("éå¯åºç¨"); |
| | | // å建ä¸ä¸ªæ°çå¯å¨æå¾ |
| | | Intent intent = new Intent(mContext, MainActivity.class); |
| | | // 设置FLAG_ACTIVITY_CLEAR_TASKæ å¿ä½ |
| | | intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); |
| | | // 使ç¨PendingIntentå
è£
å¯å¨æå¾ |
| | | PendingIntent pendingIntent = PendingIntent.getActivity(mContext, 0, intent, PendingIntent.FLAG_ONE_SHOT); |
| | | // è·åAlarmManagerå®ä¾ |
| | | AlarmManager alarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE); |
| | | // å¨500毫ç§å触åéå¯æä½ |
| | | alarmManager.set(AlarmManager.RTC, System.currentTimeMillis() + 10, pendingIntent); |
| | | |
| | | android.os.Process.killProcess(android.os.Process.myPid()); |
| | | System.exit(1);*/ |
| | | android.os.Process.killProcess(android.os.Process.myPid()); |
| | | System.exit(1); |
| | | } |
| | | //è¿éå¯ä»¥éè¿ç½ç»ä¸ä¼ å¼å¸¸ä¿¡æ¯å°æå¡å¨ï¼ä¾¿äºå¼å人ååææ¥å¿ä»èè§£å³bug |
| | | |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | System.out.println("é误æ¥å¿1"+e.getMessage()); |
| | |
| | | dumpPhoneInfo(print); |
| | | print.println(); |
| | | ex.printStackTrace(print); |
| | | SpUtil.saveString(FILE_NAME+time,new String(out.toByteArray())); |
| | | //SpUtil.saveString(FILE_NAME+time,new String(out.toByteArray())); |
| | | print.close(); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | |
| | | } |
| | | return; |
| | | } |
| | | // todo å¢å å¤ç©ºå¤ç |
| | | |
| | | if (listener != null) { |
| | | listener.initStart(); |
| | | } |
| | |
| | | } |
| | | } |
| | | }); |
| | | getWritePermision(); |
| | | //getWritePermision(); |
| | | } |
| | | |
| | | public void setOnOtemListener(UpdialogListener lister) { |
| | |
| | | // thread.interrupt(); |
| | | // } |
| | | } |
| | | |
| | | public boolean isShowing() { |
| | | if(updateDialog!=null&&updateDialog.isShowing()){ |
| | | return true; |
| | | } |
| | | if(downloadDialog!=null&&downloadDialog.isShowing()){ |
| | | return true; |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | public static interface VersionCallBack{ |
| | | void isNeedUpdate(boolean isUpdate); |
| | | } |
| | |
| | | versionCallBack.isNeedUpdate(true); |
| | | upgradeurl=data.getFullFileUrl(); |
| | | updatelog=data.getContent(); |
| | | newVerName = response.getData().getVersionInfo(); |
| | | doNewVersionUpdate(true); |
| | | newVerName = data.getVersionInfo(); |
| | | doNewVersionUpdate(data.getIsForce()==1); |
| | | }else { |
| | | versionCallBack.isNeedUpdate(false); |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | private UpdateDialog updateDialog; |
| | | // æ´æ°æ°çæ¬ |
| | | public void doNewVersionUpdate(boolean type) { |
| | | StringBuffer sb = new StringBuffer(); |
| | |
| | | } |
| | | // sb.append(updatelog+"\n\n\r"); |
| | | // new UpdateDialog(activity).show(); |
| | | final UpdateDialog updateDialog = new UpdateDialog(activity); |
| | | if(updateDialog!=null&&updateDialog.isShowing()){ |
| | | updateDialog.dismiss(); |
| | | } |
| | | updateDialog = new UpdateDialog(activity); |
| | | updateDialog.setText(sb.toString(),newVerName); |
| | | updateDialog.setOnOtemListener(new UpdateDialog.UpdialogListener() { |
| | | |
| | |
| | | android:background="@color/white" |
| | | > |
| | | |
| | | <EditText |
| | | android:id="@+id/et_ewm" |
| | | android:layout_width="100dp" |
| | | android:layout_height="wrap_content" |
| | | android:text="" |
| | | android:inputType="number" |
| | | app:layout_constraintTop_toTopOf="@+id/viewBack" |
| | | app:layout_constraintBottom_toBottomOf="@+id/viewBack" |
| | | app:layout_constraintStart_toStartOf="parent" |
| | | android:background="@null" |
| | | /> |
| | | |
| | | <View |
| | | android:id="@+id/viewBack" |
| | | android:layout_width="0dp" |
| | |
| | | app:layout_constraintStart_toStartOf="parent" |
| | | app:layout_constraintEnd_toEndOf="parent" |
| | | android:background="@color/white" |
| | | android:visibility="visible"> |
| | | |
| | | <EditText |
| | | android:id="@+id/et_ewm" |
| | | android:layout_width="100dp" |
| | | android:layout_height="wrap_content" |
| | | android:text="" |
| | | android:inputType="number" |
| | | app:layout_constraintTop_toTopOf="parent" |
| | | app:layout_constraintStart_toStartOf="parent" |
| | | app:layout_constraintEnd_toEndOf="parent" |
| | | android:background="@null" |
| | | android:layout_marginTop="20dp" |
| | | /> |
| | | android:visibility="gone"> |
| | | |
| | | <View |
| | | android:id="@+id/v_c_sl" |
| | |
| | | android:layout_width="wrap_content" |
| | | android:layout_height="wrap_content" |
| | | android:background="@drawable/shape_jiujin_ok" |
| | | android:paddingLeft="80dp" |
| | | android:paddingRight="80dp" |
| | | android:paddingTop="50dp" |
| | | android:paddingBottom="50dp" |
| | | android:paddingLeft="60dp" |
| | | android:paddingRight="60dp" |
| | | android:paddingTop="40dp" |
| | | android:paddingBottom="40dp" |
| | | app:layout_constraintTop_toTopOf="parent" |
| | | app:layout_constraintBottom_toBottomOf="parent" |
| | | app:layout_constraintStart_toStartOf="parent" |
| | |
| | | |
| | | <pl.droidsonroids.gif.GifImageView |
| | | android:id="@+id/img_progress" |
| | | android:layout_width="150dp" |
| | | android:layout_height="150dp" |
| | | android:layout_width="90dp" |
| | | android:layout_height="90dp" |
| | | android:src="@mipmap/zhuanquan" |
| | | app:layout_constraintStart_toStartOf="parent" |
| | | app:layout_constraintEnd_toEndOf="parent" |
| | |
| | | |
| | | </androidx.constraintlayout.widget.ConstraintLayout> |
| | | |
| | | <TextView |
| | | android:id="@+id/message" |
| | | android:layout_width="wrap_content" |
| | | android:layout_height="wrap_content" |
| | | android:layout_marginLeft="@dimen/activity_vertical_margin" |
| | | android:layout_marginRight="@dimen/activity_vertical_margin" |
| | | android:text="" |
| | | android:textColor="@color/white" |
| | | android:textSize="24sp" |
| | | android:padding="@dimen/activity_horizontal_margin" |
| | | android:background="@drawable/toast_view_bg" |
| | | app:layout_constraintTop_toTopOf="parent" |
| | | app:layout_constraintBottom_toBottomOf="parent" |
| | | app:layout_constraintStart_toStartOf="parent" |
| | | app:layout_constraintEnd_toEndOf="parent" |
| | | android:gravity="center" |
| | | android:visibility="gone"/> |
| | | |
| | | </androidx.constraintlayout.widget.ConstraintLayout> |
| | | </layout> |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" |
| | | android:layout_width="match_parent" |
| | | android:layout_width="450dp" |
| | | android:layout_height="wrap_content" |
| | | xmlns:app="http://schemas.android.com/apk/res-auto" |
| | | android:layout_gravity="center" |
| | |
| | | app:layout_constraintTop_toTopOf="parent" |
| | | app:layout_constraintStart_toStartOf="parent"/> |
| | | |
| | | <TextView |
| | | android:id="@+id/tv_m" |
| | | android:layout_width="wrap_content" |
| | | android:layout_height="wrap_content" |
| | | android:text="å
å" |
| | | android:textSize="30sp" |
| | | android:textColor="@color/white" |
| | | android:gravity="center" |
| | | app:layout_constraintTop_toTopOf="parent" |
| | | app:layout_constraintStart_toStartOf="parent" |
| | | android:paddingLeft="0dp" |
| | | android:paddingRight="10dp" |
| | | android:visibility="gone" |
| | | /> |
| | | |
| | | <com.facebook.drawee.view.SimpleDraweeView |
| | | android:id="@+id/img1" |
| | | android:layout_width="match_parent" |
| | |
| | | app:layout_constraintStart_toStartOf="parent" |
| | | /> |
| | | |
| | | <TextView |
| | | android:id="@+id/tv_m" |
| | | android:layout_width="wrap_content" |
| | | android:layout_height="wrap_content" |
| | | android:text="" |
| | | android:textSize="30sp" |
| | | android:textColor="@color/black" |
| | | android:gravity="center" |
| | | app:layout_constraintTop_toTopOf="parent" |
| | | app:layout_constraintStart_toStartOf="parent" |
| | | android:paddingLeft="0dp" |
| | | android:paddingRight="10dp" |
| | | android:visibility="gone" |
| | | /> |
| | | |
| | | </androidx.constraintlayout.widget.ConstraintLayout> |
| | | </layout> |
| | |
| | | android:layout_marginLeft="15dp" |
| | | android:layout_marginTop="10dp" |
| | | android:paddingBottom="9dp"/> |
| | | <TextView |
| | | android:id="@+id/tv3" |
| | | android:layout_width="wrap_content" |
| | | android:layout_height="wrap_content" |
| | | android:text="@{data.keyCode}" |
| | | android:textColor="#ff279baa" |
| | | android:textSize="14sp" |
| | | app:layout_constraintTop_toBottomOf="@+id/tv2" |
| | | app:layout_constraintStart_toStartOf="parent" |
| | | android:layout_marginLeft="15dp" |
| | | android:layout_marginTop="10dp" |
| | | android:paddingBottom="9dp"/> |
| | | |
| | | <ImageView |
| | | android:layout_width="45dp" |
| | |
| | | android:layout_width="0dp" |
| | | android:layout_height="75dp" |
| | | android:background="@null" |
| | | android:text="18656077929" |
| | | android:text="" |
| | | android:textColor="#111111" |
| | | android:hint="请è¾å
¥ç»å½è´¦å·" |
| | | android:textColorHint="#999999" |
| | |
| | | android:layout_width="0dp" |
| | | android:layout_height="75dp" |
| | | android:background="@null" |
| | | android:text="Whyc2025" |
| | | android:text="" |
| | | android:hint="请è¾å
¥è´¦å·å¯ç " |
| | | android:textColorHint="#999999" |
| | | android:textSize="24sp" |
| | |
| | | <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" |
| | | xmlns:app="http://schemas.android.com/apk/res-auto" |
| | | android:id="@+id/rl_root" |
| | | android:layout_width="match_parent" |
| | | android:layout_width="450dp" |
| | | android:layout_height="wrap_content"> |
| | | |
| | | <androidx.constraintlayout.widget.ConstraintLayout |
| | |
| | | <string name="main_tip3">人è¸åºå 载失败,å
±%1$dæ¡æ°æ®, å·²å è½½%2$dæ¡æ°æ®</string> |
| | | <string name="main_tip4">模åå è½½æåï¼æ¬¢è¿ä½¿ç¨</string> |
| | | <string name="main_tip5">模åå 载失败ï¼è¯·å°è¯éå¯åºç¨</string> |
| | | <string name="face_hy">ä¼å</string> |
| | | <string name="face_xy">管çå</string> |
| | | <string name="face_hy">叿º</string> |
| | | <string name="face_xy">éªè¯äºº</string> |
| | | <string name="guide_2">è®¾å¤æªç»å½</string> |
| | | <string name="face_login">人è¸è¯å«ä¸</string> |
| | | <string name="face_tip1">请æ£è§åæ¹ï¼ä¸è¦é®æ¡è¸é¨</string> |
| | |
| | | |
| | | private static BDFaceImageInstance rgbInstance =null; |
| | | private LivenessModel livenessModel; |
| | | private String groupId; |
| | | |
| | | /** |
| | | * 0:管çåï¼1ï¼ç¨æ· |
| | | * @param groupId |
| | | */ |
| | | public void setGroupId(String groupId){ |
| | | if(livenessModel!=null){ |
| | | livenessModel.setGroupId(groupId); |
| | | } |
| | | this.groupId = groupId; |
| | | } |
| | | /** |
| | | * æ£æµ-æ´»ä½-ç¹å¾-äººè¸æ£ç´¢æµç¨ |
| | |
| | | //System.out.println("==isOk==>å¹é
å°æ°é"+featureResult.size()); |
| | | User user = null; |
| | | Feature topFeature = null; |
| | | if(TextUtils.isEmpty(livenessModel.getGroupId())){ |
| | | if(TextUtils.isEmpty(groupId)){ |
| | | //为空ï¼éè¦æåºï¼ä¼å
åä¼å |
| | | for(Feature feat:featureResult) { |
| | | threholdScore = bdFaceCheckConfig.scoreThreshold; |
| | |
| | | //System.out.println("==isOk==>50"); |
| | | // å½åfeatureEntity åªæid+feature ç´¢å¼ï¼å¨æ°æ®åºä¸æ¥å°å®æ´ä¿¡æ¯ |
| | | User userOld = FaceApi.getInstance().getUserListById(feat.getId()); |
| | | if(livenessModel.getGroupId().equals(userOld.getGroupId())){ |
| | | if(groupId.equals(userOld.getGroupId())){ |
| | | user = userOld; |
| | | topFeature = feat; |
| | | break; |
| | |
| | | actionEvent.setValue(new ActionEventData(type)); |
| | | } |
| | | |
| | | public void doAction(int type,String obj){ |
| | | actionEvent.setValue(new ActionEventData(type,obj)); |
| | | } |
| | | |
| | | public LifecycleOwner getLifecycleOwner() { |
| | | return lifecycleOwner; |
| | | } |
| | |
| | | this.data.put("type",type); |
| | | } |
| | | |
| | | public ActionEventData(int type,String obj){ |
| | | this.action = ActionEvent.Action.DO; |
| | | this.data = new HashMap<>(); |
| | | this.data.put("type",type); |
| | | this.data.put("obj",obj); |
| | | } |
| | | |
| | | public ActionEventData(int action,Object value) { |
| | | this.action = action; |
| | | this.data = new HashMap<>(); |
| | |
| | | return getSharedPreferences().getInt(key, 0); |
| | | } |
| | | |
| | | public static void saveLong(String key, Long value){ |
| | | SharedPreferences.Editor editor = getSharedPreferences().edit(); |
| | | editor.putLong(key, value); |
| | | editor.commit(); |
| | | } |
| | | |
| | | public static Long getLong(String key){ |
| | | return getSharedPreferences().getLong(key, 0L); |
| | | } |
| | | |
| | | public static boolean getBoolean(String key){ |
| | | return getSharedPreferences().getBoolean(key, false); |
| | | } |
| | |
| | | <color name="line">#E5E5E5</color> |
| | | <color name="bg">#fff4f6f9</color> |
| | | <color name="f7">#F7F7F7</color> |
| | | <color name="dialog_bg">#80000000</color> |
| | | </resources> |
| | |
| | | # ææ¶å
³éç¼å |
| | | enabled: false |
| | | nacos: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | username: nacos |
| | | password: nacos |
| | | config: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | namespace: wuhu_visit_dev |
| | | # namespace: dev_renkang |
| | | username: nacos |
| | |
| | | # group: dev |
| | | # data-id: com.doumee.meeting.admin |
| | | discovery: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | # namespace: dev_renkang |
| | | namespace: dmvisit |
| | | username: nacos |
| | |
| | | username: nacos |
| | | password: Atwl@2024 |
| | | # config: |
| | | # server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | # server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | # namespace: dmvisit |
| | | # username: nacos |
| | | # password: nacos |
| | |
| | | # ææ¶å
³éç¼å |
| | | enabled: false |
| | | nacos: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | username: nacos |
| | | password: nacos |
| | | config: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | namespace: wuhu_visit_dev |
| | | # namespace: dev_renkang |
| | | username: nacos |
| | |
| | | # group: dev |
| | | # data-id: com.doumee.meeting.admin |
| | | discovery: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | # namespace: wuhu_visit_dev |
| | | namespace: dmvisit_dev |
| | | username: nacos |
| | |
| | | # ææ¶å
³éç¼å |
| | | enabled: false |
| | | nacos: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | username: nacos |
| | | password: nacos |
| | | config: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | namespace: wuhu_visit_test |
| | | username: nacos |
| | | password: nacos |
| | |
| | | # group: dev |
| | | # data-id: com.doumee.meeting.admin |
| | | discovery: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | namespace: wuhu_visit_test |
| | | username: nacos |
| | | password: nacos |
| | |
| | | |
| | | /usr/local/nacos/nacos/bin/startup.sh -m standalone |
| | | |
| | | nohup java -jar /usr/local/jars/system_gateway.jar > /dev/null 2>&1 & |
| | | nohup java -jar /usr/local/jars/admin_timer.jar > /dev/null 2>&1 & |
| | | nohup java -jar /usr/local/jars/system_timer.jar > /dev/null 2>&1 & |
| | | nohup java -jar /usr/local/jars/admin_interface.jar > /dev/null 2>&1 & |
| | | nohup java -jar /usr/local/jars/meeting_admin.jar > /dev/null 2>&1 & |
| | | nohup java -jar /usr/local/jars/wuhuyancao/system_gateway.jar > /dev/null 2>&1 & |
| | | nohup java -jar /usr/local/jars/wuhuyancao/admin_timer.jar > /dev/null 2>&1 & |
| | | nohup java -jar /usr/local/jars/wuhuyancao/system_timer.jar > /dev/null 2>&1 & |
| | | nohup java -jar /usr/local/jars/wuhuyancao/admin_interface.jar > /dev/null 2>&1 & |
| | | nohup java -jar /usr/local/jars/wuhuyancao/meeting_admin.jar > /dev/null 2>&1 & |
| | | |
| | | |
| | | |
| | | cd /usr/local/ortools/java_or-tools |
| | | |
| | | |
| | | tail -f /usr/local/jars/logs/visitsAdmin/info.2025-10-31.0.log |
| | |
| | | #æEscé®ååè¾å
¥:wqï¼,å车ä¿å |
| | | #æ¥çæ¯å¦å建æå |
| | | crontab -l |
| | | |
| | | #JAVA spring bootä¸ä½¿ç¨googleçortools(ç®æ³å
) |
| | | |
| | | Linuxç³»ç»å®è£
对åºççæ¬æå¡ï¼ |
| | | https://developers.google.cn/optimization/install/java/pkg_linux?hl=zh-cn#ubuntu |
| | | https://modelers.csdn.net/68db8ec14b11580edfa299c6.html?spm=1001.2101.3001.6650.5&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Eactivity-5-134512600-blog-119785705.235%5Ev43%5Epc_blog_bottom_relevance_base5&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Eactivity-5-134512600-blog-119785705.235%5Ev43%5Epc_blog_bottom_relevance_base5&utm_relevant_index=10 |
| | |
| | | package com.doumee.config.swagger; |
| | | |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.cloud.gateway.filter.GatewayFilter; |
| | | import org.springframework.cloud.gateway.filter.factory.AbstractGatewayFilterFactory; |
| | |
| | | spring: |
| | | cloud: |
| | | nacos: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | username: nacos |
| | | password: nacos |
| | | discovery: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | # namespace: dmvisit |
| | | namespace: wuhu_visit_dev1 |
| | | username: nacos |
| | |
| | | spring: |
| | | cloud: |
| | | nacos: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | username: nacos |
| | | password: nacos |
| | | discovery: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | # namespace: dmvisit |
| | | namespace: wuhu_visit_dev |
| | | username: nacos |
| | |
| | | spring: |
| | | cloud: |
| | | nacos: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | username: nacos |
| | | password: nacos |
| | | discovery: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | # namespace: dmvisit |
| | | namespace: wuhu_visit_test |
| | | username: nacos |
| | |
| | | </exclusions> |
| | | </dependency> |
| | | --> |
| | | <dependency> |
| | | <groupId>com.google.protobuf</groupId> |
| | | <artifactId>protobuf-java</artifactId> |
| | | <version>4.31.1</version> |
| | | <scope>compile</scope> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.google.ortools</groupId> |
| | | <artifactId>ortools-java</artifactId> |
| | | <version>9.14.6206</version> |
| | | <exclusions> |
| | | <exclusion> |
| | | <groupId>com.google.protobuf</groupId> |
| | | <artifactId>protobuf-java</artifactId> |
| | | </exclusion> |
| | | </exclusions> |
| | | </dependency> |
| | | </dependencies> |
| | | </project> |
| | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = {Exception.class,BusinessException.class}) |
| | | public void create(CreateSystemUserDTO systemUser) { |
| | | public void create(CreateSystemUserDTO systemUser) { |
| | | // éªè¯ç¨æ·å |
| | | SystemUser queryUserDto = new SystemUser(); |
| | | queryUserDto.setUsername(systemUser.getUsername()); |
| | |
| | | String t = reversedHex.substring(i*2,i*2+2); |
| | | result += new StringBuilder(t).reverse().toString(); |
| | | } |
| | | return result; |
| | | return result.toUpperCase(); |
| | | }catch (Exception e){ |
| | | |
| | | } |
| | |
| | | WAIT_CALL(2, "å·²ç¾å°","å·²ç¾å°"), |
| | | IN_WAIT(3, "å
¥åçå¾
","å
¥åçå¾
" ), |
| | | CALLED(4, "å·²å«å·","å·²å«å·" ), |
| | | WORKING(5, "ä½ä¸ä¸","ä½ä¸ä¸" ), |
| | | WORKING(5, "ä½ä¸ä¸","ä½ä¸ä¸" ), |
| | | DONE(6, "ä½ä¸å®æ ","ä½ä¸å®æ" ), |
| | | TRANSFERING(7, "转移ä¸","转移ä¸" ), |
| | | EXCEPTION(8, "å¼å¸¸æèµ·","å¼å¸¸æèµ·" ), |
| | |
| | | IN_CITY_CAR_USE(3, "å
¬è½¦å¸å
ç¨è½¦ ", "å
¬è½¦å¸å
ç¨è½¦ "), |
| | | OUT_CITY_CAR_USE(4, "å
¬è½¦å®¤å¤ç¨è½¦ ", "å
¬è½¦å®¤å¤ç¨è½¦ "), |
| | | CITY_WLC_BOOK(5, "å¸å
¬å¸ç©æµè½¦é¢çº¦ ", "5å¸å
¬å¸ç©æµè½¦é¢çº¦ "), |
| | | PLATFROM_REASON(6, "æå°å
¥ååå å®¡æ¹ ", "æå°å
¥ååå å®¡æ¹ "), |
| | | PLATFROM_REASON(6, "æå°å
¥ååå å®¡æ¹ ", "æå°å
¥ååå å®¡æ¹ ") |
| | | ; |
| | | // æååé |
| | | private String name; |
| | |
| | | |
| | | |
| | | public enum WarningConfig { |
| | | ALARM_TEST(10002, "é
ç²¾æµè¯"), |
| | | GRID_TIME_OUT_INFO(10003, "å¼é¨è¶
æ¶æªå
³é"), |
| | | KEY_TIME_OUT_BACK(10004, "é¥åè¶
æ¶æªå½è¿"), |
| | | ALARM_TEST(10002, "ãé¥åæãé
ç²¾æµè¯å¼å¸¸",0), |
| | | GRID_TIME_OUT_INFO(10003, "ãé¥åæãå¼é¨è¶
æ¶æªå
³é",0), |
| | | KEY_TIME_OUT_BACK(10004, "ãé¥åæãé¥åè¶
æ¶æªå½è¿",0), |
| | | ; |
| | | // æååé |
| | | private int key; |
| | | private String info; |
| | | private int processArea; |
| | | |
| | | // æé æ¹æ³ |
| | | WarningConfig(int key,String info) { |
| | | WarningConfig(int key,String info,int processArea) { |
| | | this.key = key; |
| | | this.info = info; |
| | | this.processArea = processArea; |
| | | } |
| | | |
| | | |
| | |
| | | this.info = info; |
| | | } |
| | | |
| | | public int getProcessArea() { |
| | | return processArea; |
| | | } |
| | | |
| | | public void setProcessArea(int processArea) { |
| | | this.processArea = processArea; |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | import cn.hutool.core.date.DateUnit; |
| | | import org.apache.commons.lang3.RandomStringUtils; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | |
| | | /** |
| | | * æ¥æå·¥å
·ç±» |
| | | * @author: jiangping |
| | |
| | | // Date date1 = getISO8601DateByStr("2024-06-14T08:46:36.014+08:00"); |
| | | // System.out.println(DateUtil.afterMinutesDate(-5)); |
| | | |
| | | System.out.println(DateUtil.getFirstThisMonthDate()); |
| | | System.out.println(DateUtil.getWeekZhouOfDate(getDateFromString2("2025-11-06 00:00:00"))); |
| | | |
| | | // System.out.println(getPlusTime2(DateUtil.addMonthToDate(new Date(),-1))); |
| | | // System.out.println(DateUtil.getBeforMonthStr(new Date(),12)); |
| | |
| | | String temp = sdf.format(date); |
| | | String firstDayInMoth = ""; |
| | | firstDayInMoth = temp + "-01"; |
| | | |
| | | return firstDayInMoth; |
| | | |
| | | } |
| | |
| | | */ |
| | | public static String getWeekZhouOfDate(Date dt) { |
| | | String[] weekDays = { "卿¥", "å¨ä¸", "å¨äº", "å¨ä¸", "å¨å", "å¨äº", "å¨å
" }; |
| | | Calendar cal = Calendar.getInstance(); |
| | | TimeZone china = TimeZone.getTimeZone("Asia/Shanghai"); |
| | | Calendar cal = Calendar.getInstance(china); |
| | | cal.setTime(dt); |
| | | |
| | | int w = cal.get(Calendar.DAY_OF_WEEK) - 1; |
| | |
| | | package com.doumee.core.utils; |
| | | |
| | | import com.doumee.core.utils.monitor.*; |
| | | import com.sun.jna.platform.mac.DiskArbitration; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | |
| | | @PostMapping("/timer/systemUserJob/jobForOpenProhibitStatus") |
| | | ApiResponse jobForOpenProhibitStatus(); |
| | | |
| | | @ApiOperation("ãé¥åæã宿¶åéé¥åæªåæ¶å½è¿éç¥") |
| | | @PostMapping("/timer/jkCabinet/timeOutUnBackAlarm") |
| | | ApiResponse timeOutUnBackAlarm(); |
| | | } |
| | |
| | | # ææ¶å
³éç¼å |
| | | enabled: false |
| | | nacos: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | username: nacos |
| | | password: nacos |
| | | # config: |
| | | # server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | # server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | # namespace: dmvisit |
| | | # username: nacos |
| | | # password: nacos |
| | |
| | | # group: dev |
| | | # data-id: com.doumee.meeting.admin |
| | | discovery: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | namespace: wuhu_visit_dev |
| | | username: nacos |
| | | password: nacos |
| | |
| | | username: nacos |
| | | password: nacos |
| | | # config: |
| | | # server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | # server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | # namespace: dmvisit |
| | | # username: nacos |
| | | # password: nacos |
| | |
| | | # ææ¶å
³éç¼å |
| | | enabled: false |
| | | nacos: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | username: nacos |
| | | password: nacos |
| | | # config: |
| | | # server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | # server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | # namespace: dmvisit |
| | | # username: nacos |
| | | # password: nacos |
| | |
| | | # group: dev |
| | | # data-id: com.doumee.meeting.admin |
| | | discovery: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | namespace: wuhu_visit_dev |
| | | username: nacos |
| | | password: nacos |
| | |
| | | # ææ¶å
³éç¼å |
| | | enabled: false |
| | | nacos: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | username: nacos |
| | | password: nacos |
| | | # config: |
| | | # server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | # server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | # namespace: dmvisit |
| | | # username: nacos |
| | | # password: nacos |
| | |
| | | # group: dev |
| | | # data-id: com.doumee.meeting.admin |
| | | discovery: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | namespace: wuhu_visit_test |
| | | username: nacos |
| | | password: nacos |
| | |
| | | <groupId>com.doumee</groupId> |
| | | <artifactId>dmvisit_service</artifactId> |
| | | <version>1.0.0-SNAPSHOT</version> |
| | | <exclusions> |
| | | <exclusion> |
| | | <groupId>com.google.protobuf</groupId> |
| | | <artifactId>protobuf-java</artifactId> |
| | | </exclusion> |
| | | </exclusions> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.google.protobuf</groupId> |
| | | <artifactId>protobuf-java</artifactId> |
| | | <version>4.31.1</version> |
| | | <scope>compile</scope> |
| | | </dependency> |
| | | </dependencies> |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.api; |
| | | |
| | | import com.doumee.service.business.JkCabinetLogService; |
| | | import com.doumee.service.business.JkCustomerService; |
| | | import com.doumee.service.business.impl.JkCabinetGridServiceImpl; |
| | | import com.doumee.service.business.third.model.ApiResponse; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.apache.shiro.mgt.DefaultSecurityManager; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * @author æ±è¹è¹ |
| | | * @date 2023/11/30 15:33 |
| | | */ |
| | | @Api(tags = "é¥åæå®æ¶å¨") |
| | | @RestController |
| | | @RequestMapping("/timer/jkCabinet") |
| | | public class JkCabinetTimerController extends BaseController { |
| | | @Autowired |
| | | private JkCabinetLogService jkCabinetLogService; |
| | | |
| | | @Autowired |
| | | private JkCabinetGridServiceImpl impl; |
| | | |
| | | |
| | | @ApiOperation("宿¶åéé¥åæªåæ¶å½è¿éç¥") |
| | | @PostMapping("/timeOutUnBackAlarm") |
| | | public ApiResponse timeOutUnBackAlarm() { |
| | | jkCabinetLogService.timeOutUnBackAlarm(impl); |
| | | return ApiResponse.success("宿¶åéé¥åæªåæ¶å½è¿éç¥"); |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | # ææ¶å
³éç¼å |
| | | enabled: false |
| | | nacos: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | username: nacos |
| | | password: nacos |
| | | # config: |
| | | # server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | # server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | # namespace: dmvisit |
| | | # username: nacos |
| | | # password: nacos |
| | |
| | | # group: dev |
| | | # data-id: com.doumee.meeting.admin |
| | | discovery: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | namespace: wuhu_visit_dev |
| | | username: nacos |
| | | password: nacos |
| | |
| | | username: nacos |
| | | password: nacos |
| | | # config: |
| | | # server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | # server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | # namespace: dmvisit |
| | | # username: nacos |
| | | # password: nacos |
| | |
| | | # ææ¶å
³éç¼å |
| | | enabled: false |
| | | nacos: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | username: nacos |
| | | password: nacos |
| | | # config: |
| | | # server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | # server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | # namespace: dmvisit |
| | | # username: nacos |
| | | # password: nacos |
| | |
| | | # group: dev |
| | | # data-id: com.doumee.meeting.admin |
| | | discovery: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | namespace: dmvisit |
| | | username: nacos |
| | | password: nacos |
| | |
| | | # ææ¶å
³éç¼å |
| | | enabled: false |
| | | nacos: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | username: nacos |
| | | password: nacos |
| | | # config: |
| | | # server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | # server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | # namespace: dmvisit |
| | | # username: nacos |
| | | # password: nacos |
| | |
| | | # group: dev |
| | | # data-id: com.doumee.meeting.admin |
| | | discovery: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | namespace: wuhu_visit_test |
| | | username: nacos |
| | | password: nacos |
| | |
| | | <fork>true</fork> |
| | | <mainClass>com.doumee.VisitsAdminApplication</mainClass> |
| | | <layout>ZIP</layout> |
| | | <requiresUnpack> |
| | | <dependency> |
| | | <groupId>com.google.ortools</groupId> |
| | | <artifactId>ortools-java</artifactId> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.google.ortools</groupId> |
| | | <artifactId>ortools-linux-x86-64</artifactId> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.google.ortools</groupId> |
| | | <artifactId>ortools-darwin-x86-64</artifactId> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.google.ortools</groupId> |
| | | <artifactId>ortools-win32-x86-64</artifactId> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.google.ortools</groupId> |
| | | <artifactId>ortools-linux-aarch64</artifactId> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.google.ortools</groupId> |
| | | <artifactId>ortools-darwin-aarch64</artifactId> |
| | | </dependency> |
| | | </requiresUnpack> |
| | | </configuration> |
| | | <executions> |
| | | <execution> |
| | |
| | | import com.doumee.config.annotation.LoginNoRequired; |
| | | import com.doumee.config.jwt.JwtProperties; |
| | | import com.doumee.core.annotation.pr.PreventRepeat; |
| | | import com.doumee.core.haikang.model.HKConstants; |
| | | import com.doumee.core.haikang.model.param.BaseResponse; |
| | | import com.doumee.core.haikang.model.param.request.*; |
| | | import com.doumee.core.haikang.model.param.request.event.acs.EventAcsRequest; |
| | |
| | | String result = hkSyncPushService.dealVisitEvent(param,response); |
| | | return ApiResponse.success(result); |
| | | } |
| | | @ApiOperation("ãæµ·åº·ãå
¶ä»è®¢é
äºä»¶è®¢é
æ¨é对æ¥å¤çæ¥å£") |
| | | @PostMapping("/push/notice") |
| | | @LoginNoRequired |
| | | public ApiResponse pushNotice(@RequestBody EventVisitRequest param, HttpServletResponse response){ |
| | | String result = hkSyncPushService.dealVisitEvent(param,response); |
| | | |
| | | return ApiResponse.success(result); |
| | | } |
| | | @ApiOperation("ãæµ·åº·ã访客ICCMäºä»¶è®¢é
æ¨é对æ¥å¤çæ¥å£") |
| | | @PostMapping("/push/visitIccm") |
| | | @LoginNoRequired |
| | |
| | | @LoginNoRequired |
| | | @ApiOperation("è·åICå¡ç¨æ·ä¸»é® - 叿º") |
| | | @PostMapping("/getMemberIdByCode") |
| | | public ApiResponse<Integer> getMemberIdByCode(@RequestParam String code) { |
| | | this.saveInterfaceLog(Constants.strToJson("code",code), null,"getMemberIdByCode","è·åICå¡ç¨æ·ä¸»é® - 叿º"); |
| | | return ApiResponse.success(jkIccardService.getMemberIdByCode(code)); |
| | | public ApiResponse<Integer> getMemberIdByCode(@RequestBody QueryUserByCodeDTO dto) { |
| | | this.saveInterfaceLog(JSONObject.toJSONString(dto), null,"getMemberIdByCode","è·åICå¡ç¨æ·ä¸»é® - 叿º"); |
| | | return ApiResponse.success(jkIccardService.getMemberIdByCode(dto)); |
| | | } |
| | | |
| | | private void saveInterfaceLog(String s, String result,String url,String name) { |
| | |
| | | # ææ¶å
³éç¼å |
| | | enabled: false |
| | | nacos: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | username: nacos |
| | | password: nacos |
| | | discovery: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | # namespace: dmvisit |
| | | namespace: wuhu_visit_dev1 |
| | | username: nacos |
| | |
| | | username: nacos |
| | | password: nacos |
| | | # config: |
| | | # server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | # server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | # namespace: dmvisit |
| | | # username: nacos |
| | | # password: nacos |
| | |
| | | # ææ¶å
³éç¼å |
| | | enabled: false |
| | | nacos: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | username: nacos |
| | | password: nacos |
| | | # config: |
| | | # server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | # server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | # namespace: dmvisit |
| | | # username: nacos |
| | | # password: nacos |
| | |
| | | # group: dev |
| | | # data-id: com.doumee.meeting.admin |
| | | discovery: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | # namespace: dmvisit |
| | | namespace: wuhu_visit_dev |
| | | username: nacos |
| | |
| | | # ææ¶å
³éç¼å |
| | | enabled: false |
| | | nacos: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | username: nacos |
| | | password: nacos |
| | | # config: |
| | | # server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | # server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | # namespace: dmvisit |
| | | # username: nacos |
| | | # password: nacos |
| | |
| | | # group: dev |
| | | # data-id: com.doumee.meeting.admin |
| | | discovery: |
| | | server-addr: http://192.168.0.212:8848 #é
ç½®Nacoså°å |
| | | server-addr: http://192.168.0.7:8848 #é
ç½®Nacoså°å |
| | | namespace: wuhu_visit_test |
| | | username: nacos |
| | | password: nacos |
| | |
| | | spring: |
| | | profiles: |
| | | active: dev |
| | | active: test |
| | | application: |
| | | name: visitsAdmin |
| | | # å®å
¨é
ç½® |
| | |
| | | <groupId>com.doumee</groupId> |
| | | <artifactId>dmvisit_service</artifactId> |
| | | <version>1.0.0-SNAPSHOT</version> |
| | | <exclusions> |
| | | <exclusion> |
| | | <groupId>com.google.protobuf</groupId> |
| | | <artifactId>protobuf-java</artifactId> |
| | | </exclusion> |
| | | </exclusions> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.google.protobuf</groupId> |
| | | <artifactId>protobuf-java</artifactId> |
| | | <version>4.31.1</version> |
| | | <scope>compile</scope> |
| | | </dependency> |
| | | </dependencies> |
| | | <build> |
| | |
| | | <groupId>com.doumee</groupId> |
| | | <artifactId>system_service</artifactId> |
| | | <version>1.0.0-SNAPSHOT</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.google.ortools</groupId> |
| | | <artifactId>ortools-java</artifactId> |
| | | <version>9.14.6206</version> |
| | | <exclusions> |
| | | <exclusion> |
| | | <groupId>com.google.protobuf</groupId> |
| | |
| | | import com.github.xiaoymin.knife4j.core.util.CollectionUtils; |
| | | import com.taobao.api.ApiException; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | |
| | | |
| | | /** |
| | | * å®é²/æ¶é² markdown |
| | | * @param hiddenDanger |
| | | * @return |
| | | */ |
| | | public OapiMessageCorpconversationAsyncsendV2Request.Msg getAlarmNoticeMsg(String areaName,String submitTime,String infoType){ |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.core.haikang.model.param.request.event.base; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.doumee.core.haikang.model.param.request.event.visit.EventVisitDataRequest; |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class EventBaseInfoRequest { |
| | | private String eventId;// String äºä»¶å¯ä¸æ è¯ æ¯ 64 |
| | | private String srcIndex;// String äºä»¶æºç¼å·ï¼ç©çè®¾å¤æ¯èµæºç¼å· æ¯ 64 |
| | | private String srcType;// String äºä»¶æºç±»å æ¯ 16 |
| | | private Integer eventType ;//Number äºä»¶ç±»å æ¯ |
| | | private String srcName;// String äºä»¶æºåç§° å¦ 64 |
| | | private Integer status ;//Number äºä»¶ç¶æ æ¯ 0-ç¬æ¶1-å¼å§2-忢3-äºä»¶èå²4-äºä»¶èå¨ç»ææ´æ°5-弿¥å¾çä¸ä¼ |
| | | private Integer timeout ;//Number èå²è¶
æ¶æ¶é´ æ¯ åä½ï¼ç§ |
| | | private String happenTime ;//String äºä»¶åçæ¶é´ï¼è®¾å¤æ¶é´ï¼ æ¯ 64 |
| | | private String srcParentIndex ;//String äºä»¶åççäºä»¶æºç¶è®¾å¤ç¼å· å¦ 64 |
| | | private JSONObject data; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.core.haikang.model.param.request.event.base; |
| | | |
| | | import com.doumee.core.haikang.model.param.request.event.visit.EventVisitInfoRequest; |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | public class EventBaseParamRequest { |
| | | |
| | | |
| | | private String sendTime;// P String äºä»¶ä»æ¥æ¶è
ï¼ç¨åºå¤çåï¼ååºçæ¶é´ æ¯ 32 äºä»¶åéæ¶é´ |
| | | private String ability;// P String äºä»¶ç±»å« æ¯ 64 æ è¯å车åºäºä»¶ |
| | | private String[] uids;// String[] ç¨æ·id å¦ ä¸é |
| | | private String[] clients ;//String[] ç»ä»¶æ è¯ å¦ ä¸é |
| | | private List<EventBaseInfoRequest> events;// P Events[] äºä»¶ä¿¡æ¯ æ¯ ä¸é |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.core.haikang.model.param.request.event.base; |
| | | |
| | | import com.doumee.core.haikang.model.param.request.event.visit.EventVisitParamRequest; |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class EventBaseRequest { |
| | | |
| | | // private String parkIndexCodes ;// string False å车åºå¯ä¸æ è¯éå å¤ä¸ªå¼ä½¿ç¨è±æéå·åéï¼ä¸è¶
è¿1000个 |
| | | |
| | | private String method ;// String æ¹æ³åï¼ç¨äºæ è¯æ¥æç¨é æ¯ 16 äºä»¶åºå®OnEventNotify |
| | | private EventBaseParamRequest params ;// Params äºä»¶åæ°ä¿¡æ¯ æ¯ ä¸é å
·ä½åæ°ä¿¡æ¯ |
| | | |
| | | } |
| | |
| | | |
| | | @Data |
| | | public class EventVisitDataRequest { |
| | | |
| | | private String visitorId ;//String 访客id æ¯ 64 对åºè®¿å®¢æ¥è®¿è®°å½ä¸çorderIdåæ®µ |
| | | private String personName;// String å§å æ¯ 32 |
| | | private Integer sex;// Number æ§å« æ¯ 1-ç·2-女 |
| | |
| | | private String svrIndexCode;// String å¾çå卿å¡å¨å¯ä¸æ è¯ å¦ |
| | | private String beVisitedPersonId;// String 被访é®äººId æ¯ |
| | | private String beVisitedPersonOrgId;// String 被访é®äººæå±ç»ç»Id æ¯ |
| | | |
| | | } |
| | |
| | | @Data |
| | | public class EventVisitRequest { |
| | | |
| | | // private String parkIndexCodes ;// string False å车åºå¯ä¸æ è¯éå å¤ä¸ªå¼ä½¿ç¨è±æéå·åéï¼ä¸è¶
è¿1000个 |
| | | |
| | | // private String parkIndexCodes;// string False å车åºå¯ä¸æ è¯éå å¤ä¸ªå¼ä½¿ç¨è±æéå·åéï¼ä¸è¶
è¿1000个 |
| | | private String method ;// String æ¹æ³åï¼ç¨äºæ è¯æ¥æç¨é æ¯ 16 äºä»¶åºå®OnEventNotify |
| | | private EventVisitParamRequest params ;// Params äºä»¶åæ°ä¿¡æ¯ æ¯ ä¸é å
·ä½åæ°ä¿¡æ¯ |
| | | |
| | |
| | | import com.google.ortools.Loader; |
| | | import com.google.ortools.constraintsolver.*; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import com.google.protobuf.Internal.IntListAdapter.IntConverter; |
| | | import com.google.ortools.constraintsolver.mainJNI; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.business.dto; |
| | | |
| | | import com.doumee.core.annotation.excel.ExcelColumn; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * Created by IntelliJ IDEA. |
| | | * |
| | | * @Author : Rk |
| | | * @create 2025/10/11 16:01 |
| | | */ |
| | | @Data |
| | | public class AbnormalOpenGridDTO { |
| | | |
| | | @ApiModelProperty(value = "é¥åæä¸»é®") |
| | | private Integer cabinetId; |
| | | |
| | | @ApiModelProperty(value = "æ¿å·") |
| | | private String boardCode; |
| | | |
| | | @ApiModelProperty(value = "ééå·") |
| | | private String channelCode; |
| | | |
| | | } |
| | |
| | | @ApiModelProperty(value = "é
精度æ°") |
| | | private String alcoholNum; |
| | | |
| | | @ApiModelProperty(value = "é¥åæä¸»é®") |
| | | private Integer cabinetId; |
| | | |
| | | |
| | | } |
| | |
| | | @ApiModelProperty(value = "ç¨æ·ä¸»é®") |
| | | private Integer memberId; |
| | | |
| | | @ApiModelProperty(value = "å¼å¯æ¹å¼ï¼0=ç³»ç»å¼å¯ï¼1=æå¨å¼å¯") |
| | | private Integer openType; |
| | | } |
| | |
| | | @ApiModelProperty(value = "ææ ¼ä¸»é®å表") |
| | | private List<Integer> gridIdList; |
| | | |
| | | @ApiModelProperty(value = "å¼å¯æ¹å¼ï¼0=ç³»ç»å¼å¯ï¼1=æå¨å¼å¯") |
| | | private Integer openType; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.business.dto; |
| | | |
| | | import com.doumee.core.annotation.excel.ExcelColumn; |
| | | import com.doumee.service.business.third.model.LoginUserModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * Created by IntelliJ IDEA. |
| | | * |
| | | * @Author : Rk |
| | | * @create 2025/10/11 16:01 |
| | | */ |
| | | @Data |
| | | public class QueryUserByCodeDTO { |
| | | |
| | | @ApiModelProperty(value = "ICå¡å·") |
| | | private String code; |
| | | |
| | | @ApiModelProperty(value = "å
³è人åç±»åï¼0=叿ºï¼1=æ ¡éªäººå", example = "1") |
| | | private Integer userType; |
| | | } |
| | |
| | | @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯", example = "1") |
| | | private Integer isdeleted; |
| | | |
| | | @ApiModelProperty(value = "夿³¨") |
| | | @ApiModelProperty(value = "夿³¨ è®°å½å¼é¨æ¹å¼") |
| | | private String info; |
| | | |
| | | @ApiModelProperty(value = "é¥åæç¼ç ï¼å
³èjk_cabinet)", example = "1") |
| | |
| | | @ApiModelProperty(value = "æä½åé¥åç¶æï¼0æªåå;1å·²å½è¿;2å·²ååº;", example = "1") |
| | | private Integer keyStatus; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦åééç¥ï¼0=å¦ï¼1=æ¯ï¼", example = "1") |
| | | private Integer isNotice; |
| | | |
| | | @ApiModelProperty(value = "å½è¿æ¶é´") |
| | | @TableField(exist = false) |
| | |
| | | private String companyName; |
| | | |
| | | @ApiModelProperty(value = "æä½äººåç§°", example = "1") |
| | | @ExcelColumn(name="æä½äºº",index = 1,width = 2) |
| | | @ExcelColumn(name="æä½äºº",index = 1,width = 12) |
| | | @TableField(exist = false) |
| | | private String memberName; |
| | | |
| | |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date endDate; |
| | | |
| | | @ApiModelProperty(value = "æå¨ä½ç½®") |
| | | @TableField(exist = false) |
| | | private String location; |
| | | |
| | | } |
| | |
| | | private String sortno; |
| | | |
| | | @ApiModelProperty(value = "ç»çº¬åº¦", example = "1") |
| | | @ExcelColumn(name="ç»çº¬åº¦",index = 3,width = 10) |
| | | @ExcelColumn(name="ç»çº¬åº¦",index = 4,width = 10) |
| | | @TableField(exist = false) |
| | | private String locationInfo; |
| | | @ApiModelProperty(value = "é货路线ç¼ç ï¼å
³èjk_line)", example = "1") |
| | |
| | | private Integer status; |
| | | |
| | | |
| | | @ApiModelProperty(value = "æ ç¾æç å å¯åçæ rfid_lable", example = "1") |
| | | @ExcelColumn(name="æ ç¾æç å å¯åçæ rfid_lable") |
| | | private String rfidCode; |
| | | |
| | | |
| | | @ApiModelProperty(value = "åæ¾ä½ç½®", example = "1") |
| | | @TableField(exist = false) |
| | | private String gridCode; |
| | |
| | | |
| | | @ApiModelProperty(value = "å建æ¶é´") |
| | | @ExcelColumn(name="å建æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date createDate; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°äººç¼ç ", example = "1") |
| | |
| | | |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´") |
| | | @ExcelColumn(name="æ´æ°æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date editDate; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯", example = "1") |
| | |
| | | @ExcelColumn(name="æå¨ä½ç½®",width=10,index = 5) |
| | | private String region; |
| | | |
| | | @ApiModelProperty(value = "ä½ç½®ä¸»é®") |
| | | private String regionId; |
| | | |
| | | @ApiModelProperty(value = "å¯ä¸æ è¯") |
| | | //@ExcelColumn(name="å¯ä¸æ è¯") |
| | | private String eventId; |
| | |
| | | @ApiModelProperty(value = "æå¨ä½ç½®") |
| | | //@ExcelColumn(name="æ¨éæ è¯") |
| | | private String pushId; |
| | | @ApiModelProperty(value = "æ¨éæ è¯") |
| | | @ApiModelProperty(value = "æå¨ä½ç½®") |
| | | @ExcelColumn(name="æå¨ä½ç½®",width=10,index = 5) |
| | | private String region; |
| | | |
| | |
| | | //@ExcelColumn(name="æ¨éæ¹å¼ 0éééç¥") |
| | | private Integer pushType; |
| | | |
| | | @ApiModelProperty(value = "人åç¼ç ï¼å¤ä¸ªä»¥,åå²", example = "1") |
| | | //@ExcelColumn(name="æ¨éæ¹å¼ 0éééç¥") |
| | | private String memberIds; |
| | | |
| | | @ApiModelProperty(value = "人ååç§°ï¼å¤ä¸ªä»¥,åå²", example = "1") |
| | | //@ExcelColumn(name="æ¨éæ¹å¼ 0éééç¥") |
| | | private String memberNames; |
| | | |
| | | |
| | | @ApiModelProperty(value = "äºä»¶åç±» 0=å®é²äºä»¶ï¼1=æ¶é²äºä»¶ï¼2=车载äºä»¶ï¼3=é¥åæäºä»¶ï¼ 4=天æ°é¢è¦ï¼", example = "1") |
| | | @ExcelColumn(name="äºä»¶åç±»",valueMapping = "0=å®é²äºä»¶;1=æ¶é²äºä»¶;2=车载äºä»¶;3=é¥åæäºä»¶;4=天æ°é¢è¦;",width=10,index = 3) |
| | | @TableField(exist = false) |
| | |
| | | package com.doumee.dao.business.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.doumee.core.annotation.excel.ExcelColumn; |
| | | import com.doumee.service.business.third.model.LoginUserModel; |
| | | import io.swagger.annotations.ApiModel; |
| | |
| | | @ExcelColumn(name="åºå主é®") |
| | | private String regionId; |
| | | |
| | | |
| | | |
| | | @ApiModelProperty(value = "åè¦ç±»åç¼ç ") |
| | | @TableField(exist = false) |
| | | private String code; |
| | | |
| | | |
| | | } |
| | |
| | | |
| | | import com.doumee.dao.business.dto.TelecomCabinetLogDTO; |
| | | import com.doumee.dao.business.vo.TelecomJkCabinetLogVO; |
| | | import com.doumee.service.business.impl.JkCabinetGridServiceImpl; |
| | | import com.doumee.service.business.third.model.PageData; |
| | | import com.doumee.service.business.third.model.PageWrap; |
| | | import com.doumee.dao.business.model.JkCabinetLog; |
| | |
| | | * @return |
| | | */ |
| | | List<TelecomJkCabinetLogVO> getLogListForTelecom(TelecomCabinetLogDTO model); |
| | | |
| | | |
| | | void timeOutUnBackAlarm(JkCabinetGridServiceImpl impl); |
| | | |
| | | } |
| | |
| | | package com.doumee.service.business; |
| | | |
| | | import com.doumee.dao.business.dto.QueryUserByCodeDTO; |
| | | import com.doumee.service.business.third.model.PageData; |
| | | import com.doumee.service.business.third.model.PageWrap; |
| | | import com.doumee.dao.business.model.JkIccard; |
| | |
| | | |
| | | void updateStatusById(JkIccard jkIccard); |
| | | |
| | | Integer getMemberIdByCode(String code); |
| | | Integer getMemberIdByCode(QueryUserByCodeDTO dto); |
| | | } |
| | |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import io.swagger.models.auth.In; |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.checkerframework.checker.units.qual.C; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | package com.doumee.service.business.impl; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.doumee.biz.system.SystemDictDataBiz; |
| | | import com.doumee.core.constants.ResponseStatus; |
| | | import com.doumee.core.dingTalk.DingTalk; |
| | | import com.doumee.core.dingTalk.DingTalkStream; |
| | |
| | | import com.doumee.service.business.third.model.PageWrap; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import com.hikvision.artemis.sdk.config.ArtemisConfig; |
| | | import io.swagger.models.auth.In; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | private JkCabinetLogMapper jkCabinetLogMapper; |
| | | |
| | | @Autowired |
| | | private WarningMapper warningMapper; |
| | | private WarningEventMapper warningEventMapper; |
| | | |
| | | @Autowired |
| | | private MemberMapper memberMapper; |
| | | |
| | | @Autowired |
| | | private WarningMapper warningMapper; |
| | | @Autowired |
| | | private WarningRuleMapper warningRuleMapper; |
| | | |
| | | @Autowired |
| | | private WarningRuleDetailMapper warningRuleDetailMapper; |
| | | |
| | | @Autowired |
| | | private WarningPushMapper warningPushMapper; |
| | | |
| | | @Autowired |
| | | private SystemDictDataBiz systemDictDataBiz; |
| | | |
| | | @Autowired |
| | | private DingTalk dingTalk; |
| | |
| | | MPJLambdaWrapper<JkCabinetGrid> wrapper = new MPJLambdaWrapper<JkCabinetGrid>() |
| | | .selectAll(JkCabinetGrid.class) |
| | | .selectAs(JkCabinet::getName,JkCabinetGrid::getCabinetName) |
| | | .selectAs(JkKeys::getCode,JkCabinetGrid::getKeyCode) |
| | | .selectAs(JkKeys::getRfidLable,JkCabinetGrid::getKeyCode) |
| | | .leftJoin(JkCabinet.class,JkCabinet::getId,JkCabinetGrid::getCabinetId) |
| | | .leftJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId) |
| | | .eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) |
| | |
| | | } |
| | | List<JkCabinetGrid> jkCabinetGridList = jkCabinetGridMapper.selectJoinList(JkCabinetGrid.class, |
| | | new MPJLambdaWrapper<JkCabinetGrid>().selectAll(JkCabinetGrid.class) |
| | | .selectAs(JkKeys::getCode,JkCabinetGrid::getKeyCode) |
| | | .selectAs(JkKeys::getRfidLable,JkCabinetGrid::getKeyCode) |
| | | .selectAs(JkKeys::getCarCode,JkCabinetGrid::getCarCode) |
| | | .selectAs(JkKeys::getCarId,JkCabinetGrid::getCarId) |
| | | .leftJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId) |
| | |
| | | jkCabinetLog.setAuthType(Constants.TWO); |
| | | jkCabinetLog.setMemberId(loginUserInfo.getMemberId()); |
| | | jkCabinetLog.setStatus(Constants.ZERO); |
| | | jkCabinetLog.setIsNotice(Constants.ZERO); |
| | | jkCabinetLog.setInfo(Objects.isNull(dto.getOpenType())||Constants.equalsInteger(dto.getOpenType(),Constants.ZERO)?"ç³»ç»å¼å¯":"æå¨å¼å¯"); |
| | | if(Objects.nonNull(jkCabinetGrid.getKeyId())){ |
| | | jkCabinetLog.setKeyId(jkCabinetGrid.getKeyId()); |
| | | JkKeys jkKeys = jkKeysMapper.selectById(jkCabinetGrid.getKeyId()); |
| | |
| | | jkCabinetLog.setType(Constants.ZERO); |
| | | jkCabinetLogs.add(jkCabinetLog); |
| | | } |
| | | |
| | | jkCabinetLogMapper.insert(jkCabinetLogs); |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | } |
| | | jkCabinetLog.setIsNotice(Constants.ZERO); |
| | | jkCabinetLog.setType(Constants.ONE); |
| | | jkCabinetLogMapper.insert(jkCabinetLog); |
| | | //æ¥è¯¢é¥åçå¼é¨è®°å½ è¿è¡æ·»å å
³é¨è®°å½ä¸»é® |
| | | jkCabinetLogMapper.update(null,new UpdateWrapper<JkCabinetLog>().lambda() |
| | | .set(JkCabinetLog::getCloseLogId,jkCabinetLog.getId()) |
| | | .eq(JkCabinetLog::getKeyId,jkCabinetLog.getKeyId()) |
| | | .eq(JkCabinetLog::getType,Constants.ZERO) |
| | | .isNull(JkCabinetLog::getCloseLogId)); |
| | | if(Constants.equalsInteger(dto.getKeyStatus(),Constants.ONE)){ |
| | | jkCabinetLogMapper.update(null,new UpdateWrapper<JkCabinetLog>().lambda() |
| | | .set(JkCabinetLog::getCloseLogId,jkCabinetLog.getId()) |
| | | .eq(JkCabinetLog::getKeyId,jkCabinetLog.getKeyId()) |
| | | .eq(JkCabinetLog::getType,Constants.ONE) |
| | | .eq(JkCabinetLog::getKeyStatus,Constants.TWO) |
| | | .isNull(JkCabinetLog::getCloseLogId)); |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | // public void saveAbnormalOpenGridLog(AbnormalOpenGridDTO dto){ |
| | | // if(Objects.isNull(dto) |
| | | // || StringUtils.isBlank(dto.getBoardCode()) |
| | | // || StringUtils.isBlank(dto.getBoardCode()) |
| | | // || Objects.isNull(dto.getCabinetId()) |
| | | // || Objects.isNull(dto.getKeyStatus()) |
| | | // || Objects.isNull(dto.getAuthType()) |
| | | // ){ |
| | | // throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | // } |
| | | // JkCabinetGrid jkCabinetGrid = jkCabinetGridMapper.selectOne(new QueryWrapper<JkCabinetGrid>().lambda().eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) |
| | | // .eq(JkCabinetGrid::getCabinetId,dto.getCabinetId()) |
| | | // .eq(JkCabinetGrid::getId,dto.getGridId()) |
| | | // .last(" limit 1 ") |
| | | // ); |
| | | // JkCabinetLog jkCabinetLog = new JkCabinetLog(); |
| | | // jkCabinetLog.setCreateDate(new Date()); |
| | | // jkCabinetLog.setIsdeleted(Constants.ZERO); |
| | | // jkCabinetLog.setCabinetId(dto.getCabinetId()); |
| | | // jkCabinetLog.setGridId(jkCabinetGrid.getId()); |
| | | // jkCabinetLog.setAuthType(dto.getAuthType()); |
| | | // jkCabinetLog.setMemberId(dto.getMemberId()); |
| | | // jkCabinetLog.setKeyStatus(Constants.ZERO); |
| | | // jkCabinetLog.setStatus(Constants.ZERO); |
| | | // |
| | | // } |
| | | |
| | | |
| | | /** |
| | |
| | | } |
| | | jkCabinetGridList = jkCabinetGridMapper.selectJoinList(JkCabinetGrid.class, |
| | | new MPJLambdaWrapper<JkCabinetGrid>().selectAll(JkCabinetGrid.class) |
| | | .selectAs(JkKeys::getCode,JkCabinetGrid::getKeyCode) |
| | | .selectAs(JkKeys::getRfidLable,JkCabinetGrid::getKeyCode) |
| | | .selectAs(JkKeys::getCarCode,JkCabinetGrid::getCarCode) |
| | | .selectAs(JkKeys::getCarId,JkCabinetGrid::getCarId) |
| | | .selectAs(JkKeys::getStatus,JkCabinetGrid::getKeyStatus) |
| | |
| | | if(Objects.isNull(jkCabinetGrid)){ |
| | | return ; |
| | | } |
| | | // LoginUserInfo loginUserInfo = openGridDriverDTO.getLoginUserInfo(); |
| | | JkCabinetLog jkCabinetLog = new JkCabinetLog(); |
| | | jkCabinetLog.setCreateDate(new Date()); |
| | | // jkCabinetLog.setCreator(loginUserInfo.getId()); |
| | | jkCabinetLog.setIsdeleted(Constants.ZERO); |
| | | jkCabinetLog.setCabinetId(openGridDriverDTO.getCabinetId()); |
| | | jkCabinetLog.setGridId(jkCabinetGrid.getId()); |
| | |
| | | jkCabinetLog.setMemberId(openGridDriverDTO.getMemberId()); |
| | | jkCabinetLog.setType(Constants.ZERO); |
| | | jkCabinetLog.setStatus(Constants.ZERO); |
| | | jkCabinetLog.setInfo(Objects.isNull(openGridDriverDTO.getOpenType())||Constants.equalsInteger(openGridDriverDTO.getOpenType(),Constants.ZERO)?"ç³»ç»å¼å¯":"æå¨å¼å¯"); |
| | | if(Objects.nonNull(jkCabinetGrid.getKeyId())){ |
| | | jkCabinetLog.setKeyId(jkCabinetGrid.getKeyId()); |
| | | JkKeys jkKeys = jkKeysMapper.selectById(jkCabinetGrid.getKeyId()); |
| | |
| | | jkCabinetLog.setRoleType(jkKeys.getRoleType()); |
| | | } |
| | | } |
| | | jkCabinetLog.setIsNotice(Constants.ZERO); |
| | | jkCabinetLogMapper.insert(jkCabinetLog); |
| | | } |
| | | |
| | |
| | | .eq(JkCabinetGrid::getId,dto.getGridId()) |
| | | .last(" limit 1 ") |
| | | ); |
| | | |
| | | if(Objects.nonNull(jkCabinetGrid)){ |
| | | log.error("ææ ¼å¼é¨è¶
æ¶æªå
³éåè¦ä¿¡æ¯ï¼{}"+JSONObject.toJSONString(jkCabinetGrid)); |
| | | //è§åç±»å |
| | | Constants.WarningConfig warningConfig = Constants.WarningConfig.GRID_TIME_OUT_INFO; |
| | | Warning warning = warningMapper.selectOne(new QueryWrapper<Warning>().lambda() |
| | | .eq(Warning::getType,Constants.THREE).eq(Warning::getCode,Constants.WarningConfig.GRID_TIME_OUT_INFO.getKey()).eq(Warning::getIsdeleted,Constants.ZERO).last("limt 1")); |
| | | .eq(Warning::getIsdeleted,Constants.ZERO) |
| | | .eq(Warning::getStatus,Constants.ONE) |
| | | .eq(Warning::getCode,warningConfig.getKey()) |
| | | .last("limit 1") |
| | | ); |
| | | if(Objects.isNull(warning)){ |
| | | return; |
| | | } |
| | | List<Member> memberList = this.getWarningList(warning); |
| | | if(CollectionUtils.isEmpty(memberList)){ |
| | | List<Integer> ruleIdList = this.processWarnFront(warningConfig); |
| | | if(CollectionUtils.isEmpty(ruleIdList)){ |
| | | return; |
| | | } |
| | | //todo åå¨å¼å¸¸æ¥å¿ |
| | | for (Integer ruleId:ruleIdList) { |
| | | WarningRule warningRule = warningRuleMapper.selectById(ruleId); |
| | | if(Objects.isNull(warningRule)){ |
| | | continue; |
| | | } |
| | | List<Member> memberList = this.getWarningRuleMemberList(warningRule); |
| | | if(CollectionUtils.isEmpty(memberList)){ |
| | | return; |
| | | } |
| | | |
| | | String content = "ãé¥åæ-"+jkCabinetGrid.getCabinetName()+"ãä¸ãææ ¼-"+jkCabinetGrid.getCode()+"ãè¶
æ¶æªå
³é"; |
| | | |
| | | }else{ |
| | | JkCabinet jkCabinet = jkCabinetMapper.selectById(dto.getCabinetId()); |
| | | //å卿¥è¦å¼å¸¸è®°å½ |
| | | WarningEvent warningEvent = new WarningEvent(); |
| | | warningEvent.setCreateDate(new Date()); |
| | | warningEvent.setWarningId(warning.getId()); |
| | | warningEvent.setTitle(warningConfig.getInfo()); |
| | | warningEvent.setContent(content ); |
| | | warningEvent.setStatus(Constants.ZERO); |
| | | warningEvent.setRegion(Objects.nonNull(jkCabinet)&&StringUtils.isNotBlank(jkCabinet.getLocation())?jkCabinet.getLocation():"æªç¥ä½ç½®"); |
| | | warningEventMapper.insert(warningEvent); |
| | | |
| | | } |
| | | } |
| | | } |
| | | try { |
| | | // åå¨å¼å¸¸éç¥æ¥å¿ |
| | | WarningPush warningPush = new WarningPush(); |
| | | warningPush.setCreateDate(new Date()); |
| | | warningPush.setIsdeleted(Constants.ZERO); |
| | | warningPush.setWarningId(warning.getId()); |
| | | warningPush.setTitle(warningConfig.getInfo()); |
| | | warningPush.setContent(content); |
| | | warningPush.setStatus(Constants.ZERO); |
| | | warningPush.setPushType(Constants.ZERO); |
| | | warningPush.setRegion(Objects.nonNull(jkCabinet)&&StringUtils.isNotBlank(jkCabinet.getLocation())?jkCabinet.getLocation():"æªç¥ä½ç½®"); |
| | | warningPush.setMemberIds( |
| | | StringUtils.join(memberList.stream().map(i->i.getId()).collect(Collectors.toList()),",") |
| | | ); |
| | | warningPush.setMemberIds( |
| | | StringUtils.join(memberList.stream().map(i->i.getId()).collect(Collectors.toList()),",") |
| | | ); |
| | | warningPush.setMemberNames(StringUtils.join(memberList.stream().map(i->i.getName()).collect(Collectors.toList()),",") |
| | | ); |
| | | //todo ææ¶å
³é éééç¥ |
| | | |
| | | // Boolean noticeFlag = dingTalk.workInfoOANotice(Long.valueOf(systemDictDataBiz.queryByCode(Constants.DD_TALK,Constants.AGENT_ID).getCode()), |
| | | // StringUtils.join(memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList()),","), |
| | | // dingTalk.getAlarmNoticeMsg(warningPush.getRegion(),DateUtil.getCurrDateTime(),content)); |
| | | // warningPush.setStatus(noticeFlag?Constants.ONE:Constants.TWO); |
| | | warningPushMapper.insert(warningPush); |
| | | warningEvent.setStatus(Constants.ONE); |
| | | warningEventMapper.updateById(warningEvent); |
| | | }catch (Exception e){ |
| | | warningEvent.setStatus(Constants.TWO); |
| | | warningEventMapper.updateById(warningEvent); |
| | | } |
| | | |
| | | public List<Member> getWarningList(Warning warning){ |
| | | if(Constants.equalsInteger(warning.getStatus(),Constants.ZERO)){ |
| | | return null; |
| | | } |
| | | //æ¥è¯¢éç¥äººå |
| | | List<WarningRule> warningRuleList = warningRuleMapper.selectList(new QueryWrapper<WarningRule>().lambda() |
| | | .eq(WarningRule::getIsdeleted,Constants.ZERO) |
| | | .apply(" id in ( select w.RULE_ID from warning_rule_detail w where w.WARNING_ID = '"+warning.getId()+"' and w.ISDELETED = 0 ) ") |
| | | ); |
| | | List<Member> memberList = new ArrayList<>(); |
| | | if(org.apache.commons.collections.CollectionUtils.isNotEmpty(warningRuleList)){ |
| | | List<String> memberIdStr = warningRuleList.stream().map(i->i.getMemberIds()).collect(Collectors.toList()); |
| | | if(org.apache.commons.collections.CollectionUtils.isNotEmpty(memberIdStr)){ |
| | | List<String> memberIdList = new ArrayList<>(); |
| | | for (String s:memberIdStr) { |
| | | memberIdList.addAll( |
| | | Arrays.asList(s.split(",")) |
| | | ); |
| | | } |
| | | memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda().eq(Member::getIsdeleted,Constants.ZERO) |
| | | .notIn(Member::getErpId) |
| | | .in(Member::getId,memberIdList) |
| | | ); |
| | | |
| | | } |
| | | } |
| | | return memberList; |
| | | } |
| | | |
| | | |
| | | public List<Integer> processWarnFront(Constants.WarningConfig warningConfig){ |
| | | List<WarningRuleDetail> warningRuleDetailList = warningRuleDetailMapper.selectJoinList(WarningRuleDetail.class,new MPJLambdaWrapper<WarningRuleDetail>() |
| | | .selectAll(WarningRuleDetail.class) |
| | | .leftJoin(Warning.class,Warning::getId,WarningRuleDetail::getWarningId) |
| | | .eq(WarningRuleDetail::getIsdeleted,Constants.ZERO) |
| | | .eq(Warning::getIsdeleted,Constants.ZERO) |
| | | .eq(Warning::getStatus,Constants.ONE) |
| | | .eq(Warning::getCode,warningConfig.getKey()) |
| | | ); |
| | | if(CollectionUtils.isEmpty(warningRuleDetailList)){ |
| | | return new ArrayList<>(); |
| | | } |
| | | //æææ¥è¦è§åé
ç½®ä¿¡æ¯ |
| | | List<Integer> ruleIdList = warningRuleDetailList.stream().map(i->i.getRuleId()).collect(Collectors.toList());; |
| | | Set<Integer> ruleIdSet = new HashSet<>(ruleIdList); |
| | | if(CollectionUtils.isNotEmpty(ruleIdSet)){ |
| | | List<Integer> resultList = new ArrayList<>(); |
| | | for (Integer ruleId:ruleIdSet) { |
| | | WarningRule warningRule = warningRuleMapper.selectById(ruleId); |
| | | //æ¥è¯¢å
¶ä»è§åä¿¡æ¯ |
| | | List<WarningRuleDetail> warningRuleDetails = warningRuleDetailMapper.selectJoinList(WarningRuleDetail.class,new MPJLambdaWrapper<WarningRuleDetail>() |
| | | .selectAll(WarningRuleDetail.class) |
| | | .selectAs(Warning::getCode,WarningRuleDetail::getCode) |
| | | .leftJoin(Warning.class,Warning::getId,WarningRuleDetail::getWarningId) |
| | | .eq(WarningRuleDetail::getIsdeleted,Constants.ZERO) |
| | | .eq(Warning::getIsdeleted,Constants.ZERO) |
| | | .eq(Warning::getStatus,Constants.ONE) |
| | | .eq(WarningRuleDetail::getRuleId,ruleId) |
| | | .in(Warning::getCode,Constants.WarningConfig.ALARM_TEST.getKey(), |
| | | Constants.WarningConfig.GRID_TIME_OUT_INFO.getKey(), |
| | | Constants.WarningConfig.KEY_TIME_OUT_BACK.getKey() |
| | | ) |
| | | ); |
| | | //æ ä»»ä½è§å ç´æ¥è·³è¿ |
| | | if(CollectionUtils.isEmpty(warningRuleDetails)){ |
| | | return resultList; |
| | | }else if(!Constants.equalsInteger(warningRuleDetails.stream().filter(i->!i.getCode().equals(warningConfig.getKey())).collect(Collectors.toList()).size(),Constants.ZERO)){ |
| | | List<WarningRuleDetail> wList = warningRuleDetails.stream().filter(i->!i.getCode().equals(warningConfig.getKey())).collect(Collectors.toList()); |
| | | //è·åææå
¶ä»ææäºä»¶ä¸»é®ä¿¡æ¯ |
| | | List<Integer> warningIdList = wList.stream().map(i->i.getWarningId()).collect(Collectors.toList()); |
| | | Set<Integer> setWarningIdList = new HashSet<>(warningIdList); |
| | | //è·åæ¶é´å
ææäºä»¶ä¿¡æ¯ |
| | | List<WarningEvent> warningEventList = warningEventMapper.selectList(new QueryWrapper<WarningEvent>().lambda() |
| | | .eq(WarningEvent::getIsdeleted,Constants.ZERO) |
| | | .in(WarningEvent::getWarningId,setWarningIdList) |
| | | .apply(" DATE_ADD(CREATE_DATE , INTERVAL "+warningRule.getIntervalSec()+" SECOND) > now() ") |
| | | ); |
| | | if(this.processWarnFlag(wList,warningEventList)){ |
| | | resultList.add(ruleId); |
| | | }; |
| | | }else{ |
| | | List<WarningRuleDetail> wList = warningRuleDetails.stream().filter(i->i.getCode().equals(warningConfig.getKey())).collect(Collectors.toList()); |
| | | //è·åæ¬æ¬¡äºä»¶ä¸»é®ä¿¡æ¯ |
| | | List<Integer> warningIdList = wList.stream().map(i->i.getWarningId()).collect(Collectors.toList()); |
| | | Set<Integer> setWarningIdList = new HashSet<>(warningIdList); |
| | | //è·åæ¶é´å
ææäºä»¶ä¿¡æ¯ |
| | | List<WarningEvent> warningEventList = warningEventMapper.selectList(new QueryWrapper<WarningEvent>().lambda() |
| | | .eq(WarningEvent::getIsdeleted,Constants.ZERO) |
| | | .in(WarningEvent::getWarningId,setWarningIdList) |
| | | .apply(" DATE_ADD(CREATE_DATE , INTERVAL "+warningRule.getIntervalSec()+" SECOND) > now() ") |
| | | ); |
| | | if(this.processWarnFlag(wList,warningEventList)){ |
| | | resultList.add(ruleId); |
| | | } |
| | | } |
| | | } |
| | | return resultList; |
| | | } |
| | | return new ArrayList<>(); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 夿å¤çæ¯å¦å¯ä»¥åééç¥ å½ååè¦é
ç½®çæ°æ®å表æ¯å¦æ»¡è¶³ |
| | | * @param warningRuleDetails |
| | | * @return |
| | | */ |
| | | public boolean processWarnFlag(List<WarningRuleDetail> warningRuleDetails,List<WarningEvent> warningEventList){ |
| | | if(CollectionUtils.isEmpty(warningEventList)){ |
| | | return false; |
| | | } |
| | | for (WarningRuleDetail warningRuleDetail:warningRuleDetails) { |
| | | if(Objects.nonNull(warningRuleDetail.getRegionId())){ |
| | | if(warningEventList.stream().filter(i->Constants.equalsInteger(i.getWarningId(),warningRuleDetail.getWarningId()) |
| | | && StringUtils.isNotBlank(i.getRegionId()) && i.getRegionId().equals(warningRuleDetail.getRegionId()) |
| | | ).collect(Collectors.toList()).size()<=Constants.ZERO){ |
| | | return false; |
| | | } |
| | | }else{ |
| | | if(warningEventList.stream().filter(i->Constants.equalsInteger(i.getWarningId(),warningRuleDetail.getWarningId()) |
| | | ).collect(Collectors.toList()).size()<=Constants.ZERO){ |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | |
| | | public List<Member> getWarningRuleMemberList(WarningRule warningRule){ |
| | | List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda().eq(Member::getIsdeleted,Constants.ZERO) |
| | | .isNotNull(Member::getErpId) |
| | | .in(Member::getId,Arrays.asList(warningRule.getMemberIds().split(","))) |
| | | ); |
| | | return memberList; |
| | | } |
| | | |
| | | |
| | | @Override |
| | |
| | | .last(" limit 1 ") |
| | | ); |
| | | |
| | | JkCabinet jkCabinet = jkCabinetMapper.selectById(dto.getCabinetId()); |
| | | Constants.WarningConfig warningConfig = Constants.WarningConfig.ALARM_TEST; |
| | | Warning warning = warningMapper.selectOne(new QueryWrapper<Warning>().lambda() |
| | | .eq(Warning::getType,Constants.THREE).eq(Warning::getCode,Constants.WarningConfig.KEY_TIME_OUT_BACK.getKey()).eq(Warning::getIsdeleted,Constants.ZERO).last("limt 1")); |
| | | .eq(Warning::getIsdeleted,Constants.ZERO) |
| | | .eq(Warning::getStatus,Constants.ONE) |
| | | .eq(Warning::getCode,warningConfig.getKey()) |
| | | .last("limit 1") |
| | | ); |
| | | if(Objects.isNull(warning)){ |
| | | return; |
| | | } |
| | | List<Member> memberList = this.getWarningList(warning); |
| | | if(CollectionUtils.isEmpty(memberList)){ |
| | | List<Integer> ruleIdList = this.processWarnFront(warningConfig); |
| | | if(CollectionUtils.isEmpty(ruleIdList)){ |
| | | return; |
| | | } |
| | | //todo åå¨å¼å¸¸æ¥å¿ |
| | | if(CollectionUtils.isEmpty(ruleIdList)){ |
| | | return; |
| | | } |
| | | for (Integer ruleId:ruleIdList) { |
| | | WarningRule warningRule = warningRuleMapper.selectById(ruleId); |
| | | if (Objects.isNull(warningRule)) { |
| | | continue; |
| | | } |
| | | List<Member> memberList = this.getWarningRuleMemberList(warningRule); |
| | | |
| | | //åå¨å¼å¸¸æ¥å¿ |
| | | if(Objects.nonNull(systemUser)){ |
| | | log.error("叿ºé
ç²¾æ£æµï¼è¶
åºé
ç²¾å¼åè¦ä¿¡æ¯ï¼{}"+JSONObject.toJSONString(systemUser)); |
| | | String content = ""; |
| | | if(Objects.nonNull(systemUser.getRealname())){ |
| | | content = content + systemUser.getRealname(); |
| | | } |
| | | if(Objects.nonNull(jkCabinet)){ |
| | | content = content + "äº"+jkCabinet.getName()+"é¥åæ"; |
| | | } |
| | | content = content + "é
ç²¾æ£æµå¼å¸¸"; |
| | | if(Objects.nonNull(dto.getAlcoholNum())){ |
| | | content = content + "ï¼é
精度æ°ã"+dto.getAlcoholNum()+"°ã"; |
| | | } |
| | | |
| | | //å卿¥è¦å¼å¸¸è®°å½ |
| | | WarningEvent warningEvent = new WarningEvent(); |
| | | warningEvent.setCreateDate(new Date()); |
| | | warningEvent.setWarningId(warning.getId()); |
| | | warningEvent.setTitle(warningConfig.getInfo()); |
| | | warningEvent.setContent(content ); |
| | | warningEvent.setStatus(Constants.ZERO); |
| | | warningEvent.setRegion(Objects.nonNull(jkCabinet)&&StringUtils.isNotBlank(jkCabinet.getLocation())?jkCabinet.getLocation():"æªç¥ä½ç½®"); |
| | | warningEventMapper.insert(warningEvent); |
| | | |
| | | try{ |
| | | WarningPush warningPush = new WarningPush(); |
| | | warningPush.setCreateDate(new Date()); |
| | | warningPush.setIsdeleted(Constants.ZERO); |
| | | warningPush.setWarningId(warning.getId()); |
| | | warningPush.setTitle(warningConfig.getInfo()); |
| | | warningPush.setContent(content); |
| | | warningPush.setStatus(Constants.ZERO); |
| | | warningPush.setPushType(Constants.ZERO); |
| | | warningPush.setRegion(Objects.nonNull(jkCabinet)&&StringUtils.isNotBlank(jkCabinet.getLocation())?jkCabinet.getLocation():"æªç¥ä½ç½®"); |
| | | warningPush.setMemberId(dto.getMemberId()); |
| | | warningPush.setMemberIds( |
| | | StringUtils.join(memberList.stream().map(i->i.getId()).collect(Collectors.toList()),",") |
| | | ); |
| | | warningPush.setMemberIds( |
| | | StringUtils.join(memberList.stream().map(i->i.getId()).collect(Collectors.toList()),",") |
| | | ); |
| | | warningPush.setMemberNames(StringUtils.join(memberList.stream().map(i->i.getName()).collect(Collectors.toList()),",") |
| | | ); |
| | | //todo ææ¶å
³é éééç¥ |
| | | // Boolean noticeFlag = dingTalk.workInfoOANotice(Long.valueOf(systemDictDataBiz.queryByCode(Constants.DD_TALK,Constants.AGENT_ID).getCode()), |
| | | // StringUtils.join(memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList()),","), |
| | | // dingTalk.getAlarmNoticeMsg(warningPush.getRegion(),DateUtil.getCurrDateTime(),warningConfig.getInfo())); |
| | | // warningPush.setStatus(noticeFlag?Constants.ONE:Constants.TWO); |
| | | warningPushMapper.insert(warningPush); |
| | | warningEvent.setStatus(Constants.ONE); |
| | | warningEventMapper.updateById(warningEvent); |
| | | }catch (Exception e){ |
| | | warningEvent.setStatus(Constants.TWO); |
| | | warningEventMapper.updateById(warningEvent); |
| | | } |
| | | |
| | | |
| | | //åå¨å¼å¸¸æ¥å¿ |
| | | if(Objects.nonNull(systemUser)){ |
| | | log.error("叿ºé
ç²¾æ£æµï¼è¶
åºé
ç²¾å¼åè¦ä¿¡æ¯ï¼{}"+JSONObject.toJSONString(systemUser)); |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | package com.doumee.service.business.impl; |
| | | |
| | | import cn.hutool.core.bean.BeanUtil; |
| | | import com.doumee.biz.system.SystemDictDataBiz; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.dao.business.*; |
| | | import com.doumee.dao.business.dto.TelecomCabinetLogDTO; |
| | | import com.doumee.dao.business.model.*; |
| | | import com.doumee.dao.business.vo.TelecomJkCabinetLogVO; |
| | | import com.doumee.service.business.third.model.PageData; |
| | | import com.doumee.service.business.third.model.PageWrap; |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.dao.business.JkCabinetLogMapper; |
| | | import com.doumee.service.business.JkCabinetLogService; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * é¥åæå¼å
³é¨è®°å½Serviceå®ç° |
| | |
| | | @Autowired |
| | | private JkCabinetLogMapper jkCabinetLogMapper; |
| | | |
| | | @Autowired |
| | | private WarningMapper warningMapper; |
| | | @Autowired |
| | | private WarningRuleMapper warningRuleMapper; |
| | | |
| | | @Autowired |
| | | private WarningPushMapper warningPushMapper; |
| | | |
| | | @Autowired |
| | | private WarningEventMapper warningEventMapper; |
| | | @Autowired |
| | | private SystemDictDataBiz systemDictDataBiz; |
| | | @Override |
| | | public Integer create(JkCabinetLog jkCabinetLog) { |
| | | jkCabinetLogMapper.insert(jkCabinetLog); |
| | |
| | | .ge(Objects.nonNull(model.getStartDate()),JkCabinetLog::getCreateDate, Utils.Date.getStart(model.getStartDate())) |
| | | .le(Objects.nonNull(model.getEndDate()),JkCabinetLog::getCreateDate, Utils.Date.getEnd(model.getEndDate())) |
| | | .eq(JkCabinetLog::getIsdeleted, Constants.ZERO) |
| | | .eq(JkCabinetLog::getType,Constants.ONE) |
| | | .eq(JkCabinetLog::getKeyStatus,Constants.TWO) |
| | | .orderByDesc(JkCabinetLog::getCreateDate); |
| | | List<JkCabinetLog> jkCabinetLogs = jkCabinetLogMapper.selectJoinList(JkCabinetLog.class,wrapper); |
| | |
| | | |
| | | |
| | | |
| | | @Override |
| | | public void timeOutUnBackAlarm(JkCabinetGridServiceImpl impl){ |
| | | Constants.WarningConfig warningConfig = Constants.WarningConfig.KEY_TIME_OUT_BACK; |
| | | Warning warning = warningMapper.selectOne(new QueryWrapper<Warning>().lambda() |
| | | .eq(Warning::getIsdeleted,Constants.ZERO) |
| | | .eq(Warning::getStatus,Constants.ONE) |
| | | .eq(Warning::getCode,warningConfig.getKey()) |
| | | .last("limit 1") |
| | | ); |
| | | if(Objects.isNull(warning)){ |
| | | return; |
| | | } |
| | | MPJLambdaWrapper<JkCabinetLog> wrapper = new MPJLambdaWrapper<JkCabinetLog>() |
| | | .selectAll(JkCabinetLog.class) |
| | | .selectAs(Member::getName,JkCabinetLog::getMemberName) |
| | | .selectAs(JkKeys::getCode,JkCabinetLog::getCarCode) |
| | | .selectAs(JkCabinet::getLocation,JkCabinetLog::getLocation) |
| | | .leftJoin(JkCabinet.class,JkCabinet::getId,JkCabinetLog::getCabinetId) |
| | | .leftJoin(JkKeys.class,JkKeys::getId,JkCabinetLog::getKeyId) |
| | | .leftJoin(Member.class,Member::getId,JkCabinetLog::getMemberId) |
| | | .eq(JkCabinetLog::getIsdeleted,Constants.ZERO) |
| | | .eq(JkCabinetLog::getType,Constants.ONE) |
| | | .eq(JkCabinetLog::getIsNotice,Constants.ZERO) |
| | | .eq(JkKeys::getStatus,Constants.TWO) |
| | | .isNull(JkCabinetLog::getCloseLogId) |
| | | .apply(" now() > DATE_ADD(t.CREATE_DATE, INTERVAL ifnull(t1.USE_TIME,0) MINUTE) ") |
| | | .orderByDesc(JkCabinetLog::getCreateDate); |
| | | List<JkCabinetLog> jkCabinetLogs = jkCabinetLogMapper.selectJoinList(JkCabinetLog.class,wrapper); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(jkCabinetLogs)){ |
| | | List<Integer> ruleIdList = impl.processWarnFront(warningConfig); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(ruleIdList)){ |
| | | return; |
| | | } |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(ruleIdList)){ |
| | | return; |
| | | } |
| | | for (Integer ruleId:ruleIdList) { |
| | | WarningRule warningRule = warningRuleMapper.selectById(ruleId); |
| | | if (Objects.isNull(warningRule)) { |
| | | continue; |
| | | } |
| | | List<Member> memberList = impl.getWarningRuleMemberList(warningRule); |
| | | if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(memberList)) { |
| | | return; |
| | | } |
| | | for (JkCabinetLog jkCabinetLog:jkCabinetLogs) { |
| | | |
| | | String content = "ã车è¾-"+jkCabinetLog.getCarCode()+"é¥åãç±+"+(StringUtils.isNotBlank(jkCabinetLog.getMemberName())?jkCabinetLog.getMemberName():"æªç¥äººå")+"ååºï¼è¶
æ¶æªå½è¿"; |
| | | |
| | | //å卿¥è¦å¼å¸¸è®°å½ |
| | | WarningEvent warningEvent = new WarningEvent(); |
| | | warningEvent.setCreateDate(new Date()); |
| | | warningEvent.setWarningId(warning.getId()); |
| | | warningEvent.setTitle(warningConfig.getInfo()); |
| | | warningEvent.setContent(content ); |
| | | warningEvent.setStatus(Constants.ZERO); |
| | | warningEvent.setRegion( StringUtils.isNotBlank(jkCabinetLog.getLocation())?jkCabinetLog.getLocation():"æªç¥ä½ç½®"); |
| | | warningEventMapper.insert(warningEvent); |
| | | |
| | | |
| | | try { |
| | | WarningPush warningPush = new WarningPush(); |
| | | warningPush.setCreateDate(new Date()); |
| | | warningPush.setIsdeleted(Constants.ZERO); |
| | | warningPush.setWarningId(warning.getId()); |
| | | warningPush.setTitle(warningConfig.getInfo()); |
| | | |
| | | warningPush.setContent(content); |
| | | warningPush.setStatus(Constants.ZERO); |
| | | warningPush.setPushType(Constants.ZERO); |
| | | warningPush.setRegion(StringUtils.isNotBlank(jkCabinetLog.getLocation()) ? jkCabinetLog.getLocation() : "æªç¥ä½ç½®"); |
| | | warningPush.setMemberIds( |
| | | StringUtils.join(memberList.stream().map(i -> i.getId()).collect(Collectors.toList()), ",") |
| | | ); |
| | | warningPush.setMemberIds( |
| | | StringUtils.join(memberList.stream().map(i -> i.getId()).collect(Collectors.toList()), ",") |
| | | ); |
| | | warningPush.setMemberNames(StringUtils.join(memberList.stream().map(i -> i.getName()).collect(Collectors.toList()), ",") |
| | | ); |
| | | //todo ææ¶å
³é éééç¥ |
| | | |
| | | // Boolean noticeFlag = dingTalk.workInfoOANotice(Long.valueOf(systemDictDataBiz.queryByCode(Constants.DD_TALK,Constants.AGENT_ID).getCode()), |
| | | // StringUtils.join(memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList()),","), |
| | | // dingTalk.getAlarmNoticeMsg(warningPush.getRegion(),DateUtil.getCurrDateTime(),content)); |
| | | // warningPush.setStatus(noticeFlag?Constants.ONE:Constants.TWO); |
| | | warningPushMapper.insert(warningPush); |
| | | warningEvent.setStatus(Constants.ONE); |
| | | warningEventMapper.updateById(warningEvent); |
| | | }catch (Exception e){ |
| | | warningEvent.setStatus(Constants.TWO); |
| | | warningEventMapper.updateById(warningEvent); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | || Objects.isNull(jkCabinet.getSortType()) |
| | | || ( |
| | | Constants.equalsInteger(jkCabinet.getNoType(),Constants.ONE) |
| | | && ( Objects.isNull(jkCabinet.getNoIndex()) || Objects.isNull(jkCabinet.getNoLength()) || StringUtils.isBlank(jkCabinet.getNoPrefix()) ) |
| | | && ( Objects.isNull(jkCabinet.getNoIndex()) || Objects.isNull(jkCabinet.getNoLength()) ) |
| | | ) |
| | | ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | |
| | | if(Constants.equalsInteger(jkCabinet.getNoType(),Constants.ZERO)){ |
| | | grid.setCode(StringUtils.leftPad(startNo.toString(),maxNum.toString().length()+1,"0")); |
| | | }else{ |
| | | grid.setCode(jkCabinet.getNoPrefix() + StringUtils.leftPad(startNo.toString(),jkCabinet.getNoLength(),"0")); |
| | | grid.setCode(StringUtils.isNotBlank(jkCabinet.getNoPrefix())?jkCabinet.getNoPrefix():"" + StringUtils.leftPad(startNo.toString(),jkCabinet.getNoLength(),"0")); |
| | | } |
| | | |
| | | jkCabinetGridList.add(grid); |
| | |
| | | jkCabinetGridMapper.selectJoinList(JkCabinetGrid.class, new MPJLambdaWrapper<JkCabinetGrid>() |
| | | .selectAll(JkCabinetGrid.class) |
| | | .selectAs(JkKeys::getCarCode,JkCabinetGrid::getCarCode) |
| | | .selectAs(JkKeys::getCode,JkCabinetGrid::getKeyCode) |
| | | .selectAs(JkKeys::getRfidLable,JkCabinetGrid::getKeyCode) |
| | | .selectAs(JkKeys::getStatus,JkCabinetGrid::getKeyStatus) |
| | | .leftJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId) |
| | | .eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) |
| | |
| | | List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda() |
| | | .eq(Member::getIsdeleted,Constants.ZERO) |
| | | .isNotNull(Member::getFaceImg) |
| | | .apply(" FIND_IN_SET( id ,'"+jkCabinet.getManagerId()+"') ") |
| | | .apply(" FIND_IN_SET( id ,'"+jkCabinet.getAuthMemberId()+"') ") |
| | | ); |
| | | if(CollectionUtils.isNotEmpty(memberList)){ |
| | | for (Member member:memberList) { |
| | |
| | | .selectAll(JkCabinetGrid.class) |
| | | .selectAs(JkKeys::getCarCode,JkCabinetGrid::getCarCode) |
| | | .selectAs(JkKeys::getStatus,JkCabinetGrid::getKeyStatus) |
| | | .selectAs(JkKeys::getCode,JkCabinetGrid::getKeyCode) |
| | | .selectAs(JkKeys::getRfidLable,JkCabinetGrid::getKeyCode) |
| | | .leftJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId) |
| | | .eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) |
| | | .eq(JkCabinetGrid::getCabinetId,jkCabinet.getId()) |
| | |
| | | import com.doumee.core.exception.BusinessException; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.core.utils.DateUtil; |
| | | import com.doumee.dao.business.dto.QueryUserByCodeDTO; |
| | | import com.doumee.dao.business.model.*; |
| | | import com.doumee.dao.system.model.SystemUser; |
| | | import com.doumee.service.business.third.model.LoginUserInfo; |
| | |
| | | |
| | | |
| | | @Override |
| | | public Integer getMemberIdByCode(String code){ |
| | | public Integer getMemberIdByCode(QueryUserByCodeDTO dto){ |
| | | if(Objects.isNull(dto) |
| | | || Objects.isNull(dto.getUserType()) |
| | | || StringUtils.isBlank(dto.getCode())){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | JkIccard jkIccard = jkIccardMapper.selectOne(new QueryWrapper<JkIccard>().lambda() |
| | | .eq(JkIccard::getIsdeleted,Constants.ZERO) |
| | | .eq(JkIccard::getStatus,Constants.ONE) |
| | | .eq(JkIccard::getCode,code) |
| | | .eq(JkIccard::getUserType,dto.getUserType()) |
| | | .eq(JkIccard::getCode,dto.getCode()) |
| | | .last(" limit 1 ") |
| | | ); |
| | | if(Objects.isNull(jkIccard)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | if(!Constants.equalsInteger(jkIccard.getStatus(),Constants.ONE)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼å½åICå¡å·²è¢«ç¦ç¨ï¼"); |
| | | } |
| | | return jkIccard.getMemberId(); |
| | | |
| | | } |
| | |
| | | || Objects.isNull(jkKeys.getCarId()) |
| | | || Objects.isNull(jkKeys.getRoleType()) |
| | | || StringUtils.isBlank(jkKeys.getCode()) |
| | | || StringUtils.isBlank(jkKeys.getRfidLable()) |
| | | || StringUtils.isBlank(jkKeys.getRfidCode()) |
| | | ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | |
| | | if(Objects.nonNull(carsKeys)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"å½å车è¾å·²è¢«é¥å["+carsKeys.getCode()+"]ç»å®ä½¿ç¨ï¼"); |
| | | } |
| | | JkKeys rfidKeys = jkKeysMapper.selectOne(new QueryWrapper<JkKeys>().lambda().eq(JkKeys::getRfidLable,jkKeys.getRfidLable()).eq(JkKeys::getIsdeleted,Constants.ZERO).last("limit 1")); |
| | | JkKeys rfidKeys = jkKeysMapper.selectOne(new QueryWrapper<JkKeys>().lambda().eq(JkKeys::getRfidCode,jkKeys.getRfidCode()).eq(JkKeys::getIsdeleted,Constants.ZERO).last("limit 1")); |
| | | if(Objects.nonNull(rfidKeys)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"å½åRFIDæ ç¾å·²è¢«é¥å["+rfidKeys.getCode()+"]使ç¨ï¼"); |
| | | } |
| | | String lable = Constants.getRFIDNumber(jkKeys.getRfidCode()); |
| | | if(StringUtils.isEmpty(lable)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"RFIDæ ç¾è®¾ç½®å¤±è´¥ãæ ¼å¼ä¸æ£ç¡®ã"); |
| | | } |
| | | jkKeys.setRfidLable(lable); |
| | | LoginUserInfo loginUserInfo = jkKeys.getLoginUserInfo(); |
| | | jkKeys.setCreateDate(new Date()); |
| | | jkKeys.setEditDate(jkKeys.getCreateDate()); |
| | |
| | | || Objects.isNull(jkKeys.getCarId()) |
| | | || Objects.isNull(jkKeys.getRoleType()) |
| | | || StringUtils.isBlank(jkKeys.getCode()) |
| | | || StringUtils.isBlank(jkKeys.getRfidLable()) |
| | | || StringUtils.isBlank(jkKeys.getRfidCode()) |
| | | ){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | String lable = Constants.getRFIDNumber(jkKeys.getRfidCode()); |
| | | if(StringUtils.isEmpty(lable)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"RFIDæ ç¾è®¾ç½®å¤±è´¥ãæ ¼å¼ä¸æ£ç¡®ã"); |
| | | } |
| | | jkKeys.setRfidLable(lable); |
| | | //æ¥è¯¢ç¼å·æ¯å¦éå¤ |
| | | if(jkKeysMapper.selectCount(new QueryWrapper<JkKeys>().lambda().ne(JkKeys::getId,jkKeys.getId()).eq(JkKeys::getCode,jkKeys.getCode()).eq(JkKeys::getIsdeleted,Constants.ZERO))>Constants.ZERO){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"é¥åç¼å·å·²åå¨ï¼"); |
| | |
| | | if(Objects.nonNull(rfidKeys)){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"å½åRFIDæ ç¾å·²è¢«é¥å["+rfidKeys.getCode()+"]使ç¨ï¼"); |
| | | } |
| | | |
| | | LoginUserInfo loginUserInfo = jkKeys.getLoginUserInfo(); |
| | | jkKeys.setEditDate(new Date()); |
| | | jkKeys.setEditor(loginUserInfo.getId()); |
| | |
| | | .leftJoin(Category.class,Category::getId,JkLine::getCategoryId ) |
| | | .leftJoin(Cars.class,Cars::getId,JkLine::getCarId) |
| | | .and(StringUtils.isNotBlank(telecomLineInfoDTO.getSearchInfo()),i->i.like(Cars::getCode,telecomLineInfoDTO.getSearchInfo()).or().like(JkLine::getName,telecomLineInfoDTO.getSearchInfo())) |
| | | .eq(StringUtils.isNotBlank(telecomLineInfoDTO.getDateInfo()),JkSketch::getDateInfo, telecomLineInfoDTO.getDateInfo()) |
| | | .like(StringUtils.isNotBlank(telecomLineInfoDTO.getDateInfo()),JkSketch::getDateInfo, telecomLineInfoDTO.getDateInfo()) |
| | | .eq(Objects.nonNull(telecomLineInfoDTO.getCategoryId()),JkLine::getCategoryId, telecomLineInfoDTO.getCategoryId()) |
| | | .eq(Objects.nonNull(telecomLineInfoDTO.getLineId()),JkLine::getId, telecomLineInfoDTO.getLineId()); |
| | | |
| | |
| | | .select(" ifnull((select count(1) from jk_sketch_customer jc where jc.ISDELETED= 0 and jc.SKETCH_ID = t.id),0)" ,JkSketch::getCustomerNum) |
| | | .select(" ifnull((select count(1) from jk_sketch_line jc where jc.TYPE = 0 and jc.SKETCH_ID = t.id),0)" ,JkSketch::getBeforeLineNum) |
| | | .leftJoin(Category.class,Category::getId,JkSketch::getCategoryId ) |
| | | .eq(JkSketch::getDateInfo, telecomLineInfoDTO.getDateInfo()); |
| | | .like(JkSketch::getDateInfo, telecomLineInfoDTO.getDateInfo()); |
| | | List<JkSketch> sketchList = jkSketchMapper.selectJoinList(JkSketch.class,sketchMPJLambdaWrapper); |
| | | if(CollectionUtils.isEmpty(sketchList)){ |
| | | return telecomLineCountVO; |
| | |
| | | MPJLambdaWrapper<JkSketch> sketchMPJLambdaWrapper = new MPJLambdaWrapper<JkSketch>().selectAll(JkSketch.class ) |
| | | .selectAs(Category::getName,JkSketch::getCategoryName) |
| | | .leftJoin(Category.class,Category::getId,JkSketch::getCategoryId ) |
| | | .eq(JkSketch::getDateInfo, telecomLineInfoDTO.getDateInfo()); |
| | | .like(JkSketch::getDateInfo, telecomLineInfoDTO.getDateInfo()); |
| | | List<JkSketch> sketchList = jkSketchMapper.selectJoinList(JkSketch.class,sketchMPJLambdaWrapper); |
| | | if(CollectionUtils.isEmpty(sketchList)){ |
| | | return new ArrayList<TelecomCategoryDataVO>(); |
| | |
| | | .eq(Objects.nonNull(telecomLineInfoDTO.getCategoryId()),JkSketchLine::getCategoryId,telecomLineInfoDTO.getCategoryId()) |
| | | .eq(Objects.nonNull(telecomLineInfoDTO.getLineId()),JkSketchLine::getLineId,telecomLineInfoDTO.getLineId()) |
| | | .apply(" ( t.TYPE = t1.OPT_STATUS ) ") |
| | | .eq(JkSketch::getDateInfo, telecomLineInfoDTO.getDateInfo()); |
| | | .like(JkSketch::getDateInfo, telecomLineInfoDTO.getDateInfo()); |
| | | List<JkSketchLine> returnLineList = jkSketchLineMapper.selectJoinList(JkSketchLine.class,queryWrapper); |
| | | |
| | | // //ä¼ååæ°æ® |
| | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import org.apache.commons.lang.StringUtils; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | |
| | | <groupId>com.doumee</groupId> |
| | | <artifactId>dmvisit_service</artifactId> |
| | | <version>1.0.0-SNAPSHOT</version> |
| | | <exclusions> |
| | | <exclusion> |
| | | <groupId>com.google.protobuf</groupId> |
| | | <artifactId>protobuf-java</artifactId> |
| | | </exclusion> |
| | | </exclusions> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.google.protobuf</groupId> |
| | | <artifactId>protobuf-java</artifactId> |
| | | <version>4.31.1</version> |
| | | <scope>compile</scope> |
| | | </dependency> |
| | | </dependencies> |
| | | <build> |
| | |
| | | <dependency> |
| | | <groupId>com.alibaba.cloud</groupId> |
| | | <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> |
| | | <!-- <version>2.2.7.RELEASE</version>--> |
| | | </dependency> |
| | | <!--<dependency> |
| | | <groupId>org.springframework.cloud</groupId> |
| | |
| | | <dependency> |
| | | <groupId>com.alibaba.cloud</groupId> |
| | | <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> |
| | | <!-- <version>2.2.7.RELEASE</version>--> |
| | | </dependency> |
| | | |
| | | <!-- æ¥å£ææ¡£ --> |