瀏覽代碼

Merge remote-tracking branch 'origin/master'

Joburgess 5 年之前
父節點
當前提交
355053a956

+ 3 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/filter/PhoneLoginAuthenticationFilter.java

@@ -4,6 +4,7 @@ import com.ym.mec.auth.api.dto.SysUserInfo;
 import com.ym.mec.auth.config.token.PhoneAuthenticationToken;
 import com.ym.mec.auth.service.SysUserService;
 import com.ym.mec.common.security.SecurityConstants;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.security.authentication.AbstractAuthenticationToken;
 import org.springframework.security.authentication.AuthenticationServiceException;
 import org.springframework.security.authentication.LockedException;
@@ -54,6 +55,8 @@ public class PhoneLoginAuthenticationFilter extends AbstractAuthenticationProces
 		String clientId = request.getParameter(clientIdParameter).toUpperCase();
 		if (userInfo == null) {
 			userInfo = sysUserService.initUser(principal,clientId,isRegister,isLessee);
+		}else if(StringUtils.isNotEmpty(isLessee)){
+			throw new LockedException("用户已存在");
 		}
 		if("EDUCATION".equals(clientId)){
 			clientId = "SYSTEM";

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TenantPaymentOrderDao.java

@@ -18,6 +18,14 @@ public interface TenantPaymentOrderDao extends BaseDAO<Long, TenantPaymentOrder>
 	List<TenantPaymentOrder> queryByUserId(Integer userId);
 
 	/**
+	 * 查询用户所有订单
+	 * @param userId
+	 * @param activitiesId
+	 * @return
+	 */
+	List<TenantPaymentOrder> queryByUserIdAndActivitiesId(@Param("userId") Integer userId, @Param("activitiesId") Integer activitiesId);
+
+	/**
 	 * 根据订单号查询订单
 	 *
 	 * @param orderNo

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseScheduleEvaluate.java

@@ -72,6 +72,8 @@ public class CourseScheduleEvaluate {
     @ApiModelProperty(value = "状态 1-已提交 0-未提交")
     private Integer status;
 
+    private Integer subjectId;
+
     public String getStudentIdList() {
         return studentIdList;
     }
@@ -273,4 +275,12 @@ public class CourseScheduleEvaluate {
     public void setUpdateTime(Date updateTime) {
         this.updateTime = updateTime;
     }
+
+    public Integer getSubjectId() {
+        return subjectId;
+    }
+
+    public void setSubjectId(Integer subjectId) {
+        this.subjectId = subjectId;
+    }
 }

+ 19 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleEvaluateServiceImpl.java

@@ -7,6 +7,7 @@ import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.dal.entity.ClassGroup;
 import com.ym.mec.biz.dal.entity.CourseScheduleEvaluate;
 import com.ym.mec.biz.dal.entity.PracticeGroup;
+import com.ym.mec.biz.dal.entity.Subject;
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 import com.ym.mec.biz.service.CourseScheduleEvaluateService;
 import com.ym.mec.biz.service.SysConfigService;
@@ -43,6 +44,8 @@ public class CourseScheduleEvaluateServiceImpl extends BaseServiceImpl<Long, Cou
     private SysMessageService sysMessageService;
     @Autowired
     private SysConfigDao sysConfigDao;
+    @Autowired
+    private SubjectDao subjectDao;
 
     @Override
     public BaseDAO<Long, CourseScheduleEvaluate> getDAO() {
@@ -68,7 +71,7 @@ public class CourseScheduleEvaluateServiceImpl extends BaseServiceImpl<Long, Cou
             Integer classGroupCourseTimes = courseScheduleEvaluateDao.getClassGroupCourseTimes(classGroup.getId());
             Date date = new Date();
             courseScheduleEvaluate.setTimes(classGroupCourseTimes);
-            courseScheduleEvaluate.setTotalMinutes(classGroupCourseTimes*25);
+            courseScheduleEvaluate.setTotalMinutes(classGroupCourseTimes * 25);
             courseScheduleEvaluate.setMusicGroupId(classGroup.getMusicGroupId());
             courseScheduleEvaluate.setCreateTime(date);
             courseScheduleEvaluate.setUpdateTime(date);
@@ -132,10 +135,11 @@ public class CourseScheduleEvaluateServiceImpl extends BaseServiceImpl<Long, Cou
         Date afterDate = DateUtil.addDays(DateUtil.getLastSecondWithDay(nowDate), 5);
         boolean afterDateIsLastDay = DateUtil.isSameDay(DateUtil.getLastDayOfMonth(startDate), afterDate);
 
-        List<CourseScheduleEvaluate> needPostReportPracticeGroups = practiceGroupDao.getNeedPostReportPracticeGroups(startDate, afterDate,afterDateIsLastDay);
+        List<CourseScheduleEvaluate> needPostReportPracticeGroups = practiceGroupDao.getNeedPostReportPracticeGroups(startDate, afterDate, afterDateIsLastDay);
 
         Map<Integer, Integer> courseTimesMap = new HashMap<>();
         Map<Integer, Integer> reportCountMap = new HashMap<>();
+        Map<Integer, String> subjectMap = new HashMap<>();
         if (needPostReportPracticeGroups.size() > 0) {
             Date courseStartDate = DateUtil.addMonths(startDate, -1);
             List<Integer> classGroupIds = needPostReportPracticeGroups.stream().map(CourseScheduleEvaluate::getClassGroupId).collect(Collectors.toList());
@@ -143,15 +147,23 @@ public class CourseScheduleEvaluateServiceImpl extends BaseServiceImpl<Long, Cou
             courseTimesMap = reportCourseTimes.stream().collect(Collectors.toMap(ClassGroup::getId, ClassGroup::getTotalClassTimes));
 
             List<CourseScheduleEvaluate> courseScheduleEvaluates = courseScheduleEvaluateDao.hasReportList(classGroupIds, startDate);
-            if(courseScheduleEvaluates.size() > 0){
-                reportCountMap = courseScheduleEvaluates.stream().collect(Collectors.toMap(CourseScheduleEvaluate::getClassGroupId,CourseScheduleEvaluate::getTimes));
+            if (courseScheduleEvaluates.size() > 0) {
+                reportCountMap = courseScheduleEvaluates.stream().collect(Collectors.toMap(CourseScheduleEvaluate::getClassGroupId, CourseScheduleEvaluate::getTimes));
             }
+            List<Integer> subjectIds = needPostReportPracticeGroups.stream().map(CourseScheduleEvaluate::getSubjectId).collect(Collectors.toList());
+            List<Subject> subjects = subjectDao.findBySubjectIds(subjectIds);
+            subjectMap = subjects.stream().collect(Collectors.toMap(Subject::getId, Subject::getName));
         }
         Iterator<CourseScheduleEvaluate> iterator = needPostReportPracticeGroups.iterator();
-        while (iterator.hasNext()){
+        while (iterator.hasNext()) {
             CourseScheduleEvaluate courseScheduleEvaluate = iterator.next();
-            if(reportCountMap.containsKey(courseScheduleEvaluate.getClassGroupId()) &&
-                    reportCountMap.get(courseScheduleEvaluate.getClassGroupId()) > 0){
+            if (subjectMap.get(courseScheduleEvaluate.getSubjectId()).contains("钢琴")) {
+                iterator.remove();
+                continue;
+            }
+
+            if (reportCountMap.containsKey(courseScheduleEvaluate.getClassGroupId()) &&
+                    reportCountMap.get(courseScheduleEvaluate.getClassGroupId()) > 0) {
                 iterator.remove();
                 continue;
             }

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

@@ -3276,7 +3276,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         List<CourseSchedule> updateList = new ArrayList<CourseSchedule>();
 
         for (CourseSchedule courseSchedule : list) {
-            courseSchedule.setStatus(CourseStatusEnum.OVER);
+            courseSchedule.setStatus(CourseStatusEnum.UNDERWAY);
             courseSchedule.setUpdateTime(date);
             updateList.add(courseSchedule);
         }

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

@@ -72,7 +72,7 @@ public class TenantPaymentOrderServiceImpl extends BaseServiceImpl<Long, TenantP
 
 	@Autowired
 	private YqPayFeignService yqPayFeignService;
-	
+
 	@Override
 	public BaseDAO<Long, TenantPaymentOrder> getDAO() {
 		return tenantPaymentOrderDao;
@@ -107,13 +107,13 @@ public class TenantPaymentOrderServiceImpl extends BaseServiceImpl<Long, TenantP
 		}
 
 		// 查询用户订单
-		List<TenantPaymentOrder> orderList = tenantPaymentOrderDao.queryByUserId(userId);
+		List<TenantPaymentOrder> orderList = tenantPaymentOrderDao.queryByUserIdAndActivitiesId(userId, activitiesId);
 		if (orderList != null && orderList.size() > 0) {
 			for (TenantPaymentOrder po : orderList) {
 				// 是否满足条件
 				if (tenantEntryActivities.getSuitableUser() == SuitableUser.NEW) {
 					if (po.getStatus() == DealStatusEnum.ING) {
-						throw new BizException("您参加的首充活动正在处理中,预计于{}分钟后处理完毕,请稍后。",30 - DateUtil.minutesBetween(po.getCreateTime(), date));
+						throw new BizException("您参加的首充活动正在处理中,预计于{}分钟后处理完毕,请稍后。", 30 - DateUtil.minutesBetween(po.getCreateTime(), date));
 					}
 					if (po.getStatus() == DealStatusEnum.SUCCESS) {
 						throw new BizException("首充优惠活动每个用户限参与一次。");

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

@@ -12,6 +12,7 @@
         <result column="create_time_" jdbcType="TIMESTAMP" property="createTime"/>
         <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
         <result column="student_id_" jdbcType="INTEGER" property="studentId"/>
+        <result column="subject_id_" jdbcType="INTEGER" property="subjectId"/>
         <result column="subject_name_" jdbcType="VARCHAR" property="subjectName"/>
         <result column="is_pushed_" jdbcType="INTEGER" property="isPushed"/>
         <result column="month_" jdbcType="VARCHAR" property="month"/>

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

@@ -343,7 +343,8 @@
         SELECT pg.id_                   music_group_id_,
                pg.user_id_              teacher_id_,
                cg.id_                   class_group_id_,
-               pg.single_class_minutes_ total_minutes_
+               pg.single_class_minutes_ total_minutes_,
+               pg.subject_id_
         FROM practice_group pg
                  LEFT JOIN class_group cg on pg.id_ = cg.music_group_id_ AND cg.group_type_ = 'PRACTICE'
          WHERE pg.group_status_ = 'NORMAL' AND cg.group_type_ = 'PRACTICE'

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

@@ -151,6 +151,10 @@
 	<select id="queryByUserId" resultMap="TenantPaymentOrder">
 		SELECT * FROM tenant_payment_order where user_id_ = #{userId} ORDER BY id_
 	</select>
+	
+	<select id="queryByUserIdAndActivitiesId" resultMap="TenantPaymentOrder" parameterType="map">
+		SELECT * FROM tenant_payment_order where user_id_ = #{userId} and activities_id_ = #{activitiesId} ORDER BY id_
+	</select>
 
     <!-- 根据订单号查询订单 -->
     <select id="findOrderByOrderNo" resultMap="TenantPaymentOrder">