Compare commits
No commits in common. "aa993fd4e5c4b01f3cb12f7b2446193cef3b7a87" and "d4e9f0d375fee76b3d7317c19f8eb9f9d28f2e19" have entirely different histories.
aa993fd4e5
...
d4e9f0d375
@ -66,7 +66,6 @@ public class TradeController {
|
|||||||
@PostMapping({"/wechatpay/notify"})
|
@PostMapping({"/wechatpay/notify"})
|
||||||
@ApiOperationSupport(order = 5)
|
@ApiOperationSupport(order = 5)
|
||||||
@Hidden
|
@Hidden
|
||||||
|
|
||||||
public Result<String> wechatPayNotifyHandle(@ParameterObject TradeDetail tradeDetail) {
|
public Result<String> wechatPayNotifyHandle(@ParameterObject TradeDetail tradeDetail) {
|
||||||
return tradeService.wechatPayNotifyHandle(tradeDetail);
|
return tradeService.wechatPayNotifyHandle(tradeDetail);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -163,7 +163,7 @@ public class StateMessageService {
|
|||||||
OrderSwapBattery orderSwapBattery = orderSwapBatteryDao.selectOne(wrapper);
|
OrderSwapBattery orderSwapBattery = orderSwapBatteryDao.selectOne(wrapper);
|
||||||
//计算费用方式
|
//计算费用方式
|
||||||
if (orderSwapBattery.getFeeType()==3){
|
if (orderSwapBattery.getFeeType()==3){
|
||||||
log.info("\r\n=====>>>换电订单电量结算,订单号:{}",orderStatus.getOrderNo() );
|
log.info("\r\n=====>>>换电订单电量结算,订单号:{}",orderStatus.getOrderNo() );
|
||||||
orderSwapBatteryService.calculateCost(orderStatus.getOrderNo());
|
orderSwapBatteryService.calculateCost(orderStatus.getOrderNo());
|
||||||
}
|
}
|
||||||
batteryStationDcDao.update(dc, new QueryWrapper<BatteryStationDc>().eq("bat_code", statusData.getBatCode()));
|
batteryStationDcDao.update(dc, new QueryWrapper<BatteryStationDc>().eq("bat_code", statusData.getBatCode()));
|
||||||
|
|||||||
@ -22,59 +22,37 @@ public class OrderSwapBatteryTask {
|
|||||||
@Resource
|
@Resource
|
||||||
private OrderSwapBatteryPreDao orderSwapBatteryPreDao;
|
private OrderSwapBatteryPreDao orderSwapBatteryPreDao;
|
||||||
|
|
||||||
// @Scheduled(cron = "0 0 * * * ?") // 每小时执行一次
|
@Scheduled(cron = "0 0 * * * ?") // 每小时执行一次
|
||||||
public void orderSwapBatteryExpired() {
|
public void orderSwapBatteryExpired() {
|
||||||
log.info("===>>> 开始查找预约单更新预约状态...");
|
log.info("\r\n===>>> 开始查找预约单更新预约状态..");
|
||||||
|
|
||||||
try {
|
// 查询条件,排除已过期和无效状态
|
||||||
// 查询条件:排除已过期(3)和无效(4)的订单
|
QueryWrapper<OrderSwapBatteryPre> queryWrapper = new QueryWrapper<>();
|
||||||
QueryWrapper<OrderSwapBatteryPre> queryWrapper = new QueryWrapper<>();
|
queryWrapper.ne("status", 4)//无效
|
||||||
queryWrapper.ne("status", 4) // 无效
|
.ne("status", 3); //过期
|
||||||
.ne("status", 3) // 过期
|
|
||||||
.isNotNull("reservation_time"); // 确保预约时间不为空
|
|
||||||
|
|
||||||
List<OrderSwapBatteryPre> orderSwapBatteryPreList = orderSwapBatteryPreDao.selectList(queryWrapper);
|
List<OrderSwapBatteryPre> orderSwapBatteryPreList = orderSwapBatteryPreDao.selectList(queryWrapper);
|
||||||
|
|
||||||
// 获取当前时间
|
// 获取当前时间
|
||||||
Date currentTime = new Date();
|
Date currentTime = new Date();
|
||||||
int expiredCount = 0; // 记录过期的预约单数量
|
int expiredCount = 0; // 记录过期的预约单数量
|
||||||
|
|
||||||
for (OrderSwapBatteryPre order : orderSwapBatteryPreList) {
|
for (OrderSwapBatteryPre order : orderSwapBatteryPreList) {
|
||||||
// 计算时间差(毫秒)
|
// 检查预约时间是否已过期
|
||||||
long timeDiff = currentTime.getTime() - order.getReservationTime().getTime();
|
if (order.getReservationTime() != null && order.getReservationTime().before(currentTime)) {
|
||||||
// 24小时 = 24 * 60 * 60 * 1000 毫秒
|
// 更新状态为过期
|
||||||
if (timeDiff >= 24 * 60 * 60 * 1000) {
|
order.setStatus(4); // 设置为过期状态
|
||||||
try {
|
try {
|
||||||
// 更新状态为过期
|
orderSwapBatteryPreDao.updateById(order);
|
||||||
order.setStatus(3); // 设置为过期状态
|
expiredCount++;
|
||||||
order.setUptime(currentTime); // 更新修改时间
|
log.info("预约单已过期,订单ID: {}", order.getSourceId()); // 记录过期的订单ID
|
||||||
orderSwapBatteryPreDao.updateById(order);
|
} catch (Exception e) {
|
||||||
expiredCount++;
|
log.error("更新预约单状态失败,预约人:{},订单ID: {}, 错误信息: {}",order.getUname(), order.getPkId(), e.getMessage());
|
||||||
|
|
||||||
log.info("预约单已过期 - 预约人: {}, 订单ID: {}, 预约时间: {}",
|
|
||||||
order.getUname(),
|
|
||||||
order.getPkId(),
|
|
||||||
DateUtil.format(order.getReservationTime(), "yyyy-MM-dd HH:mm:ss"));
|
|
||||||
|
|
||||||
} catch (Exception e) {
|
|
||||||
log.error("更新预约单状态失败 - 预约人: {}, 订单ID: {}, 预约时间: {}, 错误信息: {}",
|
|
||||||
order.getUname(),
|
|
||||||
order.getPkId(),
|
|
||||||
DateUtil.format(order.getReservationTime(), "yyyy-MM-dd HH:mm:ss"),
|
|
||||||
e.getMessage());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (expiredCount > 0) {
|
|
||||||
log.info("===>>> 本次处理过期预约单:{} 条", expiredCount);
|
|
||||||
} else {
|
|
||||||
log.info("===>>> 本次没有需要处理的过期预约单");
|
|
||||||
}
|
|
||||||
|
|
||||||
} catch (Exception e) {
|
|
||||||
log.error("处理过期预约单时发生异常: {}", e.getMessage(), e);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log.info("\r\n===>>> 预约单过期:{} 条数据", expiredCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -39,12 +39,12 @@
|
|||||||
yt_t_battery_station_hd_fee_standard a
|
yt_t_battery_station_hd_fee_standard a
|
||||||
where
|
where
|
||||||
a.station_code = #{stationCode}
|
a.station_code = #{stationCode}
|
||||||
<if test="day!= null and day != '' ">
|
<if test="day!= null and day != '' ">
|
||||||
and DATE_FORMAT(a.day_begin,'%Y-%m-%d') <=DATE_FORMAT(#{day},'%Y-%m-%d')
|
and a.day_begin <= #{day}
|
||||||
</if>
|
</if>
|
||||||
<if test="day!= null and day != '' ">
|
<if test="day!= null and day != '' ">
|
||||||
and DATE_FORMAT(a.day_end,'%Y-%m-%d') >= DATE_FORMAT(#{day},'%Y-%m-%d')
|
and a.day_end >= #{day}
|
||||||
</if>
|
</if>
|
||||||
order by a.pk_id desc
|
order by a.pk_id desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,6 @@ package com.evotech.hd.wechat.service.gzh;
|
|||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
@ -32,7 +31,6 @@ import cn.hutool.json.JSONObject;
|
|||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
|
|
||||||
@Slf4j
|
|
||||||
@Service
|
@Service
|
||||||
public class GZHMessageTemplateService {
|
public class GZHMessageTemplateService {
|
||||||
|
|
||||||
@ -85,7 +83,6 @@ public class GZHMessageTemplateService {
|
|||||||
data.setCar_number1(osbp.getPlateNum());
|
data.setCar_number1(osbp.getPlateNum());
|
||||||
data.setThing2(osbp.getStationName());
|
data.setThing2(osbp.getStationName());
|
||||||
data.setTime3(DateUtil.format(osbp.getReservationTime(), DatePattern.NORM_DATETIME_FORMATTER));
|
data.setTime3(DateUtil.format(osbp.getReservationTime(), DatePattern.NORM_DATETIME_FORMATTER));
|
||||||
log.info("预约完成推送公众号消息时间=======>:{}", DateUtil.format(osbp.getReservationTime(), DatePattern.NORM_DATETIME_FORMATTER));
|
|
||||||
data.setThing5(osbp.getUname());
|
data.setThing5(osbp.getUname());
|
||||||
data.setPhone_number4(osbp.getPhone());
|
data.setPhone_number4(osbp.getPhone());
|
||||||
sendData.setData(JSONUtil.parseObj(data));
|
sendData.setData(JSONUtil.parseObj(data));
|
||||||
@ -132,7 +129,6 @@ public class GZHMessageTemplateService {
|
|||||||
data.setCharacter_string3(osb.getReturnBatCode());
|
data.setCharacter_string3(osb.getReturnBatCode());
|
||||||
data.setCharacter_string4(osb.getRentBatCode());
|
data.setCharacter_string4(osb.getRentBatCode());
|
||||||
data.setTime5(DateUtil.format(osb.getOrderTime(), DatePattern.NORM_DATETIME_FORMATTER));
|
data.setTime5(DateUtil.format(osb.getOrderTime(), DatePattern.NORM_DATETIME_FORMATTER));
|
||||||
log.info("付款完成推送公众号消息=======>:{}", JSONUtil.parseObj(data));
|
|
||||||
sendData.setData(JSONUtil.parseObj(data));
|
sendData.setData(JSONUtil.parseObj(data));
|
||||||
break;
|
break;
|
||||||
// 充电完成,待结算
|
// 充电完成,待结算
|
||||||
@ -145,7 +141,6 @@ public class GZHMessageTemplateService {
|
|||||||
chargeData.setCharacter_string25(osb.getElectAmount() + "");
|
chargeData.setCharacter_string25(osb.getElectAmount() + "");
|
||||||
chargeData.setAmount34(osb.getServiceFee().toString());
|
chargeData.setAmount34(osb.getServiceFee().toString());
|
||||||
chargeData.setAmount28(osb.getAmount() + "");
|
chargeData.setAmount28(osb.getAmount() + "");
|
||||||
log.info("付款完成推送公众号消息=======>:{}", JSONUtil.parseObj(chargeData));
|
|
||||||
sendData.setData(JSONUtil.parseObj(chargeData));
|
sendData.setData(JSONUtil.parseObj(chargeData));
|
||||||
break;
|
break;
|
||||||
// 付款完成
|
// 付款完成
|
||||||
@ -158,7 +153,6 @@ public class GZHMessageTemplateService {
|
|||||||
payData.setCar_number10(osb.getPlateNum());
|
payData.setCar_number10(osb.getPlateNum());
|
||||||
payData.setAmount6(osb.getAmount() + "");
|
payData.setAmount6(osb.getAmount() + "");
|
||||||
payData.setTime9("");
|
payData.setTime9("");
|
||||||
log.info("付款完成推送公众号消息=======>:{}", JSONUtil.parseObj(payData));
|
|
||||||
sendData.setData(JSONUtil.parseObj(payData));
|
sendData.setData(JSONUtil.parseObj(payData));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -184,6 +178,8 @@ public class GZHMessageTemplateService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 充值成功推送公众号消息
|
* 充值成功推送公众号消息
|
||||||
|
* @param osb
|
||||||
|
* @param templateType
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public Result<String> sendTemplateMessageRecharge(TradeDetail trade, Integer money) {
|
public Result<String> sendTemplateMessageRecharge(TradeDetail trade, Integer money) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user