Browse Source

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

# Conflicts:
#	mec-biz/src/main/resources/config/mybatis/MusicGroupStudentFeeMapper.xml
zouxuan 5 years ago
parent
commit
cf9968d97c
21 changed files with 265 additions and 268 deletions
  1. 5 0
      mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/client/SysUserFeignService.java
  2. 7 0
      mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/client/fallback/SysUserFeignServiceFallback.java
  3. 85 74
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/RoleController.java
  4. 17 8
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherAttendanceDto.java
  5. 24 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseHomeworkTemplate.java
  6. 45 2
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupStudentFee.java
  7. 2 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/SignStatusEnum.java
  8. 5 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseHomeworkTemplateServiceImpl.java
  9. 6 3
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  10. 3 3
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java
  11. 7 1
      mec-biz/src/main/resources/config/mybatis/CourseHomeworkTemplateMapper.xml
  12. 4 4
      mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  13. 8 4
      mec-biz/src/main/resources/config/mybatis/MusicGroupStudentFeeMapper.xml
  14. 32 0
      mec-education/src/main/java/com/ym/mec/education/controller/CourseHomeworkTemplateController.java
  15. 5 5
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TaskController.java
  16. 1 1
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherCourseScheduleController.java
  17. 3 3
      mec-thirdparty/src/main/java/com/ym/mec/thirdparty/eseal/provider/TsignPlugin.java
  18. 0 147
      mec-web/src/test/java/com/ym/webApplicationTest.java
  19. 5 5
      mec-workflow/src/main/java/com/ym/mec/workfow/controller/web/LeaveController.java
  20. 1 1
      workflowy/src/main/java/org/snaker/engine/core/TaskService.java
  21. 0 2
      workflowy/src/main/java/org/snaker/engine/impl/GeneralAccessStrategy.java

+ 5 - 0
mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/client/SysUserFeignService.java

@@ -1,5 +1,7 @@
 package com.ym.mec.auth.api.client;
 
+import java.util.List;
+
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -28,4 +30,7 @@ public interface SysUserFeignService {
 
 	@GetMapping(value = "queryUserInfo")
 	public SysUser queryUserInfo();
+
+	@GetMapping(value = "role/queryRoleCodeListByUserId")
+	public List<String> queryRoleCodeListByUserId(@RequestParam("userId") Integer userId);
 }

+ 7 - 0
mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/client/fallback/SysUserFeignServiceFallback.java

@@ -1,5 +1,7 @@
 package com.ym.mec.auth.api.client.fallback;
 
+import java.util.List;
+
 import org.springframework.stereotype.Component;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
@@ -33,4 +35,9 @@ public class SysUserFeignServiceFallback implements SysUserFeignService {
 		return false;
 	}
 
+	@Override
+	public List<String> queryRoleCodeListByUserId(Integer userId) {
+		return null;
+	}
+
 }

+ 85 - 74
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/RoleController.java

@@ -5,9 +5,12 @@ import com.ym.mec.auth.config.constant.SecurityConstants;
 import com.ym.mec.auth.service.SysMenuService;
 import com.ym.mec.auth.service.SysRoleMenuService;
 import com.ym.mec.auth.service.SysRoleService;
+import com.ym.mec.auth.service.SysUserRoleService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.page.QueryInfo;
+
 import io.swagger.annotations.*;
+
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
@@ -20,78 +23,86 @@ import java.util.Date;
 @Api(tags = "角色服务")
 public class RoleController extends BaseController {
 
-    @Autowired
-    private SysRoleService sysRoleService;
-    @Autowired
-    private SysRoleMenuService sysRoleMenuService;
-    @Autowired
-    private SysMenuService sysMenuService;
-
-    @ApiOperation("根据权限id查询角色")
-    @GetMapping(value = "/{id}")
-    public Object getRole(@ApiParam(value = "权限编号", required = true) @PathVariable("id") Integer id) {
-        return succeed(sysRoleService.getRole(id));
-    }
-
-    @ApiOperation("删除角色")
-    @PostMapping(value = "/del")
-    public Object delRole(Integer id) {
-        sysRoleService.delRole(id);
-        return succeed();
-    }
-
-    @ApiOperation("修改角色")
-    @PostMapping(value = "/update")
-    public Object updateRole(@RequestBody SysRole sysRole) {
-        sysRole.setUpdateTime(new Date());
-        sysRoleService.updateRole(sysRole);
-        return succeed();
-    }
-
-    @ApiOperation("新增角色")
-    @PostMapping(value = "/add")
-    public Object addRole(@RequestBody SysRole sysRole) {
-        sysRoleService.addRole(sysRole);
-        return succeed();
-    }
-
-    @ApiOperation("分页查询角色列表")
-    @GetMapping(value = "/queryPage")
-    public Object queryPage(QueryInfo queryInfo) {
-        return succeed(sysRoleService.queryPage(queryInfo));
-    }
-
-    @ApiOperation("角色新增菜单权限(批量)")
-    @ApiImplicitParams({ @ApiImplicitParam(name = "roleId", value = "角色编号", required = true, dataType = "Integer"),
-            @ApiImplicitParam(name = "menuIds", value = "菜单id,逗号分隔", required = true, dataType = "String") })
-    @PostMapping(value = "/addRoleMenu",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
-    public Object addRoleMenu(String roleId,String menuIds) {
-        if(StringUtils.isEmpty(roleId) || StringUtils.isEmpty(menuIds)){
-            return failed(SecurityConstants.PARAM_VERIFY_EXCEPTION);
-        }
-        sysRoleMenuService.batchInsert(Integer.parseInt(roleId),menuIds);
-        return succeed();
-    }
-
-    @ApiOperation("角色删除菜单权限(批量)")
-    @ApiImplicitParams({ @ApiImplicitParam(name = "roleId", value = "角色编号", required = true, dataType = "Integer"),
-            @ApiImplicitParam(name = "menuIds", value = "菜单id,逗号分隔", required = true, dataType = "String") })
-    @PostMapping(value = "/delRoleMenu",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
-    public Object delRoleMenu(String roleId,String menuIds) {
-        if(StringUtils.isEmpty(roleId) || StringUtils.isEmpty(menuIds)){
-            return failed(SecurityConstants.PARAM_VERIFY_EXCEPTION);
-        }
-        sysRoleMenuService.batchdel(Integer.parseInt(roleId),menuIds);
-        return succeed();
-    }
-
-    @ApiOperation("根据角色编号查询拥有的菜单列表")
-    @ApiImplicitParams({ @ApiImplicitParam(name = "roleId", value = "角色编号", required = true, dataType = "Integer")})
-    @GetMapping(value = "/getMenus")
-    public Object getMenus(Integer roleId) {
-        if(roleId == null){
-            return failed(SecurityConstants.PARAM_VERIFY_EXCEPTION);
-        }
-        return succeed(sysMenuService.getMenusByRoleId(roleId));
-    }
+	@Autowired
+	private SysRoleService sysRoleService;
+	@Autowired
+	private SysRoleMenuService sysRoleMenuService;
+	@Autowired
+	private SysMenuService sysMenuService;
+
+	@Autowired
+	private SysUserRoleService sysUserRoleService;
+
+	@GetMapping(value = "/queryRoleCodeListByUserId")
+	public Object queryRoleCodeListByUserId(Integer userId) {
+		return sysUserRoleService.queryRoleCodeListByUserId(userId);
+	}
+
+	@ApiOperation("根据权限id查询角色")
+	@GetMapping(value = "/{id}")
+	public Object getRole(@ApiParam(value = "权限编号", required = true) @PathVariable("id") Integer id) {
+		return succeed(sysRoleService.getRole(id));
+	}
+
+	@ApiOperation("删除角色")
+	@PostMapping(value = "/del")
+	public Object delRole(Integer id) {
+		sysRoleService.delRole(id);
+		return succeed();
+	}
+
+	@ApiOperation("修改角色")
+	@PostMapping(value = "/update")
+	public Object updateRole(@RequestBody SysRole sysRole) {
+		sysRole.setUpdateTime(new Date());
+		sysRoleService.updateRole(sysRole);
+		return succeed();
+	}
+
+	@ApiOperation("新增角色")
+	@PostMapping(value = "/add")
+	public Object addRole(@RequestBody SysRole sysRole) {
+		sysRoleService.addRole(sysRole);
+		return succeed();
+	}
+
+	@ApiOperation("分页查询角色列表")
+	@GetMapping(value = "/queryPage")
+	public Object queryPage(QueryInfo queryInfo) {
+		return succeed(sysRoleService.queryPage(queryInfo));
+	}
+
+	@ApiOperation("角色新增菜单权限(批量)")
+	@ApiImplicitParams({ @ApiImplicitParam(name = "roleId", value = "角色编号", required = true, dataType = "Integer"),
+			@ApiImplicitParam(name = "menuIds", value = "菜单id,逗号分隔", required = true, dataType = "String") })
+	@PostMapping(value = "/addRoleMenu", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
+	public Object addRoleMenu(String roleId, String menuIds) {
+		if (StringUtils.isEmpty(roleId) || StringUtils.isEmpty(menuIds)) {
+			return failed(SecurityConstants.PARAM_VERIFY_EXCEPTION);
+		}
+		sysRoleMenuService.batchInsert(Integer.parseInt(roleId), menuIds);
+		return succeed();
+	}
+
+	@ApiOperation("角色删除菜单权限(批量)")
+	@ApiImplicitParams({ @ApiImplicitParam(name = "roleId", value = "角色编号", required = true, dataType = "Integer"),
+			@ApiImplicitParam(name = "menuIds", value = "菜单id,逗号分隔", required = true, dataType = "String") })
+	@PostMapping(value = "/delRoleMenu", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
+	public Object delRoleMenu(String roleId, String menuIds) {
+		if (StringUtils.isEmpty(roleId) || StringUtils.isEmpty(menuIds)) {
+			return failed(SecurityConstants.PARAM_VERIFY_EXCEPTION);
+		}
+		sysRoleMenuService.batchdel(Integer.parseInt(roleId), menuIds);
+		return succeed();
+	}
+
+	@ApiOperation("根据角色编号查询拥有的菜单列表")
+	@ApiImplicitParams({ @ApiImplicitParam(name = "roleId", value = "角色编号", required = true, dataType = "Integer") })
+	@GetMapping(value = "/getMenus")
+	public Object getMenus(Integer roleId) {
+		if (roleId == null) {
+			return failed(SecurityConstants.PARAM_VERIFY_EXCEPTION);
+		}
+		return succeed(sysMenuService.getMenusByRoleId(roleId));
+	}
 }

+ 17 - 8
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherAttendanceDto.java

@@ -1,12 +1,10 @@
 package com.ym.mec.biz.dal.dto;
 
+import com.ym.mec.biz.dal.enums.CourseStatusEnum;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.util.Date;
 
-import com.ym.mec.biz.dal.enums.CourseStatusEnum;
-import com.ym.mec.biz.dal.enums.ParamEnum;
-
 /**
  * @Author Joburgess
  * @Date 2019/9/10
@@ -57,14 +55,25 @@ public class TeacherAttendanceDto {
     private Date currentTime;
 
     @ApiModelProperty(value = "教师正常签到提前时间(分钟)",required = false)
-    private ParamEnum teacherAttendanceTimeGap;
+    private Integer advanceSignInMinutes;
+
+    @ApiModelProperty(value = "老师可打卡范围,单位米")
+    private Integer attendanceRange;
+
+    public Integer getAttendanceRange() {
+        return attendanceRange;
+    }
+
+    public void setAttendanceRange(Integer attendanceRange) {
+        this.attendanceRange = attendanceRange;
+    }
 
-    public ParamEnum getTeacherAttendanceTimeGap() {
-        return teacherAttendanceTimeGap;
+    public Integer getAdvanceSignInMinutes() {
+        return advanceSignInMinutes;
     }
 
-    public void setTeacherAttendanceTimeGap(ParamEnum teacherAttendanceTimeGap) {
-        this.teacherAttendanceTimeGap = teacherAttendanceTimeGap;
+    public void setAdvanceSignInMinutes(Integer advanceSignInMinutes) {
+        this.advanceSignInMinutes = advanceSignInMinutes;
     }
 
     public Date getCurrentTime() {

+ 24 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseHomeworkTemplate.java

@@ -39,11 +39,33 @@ public class CourseHomeworkTemplate {
 	/** 班级类型(普通班级、合奏班级) */
 	@ApiModelProperty(value = "班级类型(普通班级、合奏班级、提高课班级、VIP班级)",required = true)
 	private ClassGroupTypeEnum classGroupType;
+
+	@ApiModelProperty(value = "班级类型")
+	private String classGroupTypeName;
 	
 	/**  */
 	@ApiModelProperty(value = "声部ID",required = true)
 	private Integer subjectId;
-	
+
+	@ApiModelProperty(value = "科目名称")
+	private String subjectName;
+
+	public String getClassGroupTypeName() {
+		return classGroupTypeName;
+	}
+
+	public void setClassGroupTypeName(String classGroupTypeName) {
+		this.classGroupTypeName = classGroupTypeName;
+	}
+
+	public String getSubjectName() {
+		return subjectName;
+	}
+
+	public void setSubjectName(String subjectName) {
+		this.subjectName = subjectName;
+	}
+
 	public void setId(Integer id){
 		this.id = id;
 	}
@@ -98,6 +120,7 @@ public class CourseHomeworkTemplate {
 
 	public void setClassGroupType(ClassGroupTypeEnum classGroupType) {
 		this.classGroupType = classGroupType;
+		this.classGroupTypeName=classGroupType.getMsg();
 	}
 
 	public void setSubjectId(Integer subjectId){

+ 45 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupStudentFee.java

@@ -1,16 +1,39 @@
 package com.ym.mec.biz.dal.entity;
 
 import io.swagger.annotations.ApiModelProperty;
-import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import java.math.BigDecimal;
 import java.util.Date;
 
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+import com.ym.mec.common.enums.BaseEnum;
+
 /**
  * 对应数据库表(music_group_student_fee_):
  */
 public class MusicGroupStudentFee {
 
+	public enum PaymentStatus implements BaseEnum<String, PaymentStatus> {
+
+		PAID_COMPLETED("完成缴费"), NON_PAYMENT("未缴费"), PROCESSING("缴费中");
+
+		private String desc;
+
+		PaymentStatus(String desc) {
+			this.desc = desc;
+		}
+
+		@Override
+		public String getCode() {
+			return name();
+		}
+
+		public String getDesc() {
+			return desc;
+		}
+	}
+
 	/**  */
 	private Long id;
 
@@ -21,7 +44,7 @@ public class MusicGroupStudentFee {
 	/**  */
 	@ApiModelProperty(value = "用户编号", required = false)
 	private Integer userId;
-	
+
 	@ApiModelProperty(value = "声部编号", required = false)
 	private Integer subjectId;
 
@@ -40,6 +63,10 @@ public class MusicGroupStudentFee {
 	@ApiModelProperty(value = "连续旷到次数", required = false)
 	private Integer continuousAbsenteeismTimes;
 
+	private PaymentStatus paymentStatus;
+
+	private BigDecimal temporaryCourseFee;
+
 	/**  */
 	private java.util.Date createTime;
 
@@ -137,6 +164,22 @@ public class MusicGroupStudentFee {
 		this.continuousAbsenteeismTimes = continuousAbsenteeismTimes;
 	}
 
+	public PaymentStatus getPaymentStatus() {
+		return paymentStatus;
+	}
+
+	public void setPaymentStatus(PaymentStatus paymentStatus) {
+		this.paymentStatus = paymentStatus;
+	}
+
+	public BigDecimal getTemporaryCourseFee() {
+		return temporaryCourseFee;
+	}
+
+	public void setTemporaryCourseFee(BigDecimal temporaryCourseFee) {
+		this.temporaryCourseFee = temporaryCourseFee;
+	}
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 2 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/SignStatusEnum.java

@@ -4,9 +4,8 @@ import com.ym.mec.common.enums.BaseEnum;
 
 //状态(1正常签到,0异常签到,2正常签退)
 public enum SignStatusEnum implements BaseEnum<Integer, SignStatusEnum> {
-    SIGN(1,"1正常签到"),
-    EXCEPTION(0,"异常签到"),
-    YES_QUIT(2,"正常签退");
+    SIGN_IN(0,"签到"),
+    SIGN_OUT(1,"签退");
 
     private Integer code;
     private String msg;

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

@@ -7,6 +7,7 @@ import com.ym.mec.biz.service.CourseHomeworkTemplateService;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.QueryInfo;
 
+import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -28,7 +29,10 @@ public class CourseHomeworkTemplateServiceImpl extends BaseServiceImpl<Integer,
 	public PageInfo<CourseHomeworkTemplate> queryPage(QueryInfo queryInfo) {
 		CourseHomeWorkTemplateQueryInfo templateQueryInfo= (CourseHomeWorkTemplateQueryInfo) queryInfo;
 		if(null!=templateQueryInfo.getCourseScheduleID()){
-			templateQueryInfo.setSubjectIDs(courseHomeworkTemplateDao.getSubjectIDs(templateQueryInfo.getCourseScheduleID()).split(","));
+			String subjectIDs = courseHomeworkTemplateDao.getSubjectIDs(templateQueryInfo.getCourseScheduleID());
+			if(!StringUtils.isEmpty(subjectIDs)) {
+				templateQueryInfo.setSubjectIDs(subjectIDs.split(","));
+			}
 		}
 		return super.queryPage(templateQueryInfo);
 	}

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

@@ -59,7 +59,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		}
 		TeacherAttendanceDto currentCourseDetail = courseScheduleDao.getCurrentCourseDetail(courseID);
 		currentCourseDetail.setCurrentTime(new Date());
-		currentCourseDetail.setTeacherAttendanceTimeGap(ParamEnum.TEACHER_ATTENDANCE_TIME_GAP);
+		SysConfig advance_sign_in_minutes = sysConfigDao.findByParamName("advance_sign_in_minutes");
+		currentCourseDetail.setAdvanceSignInMinutes(Integer.parseInt(advance_sign_in_minutes.getParanValue()));
+		SysConfig attendance_range = sysConfigDao.findByParamName("attendance_range");
+		currentCourseDetail.setAttendanceRange(Integer.parseInt(attendance_range.getParanValue()));
 		return currentCourseDetail;
 	}
 
@@ -208,7 +211,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				ArrayList<CourseSchedule> collect2 = currentCourses
 						.stream()
 						.collect(Collectors.collectingAndThen(Collectors.toCollection(()
-								-> new TreeSet<>(Comparator.comparing(o -> o.getStartClassTime() + "-" + o.getEndClassTime()))), ArrayList::new));
+								-> new TreeSet<CourseSchedule>(Comparator.comparing(o -> o.getStartClassTime() + "-" + o.getEndClassTime()))), ArrayList::new));
 				if(collect2.size()!=currentCourses.size()){
 					throw new BizException("课程安排上存在在同一时间开课的课程");
 				}
@@ -352,7 +355,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
 	@Override
 	public void courseSwapWithDay(Date day1, Date day2) {
-		
+
 	}
 
 	@Override

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

@@ -65,7 +65,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		TeacherAttendance teacherAttendance=teacherAttendanceDao.findByTeacherAttendanceInfo(user.getId().longValue(),teacherSignOutDto.getTeacherAttendanceInfo().getCourseScheduleId());
 
 		if(Objects.isNull(teacherAttendance)){
-			if(teacherSignOutDto.getTeacherAttendanceInfo().getStatus()==SignStatusEnum.YES_QUIT){
+			if(teacherSignOutDto.getTeacherAttendanceInfo().getStatus()==SignStatusEnum.SIGN_OUT){
 				throw new BizException("该课程还未签到,不能进行签退操作!");
 			}
 			teacherAttendance=teacherSignOutDto.getTeacherAttendanceInfo();
@@ -79,7 +79,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		teacherAttendance.setMusicGroupId(currentCourseDetail.getMusicGroupId());
 		teacherAttendance.setClassGroupId(currentCourseDetail.getClassId());
 		Date date = new Date();
-		if(teacherAttendance.getStatus()!= SignStatusEnum.YES_QUIT){
+		if(teacherAttendance.getStatus()!= SignStatusEnum.SIGN_OUT){
 			Long timeGap=(date.getTime()-currentCourseDetail.getStartClassTime().getTime())/1000/60;
 			if(timeGap<= ParamEnum.TEACHER_ATTENDANCE_TIME_GAP.getCode()){
 				teacherAttendance.setSignInStatus(YesOrNoEnum.YES);
@@ -100,7 +100,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 			teacherAttendanceDao.update(teacherAttendance);
 		}
 		courseScheduleDao.update(courseSchedule);
-		if(teacherAttendance.getStatus()==SignStatusEnum.YES_QUIT){
+		if(teacherAttendance.getStatus()==SignStatusEnum.SIGN_OUT){
 			//更新课次
 			ClassGroup classGroup=new ClassGroup();
 			classGroup.setId(currentCourseDetail.getClassId().intValue());

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

@@ -16,6 +16,7 @@
         <result column="class_group_type_" property="classGroupType"
                 typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="subject_id_" property="subjectId"/>
+        <result column="subject_name_" property="subjectName"/>
     </resultMap>
 
     <!-- 根据主键查询一条记录 -->
@@ -85,7 +86,12 @@
 
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="CourseHomeworkTemplate" parameterType="map">
-        SELECT * FROM course_homework_template
+        SELECT
+        cht.*,
+        s.name_ subject_name_
+        FROM
+        course_homework_template cht
+        LEFT JOIN `subject` s ON cht.subject_id_=s.id_
         <include refid="queryCondition"/>
         ORDER BY id_
         <include refid="global.limit"/>

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

@@ -237,7 +237,7 @@
             CONCAT(cs.class_date_,' ',cs.end_class_time_) end_class_time_,
             cs.status_,
 	        su.username_ teacher_name_,
-	        ta.status_ attendance_status_
+	        ta.sign_in_status_ attendance_status_
         FROM
             music_group mg
             LEFT JOIN class_group cg ON mg.id_ = cg.music_group_id_
@@ -247,7 +247,7 @@
         WHERE
             mg.organ_id_ = #{organId}
             AND cs.id_ IS NOT NULL
-            AND cs.class_date_ = DATE_FORMAT(#{classDate},'%Y%m%d')
+            AND cs.class_date_ = DATE_FORMAT(#{date},'%Y-%m-%d')
         <include refid="global.limit"/>
     </select>
 
@@ -261,7 +261,7 @@
         WHERE
         mg.organ_id_ = #{organId}
         AND cs.id_ IS NOT NULL
-        AND cs.class_date_ = DATE_FORMAT(#{classDate},'%Y%m%d')
+        AND cs.class_date_ = DATE_FORMAT(#{date},'%Y-%m-%d')
     </select>
 
     <select id="getStudentCourseSchedulesWithDate" resultMap="courseScheduleDto">
@@ -455,7 +455,7 @@
             LEFT JOIN class_group cg ON mg.id_ = cg.music_group_id_
             LEFT JOIN course_schedule cs ON cg.id_ = cs.class_group_id_
         WHERE
-            mg.organ_id_ = 1 AND cs.id_ IS NOT NULL
+            mg.organ_id_ = #{organId} AND cs.id_ IS NOT NULL
             <if test="month==null">
                 AND DATE_FORMAT( NOW(), '%Y%m' ) = DATE_FORMAT( cs.class_date_, '%Y%m' )
             </if>

+ 8 - 4
mec-biz/src/main/resources/config/mybatis/MusicGroupStudentFeeMapper.xml

@@ -17,7 +17,8 @@
         <result column="continuous_absenteeism_times_" property="continuousAbsenteeismTimes"/>
         <result column="create_time_" property="createTime"/>
         <result column="update_time_" property="updateTime"/>
-        <result column="payment_status_" property="paymentStatus"/>
+        <result column="payment_status_" property="renewalStatus" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="temporary_course_fee_" property="temporaryCourseFee"/>
     </resultMap>
 
     <!-- 根据主键查询一条记录 -->
@@ -33,8 +34,8 @@
     <!-- 向数据库增加一条记录 -->
     <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.MusicGroupStudentFee" useGeneratedKeys="true"
             keyColumn="id" keyProperty="id">
-		INSERT INTO music_group_student_fee_ (id_,music_group_id_,user_id_,course_fee_,create_time_,update_time_,next_payment_date_,latest_paid_time_,continuous_absenteeism_times_,subject_id_)
-		VALUES(#{id},#{musicGroupId},#{userId},#{courseFee},now(),now(),#{nextPaymentDate},#{latestPaidTime},#{continuousAbsenteeismTimes},#{subjectId})
+		INSERT INTO music_group_student_fee_ (id_,music_group_id_,user_id_,course_fee_,create_time_,update_time_,next_payment_date_,latest_paid_time_,continuous_absenteeism_times_,subject_id_,payment_status_,temporary_course_fee_)
+		VALUES(#{id},#{musicGroupId},#{userId},#{courseFee},now(),now(),#{nextPaymentDate},#{latestPaidTime},#{continuousAbsenteeismTimes},#{subjectId},#{paymentStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{temporaryCourseFee})
 	</insert>
 
     <!-- 根据主键查询一条记录 -->
@@ -66,7 +67,10 @@
                 continuous_absenteeism_times_ = #{continuousAbsenteeismTimes},
             </if>
             <if test="paymentStatus != null">
-                payment_status_ = #{paymentStatus},
+                payment_status_ = #{paymentStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+            </if>
+            <if test="temporaryCourseFee != null">
+                temporary_course_fee_ = #{temporaryCourseFee},
             </if>
         </set>
         WHERE id_ = #{id}

+ 32 - 0
mec-education/src/main/java/com/ym/mec/education/controller/CourseHomeworkTemplateController.java

@@ -0,0 +1,32 @@
+package com.ym.mec.education.controller;
+
+import com.ym.mec.biz.dal.page.CourseHomeWorkTemplateQueryInfo;
+import com.ym.mec.biz.service.CourseHomeworkTemplateService;
+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.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @Author Joburgess
+ * @Date 2019/9/18
+ */
+@RequestMapping("courseHomeworkTemplate")
+@Api(tags = "作业模板")
+@RestController
+public class CourseHomeworkTemplateController extends BaseController {
+
+    @Autowired
+    private CourseHomeworkTemplateService courseHomeworkTemplateService;
+
+    @ApiOperation(value = "分页查询作业模板列表")
+    @PostMapping("/queryPage")
+    public Object queryPage(@RequestBody CourseHomeWorkTemplateQueryInfo queryInfo){
+        return succeed(courseHomeworkTemplateService.queryPage(queryInfo));
+    }
+
+}

+ 5 - 5
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TaskController.java

@@ -48,7 +48,7 @@ public class TaskController extends BaseController {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
 		}
 
-		snakerEngine.query().getHistoryOrders(page, new QueryFilter().setOperator(user.getId()+""));
+		snakerEngine.query().getHistoryOrders(page, new QueryFilter().setOperator(user.getId() + ""));
 		return succeed(page);
 	}
 
@@ -65,7 +65,7 @@ public class TaskController extends BaseController {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
 		}
 
-		snakerEngine.query().getWorkItems(page, new QueryFilter().setOperator(user.getUsername()));
+		snakerEngine.query().getWorkItems(page, new QueryFilter().setOperator(user.getId() + ""));
 		return succeed(page);
 	}
 
@@ -82,7 +82,7 @@ public class TaskController extends BaseController {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
 		}
 
-		snakerEngine.query().getHistoryWorkItems(page, new QueryFilter().setOperator(user.getId()+""));
+		snakerEngine.query().getHistoryWorkItems(page, new QueryFilter().setOperator(user.getId() + ""));
 		return succeed(page);
 	}
 
@@ -99,7 +99,7 @@ public class TaskController extends BaseController {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
 		}
 
-		snakerEngine.query().getCCWorks(page, new QueryFilter().setOperator(user.getId()+"").setState(AccessService.STATE_FINISH));
+		snakerEngine.query().getCCWorks(page, new QueryFilter().setOperator(user.getId() + "").setState(AccessService.STATE_FINISH));
 		return succeed(page);
 	}
 
@@ -116,7 +116,7 @@ public class TaskController extends BaseController {
 			return failed(HttpStatus.FORBIDDEN, "请登录");
 		}
 
-		snakerEngine.query().getCCWorks(page, new QueryFilter().setOperator(user.getUsername()).setState(AccessService.STATE_ACTIVE));
+		snakerEngine.query().getCCWorks(page, new QueryFilter().setOperator(user.getId() + "").setState(AccessService.STATE_ACTIVE));
 		return succeed(page);
 	}
 

+ 1 - 1
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherCourseScheduleController.java

@@ -53,7 +53,7 @@ public class TeacherCourseScheduleController extends BaseController {
         return succeed(result);
     }
 
-    @ApiOperation(value = "根据课程ID查询正在或即将开始的课程")
+    @ApiOperation(value = "根据课程ID查询打卡界面课程详情")
     @GetMapping("/getCurrentCourseDetail")
     public Object getCurrentCourseDetail(Long courseID){
         if(Objects.isNull(courseID)){

+ 3 - 3
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/eseal/provider/TsignPlugin.java

@@ -56,15 +56,15 @@ public class TsignPlugin implements ESealPlugin, InitializingBean, DisposableBea
 		projectconfig.setItsmApiUrl(apisUrl);
 		Result result = ServiceClientManager.registClient(projectconfig, null, null);
 		if (result.getErrCode() != 0) {
-			throw new ThirdpartyException("e签宝客户端注册失败");
+			//throw new ThirdpartyException("e签宝客户端注册失败");
 		}
 
 		serviceClient = ServiceClientManager.get(projectId);
 		if (serviceClient == null) {
-			throw new ThirdpartyException(MessageFormat.format("ServiceClient为null,获取客户端接口调用失败 ", projectId));
+			//throw new ThirdpartyException(MessageFormat.format("ServiceClient为null,获取客户端接口调用失败 ", projectId));
 		}
 		if (serviceClient == null) {
-			throw new ThirdpartyException("获取e签宝客户端失败");
+			//throw new ThirdpartyException("获取e签宝客户端失败");
 		}
 	}
 

+ 0 - 147
mec-web/src/test/java/com/ym/webApplicationTest.java

@@ -1,147 +0,0 @@
-package com.ym;
-
-import com.ym.mec.biz.dal.dao.*;
-import com.ym.mec.biz.dal.dto.CourseScheduleDto;
-import com.ym.mec.biz.dal.dto.StudentVipGroupDetailDto;
-import com.ym.mec.biz.dal.entity.CourseSchedule;
-import com.ym.mec.biz.dal.entity.StudentAttendance;
-import com.ym.mec.biz.dal.enums.StudentAttendanceStatusEnum;
-import com.ym.mec.biz.service.CourseScheduleService;
-import com.ym.mec.common.security.SecurityUtils;
-import com.ym.mec.web.WebApplication;
-import junit.framework.TestCase;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.http.*;
-import org.springframework.test.context.junit4.SpringRunner;
-import org.springframework.util.MultiValueMap;
-import org.springframework.web.client.RestTemplate;
-
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.*;
-import java.util.stream.Collectors;
-
-/**
- * Unit test for simple App.
- */
-
-@RunWith(SpringRunner.class)
-@SpringBootTest(classes = WebApplication.class)
-public class webApplicationTest
-    extends TestCase{
-
-    @Autowired
-    private RestTemplate restTemplate;
-
-    @Autowired
-    private CourseScheduleService css;
-
-    @Autowired
-    private StudentAttendanceDao sad;
-
-    @Autowired
-    private ClassGroupDao cgd;
-
-    @Autowired
-    private CourseScheduleDao csd;
-
-    @Autowired
-    private VipGroupDao vipGroupDao;
-    @Autowired
-    private MusicGroupStudentFeeDao studentFeeDao;
-
-    @Test
-    public void test(){
-
-        String url = "http://auth-server/queryUserInfo";
-
-        HttpHeaders headers = new HttpHeaders();
-        headers.add("Authorization", "bearer " + SecurityUtils.getAuthentication());
-        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
-
-        HttpEntity<MultiValueMap<String, String>> entity = new HttpEntity<MultiValueMap<String, String>>(null, headers);
-        ResponseEntity<String> resp = restTemplate.exchange(url, HttpMethod.POST, entity, String.class);
-
-        System.out.println("---------"+resp);
-    }
-
-    @Test
-    public void test1(){
-        List<StudentAttendance> sas=new ArrayList<>();
-        StudentAttendance sa=new StudentAttendance();
-        sa.setClassGroupId(1);
-        sa.setCourseScheduleId(1L);
-        sa.setMusicGroupId("1");
-        sa.setRemark("test");
-        sa.setStatus(StudentAttendanceStatusEnum.LEAVE);
-        sa.setTeacherId(1);
-        sa.setUserId(1);
-        sas.add(sa);
-        sad.addStudentAttendances(sas);
-    }
-
-    @Test
-    public void test2() throws ParseException {
-        System.out.println(new StringBuilder("2019-09-11 15:10:01").toString());
-        System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:dd").parse("2019-09-11 15:10:01"));
-        System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(new StringBuilder("2019-09-11 15:10:01").toString()));
-    }
-
-    @Test
-    public void test3() throws ParseException {
-        List<CourseSchedule> courseSchedules=new ArrayList<>();
-        CourseSchedule cs1=new CourseSchedule();
-        cs1.setClassDate(new SimpleDateFormat("yyyy-MM-dd").parse("2019-09-17"));
-        cs1.setStartClassTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2019-09-17 15:00:00"));
-        cs1.setClassGroupId(1);
-        courseSchedules.add(cs1);
-        CourseSchedule cs2=new CourseSchedule();
-        cs2.setClassDate(new SimpleDateFormat("yyyy-MM-dd").parse("2019-09-17"));
-        cs2.setStartClassTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2019-09-17 15:00:00"));
-        cs2.setClassGroupId(1);
-        courseSchedules.add(cs2);
-        CourseSchedule cs3=new CourseSchedule();
-        cs3.setClassDate(new SimpleDateFormat("yyyy-MM-dd").parse("2019-09-17"));
-        cs3.setStartClassTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2019-09-17 16:00:00"));
-        cs3.setClassGroupId(1);
-        courseSchedules.add(cs3);
-        Map<Date, List<CourseSchedule>> collect = courseSchedules.stream().collect(
-                Collectors.groupingBy(CourseSchedule::getClassDate));
-        for(Date keyDate:collect.keySet()){
-            List<CourseSchedule> currentCourses=collect.get(keyDate);
-            Map<Date, List<CourseSchedule>> collect1 = currentCourses.stream().collect(Collectors.groupingBy(CourseSchedule::getStartClassTime));
-            System.out.println(collect1.size());
-        }
-    }
-
-    @Test
-    public void test4(){
-        List<Integer> temp=new ArrayList<>();
-        temp.add(1);
-        temp.add(2);
-        Integer[] integers = csd.countStudentInClass(temp);
-        System.out.println(integers.length);
-    }
-
-    @Test
-    public void test5() throws ParseException {
-        List<CourseScheduleDto> courseSchedules = csd.getCourseSchedulesWithDate(new SimpleDateFormat("yyyyMMdd").parse("20190912"));
-        System.out.println(courseSchedules.size());
-    }
-
-    @Test
-    public void test6(){
-        StudentVipGroupDetailDto vipGroupDetail = vipGroupDao.getVipGroupDetail(1L);
-        System.out.println(vipGroupDetail.getAvatar());
-    }
-
-    @Test
-    public void test7(){
-        int i = studentFeeDao.updateStudentAbsenteeismTimes(1, "1", 0);
-        System.out.println(i);
-    }
-
-}

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

@@ -35,7 +35,7 @@ public class LeaveController extends BaseController {
 		SysUser user = SysUserFeignService.queryUserInfo();
 
 		Map<String, Object> params = new HashMap<String, Object>();
-		params.put("applyer", user.getUsername());
+		params.put("applyer", user.getId());
 		params.put("days", days);
 		params.put("deptManager", deptManager);
 		params.put("boss", boss);
@@ -44,9 +44,9 @@ public class LeaveController extends BaseController {
 		Order order = snakerEngine.startInstanceById(processId, user.getUsername(), params);
 
 		// 获取当前任务
-		List<Task> tasks = snakerEngine.query().getActiveTasks(new QueryFilter().setOrderId(order.getId()).setOperator(user.getUsername()));
+		List<Task> tasks = snakerEngine.query().getActiveTasks(new QueryFilter().setOrderId(order.getId()).setOperator(user.getId() + ""));
 		for (Task task : tasks) {
-			snakerEngine.executeTask(task.getId(), user.getUsername());
+			snakerEngine.executeTask(task.getId(), user.getId() + "");
 		}
 
 		return succeed();
@@ -67,10 +67,10 @@ public class LeaveController extends BaseController {
 
 		// 审批同意
 		if (isAgree) {
-			tasks = snakerEngine.executeTask(taskId, user.getUsername(), params);
+			tasks = snakerEngine.executeTask(taskId, user.getId() + "", params);
 		} else {
 			// 审批驳回
-			tasks = snakerEngine.executeAndJumpTask(taskId, user.getUsername(), params, null);
+			tasks = snakerEngine.executeAndJumpTask(taskId, user.getId() + "", params, null);
 		}
 		if (tasks.size() == 0) {
 			System.out.println("**********流程已结束*********");

+ 1 - 1
workflowy/src/main/java/org/snaker/engine/core/TaskService.java

@@ -543,7 +543,7 @@ public class TaskService extends AccessService implements ITaskService {
 		strategy = ServiceContext.find(TaskAccessStrategy.class);
 		if(strategy == null) {
 			ServiceContext.put(TaskAccessStrategy.class.getName(), GeneralAccessStrategy.class);
-            strategy = ServiceContext.find(TaskAccessStrategy.class);
+            strategy = ServiceContext.find(GeneralAccessStrategy.class);
 		}
 		return strategy;
 	}

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

@@ -19,7 +19,6 @@ import java.util.List;
 
 import org.snaker.engine.TaskAccessStrategy;
 import org.snaker.engine.entity.TaskActor;
-import org.springframework.stereotype.Component;
 
 /**
  * 基于用户或组(角色、部门等)的访问策略类
@@ -27,7 +26,6 @@ import org.springframework.stereotype.Component;
  * @author yuqs
  * @since 1.4
  */
-@Component
 public class GeneralAccessStrategy implements TaskAccessStrategy {
 	/**
 	 * 根据操作人id确定所有的组集合