From c6ac7827159e71f6906a42ceb29a4f83a2f239f6 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期五, 21 二月 2025 14:12:38 +0800
Subject: [PATCH] ll
---
server/web/src/main/java/com/doumee/jtt808/web/service/Jtt808Service.java | 46 +++++++++++++++++++++++++++++++++-------------
1 files changed, 33 insertions(+), 13 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 f0138dd..ecf63d4 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
@@ -13,6 +13,8 @@
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;
@@ -28,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;
@@ -87,6 +90,9 @@
@Autowired
private HolidaysMapper holidaysMapper;
+ @Autowired
+ private SendWxMessage sendWxMessage;
+
@Autowired
PricingRuleService pricingRuleService;
@@ -105,6 +111,7 @@
Goodsorder gparam = new Goodsorder();
gparam.setMemberId(param.getMemberId());
gparam.setStatus(Constants.goodsorderStatus.pay);
+ gparam.setType(Constants.ZERO);
Goodsorder goodsorder = goodsorderService.findOne(gparam);
if(Objects.isNull(goodsorder)){
throw new BusinessException(ResponseStatus.NO_UNCLOSEED_ORDER.getCode(),"鏃犻獞琛岃鍗曡褰�");
@@ -120,16 +127,21 @@
if(Constants.equalsInteger(rides.getStatus(),Constants.MEMBER_RIDES_STATUS.RIDES_RUNNING.getKey())
&&Constants.equalsInteger(rides.getType(),Constants.ONE)){
//濡傛灉鏄數杞﹀苟涓旀槸楠戣涓� 杩涜鍏抽攣澶勭悊
- Bikes bike = getElecBikeByCode(rides.getBikeCode());
- //鏌ヨ鍋滆溅绔欑偣淇℃伅
- if(bike.getSiteId() ==null){
- throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "瀵逛笉璧凤紝璇锋寜瑕佹眰鍓嶅線鍋滆溅鐐瑰仠杞︼紒");
- }
- lockBikes(bike.getDeviceSn(),Constants.ZERO);//鍙戣捣鍏抽攣鎸囦护璇锋眰
+// Bikes bike = getElecBikeByCode(rides.getBikeCode());
+// //鏌ヨ鍋滆溅绔欑偣淇℃伅
+// if(bike.getSiteId() ==null){
+// throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "瀵逛笉璧凤紝璇锋寜瑕佹眰鍓嶅線鍋滆溅鐐瑰仠杞︼紒");
+// }
+// lockBikes(bike.getDeviceSn(),Constants.ZERO);//鍙戣捣鍏抽攣鎸囦护璇锋眰
backIds.add(rides.getId());
rides.setStatus(Constants.MEMBER_RIDES_STATUS.BACK_CYCLING.getKey());//宸茶繕杞�
- rides.setBackSiteId(bike.getSiteId());//杩樿溅绔欑偣
+// rides.setBackSiteId(bike.getSiteId());//杩樿溅绔欑偣
+
rides.setBackDate(new Date());
+ Integer freeRentTime = Integer.valueOf(systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME, Constants.FREE_RENT_TIME).getCode());
+ Integer rideTime = DateUtil.betweenMin(rides.getRentDate(), rides.getBackDate());
+ //璁$畻楠戣璁¤垂鏃堕暱
+ rides.setDuration( rideTime > freeRentTime ? rideTime : 0 );
rides.setEditDate(rides.getBackDate());
memberRidesJoinMapper.updateById(rides);//鏇存柊楠戣鐘舵�佷负宸茶繕杞�
}
@@ -244,9 +256,9 @@
if(memberRides ==null || memberRides.getBikeCode() == null){
throw new BusinessException(ResponseStatus.NO_UNCLOSEED_ORDER.getCode(),"瀵逛笉璧凤紝鏈煡璇㈠埌鎮ㄥ綋鍓嶆湁楠戣涓褰�");
}
- Bikes bike = getElecBikeByCode(memberRides.getBikeCode());
- //鏌ヨ鍋滆溅浣嶇疆鏄惁绗﹀悎鍋滆溅浣嶇疆瑙勮寖
- checkPausePostionBiz(bike);
+// Bikes bike = getElecBikeByCode(memberRides.getBikeCode());
+// //鏌ヨ鍋滆溅浣嶇疆鏄惁绗﹀悎鍋滆溅浣嶇疆瑙勮寖
+// checkPausePostionBiz(bike);
memberRides.setPauseDate(new Date());
memberRides.setEditDate(memberRides.getBackDate());
memberRides.setStatus(Constants.MEMBER_RIDES_STATUS.RIDES_PAUSING.getKey());
@@ -367,6 +379,7 @@
Goodsorder goodsorder = goodsorderService.findOneByWrapper(new QueryWrapper<Goodsorder>()
.eq("isdeleted", Constants.ZERO)
.eq("status", Constants.goodsorderStatus.pay)
+ .eq("type", Constants.ZERO)
.eq("member_id", member.getId())
.orderByDesc("create_date")
.last("limit 1"));
@@ -391,7 +404,7 @@
//鏍规嵁杞﹀瀷鏌ヨ璁′环鏂规
isValidePricingType(bike,memberRides) ;
MemberRidesDetailResponse memberRidesDetailResponse = new MemberRidesDetailResponse();
- this.lockBikes(bike.getDeviceSn(),1);
+// this.lockBikes(bike.getDeviceSn(),1);
//瀛樺偍楠戣璁板綍
memberRides.setId(Constants.getUUID());
memberRides.setIsdeleted(Constants.ZERO);
@@ -400,7 +413,7 @@
memberRides.setOrdreId(goodsorder.getId());
memberRides.setBikeCode(bike.getCode());
memberRides.setRentDate(new Date());
- memberRides.setType(Constants.ZERO);
+ memberRides.setType(Constants.ONE);
memberRides.setBalance(new BigDecimal(systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME,Constants.RENT_DEPOSIT).getCode()));
memberRides.setStatus(Constants.MEMBER_RIDES_STATUS.RIDES_RUNNING.getKey());
memberRides.setCloseStatus(Constants.ZERO);
@@ -515,7 +528,7 @@
/**
* 涓存椂鍋滆溅瓒呮椂 鑷姩杩樿溅
*/
- 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)
@@ -554,6 +567,13 @@
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