离线交易代码逻辑修改
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 0f15938..37aaef4 100644
--- a/src/main/java/com/supwisdom/dlpay/api/task/PosPayTask.java
+++ b/src/main/java/com/supwisdom/dlpay/api/task/PosPayTask.java
@@ -11,6 +11,7 @@
 import com.supwisdom.dlpay.restaurant.service.OfflineTransDtlService;
 import com.supwisdom.dlpay.restaurant.service.TransDtlService;
 import com.supwisdom.dlpay.restaurant.util.RestaurantConstant;
+import org.jetbrains.annotations.NotNull;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -37,53 +38,38 @@
     private CitizenCardPayProxy citizenCardPayProxy;
 
     @Scheduled(cron = "${cron.offlinedtl}")
-    private void submitOfflineDtlTask(){
-        String date=DateUtil.getNow("yyyyMMdd");
-        List<TOfflineTransDtl> dtls=offlineTransDtlService.getUncheckOfflineTransdtl(date);
-        logger.info("正在上传"+dtls.size()+"笔流水");
-        if(dtls.size()>0){
-            for(TOfflineTransDtl dtl:dtls){
+    private void submitOfflineDtlTask() {
+        String date = DateUtil.getNow("yyyyMMdd");
+        List<TOfflineTransDtl> dtls = offlineTransDtlService.getUncheckOfflineTransdtl(date, RestaurantConstant.TRANSTYPE_TRANSDTL_OFFLINE);
+        logger.info("正在上传" + dtls.size() + "笔流水");
+        if (dtls.size() > 0) {
+            for (TOfflineTransDtl dtl : dtls) {
 
-                TTransDtl tTransDtl=new TTransDtl();
-                tTransDtl.setManagefee(dtl.getManagefee());
-                tTransDtl.setTransmode("offline");
-                tTransDtl.setAmount(dtl.getAmount());
-                tTransDtl.setCardno(dtl.getCardno());
-                tTransDtl.setStatus(dtl.getStatus());
-                tTransDtl.setBillno(dtl.getBillno());
-                tTransDtl.setTermsqlno(dtl.getTermsqlno());
-                tTransDtl.setMealtype(dtl.getMealtype());
-                tTransDtl.setCusttype(dtl.getCusttype());
-                tTransDtl.setShopid(dtl.getShopid());
-                tTransDtl.setTransdate(dtl.getTransdate());
-                tTransDtl.setTranstime(dtl.getTranstime());
-                tTransDtl.setCustname(dtl.getCustname());
-                tTransDtl.setTermid(dtl.getTermid());
-                tTransDtl.setRuleid(dtl.getRuleid());
-                tTransDtl.setManagefee(dtl.getManagefee());
+                TTransDtl tTransDtl = gettTransDtl(dtl);
 
+                tTransDtl.setTransmode(RestaurantConstant.TRANSTYPE_TRANSDTL_OFFLINE);
 
-                CitizenCardPayinitParam param=new CitizenCardPayinitParam();
+                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.setDtltype("canteen");
-                Double amt=dtl.getAmount()*100;
+                Double amt = dtl.getAmount() * 100;
                 param.setAmount(amt.intValue());
-                CitizenPayResponse response=citizenCardPayProxy.citizencardPayinit(param);
-                if(response.getRetcode()!=0){
+                CitizenPayResponse response = citizenCardPayProxy.citizencardPayinit(param);
+                if (response.getRetcode() != 0) {
                     saveTransdtls(dtl, tTransDtl, response);
-                    logger.info(dtl.getBillno()+"初始化失败,"+response.getRetcode()+","+response.getRetmsg()+","+ response.getException());
+                    logger.info(dtl.getBillno() + "初始化失败," + response.getRetcode() + "," + response.getRetmsg() + "," + response.getException());
                     continue;
                 }
-                CitizenCardPayfinishParam finishparam=new CitizenCardPayfinishParam();
+                CitizenCardPayfinishParam finishparam = new CitizenCardPayfinishParam();
                 finishparam.setRefno(response.getRefno());
-                CitizenPayResponse finishresp=citizenCardPayProxy.citizencardPayFinish(finishparam);
-                if(finishresp.getRetcode()!=0){
+                CitizenPayResponse finishresp = citizenCardPayProxy.citizencardPayFinish(finishparam);
+                if (finishresp.getRetcode() != 0) {
                     saveTransdtls(dtl, tTransDtl, finishresp);
-                    logger.info(dtl.getBillno()+"消费缺认失败,"+finishresp.getRetcode()+","+finishresp.getRetmsg()+","+ finishresp.getException());
+                    logger.info(dtl.getBillno() + "消费缺认失败," + finishresp.getRetcode() + "," + finishresp.getRetmsg() + "," + finishresp.getException());
                     continue;
                 }
                 tTransDtl.setAccdate(date);
@@ -95,8 +81,39 @@
 
         }
 
+        List<TOfflineTransDtl> revdtls = offlineTransDtlService.getUncheckOfflineTransdtl(date, RestaurantConstant.TRANSTYPE_TRANSDTL_REVERT);
+        if (revdtls.size() > 0) {
+            for (TOfflineTransDtl revdtl : revdtls) {
+                TTransDtl tTransDtl = gettTransDtl(revdtl);
+                tTransDtl.setTranstype(RestaurantConstant.TRANSTYPE_TRANSDTL_REVERT);
+                transDtlService.doRevertTransdtl(tTransDtl);
+            }
+        }
+
     }
 
+    @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.setBillno(dtl.getBillno());
+        tTransDtl.setTermsqlno(dtl.getTermsqlno());
+        tTransDtl.setMealtype(dtl.getMealtype());
+        tTransDtl.setCusttype(dtl.getCusttype());
+        tTransDtl.setShopid(dtl.getShopid());
+        tTransDtl.setTransdate(dtl.getTransdate());
+        tTransDtl.setTranstime(dtl.getTranstime());
+        tTransDtl.setCustname(dtl.getCustname());
+        tTransDtl.setTermid(dtl.getTermid());
+        tTransDtl.setRuleid(dtl.getRuleid());
+        tTransDtl.setManagefee(dtl.getManagefee());
+        return tTransDtl;
+    }
+
+
     private void saveTransdtls(TOfflineTransDtl dtl, TTransDtl tTransDtl, CitizenPayResponse finishresp) {
         dtl.setStatus(RestaurantConstant.STATUS_TRANSDTL_FAIL);
         dtl.setAttr1(finishresp.getRetmsg() + "," + finishresp.getException());
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/service/OfflineTransDtlService.java b/src/main/java/com/supwisdom/dlpay/restaurant/service/OfflineTransDtlService.java
index 74f128a..7eb378c 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/service/OfflineTransDtlService.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/service/OfflineTransDtlService.java
@@ -30,7 +30,7 @@
 
 
     @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class,readOnly = true)
-    List<TOfflineTransDtl> getUncheckOfflineTransdtl(String accdate);
+    List<TOfflineTransDtl> getUncheckOfflineTransdtl(String transdate,String transtype);
 
 
 }
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/OfflineTransDtlServiceImpl.java b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/OfflineTransDtlServiceImpl.java
index 8c5ea23..b6a635d 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/OfflineTransDtlServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/OfflineTransDtlServiceImpl.java
@@ -93,7 +93,6 @@
         }else{
             targetDtl=new TOfflineTransDtl();
         }
-        Integer osqlno=targetDtl.getTermsqlno();
         TOfflineTransDtl revDtl=new TOfflineTransDtl();
         BeanUtils.copyProperties(targetDtl,revDtl);
         revDtl.setBillno(systemUtilService.getRefno());
@@ -112,7 +111,7 @@
     }
 
     @Override
-    public List<TOfflineTransDtl> getUncheckOfflineTransdtl(String accdate) {
-        return transDtlDao.findAllByTransdateAndStatusAndTranstype(accdate,RestaurantConstant.STATUS_TRANSDTL_INIT,RestaurantConstant.TRANSTYPE_TRANSDTL_OFFLINE);
+    public List<TOfflineTransDtl> getUncheckOfflineTransdtl(String transdate,String transtype) {
+        return transDtlDao.findAllByTransdateAndStatusAndTranstype(transdate,RestaurantConstant.STATUS_TRANSDTL_INIT,RestaurantConstant.TRANSTYPE_TRANSDTL_OFFLINE);
     }
 }