代码补正
This commit is contained in:
parent
4db15761f0
commit
e1dcb45e0b
@ -22,12 +22,12 @@ import org.springframework.stereotype.Service;
|
|||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.Date;
|
import java.util.*;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.concurrent.locks.ReentrantLock;
|
import java.util.concurrent.locks.ReentrantLock;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||||
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception0;
|
||||||
import static cn.iocoder.yudao.module.rescue.service.impl.RescueDriverInfoServiceImpl.getRandomString6;
|
import static cn.iocoder.yudao.module.rescue.service.impl.RescueDriverInfoServiceImpl.getRandomString6;
|
||||||
|
|
||||||
|
|
||||||
@ -158,7 +158,7 @@ public class RescueOrderInfoServiceImpl extends ServiceImpl<RescueOrderInfoMappe
|
|||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
//待支付的情况下进行主动查询
|
//待支付的情况下进行主动查询
|
||||||
orderInfo.setOrderNo("appJy" + "-" + System.currentTimeMillis() + "-" + getRandomString6());
|
orderInfo.setOrderNo("appJy" + "-" + System.currentTimeMillis() + "-" + getRandomString6() + "-" + rescueInfo.getId());
|
||||||
this.updateById(orderInfo);
|
this.updateById(orderInfo);
|
||||||
RescueOrderDetail rescueOrderDetail =new RescueOrderDetail();
|
RescueOrderDetail rescueOrderDetail =new RescueOrderDetail();
|
||||||
rescueOrderDetail.setRecordTime(new Date());
|
rescueOrderDetail.setRecordTime(new Date());
|
||||||
@ -178,6 +178,30 @@ public class RescueOrderInfoServiceImpl extends ServiceImpl<RescueOrderInfoMappe
|
|||||||
return one;
|
return one;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过rescue_info_id去拿订单
|
||||||
|
* @author 小李
|
||||||
|
* @date 10:56 2024/8/27
|
||||||
|
* @param rescueInfoId
|
||||||
|
**/
|
||||||
|
private RescueOrderInfo getOrderByRescueInfoId(Integer rescueInfoId){
|
||||||
|
/*
|
||||||
|
不确定是否会出现多条记录的情况,所以用创建订单时的时间降序去取最新的一条
|
||||||
|
*/
|
||||||
|
List<RescueOrderInfo> list = this.list(new LambdaQueryWrapper<RescueOrderInfo>().eq(RescueOrderInfo::getRescueInfoId, rescueInfoId));
|
||||||
|
// 没查到直接抛异常,理论上讲是不会抛的,但以防万一,抛了好过直接报错
|
||||||
|
if (ObjectUtils.isEmpty(list) || CollectionUtil.isEmpty(list)){
|
||||||
|
throw exception0(500, "系统故障");
|
||||||
|
}
|
||||||
|
// 如果只有一条,就用这一条
|
||||||
|
if (list.size() == 1){
|
||||||
|
return list.get(0);
|
||||||
|
}
|
||||||
|
// 多条就创建时间降序排序取第一条
|
||||||
|
List<RescueOrderInfo> result = list.stream().sorted(Comparator.comparing(RescueOrderInfo::getCreateTime).reversed()).collect(Collectors.toList());
|
||||||
|
return result.get(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public Map<String,Object> transactions(Long orderId){
|
public Map<String,Object> transactions(Long orderId){
|
||||||
RescueOrderInfo orderInfo = this.getById(orderId);
|
RescueOrderInfo orderInfo = this.getById(orderId);
|
||||||
@ -216,9 +240,10 @@ public class RescueOrderInfoServiceImpl extends ServiceImpl<RescueOrderInfoMappe
|
|||||||
JSONObject decryptDataObj = JSONObject.parseObject(decryptData, JSONObject.class);
|
JSONObject decryptDataObj = JSONObject.parseObject(decryptData, JSONObject.class);
|
||||||
if(lock.tryLock()) {
|
if(lock.tryLock()) {
|
||||||
try {
|
try {
|
||||||
// 解密resource中的通知数据
|
// 解密resource中的通知数据 TODO
|
||||||
String orderNo = decryptDataObj.get("out_trade_no").toString();
|
String orderNo = decryptDataObj.get("out_trade_no").toString();
|
||||||
RescueOrderInfo orderInfo = this.getOrderByOrderNo(orderNo);
|
String rescueInfoId = orderNo.split("-")[orderNo.split("-").length - 1];
|
||||||
|
RescueOrderInfo orderInfo = getOrderByRescueInfoId(Integer.parseInt(rescueInfoId));
|
||||||
if (orderInfo.getOrderStatus().equals("1")){
|
if (orderInfo.getOrderStatus().equals("1")){
|
||||||
RescueInfo rescueInfo = rescueInfoService.getById(orderInfo.getRescueInfoId());
|
RescueInfo rescueInfo = rescueInfoService.getById(orderInfo.getRescueInfoId());
|
||||||
DriverInfo driverInfo = driverInfoService.getById(rescueInfo.getDriverId());
|
DriverInfo driverInfo = driverInfoService.getById(rescueInfo.getDriverId());
|
||||||
|
Loading…
Reference in New Issue
Block a user