Bladeren bron

Merge branch 'master' of http://1.14.104.71:10880/root/ylrz_his_scrm_java

caoliqin 1 week geleden
bovenliggende
commit
9944f9f5a5

+ 49 - 0
fs-service/src/main/java/com/fs/course/domain/FsProjectAddressConfig.java

@@ -0,0 +1,49 @@
+package com.fs.course.domain;
+
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+public class FsProjectAddressConfig {
+
+    /**
+     * 主键ID
+     */
+    private Long id;
+
+    /**
+     * 项目名称
+     */
+    private String name;
+
+    /**
+     * 唯一编码
+     */
+    private String code;
+
+    /**
+     * api接口地址
+     */
+    private String addressUrl;
+
+    /**
+     * 存储桶地址
+     */
+    private String bucketPath;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 修改时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 发送类型 1个微 2企微
+     */
+    private Integer sendType;
+}

+ 14 - 0
fs-service/src/main/java/com/fs/course/mapper/FsProjectAddressConfigMapper.java

@@ -0,0 +1,14 @@
+package com.fs.course.mapper;
+
+import com.fs.course.domain.FsProjectAddressConfig;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+public interface FsProjectAddressConfigMapper {
+
+    /**
+     * 根据code查询url
+     */
+    @Select("select * from fs_project_address_config where code = #{code}")
+    FsProjectAddressConfig selectDomainByCode(@Param("code") String code);
+}

+ 12 - 0
fs-service/src/main/java/com/fs/course/service/IFsProjectAddressConfigService.java

@@ -0,0 +1,12 @@
+package com.fs.course.service;
+
+
+import com.fs.course.domain.FsProjectAddressConfig;
+
+public interface IFsProjectAddressConfigService {
+
+    /**
+     * 根据code查询url
+     */
+    FsProjectAddressConfig selectDomainByCode(String code);
+}

+ 23 - 0
fs-service/src/main/java/com/fs/course/service/impl/FsProjectAddressConfigServiceImpl.java

@@ -0,0 +1,23 @@
+package com.fs.course.service.impl;
+
+import com.fs.course.domain.FsProjectAddressConfig;
+import com.fs.course.mapper.FsProjectAddressConfigMapper;
+import com.fs.course.service.IFsProjectAddressConfigService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+@Service
+public class FsProjectAddressConfigServiceImpl implements IFsProjectAddressConfigService {
+
+    @Resource
+    private FsProjectAddressConfigMapper fsProjectAddressConfigMapper;
+
+    /**
+     * 根据code查询url
+     */
+    @Override
+    public FsProjectAddressConfig selectDomainByCode(String code) {
+        return fsProjectAddressConfigMapper.selectDomainByCode(code);
+    }
+}

+ 4 - 25
fs-service/src/main/java/com/fs/sop/service/impl/QwSopTempServiceImpl.java

@@ -653,7 +653,9 @@ public class QwSopTempServiceImpl implements IQwSopTempService {
 
         List<QwSopTempContent> contentList = qwSopTempContentService.listByTempIds(sopTempIds);
 
-        CountDownLatch latch = new CountDownLatch(tempList.size());
+        qwSopTempDayService.removeByTempIds(tempIds);
+        qwSopTempRulesService.removeByTempIds(tempIds);
+        qwSopTempContentService.removeByTempIds(tempIds);
         // 对每个模板执行同步操作
         for (QwSopTemp temp : tempList) {
             // 构造timeList timeDesc time
@@ -684,31 +686,8 @@ public class QwSopTempServiceImpl implements IQwSopTempService {
             // 插入课程id
             temp.setCourseId(courseId);
             temp.setOpenOfficial("1");
-            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-            temp.setCreateTime(sdf.format(new Date()));
-            temp.setId(UUID.randomUUID().toString());
-            qwSopTempMapper.insertQwSopTemp(temp);
             // 重新生成该模板的规则和内容
-            threadPoolTaskExecutor.execute(() -> {
-                try {
-                    createSopTempRules(temp);
-                } catch (Exception e) {
-                    log.error("同步模板规则和内容失败", e);
-                } finally {
-                    latch.countDown();
-                }
-            });
-
-        }
-
-        try {
-            latch.await();
-            qwSopTempMapper.deleteQwSopTempByIds(tempIds.toArray(new String[0]));
-            qwSopTempDayService.removeByTempIds(tempIds);
-            qwSopTempRulesService.removeByTempIds(tempIds);
-            qwSopTempContentService.removeByTempIds(tempIds);
-        } catch (InterruptedException e) {
-            log.error("等待线程执行完成时被中断", e);
+            threadPoolTaskExecutor.execute(() -> createSopTempRules(temp));
         }
     }
 

+ 8 - 0
fs-service/src/main/resources/mapper/course/FsProjectAddressConfigMapper.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fs.course.mapper.FsProjectAddressConfigMapper">
+
+
+</mapper>

+ 26 - 0
fs-user-app/src/main/java/com/fs/app/controller/CommonController.java

@@ -33,6 +33,8 @@ import com.fs.company.domain.CompanyMoneyLogs;
 import com.fs.company.service.ICompanyMoneyLogsService;
 import com.fs.core.utils.OrderCodeUtils;
 import com.fs.course.config.CourseConfig;
+import com.fs.course.domain.FsProjectAddressConfig;
+import com.fs.course.service.IFsProjectAddressConfigService;
 import com.fs.course.service.IHuaweiVodService;
 import com.fs.event.TemplateBean;
 import com.fs.event.TemplateEvent;
@@ -78,6 +80,7 @@ import org.springframework.web.multipart.MultipartFile;
 import java.io.*;
 import java.math.BigDecimal;
 import java.util.*;
+import java.util.concurrent.TimeUnit;
 
 import static com.fs.common.utils.SecurityUtils.getUserId;
 
@@ -134,6 +137,8 @@ public class CommonController {
 
 	@Autowired
 	private IQwAppContactWayService qwAppContactWayService;
+	@Autowired
+	private IFsProjectAddressConfigService projectAddressConfigService;
 
 //	@Autowired
 //	private RocketMQTemplate rocketMQTemplate;
@@ -636,4 +641,25 @@ public class CommonController {
 		return ResponseResult.ok(config.getIsOpenIM());
 	}
 
+	@ApiOperation("获取项目对应api请求域名地址")
+	@GetMapping("/getDomain")
+	public R getDomain(@RequestParam String projectCode) {
+		String redisKey = "projectCode:" + projectCode;
+		FsProjectAddressConfig config = redisCache.getCacheObject(redisKey);
+		if (Objects.isNull(config)) {
+			config = projectAddressConfigService.selectDomainByCode(projectCode);
+			redisCache.setCacheObject(redisKey, config, 5, TimeUnit.MINUTES);
+		}
+		String addressUrl = "";
+		String imgPath = "";
+		Integer sendType = null;
+
+		if (Objects.nonNull(config)) {
+			addressUrl = config.getAddressUrl();
+			imgPath = config.getBucketPath();
+			sendType = config.getSendType();
+		}
+
+		return R.ok().put("addressUrl", addressUrl).put("imgpath", imgPath).put("sendType", sendType);
+	}
 }