From 8cf6f6c327dc4258c7dc265765552eced8296815 Mon Sep 17 00:00:00 2001
From: kongdeqiang <123456>
Date: 星期三, 26 四月 2023 14:28:10 +0800
Subject: [PATCH] 对账

---
 src/main/java/com/boying/job/ReadFileScheduled.java              |  121 ++++++++++++++++++++++++++++++
 src/main/java/com/boying/controller/phone/EticketController.java |    2 
 src/main/java/com/boying/mapper/ErrorLogMapper.java              |   17 ++++
 src/main/java/com/boying/service/impl/ErrorLogServiceImpl.java   |   23 +++++
 src/main/java/com/boying/controller/phone/YCPayController.java   |    4 +
 src/main/java/com/boying/service/ErrorLogService.java            |   15 +++
 src/main/java/com/boying/entity/ErrorLog.java                    |   38 +++++++++
 7 files changed, 218 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/boying/controller/phone/EticketController.java b/src/main/java/com/boying/controller/phone/EticketController.java
index 07451d6..8c98762 100644
--- a/src/main/java/com/boying/controller/phone/EticketController.java
+++ b/src/main/java/com/boying/controller/phone/EticketController.java
@@ -96,12 +96,10 @@
         map1.put("randomnumber","");
         map1.put("billfiletype",1);
         SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd_HH_mm_ss");
-        String txt = sdf3.format(new Date())+"鐢宠绁ㄦ嵁鏂囦欢锛�"+map1+",\n";
         RestTemplate restTemplate = new RestTemplate();
         ResponseEntity<ReturnData> entity = restTemplate.postForEntity("http://10.255.200.204:7991/geteinvoicebybizcode", HTTPEntityUtil.setEntity(map1), ReturnData.class);
         if(entity.getBody().getCode() == 1){
             System.out.println(entity.getBody());
-            txt += entity.getBody()+",\n";
             Object o1 = entity.getBody().getData().get(0);
             String s1 = JSON.toJSONString(o1);
             EticketFile eticketFile = JSONObject.parseObject(s1, EticketFile.class);
diff --git a/src/main/java/com/boying/controller/phone/YCPayController.java b/src/main/java/com/boying/controller/phone/YCPayController.java
index ac244ab..6eb5003 100644
--- a/src/main/java/com/boying/controller/phone/YCPayController.java
+++ b/src/main/java/com/boying/controller/phone/YCPayController.java
@@ -299,6 +299,10 @@
         Path path = Paths.get("E:\\ycCheckBill\\Bank_PSBC_20350421.txt");
         try {
             List<String>  lines = Files.readAllLines(path);
+            String s = lines.get(0);
+            String[] split = s.split("\\|");
+
+
             for (String line : lines) {
                 System.out.println(line);
             }
diff --git a/src/main/java/com/boying/entity/ErrorLog.java b/src/main/java/com/boying/entity/ErrorLog.java
new file mode 100644
index 0000000..09cc814
--- /dev/null
+++ b/src/main/java/com/boying/entity/ErrorLog.java
@@ -0,0 +1,38 @@
+package com.boying.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.boying.common.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+
+/**
+ * @author kdq
+ * @version 1.0.0
+ * @ClassName ErrorLog.java
+ * @Description TODO
+ * @createTime 2023骞�04鏈�24鏃� 09:28:00
+ */
+@Data
+@TableName("error_log")
+@javax.persistence.Table(name = "error_log")
+@Entity
+@org.hibernate.annotations.Table(appliesTo = "error_log", comment = "瀵硅处閿欒鏃ュ織琛�")
+@ApiModel(value = "瀵硅处閿欒鏃ュ織琛�")
+public class ErrorLog extends BaseEntity<ErrorLog> {
+
+    @ApiModelProperty(value = "鍑哄仠杞﹀満id鎴栫綒鍗昳d")
+    @Column(columnDefinition = "int comment '鍑哄仠杞﹀満id鎴栫綒鍗昳d'")
+    private Integer queryId;
+
+    @ApiModelProperty(value = "閲戦")
+    @Column(columnDefinition = "double(10,2) default '0.00' comment '閲戦'")
+    private double money;
+
+    @ApiModelProperty(value = "澶囨敞锛氱即璐规垚鍔�/缂存澶辫触")
+    @Column(columnDefinition = "varchar(200) comment '澶囨敞锛氬簲缂存湭缂�/缂存澶辫触'")
+    private String remark;
+}
diff --git a/src/main/java/com/boying/job/ReadFileScheduled.java b/src/main/java/com/boying/job/ReadFileScheduled.java
new file mode 100644
index 0000000..ea25c48
--- /dev/null
+++ b/src/main/java/com/boying/job/ReadFileScheduled.java
@@ -0,0 +1,121 @@
+package com.boying.job;
+
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.boying.entity.ErrorLog;
+import com.boying.entity.OrderRecord;
+import com.boying.service.ErrorLogService;
+import com.boying.service.OrderRecordService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
+/**
+ * @author kdq
+ * @version 1.0.0
+ * @ClassName ReadFileScheduled.java
+ * @Description TODO
+ * @createTime 2023骞�04鏈�24鏃� 09:07:00
+ */
+@Slf4j
+@Component
+public class ReadFileScheduled {
+
+    @Autowired
+    private OrderRecordService orderRecordService;
+    @Autowired
+    private ErrorLogService errorLogService;
+
+    //@Scheduled(cron = "0 30 14 * * ?")
+    public void execute() throws Exception {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+        String format = sdf.format(new Date());
+        Path path = Paths.get("E:\\ycCheckBill\\Bank_PSBC_"+format+".txt");
+
+        Calendar cal= Calendar.getInstance();
+        cal.add(Calendar.DATE,-1);
+        Date d=cal.getTime();
+        SimpleDateFormat sp=new SimpleDateFormat("yyyy-MM-dd");
+        String ZUOTIAN=sp.format(d);//鑾峰彇鏄ㄥぉ鏃ユ湡
+        String JINTIAN=sp.format(new Date());//鑾峰彇浠婂ぉ鏃ユ湡
+        DateTime start = DateUtil.parse(ZUOTIAN + " 22:30:00");
+        DateTime end = DateUtil.parse(JINTIAN + " 22:29:59");
+
+        QueryWrapper<OrderRecord> wrapper = new QueryWrapper<>();
+        wrapper.lambda()
+                .isNotNull(OrderRecord::getUpdateTime)
+                .between(OrderRecord::getUpdateTime,start,end)
+                .isNotNull(OrderRecord::getMoney)
+                .eq(OrderRecord::getStatus,1)
+                .eq(OrderRecord::getType,1);
+        List<OrderRecord> list = orderRecordService.list(wrapper);
+
+        try {
+            List<String> lines = Files.readAllLines(path);
+            String s = lines.get(0);
+            String[] split = s.split("\\|");
+            int count = Integer.parseInt(split[0]);
+            //鍒ゆ柇count鏁伴噺鏄惁澶т簬0
+            if(count == 0){
+                if(list.size() >0){
+                    //閭偍娌℃湁鏀跺埌閲戦锛岃鍗曡〃閲屾湁璁板綍
+                    for (OrderRecord orderRecord : list) {
+                        ErrorLog errorLog = new ErrorLog();
+                        errorLog.setMoney(orderRecord.getMoney());
+                        errorLog.setQueryId(orderRecord.getId());
+                        errorLog.setRemark("缂存澶辫触");
+                        errorLogService.save(errorLog);
+                    }
+                }
+            }else {
+                List<OrderRecord> lineList = new ArrayList<>();
+                for (int i = 1; i < lines.size(); i++) {
+                    String s1 = lines.get(i);
+                    String[] split1 = s.split("\\|");
+                    int id = Integer.parseInt(split[1]);
+                    OrderRecord byId = orderRecordService.getById(id);
+                    lineList.add(byId);
+                }
+
+                //list 涓湁鐨勶紝浣嗘槸lineList娌℃湁鐨�
+                Map<OrderRecord, OrderRecord> tempMap = lineList.parallelStream().collect(Collectors.toMap(Function.identity(), Function.identity(), (oldData, newData) -> newData));
+                List<OrderRecord> collect = list.parallelStream().filter(str -> {
+                    return !tempMap.containsKey(str);
+                }).collect(Collectors.toList());
+
+                for (OrderRecord orderRecord : collect) {
+                    ErrorLog errorLog = new ErrorLog();
+                    errorLog.setMoney(orderRecord.getMoney());
+                    errorLog.setQueryId(orderRecord.getId());
+                    errorLog.setRemark("缂存澶辫触");
+                    errorLogService.save(errorLog);
+                }
+                //lineList 涓湁鐨勶紝浣嗘槸List娌℃湁鐨�
+                Map<OrderRecord, OrderRecord> tempMap1 = list.parallelStream().collect(Collectors.toMap(Function.identity(), Function.identity(), (oldData, newData) -> newData));
+                List<OrderRecord> collect1 = lineList.parallelStream().filter(str -> {
+                    return !tempMap1.containsKey(str);
+                }).collect(Collectors.toList());
+
+                for (OrderRecord orderRecord : collect1) {
+                    ErrorLog errorLog = new ErrorLog();
+                    errorLog.setMoney(orderRecord.getMoney());
+                    errorLog.setQueryId(orderRecord.getId());
+                    errorLog.setRemark("缂存鎴愬姛");
+                    errorLogService.save(errorLog);
+                }
+            }
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+}
diff --git a/src/main/java/com/boying/mapper/ErrorLogMapper.java b/src/main/java/com/boying/mapper/ErrorLogMapper.java
new file mode 100644
index 0000000..ed0f05a
--- /dev/null
+++ b/src/main/java/com/boying/mapper/ErrorLogMapper.java
@@ -0,0 +1,17 @@
+package com.boying.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.boying.entity.EnterPark;
+import com.boying.entity.ErrorLog;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author kdq
+ * @version 1.0.0
+ * @ClassName ErrorLogMapper.java
+ * @Description TODO
+ * @createTime 2023骞�04鏈�24鏃� 15:51:00
+ */
+@Mapper
+public interface ErrorLogMapper extends BaseMapper<ErrorLog> {
+}
diff --git a/src/main/java/com/boying/service/ErrorLogService.java b/src/main/java/com/boying/service/ErrorLogService.java
new file mode 100644
index 0000000..0ceaff3
--- /dev/null
+++ b/src/main/java/com/boying/service/ErrorLogService.java
@@ -0,0 +1,15 @@
+package com.boying.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.boying.entity.ErrorLog;
+import com.boying.entity.FileInfo;
+
+/**
+ * @author kdq
+ * @version 1.0.0
+ * @ClassName ErrorLogService.java
+ * @Description TODO
+ * @createTime 2023骞�04鏈�24鏃� 15:49:00
+ */
+public interface ErrorLogService extends IService<ErrorLog> {
+}
diff --git a/src/main/java/com/boying/service/impl/ErrorLogServiceImpl.java b/src/main/java/com/boying/service/impl/ErrorLogServiceImpl.java
new file mode 100644
index 0000000..b7877c1
--- /dev/null
+++ b/src/main/java/com/boying/service/impl/ErrorLogServiceImpl.java
@@ -0,0 +1,23 @@
+package com.boying.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.boying.entity.EnterPark;
+import com.boying.entity.ErrorLog;
+import com.boying.mapper.EnterParkMapper;
+import com.boying.mapper.ErrorLogMapper;
+import com.boying.service.EnterParkService;
+import com.boying.service.ErrorLogService;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author kdq
+ * @version 1.0.0
+ * @ClassName ErrorLogServiceImpl.java
+ * @Description TODO
+ * @createTime 2023骞�04鏈�24鏃� 15:50:00
+ */
+@Service
+@AllArgsConstructor
+public class ErrorLogServiceImpl extends ServiceImpl<ErrorLogMapper, ErrorLog> implements ErrorLogService {
+}

--
Gitblit v1.9.1