update 个人桩充电记录

This commit is contained in:
Guoqs
2024-07-06 16:23:04 +08:00
parent e3b7e9e512
commit 2c03f24b6e
6 changed files with 93 additions and 6 deletions

View File

@@ -31,10 +31,10 @@ public class TransactionRecordsData {
// 枪号 // 枪号
private String connectorCode; private String connectorCode;
// 开始时间 CP56Time2a 格式 // 开始时间 yyyy-MM-dd HH:mm:ss
private String startTime; private String startTime;
// 结束时间 // 结束时间 yyyy-MM-dd HH:mm:ss
private String endTime; private String endTime;
// 尖单价 精确到小数点后五位(尖电费+尖服务费,见费率帧) // 尖单价 精确到小数点后五位(尖电费+尖服务费,见费率帧)

View File

@@ -17,9 +17,8 @@ import com.jsowell.common.util.YKCUtils;
import com.jsowell.common.util.id.IdUtils; import com.jsowell.common.util.id.IdUtils;
import com.jsowell.netty.factory.YKCOperateFactory; import com.jsowell.netty.factory.YKCOperateFactory;
import com.jsowell.pile.domain.OrderBasicInfo; import com.jsowell.pile.domain.OrderBasicInfo;
import com.jsowell.pile.service.OrderBasicInfoService; import com.jsowell.pile.domain.PileBasicInfo;
import com.jsowell.pile.service.PileMerchantInfoService; import com.jsowell.pile.service.*;
import com.jsowell.pile.service.PileMsgRecordService;
import com.jsowell.pile.service.programlogic.AbstractProgramLogic; import com.jsowell.pile.service.programlogic.AbstractProgramLogic;
import com.jsowell.pile.service.programlogic.ProgramLogicFactory; import com.jsowell.pile.service.programlogic.ProgramLogicFactory;
import com.jsowell.thirdparty.common.CommonService; import com.jsowell.thirdparty.common.CommonService;
@@ -68,6 +67,12 @@ public class TransactionRecordsRequestHandler extends AbstractHandler {
@Autowired @Autowired
private CommonService commonService; private CommonService commonService;
@Autowired
private PileBasicInfoService pileBasicInfoService;
@Autowired
private PersonalChargingRecordService personalChargingRecordService;
/*public static void main(String[] args) { /*public static void main(String[] args) {
BigDecimal totalElectricity = new BigDecimal("23.73"); BigDecimal totalElectricity = new BigDecimal("23.73");
@@ -588,6 +593,13 @@ public class TransactionRecordsRequestHandler extends AbstractHandler {
* @param data * @param data
*/ */
private void processOrder(TransactionRecordsData data) { private void processOrder(TransactionRecordsData data) {
String pileSn = data.getPileSn(); // 充电桩编号
PileBasicInfo pileBasicInfo = pileBasicInfoService.selectPileBasicInfoBySN(pileSn);
if (StringUtils.equals(pileBasicInfo.getBusinessType(), Constants.TWO)) {
personalChargingRecordService.processPersonalChargingRecord(data);
return;
}
String transactionCode = data.getTransactionCode(); String transactionCode = data.getTransactionCode();
// 根据交易流水号查询订单信息 // 根据交易流水号查询订单信息
OrderBasicInfo orderBasicInfo = orderBasicInfoService.getOrderInfoByTransactionCode(transactionCode); OrderBasicInfo orderBasicInfo = orderBasicInfoService.getOrderInfoByTransactionCode(transactionCode);
@@ -666,7 +678,6 @@ public class TransactionRecordsRequestHandler extends AbstractHandler {
e.printStackTrace(); e.printStackTrace();
} }
}); });
} else { } else {
// 平台没有查到订单 // 平台没有查到订单
orderBasicInfoService.saveAbnormalOrder(data); orderBasicInfoService.saveAbnormalOrder(data);

View File

@@ -26,4 +26,6 @@ public interface PersonalChargingRecordMapper {
int updateBatchSelective(List<PersonalChargingRecord> list); int updateBatchSelective(List<PersonalChargingRecord> list);
int batchInsert(@Param("list") List<PersonalChargingRecord> list); int batchInsert(@Param("list") List<PersonalChargingRecord> list);
PersonalChargingRecord selectByTransactionCode(String transactionCode);
} }

View File

@@ -1,6 +1,8 @@
package com.jsowell.pile.service; package com.jsowell.pile.service;
import java.util.List; import java.util.List;
import com.jsowell.common.core.domain.ykc.TransactionRecordsData;
import com.jsowell.pile.domain.PersonalChargingRecord; import com.jsowell.pile.domain.PersonalChargingRecord;
public interface PersonalChargingRecordService{ public interface PersonalChargingRecordService{
@@ -27,4 +29,10 @@ public interface PersonalChargingRecordService{
int batchInsert(List<PersonalChargingRecord> list); int batchInsert(List<PersonalChargingRecord> list);
/**
* 处理个人桩充电记录
*
* @param data
*/
void processPersonalChargingRecord(TransactionRecordsData data);
} }

View File

@@ -1,7 +1,11 @@
package com.jsowell.pile.service.impl; package com.jsowell.pile.service.impl;
import com.jsowell.common.core.domain.ykc.TransactionRecordsData;
import com.jsowell.common.util.Cp56Time2a.Cp56Time2aUtil;
import com.jsowell.common.util.DateUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
import com.jsowell.pile.mapper.PersonalChargingRecordMapper; import com.jsowell.pile.mapper.PersonalChargingRecordMapper;
import com.jsowell.pile.domain.PersonalChargingRecord; import com.jsowell.pile.domain.PersonalChargingRecord;
@@ -42,6 +46,10 @@ public class PersonalChargingRecordServiceImpl implements PersonalChargingRecord
return personalChargingRecordMapper.selectByPrimaryKey(id); return personalChargingRecordMapper.selectByPrimaryKey(id);
} }
public PersonalChargingRecord selectByTransactionCode(String transactionCode) {
return personalChargingRecordMapper.selectByTransactionCode(transactionCode);
}
@Override @Override
public int updateByPrimaryKeySelective(PersonalChargingRecord record) { public int updateByPrimaryKeySelective(PersonalChargingRecord record) {
return personalChargingRecordMapper.updateByPrimaryKeySelective(record); return personalChargingRecordMapper.updateByPrimaryKeySelective(record);
@@ -67,4 +75,54 @@ public class PersonalChargingRecordServiceImpl implements PersonalChargingRecord
return personalChargingRecordMapper.batchInsert(list); return personalChargingRecordMapper.batchInsert(list);
} }
/**
* 处理个人桩充电记录
*
* @param data
*/
@Override
public void processPersonalChargingRecord(TransactionRecordsData data) {
// 根据交易流水号查询,如果数据库没有就入库
String transactionCode = data.getTransactionCode();
PersonalChargingRecord chargingRecord = this.selectByTransactionCode(transactionCode);
if (chargingRecord == null) {
// 为空,数据保存到数据库
chargingRecord = new PersonalChargingRecord();
}
// 处理数据
chargingRecord.setTransactionCode(transactionCode);
chargingRecord.setStatus("6");
chargingRecord.setMemberId("");
chargingRecord.setStationId("");
chargingRecord.setMerchantId("");
chargingRecord.setPileSn("");
chargingRecord.setConnectorCode("");
chargingRecord.setPileConnectorCode("");
chargingRecord.setLogicCard("");
chargingRecord.setVinCode("");
chargingRecord.setStartMode("");
chargingRecord.setPlateNumber("");
chargingRecord.setChargeStartTime(DateUtils.parseDate(data.getStartTime()));
chargingRecord.setChargeEndTime(DateUtils.parseDate(data.getEndTime()));
chargingRecord.setStartType(null);
chargingRecord.setReservationStartTime(null);
chargingRecord.setReservationEndTime(null);
chargingRecord.setStartSoc(null);
chargingRecord.setEndSoc(null);
BigDecimal sharpUsedElectricity = new BigDecimal(data.getSharpUsedElectricity());
chargingRecord.setSharpUsedElectricity(sharpUsedElectricity);
BigDecimal peakUsedElectricity = new BigDecimal(data.getPeakUsedElectricity());
chargingRecord.setPeakUsedElectricity(peakUsedElectricity);
BigDecimal flatUsedElectricity = new BigDecimal(data.getFlatUsedElectricity());
chargingRecord.setFlatUsedElectricity(flatUsedElectricity);
BigDecimal valleyUsedElectricity = new BigDecimal(data.getValleyUsedElectricity());
chargingRecord.setValleyUsedElectricity(valleyUsedElectricity);
BigDecimal totalUsedElectricity = sharpUsedElectricity.add(peakUsedElectricity).add(flatUsedElectricity).add(valleyUsedElectricity);
chargingRecord.setTotalUsedElectricity(totalUsedElectricity);
chargingRecord.setReason(data.getStopReasonMsg());
// 创建或更新
personalChargingRecordMapper.insertOrUpdateSelective(chargingRecord);
}
} }

View File

@@ -1212,4 +1212,12 @@
</if> </if>
</trim> </trim>
</insert> </insert>
<select id="selectByTransactionCode" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from personal_charging_record
where del_flag = '0'
and transaction_code = #{transactionCode,jdbcType=VARCHAR}
</select>
</mapper> </mapper>