ソースを参照

Merge branch 'feature/1022_vip' of http://git.dayaedu.com/yonge/mec into feature/1022_vip

刘俊驰 9 ヶ月 前
コミット
00472ba579
20 ファイル変更55 行追加307 行削除
  1. 1 1
      mec-application/src/main/java/com/ym/mec/teacher/controller/ClassGroupController.java
  2. 1 1
      mec-application/src/main/java/com/ym/mec/teacher/controller/ExtracurricularExercisesController.java
  3. 0 8
      mec-application/src/main/java/com/ym/mec/web/controller/StudentManageController.java
  4. 4 12
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentDao.java
  5. 3 153
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/BasicUserDto.java
  6. 8 7
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java
  7. 0 9
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentService.java
  8. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExportServiceImpl.java
  9. 14 66
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServiceImpl.java
  10. 2 2
      mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  11. 2 2
      mec-biz/src/main/resources/config/mybatis/ExtracurricularExercisesMapper.xml
  12. 2 2
      mec-biz/src/main/resources/config/mybatis/ImGroupMapper.xml
  13. 2 2
      mec-biz/src/main/resources/config/mybatis/ImUserFriendMapper.xml
  14. 0 1
      mec-biz/src/main/resources/config/mybatis/IndexBaseMonthDataMapper.xml
  15. 1 1
      mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml
  16. 0 2
      mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderDetailMapper.xml
  17. 4 4
      mec-biz/src/main/resources/config/mybatis/StudentManageDao.xml
  18. 5 28
      mec-biz/src/main/resources/config/mybatis/StudentMapper.xml
  19. 3 3
      mec-biz/src/main/resources/config/mybatis/StudentPlusMapper.xml
  20. 2 2
      mec-biz/src/main/resources/config/mybatis/SysMusicCompareRecordMapper.xml

+ 1 - 1
mec-application/src/main/java/com/ym/mec/teacher/controller/ClassGroupController.java

@@ -68,7 +68,7 @@ public class ClassGroupController extends BaseController {
 
         // 乐团声部为空,取student的声部
         if (!CollectionUtils.isEmpty(courseStudents)) {
-            Set<Long> collect = courseStudents.stream().map(o -> o.getUserId()).map(o -> o.longValue()).collect(Collectors.toSet());
+            Set<Long> collect = courseStudents.stream().map(BasicUserDto::getUserId).map(Integer::longValue).collect(Collectors.toSet());
 
             Map<Integer, StudentSubjectDto> subjectDtoMap = subjectService.getSubjectByStudentId(collect);
             courseStudents.forEach(studentAttendanceViewDto -> {

+ 1 - 1
mec-application/src/main/java/com/ym/mec/teacher/controller/ExtracurricularExercisesController.java

@@ -139,7 +139,7 @@ public class ExtracurricularExercisesController extends BaseController {
 
     @ApiOperation(value = "获取待布置学员列表")
     @GetMapping("/getDontServeStudents")
-    public HttpResponseResult getDontServeStudents(String search, String musicGroupId, Long classGroupId, Integer subjectId,Integer hasMember,String studentIds){
+    public HttpResponseResult<List<BasicUserDto>> getDontServeStudents(String search, String musicGroupId, Long classGroupId, Integer subjectId,Integer hasMember,String studentIds){
         return succeed(extracurricularExercisesService.getDontServeStudents(sysUserService.getUserId(), search, musicGroupId, classGroupId, subjectId,hasMember,studentIds));
     }
 

+ 0 - 8
mec-application/src/main/java/com/ym/mec/web/controller/StudentManageController.java

@@ -311,14 +311,6 @@ public class StudentManageController extends BaseController {
         return succeed(studentManageService.sumStudentAttendance(courseScheduleId));
     }
 
-    @ApiOperation(value = "新增会员试用")
-    @PostMapping("/updateMemberExperience")
-    @PreAuthorize("@pcs.hasPermissions('studentManage/updateMemberExperience')")
-    public HttpResponseResult updateMemberExperience(String studentIds, Integer rankId, Date endTime){
-        studentService.updateMemberExperience(studentIds,rankId,endTime);
-        return succeed();
-    }
-
     @ApiOperation(value = "初始化教师编号")
     @GetMapping("/initTeacherId")
     @PreAuthorize("@pcs.hasPermissions('studentManage/initTeacherId')")

+ 4 - 12
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentDao.java

@@ -11,7 +11,10 @@ import com.ym.mec.biz.dal.vo.TempCampUserTrainingSequenceVo;
 import com.ym.mec.biz.dal.wrapper.StudentWrapper;
 import org.apache.ibatis.annotations.Param;
 
-import java.util.*;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 public interface StudentDao extends com.ym.mec.common.dal.BaseDAO<Integer, Student> {
 
@@ -161,8 +164,6 @@ public interface StudentDao extends com.ym.mec.common.dal.BaseDAO<Integer, Stude
      */
     void cleanExperienceStudentMember();
 
-    void cleanMember(Integer userId);
-
     /**
      * 修改学员会员试用
      * @param studentIds
@@ -318,15 +319,6 @@ public interface StudentDao extends com.ym.mec.common.dal.BaseDAO<Integer, Stude
      */
     void remarkCountFlag();
 
-    /**
-    * @description: 更新会员信息
-     * @param student
-    * @return void
-    * @author zx
-    * @date 2021/10/13 13:34
-    */
-    void updateStudentMember(@Param("student") Student student);
-
     int countStudent(Map<String, Object> params);
 
     List<Student> queryStudent(Map<String, Object> params);

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

@@ -1,9 +1,11 @@
 package com.ym.mec.biz.dal.dto;
 
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 
 import java.util.Objects;
 
+@Data
 public class BasicUserDto {
 
     private Integer organId;
@@ -34,6 +36,7 @@ public class BasicUserDto {
     @ApiModelProperty(value = "加油包:0:默认不可用;1:可用;2:已使用;")
     private Integer comeOnPackage;
 
+    @ApiModelProperty(value = "是否会员")
     private Integer memberRankSettingId;
 
     private String subjectIdList;
@@ -49,143 +52,6 @@ public class BasicUserDto {
 
     @ApiModelProperty(value = "加入课程类型 PURCHASE:购买 SHARE:分享")
     private String joinCourseType;
-
-    public String getJoinCourseType() {
-        return joinCourseType;
-    }
-
-    public void setJoinCourseType(String joinCourseType) {
-        this.joinCourseType = joinCourseType;
-    }
-
-    public String getTeacherType() {
-        return teacherType;
-    }
-
-    public void setTeacherType(String teacherType) {
-        this.teacherType = teacherType;
-    }
-
-    public Boolean getRepairFlag() {
-        return repairFlag;
-    }
-
-    public void setRepairFlag(Boolean repairFlag) {
-        this.repairFlag = repairFlag;
-    }
-
-    public Integer getTenantId() {
-        return tenantId;
-    }
-
-    public void setTenantId(Integer tenantId) {
-        this.tenantId = tenantId;
-    }
-
-    public Integer getMemberRankSettingId() {
-        return memberRankSettingId;
-    }
-
-    public void setMemberRankSettingId(Integer memberRankSettingId) {
-        this.memberRankSettingId = memberRankSettingId;
-    }
-
-    public String getSubjectIdList() {
-        return subjectIdList;
-    }
-
-    public void setSubjectIdList(String subjectIdList) {
-        this.subjectIdList = subjectIdList;
-    }
-
-    public Integer getOrganId() {
-        return organId;
-    }
-
-    public void setOrganId(Integer organId) {
-        this.organId = organId;
-    }
-
-    public Integer getCarePackage() {
-        return carePackage;
-    }
-
-    public void setCarePackage(Integer carePackage) {
-        this.carePackage = carePackage;
-    }
-
-    public Integer getComeOnPackage() {
-        return comeOnPackage;
-    }
-
-    public void setComeOnPackage(Integer comeOnPackage) {
-        this.comeOnPackage = comeOnPackage;
-    }
-
-    public String getUserType() {
-        return userType;
-    }
-
-    public void setUserType(String userType) {
-        this.userType = userType;
-    }
-
-    public String getMusicGroupId() {
-        return musicGroupId;
-    }
-
-    public void setMusicGroupId(String musicGroupId) {
-        this.musicGroupId = musicGroupId;
-    }
-
-    public String getMusicGroupName() {
-        return musicGroupName;
-    }
-
-    public void setMusicGroupName(String musicGroupName) {
-        this.musicGroupName = musicGroupName;
-    }
-
-    public String getSubjectName() {
-        return subjectName;
-    }
-
-    public void setSubjectName(String subjectName) {
-        this.subjectName = subjectName;
-    }
-
-    public Integer getUserId() {
-        return userId;
-    }
-
-    public void setUserId(Integer userId) {
-        this.userId = userId;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getHeadUrl() {
-        return headUrl;
-    }
-
-    public void setHeadUrl(String headUrl) {
-        this.headUrl = headUrl;
-    }
-
-    public Integer getGender() {
-        return gender;
-    }
-
-    public void setGender(Integer gender) {
-        this.gender = gender;
-    }
-
     @Override
     public boolean equals(Object o) {
         if (this == o) return true;
@@ -198,20 +64,4 @@ public class BasicUserDto {
     public int hashCode() {
         return Objects.hash(userId);
     }
-
-    public Integer getSubjectId() {
-        return subjectId;
-    }
-
-    public void setSubjectId(Integer subjectId) {
-        this.subjectId = subjectId;
-    }
-
-    public String getPhone() {
-        return phone;
-    }
-
-    public void setPhone(String phone) {
-        this.phone = phone;
-    }
 }

+ 8 - 7
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java

@@ -7,13 +7,14 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     SMS_SYSTEM_REMIND_EDUCATION_COURSE_TIME("SMS_SYSTEM_REMIND_EDUCATION_COURSE_TIME", "排课提醒"),
 
     PUSH_SYSTEM_REMIND_EDUCATION_COURSE_TIME("PUSH_SYSTEM_REMIND_EDUCATION_COURSE_TIME", "排课提醒"),
-    SMS_STUDENT_MEMBER_RENEW_MESSAGE("SMS_STUDENT_MEMBER_RENEW_MESSAGE", "会员续费提醒"),
-    PUSH_STUDENT_MEMBER_RENEW_MESSAGE("STUDENT_MEMBER_RENEW_MESSAGE", "会员续费提醒"),
-    PUSH_EXPERIENCE_MEMBERSHIP_MESSAGE("PUSH_EXPERIENCE_MEMBERSHIP_MESSAGE", "会员试用提醒"),
-    SMS_EXPERIENCE_MEMBERSHIP_MESSAGE("SMS_EXPERIENCE_MEMBERSHIP_MESSAGE", "会员试用提醒"),
-    SMS_AUTO_STUDENT_MEMBER_RENEW_MESSAGE("SMS_AUTO_STUDENT_MEMBER_RENEW_MESSAGE", "会员续费提醒"),
-    PUSH_AUTO_STUDENT_MEMBER_RENEW_MESSAGE("PUSH_AUTO_STUDENT_MEMBER_RENEW_MESSAGE", "会员续费提醒"),
-//    STUDENT_MEMBER_RENEW_QUIT_MESSAGE("STUDENT_MEMBER_RENEW_QUIT_MESSAGE", "会员续费提醒"),
+    SMS_STUDENT_MEMBER_RENEW_MESSAGE("SMS_STUDENT_MEMBER_RENEW_MESSAGE", "学练宝续费提醒"),
+    PUSH_STUDENT_MEMBER_RENEW_MESSAGE("STUDENT_MEMBER_RENEW_MESSAGE", "学练宝续费提醒"),
+    PUSH_EXPERIENCE_MEMBERSHIP_MESSAGE("PUSH_EXPERIENCE_MEMBERSHIP_MESSAGE", "学练宝试用提醒"),
+    SMS_EXPERIENCE_MEMBERSHIP_MESSAGE("SMS_EXPERIENCE_MEMBERSHIP_MESSAGE", "学练宝试用提醒"),
+    SMS_AUTO_STUDENT_MEMBER_RENEW_MESSAGE("SMS_AUTO_STUDENT_MEMBER_RENEW_MESSAGE", "学练宝续费提醒"),
+    PUSH_AUTO_STUDENT_MEMBER_RENEW_MESSAGE("PUSH_AUTO_STUDENT_MEMBER_RENEW_MESSAGE", "学练宝续费提醒"),
+    PUSH_STUDENT_MEMBER_UPDATE_MESSAGE("PUSH_STUDENT_MEMBER_UPDATE_MESSAGE", "学练宝时长调整"),
+//    STUDENT_MEMBER_RENEW_QUIT_MESSAGE("STUDENT_MEMBER_RENEW_QUIT_MESSAGE", "学练宝续费提醒"),
     SMS_VERIFY_CODE_LOGIN("SMS_VERIFY_CODE_LOGIN", "验证码登录"),
     SMS_VERIFY_CODE_DIRECTOR("SMS_VERIFY_CODE_DIRECTOR", "乐队指导特训营验证码"),
     KAPTCHA_SESSION_KEY("KAPTCHA_SESSION_KEY", "登录图形验证码"),

+ 0 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/StudentService.java

@@ -111,15 +111,6 @@ public interface StudentService extends BaseService<Integer, Student> {
 
     Student getLocked(Integer userId);
 
-    void cleanMember(Integer userId);
-
-    /**
-     * 延长会员试用期
-     * @param studentIds
-     * @param rankId
-     * @param endTime
-     */
-    void updateMemberExperience(String studentIds, Integer rankId, Date endTime);
     /**
      * @describe 分部各类型学员数据统计
      * @author Joburgess

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

@@ -2856,7 +2856,7 @@ public class ExportServiceImpl implements ExportService {
                     .map(e -> e.getGoodsId().toString()).distinct().collect(Collectors.joining(",")));
             goodsList.addAll(goodsService.findGoodsByIds(sellOrders.stream().filter(e->e.getGoodsSkuId() != null)
                     .map(e -> e.getParentGoodsId().toString()).distinct().collect(Collectors.joining(","))));
-            goodsMap = goodsList.stream().collect(Collectors.groupingBy(e -> e.getId(), Collectors.collectingAndThen(Collectors.toList(), v -> v.get(0))));
+            goodsMap = goodsList.stream().collect(Collectors.groupingBy(Goods::getId, Collectors.collectingAndThen(Collectors.toList(), v -> v.get(0))));
         }
 
         //获取订单详情

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

@@ -487,72 +487,6 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
         return studentDao.getLocked(userId);
     }
 
-    @Override
-    public void cleanMember(Integer userId) {
-        studentDao.cleanMember(userId);
-    }
-
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public void updateMemberExperience(String studentIds, Integer rankId, Date endTime) {
-        if(StringUtils.isEmpty(studentIds)){
-            throw new BizException("请选择学员");
-        }
-        //会员是否存在
-        MemberRankSetting memberRankSetting = memberRankSettingService.get(rankId);
-        if(memberRankSetting == null){
-            throw new BizException("会员信息不存在");
-        }
-        //学员是否有会员
-        List<Integer> studentIdList = Arrays.stream(studentIds.split(",")).map(Integer::parseInt).collect(Collectors.toList());
-        List<Student> studentList = studentDao.findByStudentIds(studentIdList);
-        List<Student> collect = studentList.stream().filter(e -> e.getMemberRankSettingId() != null).collect(Collectors.toList());
-        if(collect.size() > 0){
-            StringBuffer sb = new StringBuffer("操作失败:学员 ");
-            List<Integer> studentId = collect.stream().map(e -> e.getUserId()).collect(Collectors.toList());
-            Map<Integer, String> maps = MapUtil.convertMybatisMap(teacherDao.queryUserNameByIdList(studentId));
-            for (Integer integer : studentId) {
-                sb.append(maps.get(integer)).append(" ");
-            }
-            sb.append("已有会员权限");
-            throw new BizException(sb.toString());
-        }
-        //最多到10月1号
-        String configValue = sysConfigDao.findConfigValue(SysConfigService.EXPERIENCE_MEMBERSHIP_END_TIME);
-        if(StringUtils.isNotEmpty(configValue)){
-            Date date = DateUtil.stringToDate(configValue, DateUtil.ISO_EXPANDED_DATE_FORMAT);
-            if(endTime.after(date)){
-                throw new BizException("操作失败:会员试用期不可超过{}",configValue);
-            }
-        }
-
-        int i = studentDao.updateMemberExperience(studentIds, rankId, endTime);
-
-        if(studentIdList.size() == i){
-            Map<Integer, String> studentPhoneMap = MapUtil.convertMybatisMap(teacherDao.queryPhoneByIds(studentIds));
-            Map<Integer,String> userMap = new HashMap<>(studentIdList.size());
-            Map<Integer,String> userMap1 = new HashMap<>(studentIdList.size());
-            for (Integer studentId : studentIdList) {
-                userMap.put(studentId,studentPhoneMap.get(studentId));
-                userMap1.put(studentId,studentId.toString());
-            }
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS,
-                    MessageTypeEnum.SMS_EXPERIENCE_MEMBERSHIP_MESSAGE,
-                    userMap,
-                    null,
-                    0,
-                    null,
-                    null);
-
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG,
-                    MessageTypeEnum.PUSH_EXPERIENCE_MEMBERSHIP_MESSAGE,
-                    userMap1,
-                    null,
-                    0,
-                    null,
-                    "STUDENT");
-        }
-    }
 
     @Override
     public StatDto organStudentData(StudentQueryInfo queryInfo) {
@@ -1663,6 +1597,20 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
         studentMemberUpdateLog.setName(memberRankSettingService.queryMemberName(param.getMemberRankId()));
         //添加修改日志
         studentMemberUpdateLogDao.insert(studentMemberUpdateLog);
+        if(param.getPushFlag()){
+            //推送消息
+            //您获得/扣减了XXXX{数量+周期}的XXXX{学练宝版本},原因:XXXXX{添加/扣减原因}
+            Map<Integer, String> userMap = new HashMap<>(1);
+            userMap.put(userId, userId.toString());
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG,
+                    MessageTypeEnum.PUSH_STUDENT_MEMBER_UPDATE_MESSAGE,
+                    userMap,
+                    null,
+                    0,
+                    null,
+                    "STUDENT",param.getType()==3?"扣减":"获得",param.getNumber(),
+                    param.getPeriodType().getMsg(),studentMemberUpdateLog.getName(),param.getMemo());
+        }
     }
 
     @Transactional(rollbackFor = Exception.class)

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

@@ -4132,10 +4132,10 @@
         WHERE s.tenant_id_ = #{tenantId}
         <if test="hasMember != null">
             <if test="hasMember == 1">
-                AND s.member_rank_setting_id_ IS NOT NULL
+                AND s.membership_end_time_ >= NOW()
             </if>
             <if test="hasMember == 0">
-                AND s.member_rank_setting_id_ IS NULL
+                AND (s.membership_end_time_ IS NULL OR s.membership_end_time_ &lt; NOW())
             </if>
         </if>
         <if test="subjectId != null">

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

@@ -239,10 +239,10 @@
 			AND sees.serve_type_ = 'EXERCISE'
 			<if test="hasMember != null">
 				<if test="hasMember == 1">
-					AND stu.member_rank_setting_id_ IS NOT NULL
+					AND stu.membership_end_time_ >= NOW()
 				</if>
 				<if test="hasMember == 0">
-					AND stu.member_rank_setting_id_ IS NULL
+					AND (stu.membership_end_time_ IS NULL OR stu.membership_end_time_ &lt; NOW())
 				</if>
 			</if>
 			<if test="studentIds!=null and studentIds!=''">

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

@@ -249,10 +249,10 @@
         </if>
         <if test="vipFlag != null">
             <if test="vipFlag">
-                and st.member_rank_setting_id_ is not null
+                and st.membership_end_time_ >= NOW()
             </if>
             <if test="vipFlag == false">
-                and st.member_rank_setting_id_ is null
+				AND (st.membership_end_time_ IS NULL OR st.membership_end_time_ &lt; NOW())
             </if>
         </if>
 

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

@@ -152,10 +152,10 @@
         </if>
         <if test="vipFlag != null">
             <if test="vipFlag">
-                and st.member_rank_setting_id_ is not null
+				AND st.membership_end_time_ >= NOW()
             </if>
             <if test="vipFlag == false">
-                and st.member_rank_setting_id_ is null
+				AND (st.membership_end_time_ IS NULL OR st.membership_end_time_ &lt; NOW())
             </if>
         </if>
     </select>

+ 0 - 1
mec-biz/src/main/resources/config/mybatis/IndexBaseMonthDataMapper.xml

@@ -876,7 +876,6 @@
 		LEFT JOIN student_registration sr ON sr.music_group_id_ = mgpc.music_group_id_ AND mgpcd.user_id_ = sr.user_id_
 		WHERE
 		mg.status_ = 'PROGRESS' and mg.tenant_id_ = #{tenantId}
-		AND ((mgpc.member_rank_setting_id_ IS NOT NULL AND (sr.membership_end_time_ &lt; NOW() OR sr.membership_end_time_ IS NULL)) OR mgpc.member_rank_setting_id_ IS NULL)
 		AND mgpcd.payment_status_ = 'NON_PAYMENT' AND mgpc.batch_no_ IS NOT NULL AND mgpc.pay_user_type_ = 'STUDENT'
 		AND mgpc.current_total_amount_ > 0
 		<if test="hasCourse != null and hasCourse == true">

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

@@ -1050,7 +1050,7 @@
             sr.music_group_id_ musicGroupId,
             mg.name_ musicGroupName,
             COUNT(sr.user_id_) normalStudentNum,
-            SUM(CASE WHEN stu.member_rank_setting_id_ IS NULL THEN 0 ELSE 1 END) vipStudentNum
+            SUM(CASE WHEN stu.membership_end_time_ >= NOW() THEN 1 ELSE 0 END) vipStudentNum
         FROM student_registration sr
                  LEFT JOIN student stu ON sr.user_id_=stu.user_id_
                  LEFT JOIN music_group mg ON sr.music_group_id_=mg.id_

+ 0 - 2
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderDetailMapper.xml

@@ -438,7 +438,6 @@
 		LEFT JOIN student_registration sr ON sr.user_id_ = mgpcd.user_id_ AND sr.music_group_id_ = mgpc.music_group_id_
 		WHERE mgpc.batch_no_ IS NOT NULL AND mgpcd.payment_status_ = 'NON_PAYMENT' AND mgpc.current_total_amount_ > 0
 		  AND mgpc.music_group_id_ = #{musicGroupId} AND mgpc.status_ IN ('OPEN','OVER','PAID') AND mgpc.pay_user_type_ = 'STUDENT'
-		  AND ((mgpc.member_rank_setting_id_ IS NOT NULL AND (sr.membership_end_time_ &lt; NOW() OR sr.membership_end_time_ IS NULL)) OR mgpc.member_rank_setting_id_ IS NULL)
 		GROUP BY mgpcd.user_id_
 	</select>
 
@@ -477,7 +476,6 @@
 	<sql id="queryArrearageStudentsCondition">
 		<where>
 			mg.status_ = 'PROGRESS' and mg.tenant_id_ = #{tenantId}
-			AND ((mgpc.member_rank_setting_id_ IS NOT NULL AND (sr.membership_end_time_ &lt; NOW() OR sr.membership_end_time_ IS NULL)) OR mgpc.member_rank_setting_id_ IS NULL)
 			<if test="hasCourse != null and hasCourse == true">
 				AND mgpsc.used_course_minutes_ > 0
 			</if>

+ 4 - 4
mec-biz/src/main/resources/config/mybatis/StudentManageDao.xml

@@ -213,10 +213,10 @@
             </if>
             <if test="hasMember != null">
                 <if test="hasMember == 0">
-                    AND s.member_rank_setting_id_ IS NULL
+                    AND (s.membership_end_time_ IS NULL OR s.membership_end_time_ &lt; NOW())
                 </if>
                 <if test="hasMember == 1">
-                    AND s.member_rank_setting_id_ IS NOT NULL
+                    AND s.membership_end_time_ >= NOW()
                 </if>
                 <if test="hasMember == 2">
                     AND cto.status_ = 1
@@ -482,10 +482,10 @@
         	sr.tenant_id_ = #{tenantId}
             <if test="hasMember != null">
                 <if test="hasMember == 0">
-                    AND stu.member_rank_setting_id_ IS NULL
+                    AND (stu.membership_end_time_ IS NULL OR stu.membership_end_time_ &lt; NOW())
                 </if>
                 <if test="hasMember == 1">
-                    AND stu.member_rank_setting_id_ IS NOT NULL
+                    AND stu.membership_end_time_ >= NOW()
                 </if>
                 <if test="hasMember == 2">
                     AND cto.status_ = 1

+ 5 - 28
mec-biz/src/main/resources/config/mybatis/StudentMapper.xml

@@ -215,18 +215,6 @@
         WHERE user_id_ = #{userId} and tenant_id_ = #{tenantId}
     </update>
 
-    <update id="updateStudentMember" parameterType="com.ym.mec.biz.dal.entity.Student">
-        UPDATE student SET
-                member_rank_setting_id_ = #{student.memberRankSettingId},
-                membership_start_time_ = #{student.membershipStartTime},
-                membership_end_time_ = #{student.membershipEndTime},
-                experience_member_rank_setting_id_ = #{student.experienceMemberRankSettingId},
-                experience_membership_start_time_ = #{student.experienceMembershipStartTime},
-                experience_membership_end_time_ = #{student.experienceMembershipEndTime},
-                update_time_ = NOW()
-        WHERE user_id_ = #{student.userId}
-    </update>
-
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="Student" parameterType="map">
         SELECT s.*,su.username_,su.phone_,o.name_ organ_name_ FROM student s
@@ -567,7 +555,7 @@
     </select>
     
     <select id="getMemberNum" resultType="int">
-        SELECT COUNT(0) FROM student WHERE member_rank_setting_id_ IS NOT NULL AND FIND_IN_SET(user_id_,#{studentIdsStr})
+        SELECT COUNT(0) FROM student WHERE membership_end_time_ >= NOW() AND FIND_IN_SET(user_id_,#{studentIdsStr})
     </select>
 
     <select id="queryPushMemberRenew" resultType="java.lang.Integer">
@@ -956,10 +944,10 @@
     </select>
 
     <select id="getValidVipStudentIds" resultType="java.lang.Integer">
-        SELECT user_id_ FROM student WHERE member_rank_setting_id_ IS NOT NULl OR experience_member_rank_setting_id_ IS NOT NULL
+        SELECT user_id_ FROM student WHERE membership_end_time_ >= NOW()
     </select>
     <select id="countCourseStudentMemberNum" resultType="java.util.Map">
-        SELECT cssp.course_schedule_id_ 'key',COUNT(CASE WHEN s.member_rank_setting_id_ IS NULL THEN NULL ELSE 1 END) 'value'
+        SELECT cssp.course_schedule_id_ 'key',COUNT(CASE WHEN s.membership_end_time_ >= NOW() THEN 1 ELSE NULL END) 'value'
         FROM course_schedule_student_payment cssp
         LEFT JOIN student s ON s.user_id_ = cssp.user_id_
         WHERE cssp.course_schedule_id_ IN
@@ -1029,17 +1017,6 @@
     <update id="cleanExperienceStudentMember">
         UPDATE student SET experience_member_rank_setting_id_ = NULL WHERE NOW() > experience_membership_end_time_ AND experience_member_rank_setting_id_ IS NOT NULL
     </update>
-    <update id="cleanMember">
-        UPDATE student SET member_rank_setting_id_ = NULL,membership_start_time_ = NULL,membership_end_time_ = NULL
-        WHERE user_id_ = #{userId}
-    </update>
-    <update id="updateMemberExperience">
-        UPDATE student SET
-        member_rank_setting_id_ = #{rankId},membership_start_time_ = NOW(),membership_end_time_ = #{endTime},
-        experience_member_rank_setting_id_ = #{rankId},experience_membership_start_time_ = NOW(),experience_membership_end_time_ = #{endTime}
-        WHERE member_rank_setting_id_ IS NULL AND experience_member_rank_setting_id_ IS NULL
-        AND FIND_IN_SET(user_id_,#{studentIds})
-    </update>
 
     <update id="addStudentCloudStudySequenceDays">
         UPDATE student SET cloud_study_sequence_days_=cloud_study_sequence_days_+1,cloud_study_use_last_day_=curdate() WHERE user_id_=#{userId} AND (cloud_study_use_last_day_ IS NULL OR cloud_study_use_last_day_=date_sub(curdate(), interval 1 day))
@@ -1108,7 +1085,7 @@
         </foreach>
     </update>
     <update id="updateCloudTeacherEndTime">
-        update student set membership_end_time_ =
+        update student set member_rank_setting_id_ = 1,membership_end_time_ =
         (select MAX(end_time_) from cloud_teacher_order where status_ = 2 AND end_time_ >= NOW() AND student_id_ = #{studentId})
         where user_id_ = #{studentId};
     </update>
@@ -1534,7 +1511,7 @@
             #{studentId}
         </foreach>
         <if test="memberFlag == true">
-            AND member_rank_setting_id_ = 1 and membership_end_time_ >= NOW()
+            AND membership_end_time_ >= NOW()
         </if>
         <if test="memberFlag == false">
             AND (membership_end_time_ IS NULL OR membership_end_time_ &lt; NOW())

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

@@ -5,7 +5,7 @@
     <select id="userPage" resultType="com.ym.mec.biz.dal.wrapper.StudentWrapper$StudentList">
         select
         distinct s.user_id_ as studentId
-        ,if(s.member_rank_setting_id_ is not null, true, false) as vipFlag,
+        ,s.membership_end_time_ >= NOW() as vipFlag,
         s.subject_id_list_ as subjectId,
         group_concat(sr.music_group_id_) as musicGroupIds
         from student s
@@ -37,10 +37,10 @@
             </if>
             <if test="param.vipFlag != null">
                 <if test="param.vipFlag">
-                    and s.member_rank_setting_id_ is not null
+                    and s.membership_end_time_ >= NOW()
                 </if>
                 <if test="param.vipFlag == false">
-                    and s.member_rank_setting_id_ is null
+                    AND (s.membership_end_time_ IS NULL OR s.membership_end_time_ &lt; NOW())
                 </if>
             </if>
         </where>

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

@@ -284,7 +284,7 @@
 			COUNT( smcr.id_ ) trainNum,
 			COUNT( DISTINCT DAY ( smcr.create_time_ )) trainDays,
 			SUM( smcr.play_time_ ) trainTime,
-			CASE WHEN stu.member_rank_setting_id_ IS NULL THEN 0 ELSE 1 END vipUser
+			CASE WHEN stu.membership_end_time_ >= NOW() THEN 1 ELSE 0 END vipUser
 		FROM
 			sys_music_compare_record smcr
 				LEFT JOIN sys_user su ON smcr.user_id_ = su.id_
@@ -303,7 +303,7 @@
 				ORDER BY trainNum
 			</if>
 		</if>
-		<include refid="global.limit"></include>
+		<include refid="global.limit"/>
 	</select>
 
 	<select id="countMusicGroupStudentTrainData" resultType="int">