浏览代码

更改接口保存一版

xusonglin 5 年之前
父节点
当前提交
5f55adcba4

+ 2 - 0
src/main/java/com/jkcredit/asychronous/dao/ManRepository.java

@@ -17,4 +17,6 @@ public interface ManRepository extends MongoRepository<Man, Long> {
     List<Man> selectByTime(Long beginTime, Long endTime);
 
     List<Man> findByIdCard(String idCard);
+
+    Man findManById(String id);
 }

+ 1 - 1
src/main/java/com/jkcredit/asychronous/entity/Man.java

@@ -18,7 +18,7 @@ import java.io.Serializable;
 public class Man implements Serializable {
 
     private static final long serialVersionUID = 5030089667135944911L;
-
+    private String id;
     /**
      * 用户
      */

+ 5 - 1
src/main/java/com/jkcredit/asychronous/entity/ManFtpResult.java

@@ -18,7 +18,7 @@ import java.io.Serializable;
 public class ManFtpResult implements Serializable {
 
     private static final long serialVersionUID = 6989516301338504002L;
-
+    private String id;
     /**
      * 姓名
      */
@@ -56,4 +56,8 @@ public class ManFtpResult implements Serializable {
 
     private Long time = System.currentTimeMillis();
 
+    /**
+     * man表关联id
+     */
+    private String manId;
 }

+ 2 - 1
src/main/java/com/jkcredit/asychronous/job/ManJob.java

@@ -53,10 +53,11 @@ public class ManJob {
                 ja.add(man);
             }
             Map<String,String> headMap = new LinkedHashMap<>();
+            headMap.put("id", "序列号");
             headMap.put("name","姓名");
             headMap.put("idCard","身份证号");
             String fileName = localDir + File.separator + endTime.toString() + ".xlsx";
-
+            // todo 异常 系统找不到路径
             try {
                 OutputStream outXlsx = new FileOutputStream(fileName);
                 ExcelUtil.exportExcelX(headMap,ja,null,0,outXlsx);

+ 35 - 44
src/main/java/com/jkcredit/asychronous/process/ManLocationFileProcessor.java

@@ -74,20 +74,20 @@ public class ManLocationFileProcessor implements Processor {
         List<ManResult> manResultList = new ArrayList<>();
         //文件读取完返回结果
         List<ManFtpResult> manFtpResultList = ExcelUtil.readExcel(fileDir + splitTag + fileName);
+
+        ManResult manResult = new ManResult();
         if (manFtpResultList.size() > 0) {
             manFtpResultService.insert(manFtpResultList);
             //根据文件名称获取时间
-            String[] beforStr = fileName.split("_");
-            String[] str = beforStr[1].split("\\.");
+//            String[] beforStr = fileName.split("_");
+            String[] str = fileName.split("\\.");
             fileName = str[0];
             Long beginTime = Long.parseLong(fileName) - 10000;
             Long endTime = Long.parseLong(fileName);
             //查询时间段内的数据
-            List<Man> manList = manService.selectByTime(beginTime, endTime);
-            //查询传入数据并返回数据
+            for (ManFtpResult manFtpResult : manFtpResultList) {
 
-            ManResult manResult;
-            for (Man man : manList) {
+                Man man = manService.selectById(manFtpResult.getManId());
                 //从数据库查询的结果跟 excel结果进行比对
                 manResult = new ManResult();
                 String userName = man.getUserName();
@@ -104,50 +104,44 @@ public class ManLocationFileProcessor implements Processor {
                 manResult.setResultCode(1001);
                 manResult.setCallBlackUrl(man.getCallBlackUrl());
 
+                //如果身份证号码一致设置参数
+                if (man.getIdCard().equals(manFtpResult.getIdCard()) && man.getName().equals(manFtpResult.getName())) {
 
-                for (ManFtpResult manFtpResult : manFtpResultList) {
-
-                    //如果身份证号码一致设置参数
-                    if (man.getIdCard().equals(manFtpResult.getIdCard()) && man.getName().equals(manFtpResult.getName())) {
-
-                        String isIdCard = manFtpResult.getIsIdCard();
-                        String isDrugs = manFtpResult.getIsDrugs();
-                        String isEcape = manFtpResult.getIsEscape();
-                        String isPedigree = manFtpResult.getIsPedigree();
-                        manResult.setResultCode(1000);
-
-                        //判断返回码是否为2 如果是2 设置状态码1002 不计费
-                        if (("2").equals(isIdCard)) {
-                            manResult.setResultCode(1002);
-                        }
-                        if (("2").equals(isDrugs)) {
-                            manResult.setResultCode(1002);
-                        }
-                        if (("2").equals(isEcape)) {
-                            manResult.setResultCode(1002);
-                        }
-                        if (("2").equals(isPedigree)) {
-                            manResult.setResultCode(1002);
-                        }
-
-                        name = manFtpResult.getName();
-                        manResult.setName(name);
-                        manResult.setUserName(userName);
-                        manResult.setIdCard(idCard);
-                        manResult.setIsIdCard(stringForInt(isIdCard));
-                        manResult.setIsEscape(stringForInt(isEcape));
-                        manResult.setIsDrugs(stringForInt(isDrugs));
-                        manResult.setIsPedigree(stringForInt(isPedigree));
-                        //查询是成功设置1000
+                    String isIdCard = manFtpResult.getIsIdCard();
+                    String isDrugs = manFtpResult.getIsDrugs();
+                    String isEcape = manFtpResult.getIsEscape();
+                    String isPedigree = manFtpResult.getIsPedigree();
+                    manResult.setResultCode(1000);
 
+                    //判断返回码是否为2 如果是2 设置状态码1002 不计费
+                    if (("2").equals(isIdCard)) {
+                        manResult.setResultCode(1002);
+                    }
+                    if (("2").equals(isDrugs)) {
+                        manResult.setResultCode(1002);
+                    }
+                    if (("2").equals(isEcape)) {
+                        manResult.setResultCode(1002);
+                    }
+                    if (("2").equals(isPedigree)) {
+                        manResult.setResultCode(1002);
                     }
 
+                    name = manFtpResult.getName();
+                    manResult.setName(name);
+                    manResult.setUserName(userName);
+                    manResult.setIdCard(idCard);
+                    manResult.setIsIdCard(stringForInt(isIdCard));
+                    manResult.setIsEscape(stringForInt(isEcape));
+                    manResult.setIsDrugs(stringForInt(isDrugs));
+                    manResult.setIsPedigree(stringForInt(isPedigree));
+                    //查询是成功设置1000
                 }
                 //设置返回批次
                 manResult.setBatch(fileName);
                 manResultList.add(manResult);
-
             }
+
             /**
              * 将返回结果返回给回调地址
              */
@@ -155,7 +149,6 @@ public class ManLocationFileProcessor implements Processor {
                 manResultList.forEach(manResults -> {
                     //发送请求给回调地址
                     try {
-
                         HttpEntity httpEntity = restTemplate.postForEntity(manResults.getCallBlackUrl(), manResults,
                                 String.class);
                         int stateCode = 200;
@@ -185,8 +178,6 @@ public class ManLocationFileProcessor implements Processor {
                         chargeService.insert(charge);
                         log.error("回调地址不通:{}", manResults.getCallBlackUrl());
                     }
-
-
                 });
                 manResultService.insert(manResultList);
             } else {

+ 1 - 0
src/main/java/com/jkcredit/asychronous/service/ManService.java

@@ -17,4 +17,5 @@ public interface ManService {
 
     List<Man> selectByIdCard(String idCard);
 
+    Man selectById(String id);
 }

+ 5 - 0
src/main/java/com/jkcredit/asychronous/service/impl/ManServiceImpl.java

@@ -33,4 +33,9 @@ public class ManServiceImpl implements ManService {
     public List<Man> selectByIdCard(String idCard) {
         return manRepository.findByIdCard(idCard);
     }
+
+    @Override
+    public Man selectById(String id) {
+        return manRepository.findManById(id);
+    }
 }

+ 16 - 12
src/main/java/com/jkcredit/asychronous/util/ExcelUtil.java

@@ -122,12 +122,14 @@ public class ExcelUtil {
                 HSSFRow hssfRow = hssfSheet.getRow(rowNum);
                 if (hssfRow != null) {
                     manFtpResult = new ManFtpResult();
-                    HSSFCell name = hssfRow.getCell(0);
-                    HSSFCell idCard = hssfRow.getCell(1);
-                    HSSFCell isIdCard = hssfRow.getCell(2);
-                    HSSFCell isEscape = hssfRow.getCell(3);
-                    HSSFCell isPedigree = hssfRow.getCell(4);
-                    HSSFCell isDrugs = hssfRow.getCell(5);
+                    HSSFCell id = hssfRow.getCell(0);
+                    HSSFCell name = hssfRow.getCell(1);
+                    HSSFCell idCard = hssfRow.getCell(2);
+                    HSSFCell isIdCard = hssfRow.getCell(3);
+                    HSSFCell isEscape = hssfRow.getCell(4);
+                    HSSFCell isPedigree = hssfRow.getCell(5);
+                    HSSFCell isDrugs = hssfRow.getCell(6);
+                    manFtpResult.setManId(getValue(id).toString());
                     manFtpResult.setName(getValue(name).toString());
                     manFtpResult.setIdCard(getValue(idCard).toString());
                     manFtpResult.setIsIdCard(getValue(isIdCard).toString());
@@ -169,12 +171,14 @@ public class ExcelUtil {
                 XSSFRow xssfRow = xssfSheet.getRow(rowNum);
                 if (xssfRow != null) {
                     manFtpResult = new ManFtpResult();
-                    XSSFCell name = xssfRow.getCell(0);
-                    XSSFCell idCard = xssfRow.getCell(1);
-                    XSSFCell isIdCard = xssfRow.getCell(2);
-                    XSSFCell isEscape = xssfRow.getCell(3);
-                    XSSFCell isPedigree = xssfRow.getCell(4);
-                    XSSFCell isDrugs = xssfRow.getCell(5);
+                    XSSFCell id = xssfRow.getCell(0);
+                    XSSFCell name = xssfRow.getCell(1);
+                    XSSFCell idCard = xssfRow.getCell(2);
+                    XSSFCell isIdCard = xssfRow.getCell(3);
+                    XSSFCell isEscape = xssfRow.getCell(4);
+                    XSSFCell isPedigree = xssfRow.getCell(5);
+                    XSSFCell isDrugs = xssfRow.getCell(6);
+                    manFtpResult.setManId(getValue(id).toString());
                     manFtpResult.setName(getValue(name).toString());
                     manFtpResult.setIdCard(getValue(idCard).toString());
                     manFtpResult.setIsIdCard(getValue(isIdCard).toString());