From 171de641204992c462047fb1552009e753b562fe Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期四, 20 二月 2025 11:40:26 +0800 Subject: [PATCH] 111 --- server/web/src/main/java/com/doumee/jtt808/web/service/Jtt808Service.java | 48 ++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 40 insertions(+), 8 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 ad6648b..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,9 +30,11 @@ 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; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.ConcurrentReferenceHashMap; @@ -50,12 +56,18 @@ @Service public class Jtt808Service { + @Value("${tencent.map.remoteHost}") + private String mapHost; + @Value("${tencent.map.appKey}") + private String mapKey; @Autowired private MessageManager messageManager; @Autowired private GoodsorderService goodsorderService; @Autowired private BikesMapper bikesMapper; + @Autowired + private BikesJoinMapper bikesJoinMapper; @Autowired private SystemDictDataBiz systemDictDataBiz; @@ -77,6 +89,9 @@ @Autowired private HolidaysMapper holidaysMapper; + + @Autowired + private SendWxMessage sendWxMessage; @Autowired @@ -274,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()); @@ -316,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); + } } } @@ -491,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' ") ); @@ -530,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