This commit is contained in:
Lemon
2024-08-12 13:33:19 +08:00
6 changed files with 94 additions and 19 deletions

View File

@@ -283,6 +283,10 @@ public class PileService {
// 不一致则此桩不是个人桩 // 不一致则此桩不是个人桩
throw new BusinessException(ReturnCodeEnum.CODE_THIS_PILE_NOT_PERSONAL_PILE); throw new BusinessException(ReturnCodeEnum.CODE_THIS_PILE_NOT_PERSONAL_PILE);
} }
// 初始化个人桩预约信息
pileReservationInfoService.initPersonalPileReservation(dto.getPileSn(), null);
// 检查桩是否已经被绑定 // 检查桩是否已经被绑定
PileMemberRelation pileMemberRelation = new PileMemberRelation(); PileMemberRelation pileMemberRelation = new PileMemberRelation();
pileMemberRelation.setPileSn(dto.getPileSn()); pileMemberRelation.setPileSn(dto.getPileSn());
@@ -298,7 +302,7 @@ public class PileService {
} }
// 密钥正确,且桩未被绑定,则此用户为管理员 // 密钥正确,且桩未被绑定,则此用户为管理员
pileMemberRelation.setMemberId(dto.getMemberId()); pileMemberRelation.setMemberId(dto.getMemberId());
pileMemberRelation.setType("1"); // 1-管理员 pileMemberRelation.setType(Constants.ONE); // 1-管理员
return pileMemberRelationService.insertPileMemberRelation(pileMemberRelation); return pileMemberRelationService.insertPileMemberRelation(pileMemberRelation);
} }
@@ -602,4 +606,6 @@ public class PileService {
return String.valueOf(i); return String.valueOf(i);
} }
} }

View File

@@ -1,11 +1,10 @@
package com.jsowell.pile.mapper; package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.PileReservationInfo; import com.jsowell.pile.domain.PileReservationInfo;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface PileReservationInfoMapper { public interface PileReservationInfoMapper {
int deleteByPrimaryKey(Integer id); int deleteByPrimaryKey(Integer id);
@@ -36,4 +35,6 @@ public interface PileReservationInfoMapper {
PileReservationInfo selectActiveReservationByPileConnectorCode(String pileConnectorCode); PileReservationInfo selectActiveReservationByPileConnectorCode(String pileConnectorCode);
PileReservationInfo selectByPileConnectorCode(String pileConnectorCode); PileReservationInfo selectByPileConnectorCode(String pileConnectorCode);
PileReservationInfo selectByPileSn(String pileSn);
} }

View File

@@ -73,5 +73,9 @@ public interface PileReservationInfoService {
void personPileStopCharging(PersonPileStopChargingDTO dto); void personPileStopCharging(PersonPileStopChargingDTO dto);
PileReservationInfoVO queryReservationInfo(PileReservationDTO dto); PileReservationInfoVO queryReservationInfo(PileReservationDTO dto);
void initPersonalPileReservation(String pileConnectorCode);
void initPersonalPileReservation(String pileSn, String connectorCode);
} }

View File

@@ -49,12 +49,14 @@ import com.jsowell.pile.transaction.dto.ClearingBillTransactionDTO;
import com.jsowell.pile.transaction.dto.OrderTransactionDTO; import com.jsowell.pile.transaction.dto.OrderTransactionDTO;
import com.jsowell.pile.transaction.service.TransactionService; import com.jsowell.pile.transaction.service.TransactionService;
import com.jsowell.pile.util.UserUtils; import com.jsowell.pile.util.UserUtils;
import com.jsowell.pile.vo.uniapp.business.BusinessOrderDetailInfoVO;
import com.jsowell.pile.vo.SupStationStatsVO; import com.jsowell.pile.vo.SupStationStatsVO;
import com.jsowell.pile.vo.base.MerchantOrderInfoVO;
import com.jsowell.pile.vo.base.OrderAmountDetailVO;
import com.jsowell.pile.vo.base.OrderPeriodAmountVO;
import com.jsowell.pile.vo.base.PileInfoVO; import com.jsowell.pile.vo.base.PileInfoVO;
import com.jsowell.pile.vo.base.*;
import com.jsowell.pile.vo.lianlian.AccumulativeInfoVO; import com.jsowell.pile.vo.lianlian.AccumulativeInfoVO;
import com.jsowell.pile.vo.nanrui.JiangSuOrderInfoVO; import com.jsowell.pile.vo.nanrui.JiangSuOrderInfoVO;
import com.jsowell.pile.vo.uniapp.business.BusinessOrderDetailInfoVO;
import com.jsowell.pile.vo.uniapp.customer.*; import com.jsowell.pile.vo.uniapp.customer.*;
import com.jsowell.pile.vo.web.*; import com.jsowell.pile.vo.web.*;
import com.jsowell.wxpay.common.WeChatPayParameter; import com.jsowell.wxpay.common.WeChatPayParameter;
@@ -72,6 +74,7 @@ import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
@@ -551,6 +554,7 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
} }
if (currentTimeMillis - time < 1000 * 60 * 15) { if (currentTimeMillis - time < 1000 * 60 * 15) {
logger.info("currentTimeMillis:{} - time:{} = {}", currentTimeMillis, time, currentTimeMillis - time);
continue; continue;
} }
// 已经支付超过15分钟 判断充电桩的状态 // 已经支付超过15分钟 判断充电桩的状态
@@ -565,11 +569,26 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
List<RealTimeMonitorData> chargingRealTimeData = getChargingRealTimeData(orderBasicInfo.getTransactionCode()); List<RealTimeMonitorData> chargingRealTimeData = getChargingRealTimeData(orderBasicInfo.getTransactionCode());
if (CollectionUtils.isEmpty(chargingRealTimeData)) { if (CollectionUtils.isEmpty(chargingRealTimeData)) {
// 充电桩在线并且没有0x13实时数据则执行结算退款操作 // 充电桩在线并且没有0x13实时数据则执行结算退款操作
chargingPileFailedToStart(orderBasicInfo.getTransactionCode(), "充电桩启动失败,执行退款处理"); chargingPileFailedToStart(orderBasicInfo.getTransactionCode(), "充电桩启动失败,充电订单:" + orderBasicInfo.getOrderCode() + "执行退款处理");
} }
} }
} }
public static void main(String[] args) {
long currentTimeMillis = System.currentTimeMillis();
String str1 = "2024-08-12 09:41:02";
// Date time = Date.parse();
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date parse = null;
try {
parse = sdf1.parse(str1);
} catch (ParseException e) {
throw new RuntimeException(e);
}
System.out.println(currentTimeMillis - parse.getTime());
}
/** /**
* 查询充电中的订单,没有数据权限校验,后管不要用 * 查询充电中的订单,没有数据权限校验,后管不要用
* *

View File

@@ -14,11 +14,13 @@ import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.util.DateUtils; import com.jsowell.common.util.DateUtils;
import com.jsowell.common.util.StringUtils; import com.jsowell.common.util.StringUtils;
import com.jsowell.pile.domain.PileMemberRelation; import com.jsowell.pile.domain.PileMemberRelation;
import com.jsowell.pile.domain.PileReservationInfo;
import com.jsowell.pile.domain.ykcCommond.ReservationChargingCommand; import com.jsowell.pile.domain.ykcCommond.ReservationChargingCommand;
import com.jsowell.pile.dto.CreateReservedDTO; import com.jsowell.pile.dto.CreateReservedDTO;
import com.jsowell.pile.dto.PersonPileStopChargingDTO; import com.jsowell.pile.dto.PersonPileStopChargingDTO;
import com.jsowell.pile.dto.PileReservationDTO; import com.jsowell.pile.dto.PileReservationDTO;
import com.jsowell.pile.dto.StartPersonPileDTO; import com.jsowell.pile.dto.StartPersonPileDTO;
import com.jsowell.pile.mapper.PileReservationInfoMapper;
import com.jsowell.pile.service.*; import com.jsowell.pile.service.*;
import com.jsowell.pile.vo.PileReservationInfoVO; import com.jsowell.pile.vo.PileReservationInfoVO;
import com.jsowell.pile.vo.uniapp.customer.MemberPlateNumberVO; import com.jsowell.pile.vo.uniapp.customer.MemberPlateNumberVO;
@@ -36,9 +38,6 @@ import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.jsowell.pile.mapper.PileReservationInfoMapper;
import com.jsowell.pile.domain.PileReservationInfo;
@Slf4j @Slf4j
@Service @Service
public class PileReservationInfoServiceImpl implements PileReservationInfoService { public class PileReservationInfoServiceImpl implements PileReservationInfoService {
@@ -520,16 +519,8 @@ public class PileReservationInfoServiceImpl implements PileReservationInfoServic
PileReservationInfo pileReservationInfo = pileReservationInfoMapper.selectByPileConnectorCode(dto.getPileConnectorCode()); PileReservationInfo pileReservationInfo = pileReservationInfoMapper.selectByPileConnectorCode(dto.getPileConnectorCode());
String pileSn = StringUtils.substring(dto.getPileConnectorCode(), 0, 14); String pileSn = StringUtils.substring(dto.getPileConnectorCode(), 0, 14);
if (pileReservationInfo == null) { if (pileReservationInfo == null) {
pileReservationInfo = new PileReservationInfo(); // 初始化预约信息
pileReservationInfo.setPileSn(pileSn); initPersonalPileReservation(dto.getPileConnectorCode());
pileReservationInfo.setPileConnectorCode(dto.getPileConnectorCode());
pileReservationInfo.setStartTime(Time.valueOf("09:00:00"));
pileReservationInfo.setEndTime(Time.valueOf("20:00:00"));
pileReservationInfo.setVerifyIdentity(Constants.ZERO);
pileReservationInfo.setStatus(Constants.ZERO);
pileReservationInfo.setDelFlag("0");
pileReservationInfoMapper.insert(pileReservationInfo);
} }
PileReservationInfoVO build = PileReservationInfoVO.builder() PileReservationInfoVO build = PileReservationInfoVO.builder()
.reservedId(pileReservationInfo.getId() + "") .reservedId(pileReservationInfo.getId() + "")
@@ -543,5 +534,51 @@ public class PileReservationInfoServiceImpl implements PileReservationInfoServic
.build(); .build();
return build; return build;
} }
/**
* 初始化个人桩预约信息
* @param pileConnectorCode 充电桩枪口编号
*/
@Override
public void initPersonalPileReservation(String pileConnectorCode) {
if (StringUtils.isBlank(pileConnectorCode)) {
log.error("初始化个人桩预约信息, pileConnectorCode不能为空");
return;
}
String pileSn = pileConnectorCode.substring(0, pileConnectorCode.length() - 2);
// 查询个人桩预约信息
PileReservationInfo pileReservationInfo = pileReservationInfoMapper.selectByPileConnectorCode(pileConnectorCode);
// 新建预约
if (pileReservationInfo == null) {
pileReservationInfo = new PileReservationInfo();
pileReservationInfo.setPileSn(pileSn);
pileReservationInfo.setPileConnectorCode(pileConnectorCode);
pileReservationInfo.setStartTime(Time.valueOf("21:00:00"));
pileReservationInfo.setEndTime(Time.valueOf("23:00:00"));
pileReservationInfo.setVerifyIdentity(Constants.ZERO);
pileReservationInfo.setStatus(Constants.ZERO);
pileReservationInfo.setDelFlag("0");
pileReservationInfoMapper.insert(pileReservationInfo);
log.info("未查询到个人桩预约信息, 初始化个人桩预约信息:{}", JSON.toJSONString(pileReservationInfo));
}
}
/**
* 初始化个人桩预约信息
* @param pileSn 充电桩编号
* @param connectorCode 枪口号, 不传默认01
*/
@Override
public void initPersonalPileReservation(String pileSn, String connectorCode) {
if (StringUtils.isBlank(pileSn)) {
log.error("初始化个人桩预约信息, pileSn不能为空");
return;
}
if (StringUtils.isBlank(connectorCode)) {
connectorCode = "01";
}
String pileConnectorCode = pileSn + connectorCode;
this.initPersonalPileReservation(pileConnectorCode);
}
} }

View File

@@ -660,4 +660,12 @@
where del_flag = '0' where del_flag = '0'
and pile_connector_code = #{pileConnectorCode,jdbcType=VARCHAR} and pile_connector_code = #{pileConnectorCode,jdbcType=VARCHAR}
</select> </select>
<select id="selectByPileSn" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from pile_reservation_info
where del_flag = '0'
and pile_sn = #{pileSn,jdbcType=VARCHAR}
</select>
</mapper> </mapper>