mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-05-07 19:40:07 +08:00
Merge branch 'dev' of http://192.168.2.46:8099/jsowell/jsowell-charger-web into dev
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询充电中的订单,没有数据权限校验,后管不要用
|
* 查询充电中的订单,没有数据权限校验,后管不要用
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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>
|
||||||
Reference in New Issue
Block a user