离线交易逻辑修改
diff --git a/config/application-devel-pg.properties b/config/application-devel-pg.properties
index 2225061..65c3151 100644
--- a/config/application-devel-pg.properties
+++ b/config/application-devel-pg.properties
@@ -29,5 +29,5 @@
payapi.appid=200001
-cron.offlinedtl=0 0/5 * * * ?
-payapi.logintime=0 0/20 * * * ?
\ No newline at end of file
+cron.offlinedtl= 0 0/5 * * * ?
+payapi.logintime= 0 0/20 * * * ?
\ No newline at end of file
diff --git a/src/main/java/com/supwisdom/dlpay/api/bean/PosPayHeartBeatResp.java b/src/main/java/com/supwisdom/dlpay/api/bean/PosPayHeartBeatResp.java
index a677346..9b140d1 100644
--- a/src/main/java/com/supwisdom/dlpay/api/bean/PosPayHeartBeatResp.java
+++ b/src/main/java/com/supwisdom/dlpay/api/bean/PosPayHeartBeatResp.java
@@ -3,9 +3,18 @@
public class PosPayHeartBeatResp extends APIResp {
private Integer paragroupid;
private Integer paraverno;
+ private Integer whitelistid;
private String cardverno;
private String systime;
+ public Integer getWhitelistid() {
+ return whitelistid;
+ }
+
+ public void setWhitelistid(Integer whitelistid) {
+ this.whitelistid = whitelistid;
+ }
+
public Integer getParagroupid() {
return paragroupid;
}
diff --git a/src/main/java/com/supwisdom/dlpay/api/bean/PosPayLoginResp.java b/src/main/java/com/supwisdom/dlpay/api/bean/PosPayLoginResp.java
index 0c28aa5..cc5d2db 100644
--- a/src/main/java/com/supwisdom/dlpay/api/bean/PosPayLoginResp.java
+++ b/src/main/java/com/supwisdom/dlpay/api/bean/PosPayLoginResp.java
@@ -4,12 +4,21 @@
public class PosPayLoginResp extends APIResp {
private Integer paragroupid;
private Integer paraverno;
+ private Integer whitelistid;
private Integer onlineseqno;
private Integer offlineseqno;
private String cardverno;
private String systime;
private String shopname;
+ public Integer getWhitelistid() {
+ return whitelistid;
+ }
+
+ public void setWhitelistid(Integer whitelistid) {
+ this.whitelistid = whitelistid;
+ }
+
public String getShopname() {
return shopname;
}
diff --git a/src/main/java/com/supwisdom/dlpay/api/service/impl/PosPayServiceImpl.java b/src/main/java/com/supwisdom/dlpay/api/service/impl/PosPayServiceImpl.java
index 6abecf8..9e73c0e 100644
--- a/src/main/java/com/supwisdom/dlpay/api/service/impl/PosPayServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/api/service/impl/PosPayServiceImpl.java
@@ -26,6 +26,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@@ -66,20 +67,19 @@
private ConsumePropxy consumePropxy;
-
@Override
public PosPayLoginResp doLogin(PosPayLoginReq req) {
PosPayLoginResp resp = new PosPayLoginResp();
String sysdt = DateUtil.getNow();
TDevice tDevice = deviceService.getDeviceByDevphyid(req.getDevphyid());
- if (tDevice == null) {
- resp.setRetcode(ErrorCode.ERRIF_POS_NOREG);
- resp.setRetmsg("设备未注册");
+ APIResp apiResp = checkDevice(resp, tDevice);
+ if (!ErrorCode.ERRIF_OK.equals(apiResp.getRetcode())) {
+ resp.setRetcode(apiResp.getRetcode());
+ resp.setRetmsg(apiResp.getRetmsg());
return resp;
}
-
- List<TShopSettlement> shoplist=shopSettlementService.getShopByShopid(tDevice.getShopid());
+ List<TShopSettlement> shoplist = shopSettlementService.getShopByShopid(tDevice.getShopid());
if (shoplist.size() < 1) {
resp.setRetcode(ErrorCode.ERRIF_POS_NOSHOP);
resp.setRetmsg("设备未绑定商户");
@@ -91,19 +91,19 @@
/* if (groupid == 0) {
groupid = 1;
}*/
- TDevparaGroup group=null;
+ TDevparaGroup group = null;
TDevparaBind bind = deviceParamService.getDevparaBindByDeviceid(tDevice.getId());
if (null == bind) {
- group=deviceParamService.getDefaultDevparaGroup();
- }else{
- group=deviceParamService.getDevparaGroupByGroupid(groupid);
+ group = deviceParamService.getDefaultDevparaGroup();
+ } else {
+ group = deviceParamService.getDevparaGroupByGroupid(bind.getGroupid());
}
tDevice.setRunstatus(1);
tDevice.setLastlogintime(sysdt);
deviceService.saveDevice(tDevice);
- if(group.getGlobalflag()==false){
+ if (group.getGlobalflag() == false) {
if (null == bind) {
bind = new TDevparaBind();
bind.setDeviceid(tDevice.getId());
@@ -112,6 +112,10 @@
bind.setLastsaved(sysdt);
devparaBindDao.save(bind);
}
+ TWhitelistDevbind whitelistbind = whitelistService.getWhitelistDevbindByDeviceId(tDevice.getId());
+ if (null != whitelistbind) {
+ resp.setWhitelistid(whitelistbind.getWhitelistid());
+ }
Integer onlineseqno = transDtlService.getMaxSeqnoToday(tDevice.getId(), req.getTermdate());
resp.setCardverno(req.getCardverno());
resp.setOnlineseqno(onlineseqno + 1);
@@ -130,57 +134,76 @@
PosPayInitResp resp = new PosPayInitResp();
TDevice tDevice = deviceService.getDeviceByDevphyid(req.getDevphyid());
- if (tDevice == null) {
- resp.setRetcode(ErrorCode.ERRIF_POS_NOREG);
- resp.setRetmsg("设备不存在");
+ APIResp apiResp = checkDevice(resp, tDevice);
+ if (!ErrorCode.ERRIF_OK.equals(apiResp.getRetcode())) {
+ resp.setRetcode(apiResp.getRetcode());
+ resp.setRetmsg(apiResp.getRetmsg());
return resp;
}
- TCard tCard = cardService.getCardByCardnoAndCardphyid(req.getCardno(), req.getCardphyid());
+ String cardno;
+ String cardphyid;
+
+ if (RestaurantConstant.TRANSMODE_CODE.equals(req.getTranstype())) {
+ DoorQRCodeParam qrparam = new DoorQRCodeParam();
+ qrparam.setQrcode(req.getQrcode());
+ DoorQrcodeResponse qrcoderesp = consumePropxy.qrcodequery(qrparam);
+ if (qrcoderesp.getRetcode() == 0) {
+ cardno = qrcoderesp.getCitycardno();
+ cardphyid = qrcoderesp.getCardphyid();
+ } else {
+ resp.setRetcode(qrcoderesp.getRetcode().toString());
+ resp.setRetmsg(qrcoderesp.getRetmsg());
+ return resp;
+ }
+ } else {
+ cardno = req.getCardno();
+ cardphyid = req.getCardphyid();
+ }
+
+ TCard tCard = cardService.getCardByCardnoAndCardphyid(cardno, cardphyid);
if (null == tCard) {
resp.setRetcode(ErrorCode.ERRIF_CARD_NOTEXIST);
resp.setRetmsg("卡号[" + req.getCardno() + "]不存在");
return resp;
}
- if (!RestaurantConstant.STATUS_CARD_NORMAL.equals(tCard.getStatus())){
+ if (!RestaurantConstant.STATUS_CARD_NORMAL.equals(tCard.getStatus())) {
resp.setRetcode(ErrorCode.ERRIF_CARD_DISABLED);
resp.setRetmsg("卡号[" + req.getCardno() + "]已注销");
return resp;
}
- if(!RestaurantConstant.STATUS_CARD_NORMAL.equals(tCard.getTransstatus())){
+ if (!RestaurantConstant.STATUS_CARD_NORMAL.equals(tCard.getTransstatus())) {
resp.setRetmsg("卡号[" + req.getCardno() + "]状态异常;");
resp.setRetcode(ErrorCode.ERRIF_CARD_DISABLED);
return resp;
}
- TCustomer customer=customerService.getCustomerByCustid(tCard.getCustid());
- if(null==customer){
+ TCustomer customer = customerService.getCustomerByCustid(tCard.getCustid());
+ if (null == customer) {
resp.setRetcode(ErrorCode.ERRIF_POSDTL_NOTEXIST);
resp.setRetmsg("卡对应客户不存在");
return resp;
}
- Double managefee=0.0;
+ Double managefee = 0.0;
- TTransDtl odtl=transDtlService.getPosTransdtl(tDevice.getId(),req.getTermseqno(),req.getTermdate());
+ TTransDtl odtl = transDtlService.getPosTransdtl(tDevice.getId(), req.getTermseqno(), req.getTermdate());
- if(null!=odtl){
+ if (null != odtl) {
resp.setRetcode(ErrorCode.ERRIF_POS_SEQNO_REPEAT);
resp.setRetmsg("该pos当日流水重复");
return resp;
}
-
TTransDtl tTransdtl = new TTransDtl();
- tTransdtl.setAccdate(systemUtilService.getAccdate());
+
+
tTransdtl.setTermid(tDevice.getId());
tTransdtl.setBillno(systemUtilService.getRefno());
tTransdtl.setShopid(tDevice.getShopid());
- tTransdtl.setAcctime(systemUtilService.getSysdatetime().getHosttime());
tTransdtl.setAmount(0d);
tTransdtl.setCusttype(customer.getCusttype());
tTransdtl.setTransdate(req.getTermdate());
-
tTransdtl.setManagefee(managefee);
tTransdtl.setTranstime(req.getTermtime());
- tTransdtl.setCardno(req.getCardno());
+ tTransdtl.setCardno(tCard.getCardno());
tTransdtl.setTransmode(req.getTranstype());
tTransdtl.setTranstype(RestaurantConstant.TRANSTYPE_TRANSDTL_ONLINE);
@@ -229,16 +252,17 @@
return resp;
}
- private Double getDiscountAmount(String termdate, String custid, Double amount, DiscountBean bean) {
- Integer limit=transDtlService.getDiscountLimitToday(termdate,custid,bean.getRuleid());
- if(bean.getLimitcnt()>=limit){
+ private Double getDiscountAmount(String termdate, String custid, Double amount, DiscountBean bean) {
+ Integer limit = transDtlService.getDiscountLimitToday(termdate, custid, bean.getRuleid());
+ if (bean.getLimitcnt() > limit) {
- if(RestaurantConstant.RULETYPE_REDUCTION.equals(bean.getRuletype())){
- amount=amount-Double.parseDouble(bean.getAmount());
- }else if (RestaurantConstant.RULETYPE_DISCOUNT.equals(bean.getRuletype())){
- amount=amount*(Double.parseDouble(bean.getAmount())/10);
- }else if (RestaurantConstant.RULETYPE_QUOTA.equals(bean.getRuletype())){
- amount=Double.parseDouble(bean.getAmount());
+ if (RestaurantConstant.RULETYPE_REDUCTION.equals(bean.getRuletype())) {
+ amount = amount - bean.getAmount();
+ } else if (RestaurantConstant.RULETYPE_DISCOUNT.equals(bean.getRuletype())) {
+ amount = amount * (bean.getAmount() / 10);
+ } else if (RestaurantConstant.RULETYPE_QUOTA.equals(bean.getRuletype())) {
+ BigDecimal amt = BigDecimal.valueOf(bean.getAmount());
+ amount = amt.doubleValue();
}
}
return amount;
@@ -256,9 +280,10 @@
}
TDevice tDevice = deviceService.getDeviceByDevphyid(req.getDevphyid());
- if (tDevice == null) {
- resp.setRetcode(ErrorCode.ERRIF_POS_NOREG);
- resp.setRetmsg("设备不存在");
+ APIResp apiResp = checkDevice(resp, tDevice);
+ if (!ErrorCode.ERRIF_OK.equals(apiResp.getRetcode())) {
+ resp.setRetcode(apiResp.getRetcode());
+ resp.setRetmsg(apiResp.getRetmsg());
return resp;
}
@@ -268,20 +293,21 @@
resp.setRetmsg("客户" + tTransdtl.getCustid() + "不存在");
return resp;
}
- Double amount=req.getAmount() / 100.0;
+ Double amount = req.getAmount() / 100.0;
- DiscountBean bean=deviceDiscountRuleService.getCustomerDiscount(tDevice.getId(),req.getTermtime(), cus.getCustid());
- if(null!=bean){
+ DiscountBean bean = deviceDiscountRuleService.getCustomerDiscount(tDevice.getId(), req.getTermtime(), cus.getCustid());
+ if (null != bean) {
tTransdtl.setRuleid(bean.getRuleid());
amount = getDiscountAmount(req.getTermdate(), cus.getCustid(), amount, bean);
}
tTransdtl.setAmount(amount);
tTransdtl.setStatus(RestaurantConstant.STATUS_TRANSDTL_WAIT);
- TTransDtl dtl=transDtlService.saveTransdtl(tTransdtl);
+ TTransDtl dtl = transDtlService.saveTransdtl(tTransdtl);
- if(RestaurantConstant.TRANSMODE_CODE.equals(dtl.getTransmode())){
- QrcodePayParam param=new QrcodePayParam();
- param.setAmount(MoneyUtil.YuanToFen(tTransdtl.getAmount()));
+
+ /* if(RestaurantConstant.TRANSMODE_CODE.equals(dtl.getTransmode())){
+ DoorQRCodeParam qrparam=new DoorQRCodeParam();
+ qrparam.setAmount(MoneyUtil.YuanToFen(tTransdtl.getAmount()));
param.setBillno(tTransdtl.getBillno());
param.setShopaccno(tTransdtl.getShopid());
param.setTransdate(tTransdtl.getTransdate());
@@ -299,54 +325,55 @@
resp.setRetmsg(qrcoderesp.getRetmsg());
}
- }else{
- CitizenCardPayinitParam param=new CitizenCardPayinitParam();
- param.setBillno(dtl.getBillno());
- param.setShopaccno(dtl.getShopid());
- param.setTransdate(dtl.getTransdate());
- param.setTranstime(dtl.getTranstime());
- param.setCardNo(dtl.getCardno());
- param.setAmount(MoneyUtil.YuanToFen(dtl.getAmount()));
- param.setDtltype("canteen");
- CitizenPayResponse response=citizenCardPayProxy.citizencardPayinit(param);
- if(response.getRetcode() == 0){
- tTransdtl.setRefno(response.getRefno());
- CitizenCardPayfinishParam confirmParam=new CitizenCardPayfinishParam();
- confirmParam.setRefno(response.getRefno());
- CitizenPayResponse confirmResp = citizenCardPayProxy.citizencardPayFinish(confirmParam);
- if(confirmResp.getRetcode() == 0){
- tTransdtl.setStatus(RestaurantConstant.STATUS_TRANSDTL_SUCCESS);
- resp.setRetcode(ErrorCode.ERRIF_OK);
- }else if (confirmResp.getRetcode()==55555){
- tTransdtl.setStatus(RestaurantConstant.STATUS_TRANSDTL_WAIT);
- resp.setRetcode(ErrorCode.ERRIF_OK);
- }else{
- tTransdtl.setStatus(RestaurantConstant.STATUS_TRANSDTL_FAIL);
- tTransdtl.setAttr1(confirmResp.getRetmsg()+","+confirmResp.getException());
- resp.setRetcode(confirmResp.getRetcode().toString());
- resp.setRetmsg(confirmResp.getRetmsg());
- }
- }else{
+ }else{*/
+ CitizenCardPayinitParam param = new CitizenCardPayinitParam();
+ param.setBillno(dtl.getBillno());
+ param.setShopaccno(dtl.getShopid());
+ param.setTransdate(dtl.getTransdate());
+ param.setTranstime(dtl.getTranstime());
+ param.setCardNo(dtl.getCardno());
+ param.setAmount(MoneyUtil.YuanToFen(dtl.getAmount()));
+ param.setDtltype("canteen");
+ CitizenPayResponse response = citizenCardPayProxy.citizencardPayinit(param);
+ if (response.getRetcode() == 0) {
+ tTransdtl.setRefno(response.getRefno());
+ CitizenCardPayfinishParam confirmParam = new CitizenCardPayfinishParam();
+ confirmParam.setRefno(response.getRefno());
+ CitizenPayResponse confirmResp = citizenCardPayProxy.citizencardPayFinish(confirmParam);
+ if (confirmResp.getRetcode() == 0) {
+ tTransdtl.setAccdate(systemUtilService.getAccdate());
+ tTransdtl.setAcctime(systemUtilService.getSysdatetime().getHosttime());
+ tTransdtl.setStatus(RestaurantConstant.STATUS_TRANSDTL_SUCCESS);
+ resp.setRetcode(ErrorCode.ERRIF_OK);
+ } else if (confirmResp.getRetcode() == 55555) {
+ tTransdtl.setStatus(RestaurantConstant.STATUS_TRANSDTL_WAIT);
+ resp.setRetcode(ErrorCode.ERRIF_OK);
+ } else {
tTransdtl.setStatus(RestaurantConstant.STATUS_TRANSDTL_FAIL);
- tTransdtl.setAttr1(response.getRetmsg()+","+response.getException());
- resp.setRetcode(response.getRetcode().toString());
- resp.setRetmsg(response.getRetmsg());
+ tTransdtl.setAttr1(confirmResp.getRetmsg() + "," + confirmResp.getException());
+ resp.setRetcode(confirmResp.getRetcode().toString());
+ resp.setRetmsg(confirmResp.getRetmsg());
}
+ } else {
+ tTransdtl.setStatus(RestaurantConstant.STATUS_TRANSDTL_FAIL);
+ tTransdtl.setAttr1(response.getRetmsg() + "," + response.getException());
+ resp.setRetcode(response.getRetcode().toString());
+ resp.setRetmsg(response.getRetmsg());
}
-
+ // }
resp.setBillno(req.getBillno());
- Double retAmount=tTransdtl.getAmount()*100;
+ Double retAmount = tTransdtl.getAmount() * 100;
resp.setAmount(retAmount.intValue());
resp.setExtraamt(0);
resp.setUserid(cus.getCustid());
resp.setUsername(cus.getCustname());
resp.setBalance(0);
transDtlService.saveTransdtl(tTransdtl);
- if(RestaurantConstant.STATUS_TRANSDTL_WAIT.equals(tTransdtl.getStatus())){
+ if (RestaurantConstant.STATUS_TRANSDTL_WAIT.equals(tTransdtl.getStatus())) {
resp.setRequire_query(true);
- }else{
+ } else {
resp.setRequire_query(false);
}
return resp;
@@ -363,20 +390,20 @@
return resp;
}
- QueryDtlResultParam param=new QueryDtlResultParam();
+ QueryDtlResultParam param = new QueryDtlResultParam();
param.setRefno(tTransdtl.getRefno());
param.setBillno(tTransdtl.getBillno());
param.setShopaccno(tTransdtl.getShopid());
- QueryTransDtlResponse queryresp=transactionProxy.queryDtlResult(param);
- if(RestaurantConstant.STATUS_TRANSDTL_WAIT.equals(queryresp.getStatus())){
+ QueryTransDtlResponse queryresp = transactionProxy.queryDtlResult(param);
+ if (RestaurantConstant.STATUS_TRANSDTL_WAIT.equals(queryresp.getStatus())) {
resp.setRequire_query(true);
- }else{
+ } else {
resp.setRequire_query(false);
}
resp.setBillno(tTransdtl.getBillno());
- Double retAmount=tTransdtl.getAmount()*100;
+ Double retAmount = tTransdtl.getAmount() * 100;
resp.setAmount(retAmount.intValue());
- Double retExtamt=tTransdtl.getManagefee()*100;
+ Double retExtamt = tTransdtl.getManagefee() * 100;
resp.setExtraamt(retExtamt.intValue());
resp.setUserid(tTransdtl.getCustid());
resp.setUsername(tTransdtl.getCustname());
@@ -388,7 +415,7 @@
@Override
public PosPayReverseResp doPayCancel(PosPayReverseReq req) {
PosPayReverseResp resp = new PosPayReverseResp();
- System.out.println("termsqlno:"+req.getTermseqno());
+ System.out.println("termsqlno:" + req.getTermseqno());
TTransDtl tTransDtl = transDtlService.getTransDtlByBillno(req.getReversalbillno());
if (null == tTransDtl) {
resp.setRetcode(ErrorCode.ERRIF_OK);
@@ -410,12 +437,12 @@
}
try {
tTransDtl.setTermsqlno(req.getTermseqno());
- TTransDtl revdtl=transDtlService.doRevertTransdtl(tTransDtl);
- if(!RestaurantConstant.STATUS_TRANSDTL_SUCCESS.equals(revdtl.getStatus())){
+ TTransDtl revdtl = transDtlService.doRevertTransdtl(tTransDtl);
+ if (!RestaurantConstant.STATUS_TRANSDTL_SUCCESS.equals(revdtl.getStatus())) {
resp.setTermseqno(req.getTermseqno());
- resp.setRetmsg("冲正失败,"+revdtl.getAttr1());
+ resp.setRetmsg("冲正失败," + revdtl.getAttr1());
resp.setRetcode(ErrorCode.ERRIF_OK);
- }else{
+ } else {
resp.setTermseqno(req.getTermseqno());
resp.setRetmsg("冲正成功");
resp.setRetcode(ErrorCode.ERRIF_OK);
@@ -461,23 +488,28 @@
public PosPayWhitelistResp doGetWhitelist(PosPayWhitelistReq req) {
PosPayWhitelistResp resp = new PosPayWhitelistResp();
TDevice device = deviceService.getDeviceByDevphyid(req.getDevphyid());
- if (checkDevice(resp, device)) return resp;
+ APIResp apiResp = checkDevice(resp, device);
+ if (!ErrorCode.ERRIF_OK.equals(apiResp.getRetcode())) {
+ resp.setRetcode(apiResp.getRetcode());
+ resp.setRetmsg(apiResp.getRetmsg());
+ return resp;
+ }
device.setCardverno(req.getCardverno());
deviceService.saveDevice(device);
ArrayList<CardverBean> cardverFlags = new ArrayList<CardverBean>();
String maxCardverno = cardService.getMaxCarcver();
Integer count = req.getMaxcount();
- List<TCardver> whitelistCards ;
- TWhitelistDevbind bind=whitelistService.getWhitelistDevbindByDeviceId(device.getId());
- TWhitelist whitelist=null;
- if(null!=bind){
- whitelist=whitelistService.getWhitelistById(bind.getWhitelistid());
+ List<TCardver> whitelistCards;
+ TWhitelistDevbind bind = whitelistService.getWhitelistDevbindByDeviceId(device.getId());
+ TWhitelist whitelist = null;
+ if (null != bind) {
+ whitelist = whitelistService.getWhitelistById(bind.getWhitelistid());
}
- if(null!=whitelist&&RestaurantConstant.STATUS_DISCOUNTRULE_NORMAL.equals(whitelist.getStatus())){
- whitelistCards=whitelistService.getDevBindCardver(device.getId());
- } else{
- whitelistCards= cardService.getCardlistByTCardVer(req.getCardverno());
+ if (null != whitelist && RestaurantConstant.STATUS_DISCOUNTRULE_NORMAL.equals(whitelist.getStatus())) {
+ whitelistCards = whitelistService.getDevBindCardver(device.getId(), req.getCardverno());
+ } else {
+ whitelistCards = cardService.getCardlistByTCardVer(req.getCardverno());
}
if (null == whitelistCards || whitelistCards.size() < 1) {
@@ -511,30 +543,36 @@
return resp;
}
- private boolean checkDevice(APIResp resp, TDevice device) {
+ private APIResp checkDevice(APIResp resp, TDevice device) {
if (null == device) {
resp.setRetcode(ErrorCode.E_DB_QRY);
resp.setRetmsg("设备物理ID不存在");
- return true;
+ return resp;
}
if (device.getState() != 1) {
resp.setRetcode(ErrorCode.ERRIF_OTHER);
resp.setRetmsg("设备状态错误");
- return true;
+ return resp;
}
- if(!RestaurantConstant.STATUS_CHECKSTATUS_NORMAL.equals(device.getCheckstatus())){
+ if (!RestaurantConstant.STATUS_CHECKSTATUS_NORMAL.equals(device.getCheckstatus())) {
resp.setRetcode(ErrorCode.ERRIF_OTHER);
resp.setRetmsg("设备审核未通过");
- return true;
+ return resp;
}
- return false;
+ resp.setRetcode(ErrorCode.ERRIF_OK);
+ return resp;
}
@Override
public PosPayHeartBeatResp posHeartBeat(PosPayHeartBeatReq req) {
PosPayHeartBeatResp resp = new PosPayHeartBeatResp();
TDevice device = deviceService.getDeviceByDevphyid(req.getDevphyid());
- if (checkDevice(resp, device)) return resp;
+ APIResp apiResp = checkDevice(resp, device);
+ if (!ErrorCode.ERRIF_OK.equals(apiResp.getRetcode())) {
+ resp.setRetcode(apiResp.getRetcode());
+ resp.setRetmsg(apiResp.getRetmsg());
+ return resp;
+ }
String datetime = DateUtil.getNow("yyyyMMddHHmmss");
device.setCardverno(req.getCardverno());
@@ -549,6 +587,11 @@
return resp;
}
+ TWhitelistDevbind bind = whitelistService.getWhitelistDevbindByDeviceId(device.getId());
+ if (null != bind) {
+ resp.setWhitelistid(bind.getWhitelistid());
+ }
+
resp.setRetcode(ErrorCode.ERRIF_OK);
resp.setRetmsg("心跳成功");
resp.setSystime(datetime);
@@ -561,12 +604,17 @@
@Override
public PosPayQuerysalesResp posQuerySales(PosPaySysparaReq req) {
- PosPayQuerysalesResp resp=new PosPayQuerysalesResp();
+ PosPayQuerysalesResp resp = new PosPayQuerysalesResp();
TDevice device = deviceService.getDeviceByDevphyid(req.getDevphyid());
- if (checkDevice(resp, device)) return resp;
+ APIResp apiResp = checkDevice(resp, device);
+ if (!ErrorCode.ERRIF_OK.equals(apiResp.getRetcode())) {
+ resp.setRetcode(apiResp.getRetcode());
+ resp.setRetmsg(apiResp.getRetmsg());
+ return resp;
+ }
- SalesAmtBean salesAmtBean=transDtlService.getSalesToday(req.getTermdate(),device.getId());
- ManageFeeAmtBean feeAmtBean=transDtlService.getManageFeeToday(req.getTermdate(),device.getId());
+ SalesAmtBean salesAmtBean = transDtlService.getSalesToday(req.getTermdate(), device.getId());
+ ManageFeeAmtBean feeAmtBean = transDtlService.getManageFeeToday(req.getTermdate(), device.getId());
resp.setRetcode(ErrorCode.ERRIF_OK);
@@ -581,21 +629,26 @@
@Override
public PosPayAccqueryResp AccountQuery(PosPayAccqueryReq req) {
- PosPayAccqueryResp resp=new PosPayAccqueryResp();
+ PosPayAccqueryResp resp = new PosPayAccqueryResp();
TDevice device = deviceService.getDeviceByDevphyid(req.getDevphyid());
- if (checkDevice(resp, device)) return resp;
+ APIResp apiResp = checkDevice(resp, device);
+ if (!ErrorCode.ERRIF_OK.equals(apiResp.getRetcode())) {
+ resp.setRetcode(apiResp.getRetcode());
+ resp.setRetmsg(apiResp.getRetmsg());
+ return resp;
+ }
- TCard card=cardService.getCardByCardnoAndCardphyid(req.getCardno(),req.getCardphyid());
+ TCard card = cardService.getCardByCardnoAndCardphyid(req.getCardno(), req.getCardphyid());
- if(null==card){
+ if (null == card) {
resp.setRetcode(ErrorCode.ERRIF_CARD_NOTEXIST);
resp.setRetmsg("卡不存在");
return resp;
}
- TCustomer customer=customerService.getCustomerByCustid(card.getCustid());
- if(null==customer){
+ TCustomer customer = customerService.getCustomerByCustid(card.getCustid());
+ if (null == customer) {
resp.setRetcode(ErrorCode.ERRIF_CARD_PWD);
resp.setRetmsg("未查询到卡对应客户");
return resp;
@@ -616,8 +669,8 @@
@Override
public PosPayOfflineDtlResp saveOfflineDtl(PosPayOfflineDtlReq req) {
- PosPayOfflineDtlResp resp=new PosPayOfflineDtlResp();
- TOfflineTransDtl transDtl=new TOfflineTransDtl();
+ PosPayOfflineDtlResp resp = new PosPayOfflineDtlResp();
+ TOfflineTransDtl transDtl = new TOfflineTransDtl();
transDtl.setTransdate(req.getTransdate());
transDtl.setTranstime(req.getTranstime());
@@ -627,29 +680,57 @@
List<TMealtype> mealtypes = mealTypeDao.findAllByOrderByEndtime();
transDtl.setTermsqlno(req.getTermseqno());
- String err="";
+ String err = "";
TDevice device = deviceService.getDeviceByDevphyid(req.getDevphyid());
if (null == device) {
- err+="设备物理ID不存在;";
+ err += "设备物理ID不存在;";
+ }
+ if (1 != device.getState()) {
+ err += "设备状态错误;";
+ }
+ if (!RestaurantConstant.STATUS_CHECKSTATUS_NORMAL.equals(device.getCheckstatus())) {
+ err += "设备审核未通过;";
+ }
+ if (!"".equals(err)) {
transDtl.setAttr1(err);
offlineTransDtlService.saveOfflineTransdtl(transDtl);
resp.setRetmsg("保存成功");
resp.setRetcode(ErrorCode.ERRIF_OK);
return resp;
}
- Double amount=req.getAmount()/100.0;
- TCard tCard = cardService.getCardByCardnoAndCardphyid(req.getCardno(), req.getCardphyid());
+ Double amount = req.getAmount() / 100.0;
+
+ String cardno;
+ String cardphyid;
+
+ if (RestaurantConstant.TRANSMODE_CODE.equals(req.getTranstype())) {
+ DoorQRCodeParam qrparam = new DoorQRCodeParam();
+ qrparam.setQrcode(req.getQrcode());
+ DoorQrcodeResponse qrcoderesp = consumePropxy.qrcodequery(qrparam);
+ if (qrcoderesp.getRetcode() == 0) {
+ cardno = qrcoderesp.getCitycardno();
+ cardphyid = qrcoderesp.getCardphyid();
+ } else {
+ cardno="";
+ cardphyid="";
+ }
+ } else {
+ cardno = req.getCardno();
+ cardphyid = req.getCardphyid();
+ }
+
+ TCard tCard = cardService.getCardByCardnoAndCardphyid(cardno, cardphyid);
if (null == tCard) {
- err+="卡号[" + req.getCardno() + "]不存在;";
- }else{
- TCustomer customer=customerService.getCustomerByCustid(tCard.getCustid());
- if(null==customer){
- err+="卡对应人员不存在;";
+ err += "卡号[" + req.getCardno() + "]不存在;";
+ } else {
+ TCustomer customer = customerService.getCustomerByCustid(tCard.getCustid());
+ if (null == customer) {
+ err += "卡对应人员不存在;";
} else {
transDtl.setCustid(customer.getCustid());
transDtl.setCustname(customer.getCustname());
- DiscountBean bean=deviceDiscountRuleService.getCustomerDiscount(device.getId(),req.getTranstime(), customer.getCustid());
- if(null!=bean){
+ DiscountBean bean = deviceDiscountRuleService.getCustomerDiscount(device.getId(), req.getTranstime(), customer.getCustid());
+ if (null != bean) {
transDtl.setRuleid(bean.getRuleid());
amount = getDiscountAmount(req.getTransdate(), customer.getCustid(), amount, bean);
}
@@ -660,8 +741,8 @@
if (device.getState() != 1) {
- err+="设备状态错误;";
- }else{
+ err += "设备状态错误;";
+ } else {
transDtl.setTermid(device.getId());
transDtl.setShopid(device.getShopid());
}
@@ -677,10 +758,9 @@
}*/
-
- if("true".equals(req.getReversalflag())){
+ if ("true".equals(req.getReversalflag())) {
transDtl.setTranstype(RestaurantConstant.TRANSTYPE_TRANSDTL_REVERT);
- }else{
+ } else {
transDtl.setTranstype(RestaurantConstant.TRANSTYPE_TRANSDTL_OFFLINE);
}
@@ -693,28 +773,24 @@
}
} catch (Exception e) {
e.printStackTrace();
- err+="设置分餐失败;";
+ err += "设置分餐失败;";
}
- if("true".equals(req.getReversalflag())){
+ if ("true".equals(req.getReversalflag())) {
TOfflineTransDtl tTransDtl =
- offlineTransDtlService.getOfflineTransDtlByTermsqlnoAndTermid(req.getReversaltermseqno(),device.getId(),req.getTransdate());
+ offlineTransDtlService.getOfflineTransDtlByTermsqlnoAndTermid(req.getReversaltermseqno(), device.getId(), req.getTransdate());
if (null == tTransDtl) {
- err+=("终端参考号" + req.getReversaltermseqno() + "不存在;");
- }else{
+ err += ("终端参考号" + req.getReversaltermseqno() + "不存在;");
+ } else {
if (!RestaurantConstant.STATUS_TRANSDTL_SUCCESS.toUpperCase().equals(tTransDtl.getStatus().toUpperCase())) {
- err+=("交易状态未成功;");
+ err += ("交易状态未成功;");
}
if (tTransDtl.getRevflag() == 1) {
- err+=("流水" + req.getReversaltermseqno() + "已冲正");
+ err += ("流水" + req.getReversaltermseqno() + "已冲正");
}
try {
- if(!"".equals(err)){
- transDtl.setStatus(RestaurantConstant.STATUS_TRANSDTL_FAIL);
- }else{
- transDtl.setStatus(RestaurantConstant.STATUS_TRANSDTL_INIT);
- }
+ transDtl.setStatus(RestaurantConstant.STATUS_TRANSDTL_INIT);
transDtl.setAttr1(err);
offlineTransDtlService.revertOfflineTransdtl(tTransDtl);
resp.setTermseqno(tTransDtl.getTermsqlno());
@@ -727,13 +803,9 @@
}
}
}
-
- if(!"".equals(err)){
- transDtl.setStatus(RestaurantConstant.STATUS_TRANSDTL_FAIL);
- }else{
- transDtl.setStatus(RestaurantConstant.STATUS_TRANSDTL_INIT);
- }
+ transDtl.setStatus(RestaurantConstant.STATUS_TRANSDTL_INIT);
transDtl.setAttr1(err);
+ transDtl.setTransmode(req.getTranstype());
offlineTransDtlService.saveOfflineTransdtl(transDtl);
resp.setRetcode(ErrorCode.ERRIF_OK);
@@ -744,12 +816,17 @@
@Override
public PosPayGolbalParamResp getBusinessParam(PosPayGolbalParamReq req) {
- PosPayGolbalParamResp resp=new PosPayGolbalParamResp();
+ PosPayGolbalParamResp resp = new PosPayGolbalParamResp();
TDevice device = deviceService.getDeviceByDevphyid(req.getDevphyid());
- if (checkDevice(resp, device)) return resp;
- TBusinesspara url=businessparaDao.findByParakey("upgrade_url");
- TBusinesspara version=businessparaDao.findByParakey("upgrade_version");
- if(null==url||null==version){
+ APIResp apiResp = checkDevice(resp, device);
+ if (!ErrorCode.ERRIF_OK.equals(apiResp.getRetcode())) {
+ resp.setRetcode(apiResp.getRetcode());
+ resp.setRetmsg(apiResp.getRetmsg());
+ return resp;
+ }
+ TBusinesspara url = businessparaDao.findByParakey("upgrade_url");
+ TBusinesspara version = businessparaDao.findByParakey("upgrade_version");
+ if (null == url || null == version) {
resp.setRetcode(ErrorCode.E_EMPTY_PARAM);
resp.setRetmsg("请求参数未配置");
return resp;
diff --git a/src/main/java/com/supwisdom/dlpay/api/task/PosPayTask.java b/src/main/java/com/supwisdom/dlpay/api/task/PosPayTask.java
index 37aaef4..62c301f 100644
--- a/src/main/java/com/supwisdom/dlpay/api/task/PosPayTask.java
+++ b/src/main/java/com/supwisdom/dlpay/api/task/PosPayTask.java
@@ -1,10 +1,10 @@
package com.supwisdom.dlpay.api.task;
-import com.supwisdom.dlpay.api.bean.CitizenCardPayfinishParam;
-import com.supwisdom.dlpay.api.bean.CitizenCardPayinitParam;
-import com.supwisdom.dlpay.api.bean.CitizenPayResponse;
+import com.supwisdom.dlpay.api.bean.*;
+import com.supwisdom.dlpay.framework.service.SystemUtilService;
import com.supwisdom.dlpay.framework.util.DateUtil;
import com.supwisdom.dlpay.paysdk.proxy.CitizenCardPayProxy;
+import com.supwisdom.dlpay.paysdk.proxy.TransactionProxy;
import com.supwisdom.dlpay.restaurant.dao.TransDtlDao;
import com.supwisdom.dlpay.restaurant.domain.TOfflineTransDtl;
import com.supwisdom.dlpay.restaurant.domain.TTransDtl;
@@ -36,8 +36,12 @@
private OfflineTransDtlService offlineTransDtlService;
@Autowired
private CitizenCardPayProxy citizenCardPayProxy;
+ @Autowired
+ private SystemUtilService systemUtilService;
+ @Autowired
+ private TransactionProxy transactionProxy;
- @Scheduled(cron = "${cron.offlinedtl}")
+ @Scheduled(cron = "0 0/1 * * * ?")
private void submitOfflineDtlTask() {
String date = DateUtil.getNow("yyyyMMdd");
List<TOfflineTransDtl> dtls = offlineTransDtlService.getUncheckOfflineTransdtl(date, RestaurantConstant.TRANSTYPE_TRANSDTL_OFFLINE);
@@ -47,8 +51,6 @@
TTransDtl tTransDtl = gettTransDtl(dtl);
- tTransDtl.setTransmode(RestaurantConstant.TRANSTYPE_TRANSDTL_OFFLINE);
-
CitizenCardPayinitParam param = new CitizenCardPayinitParam();
param.setBillno(dtl.getBillno());
param.setShopaccno(dtl.getShopid());
@@ -58,9 +60,11 @@
param.setDtltype("canteen");
Double amt = dtl.getAmount() * 100;
param.setAmount(amt.intValue());
+ logger.info(dtl.getBillno() + "开始消费逻辑");
+
CitizenPayResponse response = citizenCardPayProxy.citizencardPayinit(param);
if (response.getRetcode() != 0) {
- saveTransdtls(dtl, tTransDtl, response);
+ saveFailTransdtls(dtl, tTransDtl, response);
logger.info(dtl.getBillno() + "初始化失败," + response.getRetcode() + "," + response.getRetmsg() + "," + response.getException());
continue;
}
@@ -68,12 +72,15 @@
finishparam.setRefno(response.getRefno());
CitizenPayResponse finishresp = citizenCardPayProxy.citizencardPayFinish(finishparam);
if (finishresp.getRetcode() != 0) {
- saveTransdtls(dtl, tTransDtl, finishresp);
- logger.info(dtl.getBillno() + "消费缺认失败," + finishresp.getRetcode() + "," + finishresp.getRetmsg() + "," + finishresp.getException());
+ saveFailTransdtls(dtl, tTransDtl, finishresp);
+ logger.info(dtl.getBillno() + "消费确认失败," + finishresp.getRetcode() + "," + finishresp.getRetmsg() + "," + finishresp.getException());
continue;
}
tTransDtl.setAccdate(date);
- tTransDtl.setAcctime(DateUtil.getNow("HHmmss"));
+ tTransDtl.setAcctime(systemUtilService.getSysdatetime().getHosttime());
+ tTransDtl.setCoreStatus(RestaurantConstant.STATUS_TRANSDTL_SUCCESS);
+ tTransDtl.setStatus(RestaurantConstant.STATUS_TRANSDTL_SUCCESS);
+ tTransDtl.setRefno(response.getRefno());
dtl.setStatus(RestaurantConstant.STATUS_TRANSDTL_SUCCESS);
offlineTransDtlService.saveOfflineTransdtl(dtl);
transDtlService.saveTransdtl(tTransDtl);
@@ -92,13 +99,13 @@
}
- @NotNull
private TTransDtl gettTransDtl(TOfflineTransDtl dtl) {
TTransDtl tTransDtl = new TTransDtl();
tTransDtl.setManagefee(dtl.getManagefee());
tTransDtl.setAmount(dtl.getAmount());
tTransDtl.setCardno(dtl.getCardno());
tTransDtl.setStatus(dtl.getStatus());
+ tTransDtl.setCustid(dtl.getCustid());
tTransDtl.setBillno(dtl.getBillno());
tTransDtl.setTermsqlno(dtl.getTermsqlno());
tTransDtl.setMealtype(dtl.getMealtype());
@@ -106,6 +113,8 @@
tTransDtl.setShopid(dtl.getShopid());
tTransDtl.setTransdate(dtl.getTransdate());
tTransDtl.setTranstime(dtl.getTranstime());
+ tTransDtl.setTranstype(RestaurantConstant.TRANSTYPE_TRANSDTL_OFFLINE);
+
tTransDtl.setCustname(dtl.getCustname());
tTransDtl.setTermid(dtl.getTermid());
tTransDtl.setRuleid(dtl.getRuleid());
@@ -113,14 +122,55 @@
return tTransDtl;
}
-
- private void saveTransdtls(TOfflineTransDtl dtl, TTransDtl tTransDtl, CitizenPayResponse finishresp) {
- dtl.setStatus(RestaurantConstant.STATUS_TRANSDTL_FAIL);
- dtl.setAttr1(finishresp.getRetmsg() + "," + finishresp.getException());
- tTransDtl.setStatus(RestaurantConstant.STATUS_TRANSDTL_FAIL);
- tTransDtl.setAttr1(finishresp.getRetmsg() + "," + finishresp.getException());
+ private void saveFailTransdtls(TOfflineTransDtl dtl, TTransDtl tTransDtl, CitizenPayResponse finishresp) {
+ String status;
+ String attr;
+ if(RestaurantConstant.TRANSDTL_STATUS_WIT==finishresp.getRetcode()){
+ status=RestaurantConstant.STATUS_TRANSDTL_WAIT;
+ attr="";
+ tTransDtl.setRefno(finishresp.getRefno());
+ }else{
+ status=RestaurantConstant.STATUS_TRANSDTL_FAIL;
+ attr=finishresp.getRetmsg() + "," + finishresp.getException()+","+finishresp.getRetcode();
+ }
+ dtl.setStatus(status);
+ dtl.setAttr1(attr);
+ tTransDtl.setStatus(status);
+ tTransDtl.setAttr1(attr);
offlineTransDtlService.saveOfflineTransdtl(dtl);
transDtlService.saveTransdtl(tTransDtl);
}
+
+ @Scheduled(cron = "0 0/10 * * * ?")
+ private void checkWipDtls() {
+ String date = DateUtil.getNow("yyyyMMdd");
+ List<TTransDtl> dtls = transDtlService.getSubmittingTransdtl(date);
+ logger.info("正在核对" + dtls.size() + "笔未上传流水");
+ if (dtls.size() > 0) {
+ for (TTransDtl dtl : dtls) {
+ QueryDtlResultParam param = new QueryDtlResultParam();
+ param.setShopaccno(dtl.getShopid());
+ param.setBillno(dtl.getBillno());
+ param.setRefno(dtl.getRefno());
+ QueryTransDtlResponse resp = transactionProxy.queryDtlResult(param);
+ logger.info(dtl.getBillno()+":status==="+resp.getStatus());
+
+ if(RestaurantConstant.STATUS_TRANSDTL_WAIT.equals(resp.getStatus())){
+ logger.info(dtl.getBillno()+":"+resp.getRetcode()+":"+resp.getRetmsg());
+ }else if (RestaurantConstant.STATUS_TRANSDTL_SUCCESS.equals(resp.getStatus())){
+ dtl.setStatus(RestaurantConstant.STATUS_TRANSDTL_SUCCESS);
+ transDtlService.saveTransdtl(dtl);
+ }else{
+ dtl.setAttr1(resp.getRetmsg());
+ dtl.setStatus(RestaurantConstant.STATUS_TRANSDTL_FAIL);
+ transDtlService.saveTransdtl(dtl);
+
+ }
+
+ }
+ }
+
+ }
+
}
diff --git a/src/main/java/com/supwisdom/dlpay/framework/filter/CrosXssFilter.java b/src/main/java/com/supwisdom/dlpay/framework/filter/CrosXssFilter.java
index d124781..b8349ee 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/filter/CrosXssFilter.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/filter/CrosXssFilter.java
@@ -42,11 +42,11 @@
//sql,xss过滤
HttpServletRequest httpServletRequest = (HttpServletRequest) request;
- logger.info("CrosXssFilter.......orignal url:{},ParameterMap:{}",httpServletRequest.getRequestURI(), new Gson().toJson(httpServletRequest.getParameterMap()));
+ logger.error("CrosXssFilter.......orignal url:{},ParameterMap:{}",httpServletRequest.getRequestURI(), new Gson().toJson(httpServletRequest.getParameterMap()));
XssHttpServletRequestWrapper xssHttpServletRequestWrapper = new XssHttpServletRequestWrapper(
httpServletRequest);
chain.doFilter(xssHttpServletRequestWrapper, response);
- logger.info("CrosXssFilter..........doFilter url:{},ParameterMap:{}",xssHttpServletRequestWrapper.getRequestURI(), new Gson().toJson(xssHttpServletRequestWrapper.getParameterMap()));
+ logger.error("CrosXssFilter..........doFilter url:{},ParameterMap:{}",xssHttpServletRequestWrapper.getRequestURI(), new Gson().toJson(xssHttpServletRequestWrapper.getParameterMap()));
}
@Override
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/bean/DiscountBean.java b/src/main/java/com/supwisdom/dlpay/restaurant/bean/DiscountBean.java
index 369acb4..2da979b 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/bean/DiscountBean.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/bean/DiscountBean.java
@@ -1,18 +1,17 @@
package com.supwisdom.dlpay.restaurant.bean;
-import com.supwisdom.dlpay.system.bean.PageBean;
public class DiscountBean{
private String ruletype;
private Integer limitcnt;
- private String amount;
+ private Double amount;
private Integer ruleid;
public DiscountBean(){
}
- public DiscountBean(String ruletype, Integer limitcnt, String amount, Integer ruleid) {
+ public DiscountBean(String ruletype, Integer limitcnt, Double amount, Integer ruleid) {
this.ruletype = ruletype;
this.limitcnt = limitcnt;
this.amount = amount;
@@ -43,11 +42,11 @@
this.limitcnt = limitcnt;
}
- public String getAmount() {
+ public Double getAmount() {
return amount;
}
- public void setAmount(String amount) {
+ public void setAmount(Double amount) {
this.amount = amount;
}
}
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/controller/DeviceController.java b/src/main/java/com/supwisdom/dlpay/restaurant/controller/DeviceController.java
index 007d190..032fedf 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/controller/DeviceController.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/controller/DeviceController.java
@@ -74,7 +74,7 @@
public JsonResult add(@RequestBody TDevice device) {
if (device != null) {
- device.setCheckstatus(RestaurantConstant.STATUS_CHECKSTATUS_NORMAL);
+ device.setCheckstatus(RestaurantConstant.STATUS_CHECKSTATUS_UNCHECK);
return deviceService.saveDevice(device);
} else {
return JsonResult.error("添加失败");
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/controller/DeviceDiscountRuleController.java b/src/main/java/com/supwisdom/dlpay/restaurant/controller/DeviceDiscountRuleController.java
index 7003cb4..fca1b27 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/controller/DeviceDiscountRuleController.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/controller/DeviceDiscountRuleController.java
@@ -178,7 +178,7 @@
try {
String[] title = {"市民卡号", "姓名"}; //表头
String[][] infos = {{"19045632", "张三"}}; // 示例内容
- ExportExcel.queryexcel("导入名单模板", title, infos, request, response);
+ ExportExcel.queryexcel("餐补导入名单模板", title, infos, request, response);
} catch (Exception e) {
e.printStackTrace();
}
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/controller/WhitelistController.java b/src/main/java/com/supwisdom/dlpay/restaurant/controller/WhitelistController.java
index 7325df8..4b618cb 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/controller/WhitelistController.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/controller/WhitelistController.java
@@ -355,4 +355,16 @@
}
}
+
+ @GetMapping("/whitelist/downloadexcel")
+ @ResponseBody
+ public void downloadWhitelistExcel(HttpServletRequest request, HttpServletResponse response) {
+ try {
+ String[] title = {"市民卡号", "姓名"}; //表头
+ String[][] infos = {{"19045632", "张三"}}; // 示例内容
+ ExportExcel.queryexcel("白名单导入模板", title, infos, request, response);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
}
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/dao/TransDtlDao.java b/src/main/java/com/supwisdom/dlpay/restaurant/dao/TransDtlDao.java
index cfb0ade..ee4f01f 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/dao/TransDtlDao.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/dao/TransDtlDao.java
@@ -40,7 +40,7 @@
@Query(value = "select max(termsqlno) from tb_transdtl where termid=?1 and accdate=?2 ", nativeQuery=true)
Integer getMaxSqlnoToday(Integer deviceid,String accdate);
- List<TTransDtl> findAllByStatus(String status);
+ List<TTransDtl> findAllByStatusAndTransdate(String status,String date);
TTransDtl getByTransdateAndTermidAndTermsqlno(String transdate,Integer termid,Integer termsqlno);
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/dao/WhitelistDevbindDao.java b/src/main/java/com/supwisdom/dlpay/restaurant/dao/WhitelistDevbindDao.java
index e695e5f..2324728 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/dao/WhitelistDevbindDao.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/dao/WhitelistDevbindDao.java
@@ -6,6 +6,8 @@
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
+import java.util.List;
+
@Repository
public interface WhitelistDevbindDao extends JpaRepository<TWhitelistDevbind, String> {
@@ -21,5 +23,5 @@
TWhitelistDevbind getWhitelistDevbindById(String id);
@Query("from TWhitelistDevbind where deviceid=?1")
- TWhitelistDevbind findByDeviceid(Integer deviceid);
+ List<TWhitelistDevbind> findByDeviceid(Integer deviceid);
}
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/domain/TOfflineTransDtl.java b/src/main/java/com/supwisdom/dlpay/restaurant/domain/TOfflineTransDtl.java
index b577d52..6b4408a 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/domain/TOfflineTransDtl.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/domain/TOfflineTransDtl.java
@@ -30,7 +30,8 @@
private String mealtype;
private Integer termsqlno;
private Integer ruleid;
-
+ private String transmode;
+ private String qrcode;
@Id
@@ -162,7 +163,7 @@
}
- @Column(name = "attr1", length = 200)
+ @Column(name = "attr1", length = 1000)
public String getAttr1() {
return attr1;
}
@@ -228,4 +229,14 @@
public void setRuleid(Integer ruleid) {
this.ruleid = ruleid;
}
+
+ @Column(name = "transmode", precision = 10)
+ public String getTransmode() {
+ return transmode;
+ }
+
+ public void setTransmode(String transmode) {
+ this.transmode = transmode;
+ }
+
}
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/domain/TTransDtl.java b/src/main/java/com/supwisdom/dlpay/restaurant/domain/TTransDtl.java
index b44b02e..b14dc93 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/domain/TTransDtl.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/domain/TTransDtl.java
@@ -170,7 +170,7 @@
}
- @Column(name = "attr1", length = 200)
+ @Column(name = "attr1", length = 1000)
public String getAttr1() {
return attr1;
}
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/service/TransDtlService.java b/src/main/java/com/supwisdom/dlpay/restaurant/service/TransDtlService.java
index e8f6fde..cb9be96 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/service/TransDtlService.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/service/TransDtlService.java
@@ -49,7 +49,7 @@
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class,readOnly = true)
- List<TTransDtl> getSubmittingTransdtl();
+ List<TTransDtl> getSubmittingTransdtl(String date);
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class,readOnly = true)
Integer getDiscountLimitToday(String termdate,String custid,Integer ruleid);
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/service/WhitelistService.java b/src/main/java/com/supwisdom/dlpay/restaurant/service/WhitelistService.java
index 55aff30..c8cd0a0 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/service/WhitelistService.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/service/WhitelistService.java
@@ -64,6 +64,6 @@
TWhitelist getWhitelistById(Integer whitelistid);
@Transactional(rollbackFor = Exception.class,readOnly = true)
- List<TCardver> getDevBindCardver(Integer deviceid) ;
+ List<TCardver> getDevBindCardver(Integer deviceid,String cardverno) ;
}
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/CustomerServiceImpl.java b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/CustomerServiceImpl.java
index c85ca25..8687c15 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/CustomerServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/CustomerServiceImpl.java
@@ -46,7 +46,7 @@
@Override
public PageResult<CustomerShowBean> getCustomerPage(CustomerSearchBean param) {
- StringBuffer querySql = new StringBuffer("select t.cardno,t.custid,c.custname, " +
+ StringBuffer querySql = new StringBuffer("select t.cardno,c.custid,c.custname, " +
"t.bankcardno,t.cardphyid,c.phone,c.custtype,c.checkstatus from tb_customer c " +
"left join Tb_card t on t.custid=c.custid where 1=1 ");
StringBuffer countSql = new StringBuffer("select count(*) as cnt from tb_customer c " +
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/DeviceDiscountRuleServiceImpl.java b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/DeviceDiscountRuleServiceImpl.java
index ae15d55..96f7b99 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/DeviceDiscountRuleServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/DeviceDiscountRuleServiceImpl.java
@@ -158,7 +158,7 @@
private boolean checkRuleTimeError(String starttime, String endtime, String cardno, String custid) {
Query query = entityManager.createNativeQuery("select count(a.id) from tb_discount_detail a, tb_discount_rule b where a.ruleid=b.ruleid and (b.status='uncheck' or b.status='normal') " +
- "and a.cardno=:cardno and ((b.starttime<:starttime and b.endtime>:starttime) or (b.starttime<:endtime and b.endtime>:endtime)) ");
+ "and a.cardno=:cardno and ((:starttime between b.starttime and b.endtime) or (:endtime between b.starttime and b.endtime) or (b.starttime>:starttime and b.endtime<:endtime)) ");
query.setParameter("cardno", cardno);
query.setParameter("starttime", starttime);
query.setParameter("endtime", endtime);
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/TransDtlServiceImpl.java b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/TransDtlServiceImpl.java
index b86ea5c..d19ee55 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/TransDtlServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/TransDtlServiceImpl.java
@@ -54,7 +54,7 @@
@Override
public PageResult<TTransDtl> getTransDtlByParam(TransDtlSearchBean param) {
Pageable pageable = PageRequest.of(param.getPageNo() - 1, param.getPageSize()
- , Sort.by("billno"));
+ , Sort.by("billno").descending());
Specification<TTransDtl> spec = gettTransDtlSpecification(param);
@@ -225,7 +225,7 @@
transDtlDao.save(revDtl);
return revDtl;
}
- revDtl.setAcctime(DateUtil.getNow("HHmmss"));
+ revDtl.setAcctime(systemUtilService.getSysdatetime().getHosttime());
revDtl.setAccdate(date);
revDtl.setRefno(reverseResp.getRefno());
transDtlDao.save(revDtl);
@@ -287,8 +287,8 @@
}
@Override
- public List<TTransDtl> getSubmittingTransdtl() {
- return transDtlDao.findAllByStatus(RestaurantConstant.STATUS_TRANSDTL_WAIT);
+ public List<TTransDtl> getSubmittingTransdtl(String date) {
+ return transDtlDao.findAllByStatusAndTransdate(RestaurantConstant.STATUS_TRANSDTL_WAIT,date);
}
@Override
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/WhitelistServiceImpl.java b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/WhitelistServiceImpl.java
index 465f1c8..963891a 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/WhitelistServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/WhitelistServiceImpl.java
@@ -312,8 +312,9 @@
@Override
public TWhitelistDevbind getWhitelistDevbindByDeviceId(Integer id) {
- if (null != id) {
- return WhitelistDevbindDao.findByDeviceid(id);
+ List<TWhitelistDevbind> lst= WhitelistDevbindDao.findByDeviceid(id);
+ if(lst.size()>0){
+ return lst.get(0);
}
return null;
}
@@ -378,7 +379,7 @@
} else if (1 != device.getState()) {
throw new WebCheckException("终端编号为[" + id + "]的设备状态异常");
}
- TWhitelistDevbind obind = WhitelistDevbindDao.findByDeviceid(id);
+ TWhitelistDevbind obind =getWhitelistDevbindByDeviceId(id);
if (null != obind) {
throw new WebCheckException("终端编号为[" + id + "]的设备已有绑定关系");
}
@@ -412,13 +413,14 @@
}
@Override
- public List<TCardver> getDevBindCardver(Integer deviceid) {
+ public List<TCardver> getDevBindCardver(Integer deviceid,String cardverno) {
StringBuffer sql = new StringBuffer("SELECT t.cardno,t.cardphyid,t.optype FROM tb_whitelist_detail w " +
"left join tb_cardver t on t.cardno=w.cardno and t.cardphyid=w.cardphyid " +
"left join tb_whitelist_devbind d on d.whitelistid=w.whitelistid " +
- "where d.deviceid=:id");
+ "where d.deviceid=:id and t.cardverno>:cardverno");
Query query = entityManager.createNativeQuery(sql.toString());
query.setParameter("id", deviceid);
+ query.setParameter("cardverno", cardverno);
query.unwrap(NativeQueryImpl.class).setResultTransformer(Transformers.aliasToBean(TCardver.class));
List<TCardver> list = query.getResultList();
return list;
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/task/RestaurantTask.java b/src/main/java/com/supwisdom/dlpay/restaurant/task/RestaurantTask.java
index deeeac2..3c9e0a2 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/task/RestaurantTask.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/task/RestaurantTask.java
@@ -46,7 +46,7 @@
searchBean.setCheckstatus(RestaurantConstant.STATUS_CHECKSTATUS_UNCHECK);
List<CustomerShowBean> dtls=customerService.getCustomerPage(searchBean).getData();
- logger.info("正在同步"+dtls.size()+"名人员");
+ logger.info("正同步"+dtls.size()+"名人员");
if(dtls.size()>0){
for(CustomerShowBean dtl:dtls){
QueryUserParam param=new QueryUserParam();
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/util/RestaurantConstant.java b/src/main/java/com/supwisdom/dlpay/restaurant/util/RestaurantConstant.java
index 786f0a8..534fa61 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/util/RestaurantConstant.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/util/RestaurantConstant.java
@@ -1,51 +1,51 @@
package com.supwisdom.dlpay.restaurant.util;
public class RestaurantConstant {
- public static final String STATUS_DISCOUNTRULE_UNCHECK = "uncheck"; //待审核
- public static final String STATUS_DISCOUNTRULE_NORMAL = "normal"; //有效
- public static final String STATUS_DISCOUNTRULE_CLOSED = "closed"; //无效
- public static final String STATUS_DISCOUNTRULE_REJECT = "reject"; //驳回
+ public static final String STATUS_DISCOUNTRULE_UNCHECK = "uncheck"; //待审核
+ public static final String STATUS_DISCOUNTRULE_NORMAL = "normal"; //有效
+ public static final String STATUS_DISCOUNTRULE_CLOSED = "closed"; //无效
+ public static final String STATUS_DISCOUNTRULE_REJECT = "reject"; //驳回
- public static final String STATUS_CHECKSTATUS_UNCHECK = "uncheck"; //待审核
- public static final String STATUS_CHECKSTATUS_NORMAL = "normal"; //有效
- public static final String STATUS_CHECKSTATUS_FAIL = "fail"; //无效
- public static final String STATUS_CHECKSTATUS_REJECT = "reject"; //驳回
+ public static final String STATUS_CHECKSTATUS_UNCHECK = "uncheck"; //待审核
+ public static final String STATUS_CHECKSTATUS_NORMAL = "normal"; //有效
+ public static final String STATUS_CHECKSTATUS_FAIL = "fail"; //无效
+ public static final String STATUS_CHECKSTATUS_REJECT = "reject"; //驳回
- public static final String TRANSMODE_CARD = "card"; //卡消费
- public static final String TRANSMODE_CODE = "code"; //二维码消费
+ public static final String TRANSMODE_CARD = "card"; //卡消费
+ public static final String TRANSMODE_CODE = "code"; //二维码消费
- public static final String STATUS_TRANSDTL_INIT = "init"; //初始化
- public static final String STATUS_TRANSDTL_WAIT = "wip"; //提交中
- public static final String STATUS_TRANSDTL_SUCCESS = "success"; //已入账
- public static final String STATUS_TRANSDTL_FAIL = "fail"; //取消
+ public static final String STATUS_TRANSDTL_INIT = "init"; //初始化
+ public static final String STATUS_TRANSDTL_WAIT = "wip"; //提交中
+ public static final String STATUS_TRANSDTL_SUCCESS = "success"; //已入账
+ public static final String STATUS_TRANSDTL_FAIL = "fail"; //取消
+ public static final String TRANSTYPE_TRANSDTL_ONLINE = "online"; //联机
+ public static final String TRANSTYPE_TRANSDTL_OFFLINE = "offline"; //脱机
+ public static final String TRANSTYPE_TRANSDTL_REVERT = "revert"; //冲正
- public static final String TRANSTYPE_TRANSDTL_ONLINE = "online"; //联机
- public static final String TRANSTYPE_TRANSDTL_OFFLINE = "offline"; //脱机
- public static final String TRANSTYPE_TRANSDTL_REVERT = "revert"; //冲正
+ public static final String MEALTYPE_BREAKFAST = "breakfast";
+ public static final String MEALTYPE_LUNCH = "lunch";
+ public static final String MEALTYPE_DINNER = "dinner";
- public static final String MEALTYPE_BREAKFAST="breakfast";
- public static final String MEALTYPE_LUNCH="lunch";
- public static final String MEALTYPE_DINNER="dinner";
+ public static final String STATUS_CARD_NORMAL = "normal"; //正常
+ public static final String STATUS_CARD_LOGOUT = "logout"; //注销
+ public static final String STATUS_CARD_LOST = "lost"; //挂失
+ public static final String STATUS_CARD_FROZEN = "frozen"; //冻结
+ public static final String STATUS_CARD_LOCK = "lock"; //锁卡
+ public static final String STATUS_CARD_EXPIRE = "expire"; //过期
- public static final String STATUS_CARD_NORMAL = "normal"; //正常
- public static final String STATUS_CARD_LOGOUT= "logout"; //注销
- public static final String STATUS_CARD_LOST= "lost"; //挂失
- public static final String STATUS_CARD_FROZEN = "frozen"; //冻结
- public static final String STATUS_CARD_LOCK= "lock"; //锁卡
- public static final String STATUS_CARD_EXPIRE= "expire"; //过期
-
- public static final String OPTYPE_CARD_OPEN= "open"; //开卡
- public static final String OPTYPE_CARD_DELETE= "delete"; //过期
+ public static final String OPTYPE_CARD_OPEN = "open"; //开卡
+ public static final String OPTYPE_CARD_DELETE = "delete"; //过期
- public static final String RULETYPE_QUOTA = "quota"; //定额
- public static final String RULETYPE_REDUCTION = "reduction"; //减免
- public static final String RULETYPE_DISCOUNT = "discount"; //折扣
+ public static final String RULETYPE_QUOTA = "quota"; //定额
+ public static final String RULETYPE_REDUCTION = "reduction"; //减免
+ public static final String RULETYPE_DISCOUNT = "discount"; //折扣
- public static final int POS_TIME_ERROR_DIFFMINS = 10; //设备时钟误差
+ public static final int POS_TIME_ERROR_DIFFMINS = 10; //设备时钟误差
+ public static final int TRANSDTL_STATUS_WIT=55555;
}
diff --git a/src/main/kotlin/com/supwisdom/dlpay/framework/controller/security_controller.kt b/src/main/kotlin/com/supwisdom/dlpay/framework/controller/security_controller.kt
index 24567ce..4eb8794 100644
--- a/src/main/kotlin/com/supwisdom/dlpay/framework/controller/security_controller.kt
+++ b/src/main/kotlin/com/supwisdom/dlpay/framework/controller/security_controller.kt
@@ -93,7 +93,7 @@
it.loginTimestamp = now
it.roles = api.roles
it.tenantId = tetantId
- it.token = HmacUtil.HMACSHA256( api.secret,token)
+ it.token = HmacUtil.HMACSHA256( token,api.secret)
}.also {
apiClientRepository.save(it)
}
diff --git a/src/main/resources/data.sql b/src/main/resources/data.sql
index 3a1691f..c819258 100644
--- a/src/main/resources/data.sql
+++ b/src/main/resources/data.sql
@@ -28,6 +28,7 @@
INSERT INTO "tb_devpara" (paraname,groupid,maxval,minval,paradesc,paraval,valtype) VALUES ('limit_switch', 1, NULL, NULL, '卡限开关 (0-关闭,1-开启)', '1', 'B');
INSERT INTO "tb_devpara" (paraname,groupid,maxval,minval,paradesc,paraval,valtype) VALUES ('max_cardbal', 1, '99999999', '1', '最大卡余额 ([1-99999999] 单位:分)', '99999', 'N');
INSERT INTO "tb_devpara" (paraname,groupid,maxval,minval,paradesc,paraval,valtype) VALUES ('max_offline_days', 1, '90', '0', '脱机使用最大天数 ([1-90] 单位:天)', '7', 'N');
+INSERT INTO "tb_devpara" (paraname,groupid,maxval,minval,paradesc,paraval,valtype) VALUES ('max_day_offline_amt', 1, '99999999', '0', '脱机使用额度 ([1-99999999] 单位:分)', '10000', 'N');
INSERT INTO "tb_devpara" (paraname,groupid,maxval,minval,paradesc,paraval,valtype) VALUES ('max_pay_cnt', 1, '999999', '1', '卡最大使用次数 ([1-999999])', '65535', 'N');
INSERT INTO "tb_devpara" (paraname,groupid,maxval,minval,paradesc,paraval,valtype) VALUES ('min_cardbal', 1, '99999', '0', '最小卡余额 ([0-99999] 单位:分)', '1', 'N');
INSERT INTO "tb_devpara" (paraname,groupid,maxval,minval,paradesc,paraval,valtype) VALUES ('offline_flag', 1, NULL, NULL, '脱机消费时限开关 (0-关闭, 1-开启)', '1', 'B');
@@ -82,7 +83,7 @@
INSERT INTO "tb_dictionary"(dictval,dicttype,dictcaption,dicttypename) VALUES ('online', 'transtypeList', '联机', '交易类型');
INSERT INTO "tb_dictionary"(dictval,dicttype,dictcaption,dicttypename) VALUES ('offline', 'transtypeList', '脱机', '交易类型');
INSERT INTO "tb_dictionary"(dictval,dicttype,dictcaption,dicttypename) VALUES ('revert', 'transtypeList', '冲正', '交易类型');
-INSERT INTO "tb_dictionary"(dictval,dicttype,dictcaption,dicttypename) VALUES ('normal', 'transtatusList', '成功', '流水状态');
+INSERT INTO "tb_dictionary"(dictval,dicttype,dictcaption,dicttypename) VALUES ('success', 'transtatusList', '成功', '流水状态');
INSERT INTO "tb_dictionary"(dictval,dicttype,dictcaption,dicttypename) VALUES ('fail', 'transtatusList', '失败', '流水状态');
INSERT INTO "tb_dictionary"(dictval,dicttype,dictcaption,dicttypename) VALUES ('wip', 'transtatusList', '等待', '流水状态');
INSERT INTO "tb_dictionary"(dictval,dicttype,dictcaption,dicttypename) VALUES ('init', 'transtatusList', '初始化', '流水状态');
diff --git a/src/main/resources/templates/restaurant/devicecheck/index.html b/src/main/resources/templates/restaurant/devicecheck/index.html
index 76ba2b0..6fb39e4 100644
--- a/src/main/resources/templates/restaurant/devicecheck/index.html
+++ b/src/main/resources/templates/restaurant/devicecheck/index.html
@@ -56,7 +56,6 @@
{field: 'devphyid', sort: true, width: 200, title: '设备物理id'},
{field: 'shopid', sort: true, width: 200, title: '商户id'},
{field: 'factoryid', sort: true, width: 200, title: '设备厂商'},
- {field: 'state', title: '状态', sort: true, width: 100, templet: '#device-dev-tpl-state'},
{
field: 'checkstatus',
title: '审核状态',
diff --git a/src/main/resources/templates/restaurant/discountrule/rulecheck.html b/src/main/resources/templates/restaurant/discountrule/rulecheck.html
index 8895539..75bcab1 100644
--- a/src/main/resources/templates/restaurant/discountrule/rulecheck.html
+++ b/src/main/resources/templates/restaurant/discountrule/rulecheck.html
@@ -63,6 +63,8 @@
return '定额';
} else if ('reduction' == d.ruletype) {
return '减免';
+ } else if('discount' == d.ruletype){
+ return '折扣';
} else {
return d.ruletype;
}
diff --git a/src/main/resources/templates/restaurant/transdtl/index.html b/src/main/resources/templates/restaurant/transdtl/index.html
index 9fb62b3..2b3ca6f 100644
--- a/src/main/resources/templates/restaurant/transdtl/index.html
+++ b/src/main/resources/templates/restaurant/transdtl/index.html
@@ -136,35 +136,9 @@
{field: 'billno', title: '交易号', fixed: 'left',width:200, sort: true},
{field: 'amount', title: '交易金额',width:100, sort: true,
templet: function (item) {
- return numberFormat(item.amount,2);
+ return parseFloat(item.amount).toFixed(2);
}},
{
- field: 'accdate',
- title: '交易日期',
- sort: true,
- width:120,
- templet: function (item) {
- var date = item.accdate;
- if (date != null) {
- return date.substr(0, 4) + '-' + date.substr(4, 2) + '-' + date.substr(6, 2);
- }
- return '';
- }
- },
- {
- field: 'acctime',
- title: '交易时间',
- sort: true,
- width:100,
- templet: function (item) {
- var time = item.transtime;
- if (time != null) {
- return time.substr(0, 2) + ':' + time.substr(2, 2) + ':' + time.substr(4, 2);
- }
- return '';
- }
- },
- {
field: 'transdate',
title: '交易日期',
sort: true,
@@ -190,6 +164,32 @@
return '';
}
},
+ {
+ field: 'accdate',
+ title: '记账日期',
+ sort: true,
+ width:120,
+ templet: function (item) {
+ var date = item.accdate;
+ if (date != null) {
+ return date.substr(0, 4) + '-' + date.substr(4, 2) + '-' + date.substr(6, 2);
+ }
+ return '';
+ }
+ },
+ {
+ field: 'acctime',
+ title: '记账时间',
+ sort: true,
+ width:100,
+ templet: function (item) {
+ var time = item.transtime;
+ if (time != null) {
+ return time.substr(0, 2) + ':' + time.substr(2, 2) + ':' + time.substr(4, 2);
+ }
+ return '';
+ }
+ },
{field: 'termid',width:100, title: '终端号', sort: true},
{
field: 'shopid',
diff --git a/src/main/resources/templates/restaurant/whitelist/whitelistform.html b/src/main/resources/templates/restaurant/whitelist/whitelistform.html
index 23e4133..aaba071 100644
--- a/src/main/resources/templates/restaurant/whitelist/whitelistform.html
+++ b/src/main/resources/templates/restaurant/whitelist/whitelistform.html
@@ -17,7 +17,7 @@
</button>
</div>
<div class="layui-input-inline" style="padding-top: 15px;">
- <a th:href="@{/discountrule/downloadexcel}" style="color: blue;text-decoration: none;cursor: pointer;">下载名单模板</a>
+ <a th:href="@{/whitelist/downloadexcel}" style="color: blue;text-decoration: none;cursor: pointer;">下载名单模板</a>
</div>
</div>
diff --git a/src/test/kotlin/com/supwisdom/dlpay/controller/PosPayServiceTest.java b/src/test/kotlin/com/supwisdom/dlpay/controller/PosPayServiceTest.java
index b6e3c5f..ed1913e 100644
--- a/src/test/kotlin/com/supwisdom/dlpay/controller/PosPayServiceTest.java
+++ b/src/test/kotlin/com/supwisdom/dlpay/controller/PosPayServiceTest.java
@@ -3,10 +3,7 @@
import com.supwisdom.dlpay.api.bean.*;
import com.supwisdom.dlpay.paysdk.ApiLoginHelper;
-import com.supwisdom.dlpay.paysdk.proxy.ApiLoginProxy;
-import com.supwisdom.dlpay.paysdk.proxy.CitizenCardPayProxy;
-import com.supwisdom.dlpay.paysdk.proxy.ShopProxy;
-import com.supwisdom.dlpay.paysdk.proxy.UserProxy;
+import com.supwisdom.dlpay.paysdk.proxy.*;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
@@ -42,6 +39,9 @@
private ApiLoginProxy apiLoginProxy;
@Autowired
+ private ConsumePropxy consumePropxy;
+
+ @Autowired
private UserProxy userProxy;
@Autowired
@@ -101,4 +101,16 @@
}
+
+
+ @org.junit.Test
+ public void getQrcode() {
+ ApiLoginHelper helper = new ApiLoginHelper(apiLoginProxy);
+ helper.login(appid, secret);
+ DoorQRCodeParam qrparam = new DoorQRCodeParam();
+ qrparam.setQrcode("9BZ0ORIOTBLDGPX9C60ORQ");
+ DoorQrcodeResponse qrcoderesp = consumePropxy.qrcodequery(qrparam);
+ System.out.println(qrcoderesp.getCitycardno()+":"+qrcoderesp.getCardphyid());
+ }
+
}