Browse Source

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java
Joburgess 5 years ago
parent
commit
4374d23f33
25 changed files with 188 additions and 98 deletions
  1. 0 1
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/RoleController.java
  2. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentPaymentOrderDao.java
  3. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/VipGroupDao.java
  4. 13 12
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/HighClassGroupDto.java
  5. 11 7
      mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java
  6. 8 8
      mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleStudentPaymentService.java
  7. 7 7
      mec-biz/src/main/java/com/ym/mec/biz/service/VipGroupService.java
  8. 23 10
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
  9. 15 8
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  10. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleStudentPaymentServiceImpl.java
  11. 8 10
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java
  12. 1 1
      mec-biz/src/main/resources/config/mybatis/CourseScheduleTeacherSalaryMapper.xml
  13. 3 3
      mec-eureka/src/main/resources/application.yml
  14. 1 1
      mec-gateway/mec-gateway-web/src/main/resources/application.yml
  15. 15 4
      mec-student/src/main/java/com/ym/mec/student/controller/StudentVipGroupController.java
  16. 1 1
      mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupController.java
  17. 5 5
      mec-web/src/main/java/com/ym/mec/web/controller/CourseScheduleController.java
  18. 1 1
      mec-web/src/main/java/com/ym/mec/web/controller/VipGroupManageController.java
  19. 8 8
      mec-workflow/src/main/java/com/ym/mec/workfow/controller/flow/TaskController.java
  20. 4 2
      mec-workflow/src/main/java/com/ym/mec/workfow/controller/web/LeaveController.java
  21. 25 0
      mec-workflow/src/main/java/com/ym/mec/workfow/service/MecAccessStrategy.java
  22. 1 1
      mec-workflow/src/main/resources/flows/leave.snaker
  23. 33 3
      workflowy/src/main/java/org/snaker/engine/access/QueryFilter.java
  24. 1 1
      workflowy/src/main/java/org/snaker/engine/impl/GeneralAccessStrategy.java
  25. 1 1
      workflowy/src/test/java/test/task/group/CustomAccessStrategy.java

+ 0 - 1
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/RoleController.java

@@ -44,7 +44,6 @@ public class RoleController extends BaseController {
 	private SysUserRoleService sysUserRoleService;
 
 	@GetMapping(value = "/queryRoleCodeListByUserId")
-    @PreAuthorize("@pcs.hasPermissions('role/queryRoleCodeListByUserId')")
 	public Object queryRoleCodeListByUserId(Integer userId) {
 		return sysUserRoleService.queryRoleCodeListByUserId(userId);
 	}

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

@@ -28,7 +28,7 @@ public interface StudentPaymentOrderDao extends BaseDAO<Long, StudentPaymentOrde
      * @Date: 2019/10/3
      * 根据学生vip课获取缴费订单
      */
-    StudentPaymentOrder findByStudentVipGroup(@Param("vipGroupId") Long vipGroupId, @Param("userId") Long userId);
+    StudentPaymentOrder findByStudentVipGroup(@Param("vipGroupId") Long vipGroupId, @Param("userId") Integer userId);
 
     /**
      * 查询乐团报名的订单

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/VipGroupDao.java

@@ -184,7 +184,7 @@ public interface VipGroupDao extends BaseDAO<Long, VipGroup> {
      * @return java.math.BigDecimal
      * @describe 统计学生vip课未上课时费用
      */
-    List<Map<Long,BigDecimal>> countSurplusCourseFee(Long vipGroupId);
+    List<Map<Integer,BigDecimal>> countSurplusCourseFee(Long vipGroupId);
 
     /**
      * @Author: Joburgess

+ 13 - 12
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/HighClassGroupDto.java

@@ -2,6 +2,7 @@ package com.ym.mec.biz.dal.dto;
 
 import io.swagger.annotations.ApiModelProperty;
 
+import java.time.LocalDate;
 import java.util.Date;
 
 import org.apache.commons.lang3.builder.ToStringBuilder;
@@ -17,7 +18,7 @@ public class HighClassGroupDto extends ClassGroup {
 	private Integer userId;
 
 	@ApiModelProperty(value = "星期几",required = true)
-	private String dayOfWeek;
+	private Integer dayOfWeek;
 
 	@ApiModelProperty(value = "开始时间",required = true)
 	private String startClassTime;
@@ -26,7 +27,7 @@ public class HighClassGroupDto extends ClassGroup {
 	private String endClassTime;
 
 	@ApiModelProperty(value = "开始日期", required = true)
-	private Date StartDate;
+	private String startDate;
 
 	@ApiModelProperty(value = "排课次数", required = true)
 	private Integer courseTimes;
@@ -62,22 +63,14 @@ public class HighClassGroupDto extends ClassGroup {
 		return ToStringBuilder.reflectionToString(this);
 	}
 
-	public String getDayOfWeek() {
+	public Integer getDayOfWeek() {
 		return dayOfWeek;
 	}
 
-	public void setDayOfWeek(String dayOfWeek) {
+	public void setDayOfWeek(Integer dayOfWeek) {
 		this.dayOfWeek = dayOfWeek;
 	}
 
-	public Date getStartDate() {
-		return StartDate;
-	}
-
-	public void setStartDate(Date startDate) {
-		StartDate = startDate;
-	}
-
 	public Integer getCourseTimes() {
 		return courseTimes;
 	}
@@ -85,4 +78,12 @@ public class HighClassGroupDto extends ClassGroup {
 	public void setCourseTimes(Integer courseTimes) {
 		this.courseTimes = courseTimes;
 	}
+
+	public String getStartDate() {
+		return startDate;
+	}
+
+	public void setStartDate(String startDate) {
+		this.startDate = startDate;
+	}
 }

+ 11 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java

@@ -6,6 +6,7 @@ import com.ym.mec.biz.dal.dto.TeacherAttendanceDto;
 import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.CourseScheduleComplaints;
+import com.ym.mec.biz.dal.enums.AuditStatusEnum;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.page.CourseScheduleQueryInfo;
 import com.ym.mec.biz.dal.page.StudentCourseScheduleRecordQueryInfo;
@@ -155,13 +156,16 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
     void courseScheduleCommplaint(CourseScheduleComplaints courseScheduleComplaints);
 
     /**
-     * @Author: Joburgess
-     * @Date: 2019/10/3
-     * @params [courseScheduleComplaints]
-     * @return void
-     * @describe 课程投诉审核
-     */
-    void courseScheduleCommplaintAudit(CourseScheduleComplaints courseScheduleComplaints);
+	 * @Author: Joburgess
+	 * @Date: 2019/10/3
+	 * @params [id] 申诉编号
+	 * @params [teacherLiabilityRatio] 老师责任比
+	 * @params [studentLiabilityRatio] 学生责任比
+	 * @params [status] 审批状态
+	 * @return void
+	 * @describe 课程投诉审核
+	 */
+	void courseScheduleCommplaintAudit(Long id, Double teacherLiabilityRatio, Double studentLiabilityRatio, AuditStatusEnum status);
     
     /**
      * 更新课程至结束状态

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

@@ -5,13 +5,13 @@ import com.ym.mec.common.service.BaseService;
 
 public interface CourseScheduleStudentPaymentService extends BaseService<Long, CourseScheduleStudentPayment> {
 
-    /**
-     * @Author: Joburgess
-     * @Date: 2019/10/14
-     * @params [vipGroupId, userId]
-     * @return int
-     * @describe 生成学生vip课单节课时收费信息
-     */
-    int createCourseScheduleStudentPaymentForVipGroup(Long vipGroupId,Long userId);
+	/**
+	 * @Author: Joburgess
+	 * @Date: 2019/10/14
+	 * @params [vipGroupId, userId]
+	 * @return int
+	 * @describe 生成学生vip课单节课时收费信息
+	 */
+	int createCourseScheduleStudentPaymentForVipGroup(Long vipGroupId, Integer userId);
 
 }

+ 7 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/VipGroupService.java

@@ -142,13 +142,13 @@ public interface VipGroupService extends BaseService<Long, VipGroup> {
     void orderCallback(String callbackParams);
 
     /**
-     * @Author: Joburgess
-     * @Date: 2019/10/3
-     * @params [vipGroupId, studentId]
-     * @return void
-     * @describe 申请退课
-     */
-    void applyRefund(Long vipGroupId,Long studentId);
+	 * @Author: Joburgess
+	 * @Date: 2019/10/3
+	 * @params [vipGroupId, studentId]
+	 * @return void
+	 * @describe 申请退课
+	 */
+	void applyRefund(Long vipGroupId, Integer studentId);
 
     /**
      * @Author: Joburgess

+ 23 - 10
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -21,15 +21,19 @@ import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.format.datetime.DateFormatter;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
 import java.math.BigDecimal;
+import java.text.DateFormat;
 import java.time.Instant;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.ZoneId;
+import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -68,6 +72,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     private SubjectService subjectService;
     @Autowired
     private ClassGroupTeacherMapperDao classGroupTeacherMapperDao;
+    @Autowired
+    private CourseScheduleDao courseScheduleDao;
 
     @Override
     public BaseDAO<Integer, ClassGroup> getDAO() {
@@ -205,6 +211,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             highClassGroup.setCreateTime(date);
             highClassGroup.setUpdateTime(date);
             highClassGroup.setType(ClassGroupTypeEnum.HIGH);
+            highClassGroup.setTotalClassTimes(highClassGroup.getCourseTimes());
+            highClassGroup.setCurrentClassTimes(0);
             insert(highClassGroup);
 
             //2、插入班级关联老师
@@ -219,21 +227,21 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
             //3、插入班级排课信息
             List<CourseSchedule> courseScheduleList = new ArrayList<>();
-            int i = 0;
-            LocalDateTime now = LocalDateTime.ofInstant(highClassGroup.getStartDate().toInstant(), ZoneId.systemDefault());
+            int times = 0;
+            //LocalDateTime now = LocalDateTime.ofInstant(highClassGroup.getStartDate().toInstant(), ZoneId.systemDefault());
+            LocalDateTime now = LocalDate.parse(highClassGroup.getStartDate(), DateTimeFormatter.ofPattern("yyyy-MM-dd")).atStartOfDay();
+
             while (true) {
-                now = now.plusDays(i);
                 int dayOfWeek = now.getDayOfWeek().getValue();
-
                 if (highClassGroup.getDayOfWeek().equals(dayOfWeek)) {
                     CourseSchedule courseSchedule = new CourseSchedule();
                     Instant instant = now.atZone(ZoneId.systemDefault()).toInstant();
                     Date classDate = Date.from(instant);
-                    String startClassTime = DateUtil.getDate(classDate) + " " + highClassGroup.getStartClassTime();
-                    String endClassTime = DateUtil.getDate(classDate) + " " + highClassGroup.getEndClassTime();
+                    String startClassTime = DateUtil.getDate(classDate) + " " + highClassGroup.getStartClassTime()+":00";
+                    String endClassTime = DateUtil.getDate(classDate) + " " + highClassGroup.getEndClassTime()+":00";
 
                     courseSchedule.setSchoolId(schoolId);
-                    courseSchedule.setClassGroupId(highClassGroup.getUserId());
+                    courseSchedule.setClassGroupId(highClassGroup.getId());
                     courseSchedule.setStatus(CourseStatusEnum.NOT_START);
                     courseSchedule.setClassDate(classDate);
                     courseSchedule.setStartClassTime(DateUtil.stringToDate(startClassTime));
@@ -243,14 +251,19 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                     courseSchedule.setCreateTime(date);
                     courseSchedule.setUpdateTime(date);
                     courseSchedule.setTeachMode(TeachModeEnum.OFFLINE);
+                    courseSchedule.setType(CourseSchedule.CourseScheduleType.HIGH);
+                    Subject subject = subjectService.get(Integer.parseInt(highClassGroup.getSubjectIdList()));
+                    courseSchedule.setName(subject.getName()+"-"+CourseSchedule.CourseScheduleType.HIGH.getMsg());
+
                     courseScheduleList.add(courseSchedule);
-                    i++;
+                    times++;
                 }
-                if (highClassGroup.getCourseTimes().equals(i)) {
+                now = now.plusDays(1);
+                if (highClassGroup.getCourseTimes().equals(times)) {
                     break;
                 }
             }
-            courseScheduleService.batchAddCourseSchedule(courseScheduleList);
+            courseScheduleDao.batchAddCourseSchedules(courseScheduleList);
         }
         return highClassGroupList;
     }

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

@@ -23,6 +23,7 @@ import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
+
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang.time.DateUtils;
 import org.springframework.beans.BeanUtils;
@@ -510,14 +511,20 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 	}
 
 	@Override
-	public void courseScheduleCommplaintAudit(CourseScheduleComplaints courseScheduleComplaints) {
-		if(Objects.isNull(courseScheduleComplaints.getId())){
-			throw new BizException("请指定投诉记录!");
-		}
-		CourseScheduleComplaints newCourseScheduleComplaints=new CourseScheduleComplaints();
-		newCourseScheduleComplaints.setId(courseScheduleComplaints.getId());
-		newCourseScheduleComplaints.setStatus(courseScheduleComplaints.getStatus());
-		courseScheduleComplaintsDao.update(newCourseScheduleComplaints);
+	public void courseScheduleCommplaintAudit(Long id, Double teacherLiabilityRatio, Double studentLiabilityRatio, AuditStatusEnum status) {
+
+		if(status == AuditStatusEnum.ING){
+			throw new BizException("审批状态不正确");
+		}
+		
+		CourseScheduleComplaints courseScheduleComplaints = courseScheduleComplaintsDao.get(id);
+		if (Objects.isNull(courseScheduleComplaints)) {
+			throw new BizException("投诉记录不存在");
+		}
+		courseScheduleComplaints.setTeacherLiabilityRatio(teacherLiabilityRatio);
+		courseScheduleComplaints.setStudentLiabilityRatio(studentLiabilityRatio);
+		courseScheduleComplaints.setStatus(status);
+		courseScheduleComplaintsDao.update(courseScheduleComplaints);
 	}
 
 	@Override

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

@@ -40,7 +40,7 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 	}
 
 	@Override
-	public int createCourseScheduleStudentPaymentForVipGroup(Long vipGroupId, Long userId) {
+	public int createCourseScheduleStudentPaymentForVipGroup(Long vipGroupId, Integer userId) {
 		VipGroup vipGroupApplyBaseInfoDto=vipGroupDao.get(vipGroupId);
 
 		if(Objects.isNull(vipGroupApplyBaseInfoDto)){

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

@@ -536,7 +536,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 	public Map buyVipGroup(VipGroupBuyParamsDto vipGroupBuyParams) throws Exception {
 		SysUser user = sysUserFeignService.queryUserInfo();
 
-		StudentPaymentOrder byStudentVipGroup = studentPaymentOrderDao.findByStudentVipGroup(vipGroupBuyParams.getVipGroupId(), user.getId().longValue());
+		StudentPaymentOrder byStudentVipGroup = studentPaymentOrderDao.findByStudentVipGroup(vipGroupBuyParams.getVipGroupId(), user.getId());
 
 		if(Objects.nonNull(byStudentVipGroup)){
 			throw new BizException("订单已存在!");
@@ -595,7 +595,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		/*
 		根据回调信息调整订单状态及vip课程状态等相关信息
 		 */
-		Long vipGroupId=1L,userId=1L;
+		Long vipGroupId=1L;
+		Integer userId = 1;
 		boolean isOk=true;
 
 		//将学生加入到班级,更新班级报名状态及人数信息
@@ -629,11 +630,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 	@Transactional(rollbackFor = Exception.class)
 	@Override
-	public void applyRefund(Long vipGroupId,Long studentId) {
-		SysUser sysUser=sysUserFeignService.queryUserInfo();
-    	if(null==studentId){
-    		studentId=sysUser.getId().longValue();
-		}
+	public void applyRefund(Long vipGroupId,Integer studentId) {
+
 		StudentApplyRefunds studentApplyRefunds=new StudentApplyRefunds();
 		StudentPaymentOrder studentPaymentOrder = studentPaymentOrderDao.findByStudentVipGroup(vipGroupId,studentId);
 		if(null==studentPaymentOrder){
@@ -779,14 +777,14 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
     		vipGroupDao.update(vipGroup);
     		return;
 		}
-		List<Map<Long, BigDecimal>> maps = vipGroupDao.countSurplusCourseFee(vipGroupId);
+		List<Map<Integer, BigDecimal>> maps = vipGroupDao.countSurplusCourseFee(vipGroupId);
     	if(CollectionUtils.isEmpty(maps)||(maps.size()==1&&Objects.isNull(maps.get(0)))){
 			vipGroup.setStatus(VipGroupStatusEnum.CANCEL);
 			vipGroupDao.update(vipGroup);
 			return;
 		}
-		Map<Long, BigDecimal> studentSurplusClassFees = MapUtil.convertMybatisMap(maps);
-    	for(Long userId:studentSurplusClassFees.keySet()){
+		Map<Integer, BigDecimal> studentSurplusClassFees = MapUtil.convertMybatisMap(maps);
+    	for(Integer userId:studentSurplusClassFees.keySet()){
 			StudentPaymentOrder studentPaymentOrder = studentPaymentOrderDao.findByStudentVipGroup(vipGroupId,userId);
 			if(null==studentPaymentOrder){
 				throw new BizException("未找到相关订单信息!");

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

@@ -161,7 +161,7 @@
     <update id="batchUpdateWages" parameterType="map">
 		UPDATE course_schedule_teacher_salary set
 			subsidy_ = #{subsidy},
-			expect_salary_ = #{expectSalary},
+			expect_salary_ = #{salary},
 			teacher_role_ = #{teacherRole},
 			update_time_ = now()
 		WHERE user_id_ = #{userId} and class_group_id_ = #{classGroupId}

+ 3 - 3
mec-eureka/src/main/resources/application.yml

@@ -11,10 +11,10 @@ eureka:
     fetchRegistry: false
     serviceUrl:
       defaultZone: http://admin:admin123@localhost:8761/eureka/eureka/
-    ###因为自己是为注册中心,是否需要自己注册自己
+    ###是否向服务注册中心注册自己
     register-with-eureka: false
-    ###因为自己是为注册中心,是否需要检索服务
-    fetch-registry: false
+    ###是否需要检索服务
+    fetch-registry: true
     
 spring:
   application:

+ 1 - 1
mec-gateway/mec-gateway-web/src/main/resources/application.yml

@@ -71,7 +71,7 @@ hystrix:
       execution: 
         isolation: 
           thread: 
-            timeoutInMilliseconds: 6000
+            timeoutInMilliseconds: 60000
             
             
 #spring boot admin 相关配置

+ 15 - 4
mec-student/src/main/java/com/ym/mec/student/controller/StudentVipGroupController.java

@@ -1,5 +1,7 @@
 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;
@@ -7,9 +9,12 @@ import com.ym.mec.biz.dal.page.StudentVipGroupQueryInfo;
 import com.ym.mec.biz.service.SubjectService;
 import com.ym.mec.biz.service.VipGroupService;
 import com.ym.mec.common.controller.BaseController;
+
 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;
@@ -31,6 +36,8 @@ public class StudentVipGroupController extends BaseController {
     private VipGroupService vipGroupService;
     @Autowired
     private SubjectService subjectService;
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
 
     @ApiOperation(value = "获取vip课列表筛选条件")
     @GetMapping(value = "/findQueryCondition")
@@ -67,9 +74,13 @@ public class StudentVipGroupController extends BaseController {
 
     @ApiOperation(value = "vip课退课")
     @PostMapping("/applyRefund")
-    public Object applyRefund(Long vipGroupId){
-        vipGroupService.applyRefund(vipGroupId,null);
-        return succeed();
-    }
+	public Object applyRefund(Long vipGroupId) {
+		SysUser sysUser = sysUserFeignService.queryUserInfo();
+		if (null == sysUser) {
+			return failed(HttpStatus.FORBIDDEN, "请登录");
+		}
+		vipGroupService.applyRefund(vipGroupId, sysUser.getId());
+		return succeed();
+	}
 
 }

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupController.java

@@ -49,7 +49,7 @@ public class ClassGroupController extends BaseController {
 
     @ApiOperation(value = "新增提高班")
     @PostMapping("/addHighClass")
-    @PreAuthorize("@pcs.hasPermissions('classGroup/addHighClass')")
+    //@PreAuthorize("@pcs.hasPermissions('classGroup/addHighClass')")
     @ApiParam(value = "乐团提高班json", required = true)
     public Object addHighClass(@RequestBody List<HighClassGroupDto> highClassGroupDtoList) throws Exception {
         if (highClassGroupDtoList.size() <= 0) {

+ 5 - 5
mec-web/src/main/java/com/ym/mec/web/controller/CourseScheduleController.java

@@ -30,8 +30,8 @@ import com.ym.mec.biz.dal.dto.ClassDateAdjustDto;
 import com.ym.mec.biz.dal.dto.CreateCourseScheduleDto;
 import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
-import com.ym.mec.biz.dal.entity.CourseScheduleComplaints;
 import com.ym.mec.biz.dal.entity.MusicGroup;
+import com.ym.mec.biz.dal.enums.AuditStatusEnum;
 import com.ym.mec.biz.dal.page.StudentAttendanceQueryInfo;
 import com.ym.mec.biz.service.CourseScheduleService;
 import com.ym.mec.biz.service.MusicGroupService;
@@ -147,10 +147,10 @@ public class CourseScheduleController extends BaseController {
     @ApiOperation(value = "课程投诉审核")
     @GetMapping(value = "/courseScheduleCommplaintAudit")
     @PreAuthorize("@pcs.hasPermissions('courseSchedule/courseScheduleCommplaintAudit')")
-    public Object courseScheduleCommplaintAudit(CourseScheduleComplaints courseScheduleComplaints){
-        scheduleService.courseScheduleCommplaintAudit(courseScheduleComplaints);
-        return succeed();
-    }
+	public Object courseScheduleCommplaintAudit(Long id, Double teacherLiabilityRatio, Double studentLiabilityRatio, AuditStatusEnum status) {
+		scheduleService.courseScheduleCommplaintAudit(id, teacherLiabilityRatio, studentLiabilityRatio, status);
+		return succeed();
+	}
 
     @ApiOperation(value = "检测乐团下所有的班级是否都已排课")
     @PostMapping(value = "/checkMusicGroupClassCourse")

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/VipGroupManageController.java

@@ -86,7 +86,7 @@ public class VipGroupManageController extends BaseController {
     @ApiOperation(value = "退课申请")
     @PostMapping("/applyRefundForStudent")
     @PreAuthorize("@pcs.hasPermissions('vipGroupManage/applyRefundForStudent')")
-    public Object applyRefundForStudent(Long vipGroupId,Long studentId){
+    public Object applyRefundForStudent(Long vipGroupId,Integer studentId){
         vipGroupService.applyRefund(vipGroupId,studentId);
         return succeed();
     }

+ 8 - 8
mec-workflow/src/main/java/com/ym/mec/workfow/controller/flow/TaskController.java

@@ -46,7 +46,7 @@ public class TaskController extends BaseController {
 		SysUser user = SysUserFeignService.queryUserInfo();
 
 		List<String> list = new ArrayList<String>();
-		list.add(user.getUsername());
+		list.add(user.getId() + "");
 
 		String[] assignees = new String[list.size()];
 		list.toArray(assignees);
@@ -61,7 +61,7 @@ public class TaskController extends BaseController {
 		List<HistoryOrder> ccWorks = snakerEngine.query().getCCWorks(ccorderPage, new QueryFilter().setOperators(assignees).setState(1));
 
 		ModelMap model = new ModelMap();
-		
+
 		model.addAttribute("majorWorks", majorWorks);
 		model.addAttribute("majorTotal", majorPage.getTotalCount());
 		model.addAttribute("aidantWorks", aidantWorks);
@@ -80,7 +80,7 @@ public class TaskController extends BaseController {
 	public Object queryWaitList(Page<WorkItem> page) {
 		SysUser user = SysUserFeignService.queryUserInfo();
 
-		snakerEngine.query().getWorkItems(page, new QueryFilter().setOperator(user.getUsername()));
+		snakerEngine.query().getWorkItems(page, new QueryFilter().setOperator(user.getId() + ""));
 		return succeed(page);
 	}
 
@@ -128,7 +128,7 @@ public class TaskController extends BaseController {
 		SysUser user = SysUserFeignService.queryUserInfo();
 
 		List<String> list = new ArrayList<String>();
-		list.add(user.getUsername());
+		list.add(user.getId() + "");
 
 		String[] assignees = new String[list.size()];
 		list.toArray(assignees);
@@ -146,7 +146,7 @@ public class TaskController extends BaseController {
 		SysUser user = SysUserFeignService.queryUserInfo();
 
 		List<String> list = new ArrayList<String>();
-		list.add(user.getUsername());
+		list.add(user.getId() + "");
 
 		String[] assignees = new String[list.size()];
 		list.toArray(assignees);
@@ -165,7 +165,7 @@ public class TaskController extends BaseController {
 
 		SysUser user = SysUserFeignService.queryUserInfo();
 
-		snakerEngine.executeAndJumpTask(taskId, user.getUsername(), null, null);
+		snakerEngine.executeAndJumpTask(taskId, user.getId() + "", null, null);
 		return succeed();
 	}
 
@@ -177,7 +177,7 @@ public class TaskController extends BaseController {
 	@GetMapping(value = "history")
 	public Object historyTaskList(Page<WorkItem> page) {
 		SysUser user = SysUserFeignService.queryUserInfo();
-		snakerEngine.query().getHistoryWorkItems(page, new QueryFilter().setOperator(user.getUsername()));
+		snakerEngine.query().getHistoryWorkItems(page, new QueryFilter().setOperator(user.getId() + ""));
 		return succeed(page);
 	}
 
@@ -189,7 +189,7 @@ public class TaskController extends BaseController {
 	@PostMapping(value = "undo")
 	public Object historyTaskUndo(String orderId) {
 		SysUser user = SysUserFeignService.queryUserInfo();
-		snakerEngine.order().withdraw(orderId, user.getUsername());
+		snakerEngine.order().withdraw(orderId, user.getId() + "");
 		return succeed();
 	}
 }

+ 4 - 2
mec-workflow/src/main/java/com/ym/mec/workfow/controller/web/LeaveController.java

@@ -37,11 +37,12 @@ public class LeaveController extends BaseController {
 		Map<String, Object> params = new HashMap<String, Object>();
 		params.put("applyer", user.getId());
 		params.put("days", days);
-		params.put("deptManager", deptManager);
+		//params.put("deptManager", deptManager);
 		params.put("boss", boss);
+		params.put("operator", user.getUsername());
 
 		// 开启实例
-		Order order = snakerEngine.startInstanceById(processId, user.getUsername(), params);
+		Order order = snakerEngine.startInstanceById(processId, user.getId()+"", params);
 
 		// 获取当前任务
 		List<Task> tasks = snakerEngine.query().getActiveTasks(new QueryFilter().setOrderId(order.getId()).setOperator(user.getId() + ""));
@@ -62,6 +63,7 @@ public class LeaveController extends BaseController {
 
 		params.put("status", isAgree);
 		params.put("remark", remark);
+		params.put("operator", user.getUsername());
 
 		List<Task> tasks = null;
 

+ 25 - 0
mec-workflow/src/main/java/com/ym/mec/workfow/service/MecAccessStrategy.java

@@ -0,0 +1,25 @@
+package com.ym.mec.workfow.service;
+
+import java.util.List;
+
+import org.snaker.engine.impl.GeneralAccessStrategy;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.ym.mec.auth.api.client.SysUserFeignService;
+
+@Service
+public class MecAccessStrategy extends GeneralAccessStrategy {
+
+	@Autowired
+	private SysUserFeignService sysUserFeignService;
+
+	@Override
+	public List<String> ensureGroup(String operator) {
+
+		List<String> roleCodeList = sysUserFeignService.queryRoleCodeListByUserId(Integer.parseInt(operator));
+
+		return roleCodeList;
+	}
+
+}

+ 1 - 1
mec-workflow/src/main/resources/flows/leave.snaker

@@ -7,7 +7,7 @@
 <task assignee="applyer" displayName="请假申请" layout="117,122,-1,-1" name="apply" performType="ANY">
 <transition g="" name="transition2" offset="0,0" to="approveDept"/>
 </task>
-<task assignee="deptManager" displayName="部门经理审批" layout="272,122,-1,-1" name="approveDept" performType="ANY">
+<task assignee="ROLE_ADMIN" displayName="部门经理审批" layout="272,122,-1,-1" name="approveDept" performType="ANY">
 <transition g="" name="transition3" offset="0,0" to="decision1"/>
 </task>
 <decision displayName="decision1" layout="426,124,-1,-1" name="decision1">

+ 33 - 3
workflowy/src/main/java/org/snaker/engine/access/QueryFilter.java

@@ -15,9 +15,14 @@
 package org.snaker.engine.access;
 
 import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
 
 import org.apache.commons.lang.StringUtils;
+import org.snaker.engine.Completion;
+import org.snaker.engine.core.ServiceContext;
 import org.snaker.engine.helper.AssertHelper;
+import org.snaker.engine.impl.GeneralAccessStrategy;
 
 /**
  * 通用查询过滤器
@@ -31,7 +36,9 @@ public class QueryFilter implements Serializable {
 	private static final long serialVersionUID = -8155136377911571881L;
     public static final String ASC = "asc";
     public static final String DESC = "desc";
-
+    
+    private GeneralAccessStrategy taskAccessStrategy;
+    
     //排序字段
     private String orderBy;
     //排序类型ASC/DESC
@@ -155,8 +162,16 @@ public class QueryFilter implements Serializable {
 	}
 	public QueryFilter setOperator(String operator) {
 		AssertHelper.notEmpty(operator);
-		this.operators = new String[1];
-		this.operators[0] = operator;
+		
+		List<String> groups = getTaskAccessStrategy().ensureGroup(operator);
+		if(groups == null){
+			groups = new ArrayList<String>();
+		}
+		if(!groups.contains(operator)){
+			groups.add(operator);
+		}
+		
+		this.operators = groups.toArray(new String[groups.size()]);
 		return this;
 	}
 	public String[] getNames() {
@@ -291,4 +306,19 @@ public class QueryFilter implements Serializable {
     public boolean isOrderBySetted() {
         return (StringUtils.isNotBlank(orderBy) && StringUtils.isNotBlank(order));
     }
+	public GeneralAccessStrategy getTaskAccessStrategy() {
+		if(taskAccessStrategy != null) {
+            return taskAccessStrategy;
+        }
+
+		taskAccessStrategy = ServiceContext.find(GeneralAccessStrategy.class);
+        if(taskAccessStrategy == null) {
+            ServiceContext.put(Completion.class.getName(), GeneralAccessStrategy.class);
+            taskAccessStrategy = ServiceContext.find(GeneralAccessStrategy.class);
+        }
+		return taskAccessStrategy;
+	}
+	public void setTaskAccessStrategy(GeneralAccessStrategy taskAccessStrategy) {
+		this.taskAccessStrategy = taskAccessStrategy;
+	}
 }

+ 1 - 1
workflowy/src/main/java/org/snaker/engine/impl/GeneralAccessStrategy.java

@@ -32,7 +32,7 @@ public class GeneralAccessStrategy implements TaskAccessStrategy {
 	 * @param operator 操作人id
 	 * @return List<String> 确定的组集合[如操作人属于多个部门、拥有多个角色]
 	 */
-	protected List<String> ensureGroup(String operator) {
+	public List<String> ensureGroup(String operator) {
 		return null;
 	}
 	

+ 1 - 1
workflowy/src/test/java/test/task/group/CustomAccessStrategy.java

@@ -25,7 +25,7 @@ import org.snaker.engine.impl.GeneralAccessStrategy;
  */
 public class CustomAccessStrategy extends GeneralAccessStrategy {
 	@Override
-	protected List<String> ensureGroup(String operator) {
+	public List<String> ensureGroup(String operator) {
 		List<String> groups = new ArrayList<String>();
 		if(operator.equals("test")) {
 			groups.add("test");