mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-21 03:25:12 +08:00
配置充电停车优惠
This commit is contained in:
@@ -3,7 +3,6 @@ package com.jsowell.mq;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.huifu.adapay.core.exception.BaseAdaPayException;
|
||||
import com.jsowell.common.constant.RabbitConstants;
|
||||
import com.jsowell.common.util.YKCUtils;
|
||||
import com.jsowell.pile.dto.AfterSettleOrderDTO;
|
||||
import com.jsowell.pile.service.OrderBasicInfoService;
|
||||
import com.rabbitmq.client.Channel;
|
||||
@@ -14,7 +13,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 监听RabbitMQ消息 订单
|
||||
@@ -33,10 +31,11 @@ public class OrderRabbitListener {
|
||||
public void receiveChargeOrderData(AfterSettleOrderDTO afterSettleOrderDTO, Channel channel, Message message) throws IOException {
|
||||
log.info("接收到订单结算数据:{}", JSON.toJSONString(afterSettleOrderDTO));
|
||||
|
||||
List<String> newLogicStationIdList = YKCUtils.getNewLogicStationIdList();
|
||||
if (!newLogicStationIdList.contains(afterSettleOrderDTO.getStationId())) {
|
||||
return;
|
||||
}
|
||||
// 2025年2月18日09点18分全部订单改为实时分账
|
||||
// List<String> newLogicStationIdList = YKCUtils.getNewLogicStationIdList();
|
||||
// if (!newLogicStationIdList.contains(afterSettleOrderDTO.getStationId())) {
|
||||
// return;
|
||||
// }
|
||||
|
||||
log.info("realTimeOrderSplit-订单{}开始执行新分账方法", afterSettleOrderDTO.getOrderCode());
|
||||
try {
|
||||
|
||||
@@ -17,6 +17,13 @@ public interface StationSplitConfigService {
|
||||
// 根据站点id查询站点分账配置信息
|
||||
List<StationSplitConfig> queryByStationId(String stationId);
|
||||
|
||||
/**
|
||||
* 根据站点id查询站点分账配置信息, 如果没有配置分账用户, 则执行初始化操作
|
||||
* @param stationId
|
||||
* @return
|
||||
*/
|
||||
List<StationSplitConfig> queryByStationIdWithInit(String stationId);
|
||||
|
||||
List<SplitConfigVO> querySplitConfigByStationId(String stationId);
|
||||
|
||||
/**
|
||||
|
||||
@@ -47,10 +47,12 @@ public class ChargeParkingDiscountServiceImpl implements ChargeParkingDiscountSe
|
||||
}
|
||||
// 查询该站点的停车优惠信息
|
||||
ChargeParkingDiscountVO discountVO = new ChargeParkingDiscountVO();
|
||||
discountVO.setId(chargeParkingDiscount.getId() + "");
|
||||
discountVO.setStationId(chargeParkingDiscount.getStationId());
|
||||
discountVO.setConditionType(chargeParkingDiscount.getConditionType());
|
||||
discountVO.setParkingPlatformId(chargeParkingDiscount.getParkingPlatformId());
|
||||
discountVO.setConditionType(Integer.valueOf(chargeParkingDiscount.getConditionType()));
|
||||
discountVO.setConditionValue(chargeParkingDiscount.getConditionValue());
|
||||
discountVO.setDiscountType(chargeParkingDiscount.getDiscountType());
|
||||
discountVO.setDiscountType(Integer.valueOf(chargeParkingDiscount.getDiscountType()));
|
||||
discountVO.setDiscountValue(chargeParkingDiscount.getDiscountValue());
|
||||
discountVO.setStartTime(chargeParkingDiscount.getStartTime());
|
||||
discountVO.setEndTime(chargeParkingDiscount.getEndTime());
|
||||
|
||||
@@ -1839,8 +1839,8 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
||||
}
|
||||
// 校验分账
|
||||
verifyOrderAllAmount(afterSettleOrderDTO);
|
||||
// 根据站点id查询分账配置
|
||||
List<StationSplitConfig> stationSplitConfigList = stationSplitConfigService.queryByStationId(afterSettleOrderDTO.getStationId());
|
||||
// 根据站点id查询分账配置(如果未配置则初始化)
|
||||
List<StationSplitConfig> stationSplitConfigList = stationSplitConfigService.queryStationSplitConfigByStationId(afterSettleOrderDTO.getStationId());
|
||||
// 计算每个参与分账的用户, 应分多少钱
|
||||
List<SplitData> splitDataList = calculationSplitDataList(stationSplitConfigList, afterSettleOrderDTO);
|
||||
List<DivMember> divMemberList = transformDivMemberList(splitDataList);
|
||||
|
||||
@@ -59,6 +59,19 @@ public class StationSplitConfigServiceImpl implements StationSplitConfigService{
|
||||
return stationSplitConfigs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<StationSplitConfig> queryByStationIdWithInit(String stationId) {
|
||||
// 查询站点分账配置
|
||||
List<StationSplitConfig> stationSplitConfigs = this.queryByStationId(stationId);
|
||||
if (CollectionUtils.isEmpty(stationSplitConfigs)) {
|
||||
// 初始化
|
||||
this.initSplitConfig(stationId);
|
||||
// 再次查询
|
||||
stationSplitConfigs = this.queryByStationId(stationId);
|
||||
}
|
||||
return stationSplitConfigs;
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化站点分账配置
|
||||
* @param stationId 站点id
|
||||
@@ -92,15 +105,7 @@ public class StationSplitConfigServiceImpl implements StationSplitConfigService{
|
||||
|
||||
@Override
|
||||
public List<SplitConfigVO> querySplitConfigByStationId(String stationId) {
|
||||
List<StationSplitConfig> stationSplitConfigs = this.queryByStationId(stationId);
|
||||
|
||||
if (CollectionUtils.isEmpty(stationSplitConfigs)) {
|
||||
// 如果查询为空初始化数据
|
||||
initSplitConfig(stationId);
|
||||
// 再次查询
|
||||
stationSplitConfigs = this.queryByStationId(stationId);
|
||||
}
|
||||
|
||||
List<StationSplitConfig> stationSplitConfigs = this.queryByStationIdWithInit(stationId);
|
||||
List<SplitConfigVO> resultList = Lists.newArrayList();
|
||||
for (StationSplitConfig stationSplitConfig : stationSplitConfigs) {
|
||||
SplitConfigVO vo = new SplitConfigVO();
|
||||
|
||||
@@ -27,7 +27,6 @@ import com.jsowell.common.exception.BusinessException;
|
||||
import com.jsowell.common.util.AdapayUtil;
|
||||
import com.jsowell.common.util.DateUtils;
|
||||
import com.jsowell.common.util.StringUtils;
|
||||
import com.jsowell.common.util.YKCUtils;
|
||||
import com.jsowell.common.util.id.SnowflakeIdWorker;
|
||||
import com.jsowell.pile.domain.*;
|
||||
import com.jsowell.pile.domain.ebike.deviceupload.EBikeMessageCmd03;
|
||||
@@ -480,10 +479,11 @@ public class DelayMerchantProgramLogic extends AbstractProgramLogic {
|
||||
transactionService.doUpdateOrder(dto);
|
||||
|
||||
// 不在新分账逻辑站点列表中的, 可以走退款逻辑
|
||||
if (!YKCUtils.getNewLogicStationIdList().contains(orderBasicInfo.getStationId())) {
|
||||
// 订单退款
|
||||
refundOrder(orderBasicInfo);
|
||||
}
|
||||
// 2025年2月18日09点17分 全部订单改为实时分账
|
||||
// if (!YKCUtils.getNewLogicStationIdList().contains(orderBasicInfo.getStationId())) {
|
||||
// // 订单退款
|
||||
// refundOrder(orderBasicInfo);
|
||||
// }
|
||||
|
||||
// 订单退款
|
||||
// refundOrder(orderBasicInfo);
|
||||
|
||||
@@ -9,15 +9,25 @@ import java.time.LocalTime;
|
||||
*/
|
||||
@Data
|
||||
public class ChargeParkingDiscountVO {
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 站点id
|
||||
*/
|
||||
private String stationId;
|
||||
|
||||
/**
|
||||
* 停车平台id
|
||||
*/
|
||||
private Integer parkingPlatformId;
|
||||
|
||||
/**
|
||||
* 门槛类型 1-固定电量;2-固定时长
|
||||
*/
|
||||
private String conditionType;
|
||||
private Integer conditionType;
|
||||
|
||||
/**
|
||||
* 门槛值
|
||||
@@ -29,7 +39,7 @@ public class ChargeParkingDiscountVO {
|
||||
* 1-减时间单位分钟
|
||||
* 2-减金额单位元
|
||||
*/
|
||||
private String discountType;
|
||||
private Integer discountType;
|
||||
|
||||
/**
|
||||
* 优惠值
|
||||
|
||||
Reference in New Issue
Block a user