Ver Fonte

1、陪练课调整
2、付费陪练课可预约时间调整

Joburgess há 5 anos atrás
pai
commit
ccece8ac56

+ 13 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/GroupClassService.java

@@ -2,6 +2,8 @@ package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.enums.GroupType;
 
+import java.math.BigDecimal;
+
 /**
  * @Author Joburgess
  * @Date 2020/2/17
@@ -38,4 +40,15 @@ public interface GroupClassService {
      */
     boolean cleanGroupInfo(String groupId, GroupType groupType);
 
+    /**
+     * @describe 关闭课程组
+     * @author Joburgess
+     * @date 2020/3/4
+     * @param groupId: 课程组编号
+     * @param groupType: 课程组类型
+     * @param refundAmount: 退款金额
+     * @return void
+     */
+    void cancelGroup(Long groupId, GroupType groupType, BigDecimal refundAmount);
+
 }

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

@@ -8,7 +8,6 @@ import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
-import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -254,13 +253,4 @@ public interface PracticeGroupService extends BaseService<Long, PracticeGroup> {
 	 */
 	void pushStudyReport(Date expiredDate,String pushType);
 
-	/**
-	 * @describe 关闭网管课
-	 * @author Joburgess
-	 * @date 2020/3/4
-	 * @param groupId: 网管课编号
-	 * @param refundAmount: 退款金额
-	 * @return void
-	 */
-	void cancelPracticeGroup(Long groupId, BigDecimal refundAmount);
 }

+ 40 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/GroupClassServiceImpl.java

@@ -2,14 +2,23 @@ package com.ym.mec.biz.service.impl;
 
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
+import com.ym.mec.biz.dal.entity.PracticeGroup;
+import com.ym.mec.biz.dal.enums.GroupStatusEnum;
 import com.ym.mec.biz.dal.enums.GroupType;
+import com.ym.mec.biz.dal.enums.PlatformCashAccountDetailTypeEnum;
 import com.ym.mec.biz.service.GroupClassService;
+import com.ym.mec.biz.service.SysUserCashAccountService;
+import com.ym.mec.common.exception.BizException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
+import java.math.BigDecimal;
+import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 /**
@@ -39,6 +48,10 @@ public class GroupClassServiceImpl implements GroupClassService {
     private TeacherAttendanceDao teacherAttendanceDao;
     @Autowired
     private StudentAttendanceDao studentAttendanceDao;
+    @Autowired
+    private PracticeGroupDao practiceGroupDao;
+    @Autowired
+    private SysUserCashAccountService sysUserCashAccountService;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -88,4 +101,31 @@ public class GroupClassServiceImpl implements GroupClassService {
         studentAttendanceDao.deleteByCourseSchedules(courseIds);
         return true;
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
+    public void cancelGroup(Long groupId, GroupType groupType, BigDecimal refundAmount) {
+        if(Objects.isNull(groupId)){
+            throw new BizException("请指定课程组");
+        }
+        if(groupType.equals(GroupType.PRACTICE)){
+            PracticeGroup practiceGroup = practiceGroupDao.get(groupId);
+            if(Objects.isNull(practiceGroup)){
+                throw new BizException("指定的课程组不存在");
+            }
+            Date now=new Date();
+            if(!practiceGroup.getGroupStatus().equals(GroupStatusEnum.NORMAL)||practiceGroup.getCoursesExpireDate().before(now)){
+                throw new BizException("当前课程组不可关闭");
+            }
+            if(Objects.isNull(refundAmount)){
+                throw new BizException("请指定退款金额");
+            }
+            sysUserCashAccountService.updateBalance(practiceGroup.getStudentId(), refundAmount, PlatformCashAccountDetailTypeEnum.REFUNDS, "后团关闭网管课");
+            cleanGroupInfo(groupId.toString(), GroupType.PRACTICE);
+            practiceGroup.setMemo("后台关闭网管课");
+            practiceGroup.setGroupStatus(GroupStatusEnum.CANCEL);
+            practiceGroup.setUpdateTime(now);
+            practiceGroupDao.update(practiceGroup);
+        }
+    }
 }

+ 0 - 25
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -3438,29 +3438,4 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
             courseScheduleEvaluateDao.update(report);
         }
     }
-
-    @Override
-    @Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
-    public void cancelPracticeGroup(Long groupId, BigDecimal refundAmount) {
-        if(Objects.isNull(groupId)){
-            throw new BizException("请指定课程组");
-        }
-        PracticeGroup practiceGroup = practiceGroupDao.get(groupId);
-        if(Objects.isNull(practiceGroup)){
-            throw new BizException("指定的课程组不存在");
-        }
-        Date now=new Date();
-        if(!practiceGroup.getGroupStatus().equals(GroupStatusEnum.NORMAL)||practiceGroup.getCoursesExpireDate().before(now)){
-            throw new BizException("当前课程组不可关闭");
-        }
-        if(Objects.isNull(refundAmount)){
-            throw new BizException("请指定退款金额");
-        }
-        sysUserCashAccountService.updateBalance(practiceGroup.getStudentId(), refundAmount, PlatformCashAccountDetailTypeEnum.REFUNDS, "后团关闭网管课");
-        groupService.cleanGroupInfo(groupId.toString(), GroupType.PRACTICE);
-        practiceGroup.setMemo("后台关闭网管课");
-        practiceGroup.setGroupStatus(GroupStatusEnum.CANCEL);
-        practiceGroup.setUpdateTime(now);
-        practiceGroupDao.update(practiceGroup);
-    }
 }

+ 14 - 10
mec-web/src/main/java/com/ym/mec/web/controller/PracticeGroupManageController.java

@@ -4,7 +4,9 @@ import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.EmployeeDao;
 import com.ym.mec.biz.dal.entity.Employee;
+import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.page.PracticeGroupQueryInfo;
+import com.ym.mec.biz.service.GroupClassService;
 import com.ym.mec.biz.service.PracticeGroupService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
@@ -37,6 +39,8 @@ public class PracticeGroupManageController extends BaseController {
     private SysUserFeignService sysUserFeignService;
     @Autowired
     private EmployeeDao employeeDao;
+    @Autowired
+    private GroupClassService groupService;
 
     @ApiOperation(value = "全查询")
     @GetMapping("/queryAll")
@@ -46,15 +50,15 @@ public class PracticeGroupManageController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        if(!sysUser.getIsSuperAdmin()){
+        if (!sysUser.getIsSuperAdmin()) {
             Employee employee = employeeDao.get(sysUser.getId());
             if (StringUtils.isEmpty(queryInfo.getOrganId())) {
                 queryInfo.setOrganId(employee.getOrganIdList());
-            }else if(StringUtils.isEmpty(employee.getOrganIdList())){
+            } else if (StringUtils.isEmpty(employee.getOrganIdList())) {
                 return failed("用户所在分部异常");
-            }else {
+            } else {
                 List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
-                if(!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))){
+                if (!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))) {
                     return failed("非法请求");
                 }
             }
@@ -65,15 +69,15 @@ public class PracticeGroupManageController extends BaseController {
     @ApiOperation(value = "获取陪练课课程计划")
     @GetMapping(value = "/findPracticeGroupCourseSchedules")
     @PreAuthorize("@pcs.hasPermissions('practiceGroupManage/findPracticeGroupCourseSchedules')")
-    public Object findPracticeGroupCourseSchedules(PracticeGroupQueryInfo queryInfo){
+    public Object findPracticeGroupCourseSchedules(PracticeGroupQueryInfo queryInfo) {
         return succeed(practiceGroupService.findPracticeGroupCourseSchedules(queryInfo));
     }
 
-    @ApiOperation(value = "关闭网管课")
-    @PostMapping(value = "/cancelPracticeGroup")
-    @PreAuthorize("@pcs.hasPermissions('practiceGroupManage/cancelPracticeGroup')")
-    public HttpResponseResult cancelPracticeGroup(Long groupId, BigDecimal refundAmount){
-        practiceGroupService.cancelPracticeGroup(groupId,refundAmount);
+    @ApiOperation(value = "关闭课程组")
+    @PostMapping(value = "/cancelGroup")
+    @PreAuthorize("@pcs.hasPermissions('practiceGroupManage/cancelGroup')")
+    public HttpResponseResult cancelGroup(Long groupId, GroupType groupType, BigDecimal refundAmount) {
+        groupService.cancelGroup(groupId, groupType, refundAmount);
         return succeed();
     }
 }