瀏覽代碼

Merge branch 'feat-20230920-b2b' into temp-pre

lixuesong 1 年之前
父節點
當前提交
898c7a1f00

+ 30 - 14
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/dto/DeptTaskDTO.java

@@ -6,6 +6,7 @@ import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotNull;
 import java.io.Serializable;
+import java.util.List;
 
 /**
  * 企业任务请求参数DTO
@@ -49,7 +50,7 @@ public class DeptTaskDTO implements Serializable {
          * 文件上传
          */
         @NotEmpty(message = "文件上传必填")
-        private String[] files;
+        private List<FileUrlObj> files;
 
         /**
          * 外采费用
@@ -59,7 +60,7 @@ public class DeptTaskDTO implements Serializable {
         /**
          * 外采费用-凭证
          */
-        private String[] outsourcingAmountProof;
+        private List<FileUrlObj> outsourcingAmountProof;
 
         /**
          * 任务积分
@@ -111,31 +112,31 @@ public class DeptTaskDTO implements Serializable {
          * 会议邀请函
          */
         @NotEmpty(message = "会议邀请函必填")
-        private String[] meetingInvitationUrl;
+        private List<FileUrlObj> meetingInvitationUrl;
 
         /**
          * 会议计划表
          */
         @NotEmpty(message = "会议计划表必填")
-        private String[] meetingPlanUrl;
+        private List<FileUrlObj> meetingPlanUrl;
 
         /**
          * 会议签到表
          */
         @NotEmpty(message = "会议签到表必填")
-        private String[] meetingCheckInUrl;
+        private List<FileUrlObj> meetingCheckInUrl;
 
         /**
          * 现场照片
          */
         @NotEmpty(message = "现场照片必填")
-        private String[] livePhotosUrl;
+        private List<FileUrlObj> livePhotosUrl;
 
         /**
          * 会议内容
          */
         @NotEmpty(message = "会议内容必填")
-        private String[] meetingContentUrl;
+        private List<FileUrlObj> meetingContentUrl;
 
         /**
          * 外采费用
@@ -145,7 +146,7 @@ public class DeptTaskDTO implements Serializable {
         /**
          * 外采费用-凭证
          */
-        private String[] outsourcingAmountProof;
+        private List<FileUrlObj> outsourcingAmountProof;
 
         /**
          * 会议总结
@@ -191,31 +192,31 @@ public class DeptTaskDTO implements Serializable {
          * 活动策划书
          */
         @NotEmpty(message = "活动策划书必填")
-        private String[] eventPlannerUrl;
+        private List<FileUrlObj> eventPlannerUrl;
 
         /**
          * 活动计划表
          */
         @NotEmpty(message = "活动计划表必填")
-        private String[] meetingPlanUrl;
+        private List<FileUrlObj> meetingPlanUrl;
 
         /**
          * 会议签到表
          */
         @NotEmpty(message = "会议签到表必填")
-        private String[] meetingCheckInUrl;
+        private List<FileUrlObj> meetingCheckInUrl;
 
         /**
          * 现场照片
          */
         @NotEmpty(message = "现场照片必填")
-        private String[] livePhotosUrl;
+        private List<FileUrlObj> livePhotosUrl;
 
         /**
          * 会议内容
          */
         @NotEmpty(message = "会议内容必填")
-        private String[] meetingContentUrl;
+        private List<FileUrlObj> meetingContentUrl;
 
         /**
          * 外采费用
@@ -225,7 +226,7 @@ public class DeptTaskDTO implements Serializable {
         /**
          * 外采费用-凭证
          */
-        private String[] outsourcingAmountProof;
+        private List<FileUrlObj> outsourcingAmountProof;
 
         /**
          * 会议总结
@@ -233,4 +234,19 @@ public class DeptTaskDTO implements Serializable {
         private String meetingSummary;
     }
 
+    /**
+     * 文件 URL obj
+     *
+     * @author lixuesong
+     * @date 2023/09/27
+     */
+    @Data
+    public static class FileUrlObj implements Serializable {
+        private static final long serialVersionUID = 7914265352319844404L;
+
+        private String fileName;
+        
+        private String url;
+    }
+
 }

+ 11 - 15
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDeptTaskServiceImpl.java

@@ -2,11 +2,11 @@ package com.qunzhixinxi.hnqz.admin.service.impl;
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ArrayUtil;
-import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.qunzhixinxi.hnqz.admin.api.constant.CacheConstants;
 import com.qunzhixinxi.hnqz.admin.api.constant.UpmsType;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSubmissionPercentRule;
-import com.qunzhixinxi.hnqz.admin.config.UpmsConfig;
 import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
 import com.qunzhixinxi.hnqz.admin.entity.WmScorePackageStatus;
 import com.qunzhixinxi.hnqz.admin.entity.WmTask;
@@ -29,6 +29,7 @@ import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
 import com.qunzhixinxi.hnqz.common.sequence.sequence.Sequence;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -54,7 +55,7 @@ public class WmDeptTaskServiceImpl implements WmDeptTaskService {
     private final WmTaskService wmTaskService;
     private final WmTaskTypeService wmTaskTypeService;
     private final Sequence taskSequence;
-    private final UpmsConfig upmsConfig;
+    private final RedisTemplate redisTemplate;
 
     /**
      * 企业任务保存-企业通用
@@ -399,6 +400,11 @@ public class WmDeptTaskServiceImpl implements WmDeptTaskService {
         updatePackage.setUpdateTime(now);
         log.info("扣减可分配积分值参数:{}", updatePackage);
         wmScorePackageService.updateById(updatePackage);
+
+        // 保存成功后清除缓存
+        String cacheKey =
+                String.format("%s-%s-%s", CacheConstants.ENT_TASK_CACHE_KEY, taskTypeId, user.getId());
+        redisTemplate.delete(cacheKey);
     }
 
     /**
@@ -407,18 +413,8 @@ public class WmDeptTaskServiceImpl implements WmDeptTaskService {
      * @param array 数组
      * @return {@link String}
      */
-    private String convertFileUrlArrayToString(String[] array) {
-        StringBuilder temp = new StringBuilder();
-        if (ArrayUtil.isNotEmpty(array)) {
-            for (int i = 0; i < array.length; i++) {
-                String file = array[i];
-                temp.append(file);
-                if (i < array.length - 1) {
-                    temp.append(",");
-                }
-            }
-        }
-        return temp.toString();
+    private String convertFileUrlArrayToString(List<DeptTaskDTO.FileUrlObj> array) {
+        return JSONUtil.toJsonStr(array);
     }
 
 }