大理车载机功能提交
diff --git a/config/application-devel-pg.properties b/config/application-devel-pg.properties
index 7396dff..5196f36 100644
--- a/config/application-devel-pg.properties
+++ b/config/application-devel-pg.properties
@@ -5,7 +5,7 @@
spring.datasource.continue-on-error=true
#spring.datasource.initialization-mode=always
spring.jpa.show-sql=true
-#logging.level.org.hibernate.SQL=DEBUG
+logging.level.org.hibernate.SQL=DEBUG
# Postgresql settings
spring.datasource.platform=postgresql
spring.datasource.url=jdbc:postgresql://172.28.201.70:15432/restauranttest
@@ -25,10 +25,10 @@
spring.jackson.serialization.fail-on-empty-beans=false
-payapi.url=https://yy.dlsmk.cn/payapi
+payapi.url=http://172.28.201.70:10010/payapi
payapi.appid=200001
cron.offlinedtl= 0 0/5 * * * ?
payapi.logintime= 0 0/5 * * * ?
-busapp.cardsync.cron=0 0/10 * * * ?
\ No newline at end of file
+busapp.cardsync.cron=0 0/1 * * * ?
\ No newline at end of file
diff --git a/src/main/java/com/supwisdom/dlpay/bus/bean/BusQuerysalesResp.java b/src/main/java/com/supwisdom/dlpay/bus/bean/BusQuerysalesResp.java
new file mode 100644
index 0000000..9d7df36
--- /dev/null
+++ b/src/main/java/com/supwisdom/dlpay/bus/bean/BusQuerysalesResp.java
@@ -0,0 +1,51 @@
+package com.supwisdom.dlpay.bus.bean;
+
+import com.supwisdom.dlpay.api.bean.APIResp;
+
+public class BusQuerysalesResp extends BusApiResp {
+ private String salesdate;
+ private Long salesamt;
+ private Long salescnt;
+ private Long managefeeamt;
+ private Long managefeecnt;
+
+ public String getSalesdate() {
+ return salesdate;
+ }
+
+ public void setSalesdate(String salesdate) {
+ this.salesdate = salesdate;
+ }
+
+ public Long getSalesamt() {
+ return salesamt;
+ }
+
+ public void setSalesamt(Long salesamt) {
+ this.salesamt = salesamt;
+ }
+
+ public Long getSalescnt() {
+ return salescnt;
+ }
+
+ public void setSalescnt(Long salescnt) {
+ this.salescnt = salescnt;
+ }
+
+ public Long getManagefeeamt() {
+ return managefeeamt;
+ }
+
+ public void setManagefeeamt(Long managefeeamt) {
+ this.managefeeamt = managefeeamt;
+ }
+
+ public Long getManagefeecnt() {
+ return managefeecnt;
+ }
+
+ public void setManagefeecnt(Long managefeecnt) {
+ this.managefeecnt = managefeecnt;
+ }
+}
diff --git a/src/main/java/com/supwisdom/dlpay/bus/controller/BusConsumeController.java b/src/main/java/com/supwisdom/dlpay/bus/controller/BusConsumeController.java
index f178ce2..684039f 100644
--- a/src/main/java/com/supwisdom/dlpay/bus/controller/BusConsumeController.java
+++ b/src/main/java/com/supwisdom/dlpay/bus/controller/BusConsumeController.java
@@ -3,44 +3,48 @@
import com.supwisdom.dlpay.bus.bean.*;
import com.supwisdom.dlpay.bus.service.BusConsumeService;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.ModelAttribute;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api/bus")
public class BusConsumeController {
- @Autowired
- private BusConsumeService busConsumeService;
+ @Autowired
+ private BusConsumeService busConsumeService;
- @PostMapping("/login")
- public BusDevLoginResp busLogin(@ModelAttribute BusDevLoginReq req) {
- return new BusDevLoginResp();
- }
+ @PostMapping("/login")
+ public BusDevLoginResp busLogin(@ModelAttribute BusDevLoginReq req) {
+ return busConsumeService.doLogin(req);
+ }
- @PostMapping("/heartbeat")
- public BusHeartBeatResp heartBeat(@ModelAttribute BusHeartBeatReq req) {
- return new BusHeartBeatResp();
- }
+ @PostMapping("/heartbeat")
+ public BusHeartBeatResp heartBeat(@ModelAttribute BusHeartBeatReq req) {
+ return busConsumeService.busHeartBeat(req);
+ }
- @PostMapping("/updatesyspara")
- public BusSysparaResp updateSyspara(@ModelAttribute BusSysparaReq req){
- return new BusSysparaResp();
- }
+ @PostMapping("/updatesyspara")
+ public BusSysparaResp updateSyspara(@ModelAttribute BusSysparaReq req) {
+ return busConsumeService.doGetDevpara(req);
+ }
- @PostMapping("/blacklistbitmap")
- public String downloadBlacklistbitmap(){
- return "";
- }
+ @PostMapping("/blacklistbitmap")
+ public String downloadBlacklistbitmap() {
+ return "";
+ }
- @PostMapping("/downloadblacklist")
- public BusBlacklistResp downloadBlacklist(@ModelAttribute BusBlacklistReq req){
- return new BusBlacklistResp();
- }
+ @PostMapping("/downloadblacklist")
+ public BusBlacklistResp downloadBlacklist(@ModelAttribute BusBlacklistReq req) {
+ return busConsumeService.doGetBlacklist(req);
+ }
- @PostMapping("/busdtlupload")
- public BusDtlUploadResp uploadBusdtl(@ModelAttribute BusdtlUploadReq req){
- return new BusDtlUploadResp();
- }
+ @PostMapping("/busdtlupload")
+ public BusDtlUploadResp uploadBusdtl(@ModelAttribute BusdtlUploadReq req) {
+ return busConsumeService.saveOfflineDtl(req);
+ }
+
+ //营业额查询
+ @RequestMapping(value = "/querysales", method = RequestMethod.POST)
+ @ResponseBody
+ public BusQuerysalesResp querysales(@ModelAttribute BusSysparaReq req) {
+ return busConsumeService.busQuerySales(req);
+ }
}
diff --git a/src/main/java/com/supwisdom/dlpay/bus/domain/TOfflineBusdtl.java b/src/main/java/com/supwisdom/dlpay/bus/domain/TOfflineBusdtl.java
index f068de4..6af8665 100644
--- a/src/main/java/com/supwisdom/dlpay/bus/domain/TOfflineBusdtl.java
+++ b/src/main/java/com/supwisdom/dlpay/bus/domain/TOfflineBusdtl.java
@@ -26,7 +26,7 @@
@Column(name = "dtltype", nullable = false, length = 10)
private String dtltype; //card-刷卡流水;qrcode-刷二维码流水
- @Column(name = "termseqno", length = 20)
+ @Column(name = "cardno", length = 20)
private String cardno;
@Column(name = "cardphyid", length = 20)
diff --git a/src/main/java/com/supwisdom/dlpay/bus/service/BusConsumeService.java b/src/main/java/com/supwisdom/dlpay/bus/service/BusConsumeService.java
index 5da2be4..7033b6a 100644
--- a/src/main/java/com/supwisdom/dlpay/bus/service/BusConsumeService.java
+++ b/src/main/java/com/supwisdom/dlpay/bus/service/BusConsumeService.java
@@ -13,5 +13,5 @@
BusDtlUploadResp saveOfflineDtl(BusdtlUploadReq req);
-
+ BusQuerysalesResp busQuerySales(BusSysparaReq req);
}
diff --git a/src/main/java/com/supwisdom/dlpay/bus/service/impl/BusConsumeServiceImpl.java b/src/main/java/com/supwisdom/dlpay/bus/service/impl/BusConsumeServiceImpl.java
index f9104e9..6c71ae7 100644
--- a/src/main/java/com/supwisdom/dlpay/bus/service/impl/BusConsumeServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/bus/service/impl/BusConsumeServiceImpl.java
@@ -6,8 +6,10 @@
import com.supwisdom.dlpay.bus.bean.*;
import com.supwisdom.dlpay.bus.dao.CitizenCardDao;
import com.supwisdom.dlpay.bus.dao.CitizenCardverDao;
+import com.supwisdom.dlpay.bus.dao.OfflineBusdtlDao;
import com.supwisdom.dlpay.bus.domain.TCitizenCard;
import com.supwisdom.dlpay.bus.domain.TCitizenCardver;
+import com.supwisdom.dlpay.bus.domain.TOfflineBusdtl;
import com.supwisdom.dlpay.bus.service.BusConsumeService;
import com.supwisdom.dlpay.bus.service.CitizenCardService;
import com.supwisdom.dlpay.bus.util.BusConstant;
@@ -20,6 +22,8 @@
import com.supwisdom.dlpay.paysdk.proxy.CitizenCardPayProxy;
import com.supwisdom.dlpay.paysdk.proxy.TransactionProxy;
import com.supwisdom.dlpay.paysdk.proxy.UserProxy;
+import com.supwisdom.dlpay.restaurant.bean.ManageFeeAmtBean;
+import com.supwisdom.dlpay.restaurant.bean.SalesAmtBean;
import com.supwisdom.dlpay.restaurant.dao.*;
import com.supwisdom.dlpay.restaurant.domain.*;
import com.supwisdom.dlpay.restaurant.service.*;
@@ -44,7 +48,7 @@
@Autowired
private TransDtlService transDtlService;
@Autowired
- private OfflineTransDtlService offlineTransDtlService;
+ private OfflineBusdtlDao offlineBusdtlDao;
@Autowired
private SysparaDao sysparaDao;
@Autowired
@@ -165,7 +169,7 @@
device.setCardverno(req.getCardverno());
deviceService.saveDevice(device);
List<BusCardverBean> cardverFlags = new ArrayList<>();
- TSyspara maxcardver = sysparaDao.findByParaidWithLockNowait(BusConstant.SYSPARAID_MAXCARDVERNO); //非等待锁
+ TSyspara maxcardver = sysparaDao.findByParaid(BusConstant.SYSPARAID_MAXBLACKCARDVERNO);
String maxCardverno = maxcardver.getParaval();
Integer count = req.getMaxcount();
@@ -226,14 +230,16 @@
resp.setRetmsg("未配置默认参数");
return resp;
}
+ TSyspara maxcardver = sysparaDao.findByParaid(BusConstant.SYSPARAID_MAXBLACKCARDVERNO);
+ String maxCardverno = maxcardver.getParaval();
resp.setRetcode(ErrorCode.ERRIF_OK);
resp.setRetmsg("心跳成功");
resp.setSystime(datetime);
resp.setParaverno(group.getVerno().intValue());
resp.setParagroupid(group.getGroupid());
- resp.setCardverno(req.getCardverno());
+ resp.setCardverno(maxCardverno);
return resp;
}
@@ -241,63 +247,99 @@
@Override
public BusDtlUploadResp saveOfflineDtl(BusdtlUploadReq req) {
BusDtlUploadResp resp = new BusDtlUploadResp();
- TOfflineTransDtl transDtl = new TOfflineTransDtl();
+ TOfflineBusdtl transDtl = new TOfflineBusdtl();
transDtl.setTransdate(req.getTransdate());
transDtl.setTranstime(req.getTranstime());
transDtl.setBillno(systemUtilService.getRefno());
transDtl.setCardno(req.getCardno());
- transDtl.setRevflag(0);
- transDtl.setTermsqlno(req.getTermseqno());
- String err = "";
- TDevice device = deviceService.getDeviceByDevphyid(req.getDevphyid());
- if (null == device) {
- err += "设备物理ID不存在;";
- }
- if (1 != device.getState()) {
- err += "设备状态错误;";
- }
- if (!BusConstant.STATUS_NORMAL.equals(device.getCheckstatus())) {
- err += "设备审核未通过;";
- }
- if (!"".equals(err)) {
- transDtl.setAttr1(err);
- offlineTransDtlService.saveOfflineTransdtl(transDtl);
+ transDtl.setTermseqno(req.getTermseqno());
+ transDtl.setCollecttime(systemUtilService.getSysdatetime().getHostdatetime());
+ transDtl.setCardno(req.getCardno());
+ transDtl.setTranstime(req.getTranstime());
+ transDtl.setTransdate(req.getTransdate());
+ transDtl.setAmount(req.getAmount() / 100.0);
+ transDtl.setDtltype("card");
+ transDtl.setDtlstat(req.getStatus());
+ transDtl.setQrcode("");
+
+ TCitizenCard tCard = cardDao.findByCardno(req.getCardno());
+ if (null == tCard) {
+ transDtl.setErrcode(BusConstant.BUS_OFFLINE_NOUSER);
+ transDtl.setErrmsg("卡号不存在");
+
+ offlineBusdtlDao.save(transDtl);
resp.setRetmsg("保存成功");
resp.setRetcode(ErrorCode.ERRIF_OK);
return resp;
}
- Double amount = req.getAmount() / 100.0;
+ transDtl.setPayerid(tCard.getPayerid());
+ transDtl.setCardphyid(tCard.getCardphyid());
+ transDtl.setPayername(tCard.getUsername());
- String cardno;
+ TDevice device = deviceService.getDeviceByDevphyid(req.getDevphyid());
+ if (null == device) {
+ transDtl.setErrcode(BusConstant.BUS_OFFLINE_NODEVICE);
+ transDtl.setErrmsg("设备物理ID不存在");
- cardno = req.getCardno();
-
- TCitizenCard tCard = cardDao.findByCardno(cardno);
- if (null == tCard) {
- err += "卡号[" + req.getCardno() + "]不存在;";
- } else {
- transDtl.setCustname(tCard.getUsername());
+ offlineBusdtlDao.save(transDtl);
+ resp.setRetmsg("保存成功");
+ resp.setRetcode(ErrorCode.ERRIF_OK);
+ return resp;
}
- transDtl.setAmount(amount);
-
- if (device.getState() != 1) {
- err += "设备状态错误;";
- } else {
- transDtl.setTermid(device.getId());
- transDtl.setShopid(device.getShopid());
+ if (1 != device.getState()) {
+ transDtl.setErrcode(BusConstant.BUS_OFFLINE_DEVICEERROR);
+ transDtl.setErrmsg("设备状态异常");
+ offlineBusdtlDao.save(transDtl);
+ resp.setRetmsg("保存成功");
+ resp.setRetcode(ErrorCode.ERRIF_OK);
+ return resp;
}
+ if (!BusConstant.STATUS_NORMAL.equals(device.getCheckstatus())) {
+ transDtl.setErrcode(BusConstant.BUS_OFFLINE_DEVICEERROR);
+ transDtl.setErrmsg("设备审核未通过");
+ offlineBusdtlDao.save(transDtl);
+ resp.setRetmsg("保存成功");
+ resp.setRetcode(ErrorCode.ERRIF_OK);
+ return resp;
+ }
+
+ transDtl.setTermid(device.getId());
+ transDtl.setDevphyid(device.getDevphyid());
+ transDtl.setMerchaccno(device.getShopid());
transDtl.setStatus(BusConstant.STATUS_INIT);
- transDtl.setAttr1(err);
- transDtl.setTransmode(BusConstant.TRANSMODE_BUS);
- offlineTransDtlService.saveOfflineTransdtl(transDtl);
-
+ offlineBusdtlDao.save(transDtl);
resp.setRetcode(ErrorCode.ERRIF_OK);
resp.setRetmsg("保存成功");
resp.setTermseqno(req.getTermseqno());
return resp;
}
+ @Override
+ public BusQuerysalesResp busQuerySales(BusSysparaReq req) {
+ BusQuerysalesResp resp = new BusQuerysalesResp();
+ TDevice device = deviceService.getDeviceByDevphyid(req.getDevphyid());
+ BusApiResp 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());
+
+
+ resp.setRetcode(ErrorCode.ERRIF_OK);
+ resp.setRetmsg("返回成功");
+ // resp.setManagefeeamt(feeAmtBean.getManagefeeamt());
+ // resp.setManagefeecnt(feeAmtBean.getManagefeecnt());
+ resp.setSalesamt(salesAmtBean.getSalesamt());
+ resp.setSalescnt(salesAmtBean.getSalescnt());
+ resp.setSalesdate(req.getTermdate());
+ return resp;
+ }
+
private BusApiResp checkDevice(BusApiResp resp, TDevice device) {
if (null == device) {
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 c826a47..6039d60 100644
--- a/src/main/java/com/supwisdom/dlpay/bus/util/BusConstant.java
+++ b/src/main/java/com/supwisdom/dlpay/bus/util/BusConstant.java
@@ -38,4 +38,8 @@
public final static String TRANSMODE_BUS="bus";
+ public final static String BUS_OFFLINE_NODEVICE = "11";
+ public final static String BUS_OFFLINE_NOUSER = "12";
+ public final static String BUS_OFFLINE_DEVICEERROR = "13";
+
}
diff --git a/src/main/kotlin/com/supwisdom/dlpay/security.kt b/src/main/kotlin/com/supwisdom/dlpay/security.kt
index 8e9ffce..bd7e1e4 100644
--- a/src/main/kotlin/com/supwisdom/dlpay/security.kt
+++ b/src/main/kotlin/com/supwisdom/dlpay/security.kt
@@ -129,6 +129,7 @@
.antMatchers("/api/user/**").hasRole("THIRD_ADMIN")
.antMatchers("/api/shop/**").hasRole("THIRD_SHOP")
.antMatchers("/api/pos/**").hasRole("THIRD_SHOP")
+ .antMatchers("/api/bus/**").hasRole("THIRD_SHOP")
.anyRequest().hasRole("THIRD_COMMON")
.and()
.csrf().ignoringAntMatchers("/api/**")