瀏覽代碼

Merge remote-tracking branch 'origin/saas' into saas

yanite 3 年之前
父節點
當前提交
28447c848f

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CloudTeacherOrderDao.java

@@ -104,4 +104,6 @@ public interface CloudTeacherOrderDao extends BaseDAO<Long, CloudTeacherOrder> {
     List<CloudTeacherOrder> findByPlatformOrderId(Integer id);
 
     int checkOrdered(@Param("cloudTeacherStudentIds")String join);
+    
+    List<CloudTeacherOrder> queryByUserIdAndStatus(@Param("userId")Integer userId, @Param("status")Integer status);
 }

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysMusicScoreCategoriesDao.java

@@ -24,4 +24,8 @@ public interface SysMusicScoreCategoriesDao extends BaseDAO<Integer, SysMusicSco
     void enable(@Param("categoriesIds") String categoriesIds, @Param("enable") boolean enable);
 
     List<Map<Integer, String>> queryOrganByIds(@Param("categoriesIds") Set<Integer> categoriesIds);
+    
+    List<SysMusicScoreCategories> queryByIds(String ids);
+    
+    SysMusicScoreCategories queryByParentId(Integer parentId);
 }

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysMusicScoreCategories.java

@@ -2,6 +2,7 @@ package com.ym.mec.biz.dal.entity;
 
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -86,7 +87,7 @@ public class SysMusicScoreCategories {
 		this.organId = organId;
 	}
 
-	private List<SysMusicScoreCategories> sysMusicScoreCategoriesList;
+	private List<SysMusicScoreCategories> sysMusicScoreCategoriesList = new ArrayList<SysMusicScoreCategories>();
 
 	public String getDelCategoriesIds() {
 		return delCategoriesIds;

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SysMusicScoreCategoriesService.java

@@ -10,6 +10,8 @@ import java.util.List;
 public interface SysMusicScoreCategoriesService extends BaseService<Integer, SysMusicScoreCategories> {
 
     List<SysMusicScoreCategories> queryTree(MusicScoreQueryInfo menuQueryInfo);
+    
+    List<SysMusicScoreCategories> queryCategoriesTreeList(String categoryIdList);
 
     void save(SysMusicScoreCategories musicScoreCategories);
 

+ 79 - 11
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMusicScoreCategoriesServiceImpl.java

@@ -1,25 +1,23 @@
 package com.ym.mec.biz.service.impl;
 
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
 import com.ym.mec.auth.api.dto.MusicScoreQueryInfo;
-import com.ym.mec.auth.api.entity.SysMenu;
 import com.ym.mec.biz.dal.dao.SysMusicScoreCategoriesDao;
 import com.ym.mec.biz.dal.dao.SysMusicScoreDao;
 import com.ym.mec.biz.dal.entity.SysMusicScoreCategories;
-import com.ym.mec.biz.dal.page.SysExamSongQueryInfo;
 import com.ym.mec.biz.service.SysMusicScoreCategoriesService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
-import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.stream.Collectors;
 
 @Service
 public class SysMusicScoreCategoriesServiceImpl extends BaseServiceImpl<Integer, SysMusicScoreCategories> implements SysMusicScoreCategoriesService {
@@ -47,6 +45,38 @@ public class SysMusicScoreCategoriesServiceImpl extends BaseServiceImpl<Integer,
 	}
 
 	@Override
+	public List<SysMusicScoreCategories> queryCategoriesTreeList(String categoryIds) {
+		
+		categoryIds = categoryIds.endsWith(",") ? categoryIds.substring(0, categoryIds.length() - 1) : categoryIds;
+
+		List<SysMusicScoreCategories> rows = new ArrayList<SysMusicScoreCategories>();
+		
+		List<SysMusicScoreCategories> categoryList = sysMusicScoreCategoriesDao.queryByIds(categoryIds);
+		
+		SysMusicScoreCategories parentCategory = null;
+		SysMusicScoreCategories subCategory = null;
+		for(SysMusicScoreCategories smsc : categoryList){
+			
+			if(smsc == null){
+				continue;
+			}
+			parentCategory = getParentTree(smsc);
+			subCategory = getChildTree(smsc);
+			
+			if(parentCategory == null){
+				insertSubToParent(rows, subCategory);
+			}else{
+				parentCategory.getSysMusicScoreCategoriesList().add(subCategory);
+				insertSubToParent(rows, parentCategory);
+			}
+			
+			
+		}
+		
+		return rows;
+	}
+
+	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public void save(SysMusicScoreCategories musicScoreCategories) {
 		String organId = musicScoreCategories.getOrganId();
@@ -210,4 +240,42 @@ public class SysMusicScoreCategoriesServiceImpl extends BaseServiceImpl<Integer,
 		}
 		return categories;
 	}
+    
+    private SysMusicScoreCategories getChildTree(SysMusicScoreCategories sysMusicScoreCategories){
+    	
+    	List<SysMusicScoreCategories> subCategoryList = sysMusicScoreCategoriesDao.findByParentId(sysMusicScoreCategories.getId(), null, null);
+    	
+    	if(subCategoryList != null && subCategoryList.size() > 0){
+    		sysMusicScoreCategories.setSysMusicScoreCategoriesList(subCategoryList);
+    		for(SysMusicScoreCategories sc : subCategoryList){
+    			getChildTree(sc);
+    		}
+    	}
+    	
+    	return sysMusicScoreCategories;
+    }
+    
+	private SysMusicScoreCategories getParentTree(SysMusicScoreCategories sysMusicScoreCategories) {
+		if (sysMusicScoreCategories != null && sysMusicScoreCategories.getParentId() > 0) {
+			SysMusicScoreCategories parentCategories = sysMusicScoreCategoriesDao.queryByParentId(sysMusicScoreCategories.getParentId());
+			if (parentCategories != null) {
+				if(parentCategories.getParentId() > 0){
+					return getParentTree(parentCategories);
+				}
+				return parentCategories;
+			}
+		}
+
+		return null;
+	}
+	
+	private void insertSubToParent(List<SysMusicScoreCategories> parentTree, SysMusicScoreCategories targetCategory) {
+		for (SysMusicScoreCategories target : parentTree) {
+			if (targetCategory.getId().intValue() == target.getId()) {
+				insertSubToParent(target.getSysMusicScoreCategoriesList(),targetCategory.getSysMusicScoreCategoriesList().get(0));
+				return;
+			}
+		}
+		parentTree.add(targetCategory);
+	}
 }

+ 12 - 2
mec-biz/src/main/resources/config/mybatis/CloudTeacherOrderMapper.xml

@@ -337,7 +337,10 @@
         left join subject sj on s.subject_id_list_ = sj.id_
         left join student_registration sr ON cto.student_id_ = sr.user_id_
         <where>
-            cto.status_ = #{status} AND sr.music_group_id_ = #{musicGroupId} AND cto.tenant_id_ = #{tenantId}
+            cto.status_ = #{status} AND cto.tenant_id_ = #{tenantId}
+            <if test="musicGroupId != null and musicGroupId != ''">
+            	AND sr.music_group_id_ = #{musicGroupId}
+            </if>
             <if test="queryCondition != null and queryCondition != ''">
                 AND (u.username_ LIKE CONCAT('%', #{queryCondition}, '%') or u.phone_ = #{queryCondition} or u.id_ = #{queryCondition})
             </if>
@@ -355,7 +358,10 @@
         left join subject sj on s.subject_id_list_ = sj.id_
         left join student_registration sr ON cto.student_id_ = sr.user_id_
         <where>
-            cto.status_ = #{status} AND sr.music_group_id_ = #{musicGroupId} AND cto.tenant_id_ = #{tenantId}
+            cto.status_ = #{status} AND cto.tenant_id_ = #{tenantId}
+            <if test="musicGroupId != null and musicGroupId != ''">
+            	AND sr.music_group_id_ = #{musicGroupId}
+            </if>
             <if test="queryCondition != null and queryCondition != ''">
                 AND (u.username_ LIKE CONCAT('%', #{queryCondition}, '%') or u.phone_ = #{queryCondition} or u.id_ = #{queryCondition})
             </if>
@@ -464,5 +470,9 @@
             </if>
         </where>
     </sql>
+    
+    <select id="queryByUserIdAndStatus" resultMap="CloudTeacherOrder">
+        select cto.* from cloud_teacher_order cto where cto.student_id_ = #{userId} and cto.status_ = #{status}
+    </select>
 
 </mapper>

+ 8 - 0
mec-biz/src/main/resources/config/mybatis/SysMusicScoreCategoriesMapper.xml

@@ -196,4 +196,12 @@
 			</if>
 		</where>
 	</sql>
+	
+    <select id="queryByIds" resultMap="SysMusicScoreCategories">
+		SELECT * from sys_music_score_categories smsc where find_in_set(smsc.id_, #{ids})
+	</select>
+	
+	<select id="queryByParentId" resultMap="SysMusicScoreCategories" >
+		SELECT categ.* FROM sys_music_score_categories categ WHERE categ.id_ = #{parentId}
+	</select>
 </mapper>

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

@@ -1,6 +1,5 @@
 package com.ym.mec.student.controller;
 
-import com.ym.mec.common.tenant.TenantContextHolder;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -25,8 +24,10 @@ import org.springframework.web.multipart.MultipartFile;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.dao.CloudTeacherOrderDao;
 import com.ym.mec.biz.dal.dto.CashAccountDetail;
 import com.ym.mec.biz.dal.entity.AppVersionInfo;
+import com.ym.mec.biz.dal.entity.CloudTeacherOrder;
 import com.ym.mec.biz.dal.entity.MemberRankSetting;
 import com.ym.mec.biz.dal.entity.Student;
 import com.ym.mec.biz.dal.entity.Subject;
@@ -51,7 +52,6 @@ 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.common.filters.TenantIdThreadLocal;
 import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.util.date.DateUtil;
 import com.ym.mec.util.http.HttpUtil;
@@ -95,6 +95,9 @@ public class StudentManageController extends BaseController {
     
     @Autowired
     private SysConfigService sysConfigService;
+    
+    @Autowired
+    private CloudTeacherOrderDao cloudTeacherOrderDao;
 
     private final static Logger LOGGER = LoggerFactory.getLogger(StudentManageController.class);
 
@@ -161,6 +164,13 @@ public class StudentManageController extends BaseController {
 
 		Map<String, Object> datas = new HashMap<String, Object>();
 		datas.put("student", student);
+		
+        List<CloudTeacherOrder> dataList = cloudTeacherOrderDao.queryByUserIdAndStatus(user.getId(),1);
+        if(dataList != null && dataList.size() > 0){
+        	datas.put("isExistPendingMember", true);
+        }else{
+        	datas.put("isExistPendingMember", false);
+        }
 
 		if (StringUtils.isNotBlank(platform)) {
 			AppVersionInfo appVersionInfo = null;

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

@@ -28,7 +28,7 @@ public class SysMusicScoreAccompanimentController extends BaseController {
     public Object queryPage(SysExamSongQueryInfo queryInfo) {
         queryInfo.setType("COMMON");
         if(queryInfo.getClientType() == null){
-            queryInfo.setClientType(ClientTypeEnum.NETWORK_ROOM);
+            queryInfo.setClientType(ClientTypeEnum.SMART_PRACTICE);
         }
         queryInfo.setShowFlag(1);
         return succeed(sysMusicScoreAccompanimentService.queryAccPage(queryInfo));
@@ -40,7 +40,7 @@ public class SysMusicScoreAccompanimentController extends BaseController {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         queryInfo.setType("COMMON");
         if(queryInfo.getClientType() == null){
-            queryInfo.setClientType(ClientTypeEnum.NETWORK_ROOM);
+            queryInfo.setClientType(ClientTypeEnum.SMART_PRACTICE);
         }
         queryInfo.setShowFlag(1);
         queryInfo.setOrganId(sysUser.getOrganId().toString());

+ 23 - 11
mec-student/src/main/java/com/ym/mec/student/controller/SysMusicScoreCategoriesController.java

@@ -1,19 +1,24 @@
 package com.ym.mec.student.controller;
 
-import com.ym.mec.auth.api.client.SysUserFeignService;
-import com.ym.mec.auth.api.dto.MusicScoreQueryInfo;
-import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.page.SysExamSongQueryInfo;
-import com.ym.mec.biz.service.SysMusicScoreCategoriesService;
-import com.ym.mec.common.controller.BaseController;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.dto.MusicScoreQueryInfo;
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.entity.TenantConfig;
+import com.ym.mec.biz.dal.page.SysExamSongQueryInfo;
+import com.ym.mec.biz.service.SysMusicScoreCategoriesService;
+import com.ym.mec.biz.service.TenantConfigService;
+import com.ym.mec.common.controller.BaseController;
+
 @RequestMapping("sysMusicScoreCategories")
 @Api(tags = "曲库分类服务")
 @RestController
@@ -23,6 +28,9 @@ public class SysMusicScoreCategoriesController extends BaseController {
     private SysMusicScoreCategoriesService sysMusicScoreCategoriesService;
     @Autowired
     private SysUserFeignService sysUserFeignService;
+    
+    @Autowired
+    private TenantConfigService tenantConfigService;
 
 
     @ApiOperation(value = "分页查询")
@@ -33,11 +41,15 @@ public class SysMusicScoreCategoriesController extends BaseController {
 
     @ApiOperation(value = "树状列表")
     @GetMapping("/queryTree")
-    public Object queryTree(MusicScoreQueryInfo queryInfo) {
+    public Object queryTree() {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
-        queryInfo.setOrganId(sysUser.getOrganId().toString());
-        queryInfo.setEnable(true);
-        return succeed(sysMusicScoreCategoriesService.queryTree(queryInfo));
+        if(sysUser == null || sysUser.getId() == null){
+        	return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+        
+        TenantConfig tenantConfig = tenantConfigService.getOne(new QueryWrapper<TenantConfig>().eq("tenant_id_", sysUser.getTenantId()));
+        
+        return succeed(sysMusicScoreCategoriesService.queryCategoriesTreeList(tenantConfig.getTeachingMaterialId()));
     }
 
     @ApiOperation(value = "获取分类详情")

+ 13 - 0
mec-web/src/main/java/com/ym/mec/web/controller/EmployeeController.java

@@ -59,6 +59,19 @@ public class EmployeeController extends BaseController {
         return succeed(employeeService.queryEmployByOrganId(queryInfo));
     }
 
+    @ApiOperation(value = "获取平台的员工")
+    @GetMapping("/queryPlatformEmploy")
+    @PreAuthorize("@pcs.hasPermissions('employee/queryPlatformEmploy')")
+    public Object queryPlatformEmploy(EmployeeQueryInfo queryInfo) throws Exception {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null) {
+            return failed("用户信息获取失败");
+        }
+        queryInfo.setOrganId(null);
+        queryInfo.setTenantId(-1);
+        return succeed(employeeService.queryEmployByOrganId(queryInfo));
+    }
+
     @ApiOperation(value = "员工操作")
     @PostMapping("/employeeOperate")
     @PreAuthorize("@pcs.hasPermissions('employee/employeeOperate')")