소스 검색

Merge branch 'feature/0908-oss' into master_saas

Eric 1 년 전
부모
커밋
0000097bef
19개의 변경된 파일158개의 추가작업 그리고 67개의 파일을 삭제
  1. 11 0
      mec-biz/pom.xml
  2. 3 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentGoodsSellDao.java
  3. 14 5
      mec-biz/src/main/java/com/ym/mec/biz/service/UploadFileService.java
  4. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
  5. 4 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ContractServiceImpl.java
  6. 39 15
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExportServiceImpl.java
  7. 10 7
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentGoodsSellServiceImpl.java
  8. 2 2
      mec-biz/src/main/resources/config/contracts/courses.ftl
  9. 2 2
      mec-biz/src/main/resources/config/contracts/goods.ftl
  10. 2 2
      mec-biz/src/main/resources/config/contracts/practice.ftl
  11. 2 2
      mec-biz/src/main/resources/config/contracts/product5.ftl
  12. 3 0
      mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml
  13. 6 2
      mec-biz/src/main/resources/config/mybatis/StudentGoodsSellMapper.xml
  14. 0 0
      mec-biz/src/main/resources/config/mybatis/TenantInfoMapper.xml
  15. 1 1
      mec-common/common-core/src/main/java/com/ym/mec/common/entity/ImUserModel.java
  16. 7 2
      mec-student/src/main/java/com/ym/mec/student/controller/StudentManageController.java
  17. 33 17
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherManageController.java
  18. 11 0
      mec-thirdparty/src/main/java/com/ym/mec/thirdparty/entity/UploadSign.java
  19. 7 2
      mec-web/src/main/java/com/ym/mec/web/controller/UploadFileController.java

+ 11 - 0
mec-biz/pom.xml

@@ -83,6 +83,17 @@
             <artifactId>microsvc-middleware-im</artifactId>
             <version>1.0.0</version>
         </dependency>
+		<dependency>
+			<groupId>com.microsvc.toolkit.middleware</groupId>
+			<artifactId>microsvc-middleware-oss</artifactId>
+			<version>1.0.0</version>
+		</dependency>
+
+		<dependency>
+			<groupId>com.alibaba</groupId>
+			<artifactId>fastjson</artifactId>
+			<version>1.2.70</version>
+		</dependency>
 
 	</dependencies>
 </project>

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

@@ -57,7 +57,7 @@ public interface StudentGoodsSellDao extends BaseDAO<Integer, StudentGoodsSell>
      * @param autoAffirmReceiveTime:
      * @return java.util.List<java.lang.String>
      */
-    String queryNoAffirmOrderNo(@Param("autoAffirmReceiveTime") String autoAffirmReceiveTime, @Param("tenantId") Integer tenantid);
+    List<String> queryNoAffirmOrderNo(@Param("autoAffirmReceiveTime") String autoAffirmReceiveTime, @Param("tenantId") Integer tenantid);
 
     /**
      * @describe 自动确认收货
@@ -65,10 +65,10 @@ public interface StudentGoodsSellDao extends BaseDAO<Integer, StudentGoodsSell>
      * @author zouxuan
      * @date 2020/10/12
      * @time 10:15
-     * @param orderNo:
+     * @param orderNos:
      * @return void
      */
-    void autoAffirmReceive(@Param("orderNo") String orderNo, @Param("status") String status);
+    void autoAffirmReceive(@Param("orderNos") List<String> orderNos, @Param("status") String status);
 
     /**
      * @describe 获取学生端商品购买列表

+ 14 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/UploadFileService.java

@@ -1,6 +1,8 @@
 package com.ym.mec.biz.service;
 
-import com.ksyun.ks3.dto.PostObjectFormFields;
+import com.alibaba.fastjson.JSON;
+import com.microsvc.toolkit.middleware.oss.OssPluginContext;
+import com.microsvc.toolkit.middleware.oss.wrapper.OssWrapper;
 import com.ym.mec.thirdparty.entity.UploadSign;
 import com.ym.mec.common.entity.UploadReturnBean;
 import com.ym.mec.common.exception.BizException;
@@ -26,6 +28,9 @@ public class UploadFileService {
 	@Autowired
 	private StoragePluginContext storagePluginContext;
 
+	@Autowired
+	private OssPluginContext ossPluginContext;
+
 	/** 最大上传大小,单位kb */
 	@Value("${common.upload.maxSize:153600}")
 	private int maxSize;
@@ -106,8 +111,8 @@ public class UploadFileService {
 
 	/**
 	 * 上传文件的工具方法
-	 * @param in
-	 * @param path
+	 * @param inputStream InputStream
+	 * @param filePath String
 	 * @return
 	 */
 	private File uploadFile(InputStream inputStream, String filePath, String fileName) {
@@ -135,7 +140,11 @@ public class UploadFileService {
 	 * @param uploadSign
 	 * @return
 	 */
-	public PostObjectFormFields getUploadSign(UploadSign uploadSign) {
-		return storagePluginContext.getUploadSign(KS3StoragePlugin.PLUGIN_NAME, uploadSign);
+	public OssWrapper.ResponseSign getUploadSign(UploadSign uploadSign) {
+		//return storagePluginContext.getUploadSign(KS3StoragePlugin.PLUGIN_NAME, uploadSign);
+		// 请求授权签名
+		OssWrapper.RequestSign requestSign = JSON.parseObject(JSON.toJSONString(uploadSign), OssWrapper.RequestSign.class);
+
+		return ossPluginContext.getPluginService(uploadSign.getPluginName()).getUploadSign(requestSign);
 	}
 }

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

@@ -4176,7 +4176,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         }
         map.put("userId", userId);
         if (StringUtils.isEmpty(user.getAvatar())) {
-            map.put("avatar", "https://daya-online.oss-cn-beijing.aliyuncs.com/201912/RkoZBNq.jpeg");
+            map.put("avatar", "https://oss.dayaedu.com/201912/RkoZBNq.jpeg");
         } else {
             map.put("avatar", user.getAvatar());
         }

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

@@ -1006,10 +1006,10 @@ public class ContractServiceImpl implements ContractService {
 		if (studentInfo.getTenantId() == 1) {
 			if (OwnershipType.OWN.name().equals(params.get("ownershipType"))) {
 				//params.put("companyName", "深圳大雅乐盟网络教育股份有限公司");
-				//params.put("sealPicture", "https://daya-online.oss-cn-beijing.aliyuncs.com/website/cachet.png");
+				//params.put("sealPicture", "https://oss.dayaedu.com/website/cachet.png");
 			} else {
 				params.put("companyName", "武汉长乐长风乐器销售有限公司");
-				params.put("sealPicture", "https://daya-online.oss-cn-beijing.aliyuncs.com/website/clcf.png");
+				params.put("sealPicture", "https://oss.dayaedu.com/website/clcf.png");
 			}
 		}
 
@@ -1137,10 +1137,10 @@ public class ContractServiceImpl implements ContractService {
 		if (studentInfo.getTenantId() == 1) {
 			if (OwnershipType.OWN.name().equals(params.get("ownershipType"))) {
 				//params.put("companyName", "深圳大雅乐盟网络教育股份有限公司");
-				//params.put("sealPicture", "https://daya-online.oss-cn-beijing.aliyuncs.com/website/cachet.png");
+				//params.put("sealPicture", "https://oss.dayaedu.com/website/cachet.png");
 			} else {
 				params.put("companyName", "武汉长乐长风乐器销售有限公司");
-				params.put("sealPicture", "https://daya-online.oss-cn-beijing.aliyuncs.com/website/clcf.png");
+				params.put("sealPicture", "https://oss.dayaedu.com/website/clcf.png");
 			}
 		}
 		

+ 39 - 15
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExportServiceImpl.java

@@ -3217,7 +3217,9 @@ public class ExportServiceImpl implements ExportService {
 
     public @PostConstruct
     void initOrderDetailTypeServiceConsumerMap() {
-        BiConsumer<StudentPaymentOrderExportDto, StudentPaymentOrderDetail> con1 = (orderDto, detail) -> orderDto.setMusicGroupCourseFee(orderDto.getMusicGroupCourseFee().add(detail.getPrice()));
+        BiConsumer<StudentPaymentOrderExportDto, StudentPaymentOrderDetail> con1 =
+                (orderDto, detail) -> orderDto.setMusicGroupCourseFee(orderDto.getMusicGroupCourseFee().add(detail.getPrice())
+                        .compareTo(orderDto.getServiceAmount()) > 0 ? orderDto.getServiceAmount() : orderDto.getMusicGroupCourseFee().add(detail.getPrice()));
         orderDetailTypeServiceConsumerMap.put(OrderDetailTypeEnum.COURSE, con1);
         orderDetailTypeServiceConsumerMap.put(OrderDetailTypeEnum.CLASSROOM, con1);
         orderDetailTypeServiceConsumerMap.put(OrderDetailTypeEnum.SINGLE, con1);
@@ -3230,15 +3232,30 @@ public class ExportServiceImpl implements ExportService {
         orderDetailTypeServiceConsumerMap.put(OrderDetailTypeEnum.HIGH, con1);
         orderDetailTypeServiceConsumerMap.put(OrderDetailTypeEnum.HIGH_ONLINE, con1);
         orderDetailTypeServiceConsumerMap.put(OrderDetailTypeEnum.HIGH_ONLINE_COURSE, con1);
-        orderDetailTypeServiceConsumerMap.put(OrderDetailTypeEnum.DEGREE_REGISTRATION, (orderDto, detail) -> orderDto.setDegreeFee(orderDto.getDegreeFee().add(detail.getPrice())));
-        orderDetailTypeServiceConsumerMap.put(OrderDetailTypeEnum.MAINTENANCE, (orderDto, detail) -> orderDto.setMaintenanceFee(orderDto.getMaintenanceFee().add(detail.getPrice())));
-        BiConsumer<StudentPaymentOrderExportDto, StudentPaymentOrderDetail> con2 = (orderDto, detail) -> orderDto.setCloudTeacherFee(orderDto.getCloudTeacherFee().add(detail.getPrice()));
+        orderDetailTypeServiceConsumerMap.put(OrderDetailTypeEnum.DEGREE_REGISTRATION,
+                (orderDto, detail) -> orderDto.setDegreeFee(orderDto.getDegreeFee().add(detail.getPrice())
+                        .compareTo(orderDto.getServiceAmount()) > 0 ? orderDto.getServiceAmount() : orderDto.getDegreeFee().add(detail.getPrice())));
+        orderDetailTypeServiceConsumerMap.put(OrderDetailTypeEnum.MAINTENANCE,
+                (orderDto, detail) -> orderDto.setMaintenanceFee(orderDto.getMaintenanceFee().add(detail.getPrice())
+                        .compareTo(orderDto.getServiceAmount()) > 0 ? orderDto.getServiceAmount() : orderDto.getMaintenanceFee().add(detail.getPrice())));
+        //原有的业务逻辑不支持同一笔订单明细分润导多个账户,所以这里先比较金额大小,会有bug
+        BiConsumer<StudentPaymentOrderExportDto, StudentPaymentOrderDetail> con2 =
+                (orderDto, detail) -> orderDto.setCloudTeacherFee(orderDto.getCloudTeacherFee().add(detail.getPrice())
+                        .compareTo(orderDto.getServiceAmount()) > 0 ? orderDto.getServiceAmount() : orderDto.getCloudTeacherFee().add(detail.getPrice()));
         orderDetailTypeServiceConsumerMap.put(OrderDetailTypeEnum.CLOUD_TEACHER, con2);
         orderDetailTypeServiceConsumerMap.put(OrderDetailTypeEnum.CLOUD_TEACHER_PLUS, con2);
-        orderDetailTypeServiceConsumerMap.put(OrderDetailTypeEnum.THEORY_COURSE, (orderDto, detail) -> orderDto.setTheoryCourseFee(orderDto.getTheoryCourseFee().add(detail.getPrice())));
-        orderDetailTypeServiceConsumerMap.put(OrderDetailTypeEnum.PRACTICE, (orderDto, detail) -> orderDto.setPracticeCourseFee(orderDto.getPracticeCourseFee().add(detail.getPrice())));
-        orderDetailTypeServiceConsumerMap.put(OrderDetailTypeEnum.VIP, (orderDto, detail) -> orderDto.setVipCourseFee(orderDto.getVipCourseFee().add(detail.getPrice())));
-        orderDetailTypeServiceConsumerMap.put(OrderDetailTypeEnum.REPAIR, (orderDto, detail) -> orderDto.setRepairFee(orderDto.getRepairFee().add(detail.getPrice())));
+        orderDetailTypeServiceConsumerMap.put(OrderDetailTypeEnum.THEORY_COURSE,
+                (orderDto, detail) -> orderDto.setTheoryCourseFee(orderDto.getTheoryCourseFee().add(detail.getPrice())
+                        .compareTo(orderDto.getServiceAmount()) > 0 ? orderDto.getServiceAmount() : orderDto.getTheoryCourseFee().add(detail.getPrice())));
+        orderDetailTypeServiceConsumerMap.put(OrderDetailTypeEnum.PRACTICE,
+                (orderDto, detail) -> orderDto.setPracticeCourseFee(orderDto.getPracticeCourseFee().add(detail.getPrice())
+                        .compareTo(orderDto.getServiceAmount()) > 0 ? orderDto.getServiceAmount() : orderDto.getPracticeCourseFee().add(detail.getPrice())));
+        orderDetailTypeServiceConsumerMap.put(OrderDetailTypeEnum.VIP,
+                (orderDto, detail) -> orderDto.setVipCourseFee(orderDto.getVipCourseFee().add(detail.getPrice())
+                        .compareTo(orderDto.getServiceAmount()) > 0 ? orderDto.getServiceAmount() : orderDto.getVipCourseFee().add(detail.getPrice())));
+        orderDetailTypeServiceConsumerMap.put(OrderDetailTypeEnum.REPAIR,
+                (orderDto, detail) -> orderDto.setRepairFee(orderDto.getRepairFee().add(detail.getPrice())
+                        .compareTo(orderDto.getServiceAmount()) > 0 ? orderDto.getServiceAmount() : orderDto.getRepairFee().add(detail.getPrice())));
     }
 
     //计算订单详情实际支付金额(按比例)
@@ -3282,18 +3299,22 @@ public class ExportServiceImpl implements ExportService {
         BigDecimal price = orderDetail.getPrice().subtract(orderDetail.getIncome());
         switch (orderDetail.getType()) {
             case OTHER:
-                basicOrder.setOtherFee(basicOrder.getOtherFee().add(price));
+                basicOrder.setOtherFee(basicOrder.getOtherFee().add(price)
+                        .compareTo(basicOrder.getSaleAmount()) > 0 ? basicOrder.getSaleAmount() : basicOrder.getOtherFee().add(price));
                 break;
             case MUSICAL:
                 if (orderDetail.getKitGroupPurchaseType() != null && orderDetail.getKitGroupPurchaseType().equals(KitGroupPurchaseTypeEnum.LEASE)) {
-                    basicOrder.setLeaseFee(basicOrder.getLeaseFee().add(price));
+                    basicOrder.setLeaseFee(basicOrder.getLeaseFee().add(price)
+                            .compareTo(basicOrder.getSaleAmount()) > 0 ? basicOrder.getSaleAmount() : basicOrder.getLeaseFee().add(price));
                 } else {
-                    basicOrder.setMusicalFee(basicOrder.getMusicalFee().add(price));
+                    basicOrder.setMusicalFee(basicOrder.getMusicalFee().add(price)
+                            .compareTo(basicOrder.getSaleAmount()) > 0 ? basicOrder.getSaleAmount() : basicOrder.getMusicalFee().add(price));
                 }
                 break;
             case TEACHING:
             case ACCESSORIES:
-                basicOrder.setTeachingFee(basicOrder.getTeachingFee().add(price));
+                basicOrder.setTeachingFee(basicOrder.getTeachingFee().add(price)
+                        .compareTo(basicOrder.getSaleAmount()) > 0 ? basicOrder.getSaleAmount() : basicOrder.getTeachingFee().add(price));
                 break;
         }
     }
@@ -3306,13 +3327,16 @@ public class ExportServiceImpl implements ExportService {
             case ACCESSORIES:
             case TEACHING:
             case STAFF:
-                basicOrder.setTeachingFee(basicOrder.getTeachingFee().add(sellOrder.getActualAmount()));
+                basicOrder.setTeachingFee(basicOrder.getTeachingFee().add(sellOrder.getActualAmount())
+                        .compareTo(basicOrder.getSaleAmount()) > 0 ? basicOrder.getSaleAmount() : basicOrder.getTeachingFee().add(sellOrder.getActualAmount()));
                 break;
             case INSTRUMENT:
-                basicOrder.setMusicalFee(basicOrder.getMusicalFee().add(sellOrder.getActualAmount()));
+                basicOrder.setMusicalFee(basicOrder.getMusicalFee().add(sellOrder.getActualAmount())
+                        .compareTo(basicOrder.getSaleAmount()) > 0 ? basicOrder.getSaleAmount() : basicOrder.getMusicalFee().add(sellOrder.getActualAmount()));
                 break;
             case OTHER:
-                basicOrder.setOtherFee(basicOrder.getOtherFee().add(sellOrder.getActualAmount()));
+                basicOrder.setOtherFee(basicOrder.getOtherFee().add(sellOrder.getActualAmount())
+                        .compareTo(basicOrder.getSaleAmount()) > 0 ? basicOrder.getSaleAmount() : basicOrder.getOtherFee().add(sellOrder.getActualAmount()));
                 break;
         }
     }

+ 10 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentGoodsSellServiceImpl.java

@@ -18,6 +18,7 @@ import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.common.tenant.TenantContextHolder;
 import com.ym.mec.util.collection.MapUtil;
+import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -81,25 +82,27 @@ public class StudentGoodsSellServiceImpl extends BaseServiceImpl<Integer, Studen
     public void affirmReceive(String orderNo) {
         String str = "MANUAL_RECEIVE";
         if (StringUtils.isNotEmpty(orderNo)) {
-            studentGoodsSellDao.autoAffirmReceive(orderNo, str);
+            List<String> orderNos = new ArrayList<>();
+            orderNos.add(orderNo);
+            studentGoodsSellDao.autoAffirmReceive(orderNos, str);
             return;
         }
         //如果订单编号为空,那么自动确认
-        StringBuffer sb = new StringBuffer();
         str = "AUTO_RECEIVE";
         List<TenantInfo> tenantInfos = tenantInfoService.list(new QueryWrapper<TenantInfo>().eq("state_",1));
         if(tenantInfos != null && tenantInfos.size() > 0){
+            List<String> orderNos = new ArrayList<>();
             for (int i = 0; i < tenantInfos.size(); i++) {
                 TenantInfo tenantInfo = tenantInfos.get(i);
                 String autoAffirmReceiveTime = sysTenantConfigService.getTenantConfigValue(SysConfigService.AUTO_AFFIRM_RECEIVE_TIME,tenantInfo.getId());
                 //获取到期的订单编号
-                String s = studentGoodsSellDao.queryNoAffirmOrderNo(autoAffirmReceiveTime, tenantInfo.getId());
-                if(StringUtils.isNotEmpty(s)){
-                    sb.append(s).append(",");
+                List<String> strings = studentGoodsSellDao.queryNoAffirmOrderNo(autoAffirmReceiveTime, tenantInfo.getId());
+                if(CollectionUtils.isNotEmpty(strings)){
+                    orderNos.addAll(strings);
                 }
             }
-            if (sb.length() > 0) {
-                studentGoodsSellDao.autoAffirmReceive(sb.substring(0,sb.length() - 1), str);
+            if (CollectionUtils.isNotEmpty(orderNos)) {
+                studentGoodsSellDao.autoAffirmReceive(orderNos, str);
             }
         }
     }

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

@@ -168,11 +168,11 @@
         <div class="signature">
         	<#if isShowVisualSeal>
         	<#if ownershipType == 'OWN'>
-            <div class="sign">甲方签章:深圳大雅乐盟网络教育股份有限公司<img class="cachet" src="https://daya-online.oss-cn-beijing.aliyuncs.com/website/cachet.png" alt="" />
+            <div class="sign">甲方签章:深圳大雅乐盟网络教育股份有限公司<img class="cachet" src="https://oss.dayaedu.com/website/cachet.png" alt="" />
                 <span>日期:${.now?string("yyyy年MM月dd日")}</span>
             </div>
             <#else>
-            <div class="sign">甲方签章:武汉长乐长风乐器销售有限公司<img class="cachet" src="https://daya-online.oss-cn-beijing.aliyuncs.com/website/clcf.png" alt="" />
+            <div class="sign">甲方签章:武汉长乐长风乐器销售有限公司<img class="cachet" src="https://oss.dayaedu.com/website/clcf.png" alt="" />
                 <span>日期:${.now?string("yyyy年MM月dd日")}</span>
             </div>
             </#if>

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

@@ -147,11 +147,11 @@
         <div class="signature">
         	<#if isShowVisualSeal>
         	<#if ownershipType == 'OWN'>
-            <div class="sign">甲方签章:深圳大雅乐盟网络教育股份有限公司<img class="cachet" src="https://daya-online.oss-cn-beijing.aliyuncs.com/website/cachet.png" alt="" />
+            <div class="sign">甲方签章:深圳大雅乐盟网络教育股份有限公司<img class="cachet" src="https://oss.dayaedu.com/website/cachet.png" alt="" />
                 <span>日期:${.now?string("yyyy年MM月dd日")}</span>
             </div>
             <#else>
-            <div class="sign">甲方签章:武汉长乐长风乐器销售有限公司<img class="cachet" src="https://daya-online.oss-cn-beijing.aliyuncs.com/website/clcf.png" alt="" />
+            <div class="sign">甲方签章:武汉长乐长风乐器销售有限公司<img class="cachet" src="https://oss.dayaedu.com/website/clcf.png" alt="" />
                 <span>日期:${.now?string("yyyy年MM月dd日")}</span>
             </div>
             </#if>

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

@@ -158,11 +158,11 @@
 		<div class="signature">
         	<#if isShowVisualSeal>
         	<#if ownershipType == 'OWN'>
-            <div class="sign">甲方签章:深圳大雅乐盟网络教育股份有限公司<img class="cachet" src="https://daya-online.oss-cn-beijing.aliyuncs.com/website/cachet.png" alt="" />
+            <div class="sign">甲方签章:深圳大雅乐盟网络教育股份有限公司<img class="cachet" src="https://oss.dayaedu.com/website/cachet.png" alt="" />
                 <span>日期:${.now?string("yyyy年MM月dd日")}</span>
             </div>
             <#else>
-            <div class="sign">甲方签章:武汉长乐长风乐器销售有限公司<img class="cachet" src="https://daya-online.oss-cn-beijing.aliyuncs.com/website/clcf.png" alt="" />
+            <div class="sign">甲方签章:武汉长乐长风乐器销售有限公司<img class="cachet" src="https://oss.dayaedu.com/website/clcf.png" alt="" />
                 <span>日期:${.now?string("yyyy年MM月dd日")}</span>
             </div>
             </#if>

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

@@ -178,11 +178,11 @@
         <div class="signature">
         	<#if isShowVisualSeal>
         	<#if ownershipType == 'OWN'>
-            <div class="sign">甲方签章:深圳大雅乐盟网络教育股份有限公司<img class="cachet" src="https://daya-online.oss-cn-beijing.aliyuncs.com/website/cachet.png" alt="" />
+            <div class="sign">甲方签章:深圳大雅乐盟网络教育股份有限公司<img class="cachet" src="https://oss.dayaedu.com/website/cachet.png" alt="" />
                 <span>日期:${.now?string("yyyy年MM月dd日")}</span>
             </div>
             <#else>
-            <div class="sign">甲方签章:武汉长乐长风乐器销售有限公司<img class="cachet" src="https://daya-online.oss-cn-beijing.aliyuncs.com/website/clcf.png" alt="" />
+            <div class="sign">甲方签章:武汉长乐长风乐器销售有限公司<img class="cachet" src="https://oss.dayaedu.com/website/clcf.png" alt="" />
                 <span>日期:${.now?string("yyyy年MM月dd日")}</span>
             </div>
             </#if>

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml

@@ -313,6 +313,9 @@
     <sql id="musicGroupQueryPageSql">
         <where>
             mg.del_flag_ = 0 AND mg.tenant_id_ = #{tenantId}
+            <if test="musicGroupName != null and musicGroupName != ''">
+                AND mg.name_ LIKE CONCAT('%',#{musicGroupName},'%')
+            </if>
             <if test="organId != null">
                 AND FIND_IN_SET(mg.organ_id_,#{organId})
             </if>

+ 6 - 2
mec-biz/src/main/resources/config/mybatis/StudentGoodsSellMapper.xml

@@ -88,7 +88,11 @@
 		</set> WHERE id_ = #{id} and tenant_id_ = #{tenantId}
 	</update>
 	<update id="autoAffirmReceive">
-		UPDATE student_payment_order SET receive_status_ = #{status},update_time_ = NOW() WHERE FIND_IN_SET(order_no_,#{orderNo})
+		UPDATE student_payment_order SET receive_status_ = #{status},update_time_ = NOW()
+		WHERE order_no_ IN
+		<foreach collection="orderNos" item="orderNo" separator="," open="(" close=")">
+		    #{orderNo}
+		</foreach>
 	</update>
 
 	<!-- 根据主键删除一条记录 -->
@@ -166,7 +170,7 @@
 		WHERE spo.order_no_ = #{orderNo} LIMIT 1
 	</select>
     <select id="queryNoAffirmOrderNo" resultType="java.lang.String">
-		SELECT GROUP_CONCAT(DISTINCT so.order_no_) FROM sell_order so
+		SELECT DISTINCT so.order_no_ FROM sell_order so
 		LEFT JOIN student_payment_order spo ON spo.order_no_ = so.order_no_
 		WHERE spo.status_ = 'SUCCESS' AND spo.receive_status_ = 'NO_RECEIVE' and spo.tenant_id_ = #{tenantId}
 		<if test="autoAffirmReceiveTime != null and autoAffirmReceiveTime != ''">

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
mec-biz/src/main/resources/config/mybatis/TenantInfoMapper.xml


+ 1 - 1
mec-common/common-core/src/main/java/com/ym/mec/common/entity/ImUserModel.java

@@ -19,7 +19,7 @@ public class ImUserModel {
         this.id = id;
         this.name = name;
         if(StringUtils.isEmpty(portrait)){
-            this.portrait = "https://daya-online.oss-cn-beijing.aliyuncs.com/201912/RkoZBNq.jpeg";
+            this.portrait = "https://oss.dayaedu.com/201912/RkoZBNq.jpeg";
         }else {
             this.portrait = portrait;
         }

+ 7 - 2
mec-student/src/main/java/com/ym/mec/student/controller/StudentManageController.java

@@ -1,6 +1,6 @@
 package com.ym.mec.student.controller;
 
-import com.ksyun.ks3.dto.PostObjectFormFields;
+import com.microsvc.toolkit.middleware.oss.wrapper.OssWrapper;
 import com.ym.mec.thirdparty.entity.UploadSign;
 import io.swagger.annotations.*;
 
@@ -123,6 +123,7 @@ public class StudentManageController extends BaseController {
             @ApiImplicitParam(name = "postData", dataType = "Map", value = "1.如果使用js sdk上传的时候设置了ACL请设置,例\"acl\":\"public-read\"值要与SDK中一致,没有则删除该项</br>" +
                     "2.提供js sdk中的key值,例\"key\":\"20150115/中文/${filename}\""),
             @ApiImplicitParam(name = "unknowValueField", dataType = "List", value = "对于用户无法确定表单值的放在unknownValueField中(比如有的上传控件会添加一些表单项,但表单项的值可能是随机的)"),
+            @ApiImplicitParam(name = "pluginName", dataType = "String", value = "插件名称,默认ks3,可选值:ks3,aliyun,tencent"),
     })
     @ApiOperation(value = "获取上传文件签名", notes = "{\n" +
             "    \"bucketName\":\"\",\n" +
@@ -134,7 +135,11 @@ public class StudentManageController extends BaseController {
             "    \"unknowValueField\":[\"test\"]\n" +
             "}")
     @PostMapping("/getUploadSign")
-    public HttpResponseResult<PostObjectFormFields> getUploadSign(@RequestBody UploadSign uploadSign) {
+    public HttpResponseResult<OssWrapper.ResponseSign> getUploadSign(@RequestParam(defaultValue = "ks3") String pluginName,
+                                                                     @RequestBody UploadSign uploadSign) {
+        // 设置默认文件存储服务方
+        uploadSign.setPluginName(pluginName);
+
         return succeed(uploadFileService.getUploadSign(uploadSign));
     }
 

+ 33 - 17
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherManageController.java

@@ -1,31 +1,42 @@
 package com.ym.mec.teacher.controller;
 
-import com.ksyun.ks3.dto.PostObjectFormFields;
-import com.ym.mec.biz.dal.entity.CooperationOrgan;
-import com.ym.mec.biz.dal.enums.SuggestionType;
-import com.ym.mec.biz.service.*;
-import com.ym.mec.common.entity.HttpResponseResult;
-import com.ym.mec.thirdparty.entity.UploadSign;
-import io.swagger.annotations.*;
-
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-
+import com.microsvc.toolkit.middleware.oss.wrapper.OssWrapper;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.CashAccountDetail;
+import com.ym.mec.biz.dal.entity.CooperationOrgan;
 import com.ym.mec.biz.dal.entity.SysSuggestion;
 import com.ym.mec.biz.dal.entity.SysUserBankCard;
+import com.ym.mec.biz.service.ClassGroupService;
+import com.ym.mec.biz.service.CooperationOrganService;
+import com.ym.mec.biz.service.StudentRegistrationService;
+import com.ym.mec.biz.service.SysSuggestionService;
+import com.ym.mec.biz.service.SysUserBankCardService;
+import com.ym.mec.biz.service.SysUserCashAccountDetailService;
+import com.ym.mec.biz.service.SysUserCashAccountService;
+import com.ym.mec.biz.service.UploadFileService;
 import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.entity.UploadReturnBean;
+import com.ym.mec.thirdparty.entity.UploadSign;
 import com.ym.mec.util.upload.UploadUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
 
 import java.util.List;
-import java.util.Objects;
 
 @Api(tags = "教师管理")
 @RestController
@@ -75,6 +86,7 @@ public class TeacherManageController extends BaseController {
             @ApiImplicitParam(name = "postData", dataType = "Map", value = "1.如果使用js sdk上传的时候设置了ACL请设置,例\"acl\":\"public-read\"值要与SDK中一致,没有则删除该项</br>" +
                     "2.提供js sdk中的key值,例\"key\":\"20150115/中文/${filename}\""),
             @ApiImplicitParam(name = "unknowValueField", dataType = "List", value = "对于用户无法确定表单值的放在unknownValueField中(比如有的上传控件会添加一些表单项,但表单项的值可能是随机的)"),
+            @ApiImplicitParam(name = "pluginName", dataType = "String", value = "插件名称,默认ks3,可选值:ks3,aliyun,tencent"),
     })
     @ApiOperation(value = "获取上传文件签名", notes = "{\n" +
             "    \"bucketName\":\"\",\n" +
@@ -86,7 +98,11 @@ public class TeacherManageController extends BaseController {
             "    \"unknowValueField\":[\"test\"]\n" +
             "}")
     @PostMapping("/getUploadSign")
-    public HttpResponseResult<PostObjectFormFields> getUploadSign(@RequestBody UploadSign uploadSign) {
+    public HttpResponseResult<OssWrapper.ResponseSign> getUploadSign(@RequestParam(defaultValue = "ks3") String pluginName,
+                                                                     @RequestBody UploadSign uploadSign) {
+        // 设置默认文件存储服务方
+        uploadSign.setPluginName(pluginName);
+
         return succeed(uploadFileService.getUploadSign(uploadSign));
     }
 

+ 11 - 0
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/entity/UploadSign.java

@@ -3,6 +3,7 @@ package com.ym.mec.thirdparty.entity;
 import java.io.Serializable;
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 
 /**
  * @Author: cy
@@ -17,6 +18,8 @@ public class UploadSign implements Serializable {
 
     private List<String> unknowValueField;
 
+    private String pluginName;
+
     public String getBucketName() {
         return bucketName;
     }
@@ -48,5 +51,13 @@ public class UploadSign implements Serializable {
     public void setUnknowValueField(List<String> unknowValueField) {
         this.unknowValueField = unknowValueField;
     }
+
+    public String getPluginName() {
+        return Optional.ofNullable(pluginName).orElse("ks3");
+    }
+
+    public void setPluginName(String pluginName) {
+        this.pluginName = pluginName;
+    }
 }
 

+ 7 - 2
mec-web/src/main/java/com/ym/mec/web/controller/UploadFileController.java

@@ -1,6 +1,6 @@
 package com.ym.mec.web.controller;
 
-import com.ksyun.ks3.dto.PostObjectFormFields;
+import com.microsvc.toolkit.middleware.oss.wrapper.OssWrapper;
 import com.ym.mec.thirdparty.entity.UploadSign;
 import com.ym.mec.biz.service.UploadFileService;
 import com.ym.mec.common.controller.BaseController;
@@ -94,6 +94,7 @@ public class UploadFileController extends BaseController {
 			@ApiImplicitParam(name = "postData", dataType = "Map", value = "1.如果使用js sdk上传的时候设置了ACL请设置,例\"acl\":\"public-read\"值要与SDK中一致,没有则删除该项</br>" +
 					"2.提供js sdk中的key值,例\"key\":\"20150115/中文/${filename}\""),
 			@ApiImplicitParam(name = "unknowValueField", dataType = "List", value = "对于用户无法确定表单值的放在unknownValueField中(比如有的上传控件会添加一些表单项,但表单项的值可能是随机的)"),
+			@ApiImplicitParam(name = "pluginName", dataType = "String", value = "插件名称,默认ks3,可选值:ks3,aliyun,tencent"),
 	})
 	@ApiOperation(value = "获取上传文件签名", notes = "{\n" +
 			"    \"bucketName\":\"\",\n" +
@@ -105,7 +106,11 @@ public class UploadFileController extends BaseController {
 			"    \"unknowValueField\":[\"test\"]\n" +
 			"}")
 	@PostMapping("/getUploadSign")
-	public HttpResponseResult<PostObjectFormFields> getUploadSign(@RequestBody UploadSign uploadSign) {
+	public HttpResponseResult<OssWrapper.ResponseSign> getUploadSign(@RequestParam(defaultValue = "ks3") String pluginName,
+																	 @RequestBody UploadSign uploadSign) {
+		// 设置默认文件存储服务方
+		uploadSign.setPluginName(pluginName);
+
 		return succeed(uploadFileService.getUploadSign(uploadSign));
 	}
 }

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.