From dff12cddd41f96e296cb652b0cf3c8c9ce43426f Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 13 十月 2023 10:06:52 +0800
Subject: [PATCH] 整理
---
server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java | 48 +++++++++++++++++++++++-
server/services/src/main/java/com/doumee/service/business/impl/DeviceSubscribeServiceImpl.java | 24 +++++++----
server/services/src/main/java/com/doumee/dao/business/model/MqttLog.java | 3 +
server/自行车mqtt协议.md | 2 +
4 files changed, 66 insertions(+), 11 deletions(-)
diff --git a/server/services/src/main/java/com/doumee/dao/business/model/MqttLog.java b/server/services/src/main/java/com/doumee/dao/business/model/MqttLog.java
index 71815ed..abc1d69 100644
--- a/server/services/src/main/java/com/doumee/dao/business/model/MqttLog.java
+++ b/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;
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/DeviceSubscribeServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/DeviceSubscribeServiceImpl.java
index dabd129..039276b 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/DeviceSubscribeServiceImpl.java
+++ b/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;
}
}
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
index 0ec50d7..cb8a72b 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
+++ b/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("鐢ㄦ埛姝e父杩樿溅");
+ //鏇存柊杩樿溅璁板綍涓哄凡杩樿溅
+ memberRidesMapper.updateById(update);
+ }
}
diff --git "a/server/\350\207\252\350\241\214\350\275\246mqtt\345\215\217\350\256\256.md" "b/server/\350\207\252\350\241\214\350\275\246mqtt\345\215\217\350\256\256.md"
index 6e9b418..358b7b3 100644
--- "a/server/\350\207\252\350\241\214\350\275\246mqtt\345\215\217\350\256\256.md"
+++ "b/server/\350\207\252\350\241\214\350\275\246mqtt\345\215\217\350\256\256.md"
@@ -38,6 +38,8 @@
```json
{
"bikeCode": "1234567890",
+ "lockId": 123,
+ "siteId": 234,
"time": "2023-10-13 10:12:90" // 绔欑偣涓婁綅鏈烘敹鍒拌繕杞︽寚浠ょ殑鏃堕棿锛屼粎鍋氬弬鑰冿紝璇蜂互鏈嶅姟鍣ㄦ椂闂翠负鍑�
}
```
\ No newline at end of file
--
Gitblit v1.9.3