ソースを参照

1、初始化接口updateAuditTripByDateDir、initAuditTripByDateDir、initAuditTrip新增自动审核逻辑;
2、修复updateAuditTripByDateDir接口bug,提高健壮性;
3、新增定时回收upload文件夹内的jpg文件;
4、新增当自动审核图片为单张时,不进行上传到服务器。

pc147123 4 ヶ月 前
コミット
7ad6f1ad62

+ 5 - 0
src/main/java/com/pavis/ctr/audit/common/constant/Constants.java

@@ -126,6 +126,11 @@ public class Constants {
      */
     public static final String INVALID_PURCHASE_DATE = "6";
 
+    /**
+     * 抽奖订单
+     */
+    public static final String SWEEPSTAkES_ORDERS = "7";
+
     /**
      * 无效日期天数
      */

+ 7 - 0
src/main/java/com/pavis/ctr/audit/common/utils/BosUtils.java

@@ -68,7 +68,14 @@ public class BosUtils {
         } catch (BceServiceException e) {
             if (e.getStatusCode() == StatusCodes.NOT_FOUND) {
                 System.out.println("key:" + key + "不存在,可能已被删除");
+            }else {
+                System.out.println("抛出异常:"+e.getMessage());
+
             }
+            //重新抛出异常 解决BceServiceException 异常抛出到日志情况
+            throw e;
+        } catch (Exception e){
+            System.out.println(e.getMessage());
         }
     }
 }

+ 7 - 7
src/main/java/com/pavis/ctr/audit/common/utils/ImageUtils.java

@@ -143,27 +143,27 @@ public class ImageUtils {
             int maxWidth = 0;
             int totalHeight = 0;
             //多线程下载图片
-            System.out.println("多线程开始时间---->"+DateUtils.getNowDate().toString());
+//            System.out.println("多线程开始时间---->"+DateUtils.getNowDate().toString());
             BufferedImage[] images = ImageUtils.imageDownloader(pics);
-            System.out.println("多线程结束时间,(尺寸获取开始时间)---->"+DateUtils.getNowDate().toString());
+//            System.out.println("多线程结束时间,(尺寸获取开始时间)---->"+DateUtils.getNowDate().toString());
             //获取maxwidth,totalHeight
             for (BufferedImage image : images) {
                 maxWidth=Math.max(maxWidth,image.getWidth());
                 totalHeight+=image.getHeight()+Constants.SPACE_HEIGHT;
             }
-            System.out.println("尺寸获取结束时间(调整图片尺寸宽度)---->"+DateUtils.getNowDate().toString());
+//            System.out.println("尺寸获取结束时间(调整图片尺寸宽度)---->"+DateUtils.getNowDate().toString());
             //调整图片宽度
             for (int i = 0; i < images.length; i++) {
                 //添加宽度判断
                 if(images[i].getWidth()<maxWidth){
-                    System.out.println("当前图片的宽度"+images[i].getWidth());
-                    System.out.println("图片的最大宽度"+maxWidth);
+//                    System.out.println("当前图片的宽度"+images[i].getWidth());
+//                    System.out.println("图片的最大宽度"+maxWidth);
                     BufferedImage bufferedImage = ImageUtils.formatImageWidth(images[i], maxWidth, images[i].getHeight(), false);
-                    System.out.println("修改后图片的宽度"+bufferedImage.getWidth());
+//                    System.out.println("修改后图片的宽度"+bufferedImage.getWidth());
                     images[i]=bufferedImage;
                 }
             }
-            System.out.println("调整图片宽度结束时间---->"+DateUtils.getNowDate().toString());
+//            System.out.println("调整图片宽度结束时间---->"+DateUtils.getNowDate().toString());
 
 
             System.out.println(DateUtils.getNowDate().toString());

+ 32 - 24
src/main/java/com/pavis/ctr/audit/framework/config/SimpleScheduleConfig.java

@@ -4,10 +4,15 @@ import com.pavis.ctr.audit.project.controller.SubmitResultController;
 import com.pavis.ctr.audit.project.service.IAuditTripMainService;
 import com.pavis.ctr.audit.project.service.IOcrTripService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.scheduling.annotation.Scheduled;
 
+import java.io.IOException;
+import java.nio.file.*;
+import java.nio.file.attribute.BasicFileAttributes;
+
 @Configuration
 @EnableScheduling
 public class SimpleScheduleConfig {
@@ -20,39 +25,42 @@ public class SimpleScheduleConfig {
     @Autowired
     IAuditTripMainService auditTripMainService;
 
+    @Value("${upload.path}")
+    String jpgDir;
+
     /**
      * 获取源数据main、det、img
      * 并把当天获取的main信息插入到result中
      */
-    @Scheduled(cron = "${cron-expression.everDay}")
-    private void getOriginTrip() {
-        System.out.println("启动定时任务,开始获取待审核数据");
-
-        // 获取需要初始化的小票数据
-        // List<OcrTrip> ocrTrips = ocrTripService.getAuditTrip();
-        // if (ocrTrips != null && ocrTrips.size() > 0) {
-        //     int auditTripSize = auditTripMainService.adaptAuditTrip(ocrTrips);
-        //     System.out.printf("初始化成功,待审核小票数量为:%d%n", auditTripSize);
-        // } else {
-        //     System.out.println("没有需要初始化的审核数据!");
-        // }
-
-        // 先插入main数据
-        // boolean insertOrgMainData = auditTripMainService.insertOrgMainData();
-        // 后续的det result img 是根据main新增的数据进行插入
-        // boolean insertOrgDetData = auditTripDetService.insertOrgDetData();
-        // boolean insertOrgImgData = auditTripImgService.insertOrgImgData();
-        // boolean insertAuditUploadId = auditTripResultService.insertAuditUploadId();
-        // System.out.println(insertAuditUploadId);
-
-        System.out.println("启动定时任务,开始获取待审核数据");
+    @Scheduled(cron = "${cron-expression.delJpg}")
+    private void deleteTripImg() throws IOException {
+        System.out.println("启动定时任务,清理jpg");
+        Path path = Paths.get(jpgDir);
+        if(!Files.exists(path)){
+            System.out.println("文件路径不存在");
+        }
+        Files.walkFileTree(path,new SimpleFileVisitor<Path>(){
+            @Override
+            public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
+
+                if(file.getFileName().toString().toLowerCase().endsWith(".jpg")){
+                    Files.delete(file);
+                }
+                return super.visitFile(file, attrs);
+            }
+
+            @Override
+            public FileVisitResult visitFileFailed(Path file, IOException exc) throws IOException {
+                System.out.println("删除图片失败:"+exc.getMessage());
+                return super.visitFileFailed(file, exc);
+            }
+        });
     }
 
     @Scheduled(cron = "${cron-expression.everDay}")
     private void resetFlag() {
-
+        System.out.println("启动定时任务,重置工作日参数");
         SubmitResultController.setIsFlag(1);
-
     }
 
 }

+ 20 - 7
src/main/java/com/pavis/ctr/audit/project/controller/InitAuditTripController.java

@@ -36,19 +36,28 @@ public class InitAuditTripController {
     @GetMapping("/init/auditTrip")
     public AjaxResult initAuditTrip() {
         // 获取需要初始化的小票数据
+        AjaxResult ajaxResult = new AjaxResult();
+        ajaxResult.put("code",200);
         List<OcrTrip> ocrTrips = ocrTripService.getAuditTrip();
         if (ocrTrips != null && ocrTrips.size() > 0) {
             int auditTripSize = auditTripMainService.adaptAuditTrip(ocrTrips);
-            return AjaxResult.success(String.format("初始化成功,待审核小票数量为:%d", auditTripSize));
+            ajaxResult.put("audit_msg","初始化成功,待审核小票数量为"+auditTripSize);
+            //自动审核小票
+            Integer integer = auditTripMainService.autoAuditTripResultVo(ocrTrips);
+            ajaxResult.put("auto_audit_msg","自动审核信息:"+integer+"条,本次未审核的小票数:"+(auditTripSize-integer));
+
         } else {
-            return AjaxResult.success("没有需要初始化的审核数据!");
+            ajaxResult.put("audit_msg","没有待审核的小票");
         }
+        return ajaxResult;
+
     }
 
     @ApiOperation("根据datedir初始化审核小票数据")
     @GetMapping("/init/auditTrip/{datedir}")
     public AjaxResult initAuditTripByDateDir(@PathVariable("datedir") String dateDir) {
         AjaxResult ajaxResult = new AjaxResult();
+        ajaxResult.put("code",200);
         // 获取需要初始化的小票数据
         List<OcrTrip> ocrTrips = ocrTripService.getAuditTripByDateDir(dateDir);
         //获取当天所有新增的小票数据
@@ -56,10 +65,12 @@ public class InitAuditTripController {
 
         if (ocrTrips != null && ocrTrips.size() > 0) {
             int auditTripSize = auditTripMainService.adaptAuditTrip(ocrTrips);
-
             System.out.println("初始化成功,待审核小票数量为:"+auditTripSize+"条"+"当前时间为:"+ DateUtils.getNowDate());
-            ajaxResult.put("code",200);
             ajaxResult.put("audit_msg","初始化成功,待审核小票数量为:"+auditTripSize+"条");
+            //自动审核小票
+            Integer integer = auditTripMainService.autoAuditTripResultVo(ocrTrips);
+            System.out.println("auto_msg自动审核信息:"+integer+"条,当前时间为:"+ DateUtils.getNowDate());
+            ajaxResult.put("auto_audit_msg","自动审核信息:"+integer+"条,本次未审核的小票数:"+(auditTripSize-integer));
         }else {
             System.out.println("当前无审核数据!"+"当前时间为:"+ DateUtils.getNowDate());
             ajaxResult.put("audit_msg","当前无审核数据!");
@@ -96,6 +107,7 @@ public class InitAuditTripController {
     public AjaxResult updateAuditTripByDateDir(@PathVariable("datedir") String dateDir) {
 
         AjaxResult ajaxResult = new AjaxResult();
+        ajaxResult.put("code",200);
 
         // 获取需要初始化的小票数据
         List<OcrTrip> ocrTrips = ocrTripService.updateAuditTripByDateDir(dateDir);
@@ -105,14 +117,16 @@ public class InitAuditTripController {
 
         if (ocrTrips != null && ocrTrips.size() > 0) {
             int auditTripSize = auditTripMainService.adaptAuditTrip(ocrTrips);
-            ajaxResult.put("code",200);
             System.out.println("更新待审核小票数量为:"+auditTripSize+"条"+"当前时间为:"+ DateUtils.getNowDate());
             ajaxResult.put("audit_msg","初始化成功,待审核小票数量为:"+auditTripSize+"条");
+            //自动审核小票
+            Integer integer = auditTripMainService.autoAuditTripResultVo(ocrTrips);
+            System.out.println("auto_msg自动审核信息:"+integer+"条,当前时间为:"+ DateUtils.getNowDate());
+            ajaxResult.put("auto_audit_msg","自动审核信息:"+integer+"条,本次未审核的小票数:"+(auditTripSize-integer));
         }else {
             System.out.println("当前无更新审核数据!"+"当前时间为:"+ DateUtils.getNowDate());
             ajaxResult.put("audit_msg","当前无审核数据!");
         }
-
         //保存小票原图URL和脱敏图片URL
         if(todayOcrTrips!=null && todayOcrTrips.size()>0){
             //保存小票原图URL和脱敏图片URL
@@ -123,7 +137,6 @@ public class InitAuditTripController {
             System.out.println("当前无更新图片数据!"+"当前时间为:"+ DateUtils.getNowDate());
             ajaxResult.put("img_msg","当前无图片数据!");
         }
-
         return ajaxResult;
 
     }

+ 3 - 0
src/main/java/com/pavis/ctr/audit/project/domain/AuditTripMain.java

@@ -1,5 +1,6 @@
 package com.pavis.ctr.audit.project.domain;
 
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.pavis.ctr.audit.web.domain.BaseEntity;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
@@ -13,6 +14,7 @@ public class AuditTripMain extends BaseEntity {
     /**
      * 小票唯一ID
      */
+    @TableId(value = "upload_id")
     private String uploadId;
     /**
      * 小票上传者ID
@@ -43,6 +45,7 @@ public class AuditTripMain extends BaseEntity {
      * 2. 缺少总金额
      * 3. 缺少购买日期和总金额
      * 4. 多小票上传
+     * 5. 抽奖订单
      */
     private String errReason;
 

+ 1 - 1
src/main/java/com/pavis/ctr/audit/project/domain/AuditTripResult.java

@@ -13,7 +13,7 @@ public class AuditTripResult extends BaseEntity {
     /**
      * 小票唯一ID
      */
-    @TableId
+    @TableId(value = "upload_id")
     private String uploadId;
     /**
      * 审核员ID

+ 5 - 0
src/main/java/com/pavis/ctr/audit/project/domain/OcrTrip.java

@@ -239,6 +239,11 @@ public class OcrTrip {
                 return Constants.INVALID_PURCHASE_DATE;
             }
         }
+        //抽奖订单
+        if("5".equals(this.globalProb)){
+         return Constants.SWEEPSTAkES_ORDERS;
+        }
+
         if (StringUtils.isBlank(this.purchaseDate) && StringUtils.isBlank(this.totalSpend)) {
             // 购买日期和总金额都为空
             return Constants.LACK_ALL;

+ 14 - 0
src/main/java/com/pavis/ctr/audit/project/service/IAuditTripMainService.java

@@ -83,4 +83,18 @@ public interface IAuditTripMainService extends IService<AuditTripMain> {
      * @return
      */
     public List<String> selectErrorTripByuserId(String userId,String todayDate,String beforDate);
+
+
+    /**
+     * 筛选符合自动审核的待审核数据
+     * -----
+     * 1、缺少购买日期
+     * 6、购买日期超过28天(同一年)
+     * 7、抽奖订单
+     * @param ocrTrips
+     * @return
+     */
+    Integer autoAuditTripResultVo(List<OcrTrip> ocrTrips);
+
+
 }

+ 3 - 0
src/main/java/com/pavis/ctr/audit/project/service/IAuditTripResultService.java

@@ -3,6 +3,7 @@ package com.pavis.ctr.audit.project.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.pavis.ctr.audit.project.domain.AuditTripResult;
+import com.pavis.ctr.audit.project.domain.OcrTrip;
 import com.pavis.ctr.audit.project.domain.vo.AuditTripResultVo;
 import com.pavis.ctr.audit.web.domain.AjaxResult;
 import org.apache.ibatis.annotations.Param;
@@ -212,4 +213,6 @@ public interface IAuditTripResultService extends IService<AuditTripResult> {
      */
     int pushSign(String uploadId);
 
+
+
 }

+ 95 - 9
src/main/java/com/pavis/ctr/audit/project/service/impl/AuditTripMainServiceImpl.java

@@ -1,20 +1,25 @@
 package com.pavis.ctr.audit.project.service.impl;
 
 
+import com.aliyun.oss.OSS;
+import com.baidubce.services.bos.BosClient;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.pavis.ctr.audit.common.utils.DateUtils;
+import com.pavis.ctr.audit.common.utils.ImageUtils;
 import com.pavis.ctr.audit.project.domain.*;
+import com.pavis.ctr.audit.project.mapper.AuditTripImgMapper;
 import com.pavis.ctr.audit.project.mapper.AuditTripMainMapper;
+import com.pavis.ctr.audit.project.mapper.AuditTripResultMapper;
 import com.pavis.ctr.audit.project.service.*;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 待审核表 服务处理
@@ -22,20 +27,40 @@ import java.util.Set;
 @Service
 public class AuditTripMainServiceImpl extends ServiceImpl<AuditTripMainMapper, AuditTripMain> implements IAuditTripMainService {
 
+    public static final String UPDATE_BY = "CTR00";
+    public static final Long USER_ID = 1000L;
+    //CTR00 1000 虚拟用户
+    public static final Map<String, String> AUDIT_CONCLUSION_MAP;
+
+    static {
+        Map<String, String> map = new HashMap<>();
+        map.put("1", "01,5");
+        map.put("6", "03");
+        map.put("7", "03");
+        AUDIT_CONCLUSION_MAP = Collections.unmodifiableMap(map); // 创建不可变 Map
+    }
+
+    @Autowired
+    AuditTripImgMapper auditTripImgMapper;
+    @Autowired
+    AuditTripResultMapper auditTripResultMapper;
+    @Value("${upload.path}")
+    String basePath;
     @Autowired
     private IUpTripService upTripService;
-
     @Autowired
     private IOcrTripDetService ocrTripDetService;
-
     @Autowired
     private IAuditTripDetService auditTripDetService;
-
     @Autowired
     private IAuditTripImgService auditTripImgService;
-
     @Autowired
     private IAuditTripResultService auditTripResultService;
+    @Autowired
+    private BosClient client;
+
+    @Autowired
+    private OSS ossClient;
 
     /**
      * 查询符合条件的main源数据
@@ -202,6 +227,7 @@ public class AuditTripMainServiceImpl extends ServiceImpl<AuditTripMainMapper, A
 
     /**
      * 按userid、date查询uploadId
+     *
      * @param userId
      * @param todayDate
      * @param beforDate
@@ -209,7 +235,67 @@ public class AuditTripMainServiceImpl extends ServiceImpl<AuditTripMainMapper, A
      */
     @Override
     public List<String> selectErrorTripByuserId(String userId, String todayDate, String beforDate) {
-        return baseMapper.selectErrorTripByuserId(userId,todayDate,beforDate);
+        return baseMapper.selectErrorTripByuserId(userId, todayDate, beforDate);
+    }
+
+    @Override
+    public Integer autoAuditTripResultVo(List<OcrTrip> ocrTrips) {
+        String yyyy = DateUtils.parseDateToStr("yyyy", new Date());
+        List<OcrTrip> autoOcrTrip = ocrTrips.stream().filter(ocrTrip -> {
+            String[] split = ocrTrip.getPurchaseDate().split("-");
+            return ("1".equals(ocrTrip.getErrReason())) || (("6".equals(ocrTrip.getErrReason())) && split[0].equals(yyyy)) || ("7".equals(ocrTrip.getErrReason()));
+        }).collect(Collectors.toList());
+
+
+        autoOcrTrip.stream().forEach(ocrTrip -> {
+            AuditTripResult tripResult = auditTripResultService.getBaseMapper().selectById(ocrTrip.getUploadId());
+            List<AuditTripImg> auditTripImgList = auditTripImgService.getBaseMapper().selectList(Wrappers.<AuditTripImg>query().eq("upload_id", ocrTrip.getUploadId()));
+            AuditTripMain auditTripMain = baseMapper.selectById(ocrTrip.getUploadId());
+            auditTripMain.setUpdateTime(new Date());
+            auditTripMain.setUpdateBy(UPDATE_BY);
+            int updateById = baseMapper.updateById(auditTripMain);
+
+            String mergeImgUrl = null;
+            String mergeHtmlUrl = null;
+            if (auditTripImgList.size() > 0) {
+                List<String> imgs = auditTripImgList.stream().map(trip -> {
+                    if (StringUtils.isNotBlank(trip.getTripNewImg())) {
+                        return trip.getTripNewImg();
+                    } else {
+                        return trip.getTripImg();
+                    }
+                }).collect(Collectors.toList());
+
+
+                if(imgs.size() == 1){
+                    String[] imgArr = new String[imgs.size()];
+                    mergeImgUrl = imgs.get(0);
+                    String dstHtml = tripResult.getUploadId() + "_test.html";
+                    mergeHtmlUrl = ImageUtils.joinImageListHtml(imgs.toArray(imgArr), dstHtml, ossClient);
+                }else if (imgs.size() > 0) {
+                    String[] imgArr = new String[imgs.size()];
+                    String dstPic = basePath + tripResult.getUploadId() + "_test.jpg";
+                    mergeImgUrl = ImageUtils.joinImagesVertical(imgs.toArray(imgArr), "jpg", dstPic, client);
+                    String dstHtml = tripResult.getUploadId() + "_test.html";
+                    mergeHtmlUrl = ImageUtils.joinImageListHtml(imgs.toArray(imgArr), dstHtml, ossClient);
+                }
+                if (StringUtils.isNotBlank(mergeImgUrl) && StringUtils.isNotBlank(mergeHtmlUrl)) {
+                    System.out.println("图片拼接成功!");
+                } else {
+                    System.out.println("图片拼接失败!");
+                }
+                tripResult.setUserId(USER_ID);
+                tripResult.setAuditStatus(1);
+                tripResult.setAuditError(ocrTrip.getErrReason());
+                tripResult.setUpdateBy(UPDATE_BY);
+                tripResult.setUpdateTime(new Date());
+                tripResult.setMergeImgUrl(mergeImgUrl);
+                tripResult.setMergeHtmlUrl(mergeHtmlUrl);
+                tripResult.setAuditConclusion(AUDIT_CONCLUSION_MAP.get(ocrTrip.getErrReason()));
+                int updateById1 = auditTripResultService.getBaseMapper().updateById(tripResult);
+            }
+        });
+        return autoOcrTrip.size();
     }
 
     /**

+ 1 - 1
src/main/java/com/pavis/ctr/audit/project/service/impl/AuditTripResultServiceImpl.java

@@ -168,7 +168,7 @@ public class AuditTripResultServiceImpl extends ServiceImpl<AuditTripResultMappe
         List<AuditTripResultVo> auditTripResultVoList = new ArrayList<>();
 
         // 查询审核完成的Main,detlist和imglist使用匿名对象传递
-        int auditTotalNum;
+//        int auditTotalNum;
         AuditTripMain auditTripMain = null;
         List<AuditTripDet> tripDetData = null;
         List<AuditTripImg> tripImgData = null;

+ 7 - 5
src/main/java/com/pavis/ctr/audit/project/service/impl/OcrTripServiceImpl.java

@@ -19,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -94,7 +95,7 @@ public class OcrTripServiceImpl extends ServiceImpl<OcrTripMapper, OcrTrip> impl
         // 1. 获取ocr_trip中对应date_dir那天满足待审核条件的upload_id集合
         List<OcrTrip> ocrTrips = query().eq("date_dir", dateDir).list();
         if (ocrTrips == null || ocrTrips.size() == 0) {
-            return null;
+            return Collections.emptyList();
         }
         List<String> uploadIds = getAuditOcrTrips(ocrTrips)
                 .stream()
@@ -105,6 +106,7 @@ public class OcrTripServiceImpl extends ServiceImpl<OcrTripMapper, OcrTrip> impl
                 .stream()
                 .map(AuditTripMain::getUploadId)
                 .collect(Collectors.toList());
+
         if (CollectionUtils.isNotEmpty(uploadIds) && CollectionUtils.isNotEmpty(auditUploadIds)) {
             // 计算两个集合的差集
             Collection<String> subtract = CollectionUtils.subtract(uploadIds, auditUploadIds);
@@ -112,7 +114,7 @@ public class OcrTripServiceImpl extends ServiceImpl<OcrTripMapper, OcrTrip> impl
                 return query().in("upload_id", subtract).list();
             }
         }
-        return null;
+        return Collections.emptyList();
     }
 
     @Override
@@ -146,7 +148,7 @@ public class OcrTripServiceImpl extends ServiceImpl<OcrTripMapper, OcrTrip> impl
 
 
         QueryWrapper<OcrTrip> query = Wrappers.query();
-        query.select("*").eq("date_dir",dateDir);
+        query.select("*").eq("date_dir", dateDir);
 
         List<OcrTrip> todayTrip = baseMapper.selectList(query);
 
@@ -165,7 +167,7 @@ public class OcrTripServiceImpl extends ServiceImpl<OcrTripMapper, OcrTrip> impl
 
 
         QueryWrapper<TripImgInfo> query = Wrappers.query();
-        query.select("upload_id").eq("date_dir",dateDir);
+        query.select("upload_id").eq("date_dir", dateDir);
         List<String> tripImgInfos = tripImgInfoService.getBaseMapper().selectList(query)
                 .stream().map(TripImgInfo::getUploadId).
                 collect(Collectors.toList());
@@ -173,7 +175,7 @@ public class OcrTripServiceImpl extends ServiceImpl<OcrTripMapper, OcrTrip> impl
         if (CollectionUtils.isNotEmpty(todayUploadId) && CollectionUtils.isNotEmpty(tripImgInfos)) {
 
             Collection<String> subtract = CollectionUtils.subtract(todayUploadId, tripImgInfos);
-            if(CollectionUtils.isNotEmpty(subtract)){
+            if (CollectionUtils.isNotEmpty(subtract)) {
                 List<OcrTrip> ocrTrips = query().in("upload_id", subtract).list();
                 return ocrTrips;
             }

+ 1 - 0
src/main/resources/application-dev.yml

@@ -37,6 +37,7 @@ upload:
 #定时任务日期
 cron-expression:
   everDay: 0 0 2 * * ?
+  delJpg: 0 0 23 * * ?
 
 # 日志配置
 logging:

+ 1 - 0
src/main/resources/application-prod.yml

@@ -35,6 +35,7 @@ upload:
 #定时任务日期
 cron-expression:
   everDay: 0 0 2 * * ?
+  delJpg: 0 0 23 * * ?
 
 # 日志配置
 logging:

+ 4 - 4
src/main/resources/application.yml

@@ -1,8 +1,8 @@
 server:
 #  正式环境
-  port: 8080
+#  port: 8080
 # 测试环境
-#  port: 8088
+  port: 8088
 # Spring配置
 spring:
   mvc:
@@ -14,8 +14,8 @@ spring:
     basename: i18n/messages
   profiles:
     #这里用来区分使用哪个application
-    active: prod
-#    active: dev
+#    active: prod
+    active: dev
   # 文件上传
   servlet:
     multipart: