Browse Source

会员试用

zouxuan 3 years ago
parent
commit
aeed9c054d

+ 22 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupStudentsDto.java

@@ -121,6 +121,28 @@ public class MusicGroupStudentsDto{
     @ApiModelProperty(value = "会员截止时间",required = false)
     private Date membershipEndTime;
 
+    @ApiModelProperty(value = "乐团会员时间,下次续费时间",required = false)
+    private Date musicMembershipEndTime;
+
+    @ApiModelProperty(value = "试用会员截止时间",required = false)
+    private Date experienceMembershipEndTime;
+
+    public Date getMusicMembershipEndTime() {
+        return musicMembershipEndTime;
+    }
+
+    public void setMusicMembershipEndTime(Date musicMembershipEndTime) {
+        this.musicMembershipEndTime = musicMembershipEndTime;
+    }
+
+    public Date getExperienceMembershipEndTime() {
+        return experienceMembershipEndTime;
+    }
+
+    public void setExperienceMembershipEndTime(Date experienceMembershipEndTime) {
+        this.experienceMembershipEndTime = experienceMembershipEndTime;
+    }
+
     public Date getMembershipEndTime() {
         return membershipEndTime;
     }

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

@@ -388,9 +388,18 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
             throw new BizException("请选择学员");
         }
         //学员是否有会员
-        int memberNum = studentDao.getMemberNum(studentIds);
-        if(memberNum > 0){
-            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);
@@ -403,7 +412,7 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
         }
 
         int i = studentDao.updateMemberExperience(studentIds, rankId, endTime);
-        List<Integer> studentIdList = Arrays.stream(studentIds.split(",")).map(Integer::parseInt).collect(Collectors.toList());
+
         if(studentIdList.size() == i){
             Map<Integer, String> studentPhoneMap = MapUtil.convertMybatisMap(teacherDao.queryPhoneByIds(studentIds));
             Map<Integer,String> userMap = new HashMap<>(studentIdList.size());

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

@@ -906,7 +906,7 @@
     </resultMap>
     <select id="queryMusicMemberList" resultMap="MusicMemberDto">
         SELECT sr.user_id_,su.username_,su.phone_,o.name_ organ_name_,mg.name_ music_group_name_,mg.course_view_type_,
-        DATEDIFF(MAX(cto.end_time_),NOW()) + 1 member_day_,sr.music_group_id_,MAX(sv.visit_time_) visit_time_ FROM student_registration sr
+        DATEDIFF(MAX(cto.end_time_),NOW()) member_day_,sr.music_group_id_,MAX(sv.visit_time_) visit_time_ FROM student_registration sr
         LEFT JOIN music_group mg ON mg.id_ = sr.music_group_id_
         LEFT JOIN cloud_teacher_order cto ON cto.student_id_ = sr.user_id_ AND cto.status_ IN (1,2)
         LEFT JOIN sys_user su ON su.id_ = sr.user_id_

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

@@ -167,7 +167,8 @@
 		sub.`name_` music_group_subject_ ,su.birthdate_,s.subject_id_list_,s.teacher_id_,s.current_grade_num_,s.current_class_,s.member_rank_setting_id_,
         CASE WHEN su.password_ IS NULL THEN FALSE ELSE TRUE END isActive_,s.is_new_user_,
         s.membership_end_time_,CASE WHEN sut.user_id_ IS NULL THEN 0 ELSE 1 END is_signed_contract_,
-        s.cooperation_organ_id_,co.name_ cooperation_organ_name_,s.activity_course_detail_
+        s.cooperation_organ_id_,co.name_ cooperation_organ_name_,s.activity_course_detail_,s.experience_membership_end_time_,
+        DATEDIFF(s.experience_membership_end_time_,NOW()) experience_membership_day_,DATEDIFF(s.membership_end_time_,NOW()) membership_day_
 		FROM `student` s LEFT JOIN `sys_user` su ON s.`user_id_` = su.`id_`
 		LEFT JOIN `organization` o ON o.`id_` = su.`organ_id_`
 		LEFT JOIN `sys_user` tu ON tu.`id_` = s.`teacher_id_`
@@ -534,13 +535,15 @@
         <result column="registerTime" property="registerTime"/>
         <result column="remark_" property="remark"/>
         <result column="membership_end_time_" property="membershipEndTime"/>
+        <result column="music_membership_end_time_" property="musicMembershipEndTime"/>
+        <result column="experience_membership_end_time_" property="experienceMembershipEndTime"/>
     </resultMap>
     <select id="queryMusicGroupStudent" resultMap="MusicGroupStudentsDto">
         SELECT sr.id_ student_registration_id_,sr.user_id_,su.username_ real_name_,su.gender_,su.phone_ parents_phone_,sr.current_grade_,sr.current_grade_date_,
         sr.current_class_,sr.music_group_status_ student_status_,sr.payment_status_,sr.subject_id_ reg_subject_id_,rs.name_ regSubjectName,sr.remark_,
         sr.actual_subject_id_ subject_id_,s.name_ subject_name_,sr.music_group_id_,CASE WHEN su.password_ IS NULL THEN 0 ELSE 1 END isActive_,
         IF(DATE_FORMAT(sr.create_time_,'%Y-%m-%d') > DATE_FORMAT(mg.payment_expire_date_,'%Y-%m-%d'),1,0) is_new_student_,
-        stu.care_package_,stu.come_on_package_,sr.create_time_ registerTime,sr.membership_end_time_
+        stu.care_package_,stu.come_on_package_,sr.create_time_ registerTime,sr.membership_end_time_ music_membership_end_time_,s.membership_end_time_,s.experience_membership_end_time_
         FROM student_registration sr
         LEFT JOIN sys_user su ON sr.user_id_ = su.id_
         LEFT JOIN subject s ON s.id_ = sr.actual_subject_id_