Browse Source

1、新增审核结论为10的情况

pc147123 1 year ago
parent
commit
49b09c21cb

+ 5 - 0
src/main/java/com/pavis/ctr/audit/common/utils/ConvertObjUtils.java

@@ -157,6 +157,11 @@ public class ConvertObjUtils {
                     auditResultUser.setTipText("您上传的这单截图,有关键信息被遮挡啦~" +
                             "下次回传时,如果遇到这种情况,需要请您取消遮挡或滑动页面将店名、商品名、付款金额、付款时间等关键信息完全显示出来再截图哦~谢谢支持!");
                     break;
+                case "10":
+                    auditResultUser.setAuditConclusion("无效订单-非订单详情图片");
+                    auditResultUser.setTipText("您上传的这单不是订单详情截图,请截取正确的订单详情图片上传哦~" +
+                            "截图时请您留意店名、商品名、付款金额、付款时间是关键的订单信息,需要全部包含进来。1张无法截取完这些信息,可截取多张~谢谢支持!");
+                    break;
 
             }
             auditResultUsers.add(auditResultUser);

+ 11 - 1
src/main/java/com/pavis/ctr/audit/project/controller/InitAuditTripController.java

@@ -1,5 +1,6 @@
 package com.pavis.ctr.audit.project.controller;
 
+import com.pavis.ctr.audit.common.utils.DateUtils;
 import com.pavis.ctr.audit.project.domain.OcrTrip;
 import com.pavis.ctr.audit.project.service.IAuditTripMainService;
 import com.pavis.ctr.audit.project.service.IOcrTripService;
@@ -55,18 +56,22 @@ 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+"条");
         }else {
+            System.out.println("当前无审核数据!"+"当前时间为:"+ DateUtils.getNowDate());
             ajaxResult.put("audit_msg","当前无审核数据!");
         }
         //保存小票原图URL和脱敏图片URL
         if(todayOcrTrips!=null && todayOcrTrips.size()>0){
             //保存小票原图URL和脱敏图片URL
             int tripImgSize = tripImgInfoService.adaptTripImg(todayOcrTrips);
-
+            System.out.println("保存图片信息为:"+tripImgSize+"条"+"当前时间为:"+ DateUtils.getNowDate());
             ajaxResult.put("img_msg","保存图片信息为:"+tripImgSize+"条");
         }else {
+            System.out.println("当前无图片数据!"+"当前时间为:"+ DateUtils.getNowDate());
             ajaxResult.put("img_msg","当前无图片数据!");
         }
 
@@ -101,8 +106,10 @@ 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+"条");
         }else {
+            System.out.println("当前无更新审核数据!"+"当前时间为:"+ DateUtils.getNowDate());
             ajaxResult.put("audit_msg","当前无审核数据!");
         }
 
@@ -110,10 +117,13 @@ public class InitAuditTripController {
         if(todayOcrTrips!=null && todayOcrTrips.size()>0){
             //保存小票原图URL和脱敏图片URL
             int tripImgSize = tripImgInfoService.adaptTripImg(todayOcrTrips);
+            System.out.println("更新图片信息为:"+tripImgSize+"条"+"当前时间为:"+ DateUtils.getNowDate());
             ajaxResult.put("img_msg","保存图片信息为:"+tripImgSize+"条");
         }else {
+            System.out.println("当前无更新图片数据!"+"当前时间为:"+ DateUtils.getNowDate());
             ajaxResult.put("img_msg","当前无图片数据!");
         }
+
         return ajaxResult;
 
     }

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

@@ -44,6 +44,7 @@ public class AuditTripResult extends BaseEntity {
      * 7:缺少关键信息(遮挡) (权重:5)
      * 8:订单中未包含快消品
      * 9:截图包含非订单详情图片
+     *10:无效订单-非订单详情图片 (权重:1)
      */
     private String auditConclusion;
     /**

+ 2 - 0
src/main/java/com/pavis/ctr/audit/project/domain/SysRole.java

@@ -1,6 +1,7 @@
 package com.pavis.ctr.audit.project.domain;
 
 
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.pavis.ctr.audit.common.constant.Constants;
 import com.pavis.ctr.audit.common.utils.StringUtilsEx;
 import com.pavis.ctr.audit.web.domain.BaseEntity;
@@ -22,6 +23,7 @@ public class SysRole extends BaseEntity {
     /**
      * 角色ID
      */
+    @TableId("roleId")
     private Long roleId;
 
     /**

+ 12 - 1
src/main/java/com/pavis/ctr/audit/project/service/IAuditTripResultService.java

@@ -183,7 +183,11 @@ public interface IAuditTripResultService extends IService<AuditTripResult> {
 
     /**
      * 根据user_id和date_dir获取的uploadId获取auditTripResult
-     * 且要满足1.审核完成(1) 2.操作结论为操作错误(01)
+     * 且要满足1.审核完成(1)
+     * 2.操作结论为操作错误(01)
+     * 3.祛除01下的8,9 子集选项的元素
+     * 4.若存在01,10 审核结论,就把01,10审核结论旋转位移到列表首位,优先进行返回
+     *
      * @param tripResultList
      * @return
      */
@@ -201,4 +205,11 @@ public interface IAuditTripResultService extends IService<AuditTripResult> {
      */
     public List<AuditTripResult> getTripResult(String userId);
 
+    /**
+     * 将推送给用户的已审核数据中的remark字段进行标记
+     * @param uploadId
+     * @return
+     */
+    int pushSign(String uploadId);
+
 }

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

@@ -4,6 +4,7 @@ package com.pavis.ctr.audit.project.service.impl;
 import com.aliyun.oss.OSS;
 import com.baidubce.services.bos.BosClient;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.pavis.ctr.audit.common.utils.ConvertObjUtils;
@@ -451,12 +452,7 @@ public class AuditTripResultServiceImpl extends ServiceImpl<AuditTripResultMappe
         }
     }
 
-    /**
-     * 根据user_id和date_dir获取的uploadId获取auditTripResult
-     * 且要满足1.审核完成(1) 2.操作结论为操作错误(01)
-     * @param tripResultList
-     * @return
-     */
+
     @Override
     public List<AuditTripResult> getResultByUserIdUploadId(List<AuditTripResult> tripResultList) {
 
@@ -470,10 +466,17 @@ public class AuditTripResultServiceImpl extends ServiceImpl<AuditTripResultMappe
             }else {
                 String auditConclusion = result.getAuditConclusion().split(",")[0];
                 String auditConclusionInfo = result.getAuditConclusion().split(",")[1];
+
+                System.out.println("符合条件的结论"+auditConclusionInfo);
+
+                //对01,10项错误结论进行保留,去除01,8、01,9两项错误
                 if (auditConclusion.equals("01")) {
-                    if (Integer.valueOf(auditConclusionInfo) > 7) {
-                        //上面不需要判断auditConclusionInfo是否为空,如果审核结论不是01,就不会进入判断二级菜单的情况。
-                        //如果不是01则进行删除该对象元素。
+                    //如果不是01下第8项 错误结论则进行删除该对象元素。
+                    if (Integer.valueOf(auditConclusionInfo) == 8) {
+                        iterator.remove();
+                    }
+                    //如果不是01下第9项 错误结论则进行删除该对象元素。
+                    if (Integer.valueOf(auditConclusionInfo) == 9) {
                         iterator.remove();
                     }
                 }
@@ -484,26 +487,64 @@ public class AuditTripResultServiceImpl extends ServiceImpl<AuditTripResultMappe
             return tripResultList;
         }
 
+        //应该先判断tripResultList不为空在进行打印测试
+        System.out.println("剔除8,9项错误结论后的列表");
+        for (AuditTripResult result : tripResultList) {
+            System.out.println(result.toString());
+        }
+
         //对操作错误的二级子菜单进行权重排序。
         tripResultList=tripResultList.stream().sorted(Comparator.comparing(
                 num ->Integer.parseInt(num.getAuditConclusion().split(",")[1].toString())))
                 .collect(Collectors.toList());
 
+
+        //由于需要保留第10项 上传无效错误,且该错误权重为1,故不能单纯的按照错误结论子集id进行排序
+        //若排序后的列表最后一项审核结论是01,10就把该项提到排序好的列表首项
+        if(tripResultList.get(tripResultList.size()-1).getAuditConclusion().equals("01,10")){
+
+            List<AuditTripResult> rotateListIndex  = this.rotateListIndex(tripResultList);
+
+            System.out.println("返回的列表包含01,10。进行旋转移位后的列表");
+            for (AuditTripResult listIndex : rotateListIndex) {
+                System.out.println(listIndex.toString());
+            }
+
+            return rotateListIndex;
+
+        }
+
+        System.out.println("返回的列表包不含01,10。进行普通按号排序的列表");
+        for (AuditTripResult result : tripResultList) {
+            System.out.println(result.toString());
+        }
+
         return tripResultList;
     }
 
+
     /**
-     * /**
-     * 1:每次审核第一次提交时,记录日期用于表示该日上班,一天只记录一次。
-     * 2:获取上班日志表中id最大的一个,如果该条记录的时间和当天一致,则id-1获取次日的工作时间。
-     * 2.1:根据user_id查询所有审核完成的记录,给这些记录按日期进行排序,第一条称为最新审核记录;
-     * 2.2:如果工作日期小于等于最新审核记录则表示有可能存在审核数据
-     * 2.2.1:根据工作日期[零点,59]在user_id查询所有审核完成的记录中取对应的数据。
-     * 2.3:如果工作日期大于最新审核记录则表示一定没有审核记录,返回空。
-     *
-     * @param userId
+     * 将传入的list 在某一个下标开始,旋转至列表头部
+     * @param tripResultList
      * @return
      */
+    private List<AuditTripResult> rotateListIndex(List<AuditTripResult> tripResultList) {
+
+        int rotateIndex=0;
+
+        //获取tripResultList 中01,10错误结论元素个数
+        for (AuditTripResult result : tripResultList) {
+            if (result.getAuditConclusion().equals("01,10")){
+                rotateIndex++;
+            }
+        }
+
+        //不需用判断rotateIndex是否为0,进入这个方法rotateIndex至少为1.
+        Collections.rotate(tripResultList,rotateIndex);
+        return  tripResultList;
+    }
+
+
     @Override
     public List<AuditTripResult> getTripResult(String userId) {
 
@@ -581,9 +622,14 @@ public class AuditTripResultServiceImpl extends ServiceImpl<AuditTripResultMappe
             String startTime = onDutyDate + " 00:00:00";
             String endTime = onDutyDate + " 23:59:59";
 
-            auditTripResults1 = collect1.stream().filter(result -> result.getUpdateTime().getTime() >= DateUtils.dateTime("yyyy-MM-dd HH:mm:ss", startTime).getTime() && result.getUpdateTime().getTime() <= DateUtils.dateTime("yyyy-MM-dd HH:mm:ss", endTime).getTime()).collect(toList());
-            System.out.println("符合条件的数据");
-            auditTripResults1.forEach(System.out::println);
+            auditTripResults1 = collect1.stream().
+                    filter(result -> result.getUpdateTime().
+                            getTime() >= DateUtils.dateTime("yyyy-MM-dd HH:mm:ss", startTime).getTime()
+                            && result.getUpdateTime().getTime() <= DateUtils.dateTime("yyyy-MM-dd HH:mm:ss", endTime).getTime())
+                    .collect(toList());
+
+            System.out.println("auditTripResults1.size():"+auditTripResults1.size());
+
 
             return auditTripResults1;
         } else {
@@ -592,6 +638,17 @@ public class AuditTripResultServiceImpl extends ServiceImpl<AuditTripResultMappe
 
     }
 
+    @Override
+    public int pushSign(String uploadId) {
+
+
+        UpdateWrapper<AuditTripResult> auditTripResultUpdateWrapper = new UpdateWrapper<>();
+        auditTripResultUpdateWrapper.eq("upload_id",uploadId).set("remark","pushed");
+        return baseMapper.update(null,auditTripResultUpdateWrapper);
+
+
+    }
+
     /**
      * 根据uploadId提取审核完成的数据
      *

+ 5 - 5
src/main/resources/application-dev.yml

@@ -3,20 +3,20 @@ spring:
   datasource:
     type: com.alibaba.druid.pool.DruidDataSource
     driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://localhost:33064/ctr?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&allowMultiQueries=true
+    url: jdbc:mysql://192.168.1.181:3306/ctr?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&allowMultiQueries=true
     username: root
-    password: root
+    password: 123456
 
   # redis 配置
   redis:
     # 地址
-    host: localhost
+    host: 192.168.1.202
     # 端口,默认为6379
-    port: 6379
+    port: 6380
     # 数据库索引
 #    database: 1
     # 密码
-    password: 123456
+#    password: 123456
     # 连接超时时间
     timeout: 10s
     lettuce:

+ 5 - 2
src/main/resources/application.yml

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

+ 1 - 1
src/main/resources/logback.xml

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
     <!-- 日志存放路径 -->
+    <property name="log.path" value="\logs"/>
 <!--    <property name="log.path" value="D:\Users\ctr_audit\logs"/>-->
-    <property name="log.path" value="D:\Users\ctr_audit\logs"/>
     <!-- 日志输出格式 -->
     <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/>
 

+ 1 - 1
src/main/resources/mybatis/mapper/AuditTripResultMapper.xml

@@ -31,7 +31,7 @@
     <update id="updateAuditResUserId" parameterType="List">
         <foreach collection="uploadIdList" item="item" open="" close="" separator=";">
             update audit_trip_result
-            set user_id=#{userId},audit_status= 2,create_time=current_time
+            set user_id=#{userId},audit_status= 2
             where upload_id=#{item}
         </foreach>
     </update>