浏览代码

Merge remote-tracking branch 'origin/master'

周箭河 5 年之前
父节点
当前提交
535518fe2c
共有 45 个文件被更改,包括 911 次插入255 次删除
  1. 0 1
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/UserController.java
  2. 3 8
      mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysRoleMapper.xml
  3. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleTeacherSalaryDao.java
  4. 12 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseScheduleDto.java
  5. 45 8
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupCourseScheduleDto.java
  6. 13 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseScheduleTeacherSalary.java
  7. 48 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentWithdraw.java
  8. 9 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysUserCashAccount.java
  9. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentManageQueryInfo.java
  10. 10 14
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/TeacherQueryInfo.java
  11. 3 1
      mec-biz/src/main/java/com/ym/mec/biz/service/ContractService.java
  12. 26 9
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
  13. 9 7
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ContractServiceImpl.java
  14. 13 3
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeServiceImpl.java
  15. 5 5
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentManageServiceImpl.java
  16. 17 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java
  17. 0 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentWithdrawServiceImpl.java
  18. 5 13
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java
  19. 11 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java
  20. 6 3
      mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml
  21. 5 5
      mec-biz/src/main/resources/config/mybatis/CooperationOrganMapper.xml
  22. 8 5
      mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  23. 17 2
      mec-biz/src/main/resources/config/mybatis/CourseScheduleTeacherSalaryMapper.xml
  24. 13 10
      mec-biz/src/main/resources/config/mybatis/EmployeeMapper.xml
  25. 6 0
      mec-biz/src/main/resources/config/mybatis/StudentManageDao.xml
  26. 10 3
      mec-biz/src/main/resources/config/mybatis/StudentWithdrawMapper.xml
  27. 2 7
      mec-biz/src/main/resources/config/mybatis/SysUserCashAccountMapper.xml
  28. 156 0
      mec-student/src/main/java/com/ym/mec/student/controller/StudentManageController.java
  29. 1 1
      mec-teacher/pom.xml
  30. 0 6
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/DemoGroupController.java
  31. 1 7
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherAttendanceController.java
  32. 0 41
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherController.java
  33. 139 0
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherManageController.java
  34. 1 0
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherVipGroupController.java
  35. 56 0
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/VipGroupActivityController.java
  36. 84 0
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/VipGroupCategoryController.java
  37. 1 11
      mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupController.java
  38. 32 0
      mec-web/src/main/java/com/ym/mec/web/controller/DemoGroupController.java
  39. 8 17
      mec-web/src/main/java/com/ym/mec/web/controller/EmployeeController.java
  40. 7 0
      mec-web/src/main/java/com/ym/mec/web/controller/SubjectController.java
  41. 0 45
      mec-web/src/main/java/com/ym/mec/web/controller/SysUserBankCardController.java
  42. 28 0
      mec-web/src/main/java/com/ym/mec/web/controller/TeacherAttendanceController.java
  43. 70 5
      mec-web/src/main/java/com/ym/mec/web/controller/TeacherController.java
  44. 1 0
      mec-web/src/main/java/com/ym/mec/web/controller/UploadFileController.java
  45. 8 12
      mec-web/src/main/java/com/ym/mec/web/controller/student/SuggestionController.java

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

@@ -111,7 +111,6 @@ public class UserController extends BaseController {
 	}
 
 	@ApiOperation(value = "修改密码")
-    @PreAuthorize("@pcs.hasPermissions('user/updatePassword')")
 	@PostMapping(value = "/updatePassword", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
 	@ApiImplicitParams({ @ApiImplicitParam(name = "mobile", value = "手机号", required = true, dataType = "String"),
 			@ApiImplicitParam(name = "authCode", value = "验证码", required = true, dataType = "String"),

+ 3 - 8
mec-auth/mec-auth-server/src/main/resources/config/mybatis/SysRoleMapper.xml

@@ -24,17 +24,12 @@
 
     <!-- 全查询 -->
     <select id="findAll" resultMap="SysRole">
-		SELECT * FROM sys_role ORDER BY id_
+		SELECT * FROM sys_role WHERE del_flag_ = 0 ORDER BY upate_time_ DESC
 	</select>
 
     <!-- 向数据库增加一条记录 -->
     <insert id="insert" parameterType="com.ym.mec.auth.api.entity.SysRole" useGeneratedKeys="true" keyColumn="id"
             keyProperty="id">
-        <!--
-        <selectKey resultClass="int" keyProperty="id" >
-        SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL
-        </selectKey>
-        -->
         INSERT INTO sys_role (id_,role_name_,role_code_,role_desc_,create_time_,update_time_,organ_id_)
         VALUES(#{id},#{roleName},#{roleCode},#{roleDesc},now(),now(),#{organId})
     </insert>
@@ -72,13 +67,13 @@
 
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="SysRole" parameterType="map">
-        SELECT * FROM sys_role ORDER BY id_
+        SELECT * FROM sys_role WHERE del_flag_ = 0 ORDER BY update_time_ DESC
         <include refid="global.limit"/>
     </select>
 
     <!-- 查询当前表的总记录数 -->
     <select id="queryCount" resultType="int">
-		SELECT COUNT(*) FROM sys_role
+		SELECT COUNT(*) FROM sys_role WHERE del_flag_ = 0
 	</select>
 
     <select id="findRoleByUserId" resultMap="SysRole">

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleTeacherSalaryDao.java

@@ -68,4 +68,15 @@ public interface CourseScheduleTeacherSalaryDao extends BaseDAO<Long, CourseSche
 	 */
 	int batchUpdateTeacherExpectSalary(@Param("courseScheduleId") Integer courseScheduleId,
 									   @Param("userIds") List<Integer> userIds);
+
+	/**
+	 * @describe 根据班级编号和教师类型获取老师列表
+	 * @author Joburgess
+	 * @date 2019/10/23
+	 * @param courseScheduleIds:
+	 * @param teacherRole:
+	 * @return java.util.List<com.ym.mec.biz.dal.dto.BasicUserDto>
+	 */
+	List<CourseScheduleTeacherSalary> findByCourseScheduleIdsAndTeacherRole(@Param("courseScheduleIds") List<Integer> courseScheduleIds,
+															 @Param("teacherRole") String teacherRole);
 }

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/CourseScheduleDto.java

@@ -2,6 +2,7 @@ package com.ym.mec.biz.dal.dto;
 
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.enums.StudentAttendanceStatusEnum;
+import com.ym.mec.biz.dal.enums.TeachTypeEnum;
 import io.swagger.annotations.ApiModelProperty;
 
 /**
@@ -35,6 +36,17 @@ public class CourseScheduleDto extends CourseSchedule {
     @ApiModelProperty(value = "签退状态(1已签到,0未签到)",required = false)
     private Integer signOutStatus;
 
+    @ApiModelProperty(value = "教师角色")
+    private TeachTypeEnum teacherRole;
+
+    public TeachTypeEnum getTeacherRole() {
+        return teacherRole;
+    }
+
+    public void setTeacherRole(TeachTypeEnum teacherRole) {
+        this.teacherRole = teacherRole;
+    }
+
     public String getStudentNames() {
         return studentNames;
     }

+ 45 - 8
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupCourseScheduleDto.java

@@ -1,9 +1,15 @@
 package com.ym.mec.biz.dal.dto;
 
+import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
 import io.swagger.annotations.ApiModelProperty;
 
+import java.util.List;
+
 public class MusicGroupCourseScheduleDto {
 
+    @ApiModelProperty(value = "课程编号")
+    private Integer courseScheduleId;
+
     @ApiModelProperty(value = "上课日期",required = false)
     private String classDate;
 
@@ -34,11 +40,49 @@ public class MusicGroupCourseScheduleDto {
     @ApiModelProperty(value = "签退状态",required = false)
     private String signOutStatus;
 
+    @ApiModelProperty(value = "主教老师编号")
+    private Integer masterTeacherId;
+
     @ApiModelProperty(value = "主教老师",required = false)
     private String masterTeacherName;
 
     @ApiModelProperty(value = "助教老师",required = false)
-    private String subTeacherName;
+    private List<CourseScheduleTeacherSalary> teachingTeachers;
+
+    @ApiModelProperty(value = "老师人数",required = false)
+    private Integer teacherNum;
+
+    public Integer getTeacherNum() {
+        return teacherNum;
+    }
+
+    public void setTeacherNum(Integer teacherNum) {
+        this.teacherNum = teacherNum;
+    }
+
+    public List<CourseScheduleTeacherSalary> getTeachingTeachers() {
+        return teachingTeachers;
+    }
+
+    public void setTeachingTeachers(List<CourseScheduleTeacherSalary> teachingTeachers) {
+        this.teachingTeachers = teachingTeachers;
+    }
+
+    public Integer getCourseScheduleId() {
+        return courseScheduleId;
+    }
+
+    public void setCourseScheduleId(Integer courseScheduleId) {
+        this.courseScheduleId = courseScheduleId;
+    }
+
+    public Integer getMasterTeacherId() {
+        return masterTeacherId;
+    }
+
+    public void setMasterTeacherId(Integer masterTeacherId) {
+        this.masterTeacherId = masterTeacherId;
+    }
 
     public String getMixClassGroupName() {
         return mixClassGroupName;
@@ -128,11 +172,4 @@ public class MusicGroupCourseScheduleDto {
         this.masterTeacherName = masterTeacherName;
     }
 
-    public String getSubTeacherName() {
-        return subTeacherName;
-    }
-
-    public void setSubTeacherName(String subTeacherName) {
-        this.subTeacherName = subTeacherName;
-    }
 }

+ 13 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseScheduleTeacherSalary.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.dal.entity;
 
 import com.ym.mec.biz.dal.enums.TeachTypeEnum;
+import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 /**
@@ -19,6 +20,9 @@ public class CourseScheduleTeacherSalary {
 	
 	/**  */
 	private Integer userId;
+
+	@ApiModelProperty(value = "用户名称")
+	private String userName;
 	
 	/** 预计薪水 */
 	private java.math.BigDecimal expectSalary;
@@ -39,7 +43,15 @@ public class CourseScheduleTeacherSalary {
 	private java.util.Date settlementTime;
 	
 	private Integer classGroupId;
-	
+
+	public String getUserName() {
+		return userName;
+	}
+
+	public void setUserName(String userName) {
+		this.userName = userName;
+	}
+
 	public void setId(Long id){
 		this.id = id;
 	}

+ 48 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentWithdraw.java

@@ -22,6 +22,10 @@ public class StudentWithdraw {
 	/** 用户编号 */
 	@ApiModelProperty(value = "用户编号",required = false)
 	private Integer userId;
+
+	/** 用户编号 */
+	@ApiModelProperty(value = "用户名",required = false)
+	private String realName;
 	
 	/** 银行卡号 */
 	@ApiModelProperty(value = "银行卡号",required = false)
@@ -38,6 +42,10 @@ public class StudentWithdraw {
 	/** 提现金额 */
 	@ApiModelProperty(value = "提现金额",required = false)
 	private BigDecimal amount;
+
+	/** 提现金额 */
+	@ApiModelProperty(value = "可用余额",required = false)
+	private BigDecimal balance;
 	
 	/** 用户承担的费用(单位:分) */
 	@ApiModelProperty(value = "用户承担的费用",required = false)
@@ -54,6 +62,14 @@ public class StudentWithdraw {
 	/** 备注 */
 	@ApiModelProperty(value = "备注",required = false)
 	private String comment;
+
+	/** 描述 */
+	@ApiModelProperty(value = "支付渠道",required = false)
+	private String channel;
+
+	/** 备注 */
+	@ApiModelProperty(value = "平台账户号",required = false)
+	private String platformAccountNo;
 	
 	/** 创建时间 */
 	private java.util.Date createTime;
@@ -61,6 +77,38 @@ public class StudentWithdraw {
 	/** 修改时间 */
 	private java.util.Date modifyTime;
 
+	public String getRealName() {
+		return realName;
+	}
+
+	public void setRealName(String realName) {
+		this.realName = realName;
+	}
+
+	public BigDecimal getBalance() {
+		return balance;
+	}
+
+	public void setBalance(BigDecimal balance) {
+		this.balance = balance;
+	}
+
+	public String getChannel() {
+		return channel;
+	}
+
+	public void setChannel(String channel) {
+		this.channel = channel;
+	}
+
+	public String getPlatformAccountNo() {
+		return platformAccountNo;
+	}
+
+	public void setPlatformAccountNo(String platformAccountNo) {
+		this.platformAccountNo = platformAccountNo;
+	}
+
 	public String getWithdrawNo() {
 		return withdrawNo;
 	}

+ 9 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysUserCashAccount.java

@@ -42,7 +42,15 @@ public class SysUserCashAccount {
 	
 	/** 修改时间 */
 	private java.util.Date updateTime;
-	
+
+	public SysUserCashAccount(Integer userId, String currency) {
+		this.userId = userId;
+		this.currency = currency;
+	}
+
+	public SysUserCashAccount() {
+	}
+
 	public void setUserId(Integer userId){
 		this.userId = userId;
 	}

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentManageQueryInfo.java

@@ -17,9 +17,20 @@ public class StudentManageQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "乐团ID")
     private String musicGroupId;
 
+    @ApiModelProperty(value = "学生姓名")
+    private String studentName;
+
     @ApiModelProperty(value = "状态(在读、请假、退学)",required = false)
     private ClassGroupStudentStatusEnum studentStatus;
 
+    public String getStudentName() {
+        return studentName;
+    }
+
+    public void setStudentName(String studentName) {
+        this.studentName = studentName;
+    }
+
     public ClassGroupStudentStatusEnum getStudentStatus() {
         return studentStatus;
     }

+ 10 - 14
mec-biz/src/main/java/com/ym/mec/biz/dal/page/TeacherQueryInfo.java

@@ -1,11 +1,7 @@
 package com.ym.mec.biz.dal.page;
 
-import io.swagger.annotations.ApiModelProperty;
-
-import com.ym.mec.auth.api.enums.UserLockFlag;
-import com.ym.mec.biz.dal.enums.JobNatureEnum;
-import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
 
 public class TeacherQueryInfo extends QueryInfo {
 
@@ -16,13 +12,13 @@ public class TeacherQueryInfo extends QueryInfo {
     private Integer organId;
 
     @ApiModelProperty(value = "教师工作性质")
-    private JobNatureEnum jobNature;
+    private String jobNature;
 
     @ApiModelProperty(value = "是否试用期")
-    private YesOrNoEnum isProbationPeriod;
+    private String isProbationPeriod;
 
     @ApiModelProperty(value = "账号状态")
-    private UserLockFlag lockFlag;
+    private String lockFlag;
 
     public Integer getSubjectId() {
         return subjectId;
@@ -40,27 +36,27 @@ public class TeacherQueryInfo extends QueryInfo {
         this.organId = organId;
     }
 
-    public JobNatureEnum getJobNature() {
+    public String getJobNature() {
         return jobNature;
     }
 
-    public void setJobNature(JobNatureEnum jobNature) {
+    public void setJobNature(String jobNature) {
         this.jobNature = jobNature;
     }
 
-    public YesOrNoEnum getIsProbationPeriod() {
+    public String getIsProbationPeriod() {
         return isProbationPeriod;
     }
 
-    public void setIsProbationPeriod(YesOrNoEnum isProbationPeriod) {
+    public void setIsProbationPeriod(String isProbationPeriod) {
         this.isProbationPeriod = isProbationPeriod;
     }
 
-    public UserLockFlag getLockFlag() {
+    public String getLockFlag() {
         return lockFlag;
     }
 
-    public void setLockFlag(UserLockFlag lockFlag) {
+    public void setLockFlag(String lockFlag) {
         this.lockFlag = lockFlag;
     }
 }

+ 3 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/ContractService.java

@@ -1,5 +1,7 @@
 package com.ym.mec.biz.service;
 
+import com.ym.mec.biz.dal.entity.SysUserTsign;
+
 public interface ContractService {
 
 	/**
@@ -7,7 +9,7 @@ public interface ContractService {
 	 * @param userId
 	 * @return
 	 */
-	boolean register(Integer userId);
+	SysUserTsign register(Integer userId);
 
 	/**
 	 * 传递注册协议至第三方公证平台

+ 26 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -895,19 +895,36 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             //获取当前合奏班班级编号列表
             Set<Integer> mixClassGroupIds = dataList.stream().map(e -> e.getMixClassGroupId()).collect(Collectors.toSet());
             String mixClassGroupIdsStr = StringUtils.join(mixClassGroupIds, ",");
-            //获取当前班级编号列表
-            Set<Integer> classGroupIds = dataList.stream().map(e -> e.getClassGroupId()).collect(Collectors.toSet());
-            String classGroupIdsStr = StringUtils.join(classGroupIds, ",");
+            //所有课程编号的列表
+            List<Integer> couseScheduleIds = dataList.stream().map(MusicGroupCourseScheduleDto::getCourseScheduleId).distinct().collect(Collectors.toList());
             //获取合奏班名称
             Map<Integer,String> classGroupNames = MapUtil.convertMybatisMap(classGroupDao.findNameById(mixClassGroupIdsStr));
-            //获取主教老师
-            Map<Integer,String> masterTeachers = MapUtil.convertMybatisMap(classGroupDao.countStudentNum(classGroupIdsStr, "BISHOP"));
-            //获取助教老师
-            Map<Integer,String> subTeachers = MapUtil.convertMybatisMap(classGroupDao.countStudentNum(classGroupIdsStr, "TEACHING"));
+
+            //主教老师
+            List<CourseScheduleTeacherSalary> bishopTeachers = courseScheduleTeacherSalaryDao.findByCourseScheduleIdsAndTeacherRole(couseScheduleIds, "BISHOP");
+            Map<Long, CourseScheduleTeacherSalary> courseScheduleBishopTeacherMaps = bishopTeachers.stream().collect(Collectors.toMap(CourseScheduleTeacherSalary::getCourseScheduleId, courseScheduleTeacherSalary -> courseScheduleTeacherSalary));
+
+            //助教老师
+            List<CourseScheduleTeacherSalary> teachingTeachers = courseScheduleTeacherSalaryDao.findByCourseScheduleIdsAndTeacherRole(couseScheduleIds, "TEACHING");
+            Map<Long, List<CourseScheduleTeacherSalary>> courseScheduleTeachingTeacherMaps=teachingTeachers.stream().collect(Collectors.groupingBy(CourseScheduleTeacherSalary::getCourseScheduleId));
+
             dataList.forEach(e->{
                 e.setMixClassGroupName(classGroupNames.get(e.getMixClassGroupId()));
-                e.setMasterTeacherName(masterTeachers.get(e.getClassGroupId()));
-                e.setSubTeacherName(subTeachers.get(e.getClassGroupId()));
+                CourseScheduleTeacherSalary currentBishopTeacher = courseScheduleBishopTeacherMaps.get(e.getCourseScheduleId().longValue());
+                if(!Objects.isNull(currentBishopTeacher)){
+                    e.setMasterTeacherId(currentBishopTeacher.getUserId());
+                    e.setMasterTeacherName(currentBishopTeacher.getUserName());
+                    e.setTeacherNum(1);
+                }
+
+                List<CourseScheduleTeacherSalary> currentCourseTeachingTeachers = courseScheduleTeachingTeacherMaps.get(e.getCourseScheduleId().longValue());
+                if(CollectionUtils.isEmpty(currentCourseTeachingTeachers)){
+                    e.setTeachingTeachers(new ArrayList<>());
+                }else{
+                    e.setTeachingTeachers(currentCourseTeachingTeachers);
+                    e.setTeacherNum(e.getTeacherNum()==null?0:e.getTeacherNum() + currentCourseTeachingTeachers.size());
+                }
+
             });
         }
         if (count == 0) {

+ 9 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ContractServiceImpl.java

@@ -87,7 +87,7 @@ public class ContractServiceImpl implements ContractService {
 	private DateFormat dateFormatOss = new SimpleDateFormat("yyyy/MM/dd");
 
 	@Override
-	public boolean register(Integer userId) {
+	public SysUserTsign register(Integer userId) {
 
 		SysUserTsign sysUserTsign = sysUserTsignService.get(userId);
 
@@ -95,7 +95,7 @@ public class ContractServiceImpl implements ContractService {
 
 			SysUser user = sysUserFeignService.queryUserById(userId);
 			if (user == null) {
-				return false;
+				return null;
 			}
 			String accountId = eSealPlugin.createUserAccount(user.getRealName(), user.getIdCardNo(), user.getPhone());
 
@@ -112,9 +112,11 @@ public class ContractServiceImpl implements ContractService {
 			sysUserTsign = new SysUserTsign(userId, accountId, sealData);
 
 			sysUserTsignService.insert(sysUserTsign);
+			
+			return sysUserTsign;
 		}
 
-		return true;
+		return null;
 	}
 
 	@Override
@@ -123,7 +125,7 @@ public class ContractServiceImpl implements ContractService {
 		SysUserTsign sysUserTsign = sysUserTsignService.get(userId);
 
 		if (sysUserTsign == null) {
-			return false;
+			sysUserTsign = register(userId);
 		}
 
 		// 合成freemarker
@@ -207,7 +209,7 @@ public class ContractServiceImpl implements ContractService {
 		SysUserTsign sysUserTsign = sysUserTsignService.get(userId);
 
 		if (sysUserTsign == null) {
-			return false;
+			sysUserTsign = register(userId);
 		}
 
 		// 合成freemarker
@@ -346,7 +348,7 @@ public class ContractServiceImpl implements ContractService {
 		SysUserTsign sysUserTsign = sysUserTsignService.get(userId);
 
 		if (sysUserTsign == null) {
-			return false;
+			sysUserTsign = register(userId);
 		}
 
 		// 合成freemarker
@@ -463,7 +465,7 @@ public class ContractServiceImpl implements ContractService {
 		SysUserTsign sysUserTsign = sysUserTsignService.get(userId);
 
 		if (sysUserTsign == null) {
-			return false;
+			sysUserTsign = register(userId);
 		}
 
 		// 合成freemarker

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

@@ -5,12 +5,15 @@ import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.auth.api.enums.SysUserType;
 import com.ym.mec.auth.api.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.dao.EmployeeDao;
+import com.ym.mec.biz.dal.dao.SysUserCashAccountDao;
 import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.dto.EmployeeDto;
 import com.ym.mec.biz.dal.entity.Employee;
+import com.ym.mec.biz.dal.entity.SysUserCashAccount;
 import com.ym.mec.biz.dal.enums.EmployeeOperateEnum;
 import com.ym.mec.biz.dal.enums.ParamEnum;
 import com.ym.mec.biz.dal.page.EmployeeQueryInfo;
+import com.ym.mec.biz.service.ContractService;
 import com.ym.mec.biz.service.EmployeeService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImResult;
@@ -24,7 +27,6 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -42,6 +44,10 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 	private SysUserFeignService sysUserFeignService;
 	@Autowired
 	private TeacherDao teacherDao;
+	@Autowired
+	private SysUserCashAccountDao sysUserCashAccountDao;
+	@Autowired
+	private ContractService contractService;
 
 	@Override
 	public BaseDAO<Integer, Employee> getDAO() {
@@ -53,8 +59,8 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 	public void add(Employee employee){
 		SysUser user = sysUserFeignService.queryUserByMobile(employee.getPhone());
 		if(user != null){
-            user.setUserType(SysUserType.SYSTEM);
-			teacherDao.updateUser(user);
+			employee.setUserType(SysUserType.SYSTEM);
+			teacherDao.updateUser(employee);
 			Employee employee1 = employeeDao.get(user.getId());
 			if(employee1 == null || employee1.getId() == null){
 				employee.setUserId(user.getId());
@@ -75,6 +81,10 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 		employeeDao.delEmployeeRole(employee.getId());
 		//新增用户角色
 		employeeDao.batchAddEmployeeRole(employee.getId(),employee.getRoleIds());
+		//添加用户现金账户
+		sysUserCashAccountDao.insert(new SysUserCashAccount(employee.getId(),"CNY"));
+		//添加用户电子签章账户
+		contractService.register(employee.getId());
 		ImResult imResult = imFeignService.register(new ImUserModel(employee.getId().toString(), employee.getUsername(), employee.getAvatar()));
 		employee.setImToken(imResult.getToken());
 		employeeDao.update(employee);

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

@@ -2,12 +2,12 @@ package com.ym.mec.biz.service.impl;
 
 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.dao.ClassGroupDao;
+import com.ym.mec.biz.dal.dao.StudentManageDao;
+import com.ym.mec.biz.dal.dao.StudentPaymentOrderDao;
+import com.ym.mec.biz.dal.dao.VipGroupDao;
 import com.ym.mec.biz.dal.dto.*;
-import com.ym.mec.biz.dal.entity.ClassGroup;
-import com.ym.mec.biz.dal.entity.StudentRegistration;
 import com.ym.mec.biz.dal.page.*;
-import com.ym.mec.biz.service.CourseScheduleStudentPaymentService;
 import com.ym.mec.biz.service.StudentManageService;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.QueryInfo;
@@ -43,7 +43,7 @@ public class StudentManageServiceImpl implements StudentManageService {
         SysUser user = sysUserFeignService.queryUserInfo();
         PageInfo<StudentManageListDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
         queryInfo.setOrganId(user.getOrganId());
-        Map<String, Object> params = new HashMap<String, Object>();
+        Map<String, Object> params = new HashMap<>();
         MapUtil.populateMap(params, queryInfo);
 
         List<StudentManageListDto> dataList = null;

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

@@ -57,6 +57,10 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
     @Autowired
     private SubjectDao subjectDao;
     @Autowired
+    private SysUserCashAccountDao sysUserCashAccountDao;
+    @Autowired
+    private ContractService contractService;
+    @Autowired
     private ImFeignService imFeignService;
     @Autowired
     private MusicGroupSubjectPlanService musicGroupSubjectPlanService;
@@ -136,7 +140,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
     @Transactional(rollbackFor = Exception.class)
     public StudentRegistration addStudent(StudentRegistration studentRegistration) {
         Date date = new Date();
-        int userId = 0;
+        Integer userId = 0;
         SysUser sysUser = studentRegistrationDao.getSysUserByPhone(studentRegistration.getParentsPhone());
         if (sysUser == null) {
             sysUser = new SysUser();
@@ -152,6 +156,14 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
             sysUser.setIdCardNo(studentRegistration.getIdCardNo());
             teacherDao.addSysUser(sysUser);
             userId = sysUser.getId();
+            //添加用户现金账户
+            sysUserCashAccountDao.insert(new SysUserCashAccount(userId,"CNY"));
+            //添加用户电子签章账户
+            contractService.register(userId);
+            //注册到融云
+            ImResult register = imFeignService.register(new ImUserModel(userId.toString(), sysUser.getUsername(), sysUser.getAvatar()));
+            sysUser.setImToken(register.getToken());
+            teacherDao.updateUser(sysUser);
         }
         studentRegistration.setUserId(sysUser.getId());
         studentRegistrationDao.insert(studentRegistration);
@@ -357,6 +369,10 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                 sysUser.setUserType(SysUserType.STUDENT);
                 teacherDao.addSysUser(sysUser);
                 userId = sysUser.getId();
+                //添加用户现金账户
+                sysUserCashAccountDao.insert(new SysUserCashAccount(userId,"CNY"));
+                //添加用户电子签章账户
+                contractService.register(userId);
                 //注册到融云
                 ImResult register = imFeignService.register(new ImUserModel(userId.toString(), sysUser.getUsername(), sysUser.getAvatar()));
                 sysUser.setImToken(register.getToken());

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

@@ -74,7 +74,6 @@ public class StudentWithdrawServiceImpl extends BaseServiceImpl<String, StudentW
 			//第三方提现到用户银行卡
 			//用户个人虚拟账户金额减少
 
-//			updateCashAccount(sysUserCashAccount, withdrawDto);
 			//生成提现记录(缺少银行流水号,交易状态,用户承担的费用,平台承担的费用)
 			Integer withdrawId = saveStudentWithdraw(withdrawDto);
 

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

@@ -6,18 +6,16 @@ import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.TeacherAttendanceDto;
 import com.ym.mec.biz.dal.dto.TeacherPersonalAttendanceDto;
 import com.ym.mec.biz.dal.dto.TeacherSignOutDto;
-import com.ym.mec.biz.dal.entity.*;
+import com.ym.mec.biz.dal.entity.CourseHomework;
+import com.ym.mec.biz.dal.entity.StudentCourseHomework;
+import com.ym.mec.biz.dal.entity.SysConfig;
+import com.ym.mec.biz.dal.entity.TeacherAttendance;
 import com.ym.mec.biz.dal.enums.MessageSendMode;
 import com.ym.mec.biz.dal.enums.ParamEnum;
 import com.ym.mec.biz.dal.enums.SignStatusEnum;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
-import com.ym.mec.biz.dal.page.TeacherAttendanceQueryInfo;
 import com.ym.mec.biz.dal.page.TeacherCloseQueryInfo;
-import com.ym.mec.biz.service.CourseHomeworkService;
-import com.ym.mec.biz.service.CourseScheduleService;
-import com.ym.mec.biz.service.SysConfigService;
-import com.ym.mec.biz.service.SysMessageService;
-import com.ym.mec.biz.service.TeacherAttendanceService;
+import com.ym.mec.biz.service.*;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
@@ -25,7 +23,6 @@ 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.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -148,11 +145,6 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 			}
 		}
 		if(teacherSignOutDto.getTeacherAttendanceInfo().getStatus().equals(SignStatusEnum.SIGN_OUT.getCode())){
-			//更新课次
-			ClassGroup classGroup=new ClassGroup();
-			classGroup.setId(currentCourseDetail.getClassId().intValue());
-			classGroup.setCurrentClassTimes(teacherAttendanceDao.countClassTime(currentCourseDetail.getClassId()));
-			classGroupDao.update(classGroup);
 			//新增课堂作业
 			CourseHomework courseHomework=teacherSignOutDto.getCourseHomeworkInfo();
 			courseHomework.setCourseScheduleId(teacherAttendance.getCourseScheduleId());

+ 11 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java

@@ -11,12 +11,13 @@ import com.ym.mec.biz.dal.dto.MusicGroupTeachersDto;
 import com.ym.mec.biz.dal.dto.TeacherCloseDto;
 import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.School;
+import com.ym.mec.biz.dal.entity.SysUserCashAccount;
 import com.ym.mec.biz.dal.entity.Teacher;
-import com.ym.mec.biz.dal.entity.TeacherAttendance;
 import com.ym.mec.biz.dal.page.MusicGroupTeacherAttendanceQueryInfo;
-import com.ym.mec.biz.dal.page.MusicGroupTeachersQueryInfo;
 import com.ym.mec.biz.dal.page.TeacherCloseQueryInfo;
 import com.ym.mec.biz.dal.page.TeacherQueryInfo;
+import com.ym.mec.biz.service.ContractService;
+import com.ym.mec.biz.service.SysUserTsignService;
 import com.ym.mec.biz.service.TeacherService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImGroupModel;
@@ -55,9 +56,13 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 	@Autowired
 	private SchoolDao schoolDao;
 	@Autowired
+	private SysUserCashAccountDao sysUserCashAccountDao;
+	@Autowired
 	private SysUserFeignService sysUserFeignService;
 	@Autowired
 	private ImFeignService imFeignService;
+	@Autowired
+	private ContractService contractService;
 
 
 	@Override
@@ -85,6 +90,10 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 		}
 		teacher.setUserType(SysUserType.TEACHER);
 		teacherDao.addSysUser(teacher);
+		//添加用户现金账户
+		sysUserCashAccountDao.insert(new SysUserCashAccount(teacher.getId(),"CNY"));
+		//添加用户电子签章账户
+		contractService.register(teacher.getId());
 		teacherDao.insert(teacher);
 		ImResult imResult = imFeignService.register(new ImUserModel(teacher.getId().toString(), teacher.getUsername(), teacher.getAvatar()));
 		if(imResult != null){

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

@@ -577,7 +577,7 @@
             <if test="classScheduleType != null and classScheduleType != ''">
                 AND cs.type_ = #{classScheduleType}
             </if>
-            <if test="classScheduleType = null or classScheduleType = ''">
+            <if test="classScheduleType == null or classScheduleType == ''">
                 AND (cs.type_ = 'NORMAL' OR cs.type_ = 'MIX' OR cs.type_ = 'HIGH')
             </if>
             <if test="classScheduleStatus != null and classScheduleStatus != ''">
@@ -595,6 +595,7 @@
         </where>
     </sql>
     <resultMap id="MusicGroupCourseScheduleDto" type="com.ym.mec.biz.dal.dto.MusicGroupCourseScheduleDto">
+        <result property="courseScheduleId" column="course_schedule_id_"/>
         <result property="classDate" column="class_date_"/>
         <result property="startClassTime" column="start_class_time_"/>
         <result property="classGroupId" column="class_group_id_"/>
@@ -605,7 +606,7 @@
         <result property="signOutStatus" column="sign_out_status_"/>
     </resultMap>
     <select id="queryMusicGroupCourseSchedule" resultMap="MusicGroupCourseScheduleDto">
-        SELECT cs.class_date_,cs.start_class_time_,cs.class_group_id_,
+        SELECT cs.id_ course_schedule_id_,cs.class_date_,cs.start_class_time_,cs.class_group_id_,
         cs.type_ course_schedule_type_,cs.status_ course_schedule_status_,
         IF(cgr.class_group_id_ IS NULL,cs.class_group_id_,cgr.class_group_id_) mix_class_group_id_,
         IF(ISNULL(ta.sign_in_status_),3,ta.sign_in_status_) sign_in_status_,
@@ -617,8 +618,10 @@
         <include refid="queryMusicGroupCourseScheduleSql"/>
         <include refid="global.limit"/>
     </select>
+
     <select id="countMusicGroupCourseSchedule" resultType="java.lang.Integer">
-        SELECT COUNT(cs.id_) FROM course_schedule cs
+        SELECT COUNT(cs.id_)
+        FROM course_schedule cs
         LEFT JOIN class_group cg ON cg.id_ = cs.class_group_id_
         <include refid="queryMusicGroupCourseScheduleSql"/>
     </select>

+ 5 - 5
mec-biz/src/main/resources/config/mybatis/CooperationOrganMapper.xml

@@ -32,8 +32,6 @@
     <!-- 向数据库增加一条记录 -->
     <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.CooperationOrgan"
             useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-        <!-- <selectKey resultClass="int" keyProperty="id" > SELECT SEQ_WSDEFINITION_ID.nextval
-            AS ID FROM DUAL </selectKey> -->
         INSERT INTO cooperation_organ
         (id_,name_,linkman_,job_,mobile_no_,address_,organ_id_,create_time_,update_time_,ownership_type_)
         VALUES(#{id},#{name},#{linkman},#{job},#{mobileNo},#{address},#{organId},now(),now(),#{ownershipType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
@@ -81,11 +79,12 @@
             parameterType="map">
         SELECT * FROM cooperation_organ
         <where>
+                del_flag_ = 0
             <if test="search != null">
-                organ_id_ = #{search}
+                AND organ_id_ = #{search}
             </if>
         </where>
-        ORDER BY id_
+        ORDER BY update_time_ DESC
         <include refid="global.limit"/>
     </select>
 
@@ -93,8 +92,9 @@
     <select id="queryCount" resultType="int">
 		SELECT COUNT(*) FROM cooperation_organ
         <where>
+            del_flag_ = 0
             <if test="search != null">
-                organ_id_ = #{search}
+                AND organ_id_ = #{search}
             </if>
         </where>
 	</select>

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

@@ -35,6 +35,7 @@
         <result column="sign_out_status_" property="signOutStatus"/>
         <result column="seal_class_id_" property="sealClassId"/>
         <result column="total_student_num_" property="totalStudentNum"/>
+        <result column="teacher_role_" property="teacherRole" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
     </resultMap>
 
     <resultMap type="com.ym.mec.biz.dal.entity.StudentCourseScheduleRecordDto" id="studentCourseScheduleRecord">
@@ -402,20 +403,22 @@
         CONCAT(cs.class_date_,' ',cs.start_class_time_) start_class_time_,
         CONCAT(cs.class_date_,' ',cs.end_class_time_) end_class_time_,
         cs.status_,
+        csts.teacher_role_,
         s.name_ school_name_,
         if(ta.sign_in_status_ IS NULL,0,1) sign_in_status_,
         if(ta.sign_out_status_ IS NULL,0,1) sign_out_status_,
         cs.teach_mode_
         FROM
-        course_schedule cs
-        LEFT JOIN sys_user su ON cs.actual_teacher_id_=su.id_
+        course_schedule_teacher_salary csts
+        LEFT JOIN course_schedule cs ON csts.course_schedule_id_=cs.id_
+        LEFT JOIN sys_user su ON csts.user_id_ = su.id_
         LEFT JOIN class_group cg ON cs.class_group_id_ = cg.id_
-        LEFT JOIN music_group mg ON cg.music_group_id_=mg.id_
-        LEFT JOIN school s ON mg.school_id_=s.id_
+        LEFT JOIN music_group mg ON cg.music_group_id_ = mg.id_
+        LEFT JOIN school s ON mg.school_id_ = s.id_
         LEFT JOIN teacher_attendance ta ON cs.id_=ta.course_schedule_id_ AND ta.teacher_id_=#{teacherId}
         WHERE
         cs.class_date_ = DATE_FORMAT(#{classDate},'%Y%m%d')
-        AND cs.actual_teacher_id_ = #{teacherId}
+        AND csts.user_id_ = #{teacherId}
     </select>
 
     <select id="getCourseScheduleDateByMonth" resultType="java.util.Date">

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

@@ -11,6 +11,7 @@
 		<result column="course_schedule_id_" property="courseScheduleId" />
 		<result column="teacher_role_" property="teacherRole" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
 		<result column="user_id_" property="userId" />
+		<result column="username_" property="userName"/>
 		<result column="expect_salary_" property="expectSalary" />
 		<result column="create_time_" property="createTime" />
 		<result column="update_time_" property="updateTime" />
@@ -157,8 +158,22 @@
     <select id="queryByCourseScheduleIdAndUserId" resultMap="CourseScheduleTeacherSalary" parameterType="map">
 		SELECT * FROM course_schedule_teacher_salary where user_id_ = #{teacherId} and course_schedule_id_ = #{courseScheduleId}
     </select>
-    
-    <update id="batchUpdateWages" parameterType="map">
+
+	<select id="findByCourseScheduleIdsAndTeacherRole" resultMap="CourseScheduleTeacherSalary">
+		SELECT
+			csts.*,
+			su.username_
+		FROM
+			course_schedule_teacher_salary csts
+			LEFT JOIN sys_user su ON csts.user_id_=su.id_
+		WHERE csts.course_schedule_id_ IN
+		<foreach collection="courseScheduleIds" item="courseScheduleId" open="(" close=")" separator=",">
+			#{courseScheduleId}
+		</foreach>
+		AND csts.teacher_role_=#{teacherRole}
+	</select>
+
+	<update id="batchUpdateWages" parameterType="map">
 		UPDATE course_schedule_teacher_salary set
 			subsidy_ = #{subsidy},
 			expect_salary_ = #{salary},

+ 13 - 10
mec-biz/src/main/resources/config/mybatis/EmployeeMapper.xml

@@ -156,7 +156,7 @@
 
 
     <resultMap type="com.ym.mec.biz.dal.dto.EmployeeDto" id="EmployeeDto">
-        <result property="id" column="id_"/>
+        <result property="id" column="user_id_"/>
         <result property="realName" column="real_name_"/>
         <result property="gender" column="gender_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result property="phone" column="phone_"/>
@@ -178,27 +178,30 @@
         </collection>
     </resultMap>
     <select id="queryEmployByOrganId" resultMap="EmployeeDto">
-        SELECT su.id_,su.real_name_,su.gender_,su.phone_,su.user_type_,e.job_nature_,su.lock_flag_,
+        SELECT e.user_id_,su.real_name_,su.gender_,su.phone_,su.user_type_,e.job_nature_,su.lock_flag_,
         e.entry_date_,e.demission_date_,o.name_ organ_name_list_,o.id_ organ_id_list_,sr.role_name_,sr.id_ role_id_
-        FROM sys_user su
-        LEFT JOIN employee e ON su.id_ = e.user_id_
+        FROM (SELECT * FROM employee WHERE FIND_IN_SET(#{organId},organ_id_list_) <include refid="global.limit"/>) e
+        LEFT JOIN sys_user su ON su.id_ = e.user_id_
         LEFT JOIN sys_user_role sur ON sur.user_id_ = e.user_id_
         LEFT JOIN sys_role sr ON sr.id_ = sur.role_id_
         LEFT JOIN organization o ON FIND_IN_SET(o.id_,e.organ_id_list_)
-        WHERE su.user_type_ LIKE '%SYSTEM%' AND FIND_IN_SET(su.organ_id_,e.organ_id_list_)
+        WHERE su.user_type_ LIKE '%SYSTEM%'
         <if test="search != null">
             AND (su.real_name_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%'))
         </if>
-        <include refid="global.limit"/>
+        ORDER BY e.create_time_ DESC
     </select>
 
     <select id="queryEmployByOrganIdCount" resultType="int">
-        SELECT COUNT(su.id_)
-        FROM sys_user su
-        LEFT JOIN employee e ON su.id_ = e.user_id_
-        WHERE su.user_type_ LIKE '%SYSTEM%' AND FIND_IN_SET(su.organ_id_,e.organ_id_list_)
+        SELECT COUNT(e.user_id_)
+        FROM employee e
+        LEFT JOIN sys_user su ON su.id_ = e.user_id_
+        WHERE su.user_type_ LIKE '%SYSTEM%'
         <if test="search != null">
             AND (su.real_name_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%'))
         </if>
+        <if test="organId != null">
+            AND FIND_IN_SET(#{organId},e.organ_id_list_)
+        </if>
     </select>
 </mapper>

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

@@ -66,6 +66,9 @@
         <if test="organId != null">
             AND su.organ_id_=#{organId}
         </if>
+        <if test="studentName != null and studentName != ''">
+            AND su.real_name_ LIKE CONCAT('%',#{studentName},'%')
+        </if>
         <include refid="global.limit"/>
     </select>
 
@@ -84,6 +87,9 @@
         <if test="organId != null">
             AND su.organ_id_=#{organId}
         </if>
+        <if test="studentName != null and studentName != ''">
+            AND su.real_name_ LIKE CONCAT('%',#{studentName},'%')
+        </if>
     </select>
     <select id="findStudentBaseInfoByUserID" resultMap="studentManageListDto">
         SELECT su.real_name_,su.gender_,su.birthdate_,sr.parents_name_,su.id_ user_id_,

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

@@ -20,6 +20,10 @@
         <result column="withdraw_no_" property="withdrawNo"/>
         <result column="create_time_" property="createTime"/>
         <result column="modify_time_" property="modifyTime"/>
+        <result column="channel_" property="channel"/>
+        <result column="platform_account_no_" property="platformAccountNo"/>
+        <result column="balance_" property="balance"/>
+        <result column="real_name_" property="realName"/>
     </resultMap>
 
     <!-- 根据主键查询一条记录 -->
@@ -89,13 +93,16 @@
 
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="StudentWithdraw" parameterType="map">
-        SELECT * FROM student_withdraw
+        SELECT sw.*,cad.platform_account_no_,cad.channel_,su.real_name_,cad.balance_
+        FROM student_withdraw sw
+        LEFT JOIN sys_user_cash_account_detail cad ON sw.id_ = cad.attribute1_
+        LEFT JOIN sys_user su ON sw.id_ = cad.attribute1_
         <where>
             <if test="userId != null">
-                user_id_ = #{userId}
+                sw.user_id_ = #{userId}
             </if>
         </where>
-        ORDER BY id_
+        ORDER BY sw.create_time_ DESC
         <include refid="global.limit"/>
     </select>
 

+ 2 - 7
mec-biz/src/main/resources/config/mybatis/SysUserCashAccountMapper.xml

@@ -34,14 +34,9 @@
     <!-- 向数据库增加一条记录 -->
     <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.SysUserCashAccount" useGeneratedKeys="true"
             keyColumn="id" keyProperty="id">
-        <!--
-        <selectKey resultClass="int" keyProperty="id" >
-        SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL
-        </selectKey>
-        -->
         INSERT INTO sys_user_cash_account
-        (user_id_,currency_,balance_,frozen_amount_,margin_balance_,status_,create_time_,update_time)
-        VALUES(#{userId},#{currency},#{balance},#{frozenAmount},#{marginBalance},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},now(),now())
+        (user_id_,currency_,balance_,create_time_,update_time)
+        VALUES(#{userId},#{currency},now(),now())
     </insert>
 
     <!-- 根据主键查询一条记录 -->

+ 156 - 0
mec-student/src/main/java/com/ym/mec/student/controller/StudentManageController.java

@@ -0,0 +1,156 @@
+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.CashAccountDetail;
+import com.ym.mec.biz.dal.entity.StudentWithdraw;
+import com.ym.mec.biz.dal.entity.SysSuggestion;
+import com.ym.mec.biz.dal.entity.SysUserBankCard;
+import com.ym.mec.biz.service.*;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.UploadReturnBean;
+import com.ym.mec.util.upload.UploadUtil;
+import io.swagger.annotations.*;
+import org.apache.commons.lang.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+@Api(tags = "教师管理")
+@RestController
+public class StudentManageController extends BaseController {
+
+    @Autowired
+    private SysSuggestionService suggestionService;
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+    @Autowired
+    private SysUserCashAccountService sysUserCashAccountService;
+    @Autowired
+    private SysUserCashAccountDetailService sysUserCashAccountDetailService;
+    @Autowired
+    private ClassGroupService classGroupService;
+    @Autowired
+    private StudentWithdrawService studentWithdrawService;
+    @Autowired
+    private SysUserBankCardService sysUserBankCardService;
+
+    private final static Logger LOGGER = LoggerFactory.getLogger(StudentManageController.class);
+
+    @Autowired
+    private UploadFileService uploadFileService;
+
+    @PostMapping(value = "uploadFile")
+    public Object uploadFile(@ApiParam(value = "上传的文件", required = true) @RequestParam("file") MultipartFile file) {
+        try {
+            if (file != null && StringUtils.isNotBlank(file.getOriginalFilename())) {
+                UploadReturnBean bean = uploadFileService.uploadFile(file.getInputStream(), UploadUtil.getExtension(file.getOriginalFilename()));
+                if (bean.isStatus()) {
+                    return succeed(bean);
+                }
+                return failed(bean.getMessage());
+            }
+        } catch (Exception e) {
+            LOGGER.error("上传失败", e);
+        }
+        return failed("上传失败");
+    }
+
+    @ApiOperation(value = "新增建议")
+    @PostMapping("suggestion/add")
+    public Object add(SysSuggestion SysSuggestion) {
+        suggestionService.insert(SysSuggestion);
+        return succeed();
+    }
+
+
+    @ApiOperation(value = "根据群编号,获取群组所有成员基本信息")
+    @GetMapping("classGroup/findGroupUsers")
+    @PreAuthorize("@pcs.hasPermissions('classGroup/findGroupUsers')")
+    public Object findGroupUsers(String groupId) {
+        if (org.apache.commons.lang3.StringUtils.isEmpty(groupId)) {
+            return failed("参数校验错误");
+        }
+        return succeed(classGroupService.findGroupUsers(groupId));
+    }
+
+    @ApiOperation(value = "获取用户账户信息")
+    @GetMapping("userCashAccount/get")
+    public Object add() {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if(sysUser == null){
+            return failed("请重新登录");
+        }
+        return succeed(sysUserCashAccountService.get(sysUser.getId()));
+    }
+
+    @ApiOperation(value = "分页查询用户交易明细")
+    @GetMapping("userCashAccountDetail/queryPage")
+    public Object queryPage(CashAccountDetail queryInfo) {
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if(user == null && user.getId() != null){
+            return failed("请重新登录");
+        }
+        queryInfo.setUserId(user.getId());
+        return succeed(sysUserCashAccountDetailService.queryPage(queryInfo));
+    }
+
+    @ApiOperation(value = "新增提现申请")
+    @PostMapping("/add")
+    @PreAuthorize("@pcs.hasPermissions('studentWithdraw/add')")
+    public Object add(StudentWithdraw studentWithdraw) throws Exception {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if(sysUser == null && sysUser.getId() == null){
+            return failed("获取用户信息失败");
+        }
+        studentWithdraw.setUserId(sysUser.getId());
+        studentWithdrawService.add(studentWithdraw);
+        return succeed();
+    }
+
+    @ApiOperation(value = "新增银行卡信息")
+    @PostMapping("userBankCard/add")
+    public Object add(SysUserBankCard sysUserBankCard) {
+        if(sysUserBankCard == null){
+            return failed("参数校验异常");
+        }
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if(sysUser == null || sysUser.getId() == null){
+            return failed("获取用户失败");
+        }
+        sysUserBankCard.setUserId(sysUser.getId());
+        return succeed(sysUserBankCardService.add(sysUserBankCard));
+    }
+
+    @ApiOperation(value = "删除银行卡信息")
+    @PostMapping("userBankCard/del")
+    public Object del(Long id) {
+        if(id == null){
+            return failed("参数校验失败");
+        }
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if(sysUser == null || sysUser.getId() == null){
+            return failed("获取用户信息失败");
+        }
+        sysUserBankCardService.del(id,sysUser.getId());
+        return succeed();
+    }
+
+    @ApiOperation(value = "分页查询银行卡信息列表")
+    @GetMapping("userBankCard/queryPage")
+    public Object queryPage() {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if(sysUser == null || sysUser.getId() == null){
+            return failed("获取用户失败");
+        }
+        return succeed(sysUserBankCardService.findByUser(sysUser.getId()));
+    }
+}

+ 1 - 1
mec-teacher/pom.xml

@@ -50,7 +50,7 @@
 			<groupId>com.ym</groupId>
 			<artifactId>mec-biz</artifactId>
 		</dependency>
-	</dependencies>
+    </dependencies>
 	<build>
 		<plugins>
 			<plugin>

+ 0 - 6
mec-teacher/src/main/java/com/ym/mec/teacher/controller/DemoGroupController.java

@@ -50,10 +50,4 @@ public class DemoGroupController extends BaseController {
         return succeed(demoGroupService.update(demoGroup));
     }
 
-    @ApiOperation(value = "获取教师试听课安排列表")
-    @GetMapping("/findTeacherDemoGroups")
-    public Object findTeacherDemoGroups(TeacherManageDemoGroupQueryInfo queryInfo){
-        return succeed(demoGroupService.findTeacherDemoGroups(queryInfo));
-    }
-
 }

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

@@ -41,13 +41,7 @@ public class TeacherAttendanceController extends BaseController {
     public Object queryPage(TeacherAttendanceQueryInfo queryInfo) {
         return succeed(teacherAttendanceService.queryPage(queryInfo));
     }
-
-    @ApiOperation(value = "查询教师签到(上课)记录")
-    @GetMapping("/getTeacherPersonalAttendances")
-    public Object getTeacherPersonalAttendances(TeacherCloseQueryInfo queryInfo){
-        return succeed(teacherAttendanceService.getTeacherPersonalAttendances(queryInfo));
-    }
-
+    
     @ApiOperation(value = "根据班级ID获取当前课程的学生")
     @GetMapping("/getCurrentCourseStudents")
     public Object getCurrentCourseStudents(Long courseScheduleId){

+ 0 - 41
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherController.java

@@ -34,18 +34,6 @@ public class TeacherController extends BaseController {
     @Autowired
     private SysUserFeignService sysUserFeignService;
 
-    @ApiOperation(value = "新增教师")
-    @PostMapping("/add")
-    public Object add(Teacher teacher) {
-        try {
-            teacherService.add(teacher);
-        } catch (Exception e) {
-            e.printStackTrace();
-            return failed(e.getMessage());
-        }
-        return succeed();
-    }
-
     @ApiOperation(value = "修改教师个人中心信息")
     @PostMapping("/update")
     public Object update(Teacher teacher) {
@@ -66,11 +54,6 @@ public class TeacherController extends BaseController {
         return succeed(teacherService.getDetail(id));
     }
 
-    @ApiOperation(value = "分页查询教师列表")
-    @GetMapping("/queryPage")
-    public Object queryPage(TeacherQueryInfo queryInfo) {
-        return succeed(teacherService.queryPageDetail(queryInfo));
-    }
 
     @ApiOperation(value = "根据教师编号查询教师课程班列表")
     @GetMapping("/getClass")
@@ -79,19 +62,6 @@ public class TeacherController extends BaseController {
         return succeed(classGroupService.findClassGroup4Teacher(id));
     }
 
-    @ApiOperation(value = "获取老师乐团课程信息列表")
-    @GetMapping("/getTeacherMusicClass")
-    @ApiParam(value = "教师编号", required = true)
-    public Object getTeacherMusicClass(QueryInfo queryInfo){
-        return succeed(classGroupService.getTeacherMusicClass(queryInfo));
-    }
-
-    @ApiOperation(value = "获取老师VIP课程信息列表")
-    @GetMapping("/getTeacherVipClass")
-    public Object getTeacherVipClass(VipClassQueryInfo queryInfo){
-        return succeed(classGroupService.getTeacherVipClass(queryInfo));
-    }
-
     @ApiOperation(value = "获取教师所有聊天群组")
     @GetMapping("/queryTeacherGroups")
     public Object queryTeacherGroups(String search){
@@ -112,15 +82,4 @@ public class TeacherController extends BaseController {
         return succeed(teacherService.queryGroupStudents(sysUser.getId(),search));
     }
 
-    @ApiOperation(value = "获取教师上课结算列表")
-    @GetMapping("/queryCloses")
-    public Object queryCloses(TeacherCloseQueryInfo queryInfo){
-        return succeed(teacherService.queryCloses(queryInfo));
-    }
-
-    @ApiOperation(value = "获取教师上课课酬未结算总额")
-    @GetMapping("/sumTeacherNoPay")
-    public Object findTeacherNoPay(Integer teacherId){
-        return succeed(teacherService.findTeacherNoPay(teacherId));
-    }
 }

+ 139 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherManageController.java

@@ -0,0 +1,139 @@
+package com.ym.mec.teacher.controller;
+
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.dto.CashAccountDetail;
+import com.ym.mec.biz.dal.entity.SysSuggestion;
+import com.ym.mec.biz.dal.entity.SysUserBankCard;
+import com.ym.mec.biz.service.*;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.UploadReturnBean;
+import com.ym.mec.util.upload.UploadUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import org.apache.commons.lang.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import static com.ym.mec.common.controller.BaseController.succeed;
+
+@Api(tags = "教师管理")
+@RestController
+public class TeacherManageController extends BaseController {
+
+    @Autowired
+    private SysSuggestionService suggestionService;
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+    @Autowired
+    private SysUserCashAccountService sysUserCashAccountService;
+    @Autowired
+    private SysUserCashAccountDetailService sysUserCashAccountDetailService;
+    @Autowired
+    private ClassGroupService classGroupService;
+    @Autowired
+    private SysUserBankCardService sysUserBankCardService;
+
+    private final static Logger LOGGER = LoggerFactory.getLogger(TeacherManageController.class);
+
+    @Autowired
+    private UploadFileService uploadFileService;
+
+    @PostMapping(value = "uploadFile")
+    public Object uploadFile(@ApiParam(value = "上传的文件", required = true) @RequestParam("file") MultipartFile file) {
+        try {
+            if (file != null && StringUtils.isNotBlank(file.getOriginalFilename())) {
+                UploadReturnBean bean = uploadFileService.uploadFile(file.getInputStream(), UploadUtil.getExtension(file.getOriginalFilename()));
+                if (bean.isStatus()) {
+                    return succeed(bean);
+                }
+                return failed(bean.getMessage());
+            }
+        } catch (Exception e) {
+            LOGGER.error("上传失败", e);
+        }
+        return failed("上传失败");
+    }
+
+    @ApiOperation(value = "新增建议")
+    @PostMapping("suggestion/add")
+    public Object add(SysSuggestion SysSuggestion) {
+        suggestionService.insert(SysSuggestion);
+        return succeed();
+    }
+
+
+    @ApiOperation(value = "根据群编号,获取群组所有成员基本信息")
+    @GetMapping("classGroup/findGroupUsers")
+    @PreAuthorize("@pcs.hasPermissions('classGroup/findGroupUsers')")
+    public Object findGroupUsers(String groupId) {
+        if (org.apache.commons.lang3.StringUtils.isEmpty(groupId)) {
+            return failed("参数校验错误");
+        }
+        return succeed(classGroupService.findGroupUsers(groupId));
+    }
+
+    @ApiOperation(value = "获取用户账户信息")
+    @GetMapping("userCashAccount/get")
+    public Object add() {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if(sysUser == null){
+            return failed("请重新登录");
+        }
+        return succeed(sysUserCashAccountService.get(sysUser.getId()));
+    }
+
+    @ApiOperation(value = "分页查询用户交易明细")
+    @GetMapping("userCashAccountDetail/queryPage")
+    public Object queryPage(CashAccountDetail queryInfo) {
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if(user == null && user.getId() != null){
+            return failed("请重新登录");
+        }
+        queryInfo.setUserId(user.getId());
+        return succeed(sysUserCashAccountDetailService.queryPage(queryInfo));
+    }
+
+    @ApiOperation(value = "新增银行卡信息")
+    @PostMapping("userBankCard/add")
+    public Object add(SysUserBankCard sysUserBankCard) {
+        if(sysUserBankCard == null){
+            return failed("参数校验异常");
+        }
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if(sysUser == null || sysUser.getId() == null){
+            return failed("获取用户失败");
+        }
+        sysUserBankCard.setUserId(sysUser.getId());
+        return succeed(sysUserBankCardService.add(sysUserBankCard));
+    }
+
+    @ApiOperation(value = "删除银行卡信息")
+    @PostMapping("userBankCard/del")
+    public Object del(Long id) {
+        if(id == null){
+            return failed("参数校验失败");
+        }
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if(sysUser == null || sysUser.getId() == null){
+            return failed("获取用户信息失败");
+        }
+        sysUserBankCardService.del(id,sysUser.getId());
+        return succeed();
+    }
+
+    @ApiOperation(value = "分页查询银行卡信息列表")
+    @GetMapping("userBankCard/queryPage")
+    public Object queryPage() {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if(sysUser == null || sysUser.getId() == null){
+            return failed("获取用户失败");
+        }
+        return succeed(sysUserBankCardService.findByUser(sysUser.getId()));
+    }
+}

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

@@ -43,6 +43,7 @@ public class TeacherVipGroupController extends BaseController {
 		}
 		vipGroupApplyDto.getVipGroupApplyBaseInfo().setTeacherId(Long.valueOf(user.getId()));
 		vipGroupApplyDto.getVipGroupApplyBaseInfo().setOrganIdList(user.getOrganId().toString());
+		vipGroupApplyDto.getVipGroupApplyBaseInfo().setOrganId(user.getOrganId());
 		vipGroupService.createVipGroup(vipGroupApplyDto);
 		return succeed();
 	}

+ 56 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/VipGroupActivityController.java

@@ -0,0 +1,56 @@
+package com.ym.mec.teacher.controller;
+
+import com.ym.mec.biz.dal.dto.VipGroupActivityAddDto;
+import com.ym.mec.biz.dal.page.VipGroupActivityQueryInfo;
+import com.ym.mec.biz.service.VipGroupActivityService;
+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.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @Author Joburgess
+ * @Date 2019/10/1
+ */
+
+@Api(tags = "vip课活动")
+@RequestMapping("vipGroupActivity")
+@RestController
+public class VipGroupActivityController extends BaseController {
+
+    @Autowired
+    private VipGroupActivityService vipGroupActivityService;
+
+    @ApiOperation(value = "新增vip课活动方案")
+    @PostMapping("/addVipGroupActivity")
+    @PreAuthorize("@pcs.hasPermissions('vipGroupActivity/addVipGroupActivity')")
+    public Object addVipGroupActivity(@RequestBody VipGroupActivityAddDto vipGroupActivityAddDto){
+        vipGroupActivityService.addVipGroupActivity(vipGroupActivityAddDto);
+        return succeed();
+    }
+
+    @ApiOperation(value = "分页查询活动方案")
+    @GetMapping("/queryPage")
+    @PreAuthorize("@pcs.hasPermissions('vipGroupActivity/queryPage')")
+    public Object queryPage(VipGroupActivityQueryInfo queryInfo){
+        return succeed(vipGroupActivityService.queryPage(queryInfo));
+    }
+
+    @ApiOperation(value = "修改活动方案")
+    @PostMapping("/update")
+    @PreAuthorize("@pcs.hasPermissions('vipGroupActivity/update')")
+    public Object update(@RequestBody VipGroupActivityAddDto vipGroupActivityAddDto){
+        vipGroupActivityService.updateVipGroupActivity(vipGroupActivityAddDto);
+        return succeed();
+    }
+
+    @ApiOperation(value = "根据课程类型获取对应课程活动方案")
+    @GetMapping("/findByVipGroupCategory")
+    @PreAuthorize("@pcs.hasPermissions('vipGroupActivity/findByVipGroupCategory')")
+    public Object findByVipGroupCategory(Long categoryId){
+        return succeed(vipGroupActivityService.findByVipGroupCategory(categoryId));
+    }
+
+}

+ 84 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/VipGroupCategoryController.java

@@ -0,0 +1,84 @@
+package com.ym.mec.teacher.controller;
+
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.entity.VipGroupCategory;
+import com.ym.mec.biz.service.VipGroupCategoryService;
+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.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Date;
+import java.util.Objects;
+
+@Api(tags = "vip课类别")
+@RequestMapping("vipGroupCategory")
+@RestController
+public class VipGroupCategoryController extends BaseController {
+
+	@Autowired
+	private VipGroupCategoryService vipGroupCategoryService;
+
+	@Autowired
+	private SysUserFeignService sysUserFeignService;
+
+	@ApiOperation("单查询")
+	@GetMapping(value = "/query")
+    @PreAuthorize("@pcs.hasPermissions('vipGroupCategory/query')")
+	public Object query(int id) {
+		return succeed(vipGroupCategoryService.get(id));
+	}
+
+	@ApiOperation("全查询")
+	@GetMapping(value = "/queryAll")
+    @PreAuthorize("@pcs.hasPermissions('vipGroupCategory/queryAll')")
+	public Object queryAll() {
+		SysUser user = sysUserFeignService.queryUserInfo();
+		if (Objects.isNull(user)) {
+			return failed(HttpStatus.FORBIDDEN, "请登录");
+		}
+		return succeed(vipGroupCategoryService.findAllByOrgan(user.getOrganId().longValue()));
+	}
+
+	@ApiOperation("新增")
+	@PostMapping(value = "/add")
+    @PreAuthorize("@pcs.hasPermissions('vipGroupCategory/add')")
+	public Object add(VipGroupCategory vipGroupCategory) {
+		Date date = new Date();
+		vipGroupCategory.setCreateTime(date);
+		vipGroupCategory.setUpdateTime(date);
+		vipGroupCategory.setDelFlag("0");
+		vipGroupCategoryService.insert(vipGroupCategory);
+		return succeed();
+	}
+
+	@ApiOperation("修改")
+	@PostMapping(value = "/update")
+    @PreAuthorize("@pcs.hasPermissions('vipGroupCategory/update')")
+	public Object update(VipGroupCategory vipGroupCategory) {
+		Date date = new Date();
+		vipGroupCategory.setUpdateTime(date);
+		vipGroupCategoryService.update(vipGroupCategory);
+		return succeed();
+	}
+
+	@ApiOperation("删除")
+	@PostMapping(value = "/delete")
+    @PreAuthorize("@pcs.hasPermissions('vipGroupCategory/delete')")
+	public Object delete(int id) {
+		VipGroupCategory vipGroupCategory = vipGroupCategoryService.get(id);
+		Date date = new Date();
+		vipGroupCategory.setUpdateTime(date);
+		vipGroupCategory.setDelFlag("1");
+		vipGroupCategoryService.update(vipGroupCategory);
+		return succeed();
+	}
+
+}

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

@@ -134,7 +134,7 @@ public class ClassGroupController extends BaseController {
         return succeed(classGroupService.queryMusicGroupClassGroup(queryInfo));
     }
 
-    @ApiOperation(value = "乐团详情--课表详情列表")
+    @ApiOperation(value = "乐团详情--课表详情列表(课酬调整共用)")
     @GetMapping("/queryMusicGroupCourseSchedule")
     @PreAuthorize("@pcs.hasPermissions('classGroup/queryMusicGroupCourseSchedule')")
     public HttpResponseResult queryMusicGroupCourseSchedule(queryMusicGroupCourseScheduleQueryInfo queryInfo) {
@@ -183,16 +183,6 @@ public class ClassGroupController extends BaseController {
         return succeed(classGroupTeacherMapperService.classGroupTeacherMapperUpdate(classGroupTeacherMapperList));
     }
 
-    @ApiOperation(value = "根据群编号,获取群组所有成员基本信息")
-    @GetMapping("/findGroupUsers")
-    @PreAuthorize("@pcs.hasPermissions('classGroup/findGroupUsers')")
-    public Object findGroupUsers(String groupId) {
-        if (StringUtils.isEmpty(groupId)) {
-            return failed("参数校验错误");
-        }
-        return succeed(classGroupService.findGroupUsers(groupId));
-    }
-
     @ApiOperation(value = "乐团班级设置,成团确认")
     @PostMapping("/addMusicGroupTeam")
     @PreAuthorize("@pcs.hasPermissions('classGroup/addMusicGroupTeam')")

+ 32 - 0
mec-web/src/main/java/com/ym/mec/web/controller/DemoGroupController.java

@@ -0,0 +1,32 @@
+package com.ym.mec.web.controller;
+
+import com.ym.mec.biz.dal.page.TeacherManageDemoGroupQueryInfo;
+import com.ym.mec.biz.service.DemoGroupService;
+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.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @Author Joburgess
+ * @Date 2019/9/25
+ */
+@Api(tags = "试听课")
+@RequestMapping("demoGroup")
+@RestController
+public class DemoGroupController extends BaseController {
+
+    @Autowired
+    private DemoGroupService demoGroupService;
+    @ApiOperation(value = "获取教师试听课安排列表")
+    @GetMapping("/findTeacherDemoGroups")
+    @PreAuthorize("@pcs.hasPermissions('demoGroup/findTeacherDemoGroups')")
+    public Object findTeacherDemoGroups(TeacherManageDemoGroupQueryInfo queryInfo){
+        return succeed(demoGroupService.findTeacherDemoGroups(queryInfo));
+    }
+
+}

+ 8 - 17
mec-web/src/main/java/com/ym/mec/web/controller/education/EmployeeController.java → mec-web/src/main/java/com/ym/mec/web/controller/EmployeeController.java

@@ -1,20 +1,16 @@
-package com.ym.mec.web.controller.education;
+package com.ym.mec.web.controller;
 
 import com.ym.mec.biz.dal.entity.Employee;
-import com.ym.mec.biz.dal.entity.Teacher;
+import com.ym.mec.biz.dal.enums.EmployeeOperateEnum;
+import com.ym.mec.biz.dal.page.EmployeeQueryInfo;
+import com.ym.mec.biz.service.EmployeeService;
+import com.ym.mec.common.controller.BaseController;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-
-import java.io.IOException;
-import java.util.Date;
-
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import com.ym.mec.biz.dal.enums.EmployeeOperateEnum;
-import com.ym.mec.biz.dal.page.EmployeeQueryInfo;
-import com.ym.mec.biz.service.EmployeeService;
-import com.ym.mec.common.controller.BaseController;
+import java.util.Date;
 
 /**
  * @Author Joburgess
@@ -43,13 +39,8 @@ public class EmployeeController extends BaseController {
 
     @ApiOperation(value = "新增员工")
     @PostMapping("/add")
-    public Object add(@RequestBody Employee employee) {
-        try {
-            employeeService.add(employee);
-        } catch (Exception e) {
-            e.printStackTrace();
-            return failed(e.getMessage());
-        }
+    public Object add(@RequestBody Employee employee) throws Exception {
+        employeeService.add(employee);
         return succeed();
     }
 

+ 7 - 0
mec-web/src/main/java/com/ym/mec/web/controller/SubjectController.java

@@ -91,4 +91,11 @@ public class SubjectController extends BaseController {
     public Object findSubApplyDetail(String musicGroupId){
         return succeed(subjectService.findSubApplyDetail(musicGroupId));
     }
+
+    @ApiOperation(value = "获取子集科目列表")
+    @GetMapping("/findSubSubjects")
+    @PreAuthorize("@pcs.hasPermissions('subject/findSubSubjects')")
+    public Object findSubSubjects(){
+        return succeed(subjectService.findSubSubjects());
+    }
 }

+ 0 - 45
mec-web/src/main/java/com/ym/mec/web/controller/SysUserBankCardController.java

@@ -21,49 +21,4 @@ import org.springframework.web.bind.annotation.RestController;
 @RestController
 public class SysUserBankCardController extends BaseController {
 
-    @Autowired
-    private SysUserBankCardService sysUserBankCardService;
-    @Autowired
-    private SysUserFeignService sysUserFeignService;
-
-    @ApiOperation(value = "新增银行卡信息")
-    @PostMapping("/add")
-    @PreAuthorize("@pcs.hasPermissions('userBankCard/add')")
-    public Object add(SysUserBankCard sysUserBankCard) {
-        if(sysUserBankCard == null){
-            return failed("参数校验异常");
-        }
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if(sysUser == null || sysUser.getId() == null){
-            return failed("获取用户失败");
-        }
-        sysUserBankCard.setUserId(sysUser.getId());
-        return succeed(sysUserBankCardService.add(sysUserBankCard));
-    }
-
-    @ApiOperation(value = "删除银行卡信息")
-    @PostMapping("/del")
-    @PreAuthorize("@pcs.hasPermissions('userBankCard/del')")
-    public Object del(Long id) {
-        if(id == null){
-            return failed("参数校验失败");
-        }
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if(sysUser == null || sysUser.getId() == null){
-            return failed("获取用户信息失败");
-        }
-        sysUserBankCardService.del(id,sysUser.getId());
-        return succeed();
-    }
-
-    @ApiOperation(value = "分页查询银行卡信息列表")
-    @GetMapping("/queryPage")
-    @PreAuthorize("@pcs.hasPermissions('userBankCard/queryPage')")
-    public Object queryPage() {
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if(sysUser == null || sysUser.getId() == null){
-            return failed("获取用户失败");
-        }
-        return succeed(sysUserBankCardService.findByUser(sysUser.getId()));
-    }
 }

+ 28 - 0
mec-web/src/main/java/com/ym/mec/web/controller/TeacherAttendanceController.java

@@ -0,0 +1,28 @@
+package com.ym.mec.web.controller;
+
+import com.ym.mec.biz.dal.page.TeacherCloseQueryInfo;
+import com.ym.mec.biz.service.TeacherAttendanceService;
+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.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RequestMapping("teacherAttendance")
+@Api(tags = "教师签到服务")
+@RestController
+public class TeacherAttendanceController extends BaseController {
+
+    @Autowired
+    private TeacherAttendanceService teacherAttendanceService;
+
+    @ApiOperation(value = "查询教师签到(上课)记录")
+    @GetMapping("/getTeacherPersonalAttendances")
+    @PreAuthorize("@pcs.hasPermissions('teacherAttendance/getTeacherPersonalAttendances')")
+    public Object getTeacherPersonalAttendances(TeacherCloseQueryInfo queryInfo){
+        return succeed(teacherAttendanceService.getTeacherPersonalAttendances(queryInfo));
+    }
+}

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

@@ -1,18 +1,18 @@
 package com.ym.mec.web.controller;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
-import com.ym.mec.biz.dal.entity.CourseSchedule;
-import com.ym.mec.biz.dal.page.MusicGroupTeacherAttendanceQueryInfo;
-import com.ym.mec.biz.dal.page.MusicGroupTeachersQueryInfo;
+import com.ym.mec.biz.dal.entity.Teacher;
+import com.ym.mec.biz.dal.page.*;
+import com.ym.mec.biz.service.ClassGroupService;
 import com.ym.mec.biz.service.TeacherService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.page.QueryInfo;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -25,6 +25,40 @@ public class TeacherController extends BaseController {
     private TeacherService teacherService;
     @Autowired
     private SysUserFeignService sysUserFeignService;
+    @Autowired
+    private ClassGroupService classGroupService;
+
+    @ApiOperation(value = "新增教师")
+    @PostMapping("/add")
+    @PreAuthorize("@pcs.hasPermissions('teacher/add')")
+    public HttpResponseResult add(Teacher teacher) throws Exception {
+        teacherService.add(teacher);
+        return succeed();
+    }
+
+    @ApiOperation(value = "分页查询教师列表")
+    @GetMapping("/queryPage")
+    @PreAuthorize("@pcs.hasPermissions('teacher/queryPage')")
+    public Object queryPage(TeacherQueryInfo queryInfo) {
+        return succeed(teacherService.queryPageDetail(queryInfo));
+    }
+
+    @ApiOperation(value = "修改教师信息")
+    @PostMapping("/update")
+    @PreAuthorize("@pcs.hasPermissions('teacher/update')")
+    public Object update(Teacher teacher) {
+        teacherService.updateTea(teacher);
+        return succeed();
+    }
+
+    @ApiOperation(value = "根据教师编号查询教师基本信息")
+    @GetMapping("/get")
+    @ApiParam(value = "教师编号", required = true)
+    @PreAuthorize("@pcs.hasPermissions('teacher/get')")
+    @ApiImplicitParams({@ApiImplicitParam(name = "teacherId", value = "教师编号", required = true, dataType = "Integer")})
+    public Object get(Integer teacherId) {
+        return succeed(teacherService.getDetail(teacherId));
+    }
 
     @ApiOperation(value = "获取分部所有老师")
     @GetMapping("/findTeachers")
@@ -37,6 +71,7 @@ public class TeacherController extends BaseController {
     @ApiOperation(value = "获取乐团所有老师")
     @GetMapping("/findMusicGroupTeachers")
     @PreAuthorize("@pcs.hasPermissions('teacher/findMusicGroupTeachers')")
+    @ApiImplicitParams({@ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String")})
     public HttpResponseResult findMusicGroupTeachers(String musicGroupId){
         return succeed(teacherService.queryMusicGroupTeacher(musicGroupId));
     }
@@ -55,4 +90,34 @@ public class TeacherController extends BaseController {
         return succeed(teacherService.queryTeacherAttendance(queryInfo));
     }
 
+    @ApiOperation(value = "获取老师乐团课程信息列表")
+    @GetMapping("/getTeacherMusicClass")
+    @ApiParam(value = "教师编号", required = true)
+    @PreAuthorize("@pcs.hasPermissions('teacher/getTeacherMusicClass')")
+    public Object getTeacherMusicClass(QueryInfo queryInfo){
+        return succeed(classGroupService.getTeacherMusicClass(queryInfo));
+    }
+
+    @ApiOperation(value = "获取老师VIP课程信息列表")
+    @GetMapping("/getTeacherVipClass")
+    @PreAuthorize("@pcs.hasPermissions('teacher/getTeacherVipClass')")
+    public Object getTeacherVipClass(VipClassQueryInfo queryInfo){
+        return succeed(classGroupService.getTeacherVipClass(queryInfo));
+    }
+
+    @ApiOperation(value = "获取教师上课结算列表")
+    @GetMapping("/queryCloses")
+    @PreAuthorize("@pcs.hasPermissions('teacher/queryCloses')")
+    public Object queryCloses(TeacherCloseQueryInfo queryInfo){
+        return succeed(teacherService.queryCloses(queryInfo));
+    }
+
+    @ApiOperation(value = "获取教师上课课酬未结算总额")
+    @GetMapping("/sumTeacherNoPay")
+    @PreAuthorize("@pcs.hasPermissions('teacher/sumTeacherNoPay')")
+    public Object findTeacherNoPay(Integer teacherId){
+        return succeed(teacherService.findTeacherNoPay(teacherId));
+    }
+
+
 }

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

@@ -32,6 +32,7 @@ public class UploadFileController extends BaseController {
 	private UploadFileService uploadFileService;
 
 	@PostMapping(value = "uploadFile")
+	@PreAuthorize("@pcs.hasPermissions('uploadFile')")
 	public Object uploadFile(@ApiParam(value = "上传的文件", required = true) @RequestParam("file") MultipartFile file) {
 		try {
 			if (file != null && StringUtils.isNotBlank(file.getOriginalFilename())) {

+ 8 - 12
mec-web/src/main/java/com/ym/mec/web/controller/student/SuggestionController.java

@@ -1,19 +1,19 @@
 package com.ym.mec.web.controller.student;
 
-import static com.ym.mec.common.controller.BaseController.succeed;
+import com.ym.mec.biz.dal.entity.SysSuggestion;
+import com.ym.mec.biz.service.SysSuggestionService;
+import com.ym.mec.common.page.QueryInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
-
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import com.ym.mec.biz.dal.entity.SysSuggestion;
-import com.ym.mec.biz.service.SysSuggestionService;
-import com.ym.mec.common.page.QueryInfo;
+import static com.ym.mec.common.controller.BaseController.succeed;
 
 /**
  * @Author Joburgess
@@ -27,15 +27,9 @@ public class SuggestionController {
     @Autowired
     private SysSuggestionService suggestionService;
 
-    @ApiOperation(value = "新增建议")
-    @PostMapping("/add")
-    public Object add(SysSuggestion SysSuggestion) {
-        suggestionService.insert(SysSuggestion);
-        return succeed();
-    }
-
     @ApiOperation(value = "删除建议")
     @PostMapping("/del/{id}")
+    @PreAuthorize("@pcs.hasPermissions('suggestion/del')")
     public Object del(@ApiParam(value = "建议编号", required = true) @PathVariable("id") Integer id) {
         suggestionService.delete(Long.valueOf(id));
         return succeed();
@@ -43,6 +37,7 @@ public class SuggestionController {
 
     @ApiOperation(value = "修改建议")
     @PostMapping("/update")
+    @PreAuthorize("@pcs.hasPermissions('suggestion/update')")
     public Object update(SysSuggestion SysSuggestion) {
         suggestionService.update(SysSuggestion);
         return succeed();
@@ -51,6 +46,7 @@ public class SuggestionController {
 
     @ApiOperation("分页查询建议列表")
     @PostMapping("/queryPage")
+    @PreAuthorize("@pcs.hasPermissions('suggestion/queryPage')")
     public Object queryPage(QueryInfo queryInfo){
         return succeed(suggestionService.queryPage(queryInfo));
     }