From fa7ac16021db8d9a6a5bc214f50600420876325e Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期一, 08 九月 2025 10:57:41 +0800
Subject: [PATCH] jtt808初始化
---
server/services/src/main/java/com/doumee/service/business/impl/BikesServiceImpl.java | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 50 insertions(+), 2 deletions(-)
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/BikesServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/BikesServiceImpl.java
index cec7e7b..d1fc03f 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/BikesServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/BikesServiceImpl.java
@@ -19,6 +19,7 @@
import com.doumee.dao.business.web.response.BikeLogDTO;
import com.doumee.dao.business.web.response.MemberRidesDTO;
import com.doumee.dao.business.web.response.MiniProgrammeDTO;
+import com.doumee.dao.business.web.response.UserResponse;
import com.doumee.dao.system.SystemDictDataMapper;
import com.doumee.dao.system.model.SystemDictData;
import com.doumee.service.business.BikesService;
@@ -118,6 +119,39 @@
bikesMapper.deleteBatchIds(ids);
}
+ /**
+ * 灏忕▼搴忕鏇存柊涓婁笅绾�
+ * @param user
+ * @param ids
+ * @param status
+ */
+ @Override
+ public void updateBikeStatusBatchWx(UserResponse user, List<String> ids, Integer status){
+ updateBikeStatusBatchBiz(ids,user.getId(),status);
+ }
+
+ /**
+ * 绠$悊绔鏇存柊涓婁笅绾�
+ */
+ @Override
+ public void updateBikeStatusBatch(List<String> ids,Integer status) {
+ LoginUserInfo user =(LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ updateBikeStatusBatchBiz(ids,user.getId(),status);
+ }
+ public void updateBikeStatusBatchBiz(List<String> ids,String userId,Integer status) {
+ if (CollectionUtils.isEmpty(ids)) {
+ return;
+ }
+ //鐘舵�� 0鍋滆溅鍙嚭鍊� 1鍑哄�熶腑 3绂佺敤
+ status =status==0?status:1;
+ bikesMapper.update(null,new UpdateWrapper<Bikes>().lambda()
+ .set(Bikes::getEditDate,new Date())
+ .set(Bikes::getEditor,userId)
+ .set(Bikes::getBikeStatus,status)
+ .set(Bikes::getIsdeleted,Constants.ZERO)
+ .eq(Bikes::getType,Constants.ONE )
+ .in(Bikes::getId,ids));
+ }
@Override
public void updateById(Bikes bikes) {
Bikes model =bikesMapper.selectById(bikes.getId());
@@ -207,7 +241,7 @@
QueryWrapper<SystemDictData> wrapper = new QueryWrapper<>();
wrapper.lambda()
- .in(SystemDictData::getLabel, Arrays.asList(Constants.FORCE_BACK_SITE,Constants.FORCE_BACK_LOCK,Constants.LOW_BIKE_VOLTAGE));
+ .in(SystemDictData::getLabel, Arrays.asList(Constants.FORCE_BACK_SITE,Constants.FORCE_BACK_LOCK,Constants.LOW_BIKE_VOLTAGE,Constants.OBLINE_HEART_TIME_LIMIT));
List<SystemDictData> systemDictData = systemDictDataMapper.selectList(wrapper);
Map<String, SystemDictData> collect = systemDictData.stream().collect(Collectors.toMap(s -> s.getLabel(), s -> s));
double low = 0;
@@ -215,6 +249,12 @@
low = Double.parseDouble(collect.get(Constants.LOW_BIKE_VOLTAGE).getCode());
}catch (Exception e){
}
+ Integer onlineTime = 60;//榛樿1鍒嗛挓鏈�氳鍒欑绾�
+ try {
+ onlineTime = Integer.parseInt(collect.get(Constants.OBLINE_HEART_TIME_LIMIT).getCode());//鏁版嵁瀛楀吀閰嶇疆鏃堕暱
+ }catch (Exception e){
+ }
+ Date onlineData = new Date(System.currentTimeMillis()-onlineTime*1000);//鍒ゆ柇绂荤嚎鍦ㄧ嚎鐨勬椂闂磋妭鐐�
IPage<Bikes> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
MPJLambdaWrapper<Bikes> queryWrapper = new MPJLambdaWrapper<>();
Utils.MP.blankToNull(pageWrap.getModel());
@@ -225,6 +265,9 @@
.like(StringUtils.isNotBlank(pageWrap.getModel().getSiteName()), Sites::getName,pageWrap.getModel().getSiteName())
.like(StringUtils.isNotBlank(pageWrap.getModel().getCode()), Bikes::getCode,pageWrap.getModel().getCode())
.like(StringUtils.isNotBlank(pageWrap.getModel().getDeviceSn()), Bikes::getDeviceSn,pageWrap.getModel().getDeviceSn())
+ .lt( pageWrap.getModel().getIsOnline() !=null&& pageWrap.getModel().getIsOnline() ==0,Bikes::getHeartDate,onlineData)//濡傛灉绂荤嚎
+ .gt( pageWrap.getModel().getIsOnline() !=null&& pageWrap.getModel().getIsOnline() ==1,Bikes::getHeartDate,onlineData)//濡傛灉鍦ㄧ嚎
+ .eq( pageWrap.getModel().getBikeStatus() !=null,Bikes::getBikeStatus,pageWrap.getModel().getBikeStatus())
.eq( pageWrap.getModel().getLockId() !=null,Bikes::getLockId,pageWrap.getModel().getLockId())
.eq( Bikes::getType,Constants.formatIntegerNum(pageWrap.getModel().getType()))//榛樿鏌ヨ鑷杞�
.ne(Constants.formatIntegerNum(pageWrap.getModel().getType())==0,Bikes::getLockId,Constants.formatIntegerFromStr(collect.get(Constants.FORCE_BACK_LOCK).getCode()))
@@ -249,9 +292,14 @@
.selectAs(Sites::getName,Bikes::getSiteName) ;
PageData<Bikes> pageData = PageData.from(bikesJoinMapper.selectJoinPage(page, Bikes.class, queryWrapper));
double finalLow = low;
+ Date finalOnlineTime = onlineData;
pageData.getRecords().forEach(i->{
if(Constants.equalsInteger(i.getType(),Constants.ONE)){
- i.setLowVoltage(i.getVoltage().compareTo(new BigDecimal(Double.toString(finalLow)))>=0?0:1);
+ i.setLowVoltage(Constants.formatDecimalNum(i.getVoltage()).compareTo(new BigDecimal(Double.toString(finalLow)))>=0?0:1);
+ i.setIsOnline(Constants.ZERO);//榛樿绂荤嚎
+ if(i.getHeartDate()!=null && i.getHeartDate().getTime() > finalOnlineTime.getTime()){
+ i.setIsOnline(Constants.ONE);//濡傛灉鍐嶆椂闂磋寖鍥村唴 鍒欏湪绾�
+ }
}
});
return pageData;
--
Gitblit v1.9.3