Browse Source

管乐米需求

zouxuan 3 years ago
parent
commit
36651de082

+ 13 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicMemberDto.java

@@ -1,5 +1,7 @@
 package com.ym.mec.biz.dal.entity;
 
+import io.swagger.annotations.ApiModelProperty;
+
 import java.math.BigDecimal;
 import java.util.Date;
 
@@ -29,6 +31,17 @@ public class MusicMemberDto {
 
 	private Boolean hasNoStartCloudTeacher;
 
+	@ApiModelProperty(value = "0已过期,1即将过期,2待生效", required = false)
+	private Integer hasMember;
+
+	public Integer getHasMember() {
+		return hasMember;
+	}
+
+	public void setHasMember(Integer hasMember) {
+		this.hasMember = hasMember;
+	}
+
 	public Boolean getHasNoStartCloudTeacher() {
 		return hasNoStartCloudTeacher;
 	}

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysUserCashAccountDetail.java

@@ -90,6 +90,17 @@ public class SysUserCashAccountDetail {
 
 	private String organName;
 
+	/** vip课程后台添加学员时关联的id */
+	private Long groupId;
+
+	public Long getGroupId() {
+		return groupId;
+	}
+
+	public void setGroupId(Long groupId) {
+		this.groupId = groupId;
+	}
+
 	public String getOrganName() {
 		return organName;
 	}

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysUserCoursesAccountDetail.java

@@ -67,6 +67,17 @@ public class SysUserCoursesAccountDetail {
 
 	private String organName;
 
+	/** vip课程后台添加学员时关联的id */
+	private Long groupId;
+
+	public Long getGroupId() {
+		return groupId;
+	}
+
+	public void setGroupId(Long groupId) {
+		this.groupId = groupId;
+	}
+
 	public String getOrganName() {
 		return organName;
 	}

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

@@ -7,8 +7,8 @@ import java.util.Date;
 
 public class MusicMemberQueryInfo extends QueryInfo {
 
-	@ApiModelProperty(value = "0已过期,1即将过期", required = false)
-	private Integer hasMember;
+	@ApiModelProperty(value = "0已过期,1即将过期,2待生效", required = false)
+	private Integer hasMember = 0;
 
 	private String memberEndAutoQuitMusic;
 

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

@@ -64,7 +64,7 @@ public interface SysUserCashAccountService extends BaseService<Integer, SysUserC
 	 * @param description:
 	 * @return void
 	 */
-	void subtractFromCourseBalanceAndBalance(Integer userId, BigDecimal decimal, PlatformCashAccountDetailTypeEnum type, String description);
+	void subtractFromCourseBalanceAndBalance(Integer userId, BigDecimal decimal, PlatformCashAccountDetailTypeEnum type, String description,Long vipGroupId);
 
 	/**
 	 * 将课程余额转入到可用余额

+ 8 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -3947,14 +3947,14 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             pageInfo.setTotal(count);
             params.put("offset", pageInfo.getOffset());
             dataList = musicGroupDao.queryMusicMemberList(params);
-            List<Integer> collect = dataList.stream().map(e -> e.getUserId()).collect(Collectors.toList());
-            String musicGroupId = dataList.get(0).getMusicGroupId();
+//            List<Integer> collect = dataList.stream().map(e -> e.getUserId()).collect(Collectors.toList());
+//            String musicGroupId = dataList.get(0).getMusicGroupId();
             //查询云教练订单
-            List<CloudTeacherOrder> studentCloudTeacherOrders = cloudTeacherOrderService.getStudentCloudTeacherOrders(collect,musicGroupId);
-            Map<Integer, List<CloudTeacherOrder>> studentCloudTeacherMap = studentCloudTeacherOrders.stream().collect(Collectors.groupingBy(CloudTeacherOrder::getStudentId));
-            Date date = new Date();
-            Map<Long,String> cloudMap = MapUtil.convertMybatisMap(cloudTeacherOrderService.queryNoStartByUserIds(new HashSet<>(collect),true));
-            dataList.forEach(e->{
+//            List<CloudTeacherOrder> studentCloudTeacherOrders = cloudTeacherOrderService.getStudentCloudTeacherOrders(collect,musicGroupId);
+//            Map<Integer, List<CloudTeacherOrder>> studentCloudTeacherMap = studentCloudTeacherOrders.stream().collect(Collectors.groupingBy(CloudTeacherOrder::getStudentId));
+//            Date date = new Date();
+//            Map<Long,String> cloudMap = MapUtil.convertMybatisMap(cloudTeacherOrderService.queryNoStartByUserIds(new HashSet<>(collect),true));
+            /*dataList.forEach(e->{
                 //如果会员已过期、是否有未生效的会员
                 if(e.getMembershipEndTime() == null || date.after(e.getMembershipEndTime())){
                     String s = cloudMap.get(e.getUserId().longValue());
@@ -3975,7 +3975,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                         e.setCloudTeacherAmount(cloudAmount);
                     }
                 }
-            });
+            });*/
         }
         if (count == 0) {
             dataList = new ArrayList<>();

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

@@ -256,7 +256,7 @@ public class SysUserCashAccountServiceImpl extends BaseServiceImpl<Integer, SysU
     }
 
     @Override
-    public void subtractFromCourseBalanceAndBalance(Integer userId, BigDecimal decimal, PlatformCashAccountDetailTypeEnum type, String description) {
+    public void subtractFromCourseBalanceAndBalance(Integer userId, BigDecimal decimal, PlatformCashAccountDetailTypeEnum type, String description,Long vipGroupId) {
         SysUserCashAccount cashAccount = sysUserCashAccountDao.getLocked(userId);
         if (cashAccount == null) {
             throw new BizException("用户[{}]现金账户不存在", userId);
@@ -298,6 +298,7 @@ public class SysUserCashAccountServiceImpl extends BaseServiceImpl<Integer, SysU
         sysUserCoursesAccountDetail.setType(type);
         sysUserCoursesAccountDetail.setUpdateTime(date);
         sysUserCoursesAccountDetail.setCreateTime(date);
+        sysUserCoursesAccountDetail.setGroupId(vipGroupId);
         sysUserCoursesAccountDetailDao.insert(sysUserCoursesAccountDetail);
 
         if(changeMoney.compareTo(BigDecimal.ZERO)==0){
@@ -317,6 +318,7 @@ public class SysUserCashAccountServiceImpl extends BaseServiceImpl<Integer, SysU
         detail.setType(type);
         detail.setUpdateTime(date);
         detail.setUserId(userId);
+        detail.setGroupId(vipGroupId);
         sysUserCashAccountDetailDao.insert(detail);
     }
 

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

@@ -4283,7 +4283,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 				surplusCoursesPrice = surplusCoursesPrice.multiply(discount).setScale(0,BigDecimal.ROUND_CEILING);
 			}
 
-			sysUserCashAccountService.subtractFromCourseBalanceAndBalance(studentId,surplusCoursesPrice.setScale(0,BigDecimal.ROUND_CEILING),PlatformCashAccountDetailTypeEnum.PAY_FEE, "后台添加学员金额扣减");
+			sysUserCashAccountService.subtractFromCourseBalanceAndBalance(studentId,surplusCoursesPrice.setScale(0,BigDecimal.ROUND_CEILING),PlatformCashAccountDetailTypeEnum.PAY_FEE, "后台添加学员金额扣减",vipGroupId);
 
 			List<CourseScheduleStudentPayment> courseScheduleStudentPayments = new ArrayList<>();
 

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

@@ -908,10 +908,11 @@
         <result property="phone" column="phone_"/>
         <result property="courseViewType" column="course_view_type_"/>
         <result property="membershipEndTime" column="membership_end_time_"/>
+        <result property="hasMember" column="has_member_"/>
     </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(sr.membership_end_time_,NOW()) member_day_,sr.music_group_id_,MAX(sv.visit_time_) visit_time_,sr.membership_end_time_
+        DATEDIFF(sr.membership_end_time_,NOW()) member_day_,sr.music_group_id_,MAX(sv.visit_time_) visit_time_,sr.membership_end_time_,#{hasMember} has_member_
         FROM student_registration sr
         LEFT JOIN music_group mg ON mg.id_ = sr.music_group_id_
         LEFT JOIN sys_user su ON su.id_ = sr.user_id_
@@ -941,7 +942,7 @@
             </if>
             <if test="hasMember != null">
                 <if test="hasMember == 0">
-                    AND cto.id_ IS NULL AND (sr.membership_end_time_ IS NULL OR sr.membership_end_time_ &lt; NOW())
+                    AND (sr.membership_end_time_ IS NULL OR sr.membership_end_time_ &lt; NOW()) AND cto.id_ IS NULL
                 </if>
                 <if test="hasMember == 1">
                     AND cto.id_ IS NULL AND DATEDIFF(sr.membership_end_time_,NOW()) &lt;= #{memberEndAutoQuitMusic} AND sr.membership_end_time_ > NOW()

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

@@ -26,6 +26,7 @@
 		<result column="channel_" property="channel" />
 		<result column="organ_name_" property="organName" />
 		<result column="platform_account_no_" property="platformAccountNo" />
+		<result column="group_id_" property="groupId" />
 	</resultMap>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -40,9 +41,12 @@
 	
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.SysUserCoursesAccountDetail" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		INSERT INTO sys_user_courses_account_detail (id_,user_id_,trans_no_,type_,trans_type_,status_,amount_,balance_,description_,comment_,attribute1_,channel_,platform_account_no_,create_time_,update_time_)
-		VALUES(#{id},#{userId},#{transNo},#{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{transType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-		       #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{amount},#{balance},#{description},#{comment},#{attribute1},#{channel},#{platformAccountNo},NOW(),NOW())
+		INSERT INTO sys_user_courses_account_detail (id_,user_id_,trans_no_,type_,trans_type_,status_,amount_,balance_,
+		                                             description_,comment_,attribute1_,channel_,platform_account_no_,create_time_,update_time_,group_id_)
+		VALUES(#{id},#{userId},#{transNo},#{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+		       #{transType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+		       #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{amount},#{balance},#{description},
+		       #{comment},#{attribute1},#{channel},#{platformAccountNo},NOW(),NOW(),#{groupId})
 	</insert>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -52,6 +56,9 @@
 			<if test="status != null">
 				status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
 			</if>
+			<if test="groupId != null">
+				group_id_ = #{groupId},
+			</if>
 			<if test="balance != null">
 				balance_ = #{balance},
 			</if>