Browse Source

多项目共用小程序看课代码迁移

Long 20 hours ago
parent
commit
b0f876f9bc

+ 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);
+    }
+}

+ 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);
+	}
 }