diff --git a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java index c56875ba9..7e47adc54 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/OrderService.java @@ -205,6 +205,7 @@ public class OrderService { } else if (StringUtils.equals(dto.getRequestSource(), AdapayPayChannelEnum.ALIPAY_LITE.getValue())) { delayMode = pileMerchantInfoService.getDelayModeByAlipayAppId(dto.getAlipayAppId()); } + dto.setDelayMode(delayMode); // 获取处理逻辑 AbstractProgramLogic orderLogic = ProgramLogicFactory.getProgramLogic(delayMode); diff --git a/jsowell-admin/src/test/java/SpringBootTestController.java b/jsowell-admin/src/test/java/SpringBootTestController.java index 3af7b2933..d159090b7 100644 --- a/jsowell-admin/src/test/java/SpringBootTestController.java +++ b/jsowell-admin/src/test/java/SpringBootTestController.java @@ -262,6 +262,37 @@ public class SpringBootTestController { @Autowired 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 public void queryPaymentReverseTest2() { String paymentId = "002212024061717243610648707836701741056"; diff --git a/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayService.java b/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayService.java index 76c3f846a..4f7a41343 100644 --- a/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayService.java +++ b/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayService.java @@ -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(); // 请求订单号, 防止请求订单号重复,结尾拼接时间 diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/domain/PersonalChargingRecord.java b/jsowell-pile/src/main/java/com/jsowell/pile/domain/PersonalChargingRecord.java new file mode 100644 index 000000000..ece957c1f --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/domain/PersonalChargingRecord.java @@ -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; +} \ No newline at end of file diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/PayOrderDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/PayOrderDTO.java index 570311918..ee9d78a3b 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/dto/PayOrderDTO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/PayOrderDTO.java @@ -83,7 +83,7 @@ public class PayOrderDTO extends BaseDTO{ private String goodsDesc; /** - * + * 延迟模式 */ private String delayMode; diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PersonalChargingRecordMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PersonalChargingRecordMapper.java new file mode 100644 index 000000000..576e8ffff --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PersonalChargingRecordMapper.java @@ -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 list); + + int updateBatchSelective(List list); + + int batchInsert(@Param("list") List list); +} \ No newline at end of file diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/PersonalChargingRecordService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/PersonalChargingRecordService.java new file mode 100644 index 000000000..36b84886e --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/PersonalChargingRecordService.java @@ -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 list); + + int updateBatchSelective(List list); + + int batchInsert(List list); + +} diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/PileRemoteService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/PileRemoteService.java index 1cbb1532c..193cad20b 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/PileRemoteService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/PileRemoteService.java @@ -287,7 +287,7 @@ public class PileRemoteService { } /** - * 预约充电指令 + * 预约充电指令/预约指令 */ public void reservationCharging(ReservationChargingCommand command) { ykcPushCommandService.pushReservationChargingCommand(command); diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PersonalChargingRecordServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PersonalChargingRecordServiceImpl.java new file mode 100644 index 000000000..abdc49767 --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PersonalChargingRecordServiceImpl.java @@ -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 list) { + return personalChargingRecordMapper.updateBatch(list); + } + + @Override + public int updateBatchSelective(List list) { + return personalChargingRecordMapper.updateBatchSelective(list); + } + + @Override + public int batchInsert(List list) { + return personalChargingRecordMapper.batchInsert(list); + } + +} diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/YKCPushCommandServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/YKCPushCommandServiceImpl.java index fc50a0706..31b085ce6 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/YKCPushCommandServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/YKCPushCommandServiceImpl.java @@ -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(); diff --git a/jsowell-pile/src/main/resources/mapper/pile/PersonalChargingRecordMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/PersonalChargingRecordMapper.xml new file mode 100644 index 000000000..16c615b2a --- /dev/null +++ b/jsowell-pile/src/main/resources/mapper/pile/PersonalChargingRecordMapper.xml @@ -0,0 +1,1215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, transaction_code, `status`, member_id, station_id, merchant_id, pile_sn, connector_code, + pile_connector_code, logic_card, vin_code, start_mode, plate_number, charge_start_time, + charge_end_time, start_type, reservation_start_time, reservation_end_time, start_soc, + end_soc, total_used_electricity, sharp_used_electricity, peak_used_electricity, flat_used_electricity, + valley_used_electricity, reason, create_by, create_time, update_by, update_time, + del_flag + + + + + delete from personal_charging_record + where id = #{id,jdbcType=INTEGER} + + + + insert into personal_charging_record (transaction_code, `status`, member_id, + station_id, merchant_id, pile_sn, + connector_code, pile_connector_code, logic_card, + vin_code, start_mode, plate_number, + charge_start_time, charge_end_time, start_type, + reservation_start_time, reservation_end_time, + start_soc, end_soc, total_used_electricity, + sharp_used_electricity, peak_used_electricity, + flat_used_electricity, valley_used_electricity, + reason, create_by, create_time, + update_by, update_time, del_flag + ) + values (#{transactionCode,jdbcType=VARCHAR}, #{status,jdbcType=VARCHAR}, #{memberId,jdbcType=VARCHAR}, + #{stationId,jdbcType=VARCHAR}, #{merchantId,jdbcType=VARCHAR}, #{pileSn,jdbcType=VARCHAR}, + #{connectorCode,jdbcType=VARCHAR}, #{pileConnectorCode,jdbcType=VARCHAR}, #{logicCard,jdbcType=VARCHAR}, + #{vinCode,jdbcType=VARCHAR}, #{startMode,jdbcType=VARCHAR}, #{plateNumber,jdbcType=VARCHAR}, + #{chargeStartTime,jdbcType=TIMESTAMP}, #{chargeEndTime,jdbcType=TIMESTAMP}, #{startType,jdbcType=VARCHAR}, + #{reservationStartTime,jdbcType=TIMESTAMP}, #{reservationEndTime,jdbcType=TIMESTAMP}, + #{startSoc,jdbcType=VARCHAR}, #{endSoc,jdbcType=VARCHAR}, #{totalUsedElectricity,jdbcType=DECIMAL}, + #{sharpUsedElectricity,jdbcType=DECIMAL}, #{peakUsedElectricity,jdbcType=DECIMAL}, + #{flatUsedElectricity,jdbcType=DECIMAL}, #{valleyUsedElectricity,jdbcType=DECIMAL}, + #{reason,jdbcType=VARCHAR}, #{createBy,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, + #{updateBy,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, #{delFlag,jdbcType=CHAR} + ) + + + + insert into personal_charging_record + + + transaction_code, + + + `status`, + + + member_id, + + + station_id, + + + merchant_id, + + + pile_sn, + + + connector_code, + + + pile_connector_code, + + + logic_card, + + + vin_code, + + + start_mode, + + + plate_number, + + + charge_start_time, + + + charge_end_time, + + + start_type, + + + reservation_start_time, + + + reservation_end_time, + + + start_soc, + + + end_soc, + + + total_used_electricity, + + + sharp_used_electricity, + + + peak_used_electricity, + + + flat_used_electricity, + + + valley_used_electricity, + + + reason, + + + create_by, + + + create_time, + + + update_by, + + + update_time, + + + del_flag, + + + + + #{transactionCode,jdbcType=VARCHAR}, + + + #{status,jdbcType=VARCHAR}, + + + #{memberId,jdbcType=VARCHAR}, + + + #{stationId,jdbcType=VARCHAR}, + + + #{merchantId,jdbcType=VARCHAR}, + + + #{pileSn,jdbcType=VARCHAR}, + + + #{connectorCode,jdbcType=VARCHAR}, + + + #{pileConnectorCode,jdbcType=VARCHAR}, + + + #{logicCard,jdbcType=VARCHAR}, + + + #{vinCode,jdbcType=VARCHAR}, + + + #{startMode,jdbcType=VARCHAR}, + + + #{plateNumber,jdbcType=VARCHAR}, + + + #{chargeStartTime,jdbcType=TIMESTAMP}, + + + #{chargeEndTime,jdbcType=TIMESTAMP}, + + + #{startType,jdbcType=VARCHAR}, + + + #{reservationStartTime,jdbcType=TIMESTAMP}, + + + #{reservationEndTime,jdbcType=TIMESTAMP}, + + + #{startSoc,jdbcType=VARCHAR}, + + + #{endSoc,jdbcType=VARCHAR}, + + + #{totalUsedElectricity,jdbcType=DECIMAL}, + + + #{sharpUsedElectricity,jdbcType=DECIMAL}, + + + #{peakUsedElectricity,jdbcType=DECIMAL}, + + + #{flatUsedElectricity,jdbcType=DECIMAL}, + + + #{valleyUsedElectricity,jdbcType=DECIMAL}, + + + #{reason,jdbcType=VARCHAR}, + + + #{createBy,jdbcType=VARCHAR}, + + + #{createTime,jdbcType=TIMESTAMP}, + + + #{updateBy,jdbcType=VARCHAR}, + + + #{updateTime,jdbcType=TIMESTAMP}, + + + #{delFlag,jdbcType=CHAR}, + + + + + + update personal_charging_record + + + transaction_code = #{transactionCode,jdbcType=VARCHAR}, + + + `status` = #{status,jdbcType=VARCHAR}, + + + member_id = #{memberId,jdbcType=VARCHAR}, + + + station_id = #{stationId,jdbcType=VARCHAR}, + + + merchant_id = #{merchantId,jdbcType=VARCHAR}, + + + pile_sn = #{pileSn,jdbcType=VARCHAR}, + + + connector_code = #{connectorCode,jdbcType=VARCHAR}, + + + pile_connector_code = #{pileConnectorCode,jdbcType=VARCHAR}, + + + logic_card = #{logicCard,jdbcType=VARCHAR}, + + + vin_code = #{vinCode,jdbcType=VARCHAR}, + + + start_mode = #{startMode,jdbcType=VARCHAR}, + + + plate_number = #{plateNumber,jdbcType=VARCHAR}, + + + charge_start_time = #{chargeStartTime,jdbcType=TIMESTAMP}, + + + charge_end_time = #{chargeEndTime,jdbcType=TIMESTAMP}, + + + start_type = #{startType,jdbcType=VARCHAR}, + + + reservation_start_time = #{reservationStartTime,jdbcType=TIMESTAMP}, + + + reservation_end_time = #{reservationEndTime,jdbcType=TIMESTAMP}, + + + start_soc = #{startSoc,jdbcType=VARCHAR}, + + + end_soc = #{endSoc,jdbcType=VARCHAR}, + + + total_used_electricity = #{totalUsedElectricity,jdbcType=DECIMAL}, + + + sharp_used_electricity = #{sharpUsedElectricity,jdbcType=DECIMAL}, + + + peak_used_electricity = #{peakUsedElectricity,jdbcType=DECIMAL}, + + + flat_used_electricity = #{flatUsedElectricity,jdbcType=DECIMAL}, + + + valley_used_electricity = #{valleyUsedElectricity,jdbcType=DECIMAL}, + + + reason = #{reason,jdbcType=VARCHAR}, + + + create_by = #{createBy,jdbcType=VARCHAR}, + + + create_time = #{createTime,jdbcType=TIMESTAMP}, + + + update_by = #{updateBy,jdbcType=VARCHAR}, + + + update_time = #{updateTime,jdbcType=TIMESTAMP}, + + + del_flag = #{delFlag,jdbcType=CHAR}, + + + where id = #{id,jdbcType=INTEGER} + + + + update personal_charging_record + set transaction_code = #{transactionCode,jdbcType=VARCHAR}, + `status` = #{status,jdbcType=VARCHAR}, + member_id = #{memberId,jdbcType=VARCHAR}, + station_id = #{stationId,jdbcType=VARCHAR}, + merchant_id = #{merchantId,jdbcType=VARCHAR}, + pile_sn = #{pileSn,jdbcType=VARCHAR}, + connector_code = #{connectorCode,jdbcType=VARCHAR}, + pile_connector_code = #{pileConnectorCode,jdbcType=VARCHAR}, + logic_card = #{logicCard,jdbcType=VARCHAR}, + vin_code = #{vinCode,jdbcType=VARCHAR}, + start_mode = #{startMode,jdbcType=VARCHAR}, + plate_number = #{plateNumber,jdbcType=VARCHAR}, + charge_start_time = #{chargeStartTime,jdbcType=TIMESTAMP}, + charge_end_time = #{chargeEndTime,jdbcType=TIMESTAMP}, + start_type = #{startType,jdbcType=VARCHAR}, + reservation_start_time = #{reservationStartTime,jdbcType=TIMESTAMP}, + reservation_end_time = #{reservationEndTime,jdbcType=TIMESTAMP}, + start_soc = #{startSoc,jdbcType=VARCHAR}, + end_soc = #{endSoc,jdbcType=VARCHAR}, + total_used_electricity = #{totalUsedElectricity,jdbcType=DECIMAL}, + sharp_used_electricity = #{sharpUsedElectricity,jdbcType=DECIMAL}, + peak_used_electricity = #{peakUsedElectricity,jdbcType=DECIMAL}, + flat_used_electricity = #{flatUsedElectricity,jdbcType=DECIMAL}, + valley_used_electricity = #{valleyUsedElectricity,jdbcType=DECIMAL}, + reason = #{reason,jdbcType=VARCHAR}, + create_by = #{createBy,jdbcType=VARCHAR}, + create_time = #{createTime,jdbcType=TIMESTAMP}, + update_by = #{updateBy,jdbcType=VARCHAR}, + update_time = #{updateTime,jdbcType=TIMESTAMP}, + del_flag = #{delFlag,jdbcType=CHAR} + where id = #{id,jdbcType=INTEGER} + + + + update personal_charging_record + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.transactionCode,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.status,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.memberId,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.stationId,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.merchantId,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.pileSn,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.connectorCode,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.pileConnectorCode,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.logicCard,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.vinCode,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.startMode,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.plateNumber,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.chargeStartTime,jdbcType=TIMESTAMP} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.chargeEndTime,jdbcType=TIMESTAMP} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.startType,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.reservationStartTime,jdbcType=TIMESTAMP} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.reservationEndTime,jdbcType=TIMESTAMP} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.startSoc,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.endSoc,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.totalUsedElectricity,jdbcType=DECIMAL} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.sharpUsedElectricity,jdbcType=DECIMAL} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.peakUsedElectricity,jdbcType=DECIMAL} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.flatUsedElectricity,jdbcType=DECIMAL} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.valleyUsedElectricity,jdbcType=DECIMAL} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.reason,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.createBy,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.createTime,jdbcType=TIMESTAMP} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.updateBy,jdbcType=VARCHAR} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.updateTime,jdbcType=TIMESTAMP} + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.delFlag,jdbcType=CHAR} + + + + where id in + + #{item.id,jdbcType=INTEGER} + + + + + update personal_charging_record + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.transactionCode,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.status,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.memberId,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.stationId,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.merchantId,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.pileSn,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.connectorCode,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.pileConnectorCode,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.logicCard,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.vinCode,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.startMode,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.plateNumber,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.chargeStartTime,jdbcType=TIMESTAMP} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.chargeEndTime,jdbcType=TIMESTAMP} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.startType,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.reservationStartTime,jdbcType=TIMESTAMP} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.reservationEndTime,jdbcType=TIMESTAMP} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.startSoc,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.endSoc,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.totalUsedElectricity,jdbcType=DECIMAL} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.sharpUsedElectricity,jdbcType=DECIMAL} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.peakUsedElectricity,jdbcType=DECIMAL} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.flatUsedElectricity,jdbcType=DECIMAL} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.valleyUsedElectricity,jdbcType=DECIMAL} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.reason,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.createBy,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.createTime,jdbcType=TIMESTAMP} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.updateBy,jdbcType=VARCHAR} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.updateTime,jdbcType=TIMESTAMP} + + + + + + + when id = #{item.id,jdbcType=INTEGER} then #{item.delFlag,jdbcType=CHAR} + + + + + where id in + + #{item.id,jdbcType=INTEGER} + + + + + insert into personal_charging_record + (transaction_code, `status`, member_id, station_id, merchant_id, pile_sn, connector_code, + pile_connector_code, logic_card, vin_code, start_mode, plate_number, charge_start_time, + charge_end_time, start_type, reservation_start_time, reservation_end_time, start_soc, + end_soc, total_used_electricity, sharp_used_electricity, peak_used_electricity, + flat_used_electricity, valley_used_electricity, reason, create_by, create_time, + update_by, update_time, del_flag) + values + + (#{item.transactionCode,jdbcType=VARCHAR}, #{item.status,jdbcType=VARCHAR}, #{item.memberId,jdbcType=VARCHAR}, + #{item.stationId,jdbcType=VARCHAR}, #{item.merchantId,jdbcType=VARCHAR}, #{item.pileSn,jdbcType=VARCHAR}, + #{item.connectorCode,jdbcType=VARCHAR}, #{item.pileConnectorCode,jdbcType=VARCHAR}, + #{item.logicCard,jdbcType=VARCHAR}, #{item.vinCode,jdbcType=VARCHAR}, #{item.startMode,jdbcType=VARCHAR}, + #{item.plateNumber,jdbcType=VARCHAR}, #{item.chargeStartTime,jdbcType=TIMESTAMP}, + #{item.chargeEndTime,jdbcType=TIMESTAMP}, #{item.startType,jdbcType=VARCHAR}, #{item.reservationStartTime,jdbcType=TIMESTAMP}, + #{item.reservationEndTime,jdbcType=TIMESTAMP}, #{item.startSoc,jdbcType=VARCHAR}, + #{item.endSoc,jdbcType=VARCHAR}, #{item.totalUsedElectricity,jdbcType=DECIMAL}, + #{item.sharpUsedElectricity,jdbcType=DECIMAL}, #{item.peakUsedElectricity,jdbcType=DECIMAL}, + #{item.flatUsedElectricity,jdbcType=DECIMAL}, #{item.valleyUsedElectricity,jdbcType=DECIMAL}, + #{item.reason,jdbcType=VARCHAR}, #{item.createBy,jdbcType=VARCHAR}, #{item.createTime,jdbcType=TIMESTAMP}, + #{item.updateBy,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP}, #{item.delFlag,jdbcType=CHAR} + ) + + + + + insert into personal_charging_record + + + id, + + transaction_code, + `status`, + member_id, + station_id, + merchant_id, + pile_sn, + connector_code, + pile_connector_code, + logic_card, + vin_code, + start_mode, + plate_number, + charge_start_time, + charge_end_time, + start_type, + reservation_start_time, + reservation_end_time, + start_soc, + end_soc, + total_used_electricity, + sharp_used_electricity, + peak_used_electricity, + flat_used_electricity, + valley_used_electricity, + reason, + create_by, + create_time, + update_by, + update_time, + del_flag, + + values + + + #{id,jdbcType=INTEGER}, + + #{transactionCode,jdbcType=VARCHAR}, + #{status,jdbcType=VARCHAR}, + #{memberId,jdbcType=VARCHAR}, + #{stationId,jdbcType=VARCHAR}, + #{merchantId,jdbcType=VARCHAR}, + #{pileSn,jdbcType=VARCHAR}, + #{connectorCode,jdbcType=VARCHAR}, + #{pileConnectorCode,jdbcType=VARCHAR}, + #{logicCard,jdbcType=VARCHAR}, + #{vinCode,jdbcType=VARCHAR}, + #{startMode,jdbcType=VARCHAR}, + #{plateNumber,jdbcType=VARCHAR}, + #{chargeStartTime,jdbcType=TIMESTAMP}, + #{chargeEndTime,jdbcType=TIMESTAMP}, + #{startType,jdbcType=VARCHAR}, + #{reservationStartTime,jdbcType=TIMESTAMP}, + #{reservationEndTime,jdbcType=TIMESTAMP}, + #{startSoc,jdbcType=VARCHAR}, + #{endSoc,jdbcType=VARCHAR}, + #{totalUsedElectricity,jdbcType=DECIMAL}, + #{sharpUsedElectricity,jdbcType=DECIMAL}, + #{peakUsedElectricity,jdbcType=DECIMAL}, + #{flatUsedElectricity,jdbcType=DECIMAL}, + #{valleyUsedElectricity,jdbcType=DECIMAL}, + #{reason,jdbcType=VARCHAR}, + #{createBy,jdbcType=VARCHAR}, + #{createTime,jdbcType=TIMESTAMP}, + #{updateBy,jdbcType=VARCHAR}, + #{updateTime,jdbcType=TIMESTAMP}, + #{delFlag,jdbcType=CHAR}, + + on duplicate key update + + + id = #{id,jdbcType=INTEGER}, + + transaction_code = #{transactionCode,jdbcType=VARCHAR}, + `status` = #{status,jdbcType=VARCHAR}, + member_id = #{memberId,jdbcType=VARCHAR}, + station_id = #{stationId,jdbcType=VARCHAR}, + merchant_id = #{merchantId,jdbcType=VARCHAR}, + pile_sn = #{pileSn,jdbcType=VARCHAR}, + connector_code = #{connectorCode,jdbcType=VARCHAR}, + pile_connector_code = #{pileConnectorCode,jdbcType=VARCHAR}, + logic_card = #{logicCard,jdbcType=VARCHAR}, + vin_code = #{vinCode,jdbcType=VARCHAR}, + start_mode = #{startMode,jdbcType=VARCHAR}, + plate_number = #{plateNumber,jdbcType=VARCHAR}, + charge_start_time = #{chargeStartTime,jdbcType=TIMESTAMP}, + charge_end_time = #{chargeEndTime,jdbcType=TIMESTAMP}, + start_type = #{startType,jdbcType=VARCHAR}, + reservation_start_time = #{reservationStartTime,jdbcType=TIMESTAMP}, + reservation_end_time = #{reservationEndTime,jdbcType=TIMESTAMP}, + start_soc = #{startSoc,jdbcType=VARCHAR}, + end_soc = #{endSoc,jdbcType=VARCHAR}, + total_used_electricity = #{totalUsedElectricity,jdbcType=DECIMAL}, + sharp_used_electricity = #{sharpUsedElectricity,jdbcType=DECIMAL}, + peak_used_electricity = #{peakUsedElectricity,jdbcType=DECIMAL}, + flat_used_electricity = #{flatUsedElectricity,jdbcType=DECIMAL}, + valley_used_electricity = #{valleyUsedElectricity,jdbcType=DECIMAL}, + reason = #{reason,jdbcType=VARCHAR}, + create_by = #{createBy,jdbcType=VARCHAR}, + create_time = #{createTime,jdbcType=TIMESTAMP}, + update_by = #{updateBy,jdbcType=VARCHAR}, + update_time = #{updateTime,jdbcType=TIMESTAMP}, + del_flag = #{delFlag,jdbcType=CHAR}, + + + + + insert into personal_charging_record + + + id, + + + transaction_code, + + + `status`, + + + member_id, + + + station_id, + + + merchant_id, + + + pile_sn, + + + connector_code, + + + pile_connector_code, + + + logic_card, + + + vin_code, + + + start_mode, + + + plate_number, + + + charge_start_time, + + + charge_end_time, + + + start_type, + + + reservation_start_time, + + + reservation_end_time, + + + start_soc, + + + end_soc, + + + total_used_electricity, + + + sharp_used_electricity, + + + peak_used_electricity, + + + flat_used_electricity, + + + valley_used_electricity, + + + reason, + + + create_by, + + + create_time, + + + update_by, + + + update_time, + + + del_flag, + + + values + + + #{id,jdbcType=INTEGER}, + + + #{transactionCode,jdbcType=VARCHAR}, + + + #{status,jdbcType=VARCHAR}, + + + #{memberId,jdbcType=VARCHAR}, + + + #{stationId,jdbcType=VARCHAR}, + + + #{merchantId,jdbcType=VARCHAR}, + + + #{pileSn,jdbcType=VARCHAR}, + + + #{connectorCode,jdbcType=VARCHAR}, + + + #{pileConnectorCode,jdbcType=VARCHAR}, + + + #{logicCard,jdbcType=VARCHAR}, + + + #{vinCode,jdbcType=VARCHAR}, + + + #{startMode,jdbcType=VARCHAR}, + + + #{plateNumber,jdbcType=VARCHAR}, + + + #{chargeStartTime,jdbcType=TIMESTAMP}, + + + #{chargeEndTime,jdbcType=TIMESTAMP}, + + + #{startType,jdbcType=VARCHAR}, + + + #{reservationStartTime,jdbcType=TIMESTAMP}, + + + #{reservationEndTime,jdbcType=TIMESTAMP}, + + + #{startSoc,jdbcType=VARCHAR}, + + + #{endSoc,jdbcType=VARCHAR}, + + + #{totalUsedElectricity,jdbcType=DECIMAL}, + + + #{sharpUsedElectricity,jdbcType=DECIMAL}, + + + #{peakUsedElectricity,jdbcType=DECIMAL}, + + + #{flatUsedElectricity,jdbcType=DECIMAL}, + + + #{valleyUsedElectricity,jdbcType=DECIMAL}, + + + #{reason,jdbcType=VARCHAR}, + + + #{createBy,jdbcType=VARCHAR}, + + + #{createTime,jdbcType=TIMESTAMP}, + + + #{updateBy,jdbcType=VARCHAR}, + + + #{updateTime,jdbcType=TIMESTAMP}, + + + #{delFlag,jdbcType=CHAR}, + + + on duplicate key update + + + id = #{id,jdbcType=INTEGER}, + + + transaction_code = #{transactionCode,jdbcType=VARCHAR}, + + + `status` = #{status,jdbcType=VARCHAR}, + + + member_id = #{memberId,jdbcType=VARCHAR}, + + + station_id = #{stationId,jdbcType=VARCHAR}, + + + merchant_id = #{merchantId,jdbcType=VARCHAR}, + + + pile_sn = #{pileSn,jdbcType=VARCHAR}, + + + connector_code = #{connectorCode,jdbcType=VARCHAR}, + + + pile_connector_code = #{pileConnectorCode,jdbcType=VARCHAR}, + + + logic_card = #{logicCard,jdbcType=VARCHAR}, + + + vin_code = #{vinCode,jdbcType=VARCHAR}, + + + start_mode = #{startMode,jdbcType=VARCHAR}, + + + plate_number = #{plateNumber,jdbcType=VARCHAR}, + + + charge_start_time = #{chargeStartTime,jdbcType=TIMESTAMP}, + + + charge_end_time = #{chargeEndTime,jdbcType=TIMESTAMP}, + + + start_type = #{startType,jdbcType=VARCHAR}, + + + reservation_start_time = #{reservationStartTime,jdbcType=TIMESTAMP}, + + + reservation_end_time = #{reservationEndTime,jdbcType=TIMESTAMP}, + + + start_soc = #{startSoc,jdbcType=VARCHAR}, + + + end_soc = #{endSoc,jdbcType=VARCHAR}, + + + total_used_electricity = #{totalUsedElectricity,jdbcType=DECIMAL}, + + + sharp_used_electricity = #{sharpUsedElectricity,jdbcType=DECIMAL}, + + + peak_used_electricity = #{peakUsedElectricity,jdbcType=DECIMAL}, + + + flat_used_electricity = #{flatUsedElectricity,jdbcType=DECIMAL}, + + + valley_used_electricity = #{valleyUsedElectricity,jdbcType=DECIMAL}, + + + reason = #{reason,jdbcType=VARCHAR}, + + + create_by = #{createBy,jdbcType=VARCHAR}, + + + create_time = #{createTime,jdbcType=TIMESTAMP}, + + + update_by = #{updateBy,jdbcType=VARCHAR}, + + + update_time = #{updateTime,jdbcType=TIMESTAMP}, + + + del_flag = #{delFlag,jdbcType=CHAR}, + + + + \ No newline at end of file