浏览代码

Merge branch 'dev_20230222_live' into master_saas

Eric 2 年之前
父节点
当前提交
294a415eeb

+ 1 - 0
cms/pom.xml

@@ -89,6 +89,7 @@
 			<plugin>
 				<groupId>com.spotify</groupId>
 				<artifactId>docker-maven-plugin</artifactId>
+				<version>1.2.2</version>
 			</plugin>
 		</plugins>
 	</build>

+ 1 - 0
mec-auth/mec-auth-server/pom.xml

@@ -101,6 +101,7 @@
 			<plugin>
 				<groupId>com.spotify</groupId>
 				<artifactId>docker-maven-plugin</artifactId>
+				<version>1.2.2</version>
 			</plugin>
 		</plugins>
 	</build>

+ 7 - 0
mec-biz/pom.xml

@@ -51,5 +51,12 @@
             <artifactId>thumbnailator</artifactId>
             <version>0.4.11</version>
         </dependency>
+
+		<dependency>
+			<groupId>com.microsvc.toolkit.middleware</groupId>
+			<artifactId>microsvc-middleware-live</artifactId>
+			<version>1.0.0</version>
+		</dependency>
+
     </dependencies>
 </project>

+ 33 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/vo/ImLiveBroadcastRoomVo.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.dal.vo;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.microsvc.toolkit.middleware.live.message.LiveRoomConfig;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -92,6 +93,12 @@ public class ImLiveBroadcastRoomVo implements Serializable {
     @ApiModelProperty("预约人数")
     private Integer roomReservationNum;
 
+    @ApiModelProperty("直播间用户签名")
+    private String userSig;
+
+    @ApiModelProperty("直播配置")
+    private LiveRoomConfig liveRoomConfig;
+
     public Integer getId() {
         return id;
     }
@@ -305,5 +312,31 @@ public class ImLiveBroadcastRoomVo implements Serializable {
     public void setPopularizeType(String popularizeType) {
         this.popularizeType = popularizeType;
     }
+
+    public String getUserSig() {
+        return userSig;
+    }
+
+    public void setUserSig(String userSig) {
+        this.userSig = userSig;
+    }
+
+    public LiveRoomConfig getLiveRoomConfig() {
+        return liveRoomConfig;
+    }
+
+    public void setLiveRoomConfig(LiveRoomConfig liveRoomConfig) {
+        this.liveRoomConfig = liveRoomConfig;
+    }
+
+    public ImLiveBroadcastRoomVo userSig(String userSig) {
+        this.userSig = userSig;
+        return this;
+    }
+
+    public ImLiveBroadcastRoomVo liveRoomConfig(LiveRoomConfig liveRoomConfig) {
+        this.liveRoomConfig = liveRoomConfig;
+        return this;
+    }
 }
 

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ContractService.java

@@ -118,6 +118,13 @@ public interface ContractService {
 	 * @return
 	 */
 	void transferProduceContract(Integer userId, String musicGroupId, OrderTypeEnum orderType);
+	
+	/**
+	 * 传递产品协议
+	 * @param userId
+	 * @return
+	 */
+	void transferProduceContract(Integer userId, String musicGroupId, OrderTypeEnum orderType, Date currentDate);
 
 	/**
 	 * 查询产品协议

+ 13 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ContractServiceImpl.java

@@ -897,9 +897,14 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
     }
 
     @Override
+    public void transferProduceContract(Integer userId, String musicGroupId, OrderTypeEnum orderType) {
+    	transferProduceContract(userId, musicGroupId, orderType, new Date());
+    }
+
+    @Override
     @Async
     @Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED, propagation = Propagation.REQUIRES_NEW)
-    public void transferProduceContract(Integer userId, String musicGroupId, OrderTypeEnum orderType) {
+	public void transferProduceContract(Integer userId, String musicGroupId, OrderTypeEnum orderType, Date currentDate) {
         SysUser user = studentDao.lockUserReturnInfo(userId);
 
         if (user == null) {
@@ -943,6 +948,12 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
         params.put("studentInfo", studentInfo);
 
         params.put("isShowVisualSeal", false);
+        
+        if(currentDate != null){
+        	params.put("currentDate", currentDate);
+        }else{
+        	params.put("currentDate", date);
+        }
 
         if (StringUtils.isBlank(musicGroupId)) {
             params.put("ownershipType", "OWN");
@@ -1041,7 +1052,7 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
         FileUtils.deleteQuietly(srcFile);
     }
 
-    @Override
+	@Override
     @Transactional(isolation = Isolation.READ_COMMITTED)
     public Map<String, Object> queryProductContract(Integer userId, String musicGroupId, OrderTypeEnum orderType) {
         // 合成freemarker

+ 4 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExportServiceImpl.java

@@ -187,6 +187,8 @@ public class ExportServiceImpl implements ExportService {
     private StudentStatisticsDao studentStatisticsDao;
     @Autowired
     private StudentTeacherMapperDao studentTeacherMapperDao;
+    @Autowired
+    private SchoolDao schoolDao;
 
     private static final ExecutorService exportExecutorService = Executors.newFixedThreadPool(10);
     @Autowired
@@ -1833,7 +1835,7 @@ public class ExportServiceImpl implements ExportService {
         long i = 1;
         Map<Integer, String> cooperationOrganMap = new HashMap<>();
         List<Integer> cooperationOrganIds = studentPaymentOrderExportDtos.stream()
-                .filter(e -> OUTORDER.equals(e.getType()))
+                .filter(e -> OUTORDER == e.getType() || GroupType.OUTORDER == e.getGroupType())
                 .filter(e -> e.getMusicGroupId() != null)
                 .map(e -> Integer.valueOf(e.getMusicGroupId()))
                 .distinct()
@@ -2215,7 +2217,7 @@ public class ExportServiceImpl implements ExportService {
                     row.setEduTeacher(cooperationOrgan.getLinkman() != null ? cooperationOrgan.getLinkman() : row.getEduTeacher());
                 }
             }
-            if (row.getType().equals(OUTORDER) && row.getMusicGroupId() != null) {
+            if ((row.getType() == OUTORDER || row.getGroupType() == GroupType.OUTORDER) && StringUtils.isNotEmpty(row.getMusicGroupId())) {
                 if (cooperationOrganMap.containsKey(Integer.valueOf(row.getMusicGroupId()))) {
                     row.setCooperationOrganName(cooperationOrganMap.get(Integer.valueOf(row.getMusicGroupId())));
                     CooperationOrgan cooperationOrganEduTeacher = musicGroupDao.findCooperationOrganEduTeacher(Integer.valueOf(row.getMusicGroupId()));

+ 23 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImLiveBroadcastRoomServiceImpl.java

@@ -8,6 +8,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.google.common.collect.Lists;
+import com.microsvc.toolkit.middleware.live.impl.TencentCloudLivePlugin;
+import com.microsvc.toolkit.middleware.live.message.LiveRoomConfig;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.ImLiveBroadcastRoomDao;
@@ -92,6 +94,8 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
     private ImLiveRoomReservationService imLiveRoomReservationService;
     @Autowired
     private ImLiveRoomBlackService imLiveRoomBlackService;
+    @Autowired
+    private TencentCloudLivePlugin tencentCloudLivePlugin;
 
     //待替换的变量
     public static final String USER_ID = "${userId}";
@@ -130,6 +134,7 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
         SysUser sysUser = Optional.ofNullable(userId)
                 .map(this::getSysUser)
                 .orElseGet(this::getSysUser);
+        // 默认学生端查询
         osType = Optional.ofNullable(osType).orElse(1);
         if (osType == 1) {
             //学生端
@@ -200,7 +205,21 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
         if (count > 0) {
             room.setBlacklistFlag(1);
         }
-        return room;
+
+        // 直播房间配置信息
+        String userSig = "";
+        try {
+            userSig = tencentCloudLivePlugin.register(String.valueOf(sysUser.getId()), sysUser.getUsername(),
+                    sysUser.getAvatar());
+
+        } catch (Exception e) {
+            log.error("直播房间用户注册失败: userId={}", sysUser.getId(), e);
+        }
+
+        // 直播间配置信息
+        LiveRoomConfig liveRoomConfig = tencentCloudLivePlugin.getLiveRoomConfig();
+
+        return room.userSig(userSig).liveRoomConfig(liveRoomConfig);
     }
 
     /**
@@ -260,6 +279,9 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
                 continue;
             }
             record.setRoomReservationNum(imLiveBroadcastRoomVos.get(0).getRoomReservationNum());
+
+            // 设置直播间参数信息
+
         }
 
         return PageUtil.pageInfo(page);

+ 2 - 2
mec-biz/src/main/resources/config/contracts/latest_contract_template.ftl

@@ -118,10 +118,10 @@
             </div>
         	<#else>
             <div class="sign">甲方签章:${companyName}
-                <span>日期:${.now?string("yyyy年MM月dd日")}</span>
+                <span>日期:${currentDate?string("yyyy年MM月dd日")}</span>
             </div>
             <div class="sign">乙方签章:
-                <span>日期:${.now?string("yyyy年MM月dd日")} </span>
+                <span>日期:${currentDate?string("yyyy年MM月dd日")} </span>
             </div>
         	</#if>
         </div>

+ 8 - 4
mec-biz/src/main/resources/config/mybatis/ActivityUserMapperMapper.xml

@@ -442,9 +442,11 @@
 		<result property="subCourseNum" column="sub_course_num_"/>
 	</resultMap>
 	<select id="queryActivityStudentList" resultMap="ActivityUserDto">
-		SELECT aum.user_id_,su.avatar_,sj.id_ subject_id_,su.username_,su.phone_,sj.name_ subject_name_,SUM(aum.sub_course_num_) sub_course_num_
-		FROM (SELECT aum.id_,aum.user_id_,aum.sub_course_num_,
-		             aum.single_course_time_,case when category_id_ IS NULL THEN 'PRACTICE' ELSE 'VIP' END type_ from activity_user_mapper aum
+		SELECT aum.user_id_,su.avatar_,sj.id_ subject_id_,su.username_,su.phone_,sj.name_ subject_name_,aum.sub_course_num_
+		FROM (
+		select aum.id_,aum.user_id_,SUM(aum.sub_course_num_) sub_course_num_,aum.single_course_time_,aum.type_ from (
+		SELECT aum.id_,aum.user_id_,aum.sub_course_num_,
+		aum.single_course_time_,case when category_id_ IS NULL THEN 'PRACTICE' ELSE 'VIP' END type_ from activity_user_mapper aum
 		WHERE aum.sub_course_num_ > 0 AND aum.return_fee_ = 0
 		<if test="queryInfo.categoryId != null">
 			AND aum.category_id_ = #{queryInfo.categoryId}
@@ -454,7 +456,7 @@
 		</if>
 		UNION ALL
 		SELECT aum.id_,aum.user_id_,aum.sub_give_course_num_ sub_course_num_,
-		       aum.give_single_course_time_ single_course_time_,case when give_category_id_ IS NULL THEN 'PRACTICE' ELSE 'VIP' END type_ from activity_user_mapper aum
+		aum.give_single_course_time_ single_course_time_,case when give_category_id_ IS NULL THEN 'PRACTICE' ELSE 'VIP' END type_ from activity_user_mapper aum
 		WHERE aum.sub_give_course_num_ > 0 AND aum.return_fee_ = 0
 		<if test="queryInfo.categoryId != null">
 			AND aum.give_category_id_ = #{queryInfo.categoryId}
@@ -463,6 +465,8 @@
 			AND aum.give_category_id_ IS NULL
 		</if>
 		) aum
+		group by aum.user_id_
+		) aum
 		<if test="queryInfo.teacherId != null">
 			left join student_teacher_mapper stm ON stm.student_id_ = aum.user_id_
 		</if>

+ 1 - 0
mec-eureka/pom.xml

@@ -42,6 +42,7 @@
 			<plugin>
 				<groupId>com.spotify</groupId>
 				<artifactId>docker-maven-plugin</artifactId>
+				<version>1.2.2</version>
 			</plugin>
 		</plugins>
 	</build>

+ 1 - 0
mec-gateway/mec-gateway-admin/pom.xml

@@ -33,6 +33,7 @@
 			<plugin>
 				<groupId>com.spotify</groupId>
 				<artifactId>docker-maven-plugin</artifactId>
+				<version>1.2.2</version>
 			</plugin>
 		</plugins>
 	</build>

+ 1 - 0
mec-gateway/mec-gateway-web/pom.xml

@@ -71,6 +71,7 @@
 			<plugin>
 				<groupId>com.spotify</groupId>
 				<artifactId>docker-maven-plugin</artifactId>
+				<version>1.2.2</version>
 			</plugin>
 		</plugins>
 	</build>

+ 1 - 0
mec-im/pom.xml

@@ -123,6 +123,7 @@
             <plugin>
                 <groupId>com.spotify</groupId>
                 <artifactId>docker-maven-plugin</artifactId>
+                <version>1.2.2</version>
             </plugin>
         </plugins>
     </build>

+ 1 - 0
mec-monitor/pom.xml

@@ -40,6 +40,7 @@
 			<plugin>
 				<groupId>com.spotify</groupId>
 				<artifactId>docker-maven-plugin</artifactId>
+				<version>1.2.2</version>
 			</plugin>
 		</plugins>
 	</build>

+ 1 - 0
mec-student/pom.xml

@@ -77,6 +77,7 @@
 			<plugin>
 				<groupId>com.spotify</groupId>
 				<artifactId>docker-maven-plugin</artifactId>
+				<version>1.2.2</version>
 			</plugin>
 		</plugins>
 	</build>

+ 1 - 0
mec-task/pom.xml

@@ -81,6 +81,7 @@
 			<plugin>
 				<groupId>com.spotify</groupId>
 				<artifactId>docker-maven-plugin</artifactId>
+				<version>1.2.2</version>
 			</plugin>
 		</plugins>
 	</build>

+ 1 - 0
mec-teacher/pom.xml

@@ -75,6 +75,7 @@
 			<plugin>
 				<groupId>com.spotify</groupId>
 				<artifactId>docker-maven-plugin</artifactId>
+				<version>1.2.2</version>
 			</plugin>
 		</plugins>
 	</build>

+ 2 - 2
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/eseal/provider/TsignPlugin.java

@@ -63,12 +63,12 @@ public class TsignPlugin implements ESealPlugin, InitializingBean, DisposableBea
         projectconfig.setItsmApiUrl(apisUrl);
         Result result = ServiceClientManager.registClient(projectconfig, null, null);
         if (result.getErrCode() != 0) {
-            //throw new ThirdpartyException("e签宝客户端注册失败:{}", result.getMsg());
+            throw new ThirdpartyException("e签宝客户端注册失败:{}", result.getMsg());
         }
 
         serviceClient = ServiceClientManager.get(projectId);
         if (serviceClient == null) {
-            //throw new ThirdpartyException("获取e签宝客户端失败");
+            throw new ThirdpartyException("获取e签宝客户端失败");
         }
     }
 

+ 1 - 0
mec-web/pom.xml

@@ -81,6 +81,7 @@
 			<plugin>
 				<groupId>com.spotify</groupId>
 				<artifactId>docker-maven-plugin</artifactId>
+				<version>1.2.2</version>
 			</plugin>
 		</plugins>
 	</build>

+ 14 - 1
mec-web/src/main/java/com/ym/mec/web/controller/TempController.java

@@ -4,11 +4,11 @@ import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.OutputStream;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
 import org.apache.commons.io.FileUtils;
-import org.apache.commons.io.IOUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -16,6 +16,8 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.multipart.MultipartFile;
 
+import com.ym.mec.biz.dal.enums.OrderTypeEnum;
+import com.ym.mec.biz.service.ContractService;
 import com.ym.mec.biz.service.TempTestService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.util.excel.POIUtil;
@@ -26,6 +28,9 @@ public class TempController extends BaseController {
 	
 	@Autowired
 	private TempTestService tempTestService;
+	
+	@Autowired
+	private ContractService contractService;
 
 	@PostMapping(value = "/queryOrganMusicInfos")
 	public Object queryOrganMusicInfos(@RequestParam("multipartFile") MultipartFile multipartFile) {
@@ -61,4 +66,12 @@ public class TempController extends BaseController {
 
 		return succeed();
 	}
+
+	@PostMapping(value = "/generateContract")
+	public Object generateContract(Integer userId, String musicGroupId, OrderTypeEnum orderType, Date currentDate) {
+
+		contractService.transferProduceContract(userId, musicGroupId, orderType, currentDate);
+
+		return succeed();
+	}
 }

+ 1 - 1
mec-web/src/main/resources/bootstrap-local.properties

@@ -3,7 +3,7 @@
 #\u670d\u52a1\u5668\u5730\u5740
 spring.cloud.nacos.config.server-addr=47.114.176.40:8848
 #\u9ed8\u8ba4\u4e3aPublic\u547d\u540d\u7a7a\u95f4,\u53ef\u4ee5\u7701\u7565\u4e0d\u5199
-spring.cloud.nacos.config.namespace=6488ff54-d97a-43ea-8c7b-d1d25bb54622
+spring.cloud.nacos.config.namespace=763c3d7e-d071-41e3-885a-170b91e6376c
 #\u6307\u5b9a\u914d\u7f6e\u7fa4\u7ec4 --\u5982\u679c\u662fPublic\u547d\u540d\u7a7a\u95f4 \u5219\u53ef\u4ee5\u7701\u7565\u7fa4\u7ec4\u914d\u7f6e
 spring.cloud.nacos.config.group=DEFAULT_GROUP
 #\u6587\u4ef6\u540d -- \u5982\u679c\u6ca1\u6709\u914d\u7f6e\u5219\u9ed8\u8ba4\u4e3a ${spring.appliction.name}

+ 1 - 0
mec-websocket/pom.xml

@@ -82,6 +82,7 @@
 			<plugin>
 				<groupId>com.spotify</groupId>
 				<artifactId>docker-maven-plugin</artifactId>
+				<version>1.2.2</version>
 			</plugin>
 		</plugins>
 	</build>

+ 1 - 0
mec-zipkin/pom.xml

@@ -77,6 +77,7 @@
 			<plugin>
 				<groupId>com.spotify</groupId>
 				<artifactId>docker-maven-plugin</artifactId>
+				<version>1.2.2</version>
 			</plugin>
 		</plugins>
 	</build>

+ 21 - 0
pom.xml

@@ -15,6 +15,7 @@
 		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 		<maven.compiler.source>1.8</maven.compiler.source>
 		<maven.compiler.target>1.8</maven.compiler.target>
+		<maven.test.skip>true</maven.test.skip>
 		<spring-boot.version>2.1.6.RELEASE</spring-boot.version>
 		<spring-cloud.version>Greenwich.RELEASE</spring-cloud.version>
 		<zipkin.version>2.12.2</zipkin.version>
@@ -221,11 +222,29 @@
 				<version>5.1.1</version>
 			</dependency>
 
+			<!--maven compile plugins-->
+			<dependency>
+				<groupId>com.spotify</groupId>
+				<artifactId>docker-maven-plugin</artifactId>
+				<version>1.2.2</version>
+			</dependency>
+
 		</dependencies>
 	</dependencyManagement>
 
 	<repositories>
 		<repository>
+			<id>anigiomaven</id>
+			<name>AnigioMaven</name>
+			<url>https://mvn.dayaedu.com/repository/maven-public/</url>
+		</repository>
+		<repository>
+			<id>alimaven</id>
+			<name>aliyun maven</name>
+			<url>https://maven.aliyun.com/nexus/content/groups/public/</url>
+		</repository>
+
+		<repository>
 			<id>spring-milestones</id>
 			<name>Spring Milestones</name>
 			<url>https://repo.spring.io/libs-milestone</url>
@@ -363,6 +382,7 @@
 		</pluginManagement>
 		<plugins>
 			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
 				<artifactId>maven-compiler-plugin</artifactId>
 				<version>3.8.0</version>
 				<configuration>
@@ -379,6 +399,7 @@
 			<plugin>
 				<groupId>org.apache.maven.plugins</groupId>
 				<artifactId>maven-resources-plugin</artifactId>
+				<version>2.6</version>
 				<configuration>
 					<encoding>UTF-8</encoding>
 					<!-- 过滤后缀为pem、pfx的证书文件 -->