mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-07-10 17:19:36 +08:00
update 预约启动
This commit is contained in:
@@ -205,6 +205,7 @@ public class OrderService {
|
|||||||
} else if (StringUtils.equals(dto.getRequestSource(), AdapayPayChannelEnum.ALIPAY_LITE.getValue())) {
|
} else if (StringUtils.equals(dto.getRequestSource(), AdapayPayChannelEnum.ALIPAY_LITE.getValue())) {
|
||||||
delayMode = pileMerchantInfoService.getDelayModeByAlipayAppId(dto.getAlipayAppId());
|
delayMode = pileMerchantInfoService.getDelayModeByAlipayAppId(dto.getAlipayAppId());
|
||||||
}
|
}
|
||||||
|
dto.setDelayMode(delayMode);
|
||||||
|
|
||||||
// 获取处理逻辑
|
// 获取处理逻辑
|
||||||
AbstractProgramLogic orderLogic = ProgramLogicFactory.getProgramLogic(delayMode);
|
AbstractProgramLogic orderLogic = ProgramLogicFactory.getProgramLogic(delayMode);
|
||||||
|
|||||||
@@ -262,6 +262,37 @@ public class SpringBootTestController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private NotificationService notificationService;
|
private NotificationService notificationService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private PileReservationInfoService pileReservationInfoService;
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void activateReservedTest() {
|
||||||
|
PileReservationDTO dto = new PileReservationDTO();
|
||||||
|
dto.setReservedId("15");
|
||||||
|
dto.setMemberId("25950857");
|
||||||
|
// 启用
|
||||||
|
pileReservationInfoService.activateReserved(dto);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void payOrderV2Test() {
|
||||||
|
String s = "{\n" +
|
||||||
|
" \"alipayAppId\": \"2021004145642756\",\n" +
|
||||||
|
" \"code\": \"10bb693b0f2346dcb9b70d92322dNC91\",\n" +
|
||||||
|
" \"goodsDesc\": \"充电桩预付款金额\",\n" +
|
||||||
|
" \"goodsTitle\": \"充电费用\",\n" +
|
||||||
|
" \"lockValue\": \"f0f6a356-a720-49d1-ad21-bb685af91703\",\n" +
|
||||||
|
" \"memberId\": \"65622699\",\n" +
|
||||||
|
" \"orderCode\": \"C84239627240\",\n" +
|
||||||
|
" \"payAmount\": 50,\n" +
|
||||||
|
" \"payMode\": \"5\",\n" +
|
||||||
|
" \"requestSource\": \"alipay_lite\",\n" +
|
||||||
|
" \"type\": \"order\"\n" +
|
||||||
|
"}";
|
||||||
|
PayOrderDTO dto = JSON.parseObject(s, PayOrderDTO.class);
|
||||||
|
orderService.payOrderV2(dto);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void queryPaymentReverseTest2() {
|
public void queryPaymentReverseTest2() {
|
||||||
String paymentId = "002212024061717243610648707836701741056";
|
String paymentId = "002212024061717243610648707836701741056";
|
||||||
|
|||||||
@@ -202,7 +202,10 @@ public class AdapayService {
|
|||||||
|
|
||||||
// 封装对象
|
// 封装对象
|
||||||
String amount = AdapayUtil.formatAmount(dto.getPayAmount()); // 用户支付金额
|
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);
|
String payMode = MerchantDelayModeEnum.getAdapayPayMode(delayMode);
|
||||||
CreateAdaPaymentParam createAdaPaymentParam = new CreateAdaPaymentParam();
|
CreateAdaPaymentParam createAdaPaymentParam = new CreateAdaPaymentParam();
|
||||||
// 请求订单号, 防止请求订单号重复,结尾拼接时间
|
// 请求订单号, 防止请求订单号重复,结尾拼接时间
|
||||||
|
|||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -83,7 +83,7 @@ public class PayOrderDTO extends BaseDTO{
|
|||||||
private String goodsDesc;
|
private String goodsDesc;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
* 延迟模式
|
||||||
*/
|
*/
|
||||||
private String delayMode;
|
private String delayMode;
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
}
|
||||||
@@ -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);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -287,7 +287,7 @@ public class PileRemoteService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 预约充电指令
|
* 预约充电指令/预约指令
|
||||||
*/
|
*/
|
||||||
public void reservationCharging(ReservationChargingCommand command) {
|
public void reservationCharging(ReservationChargingCommand command) {
|
||||||
ykcPushCommandService.pushReservationChargingCommand(command);
|
ykcPushCommandService.pushReservationChargingCommand(command);
|
||||||
|
|||||||
@@ -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);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -488,6 +488,7 @@ public class YKCPushCommandServiceImpl implements YKCPushCommandService {
|
|||||||
// 交易流水号
|
// 交易流水号
|
||||||
String transactionCode = command.getTransactionCode();
|
String transactionCode = command.getTransactionCode();
|
||||||
byte[] transactionCodeArr = BytesUtil.str2Bcd(transactionCode);
|
byte[] transactionCodeArr = BytesUtil.str2Bcd(transactionCode);
|
||||||
|
transactionCodeArr = BytesUtil.ensureLength(transactionCodeArr, 16);
|
||||||
|
|
||||||
// 桩编号
|
// 桩编号
|
||||||
String pileSn = command.getPileSn();
|
String pileSn = command.getPileSn();
|
||||||
@@ -511,21 +512,21 @@ public class YKCPushCommandServiceImpl implements YKCPushCommandService {
|
|||||||
vin1 = Constants.ZERO;
|
vin1 = Constants.ZERO;
|
||||||
}
|
}
|
||||||
byte[] vin1ByteArr = BytesUtil.str2Bcd(vin1);
|
byte[] vin1ByteArr = BytesUtil.str2Bcd(vin1);
|
||||||
vin1ByteArr = BytesUtil.checkLengthAndBehindAppendZero(vin1ByteArr, 17);
|
vin1ByteArr = BytesUtil.ensureLength(vin1ByteArr, 17);
|
||||||
|
|
||||||
String vin2 = command.getVin2();
|
String vin2 = command.getVin2();
|
||||||
if (StringUtils.isBlank(vin2)) {
|
if (StringUtils.isBlank(vin2)) {
|
||||||
vin2 = Constants.ZERO;
|
vin2 = Constants.ZERO;
|
||||||
}
|
}
|
||||||
byte[] vin2ByteArr = BytesUtil.str2Bcd(vin2);
|
byte[] vin2ByteArr = BytesUtil.str2Bcd(vin2);
|
||||||
vin2ByteArr = BytesUtil.checkLengthAndBehindAppendZero(vin2ByteArr, 17);
|
vin2ByteArr = BytesUtil.ensureLength(vin2ByteArr, 17);
|
||||||
|
|
||||||
String vin3 = command.getVin3();
|
String vin3 = command.getVin3();
|
||||||
if (StringUtils.isBlank(vin3)) {
|
if (StringUtils.isBlank(vin3)) {
|
||||||
vin3 = Constants.ZERO;
|
vin3 = Constants.ZERO;
|
||||||
}
|
}
|
||||||
byte[] vin3ByteArr = BytesUtil.str2Bcd(vin3);
|
byte[] vin3ByteArr = BytesUtil.str2Bcd(vin3);
|
||||||
vin3ByteArr = BytesUtil.checkLengthAndBehindAppendZero(vin3ByteArr, 17);
|
vin3ByteArr = BytesUtil.ensureLength(vin3ByteArr, 17);
|
||||||
|
|
||||||
// 开始时间
|
// 开始时间
|
||||||
LocalTime reservedStartTime = command.getReservedStartTime();
|
LocalTime reservedStartTime = command.getReservedStartTime();
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user