Преглед изворни кода

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

zouxuan пре 5 година
родитељ
комит
a04b13743a
27 измењених фајлова са 600 додато и 91 уклоњено
  1. 9 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupTeacherSalaryDao.java
  2. 0 7
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java
  3. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRechargeDao.java
  4. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysUserCashAccountDetailDao.java
  5. 0 7
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/VipGroupDao.java
  6. 105 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ClassGroupTeacherSalary.java
  7. 136 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentCashDetailQueryInfo.java
  8. 12 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentRechargeQueryInfo.java
  9. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java
  10. 13 0
      mec-biz/src/main/java/com/ym/mec/biz/service/EmployeeService.java
  11. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentRechargeService.java
  12. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/service/SysUserCashAccountDetailService.java
  13. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/service/TeacherService.java
  14. 24 34
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  15. 21 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeServiceImpl.java
  16. 10 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRechargeServiceImpl.java
  17. 5 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysUserCashAccountDetailServiceImpl.java
  18. 9 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java
  19. 0 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java
  20. 124 0
      mec-biz/src/main/resources/config/mybatis/ClassGroupTeacherSalaryMapper.xml
  21. 0 18
      mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  22. 4 0
      mec-biz/src/main/resources/config/mybatis/StudentRechargeMapper.xml
  23. 4 0
      mec-biz/src/main/resources/config/mybatis/SysUserCashAccountDetailMapper.xml
  24. 3 11
      mec-biz/src/main/resources/config/mybatis/VipGroupMapper.xml
  25. 7 0
      mec-web/src/main/java/com/ym/mec/web/controller/TeacherController.java
  26. 17 5
      mec-web/src/main/java/com/ym/mec/web/controller/education/EmployeeController.java
  27. 81 0
      mec-web/src/main/java/com/ym/mec/web/controller/student/StudentCashAccountDetailController.java

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupTeacherSalaryDao.java

@@ -0,0 +1,9 @@
+package com.ym.mec.biz.dal.dao;
+
+
+import com.ym.mec.biz.dal.entity.ClassGroupTeacherSalary;
+import com.ym.mec.common.dal.BaseDAO;
+
+public interface ClassGroupTeacherSalaryDao extends BaseDAO<Integer, ClassGroupTeacherSalary> {
+
+}

+ 0 - 7
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -53,13 +53,6 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
     /**
      * @Author: Joburgess
      * @Date: 2019/9/23
-     * 根据班级id获取已添加最大课次
-     */
-    String[] getMaxClassTimeByClassIds(List<Long> ids);
-
-    /**
-     * @Author: Joburgess
-     * @Date: 2019/9/23
      * 统计教师在一天内有时间重复的课数
      */
     int countTeacherCourseInOnDayRepeats(CourseSchedule courseSchedule);

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRechargeDao.java

@@ -5,5 +5,7 @@ import com.ym.mec.common.dal.BaseDAO;
 
 public interface StudentRechargeDao extends BaseDAO<String, StudentRecharge> {
 
+
+    StudentRecharge selectByTransNo(String transNo);
 	
 }

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

@@ -5,5 +5,5 @@ import com.ym.mec.common.dal.BaseDAO;
 
 public interface SysUserCashAccountDetailDao extends BaseDAO<Long, SysUserCashAccountDetail> {
 
-	
+    SysUserCashAccountDetail selectDetailByTransNo(String transNo);
 }

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

@@ -44,13 +44,6 @@ public interface VipGroupDao extends BaseDAO<Long, VipGroup> {
 	/**
 	 * @Author: Joburgess
 	 * @Date: 2019/9/23
-	 * 获取小课当前课时
-	 */
-	int getVipGroupCurrentClassTime(Long vipGroupId);
-
-	/**
-	 * @Author: Joburgess
-	 * @Date: 2019/9/23
 	 * 获取小课考勤记录
 	 */
     List<CourseSchedule> findVipGroupAttendances(Map<String,Object> params);

+ 105 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ClassGroupTeacherSalary.java

@@ -0,0 +1,105 @@
+package com.ym.mec.biz.dal.entity;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+public class ClassGroupTeacherSalary {
+    private Long id;
+
+    private Integer musicGroupId;
+
+    private Integer classGroupId;
+
+    /**
+    * 老师角色(主教、助教)
+    */
+    private String teacherRole;
+
+    private Integer userId;
+
+    /**
+    * 课时长
+    */
+    private Integer duration;
+
+    /**
+    * 薪酬
+    */
+    private BigDecimal salary;
+
+    private Date createTime;
+
+    private Date updateTime;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Integer getMusicGroupId() {
+        return musicGroupId;
+    }
+
+    public void setMusicGroupId(Integer musicGroupId) {
+        this.musicGroupId = musicGroupId;
+    }
+
+    public Integer getClassGroupId() {
+        return classGroupId;
+    }
+
+    public void setClassGroupId(Integer classGroupId) {
+        this.classGroupId = classGroupId;
+    }
+
+    public String getTeacherRole() {
+        return teacherRole;
+    }
+
+    public void setTeacherRole(String teacherRole) {
+        this.teacherRole = teacherRole;
+    }
+
+    public Integer getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Integer userId) {
+        this.userId = userId;
+    }
+
+    public Integer getDuration() {
+        return duration;
+    }
+
+    public void setDuration(Integer duration) {
+        this.duration = duration;
+    }
+
+    public BigDecimal getSalary() {
+        return salary;
+    }
+
+    public void setSalary(BigDecimal salary) {
+        this.salary = salary;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+}

+ 136 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentCashDetailQueryInfo.java

@@ -0,0 +1,136 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.biz.dal.enums.DealStatusEnum;
+import com.ym.mec.biz.dal.enums.PlatformCashAccountDetailTypeEnum;
+import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author : chengp
+ * @version V1.0
+ * @Description: TODO
+ * @date Date : 2019年09月24日 10:07
+ */
+public class StudentCashDetailQueryInfo extends QueryInfo {
+
+    /** 用户编号 */
+    @ApiModelProperty(value = "用户编号",required = false)
+    private Integer userId;
+
+    /** 交易流水号 */
+    @ApiModelProperty(value = "交易流水号",required = false)
+    private String transNo;
+
+    /** 交易类型 (RECHARGE 充值,WITHDRAW 提现,PAY_FEE 缴费,REFUNDS 退费,FILL_ACCOUNT 人工补账) */
+    @ApiModelProperty(value = "交易类型",required = false)
+    private PlatformCashAccountDetailTypeEnum type;
+
+    /** 交易状态(1,交易中;2,成功交易;-1,交易失败;) */
+    @ApiModelProperty(value = "交易状态",required = false)
+    private DealStatusEnum status;
+
+    /** 交易金额 */
+    @ApiModelProperty(value = "交易金额",required = false)
+    private BigDecimal amount;
+
+    /** 账户可用余额 */
+    @ApiModelProperty(value = "账户可用余额",required = false)
+    private BigDecimal balance;
+
+    /** 描述 */
+    @ApiModelProperty(value = "描述",required = false)
+    private String description;
+
+    /** 后台备注 */
+    @ApiModelProperty(value = "后台备注",required = false)
+    private String comment;
+
+    /** 创建时间 */
+    private java.util.Date createTime;
+
+    /** 修改时间 */
+    private java.util.Date updateTime;
+
+    public Integer getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Integer userId) {
+        this.userId = userId;
+    }
+
+    public String getTransNo() {
+        return transNo;
+    }
+
+    public void setTransNo(String transNo) {
+        this.transNo = transNo;
+    }
+
+    public PlatformCashAccountDetailTypeEnum getType() {
+        return type;
+    }
+
+    public void setType(PlatformCashAccountDetailTypeEnum type) {
+        this.type = type;
+    }
+
+    public DealStatusEnum getStatus() {
+        return status;
+    }
+
+    public void setStatus(DealStatusEnum status) {
+        this.status = status;
+    }
+
+    public BigDecimal getAmount() {
+        return amount;
+    }
+
+    public void setAmount(BigDecimal amount) {
+        this.amount = amount;
+    }
+
+    public BigDecimal getBalance() {
+        return balance;
+    }
+
+    public void setBalance(BigDecimal balance) {
+        this.balance = balance;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public String getComment() {
+        return comment;
+    }
+
+    public void setComment(String comment) {
+        this.comment = comment;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+}

+ 12 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentRechargeQueryInfo.java

@@ -0,0 +1,12 @@
+package com.ym.mec.biz.dal.page;
+
+import com.ym.mec.common.page.QueryInfo;
+
+/**
+ * @author : chengp
+ * @version V1.0
+ * @Description: TODO
+ * @date Date : 2019年09月24日 10:07
+ */
+public class StudentRechargeQueryInfo extends QueryInfo {
+}

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

@@ -23,14 +23,14 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
      * @Date: 2019/9/17
      * 批量插入课程计划
      */
-    String batchAddCourseSchedule(List<CourseSchedule> courseSchedules);
+    void batchAddCourseSchedule(List<CourseSchedule> courseSchedules);
 
     /**
      * @Author: Joburgess
      * @Date: 2019/9/17
      * 批量更新课程计划
      */
-    String batchUpdateCourseSchedule(List<CourseSchedule> courseSchedules,Long musicGroupID);
+    void batchUpdateCourseSchedule(List<CourseSchedule> courseSchedules,Long musicGroupID);
 
     /**
      * @Author: Joburgess

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

@@ -31,4 +31,17 @@ public interface EmployeeService extends BaseService<Integer, Employee> {
      */
     void add(Employee employee) throws Exception;
 
+    /**
+     * 修改员工信息
+     * @param employee
+     */
+    void updateEmployee(Employee employee);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/24
+     * 删除员工
+     */
+    void deleteEmployee(Long userId);
+
 }

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

@@ -11,4 +11,6 @@ public interface StudentRechargeService extends BaseService<String, StudentRecha
      * @param rechargeDto
      */
     Boolean recharge(RechargeDto rechargeDto);
+
+    StudentRecharge selectByTransNo(String transNo);
 }

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

@@ -5,4 +5,6 @@ import com.ym.mec.common.service.BaseService;
 
 public interface SysUserCashAccountDetailService extends BaseService<Long, SysUserCashAccountDetail> {
 
+    SysUserCashAccountDetail selectDetailByTransNo(String transNo);
+
 }

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

@@ -40,4 +40,11 @@ public interface TeacherService extends BaseService<Integer, Teacher> {
      * @return
      */
     Teacher getDetail(Integer id);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/24
+     * 删除教师
+     */
+    void deleteTeacher(Long userId);
 }

+ 24 - 34
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -43,26 +43,16 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 	}
 
 	@Override
-	public String batchAddCourseSchedule(List<CourseSchedule> courseSchedules) {
-		String result=checkCourseSchedule(courseSchedules);
-		if(result.isEmpty()){
-			courseScheduleDao.batchAddCourseSchedules(courseSchedules);
-			return result;
-		}else{
-			return result;
-		}
+	public void batchAddCourseSchedule(List<CourseSchedule> courseSchedules) {
+		checkCourseSchedule(courseSchedules);
+		courseScheduleDao.batchAddCourseSchedules(courseSchedules);
 	}
 
 	@Override
-	public String batchUpdateCourseSchedule(List<CourseSchedule> courseSchedules, Long musicGroupID) {
-		String result=checkCourseSchedule(courseSchedules);
-		if(result.isEmpty()){
-			courseScheduleDao.deleteCourseSchedulesByMusicGroupID(musicGroupID);
-			courseScheduleDao.batchAddCourseSchedules(courseSchedules);
-			return result;
-		}else{
-			return result;
-		}
+	public void batchUpdateCourseSchedule(List<CourseSchedule> courseSchedules, Long musicGroupID) {
+		checkCourseSchedule(courseSchedules);
+        courseScheduleDao.deleteCourseSchedulesByMusicGroupID(musicGroupID);
+        courseScheduleDao.batchAddCourseSchedules(courseSchedules);
 	}
 
 	@Override
@@ -81,7 +71,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 	 * @param courseSchedules
 	 * @return
 	 */
-	private String checkCourseSchedule(List<CourseSchedule> courseSchedules){
+	private void checkCourseSchedule(List<CourseSchedule> courseSchedules){
 		Map<Date, List<CourseSchedule>> collect = courseSchedules.stream().collect(Collectors.groupingBy(CourseSchedule::getClassDate));
 		for(Date keyDate:collect.keySet()){
 			List<CourseSchedule> currentCourses=collect.get(keyDate);
@@ -96,34 +86,34 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 								Collectors.groupingBy(CourseSchedule::getTeacherId));
 						for (Long teacherID:collect2.keySet()){
 							if(collect2.get(teacherID).size()>ParamEnum.ONE.getCode()){
-								return new SimpleDateFormat("yyyy-MM-dd").format(keyDate)+"日的课程安排在教师分配上有冲突!";
+								throw new BizException(new SimpleDateFormat("yyyy-MM-dd").format(keyDate)+"日的课程安排在教师分配上有冲突!");
 							}
 						}
 						List<Integer> repeatClassGroupIds = currentCourses1.stream().map(CourseSchedule::getClassGroupId).collect(Collectors.toList());
 						Integer[] counts=courseScheduleDao.countStudentInClass(repeatClassGroupIds);
 						for (Integer i:counts){
 							if (i>ParamEnum.ONE.getCode()){
-								return new SimpleDateFormat("yyyy-MM-dd").format(keyDate)+"日的课程安排有学生重复!";
+								throw new BizException(new SimpleDateFormat("yyyy-MM-dd").format(keyDate)+"日的课程安排有学生重复!");
 							}
 						}
 					}
 				}
 			}
 		}
-		Map<Integer, List<CourseSchedule>> classGroupByID = courseSchedules.stream().collect(Collectors.groupingBy(CourseSchedule::getClassGroupId));
-		List<Long> ids=new ArrayList<>();
-		for (Integer key:classGroupByID.keySet()){
-			ids.add(Long.valueOf(key));
-		}
-		Map<Integer, Integer> maxClassTimes = convertToMap(courseScheduleDao.getMaxClassTimeByClassIds(ids));
-		courseSchedules.clear();
-		for (Integer key:classGroupByID.keySet()){
-			Integer maxClassTime = null == maxClassTimes.get(key) ? 0 : maxClassTimes.get(key);
-			for(CourseSchedule courseSchedule:classGroupByID.get(key)){
-				courseSchedules.add(courseSchedule);
-			}
-		}
-		return "";
+		//课次创建
+//		Map<Integer, List<CourseSchedule>> classGroupByID = courseSchedules.stream().collect(Collectors.groupingBy(CourseSchedule::getClassGroupId));
+//		List<Long> ids=new ArrayList<>();
+//		for (Integer key:classGroupByID.keySet()){
+//			ids.add(Long.valueOf(key));
+//		}
+//		Map<Integer, Integer> maxClassTimes = convertToMap(courseScheduleDao.getMaxClassTimeByClassIds(ids));
+//		courseSchedules.clear();
+//		for (Integer key:classGroupByID.keySet()){
+//			Integer maxClassTime = null == maxClassTimes.get(key) ? 0 : maxClassTimes.get(key);
+//			for(CourseSchedule courseSchedule:classGroupByID.get(key)){
+//				courseSchedules.add(courseSchedule);
+//			}
+//		}
 	}
 
 	private Map<Integer,Integer> convertToMap(String[] result){

+ 21 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeServiceImpl.java

@@ -10,6 +10,9 @@ import java.util.Map;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.auth.api.enums.YesOrNoEnum;
+import com.ym.mec.biz.dal.dao.TeacherDao;
+import com.ym.mec.biz.dal.entity.Teacher;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpEntity;
 import org.springframework.http.HttpHeaders;
@@ -18,6 +21,7 @@ import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.MultiValueMap;
 import org.springframework.web.client.RestTemplate;
 
@@ -48,6 +52,8 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 	private ObjectMapper objectMapper;
 	@Autowired
 	private SysUserFeignService sysUserFeignService;
+	@Autowired
+	private TeacherDao teacherDao;
 
 	@Override
 	public BaseDAO<Integer, Employee> getDAO() {
@@ -69,6 +75,21 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee>  imp
 	}
 
 	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void updateEmployee(Employee employee) {
+		employeeDao.update(employee);
+		teacherDao.updateUser(employee);
+	}
+
+	@Override
+	public void deleteEmployee(Long userId) {
+		SysUser sysUser=new SysUser();
+		sysUser.setId(userId.intValue());
+		sysUser.setDelFlag(YesOrNoEnum.YES);
+		teacherDao.updateUser(sysUser);
+	}
+
+	@Override
 	public PageInfo queryEmployByOrganId(EmployeeQueryInfo queryInfo) throws IOException {
 		String url = "http://auth-server/queryUserInfo";
 

+ 10 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRechargeServiceImpl.java

@@ -40,17 +40,17 @@ public class StudentRechargeServiceImpl extends BaseServiceImpl<String, StudentR
 	@Override
 	public Boolean recharge(RechargeDto rechargeDto) {
 
-		//TODO ???????????????
+		//TODO 调用第三方支付
 		Date now  = new Date();
 
-		//?????????
+		//充值记录
         StudentRecharge studentRecharge = new StudentRecharge();
         studentRecharge.setAmount(rechargeDto.getRechargeAmount());
 		studentRecharge.setCreateTime(now);
 		studentRecharge.setUserId(rechargeDto.getUserId().longValue());
 		studentRecharge.setTransNo(null);
 		studentRechargeDao.insert(studentRecharge);
-		//??????
+		//账户资金流水
 		SysUserCashAccountDetail cashAccount = new SysUserCashAccountDetail();
 		cashAccount.setAmount(rechargeDto.getRechargeAmount());
 		cashAccount.setBalance(null);
@@ -59,9 +59,15 @@ public class StudentRechargeServiceImpl extends BaseServiceImpl<String, StudentR
 		cashAccount.setUserId(rechargeDto.getUserId());
 		cashAccount.setCreateTime(now);
 		sysUserCashAccountDetailDao.insert(cashAccount);
-		//??????????
+
+		//扣减账户
 		sysUserCashAccountDao.incrAccount(rechargeDto.getUserId(),rechargeDto.getRechargeAmount());
 
 		return true;
 	}
+
+	@Override
+	public StudentRecharge selectByTransNo(String transNo) {
+		return studentRechargeDao.selectByTransNo(transNo);
+	}
 }

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

@@ -19,5 +19,9 @@ public class SysUserCashAccountDetailServiceImpl extends BaseServiceImpl<Long, S
 	public BaseDAO<Long, SysUserCashAccountDetail> getDAO() {
 		return sysUserCashAccountDetailDao;
 	}
-	
+
+	@Override
+	public SysUserCashAccountDetail selectDetailByTransNo(String transNo) {
+		return sysUserCashAccountDetailDao.selectDetailByTransNo(transNo);
+	}
 }

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.service.impl;
 import com.alibaba.fastjson.JSON;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.auth.api.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.dao.OrganizationDao;
 import com.ym.mec.biz.dal.dao.SubjectDao;
 import com.ym.mec.biz.dal.dao.TeacherDao;
@@ -67,6 +68,14 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 	}
 
 	@Override
+	public void deleteTeacher(Long userId) {
+		SysUser sysUser=new SysUser();
+		sysUser.setId(userId.intValue());
+		sysUser.setDelFlag(YesOrNoEnum.YES);
+		teacherDao.updateUser(sysUser);
+	}
+
+	@Override
 	public PageInfo<Teacher> queryPageDetail(TeacherQueryInfo queryInfo) {
 		PageInfo<Teacher> pageInfo = queryPage(queryInfo);
 		List<Teacher> teachers = pageInfo.getRows();

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

@@ -92,7 +92,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 	@Override
 	public VipGroupManageDetailDto getVipGroupDetail(Long vipGroupId) {
 		VipGroupManageDetailDto vipGroupBaseInfo = vipGroupDao.getVipGroupBaseInfo(vipGroupId);
-		vipGroupBaseInfo.setLatestClassTime(vipGroupDao.getVipGroupCurrentClassTime(vipGroupId));
 		return vipGroupBaseInfo;
 	}
 

+ 124 - 0
mec-biz/src/main/resources/config/mybatis/ClassGroupTeacherSalaryMapper.xml

@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ym.mec.biz.dal.dao.ClassGroupTeacherSalaryDao">
+  <resultMap id="ClassGroupTeacherSalary" type="com.ym.mec.biz.dal.entity.ClassGroupTeacherSalary">
+    <id column="id_" jdbcType="BIGINT" property="id" />
+    <result column="music_group_id_" jdbcType="INTEGER" property="musicGroupId" />
+    <result column="class_group_id_" jdbcType="INTEGER" property="classGroupId" />
+    <result column="teacher_role_" jdbcType="VARCHAR" property="teacherRole" />
+    <result column="user_id_" jdbcType="INTEGER" property="userId" />
+    <result column="duration_" jdbcType="INTEGER" property="duration" />
+    <result column="salary_" jdbcType="DECIMAL" property="salary" />
+    <result column="create_time_" jdbcType="TIMESTAMP" property="createTime" />
+    <result column="update_time_" jdbcType="TIMESTAMP" property="updateTime" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    
+    id_, music_group_id_, class_group_id_, teacher_role_, user_id_, duration_, salary_, 
+    create_time_, update_time_
+  </sql>
+  <select id="get" parameterType="java.lang.Long" resultMap="ClassGroupTeacherSalary">
+     select * from class_group_teacher_salary where id_ = #{id}
+  </select>
+  <delete id="delete" parameterType="java.lang.Long">
+    delete from class_group_teacher_salary
+    where id_ = #{id}
+  </delete>
+  <insert id="insert" keyColumn="id_" keyProperty="id" parameterType="com.ym.mec.biz.dal.entity.ClassGroupTeacherSalary" useGeneratedKeys="true">
+    
+    insert into class_group_teacher_salary
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="musicGroupId != null">
+        music_group_id_,
+      </if>
+      <if test="classGroupId != null">
+        class_group_id_,
+      </if>
+      <if test="teacherRole != null">
+        teacher_role_,
+      </if>
+      <if test="userId != null">
+        user_id_,
+      </if>
+      <if test="duration != null">
+        duration_,
+      </if>
+      <if test="salary != null">
+        salary_,
+      </if>
+      <if test="createTime != null">
+        create_time_,
+      </if>
+      <if test="updateTime != null">
+        update_time_,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="musicGroupId != null">
+        #{musicGroupId,jdbcType=INTEGER},
+      </if>
+      <if test="classGroupId != null">
+        #{classGroupId,jdbcType=INTEGER},
+      </if>
+      <if test="teacherRole != null">
+        #{teacherRole,jdbcType=VARCHAR},
+      </if>
+      <if test="userId != null">
+        #{userId,jdbcType=INTEGER},
+      </if>
+      <if test="duration != null">
+        #{duration,jdbcType=INTEGER},
+      </if>
+      <if test="salary != null">
+        #{salary,jdbcType=DECIMAL},
+      </if>
+      <if test="createTime != null">
+        #{createTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateTime != null">
+        #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+    </trim>
+  </insert>
+  <update id="update" parameterType="com.ym.mec.biz.dal.entity.ClassGroupTeacherSalary">
+    
+    update class_group_teacher_salary
+    <set>
+      <if test="musicGroupId != null">
+        music_group_id_ = #{musicGroupId,jdbcType=INTEGER},
+      </if>
+      <if test="classGroupId != null">
+        class_group_id_ = #{classGroupId,jdbcType=INTEGER},
+      </if>
+      <if test="teacherRole != null">
+        teacher_role_ = #{teacherRole,jdbcType=VARCHAR},
+      </if>
+      <if test="userId != null">
+        user_id_ = #{userId,jdbcType=INTEGER},
+      </if>
+      <if test="duration != null">
+        duration_ = #{duration,jdbcType=INTEGER},
+      </if>
+      <if test="salary != null">
+        salary_ = #{salary,jdbcType=DECIMAL},
+      </if>
+      <if test="createTime != null">
+        create_time_ = #{createTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateTime != null">
+        update_time_ = #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+    </set>
+    where id_ = #{id,jdbcType=BIGINT}
+  </update>
+  <!-- 分页查询 -->
+  <select id="queryPage" resultMap="ClassGroupTeacherSalary" parameterType="map">
+    SELECT * FROM class_group_teacher_salary ORDER BY id_
+    <include refid="global.limit"/>
+  </select>
+
+  <!-- 查询当前表的总记录数 -->
+  <select id="queryCount" resultType="int">
+    SELECT COUNT(*) FROM class_group_teacher_salary
+  </select>
+</mapper>

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

@@ -20,7 +20,6 @@
         <result column="update_time_" property="updateTime"/>
         <result column="teach_mode_" property="teachMode" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="complaint_status_" property="complaintStatus"/>
-        <result column="current_class_times_" property="currentClassTimes"/>
     </resultMap>
 
     <resultMap type="com.ym.mec.biz.dal.dto.CourseScheduleDto" id="courseScheduleDto" extends="CourseSchedule">
@@ -91,9 +90,6 @@
             <if test="updateTime != null">
                 update_time_ = #{updateTime},
             </if>
-            <if test="currentClassTimes!=null">
-                current_class_times_=#{currentClassTimes}
-            </if>
         </set>
         WHERE id_ = #{id}
     </update>
@@ -225,20 +221,6 @@
         GROUP BY cs.class_date_
     </select>
 
-    <select id="getMaxClassTimeByClassIds" resultType="string">
-        SELECT
-        concat(class_group_id_,",",IF(MAX( current_class_times_ ) IS NULL,0,MAX( current_class_times_ )))
-        FROM
-        course_schedule
-        WHERE
-        class_group_id_ IN
-        <foreach collection="list" item="id" open="(" close=")" separator=",">
-            #{id}
-        </foreach>
-        GROUP BY
-        class_group_id_
-    </select>
-
     <select id="countTeacherCourseInOnDayRepeats" parameterType="com.ym.mec.biz.dal.entity.CourseSchedule" resultType="int">
         SELECT
         COUNT( * )

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

@@ -97,4 +97,8 @@
     <select id="queryCount" resultType="int">
 		SELECT COUNT(*) FROM student_recharge
 	</select>
+
+    <select id="selectByTransNo" resultMap="StudentRecharge">
+		SELECT * FROM student_recharge WHERE  trans_no_ = #{transNo}
+	</select>
 </mapper>

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

@@ -96,4 +96,8 @@
 		SELECT COUNT(*) FROM sys_user_cash_account_detail
 		WHERE user_id_ = #{userId}
 	</select>
+
+    <select id="selectDetailByTransNo" resultMap="SysUserCashAccountDetail">
+		SELECT * FROM sys_user_cash_account_detail WHERE    trans_no_ = #{transNo}
+	</select>
 </mapper>

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

@@ -28,6 +28,7 @@
 
     <resultMap id="vipGroupManageDetailDto" type="com.ym.mec.biz.dal.dto.VipGroupManageDetailDto" extends="VipGroup">
         <result property="studentNum" column="student_num_"/>
+        <result property="latestClassTime" column="current_class_times_"/>
         <collection property="students" ofType="com.ym.mec.auth.api.entity.SysUser" column="user_id_">
             <result property="id" column="user_id_"/>
             <result property="username" column="username_"/>
@@ -174,10 +175,11 @@
         FROM
             vip_group vg
     </select>
-    <select id="getVipGroupBaseInfo">
+    <select id="getVipGroupBaseInfo" resultMap="vipGroupManageDetailDto">
         SELECT
             vg.*,
             cg.student_num_,
+            cg.current_class_times_,
             su.*
         FROM
             vip_group vg
@@ -188,16 +190,6 @@
         WHERE vg.id_=1
         ORDER BY vg.id_ DESC
     </select>
-    <select id="getVipGroupCurrentClassTime">
-        SELECT
-        if(MAX(cs.current_class_times_) IS NULL,0,MAX(cs.current_class_times_))
-        FROM
-        vip_group vg
-        LEFT JOIN vip_group_class_group_mapper vgcgm ON vg.id_=vgcgm.vip_group_id_
-        LEFT JOIN course_schedule cs ON vgcgm.class_group_id_=cs.class_group_id_
-        WHERE vg.id_=1 AND CONCAT(cs.class_date_,' ',cs.end_class_time_)&lt;now()
-        GROUP BY cs.id_
-    </select>
 
     <sql id="vipGroupAttendanceQueryCondition">
         <where>

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

@@ -51,6 +51,13 @@ public class TeacherController extends BaseController {
         return succeed();
     }
 
+    @ApiOperation(value = "删除教师")
+    @PostMapping("/delete/{userId}")
+    public Object update(@PathVariable("userId") Long userId) {
+        teacherService.deleteTeacher(userId);
+        return succeed();
+    }
+
     @ApiOperation(value = "根据教师编号查询教师基本信息")
     @GetMapping("/get/{id}")
     @ApiParam(value = "教师编号", required = true)

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

@@ -6,13 +6,10 @@ 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.GetMapping;
-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;
+import org.springframework.web.bind.annotation.*;
 
 import com.ym.mec.biz.dal.enums.EmployeeOperateEnum;
 import com.ym.mec.biz.dal.page.EmployeeQueryInfo;
@@ -55,4 +52,19 @@ public class EmployeeController extends BaseController {
         }
         return succeed();
     }
+
+    @ApiOperation(value = "修改员工")
+    @PostMapping("/update")
+    public Object update(Employee employee) {
+        employee.setUpdateTime(new Date());
+        employeeService.updateEmployee(employee);
+        return succeed();
+    }
+
+    @ApiOperation(value = "删除员工")
+    @PostMapping("/delete/{userId}")
+    public Object update(@PathVariable("userId") Long userId) {
+        employeeService.deleteEmployee(userId);
+        return succeed();
+    }
 }

+ 81 - 0
mec-web/src/main/java/com/ym/mec/web/controller/student/StudentCashAccountDetailController.java

@@ -0,0 +1,81 @@
+package com.ym.mec.web.controller.student;
+import com.ym.mec.biz.dal.entity.StudentRecharge;
+import com.ym.mec.biz.dal.entity.SysUserCashAccountDetail;
+import com.ym.mec.biz.dal.enums.DealStatusEnum;
+import com.ym.mec.biz.dal.page.StudentCashDetailQueryInfo;
+import com.ym.mec.biz.service.StudentRechargeService;
+import com.ym.mec.biz.service.SysUserCashAccountDetailService;
+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.MediaType;
+import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Date;
+
+/**
+ * @version V1.0
+ * @Description: TODO
+ * @date Date : 2019年09月24日 10:00
+ */
+@RequestMapping("cashAccountDetail")
+@Api(tags = "学生充值")
+@RestController
+public class StudentCashAccountDetailController extends BaseController {
+
+
+    @Autowired
+    private SysUserCashAccountDetailService sysUserCashAccountDetailService;
+
+    @Autowired
+    private StudentRechargeService studentRechargeService;
+    @ApiOperation(value = "账户流水列表")
+    @GetMapping(value = "/queryPage",produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+    public Object queryPage(@RequestBody(required = false) StudentCashDetailQueryInfo queryInfo){
+        if(queryInfo == null){
+            queryInfo = new StudentCashDetailQueryInfo();
+        }
+        return succeed(sysUserCashAccountDetailService.queryPage(queryInfo));
+    }
+
+    /**
+     * 同步
+     * @return
+     */
+    @ApiOperation(value = "账户流水同步")
+    @GetMapping(value = "/synTransStatus",produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+    public Object synTransStatus(@RequestBody String transNo){
+
+        if(StringUtils.isEmpty(transNo)){
+            return failed();
+        }
+
+        //
+        StudentRecharge studentRecharge = studentRechargeService.selectByTransNo(transNo);
+        if(studentRecharge == null){
+            return failed("交易不存在");
+        }
+        SysUserCashAccountDetail sysUserCashAccountDetail = sysUserCashAccountDetailService.selectDetailByTransNo(transNo);
+        if(sysUserCashAccountDetail == null){
+            return failed("交易不存在");
+        }
+
+        //TODO 查询第三方
+
+        //更新充值记录
+        studentRecharge.setStatus(DealStatusEnum.ING);
+        studentRecharge.setModifyTime(new Date());
+        studentRechargeService.update(studentRecharge);
+
+        //更新流水记录
+        sysUserCashAccountDetail.setStatus(DealStatusEnum.ING);
+        sysUserCashAccountDetail.setUpdateTime(new Date());
+        sysUserCashAccountDetailService.update(sysUserCashAccountDetail);
+        return succeed();
+    }
+}