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