Преглед на файлове

学员列表会员截止日期逻辑

zouxuan преди 4 години
родител
ревизия
32613fee8a

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

@@ -1,6 +1,8 @@
 package com.ym.mec.biz.dal.dao;
 
 import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 import org.apache.ibatis.annotations.Param;
 
@@ -47,4 +49,6 @@ public interface CloudTeacherOrderDao extends BaseDAO<Long, CloudTeacherOrder> {
      * @return
      */
     CloudTeacherOrderDto queryOrderInfoByOrderId(Long orderId);
+
+    List<Map<Long, String>> queryNoStartByUserIds(@Param("userIds") Set<Integer> userIds);
 }

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/CloudTeacherOrderService.java

@@ -8,6 +8,8 @@ import com.ym.mec.common.service.BaseService;
 
 import java.math.BigDecimal;
 import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 
 public interface CloudTeacherOrderService extends BaseService<Long, CloudTeacherOrder> {
@@ -85,4 +87,5 @@ public interface CloudTeacherOrderService extends BaseService<Long, CloudTeacher
      */
     CloudTeacherOrderDto queryOrderInfoByOrderId(Long orderId);
 
+    List<Map<Long, String>> queryNoStartByUserIds(Set<Integer> userIds);
 }

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CloudTeacherOrderServiceImpl.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.service.impl;
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 import java.util.stream.Collectors;
 
@@ -245,4 +246,9 @@ public class CloudTeacherOrderServiceImpl extends BaseServiceImpl<Long, CloudTea
 	public CloudTeacherOrderDto queryOrderInfoByOrderId(Long orderId) {
 		return cloudTeacherOrderDao.queryOrderInfoByOrderId(orderId);
 	}
+
+    @Override
+    public List<Map<Long, String>> queryNoStartByUserIds(Set<Integer> userIds) {
+        return cloudTeacherOrderDao.queryNoStartByUserIds(userIds);
+    }
 }

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

@@ -155,7 +155,7 @@ public class StudentManageServiceImpl implements StudentManageService {
         if(!CollectionUtils.isEmpty(userAllContract)){
             userContractVersionMap = userAllContract.stream().collect(Collectors.groupingBy(SysUserContracts::getUserId, Collectors.mapping(SysUserContracts::getVersion, Collectors.toSet())));
         }
-
+        Map<Long,String> cloudMap = MapUtil.convertMybatisMap(cloudTeacherOrderService.queryNoStartByUserIds(userIds));
         //List<Subject> studentSubject = studentManageDao.getStudentSubject(userIds);
         StudentListCourseDto studentListCourseDto = null;
         for (StudentManageListDto dto : dataList) {
@@ -179,6 +179,13 @@ public class StudentManageServiceImpl implements StudentManageService {
                 dto.setHasCourse(YesOrNoEnum.NO);
                 dto.setHasPracticeCourse(YesOrNoEnum.NO);
             }
+            //如果会员已过期、是否有未生效的会员
+            if(dto.getMemberRankSettingId() == null){
+                String s = cloudMap.get(dto.getUserId().longValue());
+                if(StringUtils.isNotEmpty(s)){
+                    dto.setMembershipEndTime(DateUtil.toDateTime(s));
+                }
+            }
 
             if(userContractVersionMap.containsKey(dto.getUserId())){
 //                dto.setContractVersions(StringUtils.join(userContractVersionMap.get(dto.getUserId()), ","));

+ 11 - 0
mec-biz/src/main/resources/config/mybatis/CloudTeacherOrderMapper.xml

@@ -192,4 +192,15 @@
         left join member_rank_setting mrs on mrs.id_ = cto.level_
         where spo.type_ = 'MEMBER' and order_id_ = #{orderId}
     </select>
+    <select id="queryNoStartByUserIds" resultType="java.util.Map">
+        SELECT student_id_ 'key',create_time_ 'value' FROM cloud_teacher_order
+        WHERE status_ = 1
+        <if test="userIds != null and userIds.size > 0">
+            AND student_id_ IN
+            <foreach collection="userIds" separator="," item="userId" open="(" close=")">
+                #{userId}
+            </foreach>
+        </if>
+        GROUP BY student_id_
+    </select>
 </mapper>