Merge branch 'dev-new' into dev-new-rabbitmq

This commit is contained in:
Guoqs
2024-11-22 14:21:58 +08:00
43 changed files with 1859 additions and 445 deletions

View File

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

View File

@@ -47,6 +47,18 @@ public class PileFirmwareInfo extends BaseEntity {
@Excel(name = "适用类型")
private String applyType;
/**
* 使用范围
*/
@Excel(name = "使用范围")
private String useRange;
/**
* 下载链接url
*/
@Excel(name = "下载链接url")
private String downloadUrl;
/**
* 删除标识0-正常1-删除)
*/
@@ -54,16 +66,15 @@ public class PileFirmwareInfo extends BaseEntity {
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.JSON_STYLE)
.append("id", getId())
.append("name", getName())
.append("desc", getDescription())
.append("filePath", getFilePath())
.append("createTime", getCreateTime())
.append("createBy", getCreateBy())
.append("updateTime", getUpdateTime())
.append("updateBy", getUpdateBy())
.append("delFlag", getDelFlag())
return new ToStringBuilder(this)
.append("id", id)
.append("name", name)
.append("description", description)
.append("filePath", filePath)
.append("applyType", applyType)
.append("useRange", useRange)
.append("downloadUrl", downloadUrl)
.append("delFlag", delFlag)
.toString();
}
}

View File

@@ -2,6 +2,8 @@ package com.jsowell.pile.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* 蓝牙充电记录
@@ -95,7 +97,6 @@ public class BluetoothChargingRecordDTO {
@JsonProperty(value = "MoneyValley")
private String moneyValley;
// 电表总起值
@JsonProperty(value = "StartKwh")
private String startKwh;
@@ -135,4 +136,42 @@ public class BluetoothChargingRecordDTO {
// 物理卡号
@JsonProperty(value = "PCardID")
private String pCardID;
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.JSON_STYLE)
.append("memberId", memberId)
.append("trxSN", trxSN)
.append("pileNo", pileNo)
.append("plugNo", plugNo)
.append("startTime", startTime)
.append("endTime", endTime)
.append("priceSharp", priceSharp)
.append("energySharp", energySharp)
.append("lossKwhSharp", lossKwhSharp)
.append("moneySharp", moneySharp)
.append("pricePeak", pricePeak)
.append("energyPeak", energyPeak)
.append("lossKwhPeak", lossKwhPeak)
.append("moneyPeak", moneyPeak)
.append("priceFlat", priceFlat)
.append("energyFlat", energyFlat)
.append("lossKwhFlat", lossKwhFlat)
.append("moneyFlat", moneyFlat)
.append("priceValley", priceValley)
.append("energyValley", energyValley)
.append("lossKwhValley", lossKwhValley)
.append("moneyValley", moneyValley)
.append("startKwh", startKwh)
.append("stopKwh", stopKwh)
.append("totalEnergy", totalEnergy)
.append("lossTotalKwh", lossTotalKwh)
.append("totalMoney", totalMoney)
.append("vin", vin)
.append("startMode", startMode)
.append("tradeTime", tradeTime)
.append("stopReason", stopReason)
.append("pCardID", pCardID)
.toString();
}
}

View File

@@ -0,0 +1,30 @@
package com.jsowell.pile.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 查询桩固件DTO
*
* @author Lemon
* @Date 2024/11/21 16:03:18
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class PileFirmwareInfoDTO {
private Integer pageNo;
private Integer pageSize;
/**
* 使用范围
* 1-4G2-蓝牙
*/
private String useRange;
}

View File

@@ -247,6 +247,15 @@ public interface OrderBasicInfoMapper {
*/
SendMessageVO selectOrderInfoByOrderCode(@Param("orderCode") String orderCode);
/**
* 查询时间段内订单列表
* TODO 慢sql需要优化
* @param startTime
* @param endTime
* @param orderStatus
* @param payStatus
* @return
*/
List<OrderBasicInfo> selectOrderListByTimeRangeAndStatus(@Param("startTime") String startTime,
@Param("endTime") String endTime,
@Param("orderStatus") String orderStatus,

View File

@@ -8,7 +8,6 @@ import com.jsowell.pile.dto.QueryPersonPileDTO;
import java.util.List;
public interface PersonalChargingRecordService{
int deleteByPrimaryKey(Integer id);
int insert(PersonalChargingRecord record);

View File

@@ -1,6 +1,9 @@
package com.jsowell.pile.service;
import com.jsowell.common.core.page.PageResponse;
import com.jsowell.pile.domain.PileFirmwareInfo;
import com.jsowell.pile.dto.PileFirmwareInfoDTO;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@@ -58,4 +61,11 @@ public interface PileFirmwareInfoService {
* @return 结果
*/
public int deletePileFirmwareInfoById(Long id);
/**
* 通过使用范围查询桩固件信息列表
* @param dto
* @return
*/
PageResponse selectPileFirmwareListByUseRange(PileFirmwareInfoDTO dto);
}

View File

@@ -35,6 +35,7 @@ import java.net.UnknownHostException;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@Service
public class PileRemoteService {
@@ -289,19 +290,20 @@ public class PileRemoteService {
pileBillingTemplate.setId(Long.valueOf(billingTemplateVO.getTemplateId()));
pileBillingTemplate.setPublishTime(new Date());
pileBillingTemplateService.updatePileBillingTemplate(pileBillingTemplate);
// 获取到站点下所有的桩, 下发计费模板, 电单车不支持
if (StringUtils.equals(billingTemplateVO.getDeviceType(), Constants.ONE)) {
List<PileDetailVO> pileList = pileBasicInfoService.selectPileListByStationIds(Lists.newArrayList(Long.valueOf(dto.getStationId())));
if (CollectionUtils.isNotEmpty(pileList)) {
// for (PileDetailVO pileInfoVO : pileList) {
// // 下发计费模板
// publishPileBillingTemplate(pileInfoVO.getPileSn(), billingTemplateVO);
// }
// 获取到站点下所有的桩
List<PileDetailVO> pileList = pileBasicInfoService.selectPileListByStationIds(Lists.newArrayList(Long.valueOf(dto.getStationId())));
if (CollectionUtils.isNotEmpty(pileList)) {
// 删除缓存
List<String> collect = pileList.parallelStream()
.map(vo -> CacheConstants.BILLING_TEMPLATE_BY_PILE_SN + vo.getPileSn())
.collect(Collectors.toList());
redisCache.deleteObject(collect);
// 下发计费模板, 电单车不支持
if (StringUtils.equals(billingTemplateVO.getDeviceType(), Constants.ONE)) {
// 下发指令
pileList.parallelStream().forEach(pileInfoVO -> publishPileBillingTemplate(pileInfoVO.getPileSn(), billingTemplateVO));
}
}
// 修改计费模板状态
pileBillingTemplateService.changeStationTemplate(dto.getStationId(), dto.getTemplateId(), billingTemplateVO.getDeviceType());
return true;

View File

@@ -132,7 +132,7 @@ public class PersonalChargingRecordServiceImpl implements PersonalChargingRecord
chargingRecord.setTotalUsedElectricity(totalUsedElectricity);
chargingRecord.setReason(data.getStopReasonMsg());
// 创建或更新
personalChargingRecordMapper.insertOrUpdateSelective(chargingRecord);
this.insertOrUpdateSelective(chargingRecord);
}
/**
@@ -176,7 +176,7 @@ public class PersonalChargingRecordServiceImpl implements PersonalChargingRecord
// chargingRecord.setTotalUsedElectricity(totalUsedElectricity);
// chargingRecord.setReason(data.getStopReasonMsg());
// 创建或更新
personalChargingRecordMapper.insertOrUpdateSelective(chargingRecord);
this.insertOrUpdateSelective(chargingRecord);
}
@Override

View File

@@ -839,7 +839,16 @@ public class PileBillingTemplateServiceImpl implements PileBillingTemplateServic
*/
@Override
public BillingTemplateVO selectBillingTemplateDetailByPileSn(String pileSn) {
return pileBillingTemplateMapper.selectBillingTemplateByPileSn(pileSn);
String redisKey = CacheConstants.BILLING_TEMPLATE_BY_PILE_SN + pileSn;
Object cacheObject = redisCache.getCacheObject(redisKey);
if (cacheObject != null) {
return JSON.parseObject(cacheObject.toString(), BillingTemplateVO.class);
}
BillingTemplateVO billingTemplateVO = pileBillingTemplateMapper.selectBillingTemplateByPileSn(pileSn);
if (billingTemplateVO != null) {
redisCache.setCacheObject(redisKey, JSON.toJSONString(billingTemplateVO), CacheConstants.cache_expire_time_1d);
}
return billingTemplateVO;
}
@Override

View File

@@ -1,11 +1,19 @@
package com.jsowell.pile.service.impl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.jsowell.common.constant.Constants;
import com.jsowell.common.core.page.PageResponse;
import com.jsowell.common.util.DateUtils;
import com.jsowell.common.util.file.AliyunOssUploadUtils;
import com.jsowell.pile.domain.PileFirmwareInfo;
import com.jsowell.pile.domain.PileReservationInfo;
import com.jsowell.pile.dto.PileFirmwareInfoDTO;
import com.jsowell.pile.mapper.PileFirmwareInfoMapper;
import com.jsowell.pile.service.PileFirmwareInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@@ -98,4 +106,32 @@ public class PileFirmwareInfoServiceImpl implements PileFirmwareInfoService {
public int deletePileFirmwareInfoById(Long id) {
return pileFirmwareInfoMapper.deletePileFirmwareInfoById(id);
}
/**
* 通过使用范围查询桩固件信息列表
* @param dto
* @return
*/
@Override
public PageResponse selectPileFirmwareListByUseRange(PileFirmwareInfoDTO dto) {
int pageNo = dto.getPageNo() == null ? Constants.one : dto.getPageNo();
int pageSize = dto.getPageSize() == null ? 10 : dto.getPageSize();
PileFirmwareInfo pileFirmwareInfo = new PileFirmwareInfo();
pileFirmwareInfo.setUseRange(dto.getUseRange());
PageHelper.startPage(pageNo, pageSize);
List<PileFirmwareInfo> list = selectPileFirmwareInfoList(pileFirmwareInfo);
PageInfo<PileFirmwareInfo> pageInfo = new PageInfo<>(list);
PageResponse pageResponse = new PageResponse();
pageResponse.setPageNum(pageInfo.getPageNum());
pageResponse.setPageSize(pageInfo.getPageSize());
pageResponse.setPages(pageInfo.getPages());
pageResponse.setTotal(pageInfo.getTotal());
pageResponse.setList(pageInfo.getList());
return pageResponse;
}
}

View File

@@ -151,9 +151,9 @@ public class YKCPushCommandServiceImpl implements YKCPushCommandService {
public byte[] supplySend(byte[] msg, String pileSn, Enum<YKCFrameTypeCode> frameTypeCode, long timeout, TimeUnit unit) throws Exception {
// 通过桩编号获取channel
ChannelHandlerContext ctx = PileChannelEntity.getChannelByPileSn(pileSn);
String value = ((YKCFrameTypeCode) frameTypeCode).getValue(); // 帧类型名称
String frameTypeName = ((YKCFrameTypeCode) frameTypeCode).getValue(); // 帧类型名称
if (Objects.isNull(ctx)) {
log.error("push命令[{}]失败, 桩号:{}无法获取到长连接, 请检查充电桩连接状态!", value, pileSn);
log.error("push命令[{}]失败, 桩号:{}无法获取到长连接, 请检查充电桩连接状态!", frameTypeName, pileSn);
throw new NullPointerException("channel");
}
if(msg == null) {
@@ -206,12 +206,12 @@ public class YKCPushCommandServiceImpl implements YKCPushCommandService {
// 检查操作的状态
if (channelFutureListener.isSuccess()) {
log.info("【push结果===>成功】, pileSn:{}, remoteAddress:{}, channelId:{}, 帧类型:{}, 报文:{}",
pileSn, ctx.channel().remoteAddress(), ctx.channel().id(), value, wholeMsg);
pileSn, ctx.channel().remoteAddress(), ctx.channel().id(), frameTypeName, wholeMsg);
} else {
// 如果发生错误则访问描述原因的Throwable
Throwable cause = channelFutureListener.cause();
log.info("【push结果===>失败】, pileSn:{}, remoteAddress:{}, channelId:{}, 帧类型:{}, 报文:{}",
pileSn, ctx.channel().remoteAddress(), ctx.channel().id(), value, wholeMsg);
pileSn, ctx.channel().remoteAddress(), ctx.channel().id(), frameTypeName, wholeMsg);
log.error("push发送命令失败, pileSn:{}", pileSn, cause);
}
});
@@ -221,9 +221,9 @@ public class YKCPushCommandServiceImpl implements YKCPushCommandService {
if(rpcResponse == null) {
if(syncPromise.isTimeout()) {
// throw new TimeoutException("等待响应结果超时");
log.error("发送[{}]指令后, 等待响应结果超时", value);
log.error("pileSn:{}, 发送[{}]指令后, 等待响应结果超时", pileSn, frameTypeName);
} else{
log.error("发送[{}]指令后, 发生其他异常", value);
log.error("pileSn:{}, 发送[{}]指令后, 发生其他异常", pileSn, frameTypeName);
}
}
// 移除容器

View File

@@ -41,4 +41,9 @@ public class PersonPileConnectorSumInfoVO {
* 累计充电时长
*/
private String sumChargingTime;
/**
* 来源(4G/BT) sourceType
*/
private String sourceType;
}

View File

@@ -24,12 +24,16 @@
<result column="reservation_end_time" jdbcType="TIMESTAMP" property="reservationEndTime" />
<result column="start_soc" jdbcType="VARCHAR" property="startSoc" />
<result column="end_soc" jdbcType="VARCHAR" property="endSoc" />
<result column="ammeter_total_start" jdbcType="VARCHAR" property="ammeterTotalStart" />
<result column="ammeter_total_end" jdbcType="VARCHAR" property="ammeterTotalEnd" />
<result column="total_used_electricity" jdbcType="DECIMAL" property="totalUsedElectricity" />
<result column="sharp_used_electricity" jdbcType="DECIMAL" property="sharpUsedElectricity" />
<result column="peak_used_electricity" jdbcType="DECIMAL" property="peakUsedElectricity" />
<result column="flat_used_electricity" jdbcType="DECIMAL" property="flatUsedElectricity" />
<result column="valley_used_electricity" jdbcType="DECIMAL" property="valleyUsedElectricity" />
<result column="reason" jdbcType="VARCHAR" property="reason" />
<result column="trade_date" jdbcType="TIMESTAMP" property="tradeDate" />
<result column="source_type" jdbcType="VARCHAR" property="sourceType" />
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
@@ -41,9 +45,9 @@
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
end_soc, ammeter_total_start, ammeter_total_end, total_used_electricity, sharp_used_electricity,
peak_used_electricity, flat_used_electricity, valley_used_electricity, reason, trade_date,
source_type, create_by, create_time, update_by, update_time, del_flag
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
<!--@mbg.generated-->
@@ -65,24 +69,26 @@
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,
start_soc, end_soc, ammeter_total_start,
ammeter_total_end, 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
)
reason, trade_date, source_type,
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},
#{startSoc,jdbcType=VARCHAR}, #{endSoc,jdbcType=VARCHAR}, #{ammeterTotalStart,jdbcType=VARCHAR},
#{ammeterTotalEnd,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}
)
#{reason,jdbcType=VARCHAR}, #{tradeDate,jdbcType=TIMESTAMP}, #{sourceType,jdbcType=VARCHAR},
#{createBy,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{updateBy,jdbcType=VARCHAR},
#{updateTime,jdbcType=TIMESTAMP}, #{delFlag,jdbcType=CHAR})
</insert>
<insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.jsowell.pile.domain.PersonalChargingRecord" useGeneratedKeys="true">
<!--@mbg.generated-->
@@ -145,6 +151,12 @@
<if test="endSoc != null">
end_soc,
</if>
<if test="ammeterTotalStart != null">
ammeter_total_start,
</if>
<if test="ammeterTotalEnd != null">
ammeter_total_end,
</if>
<if test="totalUsedElectricity != null">
total_used_electricity,
</if>
@@ -163,6 +175,12 @@
<if test="reason != null">
reason,
</if>
<if test="tradeDate != null">
trade_date,
</if>
<if test="sourceType != null">
source_type,
</if>
<if test="createBy != null">
create_by,
</if>
@@ -237,6 +255,12 @@
<if test="endSoc != null">
#{endSoc,jdbcType=VARCHAR},
</if>
<if test="ammeterTotalStart != null">
#{ammeterTotalStart,jdbcType=VARCHAR},
</if>
<if test="ammeterTotalEnd != null">
#{ammeterTotalEnd,jdbcType=VARCHAR},
</if>
<if test="totalUsedElectricity != null">
#{totalUsedElectricity,jdbcType=DECIMAL},
</if>
@@ -255,6 +279,12 @@
<if test="reason != null">
#{reason,jdbcType=VARCHAR},
</if>
<if test="tradeDate != null">
#{tradeDate,jdbcType=TIMESTAMP},
</if>
<if test="sourceType != null">
#{sourceType,jdbcType=VARCHAR},
</if>
<if test="createBy != null">
#{createBy,jdbcType=VARCHAR},
</if>
@@ -333,6 +363,12 @@
<if test="endSoc != null">
end_soc = #{endSoc,jdbcType=VARCHAR},
</if>
<if test="ammeterTotalStart != null">
ammeter_total_start = #{ammeterTotalStart,jdbcType=VARCHAR},
</if>
<if test="ammeterTotalEnd != null">
ammeter_total_end = #{ammeterTotalEnd,jdbcType=VARCHAR},
</if>
<if test="totalUsedElectricity != null">
total_used_electricity = #{totalUsedElectricity,jdbcType=DECIMAL},
</if>
@@ -351,6 +387,12 @@
<if test="reason != null">
reason = #{reason,jdbcType=VARCHAR},
</if>
<if test="tradeDate != null">
trade_date = #{tradeDate,jdbcType=TIMESTAMP},
</if>
<if test="sourceType != null">
source_type = #{sourceType,jdbcType=VARCHAR},
</if>
<if test="createBy != null">
create_by = #{createBy,jdbcType=VARCHAR},
</if>
@@ -391,12 +433,16 @@
reservation_end_time = #{reservationEndTime,jdbcType=TIMESTAMP},
start_soc = #{startSoc,jdbcType=VARCHAR},
end_soc = #{endSoc,jdbcType=VARCHAR},
ammeter_total_start = #{ammeterTotalStart,jdbcType=VARCHAR},
ammeter_total_end = #{ammeterTotalEnd,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},
trade_date = #{tradeDate,jdbcType=TIMESTAMP},
source_type = #{sourceType,jdbcType=VARCHAR},
create_by = #{createBy,jdbcType=VARCHAR},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_by = #{updateBy,jdbcType=VARCHAR},
@@ -503,6 +549,16 @@
when id = #{item.id,jdbcType=INTEGER} then #{item.endSoc,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="ammeter_total_start = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=INTEGER} then #{item.ammeterTotalStart,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="ammeter_total_end = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=INTEGER} then #{item.ammeterTotalEnd,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="total_used_electricity = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=INTEGER} then #{item.totalUsedElectricity,jdbcType=DECIMAL}
@@ -533,6 +589,16 @@
when id = #{item.id,jdbcType=INTEGER} then #{item.reason,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="trade_date = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=INTEGER} then #{item.tradeDate,jdbcType=TIMESTAMP}
</foreach>
</trim>
<trim prefix="source_type = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=INTEGER} then #{item.sourceType,jdbcType=VARCHAR}
</foreach>
</trim>
<trim prefix="create_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=INTEGER} then #{item.createBy,jdbcType=VARCHAR}
@@ -701,6 +767,20 @@
</if>
</foreach>
</trim>
<trim prefix="ammeter_total_start = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.ammeterTotalStart != null">
when id = #{item.id,jdbcType=INTEGER} then #{item.ammeterTotalStart,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="ammeter_total_end = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.ammeterTotalEnd != null">
when id = #{item.id,jdbcType=INTEGER} then #{item.ammeterTotalEnd,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="total_used_electricity = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.totalUsedElectricity != null">
@@ -743,6 +823,20 @@
</if>
</foreach>
</trim>
<trim prefix="trade_date = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.tradeDate != null">
when id = #{item.id,jdbcType=INTEGER} then #{item.tradeDate,jdbcType=TIMESTAMP}
</if>
</foreach>
</trim>
<trim prefix="source_type = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.sourceType != null">
when id = #{item.id,jdbcType=INTEGER} then #{item.sourceType,jdbcType=VARCHAR}
</if>
</foreach>
</trim>
<trim prefix="create_by = case" suffix="end,">
<foreach collection="list" index="index" item="item">
<if test="item.createBy != null">
@@ -790,9 +884,10 @@
(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)
end_soc, ammeter_total_start, ammeter_total_end, total_used_electricity, sharp_used_electricity,
peak_used_electricity, flat_used_electricity, valley_used_electricity, reason,
trade_date, source_type, create_by, create_time, update_by, update_time, del_flag
)
values
<foreach collection="list" item="item" separator=",">
(#{item.transactionCode,jdbcType=VARCHAR}, #{item.status,jdbcType=VARCHAR}, #{item.memberId,jdbcType=VARCHAR},
@@ -802,12 +897,13 @@
#{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}
)
#{item.endSoc,jdbcType=VARCHAR}, #{item.ammeterTotalStart,jdbcType=VARCHAR}, #{item.ammeterTotalEnd,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.tradeDate,jdbcType=TIMESTAMP}, #{item.sourceType,jdbcType=VARCHAR}, #{item.createBy,jdbcType=VARCHAR},
#{item.createTime,jdbcType=TIMESTAMP}, #{item.updateBy,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP},
#{item.delFlag,jdbcType=CHAR})
</foreach>
</insert>
<insert id="insertOrUpdate" keyColumn="id" keyProperty="id" parameterType="com.jsowell.pile.domain.PersonalChargingRecord" useGeneratedKeys="true">
@@ -836,12 +932,16 @@
reservation_end_time,
start_soc,
end_soc,
ammeter_total_start,
ammeter_total_end,
total_used_electricity,
sharp_used_electricity,
peak_used_electricity,
flat_used_electricity,
valley_used_electricity,
reason,
trade_date,
source_type,
create_by,
create_time,
update_by,
@@ -872,12 +972,16 @@
#{reservationEndTime,jdbcType=TIMESTAMP},
#{startSoc,jdbcType=VARCHAR},
#{endSoc,jdbcType=VARCHAR},
#{ammeterTotalStart,jdbcType=VARCHAR},
#{ammeterTotalEnd,jdbcType=VARCHAR},
#{totalUsedElectricity,jdbcType=DECIMAL},
#{sharpUsedElectricity,jdbcType=DECIMAL},
#{peakUsedElectricity,jdbcType=DECIMAL},
#{flatUsedElectricity,jdbcType=DECIMAL},
#{valleyUsedElectricity,jdbcType=DECIMAL},
#{reason,jdbcType=VARCHAR},
#{tradeDate,jdbcType=TIMESTAMP},
#{sourceType,jdbcType=VARCHAR},
#{createBy,jdbcType=VARCHAR},
#{createTime,jdbcType=TIMESTAMP},
#{updateBy,jdbcType=VARCHAR},
@@ -908,12 +1012,16 @@
reservation_end_time = #{reservationEndTime,jdbcType=TIMESTAMP},
start_soc = #{startSoc,jdbcType=VARCHAR},
end_soc = #{endSoc,jdbcType=VARCHAR},
ammeter_total_start = #{ammeterTotalStart,jdbcType=VARCHAR},
ammeter_total_end = #{ammeterTotalEnd,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},
trade_date = #{tradeDate,jdbcType=TIMESTAMP},
source_type = #{sourceType,jdbcType=VARCHAR},
create_by = #{createBy,jdbcType=VARCHAR},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_by = #{updateBy,jdbcType=VARCHAR},
@@ -985,6 +1093,12 @@
<if test="endSoc != null">
end_soc,
</if>
<if test="ammeterTotalStart != null">
ammeter_total_start,
</if>
<if test="ammeterTotalEnd != null">
ammeter_total_end,
</if>
<if test="totalUsedElectricity != null">
total_used_electricity,
</if>
@@ -1003,6 +1117,12 @@
<if test="reason != null">
reason,
</if>
<if test="tradeDate != null">
trade_date,
</if>
<if test="sourceType != null">
source_type,
</if>
<if test="createBy != null">
create_by,
</if>
@@ -1081,6 +1201,12 @@
<if test="endSoc != null">
#{endSoc,jdbcType=VARCHAR},
</if>
<if test="ammeterTotalStart != null">
#{ammeterTotalStart,jdbcType=VARCHAR},
</if>
<if test="ammeterTotalEnd != null">
#{ammeterTotalEnd,jdbcType=VARCHAR},
</if>
<if test="totalUsedElectricity != null">
#{totalUsedElectricity,jdbcType=DECIMAL},
</if>
@@ -1099,6 +1225,12 @@
<if test="reason != null">
#{reason,jdbcType=VARCHAR},
</if>
<if test="tradeDate != null">
#{tradeDate,jdbcType=TIMESTAMP},
</if>
<if test="sourceType != null">
#{sourceType,jdbcType=VARCHAR},
</if>
<if test="createBy != null">
#{createBy,jdbcType=VARCHAR},
</if>
@@ -1177,6 +1309,12 @@
<if test="endSoc != null">
end_soc = #{endSoc,jdbcType=VARCHAR},
</if>
<if test="ammeterTotalStart != null">
ammeter_total_start = #{ammeterTotalStart,jdbcType=VARCHAR},
</if>
<if test="ammeterTotalEnd != null">
ammeter_total_end = #{ammeterTotalEnd,jdbcType=VARCHAR},
</if>
<if test="totalUsedElectricity != null">
total_used_electricity = #{totalUsedElectricity,jdbcType=DECIMAL},
</if>
@@ -1195,6 +1333,12 @@
<if test="reason != null">
reason = #{reason,jdbcType=VARCHAR},
</if>
<if test="tradeDate != null">
trade_date = #{tradeDate,jdbcType=TIMESTAMP},
</if>
<if test="sourceType != null">
source_type = #{sourceType,jdbcType=VARCHAR},
</if>
<if test="createBy != null">
create_by = #{createBy,jdbcType=VARCHAR},
</if>

View File

@@ -10,6 +10,8 @@
<result property="description" column="description" />
<result property="filePath" column="file_path" />
<result property="applyType" column="apply_type" />
<result property="useRange" column="use_range" />
<result property="downloadUrl" column="download_url" />
<result property="createTime" column="create_time" />
<result property="createBy" column="create_by" />
<result property="updateTime" column="update_time" />
@@ -18,13 +20,14 @@
</resultMap>
<sql id="selectPileFirmwareInfoVo">
select id, name, description, file_path, apply_type, create_time, create_by, update_time, update_by, del_flag from pile_firmware_info
select id, name, description, file_path, apply_type, use_range, download_url, create_time, create_by, update_time, update_by, del_flag from pile_firmware_info
</sql>
<select id="selectPileFirmwareInfoList" parameterType="com.jsowell.pile.domain.PileFirmwareInfo" resultMap="PileFirmwareInfoResult">
<include refid="selectPileFirmwareInfoVo"/>
<where>
<if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if>
<if test="useRange != null and useRange != ''"> and use_range = #{useRange,jdbcType=VARCHAR}</if>
</where>
</select>
@@ -41,6 +44,8 @@
<if test="description != null">description,</if>
<if test="filePath != null">file_path,</if>
<if test="applyType != null">apply_type,</if>
<if test="useRange != null">use_range,</if>
<if test="downloadUrl != null">download_url,</if>
<if test="createTime != null">create_time,</if>
<if test="createBy != null">create_by,</if>
<if test="updateTime != null">update_time,</if>
@@ -53,6 +58,8 @@
<if test="description != null">#{description},</if>
<if test="filePath != null">#{filePath},</if>
<if test="applyType != null">#{applyType},</if>
<if test="useRange != null">#{useRange},</if>
<if test="downloadUrl != null">#{downloadUrl},</if>
<if test="createTime != null">#{createTime},</if>
<if test="createBy != null">#{createBy},</if>
<if test="updateTime != null">#{updateTime},</if>
@@ -68,6 +75,8 @@
<if test="description != null">description = #{description},</if>
<if test="filePath != null">file_path = #{filePath},</if>
<if test="applyType != null">apply_type = #{applyType},</if>
<if test="useRange != null">use_range = #{useRange},</if>
<if test="downloadUrl != null">download_url = #{downloadUrl},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>