update 预约启动

This commit is contained in:
Guoqs
2024-07-02 15:24:36 +08:00
parent f924a43e8b
commit 222cf52289
11 changed files with 1562 additions and 6 deletions

View File

@@ -202,7 +202,10 @@ public class AdapayService {
// 封装对象
String amount = AdapayUtil.formatAmount(dto.getPayAmount()); // 用户支付金额
String delayMode = pileMerchantInfoService.getDelayModeByWechatAppId(dto.getWechatAppId());
String delayMode = dto.getDelayMode();
if (StringUtils.isBlank(delayMode)) {
delayMode = pileMerchantInfoService.getDelayModeByAlipayAppId(dto.getAlipayAppId());
}
String payMode = MerchantDelayModeEnum.getAdapayPayMode(delayMode);
CreateAdaPaymentParam createAdaPaymentParam = new CreateAdaPaymentParam();
// 请求订单号, 防止请求订单号重复,结尾拼接时间

View File

@@ -0,0 +1,176 @@
package com.jsowell.pile.domain;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import lombok.experimental.SuperBuilder;
/**
* 个人充电桩的充电记录
*/
@Data
@Accessors(chain = true)
@SuperBuilder
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class PersonalChargingRecord {
/**
* 主键
*/
private Integer id;
/**
* 交易流水号
*/
private String transactionCode;
/**
* 订单状态(0-未启动1-充电中2-待结算3-待补缴4-异常5-可疑6-订单完成7-超时关闭)
*/
private String status;
/**
* 会员id
*/
private String memberId;
/**
* 站点id
*/
private String stationId;
/**
* 运营商id
*/
private String merchantId;
/**
* 充电桩sn
*/
private String pileSn;
/**
* 充电桩枪口号
*/
private String connectorCode;
/**
* 充电桩枪口编号
*/
private String pileConnectorCode;
/**
* 卡启动时的卡号
*/
private String logicCard;
/**
* vin启动时的vin码
*/
private String vinCode;
/**
* 启动方式0-后管启动1-用户app启动2-卡启动3-离线卡启动; 4-第三方平台启动; 5-车辆vin码启动
*/
private String startMode;
/**
* 车牌号码
*/
private String plateNumber;
/**
* 充电开始时间
*/
private Date chargeStartTime;
/**
* 充电结束时间
*/
private Date chargeEndTime;
/**
* 启动类型now-立即启动reservation-预约启动)
*/
private String startType;
/**
* 预约开始时间
*/
private Date reservationStartTime;
/**
* 预约结束时间
*/
private Date reservationEndTime;
/**
* 开始SOC
*/
private String startSoc;
/**
* 结束SOC
*/
private String endSoc;
/**
* 总用电量
*/
private BigDecimal totalUsedElectricity;
/**
* 尖时段用电量
*/
private BigDecimal sharpUsedElectricity;
/**
* 峰时段用电量
*/
private BigDecimal peakUsedElectricity;
/**
* 平时段用电量
*/
private BigDecimal flatUsedElectricity;
/**
* 谷时段用电量
*/
private BigDecimal valleyUsedElectricity;
/**
* 异常原因
*/
private String reason;
/**
* 创建人
*/
private String createBy;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新人
*/
private String updateBy;
/**
* 更新时间
*/
private Date updateTime;
/**
* 删除标识0-正常1-删除)
*/
private String delFlag;
}

View File

@@ -83,7 +83,7 @@ public class PayOrderDTO extends BaseDTO{
private String goodsDesc;
/**
*
* 延迟模式
*/
private String delayMode;

View File

@@ -0,0 +1,29 @@
package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.PersonalChargingRecord;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface PersonalChargingRecordMapper {
int deleteByPrimaryKey(Integer id);
int insert(PersonalChargingRecord record);
int insertOrUpdate(PersonalChargingRecord record);
int insertOrUpdateSelective(PersonalChargingRecord record);
int insertSelective(PersonalChargingRecord record);
PersonalChargingRecord selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(PersonalChargingRecord record);
int updateByPrimaryKey(PersonalChargingRecord record);
int updateBatch(List<PersonalChargingRecord> list);
int updateBatchSelective(List<PersonalChargingRecord> list);
int batchInsert(@Param("list") List<PersonalChargingRecord> list);
}

View File

@@ -0,0 +1,30 @@
package com.jsowell.pile.service;
import java.util.List;
import com.jsowell.pile.domain.PersonalChargingRecord;
public interface PersonalChargingRecordService{
int deleteByPrimaryKey(Integer id);
int insert(PersonalChargingRecord record);
int insertOrUpdate(PersonalChargingRecord record);
int insertOrUpdateSelective(PersonalChargingRecord record);
int insertSelective(PersonalChargingRecord record);
PersonalChargingRecord selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(PersonalChargingRecord record);
int updateByPrimaryKey(PersonalChargingRecord record);
int updateBatch(List<PersonalChargingRecord> list);
int updateBatchSelective(List<PersonalChargingRecord> list);
int batchInsert(List<PersonalChargingRecord> list);
}

View File

@@ -287,7 +287,7 @@ public class PileRemoteService {
}
/**
* 预约充电指令
* 预约充电指令/预约指令
*/
public void reservationCharging(ReservationChargingCommand command) {
ykcPushCommandService.pushReservationChargingCommand(command);

View File

@@ -0,0 +1,70 @@
package com.jsowell.pile.service.impl;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import com.jsowell.pile.mapper.PersonalChargingRecordMapper;
import com.jsowell.pile.domain.PersonalChargingRecord;
import com.jsowell.pile.service.PersonalChargingRecordService;
@Service
public class PersonalChargingRecordServiceImpl implements PersonalChargingRecordService{
@Resource
private PersonalChargingRecordMapper personalChargingRecordMapper;
@Override
public int deleteByPrimaryKey(Integer id) {
return personalChargingRecordMapper.deleteByPrimaryKey(id);
}
@Override
public int insert(PersonalChargingRecord record) {
return personalChargingRecordMapper.insert(record);
}
@Override
public int insertOrUpdate(PersonalChargingRecord record) {
return personalChargingRecordMapper.insertOrUpdate(record);
}
@Override
public int insertOrUpdateSelective(PersonalChargingRecord record) {
return personalChargingRecordMapper.insertOrUpdateSelective(record);
}
@Override
public int insertSelective(PersonalChargingRecord record) {
return personalChargingRecordMapper.insertSelective(record);
}
@Override
public PersonalChargingRecord selectByPrimaryKey(Integer id) {
return personalChargingRecordMapper.selectByPrimaryKey(id);
}
@Override
public int updateByPrimaryKeySelective(PersonalChargingRecord record) {
return personalChargingRecordMapper.updateByPrimaryKeySelective(record);
}
@Override
public int updateByPrimaryKey(PersonalChargingRecord record) {
return personalChargingRecordMapper.updateByPrimaryKey(record);
}
@Override
public int updateBatch(List<PersonalChargingRecord> list) {
return personalChargingRecordMapper.updateBatch(list);
}
@Override
public int updateBatchSelective(List<PersonalChargingRecord> list) {
return personalChargingRecordMapper.updateBatchSelective(list);
}
@Override
public int batchInsert(List<PersonalChargingRecord> list) {
return personalChargingRecordMapper.batchInsert(list);
}
}

View File

@@ -488,6 +488,7 @@ public class YKCPushCommandServiceImpl implements YKCPushCommandService {
// 交易流水号
String transactionCode = command.getTransactionCode();
byte[] transactionCodeArr = BytesUtil.str2Bcd(transactionCode);
transactionCodeArr = BytesUtil.ensureLength(transactionCodeArr, 16);
// 桩编号
String pileSn = command.getPileSn();
@@ -511,21 +512,21 @@ public class YKCPushCommandServiceImpl implements YKCPushCommandService {
vin1 = Constants.ZERO;
}
byte[] vin1ByteArr = BytesUtil.str2Bcd(vin1);
vin1ByteArr = BytesUtil.checkLengthAndBehindAppendZero(vin1ByteArr, 17);
vin1ByteArr = BytesUtil.ensureLength(vin1ByteArr, 17);
String vin2 = command.getVin2();
if (StringUtils.isBlank(vin2)) {
vin2 = Constants.ZERO;
}
byte[] vin2ByteArr = BytesUtil.str2Bcd(vin2);
vin2ByteArr = BytesUtil.checkLengthAndBehindAppendZero(vin2ByteArr, 17);
vin2ByteArr = BytesUtil.ensureLength(vin2ByteArr, 17);
String vin3 = command.getVin3();
if (StringUtils.isBlank(vin3)) {
vin3 = Constants.ZERO;
}
byte[] vin3ByteArr = BytesUtil.str2Bcd(vin3);
vin3ByteArr = BytesUtil.checkLengthAndBehindAppendZero(vin3ByteArr, 17);
vin3ByteArr = BytesUtil.ensureLength(vin3ByteArr, 17);
// 开始时间
LocalTime reservedStartTime = command.getReservedStartTime();