소스 검색

会员拆分

zouxuan 9 달 전
부모
커밋
c96f09869b

+ 33 - 0
mec-application/src/main/java/com/ym/mec/student/controller/MemberRankSettingController.java

@@ -0,0 +1,33 @@
+package com.ym.mec.student.controller;
+
+import com.ym.mec.biz.dal.wrapper.MemberRankSettingWrapper;
+import com.ym.mec.biz.service.MemberRankSettingService;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@RequestMapping("${app-config.url.student:}/memberRankSetting")
+@Api(tags = "会员等级服务")
+@RestController
+public class MemberRankSettingController extends BaseController {
+
+    @Resource
+    private MemberRankSettingService memberRankSettingService;
+
+    @ApiOperation(value = "获取可用的会员树状列表")
+    @GetMapping("/queryTree")
+    public HttpResponseResult<List<MemberRankSettingWrapper.MemberRankSetting>> queryTree(String musicGroupId,Integer organId,Integer studentId) {
+        if (musicGroupId == null && organId == null && studentId == null) {
+            return failed("参数错误");
+        }
+        return succeed(memberRankSettingService.queryTree(musicGroupId,organId,studentId));
+    }
+
+}

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

@@ -4,8 +4,12 @@ import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.biz.dal.entity.MemberRankOrganizationFeeMapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 public interface MemberRankOrganizationFeeMapperDao extends BaseDAO<Integer, MemberRankOrganizationFeeMapper> {
 
 
     MemberRankOrganizationFeeMapper findByOrganIdAndRankId(@Param("organId") Integer organId, @Param("memberRankSettingId") Integer memberRankSettingId);
+
+    List<MemberRankOrganizationFeeMapper> queryByOrganId(@Param("organId") Integer organId);
 }

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/MemberRankSettingWrapper.java

@@ -41,6 +41,9 @@ public class MemberRankSettingWrapper {
         @ApiModelProperty("更新人名称")
         private String updateName;
 
+        @ApiModelProperty("会员编号")
+        private List<Integer> memberIds;
+
         public String jsonString() {
             return JSON.toJSONString(this);
         }

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

@@ -59,4 +59,6 @@ public interface MemberRankSettingService extends BaseService<Integer, MemberRan
     void del(Integer id);
 
     List<MemberRankSetting> listByIds(List<Integer> ids);
+
+    List<MemberRankSettingWrapper.MemberRankSetting> queryTree(String musicGroupId, Integer organId, Integer studentId);
 }

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

@@ -129,8 +129,14 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
     private CloudTeacherOrderDao cloudTeacherOrderDao;
 
     @Autowired
+    private MusicGroupDao musicGroupDao;
+
+    @Autowired
     private TenantMemberRankSettingService tenantMemberRankSettingService;
 
+    @Autowired
+    private MemberRankOrganizationFeeMapperDao memberRankOrganizationFeeMapperDao;
+
     private final Logger logger = LoggerFactory.getLogger(this.getClass());
 
     @Override
@@ -1138,4 +1144,34 @@ public class MemberRankSettingServiceImpl extends BaseServiceImpl<Integer, Membe
     public List<MemberRankSetting> listByIds(List<Integer> ids) {
         return memberRankSettingDao.selectBatchIds(ids);
     }
+
+    @Override
+    public List<MemberRankSettingWrapper.MemberRankSetting> queryTree(String musicGroupId, Integer organId, Integer studentId) {
+        if(organId == null){
+            if(StringUtils.isNotEmpty(musicGroupId)){
+                MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
+                if (musicGroup == null) {
+                    throw new BizException("乐团不存在");
+                }
+                organId = musicGroup.getOrganId();
+            }else if (studentId != null){
+                SysUser user = studentService.getDao().getUser(studentId);
+                if (user == null) {
+                    throw new BizException("学生不存在");
+                }
+                organId = user.getOrganId();
+            }else {
+                throw new BizException("参数错误");
+            }
+        }
+        //获取分部可用会员编号
+        List<MemberRankOrganizationFeeMapper> feeMappers = memberRankOrganizationFeeMapperDao.queryByOrganId(organId);
+        if (CollectionUtils.isEmpty(feeMappers)) {
+            return Lists.newArrayList();
+        }
+        List<Integer> rankIds = feeMappers.stream().map(MemberRankOrganizationFeeMapper::getMemberRankSettingId).collect(Collectors.toList());
+        MemberRankSettingWrapper.MemberRankSettingQuery queryInfo = new MemberRankSettingWrapper.MemberRankSettingQuery();
+        queryInfo.setMemberIds(rankIds);
+        return this.queryPage2(queryInfo);
+    }
 }

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

@@ -120,4 +120,7 @@
 		WHERE organ_id_ = #{organId} AND member_rank_setting_id_ = #{memberRankSettingId}
 		LIMIT 1
 	</select>
+    <select id="queryByOrganId" resultMap="MemberRankOrganizationFeeMapper">
+		SELECT * FROM member_rank_organization_fee_mapper WHERE organ_id_ = #{organId}
+	</select>
 </mapper>

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

@@ -85,6 +85,12 @@
             <if test="updateEndTime !=null">
                 AND mrs.update_time_ &lt;= #{updateEndTime}
             </if>
+            <if test="memberIds !=null and memberIds.size > 0">
+            	AND mrs.id_ IN
+				<foreach collection="memberIds" item="id" open="(" close=")" separator=",">
+					#{id}
+				</foreach>
+            </if>
             <if test="updateName !=null and updateName !=''">
                 AND su.real_name_ LIKE CONCAT('%',#{updateName},'%')
             </if>