This commit is contained in:
2023-03-04 16:29:55 +08:00
commit 397ba75479
1007 changed files with 109050 additions and 0 deletions

View File

@@ -0,0 +1,107 @@
package com.jsowell.pile.domain;
import com.jsowell.common.annotation.Excel;
import com.jsowell.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.math.BigDecimal;
/**
* 会员基础信息对象 member_basic_info
*
* @author jsowell
* @date 2022-10-12
*/
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class MemberBasicInfo extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
private Integer id;
/**
* 会员id
*/
@Excel(name = "会员id")
private String memberId;
/**
* 微信用户身份码openid
*/
private String openId;
/**
* 昵称
*/
@Excel(name = "昵称")
private String nickName;
/**
* 逻辑卡号
*/
@Excel(name = "逻辑卡号")
private String logicCard;
/**
* 物理卡号
*/
@Excel(name = "物理卡号")
private String physicsCard;
/**
* 状态
*/
@Excel(name = "状态")
private String status;
/**
* 头像url
*/
@Excel(name = "头像url")
private String avatarUrl;
/**
* 手机号
*/
@Excel(name = "手机号")
private String mobileNumber;
/**
* 所属运营商
*/
@Excel(name = "所属运营商")
private Long merchantId;
/**
* 删除标识0-正常1-删除)
*/
private String delFlag;
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.JSON_STYLE)
.append("id", id)
.append("memberId", memberId)
.append("nickName", nickName)
.append("logicCard", logicCard)
.append("physicsCard", physicsCard)
.append("status", status)
.append("avatarUrl", avatarUrl)
.append("mobileNumber", mobileNumber)
.append("merchantId", merchantId)
.append("delFlag", delFlag)
.toString();
}
}

View File

@@ -0,0 +1,78 @@
package com.jsowell.pile.domain;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 会员交易记录表
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class MemberTransactionRecord {
/**
* 主键
*/
private Integer id;
/**
* 充电订单号
*/
private String orderCode;
/**
* 场景类型order, balance
*/
private String scenarioType;
/**
* 会员id
*/
private String memberId;
/**
* 操作类型forward-正向, reverse-逆向)
*/
private String actionType;
/**
* 支付类型(wx, balance)
*/
private String payMode;
/**
* 金额
*/
private BigDecimal amount;
/**
* 外部商户订单号
*/
private String outTradeNo;
/**
* 外部支付订单号
*/
private String transactionId;
/**
* 外部退款单号
*/
private String outRefundNo;
/**
* 外部支付退款单号
*/
private String refundId;
/**
* 创建时间
*/
private LocalDateTime createTime;
}

View File

@@ -0,0 +1,56 @@
package com.jsowell.pile.domain;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 会员钱包信息表
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class MemberWalletInfo {
/**
* 主键
*/
private Integer id;
/**
* 会员id
*/
private String memberId;
/**
* 本金余额
*/
private BigDecimal principalBalance;
/**
* 赠送余额
*/
private BigDecimal giftBalance;
/**
* 版本号
*/
private Integer version;
private String createBy;
private LocalDateTime createTime;
private String updateBy;
private LocalDateTime updateTime;
/**
* 删除标识(0-正常;1-删除)
*/
private String delFlag;
}

View File

@@ -0,0 +1,63 @@
package com.jsowell.pile.domain;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 会员钱包流水表
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class MemberWalletLog {
/**
* 主键
*/
private Integer id;
/**
* 会员id
*/
private String memberId;
/**
* 类型1-进账2-出账)
*/
private String type;
/**
* 子类型10-充值, 11-赠送, 12-订单结算退款20-后管扣款, 21-订单付款, 22-用户退款)
*/
private String subType;
/**
* 金额
*/
private BigDecimal amount;
/**
* 余额类型1-本金2-赠送)
*/
private String category;
/**
* 关联订单编号
*/
private String relatedOrderCode;
/**
* 创建人
*/
private String createBy;
/**
* 创建时间
*/
private LocalDateTime createTime;
}

View File

@@ -0,0 +1,502 @@
package com.jsowell.pile.domain;
import com.jsowell.common.annotation.Excel;
import com.jsowell.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* 订单异常记录对象 order_abnormal_record
*
* @author jsowell
* @date 2023-02-13
*/
public class OrderAbnormalRecord extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private Integer id;
/**
* 订单编号/交易流水号
*/
@Excel(name = "订单编号")
private String orderCode;
/**
* 桩编码
*/
@Excel(name = "桩编码")
private String pileSn;
/**
* 枪号
*/
@Excel(name = "枪号")
private String connectorCode;
/**
* 开始时间
*/
@Excel(name = "开始时间")
private String startTime;
/**
* 结束时间
*/
@Excel(name = "结束时间")
private String endTime;
/**
* 尖单价 精确到小数点后五位(尖电费+尖服务费,见费率帧)
*/
@Excel(name = "尖单价", readConverterExp = "尖=电费+尖服务费,见费率帧")
private String sharpPrice;
/**
* 尖电量 精确到小数点后四位
*/
@Excel(name = "尖电量")
private String sharpUsedElectricity;
/**
* 计损尖电量
*/
@Excel(name = "计损尖电量")
private String sharpPlanLossElectricity;
/**
* 尖金额
*/
@Excel(name = "尖金额")
private String sharpAmount;
/**
* 峰单价 精确到小数点后五位(峰电费+峰服务费)
*/
@Excel(name = "峰单价", readConverterExp = "峰=电费+峰服务费")
private String peakPrice;
/**
* 峰电量
*/
@Excel(name = "峰电量")
private String peakUsedElectricity;
/**
* 计损峰电量
*/
@Excel(name = "计损峰电量")
private String peakPlanLossElectricity;
/**
* 峰金额
*/
@Excel(name = "峰金额")
private String peakAmount;
/**
* 平单价 精确到小数点后五位(平电费+平服务费)
*/
@Excel(name = "平单价", readConverterExp = "平=电费+平服务费")
private String flatPrice;
/**
* 平电量
*/
@Excel(name = "平电量")
private String flatUsedElectricity;
/**
* 计损平电量
*/
@Excel(name = "计损平电量")
private String flatPlanLossElectricity;
/**
* 平金额
*/
@Excel(name = "平金额")
private String flatAmount;
/**
* 谷单价 精确到小数点后五位(谷电费+谷 服务费)
*/
@Excel(name = "谷单价", readConverterExp = "谷=电费+谷,服=务费")
private String valleyPrice;
/**
* 谷电量
*/
@Excel(name = "谷电量")
private String valleyUsedElectricity;
/**
* 计损谷电量
*/
@Excel(name = "计损谷电量")
private String valleyPlanLossElectricity;
/**
* 谷金额
*/
@Excel(name = "谷金额")
private String valleyAmount;
/**
* 电表总起值
*/
@Excel(name = "电表总起值")
private String ammeterTotalStart;
/**
* 电表总止值
*/
@Excel(name = "电表总止值")
private String ammeterTotalEnd;
/**
* 总电量
*/
@Excel(name = "总电量")
private String totalElectricity;
/**
* 计损总电量
*/
@Excel(name = "计损总电量")
private String planLossTotalElectricity;
/**
* 消费金额 精确到小数点后四位,包含电费、 服务费
*/
@Excel(name = "消费金额")
private String consumptionAmount;
/**
* VIN 码 VIN 码,此处 VIN 码和充电时 VIN 码不同, 正序直接上传, 无需补 0 和反序
*/
@Excel(name = "VIN码")
private String vinCode;
/**
* 交易标识(0x01app启动; 0x02卡启动; 0x04离线卡启动; 0x05vin码启动充电)
*/
@Excel(name = "交易标识(0x01app启动; 0x02卡启动; 0x04离线卡启动; 0x05vin码启动充电)")
private String transactionIdentifier;
/**
* 交易时间 CP56Time2a 格式
*/
@Excel(name = "交易时间")
private String transactionTime;
/**
* 停止原因
*/
@Excel(name = "停止原因")
private String stopReasonMsg;
/**
* 物理卡号 不足 8 位补 0
*/
@Excel(name = "物理卡号")
private String logicCard;
public void setId(Integer id) {
this.id = id;
}
public Integer getId() {
return id;
}
public void setOrderCode(String orderCode) {
this.orderCode = orderCode;
}
public String getOrderCode() {
return orderCode;
}
public void setPileSn(String pileSn) {
this.pileSn = pileSn;
}
public String getPileSn() {
return pileSn;
}
public void setConnectorCode(String connectorCode) {
this.connectorCode = connectorCode;
}
public String getConnectorCode() {
return connectorCode;
}
public void setStartTime(String startTime) {
this.startTime = startTime;
}
public String getStartTime() {
return startTime;
}
public void setEndTime(String endTime) {
this.endTime = endTime;
}
public String getEndTime() {
return endTime;
}
public void setSharpPrice(String sharpPrice) {
this.sharpPrice = sharpPrice;
}
public String getSharpPrice() {
return sharpPrice;
}
public void setSharpUsedElectricity(String sharpUsedElectricity) {
this.sharpUsedElectricity = sharpUsedElectricity;
}
public String getSharpUsedElectricity() {
return sharpUsedElectricity;
}
public void setSharpPlanLossElectricity(String sharpPlanLossElectricity) {
this.sharpPlanLossElectricity = sharpPlanLossElectricity;
}
public String getSharpPlanLossElectricity() {
return sharpPlanLossElectricity;
}
public void setSharpAmount(String sharpAmount) {
this.sharpAmount = sharpAmount;
}
public String getSharpAmount() {
return sharpAmount;
}
public void setPeakPrice(String peakPrice) {
this.peakPrice = peakPrice;
}
public String getPeakPrice() {
return peakPrice;
}
public void setPeakUsedElectricity(String peakUsedElectricity) {
this.peakUsedElectricity = peakUsedElectricity;
}
public String getPeakUsedElectricity() {
return peakUsedElectricity;
}
public void setPeakPlanLossElectricity(String peakPlanLossElectricity) {
this.peakPlanLossElectricity = peakPlanLossElectricity;
}
public String getPeakPlanLossElectricity() {
return peakPlanLossElectricity;
}
public void setPeakAmount(String peakAmount) {
this.peakAmount = peakAmount;
}
public String getPeakAmount() {
return peakAmount;
}
public void setFlatPrice(String flatPrice) {
this.flatPrice = flatPrice;
}
public String getFlatPrice() {
return flatPrice;
}
public void setFlatUsedElectricity(String flatUsedElectricity) {
this.flatUsedElectricity = flatUsedElectricity;
}
public String getFlatUsedElectricity() {
return flatUsedElectricity;
}
public void setFlatPlanLossElectricity(String flatPlanLossElectricity) {
this.flatPlanLossElectricity = flatPlanLossElectricity;
}
public String getFlatPlanLossElectricity() {
return flatPlanLossElectricity;
}
public void setFlatAmount(String flatAmount) {
this.flatAmount = flatAmount;
}
public String getFlatAmount() {
return flatAmount;
}
public void setValleyPrice(String valleyPrice) {
this.valleyPrice = valleyPrice;
}
public String getValleyPrice() {
return valleyPrice;
}
public void setValleyUsedElectricity(String valleyUsedElectricity) {
this.valleyUsedElectricity = valleyUsedElectricity;
}
public String getValleyUsedElectricity() {
return valleyUsedElectricity;
}
public void setValleyPlanLossElectricity(String valleyPlanLossElectricity) {
this.valleyPlanLossElectricity = valleyPlanLossElectricity;
}
public String getValleyPlanLossElectricity() {
return valleyPlanLossElectricity;
}
public void setValleyAmount(String valleyAmount) {
this.valleyAmount = valleyAmount;
}
public String getValleyAmount() {
return valleyAmount;
}
public void setAmmeterTotalStart(String ammeterTotalStart) {
this.ammeterTotalStart = ammeterTotalStart;
}
public String getAmmeterTotalStart() {
return ammeterTotalStart;
}
public void setAmmeterTotalEnd(String ammeterTotalEnd) {
this.ammeterTotalEnd = ammeterTotalEnd;
}
public String getAmmeterTotalEnd() {
return ammeterTotalEnd;
}
public void setTotalElectricity(String totalElectricity) {
this.totalElectricity = totalElectricity;
}
public String getTotalElectricity() {
return totalElectricity;
}
public void setPlanLossTotalElectricity(String planLossTotalElectricity) {
this.planLossTotalElectricity = planLossTotalElectricity;
}
public String getPlanLossTotalElectricity() {
return planLossTotalElectricity;
}
public void setConsumptionAmount(String consumptionAmount) {
this.consumptionAmount = consumptionAmount;
}
public String getConsumptionAmount() {
return consumptionAmount;
}
public void setVinCode(String vinCode) {
this.vinCode = vinCode;
}
public String getVinCode() {
return vinCode;
}
public void setTransactionIdentifier(String transactionIdentifier) {
this.transactionIdentifier = transactionIdentifier;
}
public String getTransactionIdentifier() {
return transactionIdentifier;
}
public void setTransactionTime(String transactionTime) {
this.transactionTime = transactionTime;
}
public String getTransactionTime() {
return transactionTime;
}
public void setStopReasonMsg(String stopReasonMsg) {
this.stopReasonMsg = stopReasonMsg;
}
public String getStopReasonMsg() {
return stopReasonMsg;
}
public void setLogicCard(String logicCard) {
this.logicCard = logicCard;
}
public String getLogicCard() {
return logicCard;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.JSON_STYLE)
.append("id", getId())
.append("orderCode", getOrderCode())
.append("pileSn", getPileSn())
.append("connectorCode", getConnectorCode())
.append("startTime", getStartTime())
.append("endTime", getEndTime())
.append("sharpPrice", getSharpPrice())
.append("sharpUsedElectricity", getSharpUsedElectricity())
.append("sharpPlanLossElectricity", getSharpPlanLossElectricity())
.append("sharpAmount", getSharpAmount())
.append("peakPrice", getPeakPrice())
.append("peakUsedElectricity", getPeakUsedElectricity())
.append("peakPlanLossElectricity", getPeakPlanLossElectricity())
.append("peakAmount", getPeakAmount())
.append("flatPrice", getFlatPrice())
.append("flatUsedElectricity", getFlatUsedElectricity())
.append("flatPlanLossElectricity", getFlatPlanLossElectricity())
.append("flatAmount", getFlatAmount())
.append("valleyPrice", getValleyPrice())
.append("valleyUsedElectricity", getValleyUsedElectricity())
.append("valleyPlanLossElectricity", getValleyPlanLossElectricity())
.append("valleyAmount", getValleyAmount())
.append("ammeterTotalStart", getAmmeterTotalStart())
.append("ammeterTotalEnd", getAmmeterTotalEnd())
.append("totalElectricity", getTotalElectricity())
.append("planLossTotalElectricity", getPlanLossTotalElectricity())
.append("consumptionAmount", getConsumptionAmount())
.append("vinCode", getVinCode())
.append("transactionIdentifier", getTransactionIdentifier())
.append("transactionTime", getTransactionTime())
.append("stopReasonMsg", getStopReasonMsg())
.append("logicCard", getLogicCard())
.append("createTime", getCreateTime())
.toString();
}
}

View File

@@ -0,0 +1,185 @@
package com.jsowell.pile.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jsowell.common.annotation.Excel;
import com.jsowell.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 订单对象 order_basic_info
*
* @author jsowell
* @date 2022-09-30
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class OrderBasicInfo extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private Long id;
/**
* 订单编号
*/
@Excel(name = "订单编号")
private String orderCode;
/**
* 订单状态(0-待支付1-充电中2-待结算3-待补缴4-异常5-可疑6-订单完成)
*/
@Excel(name = "订单状态")
private String orderStatus;
/**
* 会员id
*/
@Excel(name = "会员id")
private String memberId;
/**
* 站点id
*/
@Excel(name = "站点id")
private String stationId;
/**
* 充电桩sn号
*/
@Excel(name = "充电桩sn号")
private String pileSn;
/**
* 充电桩枪口号
*/
@Excel(name = "充电桩枪口号")
private String connectorCode;
/**
* 充电桩枪口编号
*/
@Excel(name = "充电桩枪口编号")
private String pileConnectorCode;
/**
* 启动方式
* 0-后管启动1-用户app启动
*/
@Excel(name = "启动方式")
private String startMode;
/**
* 支付方式
* 1-余额支付3-白名单支付; 4-微信支付5-支付宝支付;
*/
@Excel(name = "支付方式")
private String payMode;
/**
* 支付状态
* 0-待支付1-支付完成
*/
@Excel(name = "支付状态")
private String payStatus;
/**
* 支付金额
* 指用户本次需要充电的金额
*/
@Excel(name = "支付金额")
private BigDecimal payAmount;
/**
* 支付时间
*/
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date payTime;
/**
* 订单总金额 = 电费总金额 + 服务费总金额
*/
@Excel(name = "订单总金额 = 电费总金额 + 服务费总金额")
private BigDecimal orderAmount;
/**
* 充电开始时间
*/
private Date chargeStartTime;
/**
* 充电结束时间
*/
private Date chargeEndTime;
/**
* 开始SOC
*/
private String startSOC;
/**
* 结束SOC
*/
private String endSOC;
/**
* 异常原因
*/
private String reason;
/**
* 结算时间
*/
private Date settlementTime;
/**
* 退款金额
*/
private BigDecimal refundAmount;
/**
* 删除标识0-正常1-删除)
*/
private String delFlag;
private List<OrderDetail> orderDetailList;
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.JSON_STYLE)
.append("id", id)
.append("orderCode", orderCode)
.append("orderStatus", orderStatus)
.append("memberId", memberId)
.append("stationId", stationId)
.append("pileSn", pileSn)
.append("connectorCode", connectorCode)
.append("startMode", startMode)
.append("payMode", payMode)
.append("payStatus", payStatus)
.append("payAmount", payAmount)
.append("payTime", payTime)
.append("orderAmount", orderAmount)
.append("chargeStartTime", chargeStartTime)
.append("chargeEndTime", chargeEndTime)
.append("startSOC", startSOC)
.append("endSOC", endSOC)
.append("reason", reason)
.append("delFlag", delFlag)
.append("orderDetailList", orderDetailList)
.toString();
}
}

View File

@@ -0,0 +1,319 @@
package com.jsowell.pile.domain;
import com.jsowell.common.annotation.Excel;
import com.jsowell.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.math.BigDecimal;
/**
* 订单详情对象 order_detail
*
* @author jsowell
* @date 2022-09-30
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class OrderDetail extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private Integer id;
/**
* 订单编号
*/
@Excel(name = "订单编号")
private String orderCode;
/**
* 总用电量
*/
@Excel(name = "总用电量")
private BigDecimal totalUsedElectricity;
/**
* 订单总金额(电费总额+服务费总额)
*/
@Excel(name = "订单总金额", readConverterExp = "电=费总额+服务费总额")
private BigDecimal totalOrderAmount;
/**
* 电费总金额(各时段消耗电费总金额)
*/
@Excel(name = "电费总金额", readConverterExp = "各=时段消耗电费总金额")
private BigDecimal totalElectricityAmount;
/**
* 服务费总金额(各时段服务费总金额)
*/
@Excel(name = "服务费总金额", readConverterExp = "各=时段服务费总金额")
private BigDecimal totalServiceAmount;
/**
* 尖时段用电量
*/
@Excel(name = "尖时段用电量")
private BigDecimal sharpUsedElectricity;
/**
* 尖时段电费单价
*/
@Excel(name = "尖时段电费单价")
private BigDecimal sharpElectricityPrice;
/**
* 尖时段服务费单价
*/
@Excel(name = "尖时段服务费单价")
private BigDecimal sharpServicePrice;
/**
* 峰时段用电量
*/
@Excel(name = "峰时段用电量")
private BigDecimal peakUsedElectricity;
/**
* 峰时段电费单价
*/
@Excel(name = "峰时段电费单价")
private BigDecimal peakElectricityPrice;
/**
* 峰时段服务费单价
*/
@Excel(name = "峰时段服务费单价")
private BigDecimal peakServicePrice;
/**
* 平时段用电量
*/
@Excel(name = "平时段用电量")
private BigDecimal flatUsedElectricity;
/**
* 平时段电费单价
*/
@Excel(name = "平时段电费单价")
private BigDecimal flatElectricityPrice;
/**
* 平时段服务费单价
*/
@Excel(name = "平时段服务费单价")
private BigDecimal flatServicePrice;
/**
* 谷时段用电量
*/
@Excel(name = "谷时段用电量")
private BigDecimal valleyUsedElectricity;
/**
* 谷时段电费单价
*/
@Excel(name = "谷时段电费单价")
private BigDecimal valleyElectricityPrice;
/**
* 谷时段服务费单价
*/
@Excel(name = "谷时段服务费单价")
private BigDecimal valleyServicePrice;
/**
* 删除标识0-正常1-删除)
*/
private String delFlag;
public void setId(Integer id) {
this.id = id;
}
public Integer getId() {
return id;
}
public void setOrderCode(String orderCode) {
this.orderCode = orderCode;
}
public String getOrderCode() {
return orderCode;
}
public void setTotalUsedElectricity(BigDecimal totalUsedElectricity) {
this.totalUsedElectricity = totalUsedElectricity;
}
public BigDecimal getTotalUsedElectricity() {
return totalUsedElectricity;
}
public void setTotalOrderAmount(BigDecimal totalOrderAmount) {
this.totalOrderAmount = totalOrderAmount;
}
public BigDecimal getTotalOrderAmount() {
return totalOrderAmount;
}
public void setTotalElectricityAmount(BigDecimal totalElectricityAmount) {
this.totalElectricityAmount = totalElectricityAmount;
}
public BigDecimal getTotalElectricityAmount() {
return totalElectricityAmount;
}
public void setTotalServiceAmount(BigDecimal totalServiceAmount) {
this.totalServiceAmount = totalServiceAmount;
}
public BigDecimal getTotalServiceAnount() {
return totalServiceAmount;
}
public void setSharpUsedElectricity(BigDecimal sharpUsedElectricity) {
this.sharpUsedElectricity = sharpUsedElectricity;
}
public BigDecimal getSharpUsedElectricity() {
return sharpUsedElectricity;
}
public void setSharpElectricityPrice(BigDecimal sharpElectricityPrice) {
this.sharpElectricityPrice = sharpElectricityPrice;
}
public BigDecimal getSharpElectricityPrice() {
return sharpElectricityPrice;
}
public void setSharpServicePrice(BigDecimal sharpServicePrice) {
this.sharpServicePrice = sharpServicePrice;
}
public BigDecimal getSharpServicePrice() {
return sharpServicePrice;
}
public void setPeakUsedElectricity(BigDecimal peakUsedElectricity) {
this.peakUsedElectricity = peakUsedElectricity;
}
public BigDecimal getPeakUsedElectricity() {
return peakUsedElectricity;
}
public void setPeakElectricityPrice(BigDecimal peakElectricityPrice) {
this.peakElectricityPrice = peakElectricityPrice;
}
public BigDecimal getPeakElectricityPrice() {
return peakElectricityPrice;
}
public void setPeakServicePrice(BigDecimal peakServicePrice) {
this.peakServicePrice = peakServicePrice;
}
public BigDecimal getPeakServicePrice() {
return peakServicePrice;
}
public void setFlatUsedElectricity(BigDecimal flatUsedElectricity) {
this.flatUsedElectricity = flatUsedElectricity;
}
public BigDecimal getFlatUsedElectricity() {
return flatUsedElectricity;
}
public void setFlatElectricityPrice(BigDecimal flatElectricityPrice) {
this.flatElectricityPrice = flatElectricityPrice;
}
public BigDecimal getFlatElectricityPrice() {
return flatElectricityPrice;
}
public void setFlatServicePrice(BigDecimal flatServicePrice) {
this.flatServicePrice = flatServicePrice;
}
public BigDecimal getFlatServicePrice() {
return flatServicePrice;
}
public void setValleyUsedElectricity(BigDecimal valleyUsedElectricity) {
this.valleyUsedElectricity = valleyUsedElectricity;
}
public BigDecimal getValleyUsedElectricity() {
return valleyUsedElectricity;
}
public void setValleyElectricityPrice(BigDecimal valleyElectricityPrice) {
this.valleyElectricityPrice = valleyElectricityPrice;
}
public BigDecimal getValleyElectricityPrice() {
return valleyElectricityPrice;
}
public void setValleyServicePrice(BigDecimal valleyServicePrice) {
this.valleyServicePrice = valleyServicePrice;
}
public BigDecimal getValleyServicePrice() {
return valleyServicePrice;
}
public void setDelFlag(String delFlag) {
this.delFlag = delFlag;
}
public String getDelFlag() {
return delFlag;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.JSON_STYLE)
.append("id", getId())
.append("orderCode", getOrderCode())
.append("totalUsedElectricity", getTotalUsedElectricity())
.append("totalOrderAmount", getTotalOrderAmount())
.append("totalElectricityAmount", getTotalElectricityAmount())
.append("totalServiceAnount", getTotalServiceAnount())
.append("sharpUsedElectricity", getSharpUsedElectricity())
.append("sharpElectricityPrice", getSharpElectricityPrice())
.append("sharpServicePrice", getSharpServicePrice())
.append("peakUsedElectricity", getPeakUsedElectricity())
.append("peakElectricityPrice", getPeakElectricityPrice())
.append("peakServicePrice", getPeakServicePrice())
.append("flatUsedElectricity", getFlatUsedElectricity())
.append("flatElectricityPrice", getFlatElectricityPrice())
.append("flatServicePrice", getFlatServicePrice())
.append("valleyUsedElectricity", getValleyUsedElectricity())
.append("valleyElectricityPrice", getValleyElectricityPrice())
.append("valleyServicePrice", getValleyServicePrice())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("delFlag", getDelFlag())
.toString();
}
}

View File

@@ -0,0 +1,70 @@
package com.jsowell.pile.domain;
import com.jsowell.common.enums.ykc.OrderPayRecordEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 订单支付记录
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class OrderPayRecord {
/**
* 主键
*/
private Integer id;
/**
* 订单号
*/
private String orderCode;
/**
* 支付方式1-本金余额支付; 2-赠送余额支付; 3-白名单支付; 4-微信支付; 5-支付宝支付)
* @see OrderPayRecordEnum
*/
private String payMode;
/**
* 支付金额
*/
private BigDecimal payAmount;
/**
* 退款金额
*/
private BigDecimal refundAmount;
/**
* 创建人
*/
private String createBy;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新人
*/
private String updateBy;
/**
* 更新时间
*/
private LocalDateTime updateTime;
/**
* 删除标识0-正常1-删除)
*/
private String delFlag;
}

View File

@@ -0,0 +1,215 @@
package com.jsowell.pile.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jsowell.common.annotation.Excel;
import com.jsowell.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.util.Date;
/**
* 设备管理对象 pile_basic_info
*
* @author jsowell
* @date 2022-08-26
*/
public class PileBasicInfo extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private Long id;
/**
* 桩号
*/
@Excel(name = "桩号")
private String sn;
/**
* 状态0-未知1-在线2-离线3-故障)
*/
// @Excel(name = "状态", readConverterExp = "0-未知1-在线2-离线3-故障")
// private String status;
/**
* 经营类型1-运营桩2-个人桩)
*/
@Excel(name = "经营类型", readConverterExp = "1=-运营桩2-个人桩")
private String businessType;
/**
* 软件协议1-云快充2-永联)
*/
@Excel(name = "软件协议", readConverterExp = "1=-云快充2-永联")
private String softwareProtocol;
/**
* 生产日期
*/
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date productionDate;
/**
* 证书编号
*/
@Excel(name = "证书编号")
private Long licenceId;
/**
* 充电桩型号
*/
@Excel(name = "充电桩型号")
private Long modelId;
/**
* sim卡id
*/
@Excel(name = "sim卡id")
private Long simId;
/**
* 运营商id
*/
@Excel(name = "运营商id")
private Long merchantId;
/**
* 充电站id
*/
@Excel(name = "充电站id")
private Long stationId;
/**
* 故障原因
*/
@Excel(name = "故障原因")
private String faultReason;
/**
* 删除标识0-正常1-删除)
*/
private String delFlag;
public void setId(Long id) {
this.id = id;
}
public Long getId() {
return id;
}
public void setSn(String sn) {
this.sn = sn;
}
public String getSn() {
return sn;
}
public void setBusinessType(String businessType) {
this.businessType = businessType;
}
public String getBusinessType() {
return businessType;
}
public void setSoftwareProtocol(String softwareProtocol) {
this.softwareProtocol = softwareProtocol;
}
public String getSoftwareProtocol() {
return softwareProtocol;
}
public void setProductionDate(Date productionDate) {
this.productionDate = productionDate;
}
public Date getProductionDate() {
return productionDate;
}
public void setLicenceId(Long licenceId) {
this.licenceId = licenceId;
}
public Long getLicenceId() {
return licenceId;
}
public void setModelId(Long modelId) {
this.modelId = modelId;
}
public Long getModelId() {
return modelId;
}
public void setSimId(Long simId) {
this.simId = simId;
}
public Long getSimId() {
return simId;
}
public void setMerchantId(Long merchantId) {
this.merchantId = merchantId;
}
public Long getMerchantId() {
return merchantId;
}
public void setStationId(Long stationId) {
this.stationId = stationId;
}
public Long getStationId() {
return stationId;
}
public void setFaultReason(String faultReason) {
this.faultReason = faultReason;
}
public String getFaultReason() {
return faultReason;
}
public void setDelFlag(String delFlag) {
this.delFlag = delFlag;
}
public String getDelFlag() {
return delFlag;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.JSON_STYLE)
.append("id", getId())
.append("sn", getSn())
.append("businessType", getBusinessType())
.append("softwareProtocol", getSoftwareProtocol())
.append("productionDate", getProductionDate())
.append("licenceId", getLicenceId())
.append("modelId", getModelId())
.append("simId", getSimId())
.append("merchantId", getMerchantId())
.append("stationId", getStationId())
.append("faultReason", getFaultReason())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("delFlag", getDelFlag())
.append("remark", getRemark())
.toString();
}
}

View File

@@ -0,0 +1,131 @@
package com.jsowell.pile.domain;
import com.jsowell.common.annotation.Excel;
import com.jsowell.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.math.BigDecimal;
/**
* 计费模板详情对象 pile_billing_detail
*
* @author jsowell
* @date 2022-09-20
*/
public class PileBillingDetail extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private Long id;
/**
* 计费模板编号
*/
@Excel(name = "计费模板编号")
private String templateCode;
/**
* 时段类型1-尖时2-峰时3-平时4-谷时)
*/
@Excel(name = "时段类型", readConverterExp = "1=-尖时2-峰时3-平时4-谷时")
private String timeType;
/**
* 电费
*/
@Excel(name = "电费")
private BigDecimal electricityPrice;
/**
* 服务费
*/
@Excel(name = "服务费")
private BigDecimal servicePrice;
/**
* 适用时间段
*/
@Excel(name = "适用时间段")
private String applyTime;
/**
* 删除标识0-正常1-删除)
*/
private String delFlag;
public void setId(Long id) {
this.id = id;
}
public Long getId() {
return id;
}
public void setTemplateCode(String templateCode) {
this.templateCode = templateCode;
}
public String getTemplateCode() {
return templateCode;
}
public void setTimeType(String timeType) {
this.timeType = timeType;
}
public String getTimeType() {
return timeType;
}
public void setElectricityPrice(BigDecimal electricityPrice) {
this.electricityPrice = electricityPrice;
}
public BigDecimal getElectricityPrice() {
return electricityPrice;
}
public void setServicePrice(BigDecimal servicePrice) {
this.servicePrice = servicePrice;
}
public BigDecimal getServicePrice() {
return servicePrice;
}
public void setApplyTime(String applyTime) {
this.applyTime = applyTime;
}
public String getApplyTime() {
return applyTime;
}
public void setDelFlag(String delFlag) {
this.delFlag = delFlag;
}
public String getDelFlag() {
return delFlag;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.JSON_STYLE)
.append("id", getId())
.append("templateCode", getTemplateCode())
.append("timeType", getTimeType())
.append("electricityPrice", getElectricityPrice())
.append("servicePrice", getServicePrice())
.append("applyTime", getApplyTime())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("delFlag", getDelFlag())
.toString();
}
}

View File

@@ -0,0 +1,35 @@
package com.jsowell.pile.domain;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 充电桩和计费模板关系
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class PileBillingRelation {
/**
* 主键
*/
private Long id;
/**
* 桩编号
*/
private String pileSn;
/**
* 计费模板编号
*/
private String billingTemplateCode;
/**
* 站点id
*/
private String stationId;
}

View File

@@ -0,0 +1,154 @@
package com.jsowell.pile.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jsowell.common.annotation.Excel;
import com.jsowell.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.util.Date;
import java.util.List;
/**
* 计费模板对象 pile_billing_template
*
* @author jsowell
* @date 2022-09-20
*/
@Data
public class PileBillingTemplate extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private Long id;
/**
* 计费模板编号
*/
private String templateCode;
/**
* 模板名称
*/
@Excel(name = "模板名称")
private String name;
/**
* 车辆类型1-电动汽车2-电动自行车)
*/
@Excel(name = "车辆类型", readConverterExp = "1=-电动汽车2-电动自行车")
private String type;
/**
* 充电站id
*/
@Excel(name = "充电站id")
private Long stationId;
/**
* 删除标识0-正常1-删除)
*/
private String delFlag;
/**
* 计费模板详情信息
*/
private List<PileBillingDetail> pileBillingDetailList;
/**
* 公共模板标识0-私有1-公共)
*/
private String publicFlag;
/**
* 发布时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date publishTime;
public String getPublicFlag() {
return publicFlag;
}
public void setPublicFlag(String publicFlag) {
this.publicFlag = publicFlag;
}
public void setId(Long id) {
this.id = id;
}
public Long getId() {
return id;
}
public void setTemplateCode(String templateCode) {
this.templateCode = templateCode;
}
public String getTemplateCode() {
return templateCode;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setType(String type) {
this.type = type;
}
public String getType() {
return type;
}
public void setStationId(Long stationId) {
this.stationId = stationId;
}
public Long getStationId() {
return stationId;
}
public void setDelFlag(String delFlag) {
this.delFlag = delFlag;
}
public String getDelFlag() {
return delFlag;
}
public List<PileBillingDetail> getPileBillingDetailList() {
return pileBillingDetailList;
}
public void setPileBillingDetailList(List<PileBillingDetail> pileBillingDetailList) {
this.pileBillingDetailList = pileBillingDetailList;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.JSON_STYLE)
.append("id", getId())
.append("templateCode", getTemplateCode())
.append("name", getName())
.append("remark", getRemark())
.append("type", getType())
.append("stationId", getStationId())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("delFlag", getDelFlag())
.append("pileBillingDetailList", getPileBillingDetailList())
.append("publicFlag", getPublicFlag())
.toString();
}
}

View File

@@ -0,0 +1,121 @@
package com.jsowell.pile.domain;
import com.jsowell.common.annotation.Excel;
import com.jsowell.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* 充电桩枪口信息对象 pile_connector_info
*
* @author jsowell
* @date 2022-08-31
*/
public class PileConnectorInfo extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private Integer id;
/**
* 名称
*/
@Excel(name = "名称")
private String name;
/**
* 充电枪编号由充电桩SN+01生成
*/
@Excel(name = "充电枪编号由充电桩SN+01生成")
private String pileConnectorCode;
/**
* 状态
* 0离网
* 1空闲
* 2占用未充电
* 3占用充电中
* 4占用预约锁定
* 255故障
*/
@Excel(name = "状态")
private String status;
/**
* 所属充电桩id
*/
@Excel(name = "所属充电桩id")
private String pileSn;
/**
* 删除标识0-正常1-删除)
*/
private String delFlag;
public void setId(Integer id) {
this.id = id;
}
public Integer getId() {
return id;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public String getPileConnectorCode() {
return pileConnectorCode;
}
public void setPileConnectorCode(String pileConnectorCode) {
this.pileConnectorCode = pileConnectorCode;
}
public void setStatus(String status) {
this.status = status;
}
public String getStatus() {
return status;
}
public void setPileSn(String pileSn) {
this.pileSn = pileSn;
}
public String getPileSn() {
return pileSn;
}
public void setDelFlag(String delFlag) {
this.delFlag = delFlag;
}
public String getDelFlag() {
return delFlag;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.JSON_STYLE)
.append("id", getId())
.append("name", getName())
.append("pileConnectorCode", getPileConnectorCode())
.append("status", getStatus())
.append("pileId", getPileSn())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("delFlag", getDelFlag())
.toString();
}
}

View File

@@ -0,0 +1,114 @@
package com.jsowell.pile.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jsowell.common.annotation.Excel;
import com.jsowell.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.util.Date;
/**
* 充电桩证书信息对象 pile_licence_info
*
* @author jsowell
* @date 2022-08-27
*/
public class PileLicenceInfo extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
private Long id;
/** 证书名称 */
@Excel(name = "证书名称")
private String licenceName;
/** 运营商id */
@Excel(name = "运营商id")
private Long merchantId;
/** 状态0-待激活1-正常2-过期) */
@Excel(name = "状态", readConverterExp = "0=-待激活1-正常2-过期")
private String status;
/** 过期时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "过期时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date expireTime;
/** 删除标识0-正常1-删除) */
private String delFlag;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setLicenceName(String licenceName)
{
this.licenceName = licenceName;
}
public String getLicenceName()
{
return licenceName;
}
public void setMerchantId(Long merchantId)
{
this.merchantId = merchantId;
}
public Long getMerchantId()
{
return merchantId;
}
public void setStatus(String status)
{
this.status = status;
}
public String getStatus()
{
return status;
}
public void setExpireTime(Date expireTime)
{
this.expireTime = expireTime;
}
public Date getExpireTime()
{
return expireTime;
}
public void setDelFlag(String delFlag)
{
this.delFlag = delFlag;
}
public String getDelFlag()
{
return delFlag;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.JSON_STYLE)
.append("id", getId())
.append("licenceName", getLicenceName())
.append("merchantId", getMerchantId())
.append("status", getStatus())
.append("expireTime", getExpireTime())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("delFlag", getDelFlag())
.toString();
}
}

View File

@@ -0,0 +1,56 @@
package com.jsowell.pile.domain;
import com.jsowell.common.annotation.Excel;
import com.jsowell.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* 桩与用户绑定关系对象 pile_member_relation
*
* @author jsowell
* @date 2023-02-21
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class PileMemberRelation extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Integer id;
/** 桩编码 */
@Excel(name = "桩编码")
private String pileSn;
/** 会员id */
@Excel(name = "会员id")
private String memberId;
/** 身份类型1-管理员2-用户) */
@Excel(name = "身份类型", readConverterExp = "1=-管理员2-用户")
private String type;
public void setId(Integer id)
{
this.id = id;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.JSON_STYLE)
.append("id", getId())
.append("pileSn", getPileSn())
.append("memberId", getMemberId())
.append("type", getType())
.append("createTime", getCreateTime())
.toString();
}
}

View File

@@ -0,0 +1,107 @@
package com.jsowell.pile.domain;
import com.jsowell.common.annotation.Excel;
import com.jsowell.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* 充电桩运营商信息对象 pile_merchant_info
*
* @author jsowell
* @date 2022-08-27
*/
@Data
public class PileMerchantInfo extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
*
*/
private Long id;
/**
* 运营商名称
*/
@Excel(name = "运营商名称")
private String merchantName;
/**
* 地址
*/
@Excel(name = "地址")
private String address;
/**
* 状态
* 0-失效1-生效
*/
@Excel(name = "状态")
private String status;
/**
* 组织机构代码
*/
@Excel(name = "组织机构代码")
private String organizationCode;
/**
* 负责人姓名
*/
@Excel(name = "负责人姓名")
private String managerName;
/**
* 负责人电话号码
*/
@Excel(name = "负责人电话号码")
private String managerPhone;
/**
* 客服电话号码
*/
@Excel(name = "客服电话号码")
private String servicePhone;
/**
* logo
*/
@Excel(name = "logo")
private String logoUrl;
/**
* 运营商的小程序appId
*/
private String appId;
/**
* 部门id
*/
private String deptId;
/**
* 删除标识0-正常1-删除)
*/
private String delFlag;
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.JSON_STYLE)
.append("id", getId())
.append("merchantName", getMerchantName())
.append("address", getAddress())
.append("status", getStatus())
.append("organizationCode", getOrganizationCode())
.append("managerName", getManagerName())
.append("managerPhone", getManagerPhone())
.append("servicePhone", getServicePhone())
.append("logoUrl", getLogoUrl())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("delFlag", getDelFlag())
.toString();
}
}

View File

@@ -0,0 +1,102 @@
package com.jsowell.pile.domain;
import com.jsowell.common.annotation.Excel;
import com.jsowell.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* 充电桩型号信息对象 pile_model_info
*
* @author jsowell
* @date 2022-09-07
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class PileModelInfo extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
*
*/
private Long id;
/**
* 型号名称
*/
@Excel(name = "型号名称")
private String modelName;
/**
* 额定功率单位W
*/
@Excel(name = "额定功率单位kW")
private String ratedPower;
/**
* 额定电流单位A
*/
@Excel(name = "额定电流单位A")
private String ratedCurrent;
/**
* 额定电压单位V
*/
@Excel(name = "额定电压单位V")
private String ratedVoltage;
/**
* 充电类型1-快充2-慢充)
*/
@Excel(name = "充电类型", readConverterExp = "1=-快充2-慢充")
private String speedType;
/**
* 充电桩类型1-汽车桩2-电单车)
*/
@Excel(name = "充电桩类型", readConverterExp = "1=-汽车桩2-电单车")
private String chargerPileType;
/**
* 充电枪数量
*/
@Excel(name = "充电枪数量")
private Long connectorNum;
/**
* 充电接口标准
*/
@Excel(name = "充电接口标准")
private String interfaceStandard;
/**
* 删除标识0-正常1-删除)
*/
private String delFlag;
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.JSON_STYLE)
.append("id", getId())
.append("modelName", getModelName())
.append("ratedPower", getRatedPower())
.append("ratedCurrent", getRatedCurrent())
.append("ratedVoltage", getRatedVoltage())
.append("speedType", getSpeedType())
.append("chargerPileType", getChargerPileType())
.append("connectorNum", getConnectorNum())
.append("interfaceStandard", getInterfaceStandard())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("delFlag", getDelFlag())
.toString();
}
}

View File

@@ -0,0 +1,53 @@
package com.jsowell.pile.domain;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class PileMsgRecord {
/**
* 主键
*/
private Long id;
/**
* 桩编号
*/
private String pileSn;
/**
* 帧类型
*/
private String frameType;
/**
* 枪口号
*/
private String connectorCode;
/**
* 枪口编号
*/
private String pileConnectorCode;
/**
* 原始报文
*/
private String originalMsg;
/**
* json格式报文
*/
private String jsonMsg;
/**
* 创建时间
*/
private String createTime;
}

View File

@@ -0,0 +1,66 @@
package com.jsowell.pile.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jsowell.common.annotation.Excel;
import com.jsowell.common.core.domain.BaseEntity;
import lombok.*;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.util.Date;
/**
* 充电桩SIM卡信息对象 pile_sim_info
*
* @author jsowell
* @date 2022-08-26
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class PileSimInfo extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
private Long id;
/** 套餐名称 */
@Excel(name = "套餐名称")
private String name;
/** ICCID */
@Excel(name = "ICCID")
private String iccid;
/** 状态0-正常,1-强制断网,2-客户断网,3-超套停,4-服务结束,5-提请销卡,6-销卡) */
@Excel(name = "状态", readConverterExp = "0=-正常,1-强制断网,2-客户断网,3-超套停,4-服务结束,5-提请销卡,6-销卡")
private String status;
/** sim卡供应商 */
@Excel(name = "sim卡供应商")
private String simSupplier;
/** 套餐总流量 */
@Excel(name = "套餐总流量")
private String totalData;
/** 剩余流量 */
@Excel(name = "剩余流量")
private String surplusData;
/** 到期时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "到期时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date expireTime;
/** SIM卡运营商(china_telecom - 中国电信, china_mobile - 中国移动, china_unicom - 中国联通) */
@Excel(name = "SIM卡运营商(china_telecom - 中国电信, china_mobile - 中国移动, china_unicom - 中国联通)")
private String operator;
/** 删除标识0-正常1-删除) */
private String delFlag;
}

View File

@@ -0,0 +1,355 @@
package com.jsowell.pile.domain;
import com.jsowell.common.annotation.Excel;
import com.jsowell.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.math.BigDecimal;
/**
* 充电站信息对象 pile_station_info
*
* @author jsowell
* @date 2022-08-30
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class PileStationInfo extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 站点id
*/
private Long id;
/**
* 运营商id
*/
private Long merchantId;
/**
* 站点名称
*/
@Excel(name = "站点名称")
private String stationName;
private String deptId;
/**
* 是否独立报桩0-否1-是)
*/
@Excel(name = "是否独立报桩", readConverterExp = "0=-否1-是")
private String aloneApply;
/**
* 国网电费账单户号
*/
@Excel(name = "国网电费账单户号")
private String accountNumber;
/**
* 容量独立电表申请的功率保留小数点后4位
*/
@Excel(name = "容量")
private BigDecimal capacity;
/**
* 公共停车场库(0-否1-是)
*/
@Excel(name = "公共停车场库(0-否1-是)")
private String publicParking;
/**
* 停车场库编号
*/
@Excel(name = "停车场库编号")
private String parkingNumber;
/**
* 充电站国家代码
*/
@Excel(name = "充电站国家代码")
private String countryCode;
/**
* 充电站省市辖区编码
*/
@Excel(name = "充电站省市辖区编码")
private String areaCode;
/**
* 站点地址
*/
@Excel(name = "站点地址")
private String address;
/**
* 站点电话
*/
@Excel(name = "站点电话")
private String stationTel;
/**
* 服务电话,例如400电话
*/
@Excel(name = "服务电话,例如400电话")
private String serviceTel;
/**
* 站点状态【1公共
* 50个人
* 100公交专用
* 101环卫专用
* 102物流专用
* 103出租车专用
* 104分时租赁专用
* 105小区共享专用
* 106单位专用
* 255其他
* 】
*/
@Excel(name = "站点状态", readConverterExp = "专=用")
private String stationType;
/**
* 站点状态【0未知
* 1建设中
* 5关闭下线
* 6维护中
* 50正常使用
* 】
*/
@Excel(name = "站点状态")
private String stationStatus;
/**
* 站点管理员名称
*/
@Excel(name = "站点管理员名称")
private String stationAdminName;
/**
* 车位数量(默认0 未知)
*/
@Excel(name = "车位数量(默认0 未知)")
private String parkNums;
/**
* 经度GCJ-02坐标系保留小数点后6位
*/
@Excel(name = "经度GCJ-02坐标系保留小数点后6位")
private String stationLng;
/**
* 纬度GCJ-02坐标系保留小数点后6位
*/
@Excel(name = "纬度GCJ-02坐标系保留小数点后6位")
private String stationLat;
/**
* 站点引导,用于引导车主找到充电车位
*/
@Excel(name = "站点引导,用于引导车主找到充电车位")
private String siteGuide;
/**
* 建设场所(1居民区
* 2公共机构
* 3企事业单位
* 4写字楼
* 5工业园区
* 6交通枢纽
* 7大型文体设施
* 8城市绿地
* 9大型建筑配建停车场
* 10路边停车位
* 11城际高速服务区
* 12风景区
* 13公交场站
* 14加油加气站
* 15出租车
* 255其他
* )
*/
@Excel(name = "建设场所")
private String construction;
/**
* 站点照片
*/
@Excel(name = "站点照片")
private String pictures;
/**
* 使用车型描述(描述该站点接受的车大小以及类型,如大巴、物流车、私家乘用车、出租车等 )
*/
@Excel(name = "使用车型描述(描述该站点接受的车大小以及类型,如大巴、物流车、私家乘用车、出租车等 )")
private String matchCars;
/**
* 车位楼层及数量描述
*/
@Excel(name = "车位楼层及数量描述")
private String parkInfo;
/**
* 停车场产权方
*/
@Excel(name = "停车场产权方")
private String parkOwner;
/**
* 停车场管理人XX 物业)
*/
@Excel(name = "停车场管理人", readConverterExp = "如=XX,物=业")
private String parkManager;
/**
* 是否全天开放
* 0
* 1
*/
@Excel(name = "是否全天开放")
private String openAllDay;
/**
* 营业时间描述
*/
@Excel(name = "营业时间描述")
private String businessHours;
/**
* 是否停车免费
* 0
* 1
*/
@Excel(name = "是否停车免费")
private String parkFree;
/**
* 支付方式:0-刷卡、1-线上、2-现金
* 其中电子钱包类卡为刷卡,身份鉴权卡、微信/ 支付宝、APP为线上
*/
@Excel(name = "支付方式")
private String payment;
/**
* 是否支持预约 (0为不支持预约、1为支持预约。不填默认为0)
*/
@Excel(name = "是否支持预约 (0为不支持预约、1为支持预约。不填默认为0)")
private String supportOrder;
/**
* 是否对外开放 0-否1-是)
*/
private String publicFlag;
/**
* 是否营业中0-否1-是)
*/
private String openFlag;
/**
* 是否靠近卫生间 (0-无1-有)
*/
@Excel(name = "是否靠近卫生间 (0-无1-有)")
private String toiletFlag;
/**
* 是否靠近便利店(0-无1-有)
*/
@Excel(name = "是否靠近便利店(0-无1-有)")
private String storeFlag;
/**
* 是否靠近餐厅(0-无1-有)
*/
@Excel(name = "是否靠近餐厅(0-无1-有)")
private String restaurantFlag;
/**
* 是否靠近休息室(0-无1-有)
*/
@Excel(name = "是否靠近休息室(0-无1-有)")
private String loungeFlag;
/**
* 是否有雨棚(0-无1-有)
*/
@Excel(name = "是否有雨棚(0-无1-有)")
private String canopyFlag;
/**
* 是否有小票机 (0-无1-有)
*/
@Excel(name = "是否有小票机 (0-无1-有)")
private String printerFlag;
/**
* 是否有道闸(0-无1-有)
*/
@Excel(name = "是否有道闸(0-无1-有)")
private String barrierFlag;
/**
* 是否有地锁(0-无1-有)
*/
@Excel(name = "是否有地锁(0-无1-有)")
private String parkingLockFlag;
/**
* 删除标识0-正常1-删除)
*/
private String delFlag;
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.JSON_STYLE)
.append("id", id)
.append("merchantId", merchantId)
.append("stationName", stationName)
.append("aloneApply", aloneApply)
.append("accountNumber", accountNumber)
.append("capacity", capacity)
.append("publicParking", publicParking)
.append("parkingNumber", parkingNumber)
.append("countryCode", countryCode)
.append("areaCode", areaCode)
.append("address", address)
.append("stationTel", stationTel)
.append("serviceTel", serviceTel)
.append("stationType", stationType)
.append("stationStatus", stationStatus)
.append("stationAdminName", stationAdminName)
.append("parkNums", parkNums)
.append("stationLng", stationLng)
.append("stationLat", stationLat)
.append("siteGuide", siteGuide)
.append("construction", construction)
.append("pictures", pictures)
.append("matchCars", matchCars)
.append("parkInfo", parkInfo)
.append("parkOwner", parkOwner)
.append("parkManager", parkManager)
.append("openAllDay", openAllDay)
.append("businessHours", businessHours)
.append("parkFree", parkFree)
.append("payment", payment)
.append("supportOrder", supportOrder)
.append("publicFlag", publicFlag)
.append("openFlag", openFlag)
.append("toiletFlag", toiletFlag)
.append("storeFlag", storeFlag)
.append("restaurantFlag", restaurantFlag)
.append("loungeFlag", loungeFlag)
.append("canopyFlag", canopyFlag)
.append("printerFlag", printerFlag)
.append("barrierFlag", barrierFlag)
.append("parkingLockFlag", parkingLockFlag)
.append("delFlag", delFlag)
.toString();
}
}

View File

@@ -0,0 +1,178 @@
package com.jsowell.pile.domain;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 交易流水记录 0x3B
*
* @author JS-ZZA
* @date 2022/11/5 10:15
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class TransactionRecords {
/**
* 交易流水号
*/
private String orderCode;
/**
* 桩编码
*/
private String pileSn;
/**
* 枪号
*/
private String connectorCode;
/**
* 开始时间
*/
private String startTime;
/**
* 结束时间
*/
private String endTime;
/**
* 尖单价
*/
private String sharpPrice;
/**
* 尖电量
*/
private String sharpUsedElectricity;
/**
* 计损尖电量
*/
private String sharpPlanLossElectric;
/**
* 尖金额
*/
private String sharpAmount;
/**
* 峰单价
*/
private String peakPrice;
/**
* 峰电量
*/
private String peakUsedElectricity;
/**
* 计损峰电量
*/
private String peakPlanLossElectricity;
/**
* 峰金额
*/
private String peakAmount;
/**
* 平单价
*/
private String flatPrice;
/**
* 平电量
*/
private String flatUsedElectricity;
/**
* 计损平电量
*/
private String flatPlanLossElectricity;
/**
* 平金额
*/
private String flatAmount;
/**
* 谷单价
*/
private String valleyPrice;
/**
* 谷电量
*/
private String valleyUsedElectricity;
/**
* 计损谷电量
*/
private String valleyPlanLossElectricity;
/**
* 谷金额
*/
private String valleyAmount;
/**
* 电表总起值
*/
private String ammeterTotalStart;
/**
* 电表总止值
*/
private String ammeterTotalEnd;
/**
* 总电量
*/
private String totalElectricity;
/**
* 计损总电量
*/
private String planLossTotalElectricity;
/**
* 消费金额
*/
private String consumptionAmount;
/**
* VIN 码
*/
private String vinCode;
/**
* 交易标识
* 0x01 app 启动
* 0x02卡启动
* 0x04离线卡启动
* 0x05: vin 码启动充电
*/
private String transactionIdentifier;
/**
* 交易时间
*/
private String transactionTime;
/**
* 停止原因
*/
private String stopReason;
/**
* 物理卡号
*/
private String logicCardNum;
}

View File

@@ -0,0 +1,102 @@
package com.jsowell.pile.domain;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
/**
* 微信支付回调记录表
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class WxpayCallbackRecord {
/**
* 主键id
*/
private Integer id;
/**
* 支付类型1-支付订单2-充值余额)
*/
private String payScenario;
/**
* 会员id
*/
private String memberId;
/**
* 充电订单号
*/
private String orderCode;
/**
* 微信商户订单号
*/
private String outTradeNo;
/**
* 微信支付订单号
*/
private String transactionId;
/**
* 商户号
*/
private String mchId;
/**
* 应用ID
*/
private String appId;
/**
* 交易类型
*/
private String tradeType;
/**
* 交易状态
*/
private String tradeState;
/**
* 交易状态描述
*/
private String tradeStateDesc;
/**
* 银行类型
*/
private String bankType;
/**
* 附加数据
*/
private String attach;
/**
* 支付完成时间
*/
private LocalDateTime successTime;
/**
* 支付者信息openId
*/
private String payerOpenId;
/**
* 用户支付金额(单位分)
*/
private String payerTotal;
/**
* 创建时间
*/
private LocalDateTime createTime;
}

View File

@@ -0,0 +1,94 @@
package com.jsowell.pile.domain;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class WxpayRefundCallback {
/**
* 主键
*/
private Integer id;
/**
* 会员id
*/
private String memberId;
/**
* 订单编号
*/
private String orderCode;
/**
* 微信商户订单号
*/
private String outTradeNo;
/**
* 微信商户退款单号
*/
private String outRefundNo;
/**
* 微信支付订单号
*/
private String transactionId;
/**
* 微信商户号
*/
private String mchId;
/**
* 微信支付退款单号
*/
private String refundId;
/**
* 退款状态(SUCCESS退款成功;CLOSED退款关闭; ABNORMAL退款异常)
*/
private String refundStatus;
/**
* 退款成功时间
*/
private String successTime;
/**
* 退款入账账户
*/
private String userReceivedAccount;
/**
* 用户支付金额
*/
private String payerTotal;
/**
* 用户退款金额
*/
private String payerRefund;
/**
* 订单金额
*/
private String amountTotal;
/**
* 退款金额
*/
private String amountRefund;
/**
* 创建时间
*/
private LocalDateTime createTime;
}

View File

@@ -0,0 +1,32 @@
package com.jsowell.pile.dto;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* uniapp查询用户信息DTO
*
* @author JS-ZZA
* @date 2022/11/19 14:53
*/
@Data
public class BaseMemberDTO {
/**
* 用户令牌
*/
private String memberToken;
/**
* 会员Id
*/
private String memberId;
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.JSON_STYLE)
.append("memberToken", memberToken)
.append("memberId", memberId)
.toString();
}
}

View File

@@ -0,0 +1,42 @@
package com.jsowell.pile.dto;
import com.jsowell.common.core.domain.BaseEntity;
import lombok.Data;
/**
* 充电桩基础DTO
*/
@Data
public class BasicPileDTO extends BaseEntity {
/**
* 站点id
*/
private String stationId;
/**
* 充电桩id
*/
private String pileId;
/**
* 设备sn
*/
private String pileSn;
/**
* 枪口号
*/
private String connectorCode;
/**
* 枪口编号
* 桩编码+枪口号
*/
private String pileConnectorCode;
/**
* 充电桩状态
* 1-在线2-离线3-故障
*/
private String status;
}

View File

@@ -0,0 +1,54 @@
package com.jsowell.pile.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class BatchCreatePileDTO {
/**
* 运营商id
*/
private String merchantId;
/**
* 充电站id
*/
private String stationId;
/**
* 型号id
*/
private String modelId;
/**
* 软件协议1-云快充2-永联)
*/
private String softwareProtocol;
/**
* 生成日期
*/
private Date productionDate;
/**
* 接口数量
*/
private int connectorNum;
/**
* 生成台数
*/
private int num;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,31 @@
package com.jsowell.pile.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel("计费模板时段详情")
@Data
public class BillingTimeDTO {
/**
* 时段类型1-尖时2-峰时3-平时4-谷时)
*/
@ApiModelProperty("时段类型1-尖时2-峰时3-平时4-谷时)")
private String type;
/**
* 开始时间
*/
private String startTime;
/**
* 结束时间
*/
private String endTime;
/**
* 时段 例如0000-0500
*/
@ApiModelProperty("时段 例如0000-0500")
private String timeDesc;
}

View File

@@ -0,0 +1,91 @@
package com.jsowell.pile.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
// @ApiModel(value = "UserEntity" , description = "用户实体")
@Data
public class CreateOrUpdateBillingTemplateDTO {
/**
* 计费模板id修改时必传
*/
private String billingTemplateId;
private String stationId;
/**
* 模板名称
*/
@ApiModelProperty("模板名称")
private String name;
/**
* 时段类型1-尖时2-峰时3-平时4-谷时)
*/
@ApiModelProperty("时段类型")
private String type;
/**
* 尖时段电费
*/
@ApiModelProperty("尖时段电费")
private BigDecimal electricityPriceA;
/**
* 尖时段服务费
*/
@ApiModelProperty("尖时段服务费")
private BigDecimal servicePriceA;
/**
* 峰时段电费
*/
@ApiModelProperty("峰时段电费")
private BigDecimal electricityPriceB;
/**
* 峰时段服务费
*/
@ApiModelProperty("峰时段服务费")
private BigDecimal servicePriceB;
/**
* 平时段电费
*/
@ApiModelProperty("平时段电费")
private BigDecimal electricityPriceC;
/**
* 平时段服务费
*/
@ApiModelProperty("平时段服务费")
private BigDecimal servicePriceC;
/**
* 谷时段电费
*/
@ApiModelProperty("谷时段电费")
private BigDecimal electricityPriceD;
/**
* 谷时段服务费
*/
@ApiModelProperty("谷时段服务费")
private BigDecimal servicePriceD;
/**
* 备注
*/
@ApiModelProperty("备注")
private String remark;
/**
* 时段清单
*/
@ApiModelProperty("时段清单")
private List<BillingTimeDTO> timeArray;
}

View File

@@ -0,0 +1,40 @@
package com.jsowell.pile.dto;
import lombok.Data;
/**
* 快速建站DTO
*/
@Data
public class FastCreateStationDTO {
/**
* 所属运营商id
*/
private String merchantId;
/**
* 名称
*/
private String stationName;
/**
* 地址
*/
private String address;
/**
* 区域
*/
private String areaCode;
/**
* 站点电话
*/
private String stationTel;
/**
* 管理员
*/
private String stationAdminName;
}

View File

@@ -0,0 +1,51 @@
package com.jsowell.pile.dto;
import com.jsowell.pile.vo.uniapp.PileConnectorDetailVO;
import com.jsowell.pile.vo.web.BillingTemplateVO;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
/**
* 生成订单dto
* start_pile_charge
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class GenerateOrderDTO extends BasicPileDTO{
/**
* 会员id
*/
private String memberId;
/**
* token
*/
private String memberToken;
/**
* 启动方式0-后管启动1-用户app启动
*/
private String startMode;
/**
* 支付方式 1-余额支付3-白名单支付4-微信支付5-支付宝支付
*/
private String payMode;
/**
* 充电金额
*/
private BigDecimal chargeAmount;
/**
* 充电桩枪口信息
*/
private PileConnectorDetailVO pileConnector;
/**
* 计费模板相关信息
*/
private BillingTemplateVO billingTemplate;
}

View File

@@ -0,0 +1,15 @@
package com.jsowell.pile.dto;
import lombok.Data;
/**
* 站点导入计费模板dto
*/
@Data
public class ImportBillingTemplateDTO {
// 站点id
private String stationId;
// 计费模板id
private String billingTemplateId;
}

View File

@@ -0,0 +1,17 @@
package com.jsowell.pile.dto;
import lombok.Data;
/**
* 首页数据展示DTO
*
* @author JS-ZZA
* @date 2023/2/3 16:11
*/
@Data
public class IndexQueryDTO {
/**
* 站点id
*/
private String stationId;
}

View File

@@ -0,0 +1,37 @@
package com.jsowell.pile.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class MemberRegisterAndLoginDTO {
/**
* 手机号
*/
private String mobileNumber;
/**
* 验证码
*/
private String verificationCode;
/**
* 小程序appId
*/
private String appId;
/**
* 运营商id
*/
private String merchantId;
/**
* 微信用户openId
*/
private String openId;
}

View File

@@ -0,0 +1,38 @@
package com.jsowell.pile.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 用户注册前台参数
*
* @author JS-ZZA
* @date 2022/10/27 14:55
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class MemberRegisterDTO {
/**
* 昵称
*/
private String nickName;
/**
* 状态
*/
private String status;
/**
* 头像url
*/
private String avatarUrl;
/**
* 手机号码
*/
private String mobileNumber;
}

View File

@@ -0,0 +1,55 @@
package com.jsowell.pile.dto;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.math.BigDecimal;
/**
* 支付订单DTO
*/
@Data
public class PayOrderDTO {
/**
* 会员id
*/
private String memberId;
/**
* 订单编号
*/
private String orderCode;
/**
* 支付方式
* @see com.jsowell.common.enums.ykc.OrderPayModeEnum
*/
private String payMode;
/**
* 支付金额
*/
private BigDecimal payAmount;
/**
* 微信支付需要用的code
*/
private String code;
/**
* redis锁的值
*/
private String lockValue;
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.JSON_STYLE)
.append("memberId", memberId)
.append("orderCode", orderCode)
.append("payMode", payMode)
.append("payAmount", payAmount)
.append("code", code)
.toString();
}
}

View File

@@ -0,0 +1,32 @@
package com.jsowell.pile.dto;
import com.jsowell.common.enums.ykc.OrderPayModeEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class PayOrderSuccessCallbackDTO {
/**
* 订单编号
*/
private String orderCode;
/**
* 支付金额 单位: 元
*/
private BigDecimal payAmount;
/**
* 支付方式
* 1-余额支付2-微信支付3-支付宝支付
* @see OrderPayModeEnum
*/
private String payMode;
}

View File

@@ -0,0 +1,29 @@
package com.jsowell.pile.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class PaymentScenarioDTO {
/**
* 支付场景类型 1-订单支付2-充值余额
*/
private String type;
/**
* 订单编号
* 当type==1时orderCode不能为空
*/
private String orderCode;
/**
* 会员id
* 当type==2时memberId不能为空
*/
private String memberId;
}

View File

@@ -0,0 +1,32 @@
package com.jsowell.pile.dto;
import lombok.Data;
/**
* 个人桩绑定DTO
*
* @author JS-ZZA
* @date 2023/2/20 16:46
*/
@Data
public class PileMemberBindingDTO {
/**
* 桩编码
*/
private String pileSn;
/**
* 手机号
*/
private String phoneNumber;
/**
* 验证码
*/
private String verificationCode;
/**
* 用户memberId
*/
private String memberId;
}

View File

@@ -0,0 +1,22 @@
package com.jsowell.pile.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class PublishBillingTemplateDTO {
/**
* 站点id
*/
private String stationId;
/**
* 计费模板id
*/
private String templateId;
}

View File

@@ -0,0 +1,32 @@
package com.jsowell.pile.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 查询充电枪接收前台参数
*
* @author JS-ZZA
* @date 2022/8/31 16:41
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class QueryConnectorDTO {
/**
* 充电枪编号
*/
private String connectorCode;
/**
* 站点id
*/
private Long stationId;
private int pageNum;
private int pageSize;
}

View File

@@ -0,0 +1,50 @@
package com.jsowell.pile.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class QueryConnectorListDTO {
/**
* 页码
*/
private int pageNum;
/**
* 每页数量
*/
private int pageSize;
/**
* 运营商id
*/
private String merchantId;
/**
* 站点
*/
private List<Long> stationIdList;
/**
* 充电桩id列表
*/
private List<Long> pileIds;
/**
* 接口id
*/
private List<Long> connectorIdList;
/**
* 接口编号
*/
private List<String> connectorCodeList;
}

View File

@@ -0,0 +1,58 @@
package com.jsowell.pile.dto;
import com.jsowell.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class QueryOrderDTO extends BaseEntity {
/**
* 充电桩编号
*/
private String pileSn;
/**
* 枪口号
*/
private String connectorCode;
/**
* 会员id
*/
private String memberId;
/**
* 订单状态
*/
private String orderStatus;
/**
* 订单编号
*/
private String orderCode;
/**
* 手机号
*/
private String mobileNumber;
/**
* 站点Id
*/
private String stationId;
/**
* 开始时间
*/
private String startTime;
/**
* 结束时间
*/
private String endTime;
}

View File

@@ -0,0 +1,37 @@
package com.jsowell.pile.dto;
import lombok.Data;
/**
* 查询个人桩相关信息DTO
*
* @author JS-ZZA
* @date 2023/2/23 15:27
*/
@Data
public class QueryPersonPileDTO {
/**
* 会员id
*/
private String memberId;
/**
* 桩枪口号
*/
private String pileConnectorCode;
/**
* 开始时间
*/
private String startTime;
/**
* 结束时间
*/
private String endTime;
private int pageSize;
private int pageNum;
}

View File

@@ -0,0 +1,37 @@
package com.jsowell.pile.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 接收前端参数
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class QueryPileDTO extends BasicPileDTO{
private int pageNum;
private int pageSize;
/**
* 订单号
*/
private String orderCode;
/**
* 桩编码+枪口号
*/
private String pileConnectorCode;
/**
* 桩编码List
*/
private List<String> pileSns;
}

View File

@@ -0,0 +1,32 @@
package com.jsowell.pile.dto;
import lombok.Data;
/**
* 后管查询sim卡信息DTO
*
* @author JS-ZZA
* @date 2023/2/17 11:24
*/
@Data
public class QuerySimInfoDTO {
/**
* 桩编码
*/
private String pileSn;
/**
* iccId
*/
private String iccId;
/**
* 到期时间
*/
private String expiredTime;
/**
* sim卡商
*/
private String simSupplier;
}

View File

@@ -0,0 +1,59 @@
package com.jsowell.pile.dto;
import com.jsowell.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 站点管理前台参数
*
* @author JS-ZZA
* @date 2022/9/1 13:25
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class QueryStationDTO extends BaseEntity {
/**
* 站点名称
*/
private String stationName;
/**
* 运营商名称
*/
private String merchantName;
/**
* 运营商id
*/
private String merchantId;
/**
* 站点经度
*/
private String stationLng;
/**
* 站点纬度
*/
private String stationLat;
/**
* 每页数量
*/
private int pageSize;
/**
* 页码
*/
private int pageNum;
/**
* 是否对外开放0-否1-是)
*/
private String publicFlag;
}

View File

@@ -0,0 +1,26 @@
package com.jsowell.pile.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 远程更新桩
*
* @author JS-ZZA
* @date 2022/10/21 11:45
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class RemoteUpdatePileFileDTO {
/**
* 桩编号集合
*/
private List<String> pileSnList;
}

View File

@@ -0,0 +1,42 @@
package com.jsowell.pile.dto;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.util.Date;
import java.util.List;
@Data
public class ReplaceMerchantStationDTO {
/**
* 运营商id
*/
private String merchantId;
/**
* 站点id
*/
@NotBlank(message = "站点不能为空")
private String stationId;
/**
* 充电桩idList
*/
@NotEmpty(message = "充电桩不能为空")
private List<Long> pileIdList;
/**
* 充电桩编号list
*/
private List<String> pileSnList;
// 型号id
private String modelId;
// 枪口数量
private Integer connectorNum;
private String updateBy;
private Date updateTime;
}

View File

@@ -0,0 +1,27 @@
package com.jsowell.pile.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
/**
* 结算订单DTO
*
* @author JS-ZZA
* @date 2022/11/15 9:23
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class SettleOrderDTO extends BasicPileDTO{
/**
* 订单号
*/
private String orderCode;
}

View File

@@ -0,0 +1,24 @@
package com.jsowell.pile.dto;
import lombok.Data;
import java.util.List;
/**
* sim卡续费DTO
*
* @author JS-ZZA
* @date 2022/12/19 10:36
*/
@Data
public class SimRenewDTO {
/**
* 卡号集合
*/
private List<String> iccIds;
/**
* 续费周期
*/
private int cycleNumber;
}

View File

@@ -0,0 +1,29 @@
package com.jsowell.pile.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
/**
* 启动充电DTO
*/
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class StartChargingDTO extends BasicPileDTO{
/**
* 会员token
*/
private String memberToken;
/**
* 充电金额
*/
private BigDecimal chargeAmount;
}

View File

@@ -0,0 +1,26 @@
package com.jsowell.pile.dto;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
@Data
public class StopChargingDTO {
/**
* 会员id
*/
private String memberId;
/**
* 订单编号
*/
private String orderCode;
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.JSON_STYLE)
.append("memberId", memberId)
.append("orderCode", orderCode)
.toString();
}
}

View File

@@ -0,0 +1,33 @@
package com.jsowell.pile.dto;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* 小程序查询用户账户余额变动信息
*
* @author JS-ZZA
* @date 2022/11/26 9:41
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class UniAppQueryMemberBalanceDTO extends BaseMemberDTO{
private int pageSize;
private int pageNum;
/**
* 变动类型 1-进账2-出账
*/
private String type;
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.JSON_STYLE)
.append("pageSize", pageSize)
.append("pageNum", pageNum)
.append("type", type)
.toString();
}
}

View File

@@ -0,0 +1,24 @@
package com.jsowell.pile.dto;
import lombok.Data;
/**
* 小程序查询订单列表DTO
*
* @author JS-ZZA
* @date 2022/11/25 15:16
*/
@Data
public class UniAppQueryOrderDTO {
private int pageSize;
private int pageNum;
/**
* 订单状态 1-全部 2-未完成 3-已完成
*/
private String orderStatus;
/**
* 订单编号
*/
private String orderCode;
}

View File

@@ -0,0 +1,18 @@
package com.jsowell.pile.dto;
import lombok.Data;
/**
* 微信登录注册dto
*/
@Data
public class WechatLoginDTO {
private String code;
private String appId;
/**
* 用来获取openId的Code
*/
private String openIdCode;
}

View File

@@ -0,0 +1,32 @@
package com.jsowell.pile.dto;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
@EqualsAndHashCode(callSuper = true)
@Data
public class WeixinPayDTO extends BaseMemberDTO{
private String openId;
private String code;
private String amount;
private String description; // 微信商品详情
/**
* 附加参数
* json格式支付回调取出来使用
*/
private String attach;
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.JSON_STYLE)
.append("openId", openId)
.append("code", code)
.toString();
}
}

View File

@@ -0,0 +1,110 @@
package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.MemberBasicInfo;
import com.jsowell.pile.vo.uniapp.MemberVO;
import com.jsowell.pile.vo.uniapp.MemberWalletLogVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.math.BigDecimal;
import java.util.List;
/**
* 会员基础信息Mapper接口
*
* @author jsowell
* @date 2022-10-12
*/
@Repository
public interface MemberBasicInfoMapper {
/**
* 查询会员基础信息
*
* @param id 会员基础信息主键
* @return 会员基础信息
*/
public MemberBasicInfo selectMemberBasicInfoById(Integer id);
/**
* 查询会员基础信息列表
*
* @param memberBasicInfo 会员基础信息
* @return 会员基础信息集合
*/
public List<MemberBasicInfo> selectMemberBasicInfoList(MemberBasicInfo memberBasicInfo);
/**
* 新增会员基础信息
*
* @param memberBasicInfo 会员基础信息
* @return 结果
*/
public int insertMemberBasicInfo(MemberBasicInfo memberBasicInfo);
/**
* 修改会员基础信息
*
* @param memberBasicInfo 会员基础信息
* @return 结果
*/
public int updateMemberBasicInfo(MemberBasicInfo memberBasicInfo);
/**
* 批量删除会员基础信息
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteMemberBasicInfoByIds(List<Integer> ids);
/**
* 通过物理卡号查询基本信息
*
* @param physicsCard 物理卡号
* @return 会员基础信息
*/
MemberVO selectInfoByPhysicsCard(@Param("physicsCard") String physicsCard);
/**
* 通过手机号和商户id查询会员信息
* 不同手机号可以在多个运营商下注册账号
*
* @param mobileNumber 手机号
* @param merchantId 运营商id
* @return 会员信息
*/
MemberBasicInfo selectInfoByMobileNumberAndMerchantId(@Param("mobileNumber") String mobileNumber, @Param("merchantId") String merchantId);
/**
* 通过手机号码查询会员信息
*
* @param mobileNumber 电话号码
* @return 会员信息
*/
// MemberBasicInfo selectInfoByMobileNumber(@Param("mobileNumber") String mobileNumber);
/**
* 通过会员id查询会员详情
* @param memberId
* @return
*/
MemberBasicInfo selectInfoByMemberId(String memberId);
/**
* 更新会员余额
* @param memberId 会员id
* @param newPrincipalBalance new本金余额
* @param newGiftBalance new赠送余额
* @param version 上次查询的版本号
* @return 更新行数 0-更新失败1-更新成功
*/
int updateMemberBalance(@Param("memberId") String memberId, @Param("newPrincipalBalance") BigDecimal newPrincipalBalance,
@Param("newGiftBalance") BigDecimal newGiftBalance, @Param("version") Integer version);
MemberVO queryMemberInfoByMemberId(String memberId);
List<MemberVO> selectMemberList(@Param("mobileNumber") String mobileNumber, @Param("nickName") String nickName);
}

View File

@@ -0,0 +1,13 @@
package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.MemberTransactionRecord;
import java.util.List;
public interface MemberTransactionRecordMapper {
int insertSelective(MemberTransactionRecord record);
List<MemberTransactionRecord> selectByMemberId(String memberId);
}

View File

@@ -0,0 +1,21 @@
package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.MemberWalletInfo;
import org.springframework.stereotype.Repository;
@Repository
public interface MemberWalletInfoMapper {
int deleteByPrimaryKey(Integer id);
int insert(MemberWalletInfo record);
int insertSelective(MemberWalletInfo record);
MemberWalletInfo selectByPrimaryKey(Integer id);
MemberWalletInfo selectByMemberId(String memberId);
int updateByPrimaryKeySelective(MemberWalletInfo record);
int updateByPrimaryKey(MemberWalletInfo record);
}

View File

@@ -0,0 +1,33 @@
package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.MemberWalletLog;
import com.jsowell.pile.vo.uniapp.MemberWalletLogVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface MemberWalletLogMapper {
// int deleteByPrimaryKey(Integer id);
// int insert(MemberWalletLog record);
// int insertSelective(MemberWalletLog record);
// MemberWalletLog selectByPrimaryKey(Integer id);
// int updateByPrimaryKeySelective(MemberWalletLog record);
// int updateByPrimaryKey(MemberWalletLog record);
void batchInsert(@Param("list") List<MemberWalletLog> logList);
/**
* 查询用户账户余额变动信息
* @param memberId 会员id
* @param type 1-进账2-出账 不传查全部
*/
List<MemberWalletLogVO> getMemberBalanceChanges(@Param("memberId") String memberId, @Param("type") String type);
}

View File

@@ -0,0 +1,56 @@
package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.OrderAbnormalRecord;
import java.util.List;
public interface OrderAbnormalRecordMapper {
/**
* 查询订单异常记录
*
* @param id 订单异常记录主键
* @return 订单异常记录
*/
public OrderAbnormalRecord selectOrderAbnormalRecordById(Integer id);
/**
* 查询订单异常记录列表
*
* @param orderAbnormalRecord 订单异常记录
* @return 订单异常记录集合
*/
public List<OrderAbnormalRecord> selectOrderAbnormalRecordList(OrderAbnormalRecord orderAbnormalRecord);
/**
* 新增订单异常记录
*
* @param orderAbnormalRecord 订单异常记录
* @return 结果
*/
public int insertOrderAbnormalRecord(OrderAbnormalRecord orderAbnormalRecord);
/**
* 修改订单异常记录
*
* @param orderAbnormalRecord 订单异常记录
* @return 结果
*/
public int updateOrderAbnormalRecord(OrderAbnormalRecord orderAbnormalRecord);
/**
* 删除订单异常记录
*
* @param id 订单异常记录主键
* @return 结果
*/
public int deleteOrderAbnormalRecordById(Integer id);
/**
* 批量删除订单异常记录
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteOrderAbnormalRecordByIds(Integer[] ids);
}

View File

@@ -0,0 +1,185 @@
package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.OrderBasicInfo;
import com.jsowell.pile.domain.OrderDetail;
import com.jsowell.pile.dto.IndexQueryDTO;
import com.jsowell.pile.dto.QueryOrderDTO;
import com.jsowell.pile.dto.QueryPersonPileDTO;
import com.jsowell.pile.vo.uniapp.OrderVO;
import com.jsowell.pile.vo.uniapp.PersonPileConnectorSumInfoVO;
import com.jsowell.pile.vo.uniapp.SendMessageVO;
import com.jsowell.pile.vo.web.IndexOrderInfoVO;
import com.jsowell.pile.vo.web.OrderListVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* 订单Mapper接口
*
* @author jsowell
* @date 2022-09-30
*/
@Repository
public interface OrderBasicInfoMapper {
/**
* 查询订单
*
* @param id 订单主键
* @return 订单
*/
public OrderBasicInfo selectOrderBasicInfoById(Long id);
/**
* 条件查询订单基础信息
* @param info
* @return
*/
OrderBasicInfo getOrderBasicInfo(OrderBasicInfo info);
/**
* 查询订单列表
*
* @param orderBasicInfo 订单
* @return 订单集合
*/
public List<OrderListVO> selectOrderBasicInfoList(QueryOrderDTO orderBasicInfo);
/**
* 新增订单
*
* @param orderBasicInfo 订单
* @return 结果
*/
public int insertOrderBasicInfo(OrderBasicInfo orderBasicInfo);
/**
* 修改订单
*
* @param orderBasicInfo 订单
* @return 结果
*/
public int updateOrderBasicInfo(OrderBasicInfo orderBasicInfo);
/**
* 批量删除订单
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteOrderBasicInfoByIds(Long[] ids);
/**
* 批量删除订单详情
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteOrderDetailByOrderCodes(Long[] ids);
/**
* 批量新增订单详情
*
* @param orderDetailList 订单详情列表
* @return 结果
*/
public int batchOrderDetail(List<OrderDetail> orderDetailList);
/**
* 通过订单主键删除订单详情信息
*
* @param id 订单ID
* @return 结果
*/
public int deleteOrderDetailByOrderCode(Long id);
/**
* 修改订单详情
* @param orderDetail 订单详情
*/
void updateOrderDetail(OrderDetail orderDetail);
/**
* 通过订单号查询订单基本信息
*
* @param orderCode 订单号
* @return
*/
OrderBasicInfo getOrderInfoByOrderCode(String orderCode);
/**
* 根据桩编号和枪口号查询某状态订单
*
* @param pileSn 桩编号
* @param connectorCode 枪口号
* @param orderStatus 订单状态
* @return 订单
*/
OrderBasicInfo queryOrderBasicInfo(@Param("pileSn") String pileSn, @Param("connectorCode") String connectorCode, @Param("orderStatus") String orderStatus);
/**
* 通过订单号查询订单详情
*
* @param orderCode 订单号
* @return 订单详情
*/
OrderDetail getOrderDetailByOrderCode(@Param("orderCode") String orderCode);
/**
* 通过会员Id和订单状态查询订单信息
*
* @param memberId 会员id
* @param orderStatusList 订单状态集合
* @return
*/
List<OrderVO> getListByMemberIdAndOrderStatus(@Param("memberId") String memberId, @Param("orderStatusList") List<String> orderStatusList);
/**
* 将某订单修改为某状态
* @param orderCode 订单号
* @param orderStatus 修改为某状态
*/
void updateOrderStatusByOrderCode(@Param("orderCode") String orderCode, @Param("orderStatus") String orderStatus);
/**
* 首页订单数据展示
* @param dto 首页信息查询dto
* @return
*/
List<IndexOrderInfoVO> getIndexOrderInfo(@Param("dto") IndexQueryDTO dto);
/**
* 获取超过15分钟的待支付状态订单
* @return
*/
List<OrderBasicInfo> getUnpaidOrderListOver15Min(@Param("createTime") String createTime);
/**
* 根据orderId批量修改订单状态
* @param orderIds
* @param orderStatus
*/
void updateOrderStatusById(@Param("orderIds") List<String> orderIds, @Param("orderStatus") String orderStatus);
/**
* 通过订单号查询订单信息(小程序发送消息用)
* @param orderCode
* @return
*/
SendMessageVO selectOrderInfoByOrderCode(@Param("orderCode") String orderCode);
List<OrderBasicInfo> selectOrderListByTimeRangeAndStatus(@Param("startTime") String startTime,
@Param("endTime") String endTime,
@Param("orderStatus") String orderStatus,
@Param("payStatus") String payStatus);
/**
* 个人桩查询充电数据
* @param dto
* @return
*/
List<PersonPileConnectorSumInfoVO> getAccumulativeInfo(QueryPersonPileDTO dto);
}

View File

@@ -0,0 +1,24 @@
package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.OrderPayRecord;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface OrderPayRecordMapper {
int deleteByPrimaryKey(Integer id);
// int insert(OrderPayRecord record);
// int insertSelective(OrderPayRecord record);
OrderPayRecord selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(OrderPayRecord record);
int updateByPrimaryKey(OrderPayRecord record);
int batchInsert(@Param("payRecordList") List<OrderPayRecord> payRecordList);
List<OrderPayRecord> getOrderPayRecordList(@Param("orderCode") String orderCode);
}

View File

@@ -0,0 +1,146 @@
package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.PileBasicInfo;
import com.jsowell.pile.dto.IndexQueryDTO;
import com.jsowell.pile.vo.uniapp.PersonalPileInfoVO;
import com.jsowell.pile.vo.web.IndexGeneralSituationVO;
import com.jsowell.pile.dto.QueryPileDTO;
import com.jsowell.pile.dto.ReplaceMerchantStationDTO;
import com.jsowell.pile.vo.web.PileDetailVO;
import com.jsowell.pile.vo.uniapp.PileConnectorDetailVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* 设备管理Mapper接口
*
* @author jsowell
* @date 2022-08-26
*/
@Repository
public interface PileBasicInfoMapper {
/**
* 查询设备管理
*
* @param id 设备管理主键
* @return 设备管理
*/
PileBasicInfo selectPileBasicInfoById(Long id);
PileBasicInfo selectPileBasicInfoBySn(String pileSn);
/**
* 查询设备管理列表
*
* @param pileBasicInfo 设备管理
* @return 设备管理集合
*/
List<PileBasicInfo> selectPileBasicInfoList(PileBasicInfo pileBasicInfo);
/**
* 新增设备管理
*
* @param pileBasicInfo 设备管理
* @return 结果
*/
int insertPileBasicInfo(PileBasicInfo pileBasicInfo);
/**
* 批量保存
*
* @param pileBasicInfoList
* @return
*/
int batchInsertPileBasicInfo(@Param("infoList") List<PileBasicInfo> pileBasicInfoList);
/**
* 修改设备管理
*
* @param pileBasicInfo 设备管理
* @return 结果
*/
int updatePileBasicInfo(PileBasicInfo pileBasicInfo);
/**
* 删除设备管理
*
* @param id 设备管理主键
* @return 结果
*/
int deletePileBasicInfoById(Long id);
/**
* 批量删除设备管理
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
int deletePileBasicInfoByIds(Long[] ids);
/**
* 查询设备信息
*
* @param dto 查询条件实体类
* @return 设备信息对象集合
*/
List<PileDetailVO> queryPileInfos(@Param("dto") QueryPileDTO dto);
/**
* 通过站点ids查询桩信息
*
* @param stationIds 站点id
* @return 桩对象集合
*/
List<PileDetailVO> selectPileListByStationIds(@Param("stationIds") List<Long> stationIds);
/**
* 通过pileId更换站点、运营商信息
*
* @param dto
* @return
*/
int replaceMerchantStationByPileIds(ReplaceMerchantStationDTO dto);
/**
* 通过桩id查询basic信息
*
* @param id 桩id
* @return PileBasic对象集合
*/
PileDetailVO selectBasicInfoById(Long id);
/**
* 通过idList批量查询
*
* @param pileIdList
* @return
*/
List<PileBasicInfo> selectByIdList(@Param("pileIdList") List<Long> pileIdList);
/**
* 查询充电桩信息
*
* @param pileConnectorCode 充电枪编号
* @return
*/
PileConnectorDetailVO queryPileConnectorDetail(@Param("pileConnectorCode") String pileConnectorCode);
/**
* 后管首页基本信息查询
*
* @param dto 站点Id
* @return 首页基本信息
*/
public IndexGeneralSituationVO getGeneralSituation(@Param("IndexQueryDTO")IndexQueryDTO dto);
/**
* 通过会员id查询个人桩列表
* @param memberId
* @return
*/
public List<PersonalPileInfoVO> getPileInfoByMemberId(String memberId);
}

View File

@@ -0,0 +1,144 @@
package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.PileBillingDetail;
import com.jsowell.pile.domain.PileBillingRelation;
import com.jsowell.pile.domain.PileBillingTemplate;
import com.jsowell.pile.vo.web.BillingTemplateVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* 计费模板Mapper接口
*
* @author jsowell
* @date 2022-09-20
*/
@Repository
public interface PileBillingTemplateMapper {
/**
* 查询计费模板
*
* @param id 计费模板主键
* @return 计费模板
*/
public PileBillingTemplate selectPileBillingTemplateById(Long id);
/**
* 查询计费模板列表
*
* @param pileBillingTemplate 计费模板
* @return 计费模板集合
*/
public List<PileBillingTemplate> selectPileBillingTemplateList(PileBillingTemplate pileBillingTemplate);
/**
* 新增计费模板
*
* @param pileBillingTemplate 计费模板
* @return 结果
*/
public int insertPileBillingTemplate(PileBillingTemplate pileBillingTemplate);
/**
* 修改计费模板
*
* @param pileBillingTemplate 计费模板
* @return 结果
*/
public int updatePileBillingTemplate(PileBillingTemplate pileBillingTemplate);
/**
* 删除计费模板
*
* @param id 计费模板主键
* @return 结果
*/
public int deletePileBillingTemplateById(Long id);
/**
* 批量删除计费模板
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deletePileBillingTemplateByIds(Long[] ids);
/**
* 批量删除计费模板详情
*
* @param templateCodes 需要删除的templateCode集合
* @return 结果
*/
public int deletePileBillingDetailByTemplateCodes(@Param("templateCodes") List<String> templateCodes);
/**
* 批量新增计费模板详情
*
* @param pileBillingDetailList 计费模板详情列表
* @return 结果
*/
public int batchPileBillingDetail(List<PileBillingDetail> pileBillingDetailList);
/**
* 通过计费模板主键删除计费模板详情信息
*
* @param templateCode 计费模板code
* @return 结果
*/
public int deletePileBillingDetailByTemplateCode(String templateCode);
/**
* 查询公共计费模板列表
* @return
*/
List<BillingTemplateVO> queryPublicBillingTemplateList();
/**
* 根据站点id查询站点计费模板列表
* 根据发布时间倒序,最新一条就是目前正在使用的计费模板
* @param stationId 站点id
* @return
*/
List<BillingTemplateVO> queryStationBillingTemplateList(String stationId);
/**
* 通过桩sn号查询计费模板
*
* @param pileSn 桩sn
* @return 计费模板编号
*/
BillingTemplateVO selectBillingTemplateByPileSn(@Param("pileSn") String pileSn);
/**
* 通过计费模板id查询
* @param templateId 计费模板id
* @return
*/
BillingTemplateVO selectBillingTemplateByTemplateId(@Param("templateId") String templateId);
/**
* 查询站点最新发布的计费模板
* @param stationId
* @return
*/
BillingTemplateVO selectBillingTemplateByStationId(@Param("stationId") String stationId);
/**
* 通过模板id查询计费模板详情列表
*/
List<PileBillingDetail> queryBillingDetailByTemplateIds(@Param("templateIds") Long[] templateIds);
/**
* 插入充电桩和计费模板关系
*/
void insertPileBillingRelation(List<PileBillingRelation> relationList);
/**
* 根据桩号删除计费模板关系
* @param pileSnList
*/
void deleteRelationByPileSn(@Param("pileSnList") List<String> pileSnList);
}

View File

@@ -0,0 +1,141 @@
package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.PileConnectorInfo;
import com.jsowell.pile.dto.QueryConnectorDTO;
import com.jsowell.pile.vo.base.ConnectorInfoVO;
import com.jsowell.pile.vo.web.PileConnectorInfoVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* 充电桩枪口信息Mapper接口
*
* @author jsowell
* @date 2022-08-31
*/
@Repository
public interface PileConnectorInfoMapper {
/**
* 查询充电桩枪口信息
*
* @param id 充电桩枪口信息主键
* @return 充电桩枪口信息
*/
public PileConnectorInfo selectPileConnectorInfoById(Integer id);
/**
* 查询充电桩枪口信息列表
*
* @param pileConnectorInfo 充电桩枪口信息
* @return 充电桩枪口信息集合
*/
public List<PileConnectorInfo> selectPileConnectorInfoList(PileConnectorInfo pileConnectorInfo);
/**
* 新增充电桩枪口信息
*
* @param pileConnectorInfo 充电桩枪口信息
* @return 结果
*/
// public int insertPileConnectorInfo(PileConnectorInfo pileConnectorInfo);
/**
* 批量新增充电桩枪口信息
*
* @param pileConnectorInfoList 充电桩枪口集合
* @return 结果
*/
public int batchInsertConnectorInfo(@Param("connectorList") List<PileConnectorInfo> pileConnectorInfoList);
/**
* 修改充电桩枪口信息
*
* @param pileConnectorInfo 充电桩枪口信息
* @return 结果
*/
public int updatePileConnectorInfo(PileConnectorInfo pileConnectorInfo);
/**
* 删除充电桩枪口信息
*
* @param id 充电桩枪口信息主键
* @return 结果
*/
// public int deletePileConnectorInfoById(Integer id);
/**
* 批量删除充电桩枪口信息
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
// public int deletePileConnectorInfoByIds(Integer[] ids);
/**
* 根据充电桩编号删除充电桩枪口信息
* @param pileSnList
* @return
*/
int deletePileConnectorInfoByPileSnList(List<String> pileSnList);
/**
* 获取充电接口信息列表
*
* @param dto 前台参数
* @return 充电接口对象集合
*/
List<PileConnectorInfoVO> getConnectorInfoList(@Param("connectorDTO") QueryConnectorDTO dto);
/**
* 通过站点id查询充电枪信息
*
* @param stationId 站点id
* @return 充电枪设备集合
*/
List<PileConnectorInfoVO> selectConnectorListByStationId(@Param("stationId") Long stationId);
/**
* 通过充电桩sn或connectorId 查询充电桩接口列表
*
* @param pileSns 桩编号列表
* @param connectorIds 枪口号列表
* @return 充电桩接口列表
*/
List<PileConnectorInfoVO> getPileConnectorInfoList(@Param("pileSns") List<String> pileSns, @Param("connectorIds") List<Long> connectorIds, @Param("connectorCodes") List<String> connectorCodeList);
/**
* 根据枪口号 修改枪口状态
*
* @param connectorCode 枪口号
* @param connectorStatus 状态
*/
int updateConnectorStatus(@Param("connectorCode") String connectorCode, @Param("connectorStatus") String connectorStatus);
/**
* 根据桩编号修改枪口状态
*
* @param pileSn 桩编号
* @param connectorStatus 状态
* @return 修改数量
*/
int updateConnectorStatusByPileSn(@Param("pileSn") String pileSn, @Param("connectorStatus") String connectorStatus);
/**
* 查询枪口信息
* @param pileConnectorCode 枪口号
* @return 枪口信息
*/
PileConnectorInfoVO getPileConnectorInfoByConnectorCode(@Param("pileConnectorCode") String pileConnectorCode);
/**
* uniApp通过站点id查询枪口列表信息
*
* @param stationId 站点id
* @return
*/
List<ConnectorInfoVO> getUniAppConnectorList(@Param("stationId") Long stationId);
}

View File

@@ -0,0 +1,61 @@
package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.PileLicenceInfo;
import java.util.List;
/**
* 充电桩证书信息Mapper接口
*
* @author jsowell
* @date 2022-08-27
*/
public interface PileLicenceInfoMapper {
/**
* 查询充电桩证书信息
*
* @param id 充电桩证书信息主键
* @return 充电桩证书信息
*/
public PileLicenceInfo selectPileLicenceInfoById(Long id);
/**
* 查询充电桩证书信息列表
*
* @param pileLicenceInfo 充电桩证书信息
* @return 充电桩证书信息集合
*/
public List<PileLicenceInfo> selectPileLicenceInfoList(PileLicenceInfo pileLicenceInfo);
/**
* 新增充电桩证书信息
*
* @param pileLicenceInfo 充电桩证书信息
* @return 结果
*/
public int insertPileLicenceInfo(PileLicenceInfo pileLicenceInfo);
/**
* 修改充电桩证书信息
*
* @param pileLicenceInfo 充电桩证书信息
* @return 结果
*/
public int updatePileLicenceInfo(PileLicenceInfo pileLicenceInfo);
/**
* 删除充电桩证书信息
*
* @param id 充电桩证书信息主键
* @return 结果
*/
public int deletePileLicenceInfoById(Long id);
/**
* 批量删除充电桩证书信息
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deletePileLicenceInfoByIds(Long[] ids);
}

View File

@@ -0,0 +1,74 @@
package com.jsowell.pile.mapper;
import java.util.List;
import com.jsowell.pile.domain.PileMemberRelation;
import com.jsowell.pile.vo.uniapp.PersonalPileInfoVO;
import org.springframework.stereotype.Repository;
/**
* 桩与用户绑定关系Mapper接口
*
* @author jsowell
* @date 2023-02-21
*/
@Repository
public interface PileMemberRelationMapper
{
/**
* 查询桩与用户绑定关系
*
* @param id 桩与用户绑定关系主键
* @return 桩与用户绑定关系
*/
public PileMemberRelation selectPileMemberRelationById(Integer id);
/**
* 查询桩与用户绑定关系列表
*
* @param pileMemberRelation 桩与用户绑定关系
* @return 桩与用户绑定关系集合
*/
public List<PileMemberRelation> selectPileMemberRelationList(PileMemberRelation pileMemberRelation);
/**
* 条件查询桩与用户绑定关系
*
* @param pileMemberRelation
* @return
*/
PileMemberRelation selectPileMemberRelation(PileMemberRelation pileMemberRelation);
/**
* 新增桩与用户绑定关系
*
* @param pileMemberRelation 桩与用户绑定关系
* @return 结果
*/
public int insertPileMemberRelation(PileMemberRelation pileMemberRelation);
/**
* 修改桩与用户绑定关系
*
* @param pileMemberRelation 桩与用户绑定关系
* @return 结果
*/
public int updatePileMemberRelation(PileMemberRelation pileMemberRelation);
/**
* 删除桩与用户绑定关系
*
* @param id 桩与用户绑定关系主键
* @return 结果
*/
public int deletePileMemberRelationById(Integer id);
/**
* 批量删除桩与用户绑定关系
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deletePileMemberRelationByIds(Integer[] ids);
}

View File

@@ -0,0 +1,70 @@
package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.PileMerchantInfo;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* 充电桩运营商信息Mapper接口
*
* @author jsowell
* @date 2022-08-27
*/
@Repository
public interface PileMerchantInfoMapper {
/**
* 查询充电桩运营商信息
*
* @param id 充电桩运营商信息主键
* @return 充电桩运营商信息
*/
public PileMerchantInfo selectPileMerchantInfoById(Long id);
/**
* 通过appid查询充电桩运营商信息
* @param appId
* @return
*/
PileMerchantInfo selectPileMerchantInfoByAppId(String appId);
/**
* 查询充电桩运营商信息列表
*
* @param pileMerchantInfo 充电桩运营商信息
* @return 充电桩运营商信息集合
*/
public List<PileMerchantInfo> selectPileMerchantInfoList(PileMerchantInfo pileMerchantInfo);
/**
* 新增充电桩运营商信息
*
* @param pileMerchantInfo 充电桩运营商信息
* @return 结果
*/
public int insertPileMerchantInfo(PileMerchantInfo pileMerchantInfo);
/**
* 修改充电桩运营商信息
*
* @param pileMerchantInfo 充电桩运营商信息
* @return 结果
*/
public int updatePileMerchantInfo(PileMerchantInfo pileMerchantInfo);
/**
* 删除充电桩运营商信息
*
* @param id 充电桩运营商信息主键
* @return 结果
*/
public int deletePileMerchantInfoById(Long id);
/**
* 批量删除充电桩运营商信息
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deletePileMerchantInfoByIds(Long[] ids);
}

View File

@@ -0,0 +1,73 @@
package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.PileModelInfo;
import com.jsowell.pile.vo.web.PileModelInfoVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* 充电桩型号信息Mapper接口
*
* @author jsowell
* @date 2022-08-26
*/
@Repository
public interface PileModelInfoMapper {
/**
* 查询充电桩型号信息
*
* @param id 充电桩型号信息主键
* @return 充电桩型号信息
*/
public PileModelInfo selectPileModelInfoById(Long id);
/**
* 查询充电桩型号信息列表
*
* @param pileModelInfo 充电桩型号信息
* @return 充电桩型号信息集合
*/
public List<PileModelInfo> selectPileModelInfoList(PileModelInfo pileModelInfo);
/**
* 新增充电桩型号信息
*
* @param pileModelInfo 充电桩型号信息
* @return 结果
*/
public int insertPileModelInfo(PileModelInfo pileModelInfo);
/**
* 修改充电桩型号信息
*
* @param pileModelInfo 充电桩型号信息
* @return 结果
*/
public int updatePileModelInfo(PileModelInfo pileModelInfo);
/**
* 删除充电桩型号信息
*
* @param id 充电桩型号信息主键
* @return 结果
*/
public int deletePileModelInfoById(Long id);
/**
* 批量删除充电桩型号信息
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deletePileModelInfoByIds(Long[] ids);
/**
* 通过桩编号集合获取型号表中数据
*
* @param pileSns 桩编号集合
* @return PileModelInfo对象
*/
List<PileModelInfoVO> getPileModelInfoByPileSnList(@Param("pileSnList") List<String> pileSns);
}

View File

@@ -0,0 +1,32 @@
package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.PileMsgRecord;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface PileMsgRecordMapper {
int insertSelective(PileMsgRecord record);
// PileMsgRecord selectByPrimaryKey(Integer id);
// PileMsgRecord getByPileSn(String pileSn);
// PileMsgRecord getByConnectorCode(String connectorCode);
/**
* 根据枪口号查询枪口日志
* @param connectorCodeList
* @return
*/
// List<PileMsgRecord> getByConnectorCodeList(@Param("connectorCodeList") List<String> connectorCodeList);
/**
* 查询充电桩通信日志
* @param pileSn 桩号
* @return
*/
List<PileMsgRecord> getPileFeedList(@Param("pileSn") String pileSn);
}

View File

@@ -0,0 +1,96 @@
package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.PileSimInfo;
import com.jsowell.pile.dto.QuerySimInfoDTO;
import com.jsowell.pile.vo.web.SimCardInfoVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 充电桩SIM卡信息Mapper接口
*
* @author jsowell
* @date 2022-08-26
*/
@Component
public interface PileSimInfoMapper {
/**
* 查询充电桩SIM卡信息
*
* @param id 充电桩SIM卡信息主键
* @return 充电桩SIM卡信息
*/
public PileSimInfo selectPileSimInfoById(Long id);
/**
* 查询充电桩SIM卡信息列表
*
* @param pileSimInfo 充电桩SIM卡信息
* @return 充电桩SIM卡信息集合
*/
public List<PileSimInfo> selectPileSimInfoList(PileSimInfo pileSimInfo);
/**
* 后管查询sim卡信息列表
* @return
*/
List<SimCardInfoVO> getSimInfoList(@Param("dto") QuerySimInfoDTO dto);
/**
* 新增充电桩SIM卡信息
*
* @param pileSimInfo 充电桩SIM卡信息
* @return 结果
*/
public int insertPileSimInfo(PileSimInfo pileSimInfo);
/**
* 修改充电桩SIM卡信息
*
* @param pileSimInfo 充电桩SIM卡信息
* @return 结果
*/
public int updatePileSimInfo(PileSimInfo pileSimInfo);
/**
* 删除充电桩SIM卡信息
*
* @param id 充电桩SIM卡信息主键
* @return 结果
*/
public int deletePileSimInfoById(Long id);
/**
* 批量删除充电桩SIM卡信息
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deletePileSimInfoByIds(Long[] ids);
/**
* 通过桩编码查询sim卡信息
* @param pileSn 桩编码
* @return
*/
SimCardInfoVO querySimCardInfoByPileSn(String pileSn);
/**
* 通过卡号批量查询sim卡信息
* @param iccIds 卡号集合
* @return
*/
List<PileSimInfo> selectSimInfoByIccIds(@Param("iccIds") List<String> iccIds);
/**
* 通过卡号查询sim卡信息
* @param iccId 卡号
* @return
*/
PileSimInfo getBasicInfoByIccId(@Param("iccId") String iccId);
}

View File

@@ -0,0 +1,74 @@
package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.PileStationInfo;
import com.jsowell.pile.dto.QueryStationDTO;
import com.jsowell.pile.vo.web.PileStationVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* 充电站信息Mapper接口
*
* @author jsowell
* @date 2022-08-30
*/
@Repository
public interface PileStationInfoMapper {
/**
* 查询充电站信息
*
* @param id 充电站信息主键
* @return 充电站信息
*/
public PileStationInfo selectPileStationInfoById(Long id);
/**
* 查询充电站信息列表
*
* @param pileStationInfo 充电站信息
* @return 充电站信息集合
*/
public List<PileStationInfo> selectPileStationInfoList(PileStationInfo pileStationInfo);
/**
* 通过运营商id查询站点信息
*
* @param merchantId 运营商id
* @return 站点信息列表
*/
public List<PileStationInfo> selectStationListByMerchantId(Long merchantId);
/**
* 新增充电站信息
*
* @param pileStationInfo 充电站信息
* @return 结果
*/
public int insertPileStationInfo(PileStationInfo pileStationInfo);
/**
* 修改充电站信息
*
* @param pileStationInfo 充电站信息
* @return 结果
*/
public int updatePileStationInfo(PileStationInfo pileStationInfo);
/**
* 批量删除充电站信息
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deletePileStationInfoByIds(Long[] ids);
/**
* 查询充电站信息
*
* @param dto 前台参数
* @return 充电站对象集合
*/
List<PileStationVO> queryStationInfos(@Param("stationDTO") QueryStationDTO dto);
}

View File

@@ -0,0 +1,39 @@
package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.WxpayCallbackRecord;
import org.apache.ibatis.annotations.Param;
import java.time.LocalDateTime;
import java.util.List;
public interface WxpayCallbackRecordMapper {
int deleteByPrimaryKey(Integer id);
int insert(WxpayCallbackRecord record);
int insertSelective(WxpayCallbackRecord record);
WxpayCallbackRecord selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(WxpayCallbackRecord record);
int updateByPrimaryKey(WxpayCallbackRecord record);
/**
* 通过订单号查询支付记录
* @param orderCode
* @return
*/
WxpayCallbackRecord selectByOrderCode(String orderCode);
/**
* 根据会员id和时间查询支付记录
* @param memberId 会员id
* @param date 日期,查询该日期之后的记录
* @return
*/
List<WxpayCallbackRecord> selectBalanceRechargeRecord(@Param("memberId") String memberId, @Param("date") LocalDateTime date);
WxpayCallbackRecord selectByOutTradeNo(@Param("outTradeNo") String outTradeNo);
}

View File

@@ -0,0 +1,17 @@
package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.WxpayRefundCallback;
public interface WxpayRefundCallbackMapper {
int deleteByPrimaryKey(Integer id);
int insert(WxpayRefundCallback record);
int insertSelective(WxpayRefundCallback record);
WxpayRefundCallback selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(WxpayRefundCallback record);
int updateByPrimaryKey(WxpayRefundCallback record);
}

View File

@@ -0,0 +1,118 @@
package com.jsowell.pile.service;
import com.jsowell.pile.domain.MemberBasicInfo;
import com.jsowell.pile.vo.uniapp.MemberVO;
import com.jsowell.pile.vo.uniapp.MemberWalletLogVO;
import com.jsowell.pile.vo.uniapp.PersonalPileInfoVO;
import com.jsowell.pile.vo.web.UpdateMemberBalanceDTO;
import java.util.List;
/**
* 会员基础信息Service接口
*
* @author jsowell
* @date 2022-10-12
*/
public interface IMemberBasicInfoService {
/**
* 查询会员基础信息
*
* @param id 会员基础信息主键
* @return 会员基础信息
*/
public MemberBasicInfo selectMemberBasicInfoById(Integer id);
/**
* 查询会员基础信息列表
*
* @param memberBasicInfo 会员基础信息
* @return 会员基础信息集合
*/
// public List<MemberBasicInfo> selectMemberBasicInfoList(MemberBasicInfo memberBasicInfo);
/**
* 新增会员基础信息
*
* @param memberBasicInfo 会员基础信息
* @return 结果
*/
public int insertMemberBasicInfo(MemberBasicInfo memberBasicInfo);
/**
* 修改会员基础信息
*
* @param memberBasicInfo 会员基础信息
* @return 结果
*/
public int updateMemberBasicInfo(MemberBasicInfo memberBasicInfo);
/**
* 批量删除会员基础信息
*
* @param ids 需要删除的会员基础信息主键集合
* @return 结果
*/
public int deleteMemberBasicInfoByIds(List<Integer> ids);
/**
* 通过物理卡号查询基本信息
*
* @param physicsCard 物理卡号
* @return 会员基础信息
*/
MemberVO selectInfoByPhysicsCard(String physicsCard);
/**
* 根据手机号和运营商id查询会员信息
* @param phone 手机号 mobile number
* @param merchantId 运营商id
* @return 会员信息
*/
MemberBasicInfo selectInfoByMobileNumberAndMerchantId(String phone, String merchantId);
/**
* 根据手机号查询会员信息
* @param mobileNumber 手机号
* @return
*/
MemberBasicInfo selectInfoByMobileNumber(String mobileNumber);
/**
* 根据会员id查询会员信息
* @param memberId 会员id
* @return
*/
MemberBasicInfo selectInfoByMemberId(String memberId);
/**
* 更新会员余额
* @param dto
* @return
*/
int updateMemberBalance(UpdateMemberBalanceDTO dto);
/**
*
* @param memberId
* @return
*/
MemberVO queryMemberInfoByMemberId(String memberId);
List<MemberVO> selectMemberList(String mobileNumber, String nickName);
/**
* 查询用户账户余额变动信息
* @param memberId 会员id
* @param type 1-进账2-出账 不传查全部
*/
List<MemberWalletLogVO> getMemberBalanceChanges(String memberId, String type);
/**
* 通过memberId查询会员的个人桩信息
* @param memberId
* @return
*/
List<PersonalPileInfoVO> getMemberPersonPileInfo(String memberId);
}

View File

@@ -0,0 +1,18 @@
package com.jsowell.pile.service;
import com.jsowell.pile.domain.MemberTransactionRecord;
import com.jsowell.pile.vo.web.MemberTransactionVO;
import java.util.List;
public interface IMemberTransactionRecordService {
/**
* 保存交易记录
* @param record
* @return
*/
int insertSelective(MemberTransactionRecord record);
List<MemberTransactionVO> selectMemberTransactionRecordList(String memberId);
}

View File

@@ -0,0 +1,17 @@
package com.jsowell.pile.service;
import com.jsowell.pile.domain.MemberWalletInfo;
public interface IMemberWalletInfoService {
int deleteByPrimaryKey(Integer id);
int insert(MemberWalletInfo record);
int insertSelective(MemberWalletInfo record);
MemberWalletInfo selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(MemberWalletInfo record);
int updateByPrimaryKey(MemberWalletInfo record);
}

View File

@@ -0,0 +1,16 @@
package com.jsowell.pile.service;
public interface IMemberWalletLogService {
// int deleteByPrimaryKey(Integer id);
//
// int insert(MemberWalletLog record);
//
// int insertSelective(MemberWalletLog record);
//
// MemberWalletLog selectByPrimaryKey(Integer id);
//
// int updateByPrimaryKeySelective(MemberWalletLog record);
//
// int updateByPrimaryKey(MemberWalletLog record);
}

View File

@@ -0,0 +1,61 @@
package com.jsowell.pile.service;
import com.jsowell.pile.domain.OrderAbnormalRecord;
import java.util.List;
/**
* 订单异常记录Service接口
*
* @author jsowell
* @date 2023-02-13
*/
public interface IOrderAbnormalRecordService {
/**
* 查询订单异常记录
*
* @param id 订单异常记录主键
* @return 订单异常记录
*/
public OrderAbnormalRecord selectOrderAbnormalRecordById(Integer id);
/**
* 查询订单异常记录列表
*
* @param orderAbnormalRecord 订单异常记录
* @return 订单异常记录集合
*/
public List<OrderAbnormalRecord> selectOrderAbnormalRecordList(OrderAbnormalRecord orderAbnormalRecord);
/**
* 新增订单异常记录
*
* @param orderAbnormalRecord 订单异常记录
* @return 结果
*/
public int insertOrderAbnormalRecord(OrderAbnormalRecord orderAbnormalRecord);
/**
* 修改订单异常记录
*
* @param orderAbnormalRecord 订单异常记录
* @return 结果
*/
public int updateOrderAbnormalRecord(OrderAbnormalRecord orderAbnormalRecord);
/**
* 批量删除订单异常记录
*
* @param ids 需要删除的订单异常记录主键集合
* @return 结果
*/
public int deleteOrderAbnormalRecordByIds(Integer[] ids);
/**
* 删除订单异常记录信息
*
* @param id 订单异常记录主键
* @return 结果
*/
public int deleteOrderAbnormalRecordById(Integer id);
}

View File

@@ -0,0 +1,194 @@
package com.jsowell.pile.service;
import com.jsowell.common.core.domain.ykc.RealTimeMonitorData;
import com.jsowell.common.core.domain.ykc.TransactionRecordsData;
import com.jsowell.pile.domain.OrderBasicInfo;
import com.jsowell.pile.domain.OrderDetail;
import com.jsowell.pile.dto.IndexQueryDTO;
import com.jsowell.pile.dto.QueryOrderDTO;
import com.jsowell.pile.dto.QueryPersonPileDTO;
import com.jsowell.pile.vo.uniapp.OrderVO;
import com.jsowell.pile.vo.uniapp.PersonPileConnectorSumInfoVO;
import com.jsowell.pile.vo.uniapp.SendMessageVO;
import com.jsowell.pile.vo.web.IndexOrderInfoVO;
import com.jsowell.pile.vo.web.OrderListVO;
import com.jsowell.pile.vo.web.OrderTotalDataVO;
import com.jsowell.wxpay.dto.WeChatRefundDTO;
import java.util.List;
/**
* 订单Service接口
*
* @author jsowell
* @date 2022-09-30
*/
public interface IOrderBasicInfoService {
/**
* 查询订单
*
* @param id 订单主键
* @return 订单
*/
OrderBasicInfo selectOrderBasicInfoById(Long id);
/**
* 条件查询订单基础信息
* @param info
* @return
*/
OrderBasicInfo getOrderBasicInfo(OrderBasicInfo info);
/**
* 查询订单列表
*
* @param dto 订单
* @return 订单集合
*/
List<OrderListVO> selectOrderBasicInfoList(QueryOrderDTO dto);
/**
* 查询充电中的订单,没有数据权限校验,后管不要用
* @param pileSn
* @return
*/
List<OrderListVO> selectChargingOrder(String pileSn);
/**
* 修改订单
*
* @param orderBasicInfo 订单
* @return 结果
*/
int updateOrderBasicInfo(OrderBasicInfo orderBasicInfo);
/**
* 批量删除订单
*
* @param ids 需要删除的订单主键集合
* @return 结果
*/
int deleteOrderBasicInfoByIds(Long[] ids);
/**
* 通过订单号查询订单信息
*
* @param orderCode 订单号
* @return
*/
OrderBasicInfo getOrderInfoByOrderCode(String orderCode);
/**
* 通过桩号和枪口号查询充电中的状态
* @param pileSn 桩编号
* @param connectorCode 枪口号
* @return
*/
OrderBasicInfo queryChargingByPileSnAndConnectorCode(String pileSn, String connectorCode);
OrderBasicInfo queryChargingByPileConnectorCode(String pileConnectorCode);
/**
* 根据交易记录结算订单
* @param data 交易记录数据
* @param orderBasicInfo
*/
void settleOrder(TransactionRecordsData data, OrderBasicInfo orderBasicInfo);
/**
* 关闭15分钟未支付订单
* @return
*/
int close15MinutesOfUnpaidOrders();
/**
* 通过订单号查询订单详情
*
* @param orderCode 订单号
* @return 订单详情
*/
OrderDetail getOrderDetailByOrderCode(String orderCode);
/**
* 通过会员Id和订单状态查询订单信息
*
* @param memberId 会员id
* @param orderStatusList 订单状态集合
* @return
*/
List<OrderVO> getListByMemberIdAndOrderStatus(String memberId, List<String> orderStatusList);
/**
* 结算订单退款和用户余额退款调这个方法
*/
void weChatRefund(WeChatRefundDTO dto);
/**
* 保存非法订单记录
*/
void saveAbnormalOrder(TransactionRecordsData data);
/**
* 获取充电实时数据
* @param orderCode 订单编号
* @return
*/
List<RealTimeMonitorData> getChargingRealTimeData(String orderCode);
/**
* 首页订单数据展示
* @param dto 首页信息查询dto
* @return
*/
List<IndexOrderInfoVO> getIndexOrderInfo(IndexQueryDTO dto);
/**
* 获取超过15分钟的待支付状态订单
* @return
*/
List<OrderBasicInfo> getUnpaidOrderListOver15Min();
/**
* 根据orderId批量修改订单状态
* @param orderIds
* @param orderStatus
*/
void updateOrderStatusById(List<String> orderIds, String orderStatus);
/**
* 查询时间段内订单总金额和总用电量
*/
OrderTotalDataVO getOrderTotalData(QueryOrderDTO orderBasicInfo);
/**
* 通过订单号查询订单信息(小程序发送消息用)
* @param orderCode
* @return
*/
SendMessageVO selectOrderInfoByOrderCode(String orderCode);
/**
* 充电桩启动失败
* @param orderCode
* @param failedReasonMsg
*/
void chargingPileFailedToStart(String orderCode, String failedReasonMsg);
/**
* 充电桩启动成功
* @param orderCode
*/
void chargingPileStartedSuccessfully(String orderCode);
/**
* 关闭启动失败的订单
*/
void closeStartFailedOrder(String startTime, String endTime);
/**
* 个人桩查询充电数据
* @param dto
* @return
*/
List<PersonPileConnectorSumInfoVO> getAccumulativeInfo(QueryPersonPileDTO dto);
}

View File

@@ -0,0 +1,29 @@
package com.jsowell.pile.service;
import com.jsowell.pile.domain.OrderPayRecord;
import java.util.List;
public interface IOrderPayRecordService {
// int deleteByPrimaryKey(Integer id);
// int insert(OrderPayRecord record);
// int insertSelective(OrderPayRecord record);
// OrderPayRecord selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(OrderPayRecord record);
// int updateByPrimaryKey(OrderPayRecord record);
/**
* 批量保存订单支付记录
* @param payRecordList
* @return
*/
int batchInsert(List<OrderPayRecord> payRecordList);
List<OrderPayRecord> getOrderPayRecordList(String orderCode);
}

View File

@@ -0,0 +1,158 @@
package com.jsowell.pile.service;
import com.jsowell.common.core.domain.ykc.RealTimeMonitorData;
import com.jsowell.pile.domain.PileBasicInfo;
import com.jsowell.pile.dto.IndexQueryDTO;
import com.jsowell.pile.dto.QueryPileDTO;
import com.jsowell.pile.dto.ReplaceMerchantStationDTO;
import com.jsowell.pile.vo.base.PileInfoVO;
import com.jsowell.pile.vo.uniapp.PersonalPileInfoVO;
import com.jsowell.pile.vo.uniapp.PileConnectorDetailVO;
import com.jsowell.pile.vo.web.IndexGeneralSituationVO;
import com.jsowell.pile.vo.web.PileDetailVO;
import java.util.List;
/**
* 设备管理Service接口
*
* @author jsowell
* @date 2022-08-26
*/
public interface IPileBasicInfoService {
/**
* 查询设备管理
*
* @param id 设备管理主键
* @return 设备管理
*/
PileBasicInfo selectPileBasicInfoById(Long id);
PileBasicInfo selectPileBasicInfoBySN(String pileSn);
/**
* 查询设备管理列表
*
* @param pileBasicInfo 设备管理
* @return 设备管理集合
*/
List<PileBasicInfo> selectPileBasicInfoList(PileBasicInfo pileBasicInfo);
/**
* 新增设备管理
*
* @param pileBasicInfo 设备管理
* @return 结果
*/
int insertPileBasicInfo(PileBasicInfo pileBasicInfo);
/**
* 修改设备管理
*
* @param pileBasicInfo 设备管理
* @return 结果
*/
int updatePileBasicInfo(PileBasicInfo pileBasicInfo);
/**
* 批量删除设备管理
*
* @param ids 需要删除的设备管理主键集合
* @return 结果
*/
int deletePileBasicInfoByIds(Long[] ids);
/**
* 删除设备管理信息
*
* @param id 设备管理主键
* @return 结果
*/
int deletePileBasicInfoById(Long id);
/**
* 查询列表
*/
List<PileDetailVO> queryPileInfos(QueryPileDTO dto);
List<PileDetailVO> queryPileInfoList(QueryPileDTO queryPileDTO);
/**
* 通过pileId更改运营商、站点信息
*
* @param dto 前台参数
* @return 结果
*/
int replaceMerchantStationByPileIds(ReplaceMerchantStationDTO dto);
/**
* 通过桩id查询basic信息
*
* @param id 桩id
* @return 结果集合
*/
PileDetailVO selectBasicInfoById(Long id);
PileInfoVO selectPileInfoBySn(String pileSn);
/**
* 通过站点id查询桩集合
*
* @param stationIdList 站点id
* @return 桩集合
*/
List<PileDetailVO> selectPileListByStationIds(List<Long> stationIdList);
/**
* 通过桩编号查询站点id
* @param sn 桩编号
* @return 站点id
*/
// String selectStationIdBySn(String sn);
/**
* uniApp通过桩号查询桩详情
* @param pileSn 桩号
* @return
*/
// PileDetailVO uniAppGetPileDetailByPileSn(String pileSn);
/**
* 修改状态
* @param frameType
* @param pileSn
* @param connectorCode
* @param status
* @param putGunType
*/
void updateStatus(String frameType, String pileSn, String connectorCode, String status, String putGunType);
/**
* 充电时保存实时数据到redis
* @param realTimeMonitorData 实时数据
*/
void saveRealTimeMonitorData2Redis(RealTimeMonitorData realTimeMonitorData);
PileConnectorDetailVO queryPileConnectorDetail(String pileConnectorCode);
String getPileQrCodeUrl(String pileSn);
// 更新充电桩的sim卡信息
void updatePileSimInfo(String pileSn, String iccid);
/**
* 后管首页基本信息查询
*
* @param dto 站点Id
* @return 首页基本信息
*/
public IndexGeneralSituationVO getGeneralSituation(IndexQueryDTO dto);
/**
* 通过会员id查询个人桩列表
* @param memberId
* @return
*/
List<PersonalPileInfoVO> getPileInfoByMemberId(String memberId);
}

View File

@@ -0,0 +1,152 @@
package com.jsowell.pile.service;
import com.jsowell.pile.domain.PileBillingRelation;
import com.jsowell.pile.domain.PileBillingTemplate;
import com.jsowell.pile.dto.CreateOrUpdateBillingTemplateDTO;
import com.jsowell.pile.dto.ImportBillingTemplateDTO;
import com.jsowell.pile.vo.uniapp.BillingPriceVO;
import com.jsowell.pile.vo.uniapp.CurrentTimePriceDetails;
import com.jsowell.pile.vo.web.BillingTemplateVO;
import com.jsowell.pile.vo.web.EchoBillingTemplateVO;
import java.util.List;
/**
* 计费模板Service接口
*
* @author jsowell
* @date 2022-09-20
*/
public interface IPileBillingTemplateService {
/**
* 查询计费模板
*
* @param id 计费模板主键
* @return 计费模板
*/
public PileBillingTemplate selectPileBillingTemplateById(Long id);
/**
* 查询计费模板列表
*
* @param pileBillingTemplate 计费模板
* @return 计费模板集合
*/
public List<PileBillingTemplate> selectPileBillingTemplateList(PileBillingTemplate pileBillingTemplate);
/**
* 新增计费模板
*
* @param pileBillingTemplate 计费模板
* @return 结果
*/
public int insertPileBillingTemplate(PileBillingTemplate pileBillingTemplate);
/**
* 修改计费模板
*
* @param pileBillingTemplate 计费模板
* @return 结果
*/
public int updatePileBillingTemplate(PileBillingTemplate pileBillingTemplate);
/**
* 批量删除计费模板
*
* @param ids 需要删除的计费模板主键集合
* @return 结果
*/
public int deletePileBillingTemplateByIds(Long[] ids);
/**
* 删除计费模板信息
*
* @param id 计费模板主键
* @return 结果
*/
public int deletePileBillingTemplateById(Long id);
/**
* 新增计费模板
*
* @param dto 参数
* @return 计费模板id
*/
void createBillingTemplate(CreateOrUpdateBillingTemplateDTO dto);
/**
* 查询公共计费模板
*
* @return
*/
List<BillingTemplateVO> queryPublicBillingTemplateList();
/**
* 查询站点计费模板
*
* @param stationId 站点id
* @return
*/
List<BillingTemplateVO> queryStationBillingTemplateList(String stationId);
/**
* 查询正在使用中的计费模板
* @param stationId 站点id
* @return
*/
BillingTemplateVO queryUsedBillingTemplate(String stationId);
/**
* 查询计费价格详情
* @param stationId 站点id
* @return
*/
List<BillingPriceVO> queryBillingPrice(String stationId);
/**
* 通过桩sn号查询计费模板信息
*
* @param pileSn 桩sn
* @return 计费模板编号
*/
BillingTemplateVO selectBillingTemplateDetailByPileSn(String pileSn);
/**
* 站点导入计费模板
*
* @param dto
* @return
*/
boolean stationImportBillingTemplate(ImportBillingTemplateDTO dto);
byte[] generateBillingTemplateMsgBody(String pileSn, BillingTemplateVO billingTemplateVO);
/**
* 根据计费模板id查询计费模板信息
*
* @param templateId 计费模板id
* @return 计费模板信息
*/
BillingTemplateVO selectBillingTemplateByTemplateId(String templateId);
/**
* 保存计费模板和桩关系
*
* @param relationList
*/
void insertPileBillingRelation(List<PileBillingRelation> relationList);
/**
* 修改计费模板
*
* @param dto
*/
void updateBillingTemplate(CreateOrUpdateBillingTemplateDTO dto);
EchoBillingTemplateVO queryPileBillingTemplateById(Long id);
/**
* 通过站点id查询当前时间的收费详情
*/
CurrentTimePriceDetails getCurrentTimePriceDetails(String stationId);
}

View File

@@ -0,0 +1,133 @@
package com.jsowell.pile.service;
import com.jsowell.common.core.page.PageResponse;
import com.jsowell.pile.domain.PileConnectorInfo;
import com.jsowell.pile.dto.QueryConnectorDTO;
import com.jsowell.pile.dto.QueryConnectorListDTO;
import com.jsowell.pile.vo.base.ConnectorInfoVO;
import com.jsowell.pile.vo.web.PileConnectorInfoVO;
import java.util.List;
import java.util.Map;
/**
* 充电桩枪口信息Service接口
*
* @author jsowell
* @date 2022-08-31
*/
public interface IPileConnectorInfoService {
/**
* 查询充电桩枪口信息
*
* @param id 充电桩枪口信息主键
* @return 充电桩枪口信息
*/
PileConnectorInfo selectPileConnectorInfoById(Integer id);
/**
* 查询充电桩枪口信息列表
*
* @param pileConnectorInfo 充电桩枪口信息
* @return 充电桩枪口信息集合
*/
List<PileConnectorInfo> selectPileConnectorInfoList(PileConnectorInfo pileConnectorInfo);
List<PileConnectorInfo> selectPileConnectorInfoList(String pileSn);
/**
* 新增充电桩枪口信息
*
* @param pileConnectorInfo 充电桩枪口信息
* @return 结果
*/
// int insertPileConnectorInfo(PileConnectorInfo pileConnectorInfo);
/**
* 修改充电桩枪口信息
*
* @param pileConnectorInfo 充电桩枪口信息
* @return 结果
*/
// int updatePileConnectorInfo(PileConnectorInfo pileConnectorInfo);
/**
* 批量删除充电桩枪口信息
*
* @param ids 需要删除的充电桩枪口信息主键集合
* @return 结果
*/
// int deletePileConnectorInfoByIds(Integer[] ids);
int deletePileConnectorInfoByPileSnList(List<String> pileSnList);
int batchInsertConnectorInfo(List<PileConnectorInfo> pileConnectorInfoList);
/**
* 充电接口信息列表
*
* @param dto 前台参数
* @return 充电接口对象集合
*/
List<PileConnectorInfoVO> getConnectorInfoListByParams(QueryConnectorDTO dto);
/**
* 通过充电站id查询充电枪信息
*
* @param stationId 充电站id
* @return 充电枪信息集合
*/
List<PileConnectorInfoVO> selectConnectorListByStationId(Long stationId);
/**
* 支持多种查询充电桩接口列表
*/
List<PileConnectorInfoVO> getConnectorInfoListByParams(QueryConnectorListDTO dto);
/**
* 更新充电桩枪口状态
* @param connectorCode 枪口号
* @param status 状态 0离网 (默认)1空闲2占用未充电3占用充电中4占用预约锁定 255故障
*/
int updateConnectorStatus(String connectorCode, String status);
/**
* 通过桩编号修改枪口状态
* 仅用于登录逻辑使用
* @param pileSn 桩编号
* @param status 状态 状态 0离网 (默认)1空闲2占用未充电3占用充电中4占用预约锁定 255故障
*/
int updateConnectorStatusByPileSn(String pileSn, String status);
/**
* 批量获取充电桩状态
* @param pileSnList 桩编号list
* @return key:桩编号value:状态值
*/
Map<String, String> getPileStatus(List<String> pileSnList);
/**
* 通过枪口编码查询枪口信息
*
* @param connectorCode
* @return
*/
PileConnectorInfoVO getPileConnectorInfoByConnectorCode(String connectorCode);
String getPileConnectorQrCodeUrl(String pileConnectorCode);
/**
* 支持多种查询充电桩接口列表uniapp
*/
PageResponse getUniAppConnectorInfoListByParams(QueryConnectorListDTO dto);
/**
* uniApp通过站点id查询枪口列表信息
*
* @param stationId 站点id
* @return
*/
List<ConnectorInfoVO> getUniAppConnectorList(Long stationId);
List<ConnectorInfoVO> selectConnectorInfoList(String pileSn);
}

View File

@@ -0,0 +1,62 @@
package com.jsowell.pile.service;
import com.jsowell.pile.domain.PileLicenceInfo;
import java.util.List;
/**
* 充电桩证书信息Service接口
*
* @author jsowell
* @date 2022-08-27
*/
public interface IPileLicenceInfoService
{
/**
* 查询充电桩证书信息
*
* @param id 充电桩证书信息主键
* @return 充电桩证书信息
*/
public PileLicenceInfo selectPileLicenceInfoById(Long id);
/**
* 查询充电桩证书信息列表
*
* @param pileLicenceInfo 充电桩证书信息
* @return 充电桩证书信息集合
*/
public List<PileLicenceInfo> selectPileLicenceInfoList(PileLicenceInfo pileLicenceInfo);
/**
* 新增充电桩证书信息
*
* @param pileLicenceInfo 充电桩证书信息
* @return 结果
*/
public int insertPileLicenceInfo(PileLicenceInfo pileLicenceInfo);
/**
* 修改充电桩证书信息
*
* @param pileLicenceInfo 充电桩证书信息
* @return 结果
*/
public int updatePileLicenceInfo(PileLicenceInfo pileLicenceInfo);
/**
* 批量删除充电桩证书信息
*
* @param ids 需要删除的充电桩证书信息主键集合
* @return 结果
*/
public int deletePileLicenceInfoByIds(Long[] ids);
/**
* 删除充电桩证书信息信息
*
* @param id 充电桩证书信息主键
* @return 结果
*/
public int deletePileLicenceInfoById(Long id);
}

View File

@@ -0,0 +1,79 @@
package com.jsowell.pile.service;
import com.jsowell.pile.domain.PileMemberRelation;
import com.jsowell.pile.vo.uniapp.PersonalPileInfoVO;
import java.util.List;
/**
* 桩与用户绑定关系Service接口
*
* @author jsowell
* @date 2023-02-21
*/
public interface IPileMemberRelationService
{
/**
* 查询桩与用户绑定关系
*
* @param id 桩与用户绑定关系主键
* @return 桩与用户绑定关系
*/
public PileMemberRelation selectPileMemberRelationById(Integer id);
/**
* 查询桩与用户绑定关系列表
*
* @param pileMemberRelation 桩与用户绑定关系
* @return 桩与用户绑定关系集合
*/
public List<PileMemberRelation> selectPileMemberRelationList(PileMemberRelation pileMemberRelation);
/**
* 条件查询桩与用户绑定关系
*
* @param pileMemberRelation 桩与用户绑定关系
* @return 桩与用户绑定关系对象
*/
PileMemberRelation selectPileMemberRelation(PileMemberRelation pileMemberRelation);
/**
* 新增桩与用户绑定关系
*
* @param pileMemberRelation 桩与用户绑定关系
* @return 结果
*/
public int insertPileMemberRelation(PileMemberRelation pileMemberRelation);
/**
* 修改桩与用户绑定关系
*
* @param pileMemberRelation 桩与用户绑定关系
* @return 结果
*/
public int updatePileMemberRelation(PileMemberRelation pileMemberRelation);
/**
* 批量删除桩与用户绑定关系
*
* @param ids 需要删除的桩与用户绑定关系主键集合
* @return 结果
*/
public int deletePileMemberRelationByIds(Integer[] ids);
/**
* 删除桩与用户绑定关系信息
*
* @param id 桩与用户绑定关系主键
* @return 结果
*/
public int deletePileMemberRelationById(Integer id);
/**
* 通过桩编码查询关系信息
* @param pileSn
* @return
*/
List<PileMemberRelation> selectPileMemberRelationByPileSn(String pileSn);
}

View File

@@ -0,0 +1,66 @@
package com.jsowell.pile.service;
import com.jsowell.pile.domain.PileMerchantInfo;
import com.jsowell.pile.vo.base.MerchantInfoVO;
import java.util.List;
/**
* 充电桩运营商信息Service接口
*
* @author jsowell
* @date 2022-08-27
*/
public interface IPileMerchantInfoService {
/**
* 查询充电桩运营商信息
*
* @param id 充电桩运营商信息主键
* @return 充电桩运营商信息
*/
public PileMerchantInfo selectPileMerchantInfoById(Long id);
/**
* 查询充电桩运营商信息列表
*
* @param pileMerchantInfo 充电桩运营商信息
* @return 充电桩运营商信息集合
*/
public List<PileMerchantInfo> selectPileMerchantInfoList(PileMerchantInfo pileMerchantInfo);
/**
* 新增充电桩运营商信息
*
* @param pileMerchantInfo 充电桩运营商信息
* @return 结果
*/
public int insertPileMerchantInfo(PileMerchantInfo pileMerchantInfo);
/**
* 修改充电桩运营商信息
*
* @param pileMerchantInfo 充电桩运营商信息
* @return 结果
*/
public int updatePileMerchantInfo(PileMerchantInfo pileMerchantInfo);
/**
* 批量删除充电桩运营商信息
*
* @param ids 需要删除的充电桩运营商信息主键集合
* @return 结果
*/
public int deletePileMerchantInfoByIds(Long[] ids);
/**
* 删除充电桩运营商信息信息
*
* @param id 充电桩运营商信息主键
* @return 结果
*/
public int deletePileMerchantInfoById(Long id);
String getMerchantIdByAppId(String appId);
MerchantInfoVO getMerchantInfo(String merchantId);
}

View File

@@ -0,0 +1,72 @@
package com.jsowell.pile.service;
import com.jsowell.pile.domain.PileModelInfo;
import com.jsowell.pile.vo.web.PileModelInfoVO;
import java.util.List;
/**
* 充电桩型号信息Service接口
*
* @author jsowell
* @date 2022-08-26
*/
public interface IPileModelInfoService {
/**
* 查询充电桩型号信息
*
* @param id 充电桩型号信息主键
* @return 充电桩型号信息
*/
public PileModelInfo selectPileModelInfoById(Long id);
/**
* 查询充电桩型号信息列表
*
* @param pileModelInfo 充电桩型号信息
* @return 充电桩型号信息集合
*/
public List<PileModelInfo> selectPileModelInfoList(PileModelInfo pileModelInfo);
/**
* 新增充电桩型号信息
*
* @param pileModelInfo 充电桩型号信息
* @return 结果
*/
public int insertPileModelInfo(PileModelInfo pileModelInfo);
/**
* 修改充电桩型号信息
*
* @param pileModelInfo 充电桩型号信息
* @return 结果
*/
public int updatePileModelInfo(PileModelInfo pileModelInfo);
/**
* 批量删除充电桩型号信息
*
* @param ids 需要删除的充电桩型号信息主键集合
* @return 结果
*/
public int deletePileModelInfoByIds(Long[] ids);
/**
* 删除充电桩型号信息信息
*
* @param id 充电桩型号信息主键
* @return 结果
*/
public int deletePileModelInfoById(Long id);
/**
* 通过桩编号集合获取型号表中数据
*
* @param pileSns 桩编号集合
* @return PileModelInfo对象
*/
List<PileModelInfoVO> getPileModelInfoByPileSnList(List<String> pileSns);
PileModelInfoVO getPileModelInfoByPileSn(String pileSn);
}

View File

@@ -0,0 +1,24 @@
package com.jsowell.pile.service;
import com.jsowell.common.core.page.PageResponse;
import com.jsowell.pile.dto.QueryPileDTO;
public interface IPileMsgRecordService {
/**
* 保存报文
* @param pileSn 桩编号
* @param connectorCode 枪号
* @param frameType 帧类型
* @param jsonMsg msgBody的json字符串
* @param originalMsg 原始报文
*/
void save(String pileSn, String connectorCode, String frameType, String jsonMsg, String originalMsg);
// List<PileMsgRecord> getByConnectorCodeList(List<String> connectorCodeList);
/**
* 查询充电桩通信日志 分页
*/
PageResponse getPileFeedList(QueryPileDTO dto);
}

View File

@@ -0,0 +1,92 @@
package com.jsowell.pile.service;
import com.jsowell.pile.domain.PileSimInfo;
import com.jsowell.pile.dto.QuerySimInfoDTO;
import com.jsowell.pile.vo.web.SimCardInfoVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 充电桩SIM卡信息Service接口
*
* @author jsowell
* @date 2022-08-26
*/
public interface IPileSimInfoService
{
/**
* 查询充电桩SIM卡信息
*
* @param id 充电桩SIM卡信息主键
* @return 充电桩SIM卡信息
*/
public PileSimInfo selectPileSimInfoById(Long id);
/**
* 查询充电桩SIM卡信息列表
*
* @param pileSimInfo 充电桩SIM卡信息
* @return 充电桩SIM卡信息集合
*/
public List<PileSimInfo> selectPileSimInfoList(PileSimInfo pileSimInfo);
/**
* 后管查询sim卡信息列表
* @return
*/
List<SimCardInfoVO> getSimInfoList(QuerySimInfoDTO dto);
/**
* 新增充电桩SIM卡信息
*
* @param pileSimInfo 充电桩SIM卡信息
* @return 结果
*/
public int insertPileSimInfo(PileSimInfo pileSimInfo);
/**
* 修改充电桩SIM卡信息
*
* @param pileSimInfo 充电桩SIM卡信息
* @return 结果
*/
public int updatePileSimInfo(PileSimInfo pileSimInfo);
/**
* 批量删除充电桩SIM卡信息
*
* @param ids 需要删除的充电桩SIM卡信息主键集合
* @return 结果
*/
public int deletePileSimInfoByIds(Long[] ids);
/**
* 删除充电桩SIM卡信息信息
*
* @param id 充电桩SIM卡信息主键
* @return 结果
*/
public int deletePileSimInfoById(Long id);
/**
* 通过桩编码查询sim卡信息
* @param pileSn 桩编码
* @return
*/
SimCardInfoVO querySimCardInfoByPileSn(String pileSn);
/**
* 通过卡号批量查询sim卡信息
* @param iccIds 卡号
* @return
*/
List<PileSimInfo> selectSimInfoByIccIds(List<String> iccIds);
/**
* 通过卡号查询sim卡信息
* @param iccId 卡号
* @return
*/
PileSimInfo getBasicInfoByIccId(String iccId);
}

View File

@@ -0,0 +1,91 @@
package com.jsowell.pile.service;
import com.jsowell.common.core.page.PageResponse;
import com.jsowell.pile.domain.PileStationInfo;
import com.jsowell.pile.dto.FastCreateStationDTO;
import com.jsowell.pile.dto.QueryStationDTO;
import com.jsowell.pile.vo.web.PileStationVO;
import java.util.List;
/**
* 充电站信息Service接口
*
* @author jsowell
* @date 2022-08-30
*/
public interface IPileStationInfoService {
/**
* 查询充电站信息
*
* @param id 充电站信息主键
* @return 充电站信息
*/
public PileStationInfo selectPileStationInfoById(Long id);
/**
* 查询充电站信息列表
*
* @param pileStationInfo 充电站信息
* @return 充电站信息集合
*/
public List<PileStationInfo> selectPileStationInfoList(PileStationInfo pileStationInfo);
/**
* 通过运营商id查询站点信息
*
* @param merchantId 运营商id
* @return 站点信息列表
*/
public List<PileStationInfo> selectStationListByMerchantId(Long merchantId);
/**
* 新增充电站信息
*
* @param pileStationInfo 充电站信息
* @return 结果
*/
public int insertPileStationInfo(PileStationInfo pileStationInfo);
/**
* 快速建站
*
* @param dto
* @return
*/
public int fastCreateStation(FastCreateStationDTO dto);
/**
* 修改充电站信息
*
* @param pileStationInfo 充电站信息
* @return 结果
*/
public int updatePileStationInfo(PileStationInfo pileStationInfo);
/**
* 批量删除充电站信息
*
* @param ids 需要删除的充电站信息主键集合
* @return 结果
*/
public int deletePileStationInfoByIds(Long[] ids);
/**
* 查询充电站信息
*
* @param dto 前台参数
* @return 充电站信息集合
*/
List<PileStationVO> queryStationInfos(QueryStationDTO dto);
/**
* 查询充电站信息并通过经纬度距离排序
*
* @param queryStationDTO 前台参数
* @return 充电站对象集合
*/
PageResponse uniAppQueryStationInfoList(QueryStationDTO queryStationDTO);
PileStationVO getStationInfo(String stationId);
}

View File

@@ -0,0 +1,468 @@
package com.jsowell.pile.service;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.google.common.collect.Lists;
import com.jsowell.common.enums.sim.SimCardStatusCorrespondEnum;
import com.jsowell.common.enums.sim.SimSupplierEnum;
import com.jsowell.common.enums.ykc.ReturnCodeEnum;
import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.util.RandomUtil;
import com.jsowell.common.util.StringUtils;
import com.jsowell.common.util.http.HttpUtils;
import com.jsowell.common.util.id.IdUtils;
import com.jsowell.common.util.sim.SimCardUtils;
import com.jsowell.common.util.sim.XunZhongSimUtils;
import com.jsowell.pile.vo.web.*;
import org.apache.commons.collections4.CollectionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Hashtable;
import java.util.List;
import java.util.stream.Collectors;
/**
* Sim卡Service
*
* @author JS-ZZA
* @date 2022/12/3 15:35
*/
@Service
public class SimCardService {
@Autowired
private IPileSimInfoService pileSimInfoService;
protected final Logger logger = LoggerFactory.getLogger(SimCardService.class);
@Value("${xunzhong.apiId}")
private String API_ID;
@Value("${xunzhong.sim.getSimCardDetailURL}")
private String getSimCardDetailURL;
@Value("${xunzhong.trafficPool.poolListURL}")
private String poolListURL;
@Value("${xunzhong.sim.renewURL}")
private String renewURL;
@Value("${wulian.appId}")
private String appId;
@Value("${wulian.appSecret}")
private String appSecret;
@Value("${wulian.getWay}")
private String wuLianGetWay;
@Value("${wulian.name.getSimInfo}")
private String getSimInfoName;
@Value("${wulian.name.WuLianSimRenew}")
private String WuLianSimRenew;
/**
* 不知道iccid属于哪家供应商就用这个方法查
* @param iccid
* @return
*/
public SimCardVO searchByLoop(String iccid) {
SimCardVO vo = null;
// 查XunZhong
List<SimCardVO> simCardVOS = XunZhongGetSimInfoByIccIds(Lists.newArrayList(iccid));
if (CollectionUtils.isNotEmpty(simCardVOS)) {
vo = simCardVOS.get(0);
}
// 查WuLian平台
List<SimCardVO> wuLianSimData = WuLianGetSimInfoByIccIds(Lists.newArrayList(iccid));
if (CollectionUtils.isNotEmpty(wuLianSimData)) {
vo = wuLianSimData.get(0);
}
// 第三个供应商
logger.info("查询iccid:{}, 详情信息:{}", iccid, JSON.toJSONString(vo));
return vo;
}
/**
* 批量续费(后管调用此方法)
* @param iccIds 卡号
* @param cycleNumber 续费周期
*/
public List<SimRenewResultVO> renewSimByLoop(List<String> iccIds, int cycleNumber) {
if (CollectionUtils.isEmpty(iccIds)) {
return Lists.newArrayList();
}
// 将集合中为空和0的过滤
iccIds = iccIds.stream()
.filter(StringUtils::isNotEmpty)
.filter(x -> !StringUtils.equals(x, "0"))
.collect(Collectors.toList());
ArrayList<SimRenewResultVO> list = new ArrayList<>();
for (String iccId : iccIds) {
// 查出此卡属于哪家公司(拿到code)
SimCardVO simCardVO = searchByLoop(iccId);
String simSupplierCode = simCardVO.getSimCardFactory();
// 根据不同的公司执行不同的续费方法
SimRenewResultVO simRenewResultVO = renewSimBySupplier(simSupplierCode, iccId, cycleNumber);
list.add(simRenewResultVO);
}
return list;
}
/**
* 根据不同的公司执行不同的续费方法
* @param code SimSupplierEnum.getCode()
* @param iccId 卡号
* @param cycleNumber 续费周期
*/
private SimRenewResultVO renewSimBySupplier(String code, String iccId, int cycleNumber) {
SimRenewResultVO vo = new SimRenewResultVO();
vo.setIccId(iccId);
vo.setCycleNumber(cycleNumber);
if (StringUtils.equals(code, SimSupplierEnum.XUN_ZHONG.getCode())) {
// 讯众
try {
vo.setSimSuppler(SimSupplierEnum.XUN_ZHONG.getName());
XunZhongSimRenewal(Lists.newArrayList(iccId), cycleNumber);
vo.setResult(true);
}catch (BusinessException e) {
vo.setResult(false);
vo.setReason(e.getMessage());
}
}
// 物联平台
if (StringUtils.equals(code, SimSupplierEnum.WU_LIAN_INTERNET.getCode())) {
try {
vo.setSimSuppler(SimSupplierEnum.WU_LIAN_INTERNET.getName());
WuLianSimRenew(Lists.newArrayList(iccId), cycleNumber);
vo.setResult(true);
}catch (BusinessException e){
vo.setResult(false);
vo.setReason(e.getMessage());
}
}
return vo;
}
/**
* 讯众 内部接口
* 通过iccIds查询讯众Sim卡信息
* @param iccIds
*/
public List<SimCardVO> XunZhongGetSimInfoByIccIds(List<String> iccIds) {
List<SimCardVO> resultList = new ArrayList<>();
List<XunZhongSimData> dataList = getSimCardDetail(iccIds);
SimCardVO simCard = null;
for (XunZhongSimData zhongSimData : dataList) {
// sim卡套餐
XunZhongSimData.Products products = null;
if (CollectionUtils.isNotEmpty(zhongSimData.getCurrent_products())) {
products = zhongSimData.getCurrent_products().get(0);
} else {
if (CollectionUtils.isNotEmpty(zhongSimData.getFuture_products())) {
products = zhongSimData.getFuture_products().get(0);
}
}
if (products == null) {
logger.info("iccid:{}, 没有套餐", zhongSimData.getIccid());
continue;
}
// set
simCard = new SimCardVO();
simCard.setIccId(zhongSimData.getIccid()); // 卡号
simCard.setSimCardFactory(SimSupplierEnum.XUN_ZHONG.getCode()); // 1-讯众物联
simCard.setSimCardOperator(zhongSimData.getCarrier_type()); // 运营商类型
simCard.setSimCardStatus(zhongSimData.getNet_status()); // 联网状态
simCard.setName(products.getName()); // 套餐名称
simCard.setExpiredTime(products.getExpiration_time()); // 过期时间
BigDecimal packageCapacity = products.getPackage_capacity(); // 套餐总量mb
simCard.setPackageCapacity(packageCapacity);
if (products.getCurrent_cycle_usage() != null) {
BigDecimal current_cycle_usage = products.getCurrent_cycle_usage(); // 当前已用kb
String currentCycleUsage = SimCardUtils.kb2MbOrGb(current_cycle_usage.intValue());
BigDecimal currentCycleUsageData = new BigDecimal(currentCycleUsage);
simCard.setUsedFlowRate(currentCycleUsageData);
BigDecimal residualData = packageCapacity.subtract(currentCycleUsageData); // 套餐剩余
simCard.setResidualFlowRate(residualData.setScale(2, BigDecimal.ROUND_HALF_UP));
}
resultList.add(simCard);
}
return resultList;
}
public static void main(String[] args) {
// List<String> iccIds = Lists.newArrayList();
// iccIds.add("123");
// iccIds.add(null);
// iccIds.add("0");
// iccIds.add("asdf");
// iccIds.add(null);
// iccIds.add("0");
// iccIds.add(null);
// iccIds.add("0");
// iccIds.add("9461351351");
// iccIds = iccIds.stream()
// .filter(StringUtils::isNotEmpty)
// .filter(x -> !StringUtils.equals(x, "0"))
// .collect(Collectors.toList());
// String iccId = StringUtils.join(iccIds, ",");
// System.out.println(iccId);
String packName = "移动 500M/月";
System.out.println(StringUtils.contains(packName, "移动"));
// StringUtils.containsAny()
}
/**
* 讯众官方接口
* 获取sim卡详细信息
* @param iccIds Sim卡集合
* @return
*/
public List<XunZhongSimData> getSimCardDetail(List<String> iccIds) {
String iccId = list2Str(iccIds);
String timestamp = String.valueOf(System.currentTimeMillis() / 1000);
Hashtable<String, Object> params = new Hashtable<>();
params.put("api_id", API_ID);
params.put("timestamp", timestamp);
params.put("iccids", iccId);
String signStr = XunZhongSimUtils.getSignStr(params);
params.put("sign", signStr);
String postResult = XunZhongSimUtils.sendPost(getSimCardDetailURL, params);
logger.info("【====讯众物联====】查询Sim卡信息, param:{}, result:{}", params, postResult);
JSONObject jsonObject = JSONObject.parseObject(postResult);
if (StringUtils.equals(jsonObject.getString("code"), "0")) {
String result = jsonObject.getString("result");
return JSON.parseArray(result, XunZhongSimData.class);
}
return Lists.newArrayList();
}
/**
* 讯众官方接口
* 获取流量池信息
* @return
*/
public String getTrafficPoolInfo() {
String timestamp = String.valueOf(System.currentTimeMillis() / 1000);
Hashtable<String, Object> params = new Hashtable<>();
params.put("api_id", API_ID);
params.put("timestamp", timestamp);
String signStr = XunZhongSimUtils.getSignStr(params);
params.put("sign", signStr);
String postResult = XunZhongSimUtils.sendPost(poolListURL, params);
logger.info("【====讯众物联====】获取流量池信息, result:{}", postResult);
return postResult;
}
/**
* 讯众官方接口
* sim卡续期
* @param iccIds 需要续期的sim卡
* @param cycleNumber 续费周期0-9990表示无限周期
* @return
*/
public void XunZhongSimRenewal(List<String> iccIds, int cycleNumber) {
if (CollectionUtils.isEmpty(iccIds)) {
throw new BusinessException(ReturnCodeEnum.CODE_PARAM_NOT_NULL_ERROR);
}
String iccId = list2Str(iccIds);
String timestamp = String.valueOf(System.currentTimeMillis() / 1000);
Hashtable<String, Object> params = new Hashtable<>();
params.put("api_id", API_ID);
params.put("timestamp", timestamp);
params.put("iccids", iccId);
params.put("cycle_number", cycleNumber);
String signStr = XunZhongSimUtils.getSignStr(params);
params.put("sign", signStr);
String postResult = XunZhongSimUtils.sendPost(renewURL, params);
logger.info("【====讯众物联====】sim卡续费业务, result:{}", postResult);
JSONObject jsonResult = JSONObject.parseObject(postResult);
String code = jsonResult.getString("code");
if (!StringUtils.equals("0", code)) {
String message = jsonResult.getString("message");
throw new BusinessException(code, message);
}
}
/**
* 物联平台官方接口
*
* 查询卡信息
*
* @param iccIds 卡号集合
* @return 卡信息集合
*/
public List<WuLianSimData> WuLianGetSimInfo(List<String> iccIds) {
ArrayList<WuLianSimData> list = new ArrayList<>();
if (CollectionUtils.isEmpty(iccIds)) {
return list;
}
for (String iccId : iccIds) {
JSONObject param = new JSONObject();
param.put("appid", appId);
param.put("appsecret", appSecret);
param.put("name", getSimInfoName);
param.put("iccid", iccId);
String result = HttpUtils.sendPostContentType(wuLianGetWay, param.toJSONString(), "application/json");
logger.info("【====物联网智能云平台====】查询Sim卡信息, result: {}", result);
JSONObject jsonObject = JSONObject.parseObject(result);
JSONArray dataArray = (JSONArray) jsonObject.get("data");
if (CollectionUtils.isNotEmpty(dataArray)) {
JSONObject data = dataArray.getJSONObject(0);
WuLianSimData wuLianSimData = JSONObject.parseObject(data.toJSONString(), WuLianSimData.class);
list.add(wuLianSimData);
}
}
return list;
}
/**
* 物联平台 内部接口
* 通过iccIds查询物联平台Sim卡信息
*
* @param iccIds
* @return
*/
public List<SimCardVO> WuLianGetSimInfoByIccIds(List<String> iccIds) {
List<SimCardVO> resultList = new ArrayList<>();
List<WuLianSimData> list = WuLianGetSimInfo(iccIds);
SimCardVO vo = null;
for (WuLianSimData wuLianSimData : list) {
String WuLianCardStatus = wuLianSimData.getCardStatus();
// 卡状态不一致,需做对应
String dataBaseCardStatus = SimCardStatusCorrespondEnum.getDataBaseCardStatus(WuLianCardStatus);
BigDecimal packageCanUsage = new BigDecimal(wuLianSimData.getPackageCanUsage()); // 可用流量(MB)
BigDecimal packageHasUsage = new BigDecimal(wuLianSimData.getPackageHasUsage()); // 已用流量(MB)
BigDecimal residualFlowRate = packageCanUsage.subtract(packageHasUsage); // 剩余
// 运营商
String packageName = wuLianSimData.getPackageName();
String operator = "";
if (StringUtils.contains(packageName, "移动")) {
operator = "china_mobile";
}else if (StringUtils.contains(packageName, "电信")) {
operator = "china_telecom";
} else if (StringUtils.contains(packageName, "联通")) {
operator = "china_unicom";
}
//将信息封装到SimCardVO
vo = new SimCardVO();
vo.setIccId(wuLianSimData.getIccId());
vo.setSimCardFactory(SimSupplierEnum.WU_LIAN_INTERNET.getCode()); // 2-物联网智能云平台
vo.setSimCardOperator(operator); // 运营商
vo.setSimCardStatus(dataBaseCardStatus); // 卡状态
vo.setName(packageName); // 套餐名称
vo.setExpiredTime(wuLianSimData.getCardEndTime()); // 卡到期时间
vo.setPackageCapacity(packageCanUsage); // 套餐容量
vo.setUsedFlowRate(packageHasUsage); // 已用流量
vo.setResidualFlowRate(residualFlowRate); // 剩余流量
resultList.add(vo);
}
return resultList;
}
/**
* 物联平台续费接口
*
* @param iccIds
* @param cycleNumber
* @return
*/
public void WuLianSimRenew(List<String> iccIds, int cycleNumber) {
List<WuLianSimRenewVO> resultList = new ArrayList<>();
if (CollectionUtils.isEmpty(iccIds)) {
return;
}
// 先查出卡的信息
List<WuLianSimData> wuLianSimData = WuLianGetSimInfo(iccIds);
for (WuLianSimData data : wuLianSimData) {
JSONObject param = new JSONObject();
param.put("appid", appId);
param.put("appsecret", appSecret);
param.put("name", WuLianSimRenew);
param.put("msisdn", data.getMsisdn());
param.put("packageId", data.getPackageId()); // 套餐id
param.put("outOrderNo", IdUtils.generateOrderCode(data.getMsisdn())); // 外部业务订单号
param.put("period", cycleNumber); // 续费周期
String result = HttpUtils.sendPostContentType(wuLianGetWay, param.toJSONString(), "application/json");
logger.info("【====物联网智能云平台====】Sim卡续费, result: {}", result);
JSONObject resultJson = JSONObject.parseObject(result);
String resultCode = resultJson.getString("code");
WuLianSimRenewVO vo = null;
if (!StringUtils.equals("0", resultCode)) {
throw new BusinessException(resultCode, resultJson.getString("msg"));
}
}
}
/**
* 将list数组转化为逗号分隔的字符串
*
* @param iccIds
* @return
*/
private String list2Str(List<String> iccIds) {
iccIds = iccIds.stream()
.filter(StringUtils::isNotEmpty)
.filter(x -> !StringUtils.equals(x, "0"))
.collect(Collectors.toList());
// 数组转成逗号分割的字符串
String iccId = StringUtils.join(iccIds, ",");
return iccId;
}
}

View File

@@ -0,0 +1,43 @@
package com.jsowell.pile.service;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.jsowell.pile.dto.WeixinPayDTO;
import com.jsowell.wxpay.response.WechatPayNotifyParameter;
import com.jsowell.wxpay.response.WechatPayRefundRequest;
import com.jsowell.wxpay.response.WechatPayRefundResponse;
import javax.servlet.http.HttpServletRequest;
import java.util.Map;
public interface WechatPayService {
/**
* 获取微信支付参数
* @param dto
* @return
* @throws Exception
*/
Map<String, Object> weixinPayV3(WeixinPayDTO dto) throws Exception;
/**
* 获取微信支付回调信息
* @param request
* @param body
* @return
* @throws Exception
*/
Map<String, Object> wechatPayCallbackInfo(HttpServletRequest request, WechatPayNotifyParameter body) throws Exception;
/**
* 微信退款接口
* ApplyForARefund
*/
WechatPayRefundResponse ApplyForWechatPayRefundV3(WechatPayRefundRequest request) throws JsonProcessingException;
/**
* 获取微信退款回调信息
* @param request
* @param body
* @return
*/
Map<String, Object> wechatPayRefundCallbackInfo(HttpServletRequest request, WechatPayNotifyParameter body) throws Exception;
}

View File

@@ -0,0 +1,34 @@
package com.jsowell.pile.service;
import com.jsowell.pile.domain.WxpayCallbackRecord;
import java.util.List;
public interface WxpayCallbackRecordService {
int deleteByPrimaryKey(Integer id);
int insert(WxpayCallbackRecord record);
int insertSelective(WxpayCallbackRecord record);
WxpayCallbackRecord selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(WxpayCallbackRecord record);
int updateByPrimaryKey(WxpayCallbackRecord record);
WxpayCallbackRecord selectByOrderCode(String orderCode);
/**
* 通过微信商户订单号查询
* @param outTradeNo
* @return
*/
WxpayCallbackRecord selectByOutTradeNo(String outTradeNo);
/**
* 根据memberId查询最近一年的余额充值记录
* queryTheBalanceTopUpRecordOfTheLatestYear
*/
List<WxpayCallbackRecord> queryBalanceRechargeRecordOfTheLatestYear(String memberId);
}

View File

@@ -0,0 +1,15 @@
package com.jsowell.pile.service;
import com.jsowell.pile.domain.WxpayRefundCallback;
public interface WxpayRefundCallbackService {
int deleteByPrimaryKey(Integer id);
int insertSelective(WxpayRefundCallback record);
WxpayRefundCallback selectByPrimaryKey(Integer id);
int updateByPrimaryKeySelective(WxpayRefundCallback record);
int updateByPrimaryKey(WxpayRefundCallback record);
}

View File

@@ -0,0 +1,264 @@
package com.jsowell.pile.service.impl;
import com.google.common.collect.Lists;
import com.jsowell.common.util.DateUtils;
import com.jsowell.common.util.StringUtils;
import com.jsowell.pile.domain.MemberBasicInfo;
import com.jsowell.pile.domain.MemberWalletInfo;
import com.jsowell.pile.domain.MemberWalletLog;
import com.jsowell.pile.mapper.MemberBasicInfoMapper;
import com.jsowell.pile.mapper.MemberWalletInfoMapper;
import com.jsowell.pile.mapper.MemberWalletLogMapper;
import com.jsowell.pile.mapper.PileBasicInfoMapper;
import com.jsowell.pile.service.IMemberBasicInfoService;
import com.jsowell.pile.service.IPileBasicInfoService;
import com.jsowell.pile.vo.uniapp.MemberVO;
import com.jsowell.pile.vo.uniapp.MemberWalletLogVO;
import com.jsowell.pile.vo.uniapp.PersonalPileInfoVO;
import com.jsowell.pile.vo.web.UpdateMemberBalanceDTO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.List;
/**
* 会员基础信息Service业务层处理
*
* @author jsowell
* @date 2022-10-12
*/
@Slf4j
@Service
public class MemberBasicInfoServiceImpl implements IMemberBasicInfoService {
@Autowired
private MemberBasicInfoMapper memberBasicInfoMapper;
@Autowired
private MemberWalletInfoMapper memberWalletInfoMapper;
@Autowired
private MemberWalletLogMapper memberWalletLogMapper;
@Autowired
private IPileBasicInfoService pileBasicInfoService;
/**
* 查询会员基础信息
*
* @param id 会员基础信息主键
* @return 会员基础信息
*/
@Override
public MemberBasicInfo selectMemberBasicInfoById(Integer id) {
return memberBasicInfoMapper.selectMemberBasicInfoById(id);
}
/**
* 查询会员基础信息列表
*
* @param memberBasicInfo 会员基础信息
* @return 会员基础信息
*/
/*@Override
public List<MemberVO> selectMemberBasicInfoList(MemberBasicInfo memberBasicInfo) {
List<MemberVO> voList = memberBasicInfoMapper.selectMemberList(memberBasicInfo.getMobileNumber(), memberBasicInfo.getNickName());
for (MemberVO memberVO : voList) {
memberVO.setPrincipalBalance(memberVO.getPrincipalBalance() == null ? BigDecimal.ZERO : memberVO.getPrincipalBalance());
memberVO.setGiftBalance(memberVO.getGiftBalance() == null ? BigDecimal.ZERO : memberVO.getGiftBalance());
}
return voList;
}*/
/**
* 新增会员基础信息
*
* @param memberBasicInfo 会员基础信息
* @return 结果
*/
@Override
public int insertMemberBasicInfo(MemberBasicInfo memberBasicInfo) {
memberBasicInfo.setCreateTime(DateUtils.getNowDate());
return memberBasicInfoMapper.insertMemberBasicInfo(memberBasicInfo);
}
/**
* 修改会员基础信息
*
* @param memberBasicInfo 会员基础信息
* @return 结果
*/
@Override
public int updateMemberBasicInfo(MemberBasicInfo memberBasicInfo) {
memberBasicInfo.setUpdateTime(DateUtils.getNowDate());
return memberBasicInfoMapper.updateMemberBasicInfo(memberBasicInfo);
}
/**
* 批量删除会员基础信息
*
* @param ids 需要删除的会员基础信息主键
* @return 结果
*/
@Override
public int deleteMemberBasicInfoByIds(List<Integer> ids) {
return memberBasicInfoMapper.deleteMemberBasicInfoByIds(ids);
}
/**
* 通过物理卡号查询会员基本信息
*
* @param physicsCard 物理卡号
* @return 会员基本信息
*/
@Override
public MemberVO selectInfoByPhysicsCard(String physicsCard) {
return memberBasicInfoMapper.selectInfoByPhysicsCard(physicsCard);
}
/**
* 根据手机号和运营商id查询会员信息
* @param mobileNumber 手机号
* @param merchantId 运营商id
* @return 会员信息
*/
public MemberBasicInfo selectInfoByMobileNumberAndMerchantId(String mobileNumber, String merchantId) {
return memberBasicInfoMapper.selectInfoByMobileNumberAndMerchantId(mobileNumber, merchantId);
}
@Override
public MemberBasicInfo selectInfoByMobileNumber(String mobileNumber) {
return selectInfoByMobileNumberAndMerchantId(mobileNumber, null);
}
@Override
public MemberBasicInfo selectInfoByMemberId(String memberId) {
return memberBasicInfoMapper.selectInfoByMemberId(memberId);
}
/**
* 修改用户余额 唯一方法
* 接收的金额都是正数,通过操作类型判断 充值还是扣减
*/
@Override
public int updateMemberBalance(UpdateMemberBalanceDTO dto) {
String memberId = dto.getMemberId();
BigDecimal updateGiftBalance = dto.getUpdateGiftBalance();
BigDecimal updatePrincipalBalance = dto.getUpdatePrincipalBalance();
log.info("修改用户余额 memberId:{}, updatePrincipalBalance:{}, updateGiftBalance:{}", memberId, updatePrincipalBalance, updateGiftBalance);
// 查询用户余额
MemberWalletInfo info = memberWalletInfoMapper.selectByMemberId(memberId);
if (info == null) {
log.warn("根据会员id:{}, 查询会员信息为空", memberId);
return 0;
}
// 记录流水
List<MemberWalletLog> logList = Lists.newArrayList();
// 计算新的余额
BigDecimal newPrincipalBalance = null;
BigDecimal newGiftBalance = null;
// 更新本金金额
if (updatePrincipalBalance != null) {
if (StringUtils.equals(dto.getType(), "2")) {
// 扣款 转为负数
updatePrincipalBalance = updatePrincipalBalance.negate();
}
// 会员老的余额
BigDecimal oldPrincipalBalance = info.getPrincipalBalance() == null
? BigDecimal.ZERO
: info.getPrincipalBalance();
newPrincipalBalance = oldPrincipalBalance.add(updatePrincipalBalance);
if (newPrincipalBalance.compareTo(BigDecimal.ZERO) < 0) {
log.warn("新本金余额不能为负数");
return 0;
}
// 记流水
logList.add(MemberWalletLog.builder()
.memberId(dto.getMemberId())
.type(dto.getType())
.subType(dto.getSubType())
.amount(updatePrincipalBalance)
.category("1")
.relatedOrderCode(dto.getRelatedOrderCode())
.createBy(dto.getMemberId())
.build());
}
// 更新赠送金额
if (updateGiftBalance != null) {
if (StringUtils.equals(dto.getType(), "2")) {
// 扣款 转为负数
updateGiftBalance = updateGiftBalance.negate();
}
BigDecimal oldGiftBalance = info.getGiftBalance() == null
? BigDecimal.ZERO
: info.getGiftBalance();
newGiftBalance = oldGiftBalance.add(updateGiftBalance);
// 余额不能为负数
if (newGiftBalance.compareTo(BigDecimal.ZERO) < 0) {
log.warn("新赠送余额不能为负数");
return 0;
}
// 记流水
logList.add(MemberWalletLog.builder()
.memberId(dto.getMemberId())
.type(dto.getType())
.subType(dto.getSubType())
.amount(updateGiftBalance)
.category("2")
.relatedOrderCode(dto.getRelatedOrderCode())
.createBy(dto.getMemberId())
.build());
}
// 修改数据库
int i = 0;
if (newPrincipalBalance != null || newGiftBalance != null) {
i = memberBasicInfoMapper.updateMemberBalance(memberId, newPrincipalBalance, newGiftBalance, info.getVersion());
if (i == 0) {
log.warn("修改余额失败, memberId:{}", memberId);
}
}
// 插入 member_wallet_log 表
if (CollectionUtils.isNotEmpty(logList)) {
memberWalletLogMapper.batchInsert(logList);
}
return i;
}
@Override
public MemberVO queryMemberInfoByMemberId(String memberId) {
// 加缓存
MemberVO vo = memberBasicInfoMapper.queryMemberInfoByMemberId(memberId);
return vo;
}
@Override
public List<MemberVO> selectMemberList(String mobileNumber, String nickName) {
return memberBasicInfoMapper.selectMemberList(mobileNumber, nickName);
}
/**
* 查询用户账户余额变动信息
* @param memberId 会员id
* @param type 1-进账2-出账 不传查全部
*/
@Override
public List<MemberWalletLogVO> getMemberBalanceChanges(String memberId, String type) {
return memberWalletLogMapper.getMemberBalanceChanges(memberId, type);
}
/**
* 通过memberId查询会员的个人桩信息
* @param memberId
* @return
*/
@Override
public List<PersonalPileInfoVO> getMemberPersonPileInfo(String memberId) {
return pileBasicInfoService.getPileInfoByMemberId(memberId);
}
}

View File

@@ -0,0 +1,41 @@
package com.jsowell.pile.service.impl;
import com.google.common.collect.Lists;
import com.jsowell.common.util.bean.BeanUtils;
import com.jsowell.pile.domain.MemberTransactionRecord;
import com.jsowell.pile.mapper.MemberTransactionRecordMapper;
import com.jsowell.pile.service.IMemberTransactionRecordService;
import com.jsowell.pile.vo.web.MemberTransactionVO;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service
public class MemberTransactionRecordServiceImpl implements IMemberTransactionRecordService {
@Resource
private MemberTransactionRecordMapper memberTransactionRecordMapper;
@Override
public int insertSelective(MemberTransactionRecord record) {
return memberTransactionRecordMapper.insertSelective(record);
}
@Override
public List<MemberTransactionVO> selectMemberTransactionRecordList(String memberId) {
List<MemberTransactionRecord> list = memberTransactionRecordMapper.selectByMemberId(memberId);
if (CollectionUtils.isEmpty(list)) {
return Lists.newArrayList();
}
List<MemberTransactionVO> resultList = Lists.newArrayList();
for (MemberTransactionRecord memberTransactionRecord : list) {
MemberTransactionVO vo = new MemberTransactionVO();
BeanUtils.copyBeanProp(vo, memberTransactionRecord);
resultList.add(vo);
}
return resultList;
}
}

View File

@@ -0,0 +1,46 @@
package com.jsowell.pile.service.impl;
import com.jsowell.pile.domain.MemberWalletInfo;
import com.jsowell.pile.mapper.MemberWalletInfoMapper;
import com.jsowell.pile.service.IMemberWalletInfoService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
public class MemberWalletInfoServiceImpl implements IMemberWalletInfoService {
@Resource
private MemberWalletInfoMapper memberWalletInfoMapper;
@Override
public int deleteByPrimaryKey(Integer id) {
return memberWalletInfoMapper.deleteByPrimaryKey(id);
}
@Override
public int insert(MemberWalletInfo record) {
return memberWalletInfoMapper.insert(record);
}
@Override
public int insertSelective(MemberWalletInfo record) {
return memberWalletInfoMapper.insertSelective(record);
}
@Override
public MemberWalletInfo selectByPrimaryKey(Integer id) {
return memberWalletInfoMapper.selectByPrimaryKey(id);
}
@Override
public int updateByPrimaryKeySelective(MemberWalletInfo record) {
return memberWalletInfoMapper.updateByPrimaryKeySelective(record);
}
@Override
public int updateByPrimaryKey(MemberWalletInfo record) {
return memberWalletInfoMapper.updateByPrimaryKey(record);
}
}

View File

@@ -0,0 +1,46 @@
package com.jsowell.pile.service.impl;
import com.jsowell.pile.domain.MemberWalletLog;
import com.jsowell.pile.mapper.MemberWalletLogMapper;
import com.jsowell.pile.service.IMemberWalletLogService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
public class MemberWalletLogServiceImpl implements IMemberWalletLogService {
@Resource
private MemberWalletLogMapper memberWalletLogMapper;
// @Override
// public int deleteByPrimaryKey(Integer id) {
// return memberWalletLogMapper.deleteByPrimaryKey(id);
// }
//
// @Override
// public int insert(MemberWalletLog record) {
// return memberWalletLogMapper.insert(record);
// }
//
// @Override
// public int insertSelective(MemberWalletLog record) {
// return memberWalletLogMapper.insertSelective(record);
// }
//
// @Override
// public MemberWalletLog selectByPrimaryKey(Integer id) {
// return memberWalletLogMapper.selectByPrimaryKey(id);
// }
//
// @Override
// public int updateByPrimaryKeySelective(MemberWalletLog record) {
// return memberWalletLogMapper.updateByPrimaryKeySelective(record);
// }
//
// @Override
// public int updateByPrimaryKey(MemberWalletLog record) {
// return memberWalletLogMapper.updateByPrimaryKey(record);
// }
}

Some files were not shown because too many files have changed in this diff Show More