Browse Source

Merge branch 'system_fee' of http://git.dayaedu.com/yonge/mec into goods_organ

zouxuan 4 years ago
parent
commit
07dc6ff391

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java

@@ -638,5 +638,6 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      * @return
      */
     List<StudentRegistration> queryMemberEndAutoQuitMusic(@Param("memberEndAutoQuitMusic") String memberEndAutoQuitMusic,
-                                                          @Param("educationUserId") Integer educationUserId);
+                                                          @Param("educationUserId") Integer educationUserId,
+                                                          @Param("organIds") String organIds);
 }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentManageListDto.java

@@ -103,6 +103,8 @@ public class StudentManageListDto {
     private String cooperationOrganName;
 
     private Integer memberRankSettingId;
+    
+    private Date membershipEndTime;
 
     public Integer getMemberRankSettingId() {
         return memberRankSettingId;
@@ -421,4 +423,12 @@ public class StudentManageListDto {
     public void setNoStartPracticeCourseNum(Integer noStartPracticeCourseNum) {
         this.noStartPracticeCourseNum = noStartPracticeCourseNum;
     }
+
+	public Date getMembershipEndTime() {
+		return membershipEndTime;
+	}
+
+	public void setMembershipEndTime(Date membershipEndTime) {
+		this.membershipEndTime = membershipEndTime;
+	}
 }

+ 10 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicMemberDto.java

@@ -1,9 +1,5 @@
 package com.ym.mec.biz.dal.entity;
 
-import com.ym.mec.biz.dal.enums.KitGroupPurchaseTypeEnum;
-import io.swagger.annotations.ApiModelProperty;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-
 import java.math.BigDecimal;
 import java.util.Date;
 
@@ -19,12 +15,22 @@ public class MusicMemberDto {
 
 	private String musicGroupId;
 
+	private String phone;
+
 	private Integer memberDay;
 
 	private BigDecimal cloudTeacherAmount;
 
 	private Date visitTime;
 
+	public String getPhone() {
+		return phone;
+	}
+
+	public void setPhone(String phone) {
+		this.phone = phone;
+	}
+
 	public Date getVisitTime() {
 		return visitTime;
 	}

+ 22 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/MusicMemberQueryInfo.java

@@ -3,6 +3,8 @@ package com.ym.mec.biz.dal.page;
 import com.ym.mec.common.page.QueryInfo;
 import io.swagger.annotations.ApiModelProperty;
 
+import java.util.Date;
+
 public class MusicMemberQueryInfo extends QueryInfo {
 
 	@ApiModelProperty(value = "0已过期,1即将过期", required = false)
@@ -10,9 +12,29 @@ public class MusicMemberQueryInfo extends QueryInfo {
 
 	private String memberEndAutoQuitMusic;
 
+	private Date visitStartTime;
+
+	private Date visitEndTime;
+
     @ApiModelProperty(value = "分部", required = false)
     private String organId;
 
+	public Date getVisitStartTime() {
+		return visitStartTime;
+	}
+
+	public void setVisitStartTime(Date visitStartTime) {
+		this.visitStartTime = visitStartTime;
+	}
+
+	public Date getVisitEndTime() {
+		return visitEndTime;
+	}
+
+	public void setVisitEndTime(Date visitEndTime) {
+		this.visitEndTime = visitEndTime;
+	}
+
 	public String getMemberEndAutoQuitMusic() {
 		return memberEndAutoQuitMusic;
 	}

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

@@ -532,7 +532,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 			twoChild.add(new IndexErrInfoDto(IndexErrorType.STUDENT_APPLY_FOR_QUIT_MUSIC_GROUP, IndexErrorType.STUDENT_APPLY_FOR_QUIT_MUSIC_GROUP.getMsg(), quitGroupNum.size(),  quitGroupNum));
 
 			//乐团学员会员到期首页提醒
-			List<StudentRegistration> studentRegistrations = studentRegistrationDao.queryMemberEndAutoQuitMusic(null,educationUserId);
+			List<StudentRegistration> studentRegistrations = studentRegistrationDao.queryMemberEndAutoQuitMusic(null,educationUserId,organIdsStr);
 			IndexErrInfoDto noClassMusicGroupStudentInfo = new IndexErrInfoDto();
 			Set<String> musicGroupIds = studentRegistrations.stream().map(e -> e.getMusicGroupId()).collect(Collectors.toSet());
 			Set<Integer> userIds = studentRegistrations.stream().map(e -> e.getUserId()).collect(Collectors.toSet());
@@ -910,7 +910,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 		if(StringUtils.isEmpty(configValue)){
 			configValue = "15";
 		}
-		List<StudentRegistration> studentRegistrations = studentRegistrationDao.queryMemberEndAutoQuitMusic(configValue,educationUserId);
+		List<StudentRegistration> studentRegistrations = studentRegistrationDao.queryMemberEndAutoQuitMusic(configValue,educationUserId,organIds);
 		Set<String> musicGroupIdList = studentRegistrations.stream().map(e -> e.getMusicGroupId()).collect(Collectors.toSet());
 		Set<Integer> userIds = studentRegistrations.stream().map(e -> e.getUserId()).collect(Collectors.toSet());
 		IndexErrInfoDto infoDto = new IndexErrInfoDto();
@@ -987,7 +987,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 			if(StringUtils.isEmpty(configValue)){
 				configValue = "15";
 			}
-			List<StudentRegistration> studentRegistrations = studentRegistrationDao.queryMemberEndAutoQuitMusic(configValue,educationUserId);
+			List<StudentRegistration> studentRegistrations = studentRegistrationDao.queryMemberEndAutoQuitMusic(configValue,educationUserId,organIdsStr);
 			if(studentRegistrations.size() > 0){
 				flag2 = true;
 			}
@@ -1096,7 +1096,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 		}
 		if(!flag5){
 			if(!flag5){
-				List<StudentRegistration> studentRegistrations = studentRegistrationDao.queryMemberEndAutoQuitMusic(null,educationUserId);
+				List<StudentRegistration> studentRegistrations = studentRegistrationDao.queryMemberEndAutoQuitMusic(null,educationUserId,organIdsStr);
 				if(studentRegistrations.size() > 0){
 					flag5 = true;
 				}

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

@@ -826,15 +826,15 @@
         SELECT COUNT(c.user_id_) FROM
         (SELECT sr.user_id_ 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_
+        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_
         LEFT JOIN organization o ON o.id_ = mg.organ_id_
         LEFT JOIN student_visit sv ON sv.student_id_ = sr.user_id_ AND sv.purpose_ = '会员续费'
         <include refid="queryMusicMemberListSql"/>
-        GROUP BY cto.student_id_ HAVING MIN(cto.status_) != 1
+        GROUP BY sr.user_id_ HAVING (MAX(cto.id_) IS NULL OR MIN(cto.status_) != 1)
         <if test="hasMember != null">
             <if test="hasMember == 0">
-                AND DATEDIFF(MAX(cto.end_time_),NOW()) &lt; 0
+                AND (MAX(cto.id_) IS NULL OR DATEDIFF(MAX(cto.end_time_),NOW()) &lt; 0)
             </if>
             <if test="hasMember == 1">
                 AND DATEDIFF(MAX(cto.end_time_),NOW()) &lt;= #{memberEndAutoQuitMusic} AND DATEDIFF(MAX(cto.end_time_),NOW()) >= 0
@@ -852,20 +852,21 @@
         <result property="username" column="username_"/>
         <result property="memberDay" column="member_day_"/>
         <result property="visitTime" column="visit_time_"/>
+        <result property="phone" column="phone_"/>
     </resultMap>
     <select id="queryMusicMemberList" resultMap="MusicMemberDto">
-        SELECT sr.user_id_,su.username_,o.name_ organ_name_,mg.name_ music_group_name_,
+        SELECT sr.user_id_,su.username_,su.phone_,o.name_ organ_name_,mg.name_ music_group_name_,
         DATEDIFF(MAX(cto.end_time_),NOW()) + 1 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_
+        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_
         LEFT JOIN organization o ON o.id_ = mg.organ_id_
         LEFT JOIN student_visit sv ON sv.student_id_ = sr.user_id_ AND sv.purpose_ = '会员续费'
         <include refid="queryMusicMemberListSql"/>
-        GROUP BY cto.student_id_ HAVING MIN(cto.status_) != 1
+        GROUP BY sr.user_id_ HAVING (MAX(cto.id_) IS NULL OR MIN(cto.status_) != 1)
         <if test="hasMember != null">
             <if test="hasMember == 0">
-                AND DATEDIFF(MAX(cto.end_time_),NOW()) &lt; 0
+                AND (MAX(cto.id_) IS NULL OR DATEDIFF(MAX(cto.end_time_),NOW()) &lt; 0)
             </if>
             <if test="hasMember == 1">
                 AND DATEDIFF(MAX(cto.end_time_),NOW()) &lt;= #{memberEndAutoQuitMusic} AND DATEDIFF(MAX(cto.end_time_),NOW()) >= 0
@@ -879,7 +880,7 @@
     <sql id="queryMusicMemberListSql">
         <where>
             sr.music_group_status_ != 'QUIT' AND mg.course_view_type_ = 1
-            AND mg.status_ = 'PROGRESS' AND cto.status_ IN (1,2)
+            AND mg.status_ = 'PROGRESS'
             <if test="search != null and search != ''">
                 AND (mg.name_ LIKE CONCAT('%',#{search},'%') OR mg.id_ LIKE CONCAT('%',#{search},'%') OR su.username_ LIKE CONCAT('%',#{search},'%') OR su.id_ = #{search})
             </if>

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

@@ -72,7 +72,7 @@
         <result column="grade_type_" property="gradeType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="cooperation_organ_id_" property="cooperationOrganId"/>
         <result column="cooperation_organ_name_" property="cooperationOrganName"/>
-        <result column="membershipEndTime" property="membership_end_time_"/>
+        <result column="membership_end_time_" property="membershipEndTime"/>
     </resultMap>
 
     <sql id="queryCondition">

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

@@ -1539,18 +1539,21 @@
     <select id="queryMemberEndAutoQuitMusic" resultMap="StudentRegistration">
         SELECT sr.music_group_id_,sr.user_id_ 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_
+        LEFT JOIN cloud_teacher_order cto ON cto.student_id_ = sr.user_id_ AND cto.status_ IN (1,2)
         WHERE sr.music_group_status_ != 'QUIT' AND mg.course_view_type_ = 1
-        AND mg.status_ = 'PROGRESS' AND cto.status_ IN (1,2)
+        AND mg.status_ = 'PROGRESS'
         <if test="educationUserId != null">
             AND mg.educational_teacher_id_ = #{educationUserId}
         </if>
-        GROUP BY cto.student_id_ HAVING MIN(cto.status_) != 1
+        <if test="organIds != null and organIds != ''">
+            AND FIND_IN_SET(mg.organ_id_,#{organIds})
+        </if>
+        GROUP BY sr.user_id_ HAVING (MAX(cto.id_) IS NULL OR MIN(cto.status_) != 1)
         <if test="memberEndAutoQuitMusic != null">
             AND DATEDIFF(MAX(cto.end_time_),NOW()) &lt;= #{memberEndAutoQuitMusic} AND DATEDIFF(MAX(cto.end_time_),NOW()) >= 0
         </if>
         <if test="memberEndAutoQuitMusic == null">
-            AND DATEDIFF(MAX(cto.end_time_),NOW()) &lt; 0
+            AND (MAX(cto.id_) IS NULL OR DATEDIFF(MAX(cto.end_time_),NOW()) &lt; 0)
         </if>
     </select>
 </mapper>