Quellcode durchsuchen

Merge branch 'feature/0219-live' into test

Eric vor 1 Jahr
Ursprung
Commit
7239371db3
34 geänderte Dateien mit 165 neuen und 44 gelöschten Zeilen
  1. 1 3
      audio-analysis/src/main/resources/bootstrap-pre.properties
  2. 1 0
      audio-analysis/src/main/resources/bootstrap-prod.properties
  3. 1 1
      audio-analysis/src/main/resources/logback-spring.xml
  4. 1 0
      cms/src/main/resources/bootstrap-pre.properties
  5. 1 0
      cms/src/main/resources/bootstrap-prod.properties
  6. 1 1
      cms/src/main/resources/logback-spring.xml
  7. 6 5
      mec-application/src/main/java/com/ym/mec/web/controller/ExportController.java
  8. 2 1
      mec-application/src/main/resources/bootstrap-pre.properties
  9. 2 1
      mec-application/src/main/resources/bootstrap-prod.properties
  10. 4 4
      mec-application/src/main/resources/logback-spring.xml
  11. 1 0
      mec-auth/mec-auth-server/src/main/resources/bootstrap-pre.properties
  12. 1 0
      mec-auth/mec-auth-server/src/main/resources/bootstrap-prod.properties
  13. 1 1
      mec-auth/mec-auth-server/src/main/resources/logback-spring.xml
  14. 3 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/GoodsDao.java
  15. 3 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CloudTeacherSumDto.java
  16. 8 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Goods.java
  17. 4 0
      mec-biz/src/main/java/com/ym/mec/biz/service/GoodsService.java
  18. 85 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/GoodsServiceImpl.java
  19. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServiceImpl.java
  20. 14 0
      mec-biz/src/main/resources/config/mybatis/GoodsMapper.xml
  21. 1 1
      mec-gateway/mec-gateway-web/src/main/resources/logback-spring.xml
  22. 2 1
      mec-im/src/main/java/com/ym/service/Impl/LiveRoomServiceImpl.java
  23. 8 5
      mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java
  24. 1 0
      mec-im/src/main/resources/bootstrap-pre.properties
  25. 2 1
      mec-im/src/main/resources/bootstrap-prod.properties
  26. 1 1
      mec-im/src/main/resources/logback-spring.xml
  27. 1 1
      mec-mall/mall-admin/src/main/resources/logback-spring.xml
  28. 1 1
      mec-mall/mall-portal/src/main/resources/logback-spring.xml
  29. 1 3
      mec-task/src/main/resources/bootstrap-pre.properties
  30. 1 3
      mec-task/src/main/resources/bootstrap-prod.properties
  31. 1 1
      mec-task/src/main/resources/logback-spring.xml
  32. 1 3
      mec-websocket/src/main/resources/bootstrap-pre.properties
  33. 1 0
      mec-websocket/src/main/resources/bootstrap-prod.properties
  34. 1 1
      mec-websocket/src/main/resources/logback-spring.xml

+ 1 - 3
audio-analysis/src/main/resources/bootstrap-pre.properties

@@ -1,6 +1,3 @@
-#\u6307\u5b9a\u5f00\u53d1\u73af\u5883
-#spring.profiles.active=dev
-#\u670d\u52a1\u5668\u5730\u5740
 spring.cloud.nacos.config.server-addr=10.206.0.12:8848
 #\u9ed8\u8ba4\u4e3aPublic\u547d\u540d\u7a7a\u95f4,\u53ef\u4ee5\u7701\u7565\u4e0d\u5199
 spring.cloud.nacos.config.namespace=59e3c24c-a617-4632-a8d0-2766b3cf6d44
@@ -14,3 +11,4 @@ spring.cloud.nacos.config.file-extension=yaml
 spring.cloud.refresh.enabled=true
 #\u662f\u5426\u542f\u7528nacos\u914d\u7f6e\u4e2d\u5fc3
 spring.cloud.nacos.config.enabled=true
+spring.cloud.nacos.config.shared-dataids=base.yaml

+ 1 - 0
audio-analysis/src/main/resources/bootstrap-prod.properties

@@ -14,3 +14,4 @@ spring.cloud.nacos.config.file-extension=yaml
 spring.cloud.refresh.enabled=true
 #\u662f\u5426\u542f\u7528nacos\u914d\u7f6e\u4e2d\u5fc3
 spring.cloud.nacos.config.enabled=true
+spring.cloud.nacos.config.shared-dataids=base.yaml

+ 1 - 1
audio-analysis/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 
-	<property name="LOG_HOME" value="/mdata/logs/audio-analysis-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="LOG_HOME" value="${LOG_HOME}/audio-analysis-%d{yyyy-MM-dd_HH}-%i.log" />
 	<property name="CONSOLE_LOG_PATTERN"
 		value="[%X{username} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n" />
 

+ 1 - 0
cms/src/main/resources/bootstrap-pre.properties

@@ -14,3 +14,4 @@ spring.cloud.nacos.config.file-extension=yaml
 spring.cloud.refresh.enabled=true
 #\u662f\u5426\u542f\u7528nacos\u914d\u7f6e\u4e2d\u5fc3
 spring.cloud.nacos.config.enabled=true
+spring.cloud.nacos.config.shared-dataids=base.yaml

+ 1 - 0
cms/src/main/resources/bootstrap-prod.properties

@@ -14,3 +14,4 @@ spring.cloud.nacos.config.file-extension=yaml
 spring.cloud.refresh.enabled=true
 #\u662f\u5426\u542f\u7528nacos\u914d\u7f6e\u4e2d\u5fc3
 spring.cloud.nacos.config.enabled=true
+spring.cloud.nacos.config.shared-dataids=base.yaml

+ 1 - 1
cms/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 
-	<property name="LOG_HOME" value="/mdata/logs/cms-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="LOG_HOME" value="${LOG_HOME}/cms-%d{yyyy-MM-dd_HH}-%i.log" />
 	<property name="CONSOLE_LOG_PATTERN"
 		value="[%X{username} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n" />
 

+ 6 - 5
mec-application/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -521,16 +521,17 @@ public class ExportController extends BaseController {
     public void exportGoods(HttpServletResponse response, GoodsQueryInfo queryInfo) throws IOException {
         queryInfo.setPage(1);
         queryInfo.setRows(49999);
-        List<Goods> rows = goodsService.queryPage(queryInfo).getRows();
+        List<Goods> rows = goodsService.exportGoods(queryInfo);
         OutputStream outputStream = response.getOutputStream();
         try {
-            HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"商品编号", "货号", "品牌", "商品名称",
+            HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"学员展示分部","教务展示分部","课程收费团展示分部","会员团展示分部", "免费团展示分部","乐器置换展示分部", "分部成本", "商品编号", "货号", "品牌", "商品名称",
                     "是否组合商品", "商品类型", "商品分类", "具体型号", "内部库存", "税务库存", "库存类型", "市场价(元)",
-                    "零售价(元)", "商品团购价(元)", "商品描述", "商品详情", "是否上下架"}, new String[]{
-                    "id", "sn", "brand", "name",
+                    "零售价(元)", "商品团购价(元)", "商品描述", "商品详情", "是否上下架","子商品编号","子商品名称","子商品成本","子商品货号"}, new String[]{
+                    "studentShowOrganName","educationShowOrganName","courseFeeShowOrganName","memberFeeShowOrganName","freeFeeShowOrganName","replacementShowOrganName",
+                    "organCostPrice", "id", "sn", "brand", "name",
                     "complementGoodsIdList == null || complementGoodsIdList == '' ? '否':'是'",
                     "type.desc", "goodsCategoryName", "specification", "stockCount", "taxStockCount", "stockType.msg", "marketPrice",
-                    "discountPrice", "groupPurchasePrice", "brief", "desc", "status.msg"}, rows);
+                    "discountPrice", "groupPurchasePrice", "brief", "desc", "status.msg","childId","childName","childOrganCostPrice","childSn"}, rows);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attac:wq" +
                     "hment;filename=goods-" + DateUtil.getDate(new Date()) + ".xls");

+ 2 - 1
mec-application/src/main/resources/bootstrap-pre.properties

@@ -11,4 +11,5 @@ spring.cloud.nacos.config.file-extension=yaml
 spring.cloud.nacos.config.enabled=true
 #Enables autoconfiguration for the refresh scope and associated features
 spring.cloud.refresh.enabled=true
-logging.config=classpath:logback-spring.xml
+logging.config=classpath:logback-spring.xml
+spring.cloud.nacos.config.shared-dataids=base.yaml

+ 2 - 1
mec-application/src/main/resources/bootstrap-prod.properties

@@ -11,4 +11,5 @@ spring.cloud.nacos.config.file-extension=yaml
 spring.cloud.nacos.config.enabled=true
 #Enables autoconfiguration for the refresh scope and associated features
 spring.cloud.refresh.enabled=true
-logging.config=classpath:logback-spring.xml
+logging.config=classpath:logback-spring.xml
+spring.cloud.nacos.config.shared-dataids=base.yaml

+ 4 - 4
mec-application/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 
-    <property name="LOG_HOME" value="/mdata/logs/app-%d{yyyy-MM-dd_HH}-%i.log"/>
+<!--    <property name="LOG_HOME" value="${LOG_HOME}"/>-->
     <property name="CONSOLE_LOG_PATTERN"
               value="[%X{username} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n"/>
 
@@ -14,7 +14,7 @@
     <appender name="file"
               class="ch.qos.logback.core.rolling.RollingFileAppender">
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <FileNamePattern>${LOG_HOME}</FileNamePattern>
+            <FileNamePattern>${LOG_HOME}/app-%d{yyyy-MM-dd_HH}-%i.log</FileNamePattern>
             <MaxHistory>90</MaxHistory>
             <TimeBasedFileNamingAndTriggeringPolicy
                     class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
@@ -30,7 +30,7 @@
     <appender name="messagefile"
               class="ch.qos.logback.core.rolling.RollingFileAppender">
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <FileNamePattern>/mdata/logs/app-message-%d{yyyy-MM-dd_HH}-%i.log</FileNamePattern>
+            <FileNamePattern>${LOG_HOME}/app-message-%d{yyyy-MM-dd_HH}-%i.log</FileNamePattern>
             <MaxHistory>90</MaxHistory>
             <TimeBasedFileNamingAndTriggeringPolicy
                     class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
@@ -46,7 +46,7 @@
     <appender name="liveFile"
               class="ch.qos.logback.core.rolling.RollingFileAppender">
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <FileNamePattern>/mdata/logs/app-live-%d{yyyy-MM-dd_HH}-%i.log</FileNamePattern>
+            <FileNamePattern>${LOG_HOME}/app-live-%d{yyyy-MM-dd_HH}-%i.log</FileNamePattern>
             <MaxHistory>90</MaxHistory>
             <TimeBasedFileNamingAndTriggeringPolicy
                     class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">

+ 1 - 0
mec-auth/mec-auth-server/src/main/resources/bootstrap-pre.properties

@@ -14,3 +14,4 @@ spring.cloud.nacos.config.file-extension=yaml
 spring.cloud.nacos.config.refresh.enabled=true
 #\u662f\u5426\u542f\u7528nacos\u914d\u7f6e\u4e2d\u5fc3
 spring.cloud.nacos.config.enabled=true
+spring.cloud.nacos.config.shared-dataids=base.yaml

+ 1 - 0
mec-auth/mec-auth-server/src/main/resources/bootstrap-prod.properties

@@ -14,3 +14,4 @@ spring.cloud.nacos.config.file-extension=yaml
 spring.cloud.nacos.config.refresh.enabled=true
 #\u662f\u5426\u542f\u7528nacos\u914d\u7f6e\u4e2d\u5fc3
 spring.cloud.nacos.config.enabled=true
+spring.cloud.nacos.config.shared-dataids=base.yaml

+ 1 - 1
mec-auth/mec-auth-server/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 
-	<property name="LOG_HOME" value="/mdata/logs/auth-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="LOG_HOME" value="${LOG_HOME}/auth-%d{yyyy-MM-dd_HH}-%i.log" />
 	<property name="CONSOLE_LOG_PATTERN"
 		value="[%X{username} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n" />
 

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/GoodsDao.java

@@ -5,6 +5,7 @@ import com.ym.mec.biz.dal.dto.MusicGroupGoodsAndDiscountDto;
 import com.ym.mec.biz.dal.entity.Goods;
 import com.ym.mec.biz.dal.entity.ReplacementInstrument;
 import com.ym.mec.biz.dal.page.GoodsQuery;
+import com.ym.mec.biz.dal.page.GoodsQueryInfo;
 import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 
@@ -199,4 +200,6 @@ public interface GoodsDao extends BaseDAO<Integer, Goods> {
     Integer getReplacementInstrumentCount(Map<String, Object> params);
 
     BigDecimal getOrganCostPrice(@Param("complementGoodsIdList") String complementGoodsIdList);
+
+    List<Goods> exportGoods(Map<String, Object> params);
 }

+ 3 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CloudTeacherSumDto.java

@@ -40,7 +40,7 @@ public class CloudTeacherSumDto {
     private BigDecimal train0 = BigDecimal.ZERO;
 
     @ApiModelProperty(value = "10~60分钟")
-    private Integer train1;
+    private BigDecimal train1 = BigDecimal.ZERO;
 
     @ApiModelProperty(value = "60~120分钟")
     private Integer train2;
@@ -138,11 +138,11 @@ public class CloudTeacherSumDto {
         this.train0 = train0;
     }
 
-    public Integer getTrain1() {
+    public BigDecimal getTrain1() {
         return train1;
     }
 
-    public void setTrain1(Integer train1) {
+    public void setTrain1(BigDecimal train1) {
         this.train1 = train1;
     }
 

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Goods.java

@@ -177,6 +177,14 @@ public class Goods {
 
 	private Integer tenantId = TenantContextHolder.getTenantId();
 
+	private String childId;
+
+	private String childName;
+
+	private String childSn;
+
+	private String childOrganCostPrice;
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/GoodsService.java

@@ -2,6 +2,8 @@ package com.ym.mec.biz.service;
 
 import java.util.List;
 
+import com.ym.mec.biz.dal.page.GoodsQueryInfo;
+import com.ym.mec.common.page.PageInfo;
 import org.springframework.web.multipart.MultipartFile;
 
 import com.ym.mec.biz.dal.dto.GoodsSellDto;
@@ -14,6 +16,8 @@ import com.ym.mec.common.service.BaseService;
 
 public interface GoodsService extends BaseService<Integer, Goods> {
 
+    List<Goods> exportGoods(GoodsQueryInfo queryInfo);
+
     void addGoods(Goods goods, Integer operatorId);
 
     void addGoodsProcurement(GoodsProcurement goodsProcurement);

+ 85 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/GoodsServiceImpl.java

@@ -7,9 +7,11 @@ import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.dal.dto.GoodsSellDto;
 import com.ym.mec.biz.dal.entity.Goods;
 import com.ym.mec.biz.dal.entity.GoodsProcurement;
+import com.ym.mec.biz.dal.entity.Organization;
 import com.ym.mec.biz.dal.entity.SellOrder;
 import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.page.GoodsQuery;
+import com.ym.mec.biz.dal.page.GoodsQueryInfo;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.UploadReturnBean;
@@ -18,6 +20,7 @@ import com.ym.mec.common.service.IdGeneratorService;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.common.tenant.TenantContextHolder;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
+import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.excel.POIUtil;
 import com.ym.mec.util.ini.IniFileUtil;
 
@@ -69,6 +72,88 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement
 	}
 
 	@Override
+	public List<Goods> exportGoods(GoodsQueryInfo queryInfo) {
+		Map<String, Object> params = new HashMap<String, Object>();
+		MapUtil.populateMap(params, queryInfo);
+		List<Goods> rows = goodsDao.exportGoods(params);
+		if (CollectionUtils.isEmpty(rows)) {
+			throw new BizException("没有查询到商品信息");
+		}
+		List<Organization> all = organizationDao.findAll(params);
+		Map<Integer, String> organizationMap = all.stream().collect(Collectors.toMap(Organization::getId, Organization::getName));
+		for (Goods goods : rows) {
+			if(StringUtils.isNotEmpty(goods.getStudentShowOrganId())){
+				String[] split = goods.getStudentShowOrganId().split(",");
+				StringBuffer sb = new StringBuffer();
+				for (String s : split) {
+					if(sb.length() > 0){
+						sb.append(",");
+					}
+					sb.append(organizationMap.get(Integer.valueOf(s)));
+				}
+				goods.setStudentShowOrganName(sb.toString());
+			}
+			if(StringUtils.isNotEmpty(goods.getEducationShowOrganId())){
+				String[] split = goods.getEducationShowOrganId().split(",");
+				StringBuffer sb = new StringBuffer();
+				for (String s : split) {
+					if(sb.length() > 0){
+						sb.append(",");
+					}
+					sb.append(organizationMap.get(Integer.valueOf(s)));
+				}
+				goods.setEducationShowOrganName(sb.toString());
+			}
+			if(StringUtils.isNotEmpty(goods.getReplacementShowOrganId())){
+				String[] split = goods.getReplacementShowOrganId().split(",");
+				StringBuffer sb = new StringBuffer();
+				for (String s : split) {
+					if(sb.length() > 0){
+						sb.append(",");
+					}
+					sb.append(organizationMap.get(Integer.valueOf(s)));
+				}
+				goods.setReplacementShowOrganName(sb.toString());
+			}
+			if(StringUtils.isNotEmpty(goods.getCourseFeeShowOrganId())){
+				String[] split = goods.getCourseFeeShowOrganId().split(",");
+				StringBuffer sb = new StringBuffer();
+				for (String s : split) {
+					if(sb.length() > 0){
+						sb.append(",");
+					}
+					sb.append(organizationMap.get(Integer.valueOf(s)));
+				}
+				goods.setCourseFeeShowOrganName(sb.toString());
+			}
+			if(StringUtils.isNotEmpty(goods.getMemberFeeShowOrganId())){
+				String[] split = goods.getMemberFeeShowOrganId().split(",");
+				StringBuffer sb = new StringBuffer();
+				for (String s : split) {
+					if(sb.length() > 0){
+						sb.append(",");
+					}
+					sb.append(organizationMap.get(Integer.valueOf(s)));
+				}
+				goods.setMemberFeeShowOrganName(sb.toString());
+			}
+			if(StringUtils.isNotEmpty(goods.getFreeFeeShowOrganId())){
+				String[] split = goods.getFreeFeeShowOrganId().split(",");
+				StringBuffer sb = new StringBuffer();
+				for (String s : split) {
+					if(sb.length() > 0){
+						sb.append(",");
+					}
+					sb.append(organizationMap.get(Integer.valueOf(s)));
+				}
+				goods.setFreeFeeShowOrganName(sb.toString());
+			}
+
+		}
+		return rows;
+	}
+
+	@Override
 	@Transactional(rollbackFor = Exception.class,isolation = Isolation.READ_COMMITTED)
 	public void addGoods(Goods goods, Integer operatorId) {
 		if(StringUtils.isBlank(goods.getSn())){

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

@@ -1269,7 +1269,7 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
             }
             if(dto.getTrainStudentNum().compareTo(BigDecimal.ZERO) > 0){
                 dto.setTrainAvgTrainTime(dto.getTrainTotalTime().divide(dto.getTrainStudentNum(),2, 2));
-                dto.setTrainStandRate(dto.getTrain0().divide(dto.getTrainStudentNum(),4, 2).multiply(decimal).setScale(2));
+                dto.setTrainStandRate(dto.getTrain1().divide(dto.getTrainStudentNum(),4, 2).multiply(decimal).setScale(2));
             }
 
 
@@ -1301,7 +1301,7 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
                 }
                 if(dto.getTrainStudentNum().compareTo(BigDecimal.ZERO) > 0){
                     dto.setTrainAvgTrainTime(dto.getTrainTotalTime().divide(dto.getTrainStudentNum(),2, 2));
-                    dto.setTrainStandRate(dto.getTrain0().divide(dto.getTrainStudentNum(),4, 2).multiply(decimal).setScale(2));
+                    dto.setTrainStandRate(dto.getTrain1().divide(dto.getTrainStudentNum(),4, 2).multiply(decimal).setScale(2));
                 }
             }
         }

+ 14 - 0
mec-biz/src/main/resources/config/mybatis/GoodsMapper.xml

@@ -50,6 +50,10 @@
         <result column="free_fee_show_organ_id_" property="freeFeeShowOrganId"/>
         <result column="free_fee_show_organ_name_" property="freeFeeShowOrganName"/>
         <result column="tenant_id_" property="tenantId"/>
+        <result column="child_id_" property="childId"/>
+        <result column="child_name_" property="childName"/>
+        <result column="child_sn_" property="childSn"/>
+        <result column="child_organ_cost_price_" property="childOrganCostPrice"/>
     </resultMap>
 
     <!-- 根据主键查询一条记录 -->
@@ -551,6 +555,16 @@
     <select id="getOrganCostPrice" resultType="java.math.BigDecimal">
         select SUM(organ_cost_price_) from goods where FIND_IN_SET(id_,#{complementGoodsIdList});
     </select>
+    <select id="exportGoods" resultMap="Goods">
+        SELECT g.*,gc.name_ goods_category_name_,
+        GROUP_CONCAT(gs.name_) child_name_,GROUP_CONCAT(gs.sn_) child_sn_,
+        GROUP_CONCAT(gs.id_) child_id_,GROUP_CONCAT(gs.organ_cost_price_) child_organ_cost_price_ FROM goods g
+        LEFT JOIN goods_category gc ON g.goods_category_id_ = gc.id_
+        left join goods gs ON FIND_IN_SET(gs.id_,g.complement_goods_id_list_)
+        <include refid="queryGoodsPageSql"/>
+        GROUP BY g.id_
+        ORDER BY g.id_ DESC
+    </select>
 
     <sql id="replacementQuerySql">
         <where>

+ 1 - 1
mec-gateway/mec-gateway-web/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 
-	<property name="LOG_HOME" value="/mdata/logs/gateway-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="LOG_HOME" value="${LOG_HOME}/gateway-%d{yyyy-MM-dd_HH}-%i.log" />
 	<property name="CONSOLE_LOG_PATTERN"
 		value="[%X{username} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n" />
 

+ 2 - 1
mec-im/src/main/java/com/ym/service/Impl/LiveRoomServiceImpl.java

@@ -342,7 +342,8 @@ public class LiveRoomServiceImpl implements LiveRoomService {
         ImLiveRoomVideo imLiveRoomVideo = initImLiveRoomVideo(roomId, event.getTaskId(), DateTime.now().toDate());
         imLiveRoomVideo.setStartTime(new DateTime(startTime).toDate());
         imLiveRoomVideo.setEndTime(new DateTime(event.getEndTime() * 1000L).toDate());
-        imLiveRoomVideo.setUrl(event.getVideoUrl());
+        // 强制替换http为https
+        imLiveRoomVideo.setUrl(event.getVideoUrl().replace("http://", "https://"));
         imLiveRoomVideo.setType(2);
 
         // 回放记录已存在,直接忽略

+ 8 - 5
mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

@@ -1181,13 +1181,18 @@ public class RoomServiceImpl implements RoomService {
         // 用户退出房间多次触发调用判定
         RoomMember roomMember = roomMemberDao.findByRidAndUid(roomId, userId);
         if (Objects.isNull(roomMember)) {
-            businessLogger.warn("leaveRoomSuccess: REPEATED_EXECUTION roomId={}, userId={}, deviceNum={}", roomId, userId, deviceNum);
-            return;
+
+            // 若老师已经离开房间,先添加到房间
+            roomMember = saveRoomMember(roomId, userId);
+            if (Objects.nonNull(roomMember) && RoleEnum.getEnumByValue(roomMember.getRole()) != RoleTeacher) {
+                businessLogger.warn("leaveRoomSuccess: REPEATED_EXECUTION roomId={}, userId={}, deviceNum={}", roomId, userId, deviceNum);
+                return;
+            }
         }
 
         // 回调整事件延迟通知
         if (callbackTs < roomMember.getJoinDt().getTime()) {
-            businessLogger.warn("leaveRoomSuccess: q roomId={}, userId={}, deviceNum={}, callbackTs={}, joinTs={}",
+            businessLogger.warn("leaveRoomSuccess: DELAY_NOTIFY roomId={}, userId={}, deviceNum={}, callbackTs={}, joinTs={}",
                     roomId, userId, deviceNum, callbackTs, roomMember.getJoinDt().getTime());
             return;
         }
@@ -1195,8 +1200,6 @@ public class RoomServiceImpl implements RoomService {
         businessLogger.info("leaveRoomSuccess: roomId={}, userId={}, deviceNum={}, joinTs={}, callbackTs={}", roomId, userId, deviceNum,
                 roomMember.getJoinDt().getTime(), callbackTs);
 
-        // 若用户已经离开房间,先添加用户到房间
-
         // 用户离开事件
         leaveRoomSuccess(roomId, userId, deviceNum);
     }

+ 1 - 0
mec-im/src/main/resources/bootstrap-pre.properties

@@ -15,3 +15,4 @@ spring.cloud.refresh.enabled=true
 #\u662f\u5426\u542f\u7528nacos\u914d\u7f6e\u4e2d\u5fc3
 spring.cloud.nacos.config.enabled=true
 logging.config=classpath:logback-spring.xml
+spring.cloud.nacos.config.shared-dataids=base.yaml

+ 2 - 1
mec-im/src/main/resources/bootstrap-prod.properties

@@ -14,4 +14,5 @@ spring.cloud.nacos.config.file-extension=yaml
 spring.cloud.refresh.enabled=true
 #\u662f\u5426\u542f\u7528nacos\u914d\u7f6e\u4e2d\u5fc3
 spring.cloud.nacos.config.enabled=true
-logging.config=classpath:logback-spring.xml
+logging.config=classpath:logback-spring.xml
+spring.cloud.nacos.config.shared-dataids=base.yaml

+ 1 - 1
mec-im/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 
-    <property name="LOG_HOME" value="/mdata/logs/im-%d{yyyy-MM-dd_HH}-%i.log" />
+    <property name="LOG_HOME" value="${LOG_HOME}/im-%d{yyyy-MM-dd_HH}-%i.log" />
     <property name="CONSOLE_LOG_PATTERN"
               value="[%X{username} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n" />
 

+ 1 - 1
mec-mall/mall-admin/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 
-	<property name="LOG_HOME" value="/mdata/logs/mall-admin-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="LOG_HOME" value="${LOG_HOME}/mall-admin-%d{yyyy-MM-dd_HH}-%i.log" />
 	<property name="CONSOLE_LOG_PATTERN"
 			  value="[%X{username} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n" />
 

+ 1 - 1
mec-mall/mall-portal/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 
-	<property name="LOG_HOME" value="/mdata/logs/mall-portal-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="LOG_HOME" value="${LOG_HOME}/mall-portal-%d{yyyy-MM-dd_HH}-%i.log" />
 	<property name="CONSOLE_LOG_PATTERN"
 			  value="[%X{username} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n" />
 

+ 1 - 3
mec-task/src/main/resources/bootstrap-pre.properties

@@ -1,6 +1,3 @@
-#\u6307\u5b9a\u5f00\u53d1\u73af\u5883
-#spring.profiles.active=dev
-#\u670d\u52a1\u5668\u5730\u5740
 spring.cloud.nacos.config.server-addr=10.206.0.12:8848
 #\u9ed8\u8ba4\u4e3aPublic\u547d\u540d\u7a7a\u95f4,\u53ef\u4ee5\u7701\u7565\u4e0d\u5199
 spring.cloud.nacos.config.namespace=59e3c24c-a617-4632-a8d0-2766b3cf6d44
@@ -14,3 +11,4 @@ spring.cloud.nacos.config.file-extension=yaml
 spring.cloud.refresh.enabled=true
 #\u662f\u5426\u542f\u7528nacos\u914d\u7f6e\u4e2d\u5fc3
 spring.cloud.nacos.config.enabled=true
+spring.cloud.nacos.config.shared-dataids=base.yaml

+ 1 - 3
mec-task/src/main/resources/bootstrap-prod.properties

@@ -1,6 +1,3 @@
-#\u6307\u5b9a\u5f00\u53d1\u73af\u5883
-#spring.profiles.active=dev
-#\u670d\u52a1\u5668\u5730\u5740
 spring.cloud.nacos.config.server-addr=10.206.0.12:8848
 #\u9ed8\u8ba4\u4e3aPublic\u547d\u540d\u7a7a\u95f4,\u53ef\u4ee5\u7701\u7565\u4e0d\u5199
 spring.cloud.nacos.config.namespace=f40a7594-4bd0-4bc6-8397-9353c6d2e63a
@@ -14,3 +11,4 @@ spring.cloud.nacos.config.file-extension=yaml
 spring.cloud.refresh.enabled=true
 #\u662f\u5426\u542f\u7528nacos\u914d\u7f6e\u4e2d\u5fc3
 spring.cloud.nacos.config.enabled=true
+spring.cloud.nacos.config.shared-dataids=base.yaml

+ 1 - 1
mec-task/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 
-	<property name="LOG_HOME" value="/mdata/logs/task-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="LOG_HOME" value="${LOG_HOME}/task-%d{yyyy-MM-dd_HH}-%i.log" />
 	<property name="CONSOLE_LOG_PATTERN"
 			  value="[%X{username} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n" />
 

+ 1 - 3
mec-websocket/src/main/resources/bootstrap-pre.properties

@@ -1,6 +1,3 @@
-#\u6307\u5b9a\u5f00\u53d1\u73af\u5883
-#spring.profiles.active=dev
-#\u670d\u52a1\u5668\u5730\u5740
 spring.cloud.nacos.config.server-addr=10.206.0.12:8848
 #\u9ed8\u8ba4\u4e3aPublic\u547d\u540d\u7a7a\u95f4,\u53ef\u4ee5\u7701\u7565\u4e0d\u5199
 spring.cloud.nacos.config.namespace=59e3c24c-a617-4632-a8d0-2766b3cf6d44
@@ -14,3 +11,4 @@ spring.cloud.nacos.config.file-extension=yaml
 spring.cloud.refresh.enabled=true
 #\u662f\u5426\u542f\u7528nacos\u914d\u7f6e\u4e2d\u5fc3
 spring.cloud.nacos.config.enabled=true
+spring.cloud.nacos.config.shared-dataids=base.yaml

+ 1 - 0
mec-websocket/src/main/resources/bootstrap-prod.properties

@@ -14,3 +14,4 @@ spring.cloud.nacos.config.file-extension=yaml
 spring.cloud.refresh.enabled=true
 #\u662f\u5426\u542f\u7528nacos\u914d\u7f6e\u4e2d\u5fc3
 spring.cloud.nacos.config.enabled=true
+spring.cloud.nacos.config.shared-dataids=base.yaml

+ 1 - 1
mec-websocket/src/main/resources/logback-spring.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="10 seconds">
 
-	<property name="LOG_HOME" value="/mdata/logs/websocket-%d{yyyy-MM-dd_HH}-%i.log" />
+	<property name="LOG_HOME" value="${LOG_HOME}/websocket-%d{yyyy-MM-dd_HH}-%i.log" />
 	<property name="CONSOLE_LOG_PATTERN"
 			  value="[%X{username} %X{ip} %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}] : %msg%n" />