流水表定义
diff --git a/src/main/java/com/supwisdom/dlpay/bus/dao/OfflineBusdtlDao.java b/src/main/java/com/supwisdom/dlpay/bus/dao/OfflineBusdtlDao.java
new file mode 100644
index 0000000..e5d0afc
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/bus/dao/OfflineBusdtlDao.java
@@ -0,0 +1,9 @@
+package com.supwisdom.dlpay.bus.dao;
+
+import com.supwisdom.dlpay.bus.domain.TOfflineBusdtl;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface OfflineBusdtlDao extends JpaRepository<TOfflineBusdtl, String> {
+}
diff --git a/src/main/java/com/supwisdom/dlpay/bus/dao/OnlineBusdtlDao.java b/src/main/java/com/supwisdom/dlpay/bus/dao/OnlineBusdtlDao.java
new file mode 100644
index 0000000..1f38b4d
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/bus/dao/OnlineBusdtlDao.java
@@ -0,0 +1,9 @@
+package com.supwisdom.dlpay.bus.dao;
+
+import com.supwisdom.dlpay.bus.domain.TOnlineBusdtl;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface OnlineBusdtlDao extends JpaRepository<TOnlineBusdtl, String> {
+}
diff --git a/src/main/java/com/supwisdom/dlpay/bus/domain/TOfflineBusdtl.java b/src/main/java/com/supwisdom/dlpay/bus/domain/TOfflineBusdtl.java
new file mode 100644
index 0000000..f068de4
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/bus/domain/TOfflineBusdtl.java
@@ -0,0 +1,277 @@
+package com.supwisdom.dlpay.bus.domain;
+
+import org.hibernate.annotations.GenericGenerator;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "TB_OFFLINE_BUSDTL",
+ indexes = {@Index(name = "uk_offline_busdtl", unique = true, columnList = "devphyid,termseqno,transdate")})
+public class TOfflineBusdtl {
+ @Id
+ @GenericGenerator(name = "idGenerator", strategy = "uuid")
+ @GeneratedValue(generator = "idGenerator")
+ @Column(name = "id", nullable = false, length = 32)
+ private String id;
+
+ @Column(name = "devphyid", length = 32)
+ private String devphyid;
+
+ @Column(name = "termid", precision = 9)
+ private Integer termid;
+
+ @Column(name = "termseqno", precision = 9)
+ private Integer termseqno;
+
+ @Column(name = "dtltype", nullable = false, length = 10)
+ private String dtltype; //card-刷卡流水;qrcode-刷二维码流水
+
+ @Column(name = "termseqno", length = 20)
+ private String cardno;
+
+ @Column(name = "cardphyid", length = 20)
+ private String cardphyid;
+
+ @Column(name = "qrcode", length = 600)
+ private String qrcode;
+
+ @Column(name = "transdate", length = 8)
+ private String transdate;
+
+ @Column(name = "transtime", length = 6)
+ private String transtime;
+
+ @Column(name = "amount", nullable = false, precision = 9, scale = 2)
+ private Double amount;
+
+ @Column(name = "managefeetype", length = 20)
+ private String managefeetype = "none"; //none-无;mealer-搭伙费;discount-折扣
+
+ @Column(name = "managefee", precision = 9, scale = 2)
+ private Double managefee = 0D;
+
+ @Column(name = "dtlstat", length = 20)
+ private String dtlstat; //设备流水的的状态,上传时的status
+
+ @Column(name = "payerid", length = 32)
+ private String payerid; //cardno对应TCitizenCard的payerid
+
+ @Column(name = "payername", length = 200)
+ private String payername; //cardno对应TCitizenCard的username
+
+ @Column(name = "status", nullable = false, length = 10)
+ private String status; //init-采集上来待处理;success-入账成功;fail-入账失败;hangup-挂起
+
+ @Column(name = "errcode", length = 20)
+ private String errcode;
+
+ @Column(name = "errmsg", length = 600)
+ private String errmsg;
+
+ @Column(name = "remark", length = 600)
+ private String remark;
+
+ @Column(name = "accdate", length = 8)
+ private String accdate;
+
+ @Column(name = "billno", length = 20)
+ private String billno;
+
+ @Column(name = "merchaccno", length = 20)
+ private String merchaccno;
+
+ @Column(name = "collecttime", length = 14)
+ private String collecttime; //采集时间,yyyyMMddHHmmss
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getDevphyid() {
+ return devphyid;
+ }
+
+ public void setDevphyid(String devphyid) {
+ this.devphyid = devphyid;
+ }
+
+ public Integer getTermid() {
+ return termid;
+ }
+
+ public void setTermid(Integer termid) {
+ this.termid = termid;
+ }
+
+ public Integer getTermseqno() {
+ return termseqno;
+ }
+
+ public void setTermseqno(Integer termseqno) {
+ this.termseqno = termseqno;
+ }
+
+ public String getDtltype() {
+ return dtltype;
+ }
+
+ public void setDtltype(String dtltype) {
+ this.dtltype = dtltype;
+ }
+
+ public String getCardno() {
+ return cardno;
+ }
+
+ public void setCardno(String cardno) {
+ this.cardno = cardno;
+ }
+
+ public String getCardphyid() {
+ return cardphyid;
+ }
+
+ public void setCardphyid(String cardphyid) {
+ this.cardphyid = cardphyid;
+ }
+
+ public String getQrcode() {
+ return qrcode;
+ }
+
+ public void setQrcode(String qrcode) {
+ this.qrcode = qrcode;
+ }
+
+ public String getTransdate() {
+ return transdate;
+ }
+
+ public void setTransdate(String transdate) {
+ this.transdate = transdate;
+ }
+
+ public String getTranstime() {
+ return transtime;
+ }
+
+ public void setTranstime(String transtime) {
+ this.transtime = transtime;
+ }
+
+ public Double getAmount() {
+ return amount;
+ }
+
+ public void setAmount(Double amount) {
+ this.amount = amount;
+ }
+
+ public String getManagefeetype() {
+ return managefeetype;
+ }
+
+ public void setManagefeetype(String managefeetype) {
+ this.managefeetype = managefeetype;
+ }
+
+ public Double getManagefee() {
+ return managefee;
+ }
+
+ public void setManagefee(Double managefee) {
+ this.managefee = managefee;
+ }
+
+ public String getDtlstat() {
+ return dtlstat;
+ }
+
+ public void setDtlstat(String dtlstat) {
+ this.dtlstat = dtlstat;
+ }
+
+ public String getPayerid() {
+ return payerid;
+ }
+
+ public void setPayerid(String payerid) {
+ this.payerid = payerid;
+ }
+
+ public String getPayername() {
+ return payername;
+ }
+
+ public void setPayername(String payername) {
+ this.payername = payername;
+ }
+
+ public String getStatus() {
+ return status;
+ }
+
+ public void setStatus(String status) {
+ this.status = status;
+ }
+
+ public String getErrcode() {
+ return errcode;
+ }
+
+ public void setErrcode(String errcode) {
+ this.errcode = errcode;
+ }
+
+ public String getErrmsg() {
+ return errmsg;
+ }
+
+ public void setErrmsg(String errmsg) {
+ this.errmsg = errmsg;
+ }
+
+ public String getRemark() {
+ return remark;
+ }
+
+ public void setRemark(String remark) {
+ this.remark = remark;
+ }
+
+ public String getAccdate() {
+ return accdate;
+ }
+
+ public void setAccdate(String accdate) {
+ this.accdate = accdate;
+ }
+
+ public String getBillno() {
+ return billno;
+ }
+
+ public void setBillno(String billno) {
+ this.billno = billno;
+ }
+
+ public String getMerchaccno() {
+ return merchaccno;
+ }
+
+ public void setMerchaccno(String merchaccno) {
+ this.merchaccno = merchaccno;
+ }
+
+ public String getCollecttime() {
+ return collecttime;
+ }
+
+ public void setCollecttime(String collecttime) {
+ this.collecttime = collecttime;
+ }
+}
diff --git a/src/main/java/com/supwisdom/dlpay/bus/domain/TOnlineBusdtl.java b/src/main/java/com/supwisdom/dlpay/bus/domain/TOnlineBusdtl.java
new file mode 100644
index 0000000..9651597
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/bus/domain/TOnlineBusdtl.java
@@ -0,0 +1,274 @@
+package com.supwisdom.dlpay.bus.domain;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "TB_ONLINE_BUSDTL",
+ indexes = {@Index(name = "idx_online_busdtl_accdate", columnList = "accdate"),
+ @Index(name = "idx_online_busdtl_termid", columnList = "termid")})
+public class TOnlineBusdtl {
+ @Id
+ @Column(name = "billno", unique = true, nullable = false, length = 20)
+ private String billno;
+
+ @Column(name = "accdate", length = 8)
+ private String accdate;
+
+ @Column(name = "acctime", length = 6)
+ private String acctime;
+
+ @Column(name = "termid", precision = 9)
+ private Integer termid;
+
+ @Column(name = "termseqno", precision = 9)
+ private Integer termseqno;
+
+ @Column(name = "transdate", length = 8)
+ private String transdate;
+
+ @Column(name = "transtime", length = 6)
+ private String transtime;
+
+ @Column(name = "cardno", length = 20)
+ private String cardno;
+
+ @Column(name = "amount", nullable = false, precision = 9, scale = 2)
+ private Double amount;
+
+ @Column(name = "managefeetype", length = 20)
+ private String managefeetype = "none";
+
+ @Column(name = "managefee", precision = 9, scale = 2)
+ private Double managefee = 0D;
+
+ @Column(name = "status", nullable = false, length = 20)
+ private String status; //init|success|fail
+
+ @Column(name = "transtype", nullable = false, length = 20)
+ private String transtype = "none"; //none-消费流水;cancel-撤销流水;refund-退款流水
+
+ @Column(name = "revflag", nullable = false, precision = 1)
+ private Integer revflag = 0;
+
+ @Column(name = "remark", length = 600)
+ private String remark;
+
+ @Column(name = "merchaccno", length = 20)
+ private String merchaccno;
+
+ @Column(name = "transmode", nullable = false, length = 20)
+ private String transmode; //card / qrcode
+
+ @Column(name = "payerid", length = 32)
+ private String payerid;
+
+ @Column(name = "payername", length = 200)
+ private String payername;
+
+ @Column(name = "collectid", length = 32)
+ private String collectid; //采集表的id
+
+ @Column(name = "refno", length = 32)
+ private String refno;
+
+ @Column(name = "core_accdate", length = 8)
+ private String coreAccdate;
+
+ @Column(name = "core_status", length = 10)
+ private String coreStatus;
+
+ @Column(name = "core_sourcetype", length = 20)
+ private String coreSourcetype; //核心平台支付方式
+
+ public String getBillno() {
+ return billno;
+ }
+
+ public void setBillno(String billno) {
+ this.billno = billno;
+ }
+
+ public String getAccdate() {
+ return accdate;
+ }
+
+ public void setAccdate(String accdate) {
+ this.accdate = accdate;
+ }
+
+ public String getAcctime() {
+ return acctime;
+ }
+
+ public void setAcctime(String acctime) {
+ this.acctime = acctime;
+ }
+
+ public Integer getTermid() {
+ return termid;
+ }
+
+ public void setTermid(Integer termid) {
+ this.termid = termid;
+ }
+
+ public Integer getTermseqno() {
+ return termseqno;
+ }
+
+ public void setTermseqno(Integer termseqno) {
+ this.termseqno = termseqno;
+ }
+
+ public String getTransdate() {
+ return transdate;
+ }
+
+ public void setTransdate(String transdate) {
+ this.transdate = transdate;
+ }
+
+ public String getTranstime() {
+ return transtime;
+ }
+
+ public void setTranstime(String transtime) {
+ this.transtime = transtime;
+ }
+
+ public String getCardno() {
+ return cardno;
+ }
+
+ public void setCardno(String cardno) {
+ this.cardno = cardno;
+ }
+
+ public Double getAmount() {
+ return amount;
+ }
+
+ public void setAmount(Double amount) {
+ this.amount = amount;
+ }
+
+ public String getManagefeetype() {
+ return managefeetype;
+ }
+
+ public void setManagefeetype(String managefeetype) {
+ this.managefeetype = managefeetype;
+ }
+
+ public Double getManagefee() {
+ return managefee;
+ }
+
+ public void setManagefee(Double managefee) {
+ this.managefee = managefee;
+ }
+
+ public String getStatus() {
+ return status;
+ }
+
+ public void setStatus(String status) {
+ this.status = status;
+ }
+
+ public String getTranstype() {
+ return transtype;
+ }
+
+ public void setTranstype(String transtype) {
+ this.transtype = transtype;
+ }
+
+ public Integer getRevflag() {
+ return revflag;
+ }
+
+ public void setRevflag(Integer revflag) {
+ this.revflag = revflag;
+ }
+
+ public String getRemark() {
+ return remark;
+ }
+
+ public void setRemark(String remark) {
+ this.remark = remark;
+ }
+
+ public String getMerchaccno() {
+ return merchaccno;
+ }
+
+ public void setMerchaccno(String merchaccno) {
+ this.merchaccno = merchaccno;
+ }
+
+ public String getTransmode() {
+ return transmode;
+ }
+
+ public void setTransmode(String transmode) {
+ this.transmode = transmode;
+ }
+
+ public String getPayerid() {
+ return payerid;
+ }
+
+ public void setPayerid(String payerid) {
+ this.payerid = payerid;
+ }
+
+ public String getPayername() {
+ return payername;
+ }
+
+ public void setPayername(String payername) {
+ this.payername = payername;
+ }
+
+ public String getCollectid() {
+ return collectid;
+ }
+
+ public void setCollectid(String collectid) {
+ this.collectid = collectid;
+ }
+
+ public String getRefno() {
+ return refno;
+ }
+
+ public void setRefno(String refno) {
+ this.refno = refno;
+ }
+
+ public String getCoreAccdate() {
+ return coreAccdate;
+ }
+
+ public void setCoreAccdate(String coreAccdate) {
+ this.coreAccdate = coreAccdate;
+ }
+
+ public String getCoreStatus() {
+ return coreStatus;
+ }
+
+ public void setCoreStatus(String coreStatus) {
+ this.coreStatus = coreStatus;
+ }
+
+ public String getCoreSourcetype() {
+ return coreSourcetype;
+ }
+
+ public void setCoreSourcetype(String coreSourcetype) {
+ this.coreSourcetype = coreSourcetype;
+ }
+}
diff --git a/src/main/java/com/supwisdom/dlpay/bus/service/impl/CitizenCardServiceImpl.java b/src/main/java/com/supwisdom/dlpay/bus/service/impl/CitizenCardServiceImpl.java
index dc8d0b8..e18065d 100644
--- a/src/main/java/com/supwisdom/dlpay/bus/service/impl/CitizenCardServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/bus/service/impl/CitizenCardServiceImpl.java
@@ -90,14 +90,14 @@
if (BusConstant.STATUS_CARDVER_CLOSED.equals(card.getStatus()) || BusConstant.STATUS_CARDVER_CLOSED.equals(card.getTransStatus())) {
//注销
cardver.setCardvertype(BusConstant.CARDVERTYPE_CLOSED); //注销
- cardver.setAdddelflag(BusConstant.ADDDELFLAG_DOWNLOAD); //下发黑名单
+ cardver.setAdddelflag(BusConstant.ADDDELFLAG_ADD); //下发黑名单
blackverno = card.getCardverno();
} else if (BusConstant.STATUS_CARDVER_NORMAL.equals(card.getStatus()) && BusConstant.STATUS_CARDVER_NORMAL.equals(card.getTransStatus())) {
cardver.setCardvertype(BusConstant.CARDVERTYPE_REGISTER); //注册
cardver.setAdddelflag(BusConstant.ADDDELFLAG_NONE); //不下发黑名单
} else {
cardver.setCardvertype(BusConstant.CARDVERTYPE_FREEZE); //卡状态异常
- cardver.setAdddelflag(BusConstant.ADDDELFLAG_DOWNLOAD); //下发黑名单
+ cardver.setAdddelflag(BusConstant.ADDDELFLAG_ADD); //下发黑名单
blackverno = card.getCardverno();
}
cardver.setStatus(BusConstant.STATUS_CARDVER_NORMAL);
@@ -165,13 +165,13 @@
if (BusConstant.STATUS_CARDVER_CLOSED.equals(card.getStatus()) || BusConstant.STATUS_CARDVER_CLOSED.equals(card.getTransStatus())) {
//注销
cardver.setCardvertype(BusConstant.CARDVERTYPE_CLOSED); //注销
- cardver.setAdddelflag(BusConstant.ADDDELFLAG_DOWNLOAD); //下发黑名单
+ cardver.setAdddelflag(BusConstant.ADDDELFLAG_ADD); //下发黑名单
} else if (BusConstant.STATUS_CARDVER_NORMAL.equals(card.getStatus()) && BusConstant.STATUS_CARDVER_NORMAL.equals(card.getTransStatus())) {
cardver.setCardvertype(BusConstant.CARDVERTYPE_REGISTER); //注册
cardver.setAdddelflag(BusConstant.ADDDELFLAG_NONE); //不下发黑名单
} else {
cardver.setCardvertype(BusConstant.CARDVERTYPE_FREEZE); //卡状态异常
- cardver.setAdddelflag(BusConstant.ADDDELFLAG_DOWNLOAD); //下发黑名单
+ cardver.setAdddelflag(BusConstant.ADDDELFLAG_ADD); //下发黑名单
}
cardver.setStatus(BusConstant.STATUS_CARDVER_NORMAL);
cardver.setLastsaved(systemUtilService.getSysdatetime().getHostdatetime());
@@ -230,7 +230,7 @@
cardver = new TCitizenCardver();
cardver.setCardverno(cardverno);
cardver.setCardvertype(BusConstant.CARDVERTYPE_CLOSED); //注销
- cardver.setAdddelflag(BusConstant.ADDDELFLAG_DOWNLOAD); //下发黑名单
+ cardver.setAdddelflag(BusConstant.ADDDELFLAG_ADD); //下发黑名单
citizenCardverDao.doClosedHistoryRecords(BusConstant.CARDVERTYPE_REGISTER, card.getCardno(), cardverno); //注册记录置为无效
}
} else if (BusConstant.STATUS_CARDVER_NORMAL.equals(card.getStatus()) && BusConstant.STATUS_CARDVER_NORMAL.equals(card.getTransStatus())) {
@@ -241,7 +241,7 @@
cardver = new TCitizenCardver();
cardver.setCardverno(cardverno);
cardver.setCardvertype(BusConstant.CARDVERTYPE_UNFREEZE); //变为正常
- cardver.setAdddelflag(BusConstant.ADDDELFLAG_DOWNLOAD); //下发黑名单
+ cardver.setAdddelflag(BusConstant.ADDDELFLAG_DELETE); //下发黑名单
citizenCardverDao.doClosedHistoryRecords(BusConstant.CARDVERTYPE_FREEZE, card.getCardno(), cardverno); //冻结记录置为无效
citizenCardverDao.doClosedHistoryRecords(BusConstant.CARDVERTYPE_CLOSED, card.getCardno(), cardverno); //注销记录置为无效
}
@@ -253,7 +253,7 @@
cardver = new TCitizenCardver();
cardver.setCardverno(cardverno);
cardver.setCardvertype(BusConstant.CARDVERTYPE_FREEZE); //变为异常
- cardver.setAdddelflag(BusConstant.ADDDELFLAG_DOWNLOAD); //下发黑名单
+ cardver.setAdddelflag(BusConstant.ADDDELFLAG_ADD); //下发黑名单
citizenCardverDao.doClosedHistoryRecords(BusConstant.CARDVERTYPE_UNFREEZE, card.getCardno(), cardverno); //解冻记录置为无效
}
}
diff --git a/src/main/java/com/supwisdom/dlpay/bus/util/BusConstant.java b/src/main/java/com/supwisdom/dlpay/bus/util/BusConstant.java
index 8bd7bea..504ad12 100644
--- a/src/main/java/com/supwisdom/dlpay/bus/util/BusConstant.java
+++ b/src/main/java/com/supwisdom/dlpay/bus/util/BusConstant.java
@@ -24,7 +24,8 @@
public final static String CARDVERTYPE_FREEZE = "frozen"; //状态挂失、冻结、未启用等都会冻结卡,下载黑名单
public final static String CARDVERTYPE_UNFREEZE = "unfrozen"; //卡状态正常时解冻
- public final static int ADDDELFLAG_DOWNLOAD = 1; //需要下发
+ public final static int ADDDELFLAG_DELETE = 2; //下发删除
+ public final static int ADDDELFLAG_ADD = 1; //下发新增
public final static int ADDDELFLAG_NONE = 0; //不需要下发
public final static int SYSPARAID_MAXCARDVERNO = 10; //全局参数,最大版本号