server/services/src/main/java/com/doumee/dao/business/model/MqttLog.java
@@ -59,6 +59,9 @@ @ApiModelProperty(value = "客æ·ç«¯ç¼ç ") @ExcelColumn(name="客æ·ç«¯ç¼ç ") private String clientid; @ApiModelProperty(value = "é头ç¼ç ") @ExcelColumn(name="é头ç¼ç ") private String objId; @ApiModelProperty(value = "æå¡å¨ä¿¡æ¯") @ExcelColumn(name="æå¡å¨ä¿¡æ¯") private String hostInfo; server/services/src/main/java/com/doumee/service/business/impl/DeviceSubscribeServiceImpl.java
@@ -56,31 +56,32 @@ String logInfo = ""; int result =0; try { if(StringUtils.contains(topic, info)){ //妿é头信æ¯ä¸æ¥ Locks locks = JSONObject.parseObject(param, Locks.class); locks.setId(lockid); locks.setInfo(logId); result = memberRidesService.mqttLockInfoEvent(locks); logInfo = "䏿¥é头信æ¯"; logInfo = "mqttæ¶æ¯è®¢é é头信æ¯"; log.info("mqttæ¶æ¯è®¢é =========éä¿¡æ¯==========æå"); } if(StringUtils.contains(topic, closeLock)){ //妿è¿è½¦ä¸æ¥ JSONObject pjson = JSONObject.parseObject(param); String bikeCode = pjson.getString("bikeCode"); MemberRides bikes = new MemberRides(); bikes.setBikeCode(bikeCode); bikes.setBackLockId(lockid); bikes.setBikeCode(pjson.getString("bikeCode")); bikes.setBackLockId( pjson.getString("lockId")); bikes.setBackLockId( pjson.getString("siteId")); bikes.setBackCommondId(logId); result = memberRidesService.mqttCloseBikeEvent(bikes); logInfo = "䏿¥è¿è½¦æ¶æ¯"; logInfo = "mqttæ¶æ¯è®¢é è¿è½¦æ¶æ¯"; log.info("mqttæ¶æ¯è®¢é =========è¿è½¦==========æå"); } }catch (BusinessException e){ logInfo = "mqttæ¶æ¯è®¢é é误==="+e.getMessage(); result =1; }catch (Exception e){ logInfo = "mqttæ¶æ¯è®¢é å¼å¸¸==="; result =1; } createSubLog(topic,logId,result,param,logInfo); @@ -100,8 +101,13 @@ mqttLogMapper.insert(log); } private String getLockIdFromTopic(String topic) { topic = topic.substring(0,topic.lastIndexOf("/")); String id = topic.substring( topic.lastIndexOf("/")+1); return id; String[] ss = topic.split("/"); if(ss.length>2){ return ss[ss.length-2]; } return null; // topic = topic.substring(0,topic.lastIndexOf("/")); // String id = topic.substring( topic.lastIndexOf("/")+1); // return id; } } server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
@@ -334,7 +334,6 @@ //ä¿®æ¹å String after = JSONObject.toJSONString(update); ActionLog log = new ActionLog(); log.setId(Constants.getUUID()); log.setIsdeleted(Constants.ZERO); @@ -509,6 +508,9 @@ */ @Override public int mqttLockInfoEvent(Locks locks){ if(StringUtils.isBlank(locks.getId()) ||StringUtils.isBlank(locks.getSiteId())){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"é头信æ¯ä¸æ¥åæ°é误ï¼"); } //å¤ææ£æ¥å¤çç«ç¹éå¤´ä¿¡æ¯ Locks model = dealLockAndSite(locks); //车è¾è®°å½ @@ -525,7 +527,6 @@ if(memberRides == null){ return 0; } //ï¼æ´æ°è¯·æ±å¼éä¸çéå¤´å ³èçéªè¡è®°å½ï¼ memberRidesMapper.updateById( memberRides); } @@ -611,9 +612,52 @@ return model; } /** * è¿è½¦è®¢é æ¶æ¯ä¸å¡å¤ç * @param bikes * @return */ @Override public int mqttCloseBikeEvent(MemberRides bikes){ //å è´¹éªè¡æ¶é¿æ¥è¯¢ï¼æ°æ®åå ¸é ç½® if(StringUtils.isBlank(bikes.getBikeCode()) ||StringUtils.isBlank(bikes.getRentLockId())){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"è¿è½¦ä¸æ¥åæ°é误ï¼"); } QueryWrapper<MemberRides> wrapper = new QueryWrapper<>(); wrapper.lambda().eq(MemberRides::getBikeCode, bikes.getBikeCode()); wrapper.lambda().eq(MemberRides::getStatus, Constants.MEMBER_RIDES_STATUS.RIDES_RUNNING.getKey()); wrapper.lambda().eq(MemberRides::getIsdeleted, Constants.ZERO); //æ ¹æ®è½¦è¾ç¼ç æ¥è¯¢éªè¡ä¸çéªè¡è®°å½ä¿¡æ¯ï¼å¦ææè¿è¡è¿è½¦æä½ MemberRides memberRides = memberRidesMapper.selectOne(wrapper.last("last 1")); if(memberRides!=null){ //è¿è¡ dealMemberRidesBack(memberRides,bikes); } return 0; } private void dealMemberRidesBack(MemberRides memberRides,MemberRides param) { int freeTime = 0; try { freeTime = Integer.parseInt(systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME, Constants.FREE_RENT_TIME).getCode()); }catch (Exception e){ } Date date = new Date(); MemberRides update = new MemberRides(); update.setEditDate(date); update.setStatus(Constants.MEMBER_RIDES_STATUS.BACK_CYCLING.getKey()); update.setBackDate(date); update.setBackLockId(param.getBackLockId()); update.setBackSiteId(param.getBackSiteId()); update.setBackCommondId(param.getBackCommondId()); int duration =DateUtil.betweenMin(memberRides.getRentDate(),date)-freeTime; update.setDuration(duration>0?duration:0); update.setBackType(Constants.ONE); update.setBackInfo("ç¨æ·æ£å¸¸è¿è½¦"); //æ´æ°è¿è½¦è®°å½ä¸ºå·²è¿è½¦ memberRidesMapper.updateById(update); } } server/×ÔÐгµmqttÐÒé.md
@@ -38,6 +38,8 @@ ```json { "bikeCode": "1234567890", "lockId": 123, "siteId": 234, "time": "2023-10-13 10:12:90" // ç«ç¹ä¸ä½æºæ¶å°è¿è½¦æä»¤çæ¶é´ï¼ä» ååèï¼è¯·ä»¥æå¡å¨æ¶é´ä¸ºå } ```