From f80fb683f62639ec7848cc82d37e8313c7ffdb0c Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 20 二月 2025 16:55:12 +0800
Subject: [PATCH] jtt808初始化
---
server/web/src/main/java/com/doumee/jtt808/web/service/Jtt808Service.java | 47 +++++++++++++++++++++++++++++++++++++----------
1 files changed, 37 insertions(+), 10 deletions(-)
diff --git a/server/web/src/main/java/com/doumee/jtt808/web/service/Jtt808Service.java b/server/web/src/main/java/com/doumee/jtt808/web/service/Jtt808Service.java
index 5e9d50d..beef30d 100644
--- a/server/web/src/main/java/com/doumee/jtt808/web/service/Jtt808Service.java
+++ b/server/web/src/main/java/com/doumee/jtt808/web/service/Jtt808Service.java
@@ -8,12 +8,16 @@
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.constants.Constants;
import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.dingding.DingDingNotice;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.PositionUtil;
import com.doumee.core.utils.StringTools;
+import com.doumee.core.wx.SendWxMessage;
+import com.doumee.core.wx.WxMiniConfig;
import com.doumee.core.wx.WxMiniUtilService;
import com.doumee.dao.business.*;
+import com.doumee.dao.business.join.BikesJoinMapper;
import com.doumee.dao.business.join.GoodsorderJoinMapper;
import com.doumee.dao.business.join.MemberRidesJoinMapper;
import com.doumee.dao.business.join.RefundJoinMapper;
@@ -26,6 +30,7 @@
import com.doumee.service.business.GoodsorderService;
import com.doumee.service.business.PricingRuleService;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import me.chanjar.weixin.common.error.WxErrorException;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -51,9 +56,9 @@
@Service
public class Jtt808Service {
- @Value("${tencent.map.remoteHost:}")
+ @Value("${tencent.map.remoteHost}")
private String mapHost;
- @Value("${tencent.map.appKey:}")
+ @Value("${tencent.map.appKey}")
private String mapKey;
@Autowired
private MessageManager messageManager;
@@ -61,6 +66,8 @@
private GoodsorderService goodsorderService;
@Autowired
private BikesMapper bikesMapper;
+ @Autowired
+ private BikesJoinMapper bikesJoinMapper;
@Autowired
private SystemDictDataBiz systemDictDataBiz;
@@ -82,6 +89,9 @@
@Autowired
private HolidaysMapper holidaysMapper;
+
+ @Autowired
+ private SendWxMessage sendWxMessage;
@Autowired
@@ -279,8 +289,12 @@
}
}
- public void updateBikesInfo(List<T0200> list) {
+ public void updateBikesInfo(List<T0200> list) throws Exception{
Date date = new Date();
+ BigDecimal lowVoltage = new BigDecimal(systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME,Constants.LOW_VOLTAGE).getCode());
+ String ddToken = systemDictDataBiz.queryByCode(Constants.DINGDING,Constants.DINGDING_TOKEN).getCode();
+ String ddRobotCode = systemDictDataBiz.queryByCode(Constants.DINGDING,Constants.DINGDING_ROBOTCODE).getCode();
+ String ddChatToken = systemDictDataBiz.queryByCode(Constants.DINGDING,Constants.DINGDING_CHATTOKEN).getCode();
for(T0200 m : list){
Bikes bike = new Bikes();
bike.setDeviceSn(m.getClientId());
@@ -321,6 +335,17 @@
.set(Bikes::getSiteId,site ==null?null:site.getId())
.set( Bikes::getHeartDate,date)
.eq(Bikes::getId,bikes.getId()));
+
+ if(bikes.getVoltage().compareTo(lowVoltage)>=Constants.ZERO
+ && bike.getVoltage().compareTo(lowVoltage)<Constants.ZERO){
+ //鍙戦�侀拤閽夐�氱煡
+ DingDingNotice.lowVoltageNotice(bikes.getCode(),
+ PositionUtil.getTxMapAddrByLatAndLng(Double.valueOf(bike.getLatitude().toString()),Double.valueOf(bike.getLongitude().toString()),mapHost,mapKey)
+ ,Objects.nonNull(site)?site.getName():null,
+ ddToken,
+ ddRobotCode,
+ ddChatToken);
+ }
}
}
@@ -496,14 +521,14 @@
/**
* 涓存椂鍋滆溅瓒呮椂 鑷姩杩樿溅
*/
- public void autoBackBike(){
+ public void autoBackBike() throws WxErrorException {
List<MemberRides> memberRidesList = memberRidesJoinMapper.selectJoinList(MemberRides.class,new MPJLambdaWrapper<MemberRides>()
.selectAll(MemberRides.class)
.leftJoin(Goodsorder.class,Goodsorder::getId,MemberRides::getOrdreId)
.eq(Goodsorder::getStatus,Constants.ONE)
.eq(MemberRides::getIsdeleted,Constants.ZERO)
.eq(MemberRides::getType,Constants.ONE)
- .eq(MemberRides::getStatus,Constants.MEMBER_RIDES_STATUS.RIDES_PAUSING)
+ .eq(MemberRides::getStatus,Constants.MEMBER_RIDES_STATUS.RIDES_PAUSING.getKey())
.apply(" NOW() >= t.create_date + INTERVAL '2 hours' ")
);
@@ -535,12 +560,14 @@
goodsorder.setEditDate(date);
goodsorder.setEditor(null);
goodsorderService.dealCloseGoodsorderBiz( goodsorder,Constants.REFUND_TYPE.NORMAL.getKey(),memberRides);
+ //鍙戦�佸皬绋嬪簭閫氱煡
+ Member member = memberMapper.selectById(goodsorder.getMemberId());
+ if(Objects.nonNull(member)&&StringUtils.isNotBlank(member.getOpenid())){
+ sendWxMessage.bookingsCancel(member.getOpenid(),goodsorder.getId(), WxMiniConfig.wxMaService.getAccessToken(),timeOutRides.getBikeCode(),goodsorder.getPayDate(),goodsorder.getEndDate());
+ }
+
+
}
-
-
-
-
-
}
--
Gitblit v1.9.3