Kaynağa Gözat

课程管理,上传的图片 -修改/新增-私域上传企业微信官方

三七 3 gün önce
ebeveyn
işleme
c9fdb40ef2

+ 17 - 2
fs-service/src/main/java/com/fs/course/service/impl/FsUserCourseServiceImpl.java

@@ -37,6 +37,7 @@ import com.fs.his.service.IFsUserNewTaskService;
 import com.fs.his.vo.OptionsVO;
 import com.fs.qw.domain.QwCompany;
 import com.fs.qw.service.IQwCompanyService;
+import com.fs.qw.service.impl.AsyncUploadQwCourseImageService;
 import com.fs.qwApi.Result.QwUploadResult;
 import com.fs.qwApi.service.QwApiService;
 import com.fs.system.service.ISysConfigService;
@@ -111,6 +112,10 @@ public class FsUserCourseServiceImpl implements IFsUserCourseService
 
     @Autowired
     private RedisCache redisCache;
+
+    @Autowired
+    private AsyncUploadQwCourseImageService asyncUploadQwCourseImageService;
+
     private static final String realLink = "/courseH5/pages/course/learning?course=";
     public static final String shortLink = "/courseH5/pages/course/learning?s=";
 
@@ -148,8 +153,14 @@ public class FsUserCourseServiceImpl implements IFsUserCourseService
     @Override
     public int insertFsUserCourse(FsUserCourse fsUserCourse)
     {
+
+        if (fsUserCourse.getIsPrivate()==1){
+            asyncUploadQwCourseImageService.uploadQwCourseImage(fsUserCourse);
+        }
+
+
         fsUserCourse.setCreateTime(DateUtils.getNowDate());
-        return fsUserCourseMapper.insertFsUserCourse(fsUserCourse);
+        return  fsUserCourseMapper.insertFsUserCourse(fsUserCourse);
     }
 
     /**
@@ -161,6 +172,10 @@ public class FsUserCourseServiceImpl implements IFsUserCourseService
     @Override
     public int updateFsUserCourse(FsUserCourse fsUserCourse)
     {
+        if (fsUserCourse.getIsPrivate()==1) {
+            asyncUploadQwCourseImageService.uploadQwCourseImage(fsUserCourse);
+        }
+
         fsUserCourse.setUpdateTime(DateUtils.getNowDate());
         return fsUserCourseMapper.updateFsUserCourse(fsUserCourse);
     }
@@ -726,7 +741,7 @@ public class FsUserCourseServiceImpl implements IFsUserCourseService
      * @param corpId 企业ID
      * @throws Exception 上传过程中的异常
      */
-    private void uploadCourseImage(FsUserCourse course, String corpId) throws Exception {
+    public void uploadCourseImage(FsUserCourse course, String corpId) throws Exception {
         File imageFile = null;
         try {
             // 将图片URL转为本地临时文件

+ 75 - 0
fs-service/src/main/java/com/fs/qw/service/impl/AsyncUploadQwCourseImageService.java

@@ -0,0 +1,75 @@
+package com.fs.qw.service.impl;
+
+import com.fs.common.utils.PubFun;
+import com.fs.course.domain.FsUserCourse;
+import com.fs.course.service.impl.FsUserCourseServiceImpl;
+import com.fs.qw.domain.QwCompany;
+import com.fs.qw.domain.QwUser;
+import com.fs.qw.mapper.QwExternalContactMapper;
+import com.fs.qw.result.QwFilterSopCustomersResult;
+import com.fs.qw.service.IQwCompanyService;
+import com.fs.qw.vo.QwSopRuleTimeVO;
+import com.fs.sop.domain.*;
+import com.fs.sop.mapper.QwSopLogsMapper;
+import com.fs.sop.mapper.QwSopMapper;
+import com.fs.sop.mapper.QwSopTempMapper;
+import com.fs.sop.mapper.SopUserLogsInfoMapper;
+import com.fs.sop.params.DeleteQwSopParam;
+import com.fs.sop.params.QwSopTagsParam;
+import com.fs.sop.params.SopUserLogsArray;
+import com.fs.sop.params.SopUserLogsList;
+import com.fs.sop.service.IQwSopTempVoiceService;
+import com.fs.sop.service.ISopUserLogsService;
+import com.fs.voice.utils.StringUtil;
+import com.fs.wxUser.domain.CompanyWxUser;
+import com.fs.wxUser.mapper.CompanyWxUserMapper;
+import com.fs.wxUser.param.CompanyWxUserSopParam;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.stereotype.Service;
+
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.stream.Collectors;
+
+@Slf4j
+@Service
+@AllArgsConstructor
+public class AsyncUploadQwCourseImageService {
+
+
+    @Autowired
+    private IQwCompanyService iQwCompanyService;
+
+    @Autowired
+    private FsUserCourseServiceImpl fsUserCourseService;
+
+    /**
+     * 异步处理销售删除客户
+     */
+    @Async("scheduledExecutorService")
+    public void uploadQwCourseImage(FsUserCourse fsUserCourse) {
+
+        // 获取所有企业微信配置
+        List<QwCompany> companies = iQwCompanyService.selectQwCompanyList(new QwCompany());
+
+        // 遍历每个企业微信配置
+        for (QwCompany company : companies) {
+            String corpId = company.getCorpId();
+            if (corpId == null) {
+                continue;
+            }
+
+            //上传图片到对应企业的素材库
+            try {
+                fsUserCourseService.uploadCourseImage(fsUserCourse, corpId);
+            } catch (Exception e) {
+                log.error("处理课程图片失败: courseId={}, corpId={}, error={}", fsUserCourse.getCourseId(), corpId, e.getMessage());
+            }
+
+        }
+
+    }
+}

+ 2 - 0
fs-service/src/main/java/com/fs/sop/service/impl/QwSopServiceImpl.java

@@ -92,6 +92,8 @@ public class QwSopServiceImpl implements IQwSopService
 
     @Autowired
     private AsyncSopService asyncSopService;
+
+
     @Autowired
     private AsyncSopTestService asyncSopTestService;
     @Autowired