Bläddra i källkod

Merge branch 'saas_zouxuan_07_11' of http://git.dayaedu.com/yonge/mec into master_saas

 Conflicts:
	mec-biz/src/main/resources/config/mybatis/QuestionnaireTopicMapper.xml
zouxuan 3 år sedan
förälder
incheckning
62c834d63d

+ 10 - 0
mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/entity/SysUser.java

@@ -161,6 +161,16 @@ public class SysUser extends BaseEntity implements Serializable{
 	
 	private String organIdList;
 
+	private String subjectId;
+
+	public String getSubjectId() {
+		return subjectId;
+	}
+
+	public void setSubjectId(String subjectId) {
+		this.subjectId = subjectId;
+	}
+
 	public String getPositions() {
 		return positions;
 	}

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentPaymentOrderDao.java

@@ -444,4 +444,7 @@ public interface StudentPaymentOrderDao extends BaseDAO<Long, StudentPaymentOrde
     int getStudentMusicOrderNum(@Param("musicGroupId") String musicGroupId, @Param("userId") Integer userId, @Param("orderId") Long orderId);
 
     StudentPaymentOrder getMemberIngOrder(@Param("type") OrderTypeEnum type, @Param("status") DealStatusEnum status);
+
+    //用户户购买过的活动的次数
+    int countByActivityIds(@Param("activityIds") List<String> activityIds, @Param("userId") Integer userId);
 }

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/PracticeGroupService.java

@@ -397,4 +397,6 @@ public interface PracticeGroupService extends BaseService<Long, PracticeGroup> {
 
 	//学生端网管课活动排课
 	HttpResponseResult studentCreateActivityPracticeGroup(PracticeGroupBuyDto practiceGroupBuyParams);
+
+	void checkActivity();
 }

+ 51 - 43
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -87,6 +87,8 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
     @Autowired
     private SysUserFeignService sysUserFeignService;
     @Autowired
+    private SysUserService sysUserService;
+    @Autowired
     private TeacherDao teacherDao;
     @Autowired
     private SysMessageService sysMessageService;
@@ -305,10 +307,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         if (Objects.isNull(subjectId)) {
             throw new BizException("请选择声部");
         }
-        SysUser sysUser = sysUserFeignService.queryUserById(userId);
-        if (Objects.isNull(sysUser)) {
-            throw new BizException("用户不存在");
-        }
+        SysUser sysUser = sysUserService.queryUserById(userId);
         if (Objects.isNull(sysUser.getOrganId())) {
             throw new BizException("未找到用户分部属性");
         }
@@ -393,10 +392,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         if (Objects.isNull(teacherId)) {
             throw new BizException("请选择教师");
         }
-        SysUser student = sysUserFeignService.queryUserById(userId);
-        if (Objects.isNull(student)) {
-            throw new BizException("用户不存在");
-        }
+        SysUser student = sysUserService.queryUserById(userId);
         if (Objects.isNull(student.getOrganId())) {
             throw new BizException("未找到用户分部属性");
         }
@@ -1273,7 +1269,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         }
         applyTimes += 1;
 
-        SysUser sysUser = sysUserFeignService.queryUserById(practiceGroup.getStudentId());
+        SysUser sysUser = sysUserService.queryUserById(practiceGroup.getStudentId());
 
         practiceGroup.setCoursesStartDate(allCourseDates.get(0));
         practiceGroup.setCoursesExpireDate(allCourseDates.get(3));
@@ -1837,10 +1833,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         if (Objects.isNull(subjectId)) {
             throw new BizException("请选择声部");
         }
-        SysUser sysUser = sysUserFeignService.queryUserById(userId);
-        if (Objects.isNull(sysUser)) {
-            throw new BizException("用户不存在");
-        }
+        SysUser sysUser = sysUserService.queryUserById(userId);
         if (Objects.isNull(sysUser.getOrganId())) {
             throw new BizException("未找到用户分部属性");
         }
@@ -1968,10 +1961,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         if (Objects.isNull(teacherId)) {
             throw new BizException("请选择教师");
         }
-        SysUser student = sysUserFeignService.queryUserById(userId);
-        if (Objects.isNull(student)) {
-            throw new BizException("用户不存在");
-        }
+        SysUser student = sysUserService.queryUserById(userId);
         if (Objects.isNull(student.getOrganId())) {
             throw new BizException("未找到用户分部属性");
         }
@@ -2713,7 +2703,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
             return BaseController.failed(HttpStatus.EXPECTATION_FAILED, "训练时间与陪练次数不匹配");
         }
 
-        SysUser sysUser = sysUserFeignService.queryUserById(practiceGroupBuyParams.getStudentId());
+        SysUser sysUser = sysUserService.queryUserById(practiceGroupBuyParams.getStudentId());
 
         Subject subject = subjectDao.get(practiceGroupBuyParams.getSubjectId());
         if (Objects.isNull(subject)) {
@@ -4249,7 +4239,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
 
         int repeatVipGroups = practiceGroupDao.countUserRepeatPracticeGroupInCourseStartEndTime(applyBaseInfo.getUserId(), firstCourseSchedule.getStartClassTime(), latestCourseSchedule.getEndClassTime());
         if (repeatVipGroups > 0) {
-            SysUser sysUser = sysUserFeignService.queryUserById(applyBaseInfo.getUserId());
+            SysUser sysUser = sysUserService.queryUserById(applyBaseInfo.getUserId());
             throw new BizException("{}课程时间冲突({}-{})", sysUser.getRealName(), DateUtil.dateToString(firstCourseSchedule.getStartClassTime(), "yyyy-MM-dd HH:mm:ss"), DateUtil.dateToString(latestCourseSchedule.getEndClassTime(), "HH:mm:ss"));
         }
 
@@ -4435,10 +4425,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
     @Override
     @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
     public HttpResponseResult buyTeacherPracticeGroup(PracticeGroupBuyParamsDto practiceGroupBuyParams) throws Exception {
-        SysUser user = sysUserFeignService.queryUserInfo();
-        if (user == null) {
-            throw new BizException("用户信息获取失败");
-        }
+        SysUser user = sysUserService.getUser();
         // 判断是否存在支付中的记录
         List<StudentPaymentOrder> list = studentPaymentOrderService
                 .queryByCondition(GroupType.PRACTICE,
@@ -4680,30 +4667,22 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
     @Override
     @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
     public Object buyActivityPracticeGroup(PracticeGroupBuyParamsDto practiceGroupBuyParams) throws Exception {
+        Student student = studentDao.getLocked(practiceGroupBuyParams.getUserId());
+        this.checkActivity();
         Integer activityId = practiceGroupBuyParams.getActivityId();
         VipGroupActivity activity = vipGroupActivityDao.get(activityId);
-        Date now = new Date();
-        Date startTime = activity.getStartTime();
-        Date endTime = activity.getEndTime();
-        if (startTime != null && startTime.compareTo(now) > 0) {
-            throw new BizException("活动尚未开始,感谢您的关注");
-        }
-        if (endTime != null && endTime.compareTo(now) <= 0) {
-            throw new BizException("活动已结束,感谢您的参与");
-        }
-        Student student = studentDao.getLocked(practiceGroupBuyParams.getUserId());
-        Integer studentMaxUsedTimes = activity.getStudentMaxUsedTimes();
-        if (studentMaxUsedTimes != -1) {
-            //获取活动购买次数
-            int activityBuyNum = activityUserMapperService.countActivityBuyNum(activityId, practiceGroupBuyParams.getUserId());
-            if (activityBuyNum >= studentMaxUsedTimes) {
-                throw new BizException("当前活动最多课购买{}次,感谢您的参与", studentMaxUsedTimes);
-            }
-        }
+//        Integer studentMaxUsedTimes = activity.getStudentMaxUsedTimes();
+//        if (studentMaxUsedTimes != -1) {
+//            //获取活动购买次数
+//            int activityBuyNum = activityUserMapperService.countActivityBuyNum(activityId, practiceGroupBuyParams.getUserId());
+//            if (activityBuyNum >= studentMaxUsedTimes) {
+//                throw new BizException("当前活动最多课购买{}次,感谢您的参与", studentMaxUsedTimes);
+//            }
+//        }
 
         //判断用户是否已存在订单
         // 判断是否存在支付中的记录
-        List<StudentPaymentOrder> applyOrderList = studentPaymentOrderService.queryByCondition(GroupType.MEMBER, null, student.getUserId(), DealStatusEnum.ING, OrderTypeEnum.MEMBER);
+        List<StudentPaymentOrder> applyOrderList = studentPaymentOrderService.queryByCondition(GroupType.VIP, null, student.getUserId(), DealStatusEnum.ING, OrderTypeEnum.ACTIVITY);
         if (org.apache.commons.collections.CollectionUtils.isNotEmpty(applyOrderList)) {
             HttpResponseResult result = studentPaymentOrderService.checkRepeatPay(applyOrderList.get(0), practiceGroupBuyParams.getRepeatPay());
             if (result.getCode() != 200) {
@@ -4910,7 +4889,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
     @Override
     @Transactional(rollbackFor = Exception.class)
     public HttpResponseResult studentCreateActivityPracticeGroup(PracticeGroupBuyDto practiceGroupBuyParams) {
-        SysUser sysUser = Optional.ofNullable(sysUserFeignService.queryUserInfo()).orElseThrow(() -> new BizException("请登录"));
+        SysUser sysUser = sysUserService.getUser();
         studentDao.getLocked(sysUser.getId());
         practiceGroupBuyParams.setStudentId(sysUser.getId());
         String activeConfig = sysConfigDao.findConfigValue("cloud_teacher_active_config");
@@ -5222,4 +5201,33 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         activityUserMapperService.update(activityUserMapper);
         return BaseController.succeed();
     }
+
+    @Override
+    public void checkActivity() {
+        SysUser sysUser = sysUserService.getUser();
+        String activeConfig = sysConfigDao.findConfigValue("2022_cloud_activity_config");
+        List<Cloud2022ActivityDto> cloud2022ActivityDtos = JSONArray.parseArray(activeConfig, Cloud2022ActivityDto.class);
+        List<Cloud2022ActivityDto> activityDtos = cloud2022ActivityDtos.stream().
+                filter(e -> Arrays.stream(e.getOrganId().split(",")).collect(Collectors.toList()).
+                        contains(sysUser.getOrganId().toString())).collect(Collectors.toList());
+        if(org.apache.commons.collections.CollectionUtils.isEmpty(activityDtos)){
+            throw new BizException("当前分部暂未开通活动");
+        }
+        Integer activityId = Integer.parseInt(activityDtos.get(0).getActivityId().split(",")[0]);
+        VipGroupActivity activity = vipGroupActivityDao.get(activityId);
+        Date now = new Date();
+        Date startTime = activity.getStartTime();
+        Date endTime = activity.getEndTime();
+        if (startTime != null && startTime.compareTo(now) > 0) {
+            throw new BizException("活动尚未开始,感谢您的关注");
+        }
+        if (endTime != null && endTime.compareTo(now) <= 0) {
+            throw new BizException("活动已结束,感谢您的参与");
+        }
+        //只允许购买一次
+        int num = studentPaymentOrderDao.countByActivityIds(activityDtos.stream().map(e->e.getActivityId()).collect(Collectors.toList()),sysUser.getId());
+        if(num > 0){
+            throw new BizException("您已参与过该活动,感谢您的关注");
+        }
+    }
 }

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

@@ -640,13 +640,9 @@ public class StudentManageServiceImpl implements StudentManageService {
         if(student != null) {
             student.setCurrentGradeNum(sysUser.getCurrentGradeNum());
             student.setCurrentClass(sysUser.getCurrentClass());
+            Optional.ofNullable(sysUser.getSubjectId()).ifPresent(student::setSubjectIdList);
             studentDao.update(student);
         }
-//        StudentRegistration studentRegistration = new StudentRegistration();
-//        studentRegistration.setUserId(sysUser.getId());
-//        studentRegistration.setCurrentClass(sysUser.getCurrentClass());
-//        studentRegistration.setCurrentGrade(sysUser.getCurrentGrade());
-//        studentRegistrationDao.updateCurrentClass(studentRegistration);
     }
 
     @Override

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

@@ -64,15 +64,15 @@
 		<if test="title != null">
 			title_ = #{title},
 		</if>
+		<if test="updateTime != null">
+			update_time_ = #{updateTime},
+		</if>
 		<if test="shareTitle != null">
 			share_title_ = #{shareTitle},
 		</if>
 		<if test="shareDescribe != null">
 			share_describe_ = #{shareDescribe},
 		</if>
-		<if test="updateTime != null">
-			update_time_ = #{updateTime},
-		</if>
 		</set> WHERE id_ = #{id}
 	</update>
 	

+ 6 - 0
mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderMapper.xml

@@ -1061,6 +1061,12 @@
           AND status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
         LIMIT 1
     </select>
+    <select id="countByActivityIds" resultType="java.lang.Integer">
+        SELECT COUNT(0) FROM student_payment_order WHERE user_id_ = #{userId} AND activity_id_ IN
+        <foreach collection="activityIds" item="activityId" open="(" close=")" separator=",">
+            #{activityId}
+        </foreach>
+    </select>
 
 
 </mapper>

+ 39 - 38
mec-student/src/main/java/com/ym/mec/student/controller/ActivityController.java

@@ -110,44 +110,45 @@ public class ActivityController extends BaseController {
     @PostMapping(value = "/queryActivity")
     @AuditLogAnnotation(operateName = "获取2022云教练活动列表")
     public HttpResponseResult<List<VipGroupActivity>> queryActivity() throws Exception {
-        SysUser user = sysUserFeignService.queryUserInfo();
-        if (user == null) {
-            return failed(HttpStatus.FORBIDDEN, "请登录");
-        }
-        Date nowTime = new Date();
-        String startTimeStr = sysConfigDao.findConfigValue("2022_cloud_activity_start_time");
-        Date startTime = DateUtil.stringToDate(startTimeStr);
-        if (startTime.compareTo(nowTime) > 0) {
-            throw new BizException("活动还未开始,谢谢关注");
-        }
-        String endTimeStr = sysConfigDao.findConfigValue("2022_cloud_activity_end_time");
-        Date endTime = DateUtil.stringToDate(endTimeStr);
-        if (endTime.compareTo(nowTime) <= 0) {
-            throw new BizException("活动已结束,谢谢关注");
-        }
-        String configValue = sysConfigDao.findConfigValue("2022_cloud_activity_config");
-        List<Cloud2022ActivityDto> cloud2022ActivityDtos = JSONArray.parseArray(configValue, Cloud2022ActivityDto.class);
-        for (Cloud2022ActivityDto cloud2022ActivityDto : cloud2022ActivityDtos) {
-            String[] split = cloud2022ActivityDto.getOrganId().split(",");
-            long count = Arrays.stream(split).filter(e -> Objects.equals(e, user.getOrganId().toString())).count();
-            if(count > 0l){
-                List<VipGroupActivity> vipGroupActivities = vipGroupActivityDao.queryByIds(cloud2022ActivityDto.getActivityId());
-                for (VipGroupActivity vipGroupActivity : vipGroupActivities) {
-                    Integer studentMaxUsedTimes = vipGroupActivity.getStudentMaxUsedTimes();
-                    if (studentMaxUsedTimes != -1) {
-                        //获取活动购买次数
-                        int activityBuyNum = activityUserMapperService.countActivityBuyNum(vipGroupActivity.getId(),user.getId());
-                        //查看学员是否还可以购买活动
-                        vipGroupActivity.setEnable(true);
-                        if (activityBuyNum >= studentMaxUsedTimes) {
-                            vipGroupActivity.setEnable(false);
-                        }
-                    }
-                }
-                return succeed(vipGroupActivities.stream().sorted(Comparator.comparing(VipGroupActivity::getMarketPrice)).collect(Collectors.toList()));
-            }
-        }
-        return failed("当前分部不参与此活动,请联系管理员");
+        return failed("购买入口已关闭,请联系管理员");
+//        SysUser user = sysUserFeignService.queryUserInfo();
+//        if (user == null) {
+//            return failed(HttpStatus.FORBIDDEN, "请登录");
+//        }
+//        Date nowTime = new Date();
+//        String startTimeStr = sysConfigDao.findConfigValue("2022_cloud_activity_start_time");
+//        Date startTime = DateUtil.stringToDate(startTimeStr);
+//        if (startTime.compareTo(nowTime) > 0) {
+//            throw new BizException("活动还未开始,谢谢关注");
+//        }
+//        String endTimeStr = sysConfigDao.findConfigValue("2022_cloud_activity_end_time");
+//        Date endTime = DateUtil.stringToDate(endTimeStr);
+//        if (endTime.compareTo(nowTime) <= 0) {
+//            throw new BizException("活动已结束,谢谢关注");
+//        }
+//        String configValue = sysConfigDao.findConfigValue("2022_cloud_activity_config");
+//        List<Cloud2022ActivityDto> cloud2022ActivityDtos = JSONArray.parseArray(configValue, Cloud2022ActivityDto.class);
+//        for (Cloud2022ActivityDto cloud2022ActivityDto : cloud2022ActivityDtos) {
+//            String[] split = cloud2022ActivityDto.getOrganId().split(",");
+//            long count = Arrays.stream(split).filter(e -> Objects.equals(e, user.getOrganId().toString())).count();
+//            if(count > 0l){
+//                List<VipGroupActivity> vipGroupActivities = vipGroupActivityDao.queryByIds(cloud2022ActivityDto.getActivityId());
+//                for (VipGroupActivity vipGroupActivity : vipGroupActivities) {
+//                    Integer studentMaxUsedTimes = vipGroupActivity.getStudentMaxUsedTimes();
+//                    if (studentMaxUsedTimes != -1) {
+//                        //获取活动购买次数
+//                        int activityBuyNum = activityUserMapperService.countActivityBuyNum(vipGroupActivity.getId(),user.getId());
+//                        //查看学员是否还可以购买活动
+//                        vipGroupActivity.setEnable(true);
+//                        if (activityBuyNum >= studentMaxUsedTimes) {
+//                            vipGroupActivity.setEnable(false);
+//                        }
+//                    }
+//                }
+//                return succeed(vipGroupActivities.stream().sorted(Comparator.comparing(VipGroupActivity::getMarketPrice)).collect(Collectors.toList()));
+//            }
+//        }
+//        return failed("当前分部不参与此活动,请联系管理员");
     }
 
     @ApiOperation(value = "学员已购买的双十一活动信息")

+ 32 - 42
mec-student/src/main/java/com/ym/mec/student/controller/PracticeGroupController.java

@@ -1,6 +1,5 @@
 package com.ym.mec.student.controller;
 
-import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.PracticeGroupBuyDto;
@@ -15,6 +14,7 @@ import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 import com.ym.mec.biz.dal.enums.PracticeGroupType;
 import com.ym.mec.biz.service.PracticeGroupService;
 import com.ym.mec.biz.service.SysMessageService;
+import com.ym.mec.biz.service.SysUserService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.exception.BizException;
@@ -44,7 +44,7 @@ public class PracticeGroupController extends BaseController {
     @Autowired
     private PracticeGroupService practiceGroupService;
     @Autowired
-    private SysUserFeignService sysUserFeignService;
+    private SysUserService sysUserService;
     List<Integer> excludeOrganIds=new ArrayList<>(Arrays.asList(new Integer[]{36}));
     @Autowired
     private SysMessageService sysMessageService;
@@ -62,14 +62,13 @@ public class PracticeGroupController extends BaseController {
     @ApiOperation("获取学生的陪练课")
     @GetMapping(value = "/findUserPracticeCourses")
     public Object findUserPracticeCourses(){
-        SysUser sysUser = Optional.ofNullable(sysUserFeignService.queryUserInfo()).orElseThrow(() -> new BizException("请登录"));
-        return succeed(practiceGroupService.findUserPracticeCourses(sysUser.getId()));
+        return succeed(practiceGroupService.findUserPracticeCourses(sysUserService.getUserId()));
     }
 
     @ApiOperation("检测用户是否能够申请免费陪练课")
     @GetMapping(value = "/checkCanApplyFreePracticeGroup")
     private HttpResponseResult checkCanApplyFreePracticeGroup(){
-        SysUser sysUser = Optional.ofNullable(sysUserFeignService.queryUserInfo()).orElseThrow(() -> new BizException("请登录"));
+        SysUser sysUser = sysUserService.getUser();
         Map<String,Object> result=practiceGroupService.checkCanApplyFreePracticeGroup(sysUser.getId());
         Integer applyTimes = practiceGroupDao.countUserPracticeApplyRecord(sysUser.getId());
         result.put("canApply", applyTimes < 1 ? 1 : 0);
@@ -80,7 +79,7 @@ public class PracticeGroupController extends BaseController {
     @ApiOperation("获取陪练课预约参数")
     @GetMapping(value = "/getPracticeApplyParams")
     public Object getPracticeApplyParams(){
-        SysUser sysUser = Optional.ofNullable(sysUserFeignService.queryUserInfo()).orElseThrow(() -> new BizException("请登录"));
+        SysUser sysUser = sysUserService.getUser();
         if (sysUser.getTenantId() == null) {
             return failed( "用户机构信息异常");
         }
@@ -93,36 +92,32 @@ public class PracticeGroupController extends BaseController {
     @ApiOperation("获取可以预约的教师")
     @GetMapping(value = "/getEnableApplyTeachers")
     public Object getEnableApplyTeachers(Integer subjectId){
-        SysUser sysUser = Optional.ofNullable(sysUserFeignService.queryUserInfo()).orElseThrow(() -> new BizException("请登录"));
-        return succeed(practiceGroupService.getEnableApplyTeachers(sysUser.getId(), subjectId));
+        return succeed(practiceGroupService.getEnableApplyTeachers(sysUserService.getUserId(), subjectId));
     }
 
     @ApiOperation("获取可以预约的教师--付费")
     @GetMapping(value = "/getEnableApplyTeachersWithPay")
     public Object getEnableApplyTeachersWithPay(Integer subjectId){
-        SysUser sysUser = Optional.ofNullable(sysUserFeignService.queryUserInfo()).orElseThrow(() -> new BizException("请登录"));
-        return succeed(practiceGroupService.getEnableApplyTeachersWithPay(sysUser.getId(), subjectId));
+        return succeed(practiceGroupService.getEnableApplyTeachersWithPay(sysUserService.getUserId(), subjectId));
     }
 
     @ApiOperation("获取指定学员所在分部下的教师空闲时间")
     @GetMapping(value = "/getTeacherFreeTimes")
     public Object getTeacherFreeTimes(Integer teacherId, Date firstClassTime){
-        SysUser sysUser = Optional.ofNullable(sysUserFeignService.queryUserInfo()).orElseThrow(() -> new BizException("请登录"));
-        return succeed(practiceGroupService.getTeacherFreeTimes(sysUser.getId(),teacherId,firstClassTime));
+        return succeed(practiceGroupService.getTeacherFreeTimes(sysUserService.getUserId(),teacherId,firstClassTime));
     }
 
     @ApiOperation("获取指定学员所在分部下的教师空闲时间")
     @GetMapping(value = "/getTeachersFreeTimes")
     public Object getTeachersFreeTimes(Integer subjectId, Date firstClassTime){
-        SysUser sysUser = Optional.ofNullable(sysUserFeignService.queryUserInfo()).orElseThrow(() -> new BizException("请登录"));
-        return succeed(practiceGroupService.getTeachersFreeTimes(sysUser.getId(),subjectId,firstClassTime));
+        return succeed(practiceGroupService.getTeachersFreeTimes(sysUserService.getUserId(),subjectId,firstClassTime));
     }
 
     @ApiOperation("陪练课预约")
     @PostMapping(value = "/practiceApply")
     @AuditLogAnnotation(operateName = "陪练课预约")
     public Object practiceApply(PracticeGroup practiceGroup){
-        SysUser sysUser = Optional.ofNullable(sysUserFeignService.queryUserInfo()).orElseThrow(() -> new BizException("请登录"));
+        SysUser sysUser = sysUserService.getUser();
         if(excludeOrganIds.contains(sysUser.getOrganId())){
             throw new BizException("请联系老师确认您的所属分部");
         }
@@ -137,7 +132,7 @@ public class PracticeGroupController extends BaseController {
     @ApiOperation("获取陪练课预约参数——付费")
     @GetMapping(value = "/getPayPracticeApplyParams")
     public Object getPayPracticeApplyParams(Integer organId){
-        SysUser sysUser = Optional.ofNullable(sysUserFeignService.queryUserInfo()).orElseThrow(() -> new BizException("请登录"));
+        SysUser sysUser = sysUserService.getUser();
         if(sysUser.getTenantId() == null){
             throw new BizException("请联系老师确认您的所属机构");
         }
@@ -147,7 +142,7 @@ public class PracticeGroupController extends BaseController {
     @ApiOperation("获取指定教师的空闲时间——付费")
     @GetMapping(value = "/getPayPracticeTeacherFreeTimes")
     public Object getPayPracticeTeacherFreeTimes(Integer teacherId,Integer buyMonths, boolean renew, Long groupId, PracticeGroupType type){
-        SysUser sysUser = Optional.ofNullable(sysUserFeignService.queryUserInfo()).orElseThrow(() -> new BizException("请登录"));
+        SysUser sysUser = sysUserService.getUser();
         Map payPracticeTeacherFreeTimes = practiceGroupService.getPayPracticeTeacherFreeTimes(sysUser.getId(),teacherId, buyMonths,renew,groupId);
         if(Objects.nonNull(type)&&PracticeGroupType.COME_ON_PACKAGE.equals(type)){
             Map<Integer, List<String>> weekNumApplyTimesMap = (Map<Integer, List<String>>) payPracticeTeacherFreeTimes.get("teacherFreeDays");
@@ -182,14 +177,13 @@ public class PracticeGroupController extends BaseController {
     @ApiOperation("获取学生上一次的购买信息--付费")
     @GetMapping(value = "/findUserLatestPracticeGroup")
     public HttpResponseResult findUserLatestPracticeGroup(Long groupId){
-        SysUser sysUser = Optional.ofNullable(sysUserFeignService.queryUserInfo()).orElseThrow(() -> new BizException("请登录"));
-        return succeed(practiceGroupService.findUserLatestPracticeGroup(sysUser.getId(),groupId));
+        return succeed(practiceGroupService.findUserLatestPracticeGroup(sysUserService.getUserId(),groupId));
     }
 
     @ApiOperation("检测学生是否是新用户")
     @GetMapping(value = "/isNewStudent")
     public HttpResponseResult isNewStudent(){
-        SysUser sysUser = Optional.ofNullable(sysUserFeignService.queryUserInfo()).orElseThrow(() -> new BizException("请登录"));
+        SysUser sysUser = sysUserService.getUser();
         int studentExitChargePractices = practiceGroupDao.checkStudentExitChargePractice(sysUser.getId(),"2021-03-09 00:00:00");
         Student student = studentDao.get(sysUser.getId());
         if(student == null){
@@ -210,7 +204,7 @@ public class PracticeGroupController extends BaseController {
     @PostMapping(value = "/buyPracticeGroup")
     @AuditLogAnnotation(operateName = "陪练课购买")
     public HttpResponseResult buyPracticeGroup(@RequestBody PracticeGroupBuyDto practiceGroupBuyParams){
-        SysUser sysUser = Optional.ofNullable(sysUserFeignService.queryUserInfo()).orElseThrow(() -> new BizException("请登录"));
+        SysUser sysUser = sysUserService.getUser();
         if(excludeOrganIds.contains(sysUser.getOrganId())){
             throw new BizException("请联系老师确认您的所属分部");
         }
@@ -232,8 +226,7 @@ public class PracticeGroupController extends BaseController {
     @ApiOperation(value = "获取网管课购买信息")
     @PostMapping("/getPracticeGroupPayInfo")
     public Object getPracticeGroupPayInfo(Long vipGroupId){
-        SysUser sysUser = Optional.ofNullable(sysUserFeignService.queryUserInfo()).orElseThrow(() -> new BizException("请登录"));
-        return succeed(practiceGroupService.getPracticeGroupPayInfo(vipGroupId,sysUser.getId()));
+        return succeed(practiceGroupService.getPracticeGroupPayInfo(vipGroupId,sysUserService.getUserId()));
     }
 
     @ApiOperation("营销活动购买")
@@ -243,12 +236,19 @@ public class PracticeGroupController extends BaseController {
 //        if(CollectionUtils.isNotEmpty(practiceGroupBuyParams.getCouponIdList())){
 //            throw new BizException("当前活动不支持优惠券");
 //        }
-        SysUser sysUser = Optional.ofNullable(sysUserFeignService.queryUserInfo()).orElseThrow(() -> new BizException("请登录"));
+        SysUser sysUser = sysUserService.getUser();
         practiceGroupBuyParams.setUserId(sysUser.getId());
         practiceGroupBuyParams.setOrganId(sysUser.getOrganId());
         return succeed(practiceGroupService.buyActivityPracticeGroup(practiceGroupBuyParams));
     }
 
+    @ApiOperation("是否可以购买活动")
+    @GetMapping(value = "/checkActivity")
+    public HttpResponseResult checkActivity(){
+        practiceGroupService.checkActivity();
+        return succeed();
+    }
+
     @ApiOperation(value = "购买指导老师创建的网管课")
     @PostMapping("/buyTeacherPracticeGroup")
     @AuditLogAnnotation(operateName = "购买指导老师创建的网管课")
@@ -259,9 +259,7 @@ public class PracticeGroupController extends BaseController {
     @ApiOperation("获取用户历史购买的陪练课")
     @GetMapping(value = "/findUserHistoryBuyPracticeGroups")
     public HttpResponseResult findUserHistoryBuyPracticeGroups(Long groupId, PracticeGroupType type){
-        Integer userId = Optional.ofNullable(sysUserFeignService.queryUserInfo())
-                        .map(SysUser::getId).orElseThrow(() -> new BizException("请登录"));
-        return succeed(practiceGroupService.findUserHistoryBuyPracticeGroups(userId, groupId, type));
+        return succeed(practiceGroupService.findUserHistoryBuyPracticeGroups(sysUserService.getUserId(), groupId, type));
     }
 
     @ApiOperation("查询订单信息")
@@ -274,15 +272,13 @@ public class PracticeGroupController extends BaseController {
     @PostMapping(value = "/repay")
     @AuditLogAnnotation(operateName = "重新支付")
     public HttpResponseResult repay(Integer groupId, boolean useBalancePayment) throws Exception {
-        SysUser sysUser = Optional.ofNullable(sysUserFeignService.queryUserInfo()).orElseThrow(() -> new BizException("请登录"));
-        return practiceGroupService.repay(sysUser.getId(),groupId,useBalancePayment);
+        return practiceGroupService.repay(sysUserService.getUserId(),groupId,useBalancePayment);
     }
 
     @ApiOperation("免费陪练课定点推送")
     @GetMapping(value = "/freePush")
     public HttpResponseResult freePush(Integer userId, String pushType){
-        Optional.ofNullable(sysUserFeignService.queryUserInfo())
-                .map(SysUser::getId).orElseThrow(() -> new BizException("请登录"));
+        sysUserService.getUser();
         String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
 
         String pushUrl = baseApiUrl + "/#/auditionbanner/id";
@@ -311,8 +307,7 @@ public class PracticeGroupController extends BaseController {
     @ApiOperation("陪练课完成报告推送")
     @GetMapping(value = "/reportPush")
     public HttpResponseResult reportPush(Integer userId, String pushType){
-        Optional.ofNullable(sysUserFeignService.queryUserInfo())
-                .map(SysUser::getId).orElseThrow(() -> new BizException("请登录"));
+        sysUserService.getUser();
         String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
         PracticeGroup userFreePracticeGroup = practiceGroupDao.getUserFreePracticeGroup(userId);
         ClassGroup classGroup = classGroupDao.findByMusicGroupAndType(userFreePracticeGroup.getId().toString(), GroupType.PRACTICE.getCode());
@@ -326,7 +321,7 @@ public class PracticeGroupController extends BaseController {
 
         String smsUrl = baseApiUrl + "/#/transfer?url=" + baseApiUrl + "&hash=reportDetail&classGroupId=" + classGroup.getId();
 
-        SysUser student = sysUserFeignService.queryUserById(userId);
+        SysUser student = sysUserService.queryUserById(userId);
 
         if(pushType.equals("ALL")||pushType.equals("JIGUANG")){
             Map<Integer, String> userMap = new HashMap<>();
@@ -348,8 +343,7 @@ public class PracticeGroupController extends BaseController {
     @ApiOperation("陪练课完成报告推送")
     @GetMapping(value = "/pushStudyReport")
     public HttpResponseResult pushStudyReport(Date expiredDate, String pushType){
-        Optional.ofNullable(sysUserFeignService.queryUserInfo())
-                .map(SysUser::getId).orElseThrow(() -> new BizException("请登录"));
+        sysUserService.getUser();
         practiceGroupService.pushStudyReport(expiredDate,pushType);
         return succeed();
     }
@@ -357,17 +351,13 @@ public class PracticeGroupController extends BaseController {
     @ApiOperation("检测用户是否存在待支付的课程组订单")
     @GetMapping(value = "/checkExistWaitPayOrder")
     public HttpResponseResult checkExistWaitPayOrder(Long groupId){
-        Integer userId = Optional.ofNullable(sysUserFeignService.queryUserInfo())
-                .map(SysUser::getId).orElseThrow(() -> new BizException("请登录"));
-        return succeed(practiceGroupService.checkExistWaitPayOrder(userId,groupId));
+        return succeed(practiceGroupService.checkExistWaitPayOrder(sysUserService.getUserId(),groupId));
     }
 
     @ApiOperation("取消待支付的订单")
     @PostMapping(value = "/cancelWaitPayOrder")
     @AuditLogAnnotation(operateName = "取消待支付的订单")
     public HttpResponseResult cancelWaitPayOrder(Integer groupId) throws Exception{
-        Integer userId = Optional.ofNullable(sysUserFeignService.queryUserInfo())
-                .map(SysUser::getId).orElseThrow(() -> new BizException("请登录"));
-        return practiceGroupService.cancelWaitPayOrder(userId, groupId);
+        return practiceGroupService.cancelWaitPayOrder(sysUserService.getUserId(), groupId);
     }
 }

+ 7 - 26
mec-student/src/main/java/com/ym/mec/student/controller/StudentVipGroupController.java

@@ -1,12 +1,12 @@
 package com.ym.mec.student.controller;
 
-import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.ConditionDto;
 import com.ym.mec.biz.dal.dto.QueryConditionDto;
 import com.ym.mec.biz.dal.dto.VipGroupBuyParamsDto;
 import com.ym.mec.biz.dal.page.StudentVipGroupQueryInfo;
 import com.ym.mec.biz.service.SubjectService;
+import com.ym.mec.biz.service.SysUserService;
 import com.ym.mec.biz.service.VipGroupCategoryService;
 import com.ym.mec.biz.service.VipGroupService;
 import com.ym.mec.common.controller.BaseController;
@@ -14,7 +14,6 @@ import com.yonge.log.model.AuditLogAnnotation;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.ArrayList;
@@ -37,7 +36,7 @@ public class StudentVipGroupController extends BaseController {
     @Autowired
     private SubjectService subjectService;
     @Autowired
-    private SysUserFeignService sysUserFeignService;
+    private SysUserService sysUserService;
     @Autowired
     private VipGroupCategoryService vipGroupCategoryService;
 
@@ -57,10 +56,7 @@ public class StudentVipGroupController extends BaseController {
     @ApiOperation(value = "获取vip课列表")
     @PostMapping(value = "/queryVipGroups")
     public Object queryVipGroups(@RequestBody StudentVipGroupQueryInfo queryInfo){
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (null == sysUser) {
-            return failed(HttpStatus.FORBIDDEN, "请登录");
-        }
+        SysUser sysUser = sysUserService.getUser();
         queryInfo.setOrganId(sysUser.getOrganId());
         queryInfo.setUserId(sysUser.getId());
         Map<String,Object> result=new HashMap<>();
@@ -72,10 +68,7 @@ public class StudentVipGroupController extends BaseController {
     @ApiOperation(value = "获取可购买vip、网管课列表")
     @RequestMapping(value = "/queryVipPracticeGroups")
     public Object queryVipPracticeGroups(@RequestBody StudentVipGroupQueryInfo queryInfo){
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (null == sysUser) {
-            return failed(HttpStatus.FORBIDDEN, "请登录");
-        }
+        SysUser sysUser = sysUserService.getUser();
         queryInfo.setOrganId(sysUser.getOrganId());
         queryInfo.setUserId(sysUser.getId());
         return succeed(vipGroupService.queryVipPracticeGroups(queryInfo));
@@ -90,11 +83,7 @@ public class StudentVipGroupController extends BaseController {
     @ApiOperation(value = "检测vip课成能否购买")
     @GetMapping(value = "/enableBuyGroup")
     public Object enableBuyGroup(Long vipGroupId,String groupType){
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (null == sysUser) {
-            return failed(HttpStatus.FORBIDDEN, "请登录");
-        }
-        vipGroupService.enableBuyVipGroup(vipGroupId,sysUser.getId(),groupType);
+        vipGroupService.enableBuyVipGroup(vipGroupId,sysUserService.getUserId(),groupType);
         return succeed();
     }
 
@@ -102,11 +91,7 @@ public class StudentVipGroupController extends BaseController {
     @PostMapping("/buyVipGroup")
     @AuditLogAnnotation(operateName = "vip课购买")
     public Object buyVipGroup(VipGroupBuyParamsDto vipGroupBuyParams) throws Exception {
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (null == sysUser) {
-            return failed(HttpStatus.FORBIDDEN, "请登录");
-        }
-        vipGroupBuyParams.setUserId(sysUser.getId());
+        vipGroupBuyParams.setUserId(sysUserService.getUserId());
         return vipGroupService.buyVipGroup(vipGroupBuyParams);
     }
 
@@ -121,11 +106,7 @@ public class StudentVipGroupController extends BaseController {
     @ApiOperation(value = "获取vip购买信息")
     @PostMapping("/getVipGroupPayInfo")
 	public Object getVipGroupPayInfo(Integer vipGroupId){
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (null == sysUser) {
-            return failed(HttpStatus.FORBIDDEN, "请登录");
-        }
-        return succeed(vipGroupService.getVipGroupPayInfo(vipGroupId,sysUser.getId()));
+        return succeed(vipGroupService.getVipGroupPayInfo(vipGroupId,sysUserService.getUserId()));
     }
 
 }