刘俊驰 9 달 전
부모
커밋
49cfd3f37e

+ 15 - 2
mec-application/src/main/java/com/ym/mec/student/controller/MemberRankController.java

@@ -3,9 +3,11 @@ package com.ym.mec.student.controller;
 import com.google.common.collect.Lists;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.MemberRankOrganizationFeeMapperDao;
+import com.ym.mec.biz.dal.dao.SysMusicScoreDao;
 import com.ym.mec.biz.dal.dto.MemberPayParamDto;
 import com.ym.mec.biz.dal.entity.MemberRankOrganizationFeeMapper;
 import com.ym.mec.biz.dal.entity.MemberRankSetting;
+import com.ym.mec.biz.dal.entity.SysMusicScore;
 import com.ym.mec.biz.dal.page.CloudTeacherOrderQueryInfo;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.controller.BaseController;
@@ -13,6 +15,8 @@ import com.ym.mec.common.entity.HttpResponseResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
@@ -37,17 +41,26 @@ public class MemberRankController extends BaseController {
     @Resource
     private MemberRankOrganizationFeeMapperDao memberRankOrganizationFeeMapperDao;
 
+    @Autowired
+    private SysMusicScoreDao sysMusicScoreDao;
+
     @ApiOperation(value = "获取所有的收费标准")
     @GetMapping("/queryList")
-    public Object getMemberDefaultFee() {
+    public Object getMemberDefaultFee(String  type,Integer  typeId) {
         SysUser sysUser = sysUserService.getUser();
         List<MemberRankOrganizationFeeMapper> feeMappers = memberRankOrganizationFeeMapperDao.queryByOrganId(sysUser.getOrganId());
         if (CollectionUtils.isEmpty(feeMappers)) {
             return Lists.newArrayList();
         }
+        if (StringUtils.isNotBlank(type)&& "MUSIC".equals(type) && typeId !=null) {
+            SysMusicScore sysMusicScore = sysMusicScoreDao.get(typeId);
+            if (sysMusicScore != null) {
+                typeId = sysMusicScore.getCbsMusicCategoriesId();
+            }
+        }
         List<Integer> memberIds = feeMappers.stream()
                 .map(MemberRankOrganizationFeeMapper::getMemberRankSettingId).distinct().collect(Collectors.toList());
-        List<MemberRankSetting> result = memberRankSettingService.listByIds(memberIds);
+        List<MemberRankSetting> result = memberRankSettingService.getByIdsAndType(memberIds,type,typeId);
         for (MemberRankSetting mrs : result) {
             mrs.setMemberFeeSetting(memberFeeSettingService.findByRankIdAndOrganId(sysUser.getOrganId(), mrs.getId()));
             mrs.setMemberPrivilegesItemList(memberRankPrivilegesService.queryByMemberRankId(mrs.getId()));

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

@@ -18,4 +18,6 @@ public interface MemberRankSettingDao extends BaseDAO<Integer, MemberRankSetting
     void deleteById(@Param("id") Integer id);
 
     List<MemberRankSetting> getNotDelByIds(@Param("ids") List<Integer> parentIds);
+
+    List<MemberRankSetting> getByIdsAndType(@Param("memberIds") List<Integer> memberIds, @Param("type") String type, @Param("typeId") Integer typeId);
 }

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

@@ -73,4 +73,6 @@ public interface MemberRankSettingService extends BaseService<Integer, MemberRan
     List<MemberRankSetting> findByOrganIds(List<Integer> organIds);
 
     Map<Integer,MemberRankSetting> getMapByIds(List<Integer> memberRankSettingIds);
+
+    List<MemberRankSetting> getByIdsAndType(List<Integer> memberIds, String type, Integer typeId);
 }

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MemberRankSettingServiceImpl.java

@@ -1309,4 +1309,9 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
         }
         return memberRankSettings.stream().collect(Collectors.toMap(MemberRankSetting::getId, o -> o, (o1, o2) -> o1));
     }
+
+    @Override
+    public List<MemberRankSetting> getByIdsAndType(List<Integer> memberIds, String type, Integer typeId) {
+        return memberRankSettingDao.getByIdsAndType(memberIds, type, typeId);
+    }
 }

+ 20 - 0
mec-biz/src/main/resources/config/mybatis/MemberRankSettingMapper.xml

@@ -153,4 +153,24 @@
         </foreach>
         and del_flag_=0
     </select>
+
+	<select id="getByIdsAndType" resultMap="MemberRankSetting">
+        SELECT distinct mrs.* FROM member_rank_setting mrs
+        <if test="type !=null and type == 'MUSIC'">
+            left join member_rank_category_mapper mrcm on mrs.id_ = mrcm.rank_id_
+        </if>
+        <if test="type !=null and type == 'LESSON'">
+            left join member_rank_course_type_mapper mrctm on mrs.id_ = mrctm.rank_id_
+        </if>
+        WHERE mrs.id_ IN
+        <foreach collection="memberIds" item="id" open="(" close=")" separator=",">
+            #{id}
+        </foreach>
+        <if test="type !=null and type == 'MUSIC'">
+            and mrcm.category_id_ = #{typeId}
+        </if>
+        <if test="type !=null and type == 'LESSON'">
+            and mrctm.course_type_ = #{typeId}
+        </if>
+    </select>
 </mapper>