Forráskód Böngészése

更新内容:1. 新增date_dir字段;2. 新增小票合并链接,存放在audit_trip_result->merge_img_url;

alibct 2 éve
szülő
commit
1a932c0608

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

@@ -11,6 +11,19 @@ import java.io.IOException;
 
 public class BosUtils {
 
+    /**
+     * 单图片上传
+     * 批量上传的时候,多次调用该方法
+     *
+     * @param client BosClient对象
+     * @param file   图片本体
+     * @return 图片链接
+     */
+    public static String putByName(BosClient client, String filename, File file) throws IOException {
+        client.putObject(Constants.BUCKET_NAME, filename, file);
+        return Constants.BOS_ENDPOINT + filename;
+    }
+
     /**
      * 单图片上传
      * 批量上传的时候,多次调用该方法

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

@@ -59,6 +59,11 @@ public class AuditTripResult extends BaseEntity {
      */
     private String dateDir;
 
+    /**
+     * 合并图片的链接
+     */
+    private String mergeImgUrl;
+
     public String getUploadId() {
         return uploadId;
     }
@@ -115,6 +120,14 @@ public class AuditTripResult extends BaseEntity {
         this.dateDir = dateDir;
     }
 
+    public String getMergeImgUrl() {
+        return mergeImgUrl;
+    }
+
+    public void setMergeImgUrl(String mergeImgUrl) {
+        this.mergeImgUrl = mergeImgUrl;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
@@ -129,6 +142,7 @@ public class AuditTripResult extends BaseEntity {
                 .append("updateTime", getUpdateTime())
                 .append("listUUID", getListUUID())
                 .append("dateDir", getDateDir())
+                .append("mergeImgUrl", getMergeImgUrl())
                 .append("remark", getRemark()).toString();
     }
 

+ 10 - 0
src/main/java/com/pavis/ctr/audit/project/domain/UpTrip.java

@@ -11,6 +11,8 @@ public class UpTrip {
 
     private Integer photoNo;
 
+    private String dateDir;
+
     public String getTripImg() {
         return tripImg;
     }
@@ -34,4 +36,12 @@ public class UpTrip {
     public void setPhotoNo(Integer photoNo) {
         this.photoNo = photoNo;
     }
+
+    public String getDateDir() {
+        return dateDir;
+    }
+
+    public void setDateDir(String dateDir) {
+        this.dateDir = dateDir;
+    }
 }

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

@@ -1,9 +1,11 @@
 package com.pavis.ctr.audit.project.service.impl;
 
 
+import com.baidubce.services.bos.BosClient;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.pavis.ctr.audit.common.utils.ConvertObjUtils;
 import com.pavis.ctr.audit.common.utils.DateUtils;
+import com.pavis.ctr.audit.common.utils.ImageUtils;
 import com.pavis.ctr.audit.project.domain.AuditTripDet;
 import com.pavis.ctr.audit.project.domain.AuditTripImg;
 import com.pavis.ctr.audit.project.domain.AuditTripMain;
@@ -15,12 +17,16 @@ import com.pavis.ctr.audit.project.mapper.AuditTripMainMapper;
 import com.pavis.ctr.audit.project.mapper.AuditTripResultMapper;
 import com.pavis.ctr.audit.project.service.IAuditTripResultService;
 import com.pavis.ctr.audit.web.domain.AjaxResult;
+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 java.util.ArrayList;
+import java.util.Comparator;
 import java.util.List;
 import java.util.UUID;
+import java.util.stream.Collectors;
 
 /**
  * 审核表 服务处理
@@ -37,6 +43,12 @@ public class AuditTripResultServiceImpl extends ServiceImpl<AuditTripResultMappe
     @Autowired
     AuditTripImgMapper auditTripImgMapper;
 
+    @Value("${upload.path}")
+    String basePath;
+
+    @Autowired
+    private BosClient client;
+
     /**
      * 把当天新增待审核的数据id和状态添加到result中
      *
@@ -294,6 +306,16 @@ public class AuditTripResultServiceImpl extends ServiceImpl<AuditTripResultMappe
     @Override
     public boolean updateSubmitTripRes(AuditTripResultVo auditTripResultVo) {
         List<AuditTripImg> imgList = auditTripResultVo.getImgList();
+        List<String> imgs = imgList.stream()
+                .sorted(Comparator.comparing(AuditTripImg::getTripOrder))
+                .map(img -> {
+                    if (StringUtils.isNotBlank(img.getTripNewImg())) {
+                        return img.getTripNewImg();
+                    } else {
+                        return img.getTripImg();
+                    }
+                })
+                .collect(Collectors.toList());
         List<AuditTripDet> detList = auditTripResultVo.getDetList();
         // 减轻resultVo的传递数据量
         auditTripResultVo.setImgList(null);
@@ -308,6 +330,17 @@ public class AuditTripResultServiceImpl extends ServiceImpl<AuditTripResultMappe
         if (detList != null && detList.size() > 0) {
             auditTripDetMapper.updateSubmitDet(detList);
         }
+        if (imgs.size() > 0) {
+            String dstPic = basePath + auditTripResultVo.getUploadId() + ".jpg";
+            String[] imgArr = new String[imgs.size()];
+            String mergeImgUrl = ImageUtils.joinImageListVertical(imgs.toArray(imgArr), "jpg", dstPic, client);
+            if (StringUtils.isNotBlank(mergeImgUrl)) {
+                System.out.println("图片拼接成功!");
+                auditTripResult.setMergeImgUrl(mergeImgUrl);
+            } else {
+                System.out.println("图片拼接失败!");
+            }
+        }
         boolean updateSubmitTripResObj = baseMapper.updateSubmitTripResObj(auditTripResult);
         boolean updateSubmitMainObj = auditTripMainMapper.updateSubmitMainObj(auditTripMain);
         if (updateSubmitTripResObj && updateSubmitMainObj) {

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

@@ -86,6 +86,9 @@ public class OcrTripServiceImpl extends ServiceImpl<OcrTripMapper, OcrTrip> impl
     public List<OcrTrip> updateAuditTripByDateDir(String dateDir) {
         // 1. 获取ocr_trip中对应date_dir那天满足待审核条件的upload_id集合
         List<OcrTrip> ocrTrips = query().eq("date_dir", dateDir).list();
+        if (ocrTrips == null || ocrTrips.size() == 0) {
+            return null;
+        }
         List<String> uploadIds = getAuditOcrTrips(ocrTrips)
                 .stream()
                 .map(OcrTrip::getUploadId)

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

@@ -11,7 +11,7 @@ spring:
     basename: i18n/messages
   profiles:
     #这里用来区分使用哪个application
-    active: dev
+    active: prod
   # 文件上传
   servlet:
     multipart:

+ 1 - 0
src/main/resources/mybatis/mapper/AuditTripMainMapper.xml

@@ -20,6 +20,7 @@
         set shop_name=#{shopName},
             purchase_date=#{purchaseDate},
             total_spend=#{totalSpend},
+            update_by=#{updateBy},
             update_time=#{updateTime}
         where upload_id=#{uploadId}
     </update>

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

@@ -41,6 +41,7 @@
             audit_error=#{auditError},
             update_by=#{updateBy},
             update_time=#{updateTime},
+            merge_img_url=#{mergeImgUrl},
             remark=#{remark}
         where upload_id=#{uploadId}
     </update>

+ 5 - 0
src/test/java/com/pavis/ctr/audit/CtrAuditApplicationTests.java

@@ -327,4 +327,9 @@ class CtrAuditApplicationTests {
 
     }
 
+    @Test
+    public void testJoinImageListVertical() {
+
+    }
+
 }