Browse Source

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

zouxuan 5 years ago
parent
commit
d678123488
25 changed files with 372 additions and 210 deletions
  1. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupDao.java
  2. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java
  3. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentWithdrawDao.java
  4. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/PaymentStatusEnum.java
  5. 3 0
      mec-biz/src/main/java/com/ym/mec/biz/service/ClassGroupService.java
  6. 2 1
      mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupService.java
  7. 3 2
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentRegistrationService.java
  8. 28 19
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentWithdrawService.java
  9. 21 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
  10. 13 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupStudentMapperServiceImpl.java
  11. 4 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java
  12. 26 11
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java
  13. 91 89
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentWithdrawServiceImpl.java
  14. 7 0
      mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml
  15. 0 1
      mec-biz/src/main/resources/config/mybatis/CourseScheduleTeacherSalaryMapper.xml
  16. 6 1
      mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml
  17. 1 1
      mec-student/src/main/java/com/ym/mec/student/controller/MusicGroupController.java
  18. 19 24
      mec-student/src/main/java/com/ym/mec/student/controller/StudentManageController.java
  19. 8 2
      mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java
  20. 10 24
      mec-student/src/main/java/com/ym/mec/student/controller/WithdrawController.java
  21. 69 0
      mec-util/src/main/java/com/ym/mec/util/date/DateConvertor.java
  22. 8 0
      mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupController.java
  23. 9 4
      mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupController.java
  24. 6 9
      mec-web/src/main/java/com/ym/mec/web/controller/StudentRegistrationController.java
  25. 19 19
      mec-web/src/main/java/com/ym/mec/web/controller/StudentWithdrawController.java

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupDao.java

@@ -340,6 +340,7 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
 
     /**
      * 获取学生端,vip课程列表
+     *
      * @param musicGroupIds
      * @return
      */
@@ -347,6 +348,7 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
 
     /**
      * 获取学生端,学员乐团课列表详情
+     *
      * @param musicGroupIds
      * @return
      */
@@ -354,9 +356,17 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
 
     /**
      * 查询对应类型所有班级列表
+     *
      * @param musicGroupId
      * @param type
      * @return
      */
     List<ClassGroup> findClassGroupByMusicGroupIdAndType(@Param("musicGroupId") String musicGroupId, @Param("type") ClassGroupTypeEnum type);
+
+    /**
+     * 根据合奏班id获取子班及老师
+     * @param mixClassGroupId
+     * @return
+     */
+    List<ClassGroupTeachersDto> findClassGroupByMixClassGroupId(@Param("mixClassGroupId") Integer mixClassGroupId);
 }

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

@@ -6,6 +6,7 @@ import com.ym.mec.biz.dal.dto.StudentFeeDetailDto;
 import com.ym.mec.biz.dal.dto.StudentFeeDto;
 import com.ym.mec.biz.dal.dto.StudentInfo;
 import com.ym.mec.biz.dal.entity.StudentRegistration;
+import com.ym.mec.biz.dal.enums.PaymentStatusEnum;
 import com.ym.mec.common.dal.BaseDAO;
 
 import org.apache.ibatis.annotations.Param;
@@ -176,4 +177,10 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      * @return
      */
     List<StudentRegistration> findStudentListByUserIdList(@Param("musicGroupId") String musicGroupId, @Param("userIdList") List<Integer> userIdList);
+
+    /**
+     * @param ids
+     * @return
+     */
+    int batchOpenPay(@Param("ids") String ids, @Param("paymentStatus") PaymentStatusEnum paymentStatus);
 }

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

@@ -3,7 +3,7 @@ package com.ym.mec.biz.dal.dao;
 import com.ym.mec.biz.dal.entity.StudentWithdraw;
 import com.ym.mec.common.dal.BaseDAO;
 
-public interface StudentWithdrawDao extends BaseDAO<String, StudentWithdraw> {
+public interface StudentWithdrawDao extends BaseDAO<Integer, StudentWithdraw> {
 
     StudentWithdraw getByUserId(Long userId);
 }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/PaymentStatusEnum.java

@@ -3,7 +3,7 @@ package com.ym.mec.biz.dal.enums;
 import com.ym.mec.common.enums.BaseEnum;
 
 public enum PaymentStatusEnum implements BaseEnum<Integer, PaymentStatusEnum> {
-	NO(0,""),
+	NO(0,"未开启缴费"),
 	OPEN(1,"开启缴费"),
 	YES(2,"已缴费");
 

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ClassGroupService.java

@@ -289,4 +289,7 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
      * @return
      */
     List<ClassGroup> highClassGroupList(String musicGroupId);
+
+
+    List<ClassGroupTeachersDto> classGroupAndTeacher(int classGroupId);
 }

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

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.service;
 
 import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -165,7 +166,7 @@ public interface MusicGroupService extends BaseService<String, MusicGroup> {
 	 * @param musicGroupId
 	 * @return
 	 */
-	MusicGroup openPay(String musicGroupId);
+	MusicGroup openPay(String musicGroupId, String expireDate);
 
 	/**
 	 * 获取乐团详情

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

@@ -3,6 +3,7 @@ package com.ym.mec.biz.service;
 import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import com.ym.mec.biz.dal.dto.StudentApplyDetailDto;
 import com.ym.mec.biz.dal.dto.StudentFeeDetailDto;
@@ -199,9 +200,9 @@ public interface StudentRegistrationService extends BaseService<Long, StudentReg
 
 	/**
 	 * 开启缴费
-	 * @param id
+	 * @param ids
 	 * @return
 	 */
-	int openPayment(Long id);
+	int openPayment(String ids);
 
 }

+ 28 - 19
mec-biz/src/main/java/com/ym/mec/biz/service/StudentWithdrawService.java

@@ -1,31 +1,40 @@
 package com.ym.mec.biz.service;
 
+import java.math.BigDecimal;
+
 import com.ym.mec.biz.dal.dto.CashAccountDetail;
-import com.ym.mec.biz.dal.dto.WithdrawDto;
 import com.ym.mec.biz.dal.dto.WithdrawInfoDto;
 import com.ym.mec.biz.dal.entity.StudentWithdraw;
+import com.ym.mec.biz.dal.enums.DealStatusEnum;
+import com.ym.mec.biz.dal.enums.TransTypeEnum;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
-public interface StudentWithdrawService extends BaseService<String, StudentWithdraw> {
+public interface StudentWithdrawService extends BaseService<Integer, StudentWithdraw> {
 
-    /**
-     * 确认提现
-     * @param withdrawDto
-     * @return
-     */
-    boolean confirmWithdraw(WithdrawDto withdrawDto);
+	/**
+	 * 确认提现
+	 * @param id 提现申请编号
+	 * @param status 交易状态
+	 * @param memo 备注
+	 * @param transNo 交易流水号
+	 * @param transType 交易渠道
+	 * @return
+	 */
+	boolean confirmWithdraw(Integer id, DealStatusEnum status, String memo, String transNo, TransTypeEnum transType);
 
-    /**
-     * 根据学员id查询提现记录
-     * @param cashAccountDetail
-     * @return
-     */
-    PageInfo<WithdrawInfoDto> queryWithdrawPage(CashAccountDetail cashAccountDetail);
+	/**
+	 * 根据学员id查询提现记录
+	 * @param cashAccountDetail
+	 * @return
+	 */
+	PageInfo<WithdrawInfoDto> queryWithdrawPage(CashAccountDetail cashAccountDetail);
 
-    /**
-     *  新增提现记录
-     * @param studentWithdraw
-     */
-    void add(StudentWithdraw studentWithdraw) throws Exception;
+	/**
+	 *  新增提现记录
+	 * @param userId
+	 * @param bankCardNo
+	 * @param amount
+	 */
+	void apply(Integer userId, String bankCardNo, BigDecimal amount) throws Exception;
 }

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

@@ -1408,4 +1408,25 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         }
         return classGroupList;
     }
+
+    @Override
+    public List<ClassGroupTeachersDto> classGroupAndTeacher(int classGroupId) {
+        List<ClassGroupTeachersDto> classGroups = classGroupDao.findClassGroupByMixClassGroupId(classGroupId);
+        String classGroupIds = "";
+        for (ClassGroupTeachersDto classGroupTeachersDto : classGroups) {
+            classGroupIds += classGroupTeachersDto.getId() + ",";
+        }
+        classGroupIds = classGroupIds.substring(0, classGroupIds.length() - 1);
+
+        List<ClassGroupTeacherMapper> classGroupTeachers = classGroupTeacherMapperDao.findClassGroupTeachers(classGroupIds);
+        for (ClassGroupTeachersDto classGroup : classGroups) {
+            List<ClassGroupTeacherMapper> classGroupTeacherMappers = new ArrayList<>();
+            for (ClassGroupTeacherMapper classGroupTeacher : classGroupTeachers) {
+                if (!classGroup.getId().equals(classGroupTeacher.getUserId())) continue;
+                classGroupTeacherMappers.add(classGroupTeacher);
+            }
+            classGroup.setClassGroupTeacherMapperList(classGroupTeacherMappers);
+        }
+        return classGroups;
+    }
 }

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

@@ -3,6 +3,9 @@ package com.ym.mec.biz.service.impl;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
 import com.ym.mec.biz.service.*;
+import com.ym.mec.common.entity.ImGroupMember;
+import com.ym.mec.common.entity.ImGroupModel;
+import com.ym.mec.im.ImFeignService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -30,6 +33,8 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
     private ClassGroupService classGroupService;
     @Autowired
     private ClassGroupRelationService classGroupRelationService;
+    @Autowired
+    private ImFeignService imFeignService;
 
     @Override
     public BaseDAO<Long, ClassGroupStudentMapper> getDAO() {
@@ -61,6 +66,14 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
         //3、删除学生对应班级的课程
         List<CourseSchedule> courseScheduleList = courseScheduleService.findNoStartCoursesByClassGroupId(classGroupId);
         courseScheduleStudentPaymentService.deleteStudentCourseSchedule(userId, courseScheduleList);
+
+        //4、学生退出班级群组
+        ClassGroup classGroup = classGroupService.get(classGroupId);
+
+        ImGroupMember[] imGroupMembers = {new ImGroupMember(userId.toString())};
+        // 退出群组
+        imFeignService.groupQuit(new ImGroupModel(classGroup.getId().toString(), imGroupMembers, classGroup.getName()));
+
         return true;
     }
 

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

@@ -21,6 +21,7 @@ import com.ym.mec.im.ImFeignService;
 import com.ym.mec.util.collection.MapUtil;
 
 import com.ym.mec.util.date.DateUtil;
+import org.apache.commons.lang3.LocaleUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -30,6 +31,7 @@ import org.springframework.transaction.annotation.Transactional;
 import java.math.BigDecimal;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
+import java.time.LocalDate;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -661,9 +663,10 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
     }
 
     @Override
-    public MusicGroup openPay(String musicGroupId) {
+    public MusicGroup openPay(String musicGroupId, String expireDate) {
         MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
         musicGroup.setStatus(MusicGroupStatusEnum.PAY);
+        musicGroup.setApplyExpireDate(DateUtil.toDate(expireDate));
         musicGroupDao.update(musicGroup);
         return musicGroup;
     }

+ 26 - 11
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -153,7 +153,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
             teacherDao.addSysUser(sysUser);
             userId = sysUser.getId();
             //添加用户现金账户
-            sysUserCashAccountDao.insert(new SysUserCashAccount(userId,"CNY"));
+            sysUserCashAccountDao.insert(new SysUserCashAccount(userId, "CNY"));
             //添加用户电子签章账户
             contractService.register(userId);
             //注册到融云
@@ -179,6 +179,10 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
     @Override
     public StudentPaymentOrder addOrder(StudentRegistration studentRegistration, BigDecimal amount, String orderNo, String paymentChannel, BigDecimal courseFee, List<MusicGroupSubjectGoodsGroup> goodsGroups, List<Goods> goodsList, List<Goods> otherGoodsList) {
 
+
+
+
+
         Date date = new Date();
         StudentPaymentOrder studentPaymentOrder = new StudentPaymentOrder();
         studentPaymentOrder.setUserId(studentRegistration.getUserId());
@@ -254,8 +258,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         //增加缴费学生数
         MusicGroupSubjectPlan musicOneSubjectClassPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(studentRegistration.getMusicGroupId(), studentRegistration.getSubjectId());
         int paidNum = musicOneSubjectClassPlan.getPaidStudentNum() == null ? 0 : musicOneSubjectClassPlan.getPaidStudentNum();
-        musicOneSubjectClassPlan.setPaidStudentNum(paidNum+1);
-
+        musicOneSubjectClassPlan.setPaidStudentNum(paidNum + 1);
         return studentPaymentOrder;
     }
 
@@ -368,7 +371,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                 teacherDao.addSysUser(sysUser);
                 userId = sysUser.getId();
                 //添加用户现金账户
-                sysUserCashAccountDao.insert(new SysUserCashAccount(userId,"CNY"));
+                sysUserCashAccountDao.insert(new SysUserCashAccount(userId, "CNY"));
                 //添加用户电子签章账户
                 contractService.register(userId);
                 //注册到融云
@@ -441,20 +444,34 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
     public StudentPaymentOrder updateApplyOrder(StudentPaymentOrder studentPaymentOrder) {
         //更新订单状态
         studentPaymentOrderService.update(studentPaymentOrder);
+        Date nowDate = new Date();
 
         //成功报名状态变更
         StudentRegistration studentRegistration = studentRegistrationDao.queryByUserIdAndMusicGroupId(studentPaymentOrder.getUserId(), studentPaymentOrder.getMusicGroupId());
+        MusicGroupSubjectPlan musicOneSubjectClassPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(studentRegistration.getMusicGroupId(), studentRegistration.getSubjectId());
+
         if (studentPaymentOrder.getStatus().equals(DealStatusEnum.SUCCESS)) {
             studentRegistration.setPaymentStatus(PaymentStatusEnum.YES);
             studentRegistration.setMusicGroupStatus(ClassGroupStudentStatusEnum.NORMAL);
             studentRegistrationDao.update(studentRegistration);
+
+            //加入缴费周期
+            MusicGroupStudentFee musicGroupStudentFee = new MusicGroupStudentFee();
+            musicGroupStudentFee.setMusicGroupId(studentRegistration.getMusicGroupId());
+            musicGroupStudentFee.setUserId(studentRegistration.getUserId());
+            musicGroupStudentFee.setCourseFee(musicOneSubjectClassPlan.getFee());
+            musicGroupStudentFee.setCreateTime(nowDate);
+            musicGroupStudentFee.setUpdateTime(nowDate);
+            musicGroupStudentFee.setLatestPaidTime(nowDate);
+            musicGroupStudentFee.setSubjectId(studentRegistration.getActualSubjectId());
+            musicGroupStudentFee.setPaymentStatus(MusicGroupStudentFee.PaymentStatus.PAID_COMPLETED);
+            musicGroupStudentFeeDao.insert(musicGroupStudentFee);
         }
 
         //失败减去已收款金额
 
         //减去缴费人数
         if (studentPaymentOrder.getStatus().equals(DealStatusEnum.FAilED)) {
-            MusicGroupSubjectPlan musicOneSubjectClassPlan = musicGroupSubjectPlanService.getMusicOneSubjectClassPlan(studentRegistration.getMusicGroupId(), studentRegistration.getSubjectId());
             musicOneSubjectClassPlan.setPaidStudentNum(musicOneSubjectClassPlan.getPaidStudentNum() - 1);
             musicGroupSubjectPlanService.update(musicOneSubjectClassPlan);
         }
@@ -484,18 +501,16 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 
     @Override
     public List<StudentRegistration> findMusicGroupStudent(String musicGroupId, Integer actualSubjectId) {
-        return studentRegistrationDao.findMusicGroupStudent(musicGroupId,actualSubjectId);
+        return studentRegistrationDao.findMusicGroupStudent(musicGroupId, actualSubjectId);
     }
 
     @Override
     public List<StudentRegistration> findStudentListByUserIdList(String musicGroupId, List<Integer> userIdList) {
-        return studentRegistrationDao.findStudentListByUserIdList(musicGroupId,userIdList);
+        return studentRegistrationDao.findStudentListByUserIdList(musicGroupId, userIdList);
     }
 
     @Override
-    public int openPayment(Long id) {
-        StudentRegistration studentRegistration = studentRegistrationDao.get(id);
-        studentRegistration.setPaymentStatus(PaymentStatusEnum.OPEN);
-        return studentRegistrationDao.update(studentRegistration);
+    public int openPayment(String ids) {
+        return studentRegistrationDao.batchOpenPay(ids, PaymentStatusEnum.OPEN);
     }
 }

+ 91 - 89
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentWithdrawServiceImpl.java

@@ -1,10 +1,21 @@
 package com.ym.mec.biz.service.impl;
 
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+import java.util.Objects;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
 import com.google.common.collect.Lists;
 import com.ym.mec.biz.dal.dao.StudentWithdrawDao;
 import com.ym.mec.biz.dal.dao.SysUserCashAccountDao;
 import com.ym.mec.biz.dal.dto.CashAccountDetail;
-import com.ym.mec.biz.dal.dto.WithdrawDto;
 import com.ym.mec.biz.dal.dto.WithdrawInfoDto;
 import com.ym.mec.biz.dal.entity.StudentWithdraw;
 import com.ym.mec.biz.dal.entity.SysUserCashAccount;
@@ -21,24 +32,9 @@ import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.util.date.DateUtil;
-import com.ym.mec.util.string.IdWorker;
-import org.apache.commons.lang3.RandomStringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.math.BigDecimal;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
-import java.util.concurrent.locks.Lock;
-import java.util.concurrent.locks.ReentrantLock;
 
 @Service
-public class StudentWithdrawServiceImpl extends BaseServiceImpl<String, StudentWithdraw>  implements StudentWithdrawService {
+public class StudentWithdrawServiceImpl extends BaseServiceImpl<Integer, StudentWithdraw> implements StudentWithdrawService {
 
 	@Autowired
 	private StudentWithdrawDao studentWithdrawDao;
@@ -46,7 +42,7 @@ public class StudentWithdrawServiceImpl extends BaseServiceImpl<String, StudentW
 	private SysUserCashAccountDao sysUserCashAccountDao;
 
 	@Override
-	public BaseDAO<String, StudentWithdraw> getDAO() {
+	public BaseDAO<Integer, StudentWithdraw> getDAO() {
 		return studentWithdrawDao;
 	}
 
@@ -61,50 +57,62 @@ public class StudentWithdrawServiceImpl extends BaseServiceImpl<String, StudentW
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public boolean confirmWithdraw(WithdrawDto withdrawDto) {
+	public boolean confirmWithdraw(Integer id, DealStatusEnum status, String memo, String transNo, TransTypeEnum transType) {
+
+		StudentWithdraw studentWithdraw = get(id);
+
+		if (studentWithdraw == null) {
+			throw new BizException("提现申请记录不存在");
+		}
+
+		Date date = new Date();
+
+		Integer userId = studentWithdraw.getUserId();
+		BigDecimal amount = studentWithdraw.getAmount();
+
+		studentWithdraw.setComment(memo);
+		studentWithdraw.setModifyTime(date);
+		studentWithdraw.setStatus(status);
+		studentWithdraw.setTransNo(transNo);
+
+		studentWithdrawDao.update(studentWithdraw);
+
 		try {
-			SysUserCashAccount sysUserCashAccount = cashAccountService.get(withdrawDto.getUserId().intValue());
-			if (Objects.isNull(sysUserCashAccount)){
+			SysUserCashAccount sysUserCashAccount = cashAccountService.get(userId);
+			if (Objects.isNull(sysUserCashAccount)) {
 				throw new BizException("账户不存在!");
 			}
-			//校验银行账户余额
-			if (sysUserCashAccount.getBalance().compareTo(withdrawDto.getAmount()) < 0) {
-				throw new BizException("余额不足,提现失败!");
+			// 校验银行账户余额
+			if (sysUserCashAccount.getFrozenAmount().compareTo(amount) < 0) {
+				throw new BizException("账户冻结金额异常");
 			}
-			//第三方提现到用户银行卡
-			//用户个人虚拟账户金额减少
-
-			//生成提现记录(缺少银行流水号,交易状态,用户承担的费用,平台承担的费用)
-			Integer withdrawId = saveStudentWithdraw(withdrawDto);
+			sysUserCashAccount.setFrozenAmount(sysUserCashAccount.getFrozenAmount().subtract(amount));
+			
+			if(status == DealStatusEnum.FAilED){
+				sysUserCashAccount.setBalance(sysUserCashAccount.getBalance().add(amount));
+			}
+			sysUserCashAccount.setUpdateTime(date);
+			cashAccountService.update(sysUserCashAccount);
+			
+			SysUserCashAccountDetail sysUserCashAccountDetail = new SysUserCashAccountDetail();
+			sysUserCashAccountDetail.setUserId(userId);
+			sysUserCashAccountDetail.setType(PlatformCashAccountDetailTypeEnum.WITHDRAW);
+			sysUserCashAccountDetail.setStatus(status);
+			sysUserCashAccountDetail.setAmount(amount);
+			sysUserCashAccountDetail.setAttribute(id + "");
+			sysUserCashAccountDetail.setComment(memo);
+			sysUserCashAccountDetail.setTransNo(transNo);
+			sysUserCashAccountDetail.setTransType(transType);
+			sysUserCashAccountDetail.setBalance(sysUserCashAccount.getBalance());
+			
+			cashAccountDetailService.insert(sysUserCashAccountDetail);
 
-			accountDetailService.addCashAccountDetail(withdrawDto.getUserId(),withdrawDto.getAmount(),withdrawId +"","",
-					PlatformCashAccountDetailTypeEnum.WITHDRAW,TransTypeEnum.FAST_PAYMENT, DealStatusEnum.ING,"");
 		} catch (Exception e) {
 			log.error("用户提现出现异常 {}", e.getMessage(), e);
 			throw new BizException(e.getMessage());
 		}
 		return true;
 	}
-	/**
-	 * 修改用户账户余额,保存账户明细
-	 *
-	 * @param withdrawDto
-	 */
-	private void updateCashAccount(SysUserCashAccount sysUserCashAccount, WithdrawDto withdrawDto) {
-		BigDecimal balance = sysUserCashAccount.getBalance().subtract(withdrawDto.getAmount());
-		SysUserCashAccount account = new SysUserCashAccount();
-		account.setUserId(sysUserCashAccount.getUserId());
-		account.setBalance(balance);
-		account.setUpdateTime(new Date());
-		cashAccountService.update(account);
-		SysUserCashAccountDetail cashAccountDetail = new SysUserCashAccountDetail();
-		cashAccountDetail.setUserId(withdrawDto.getUserId());
-		cashAccountDetail.setType(PlatformCashAccountDetailTypeEnum.WITHDRAW);
-		cashAccountDetail.setAmount(withdrawDto.getAmount());
-		cashAccountDetail.setBalance(balance);
-		cashAccountDetail.setCreateTime(new Date());
-		cashAccountDetailService.insert(cashAccountDetail);
-	}
 
 	@Override
 	public PageInfo<WithdrawInfoDto> queryWithdrawPage(CashAccountDetail cashAccountDetail) {
@@ -112,7 +120,7 @@ public class StudentWithdrawServiceImpl extends BaseServiceImpl<String, StudentW
 		cashAccountDetail.setType(PlatformCashAccountDetailTypeEnum.WITHDRAW.getCode());
 		PageInfo<SysUserCashAccountDetail> accountDetailPageInfo = accountDetailService.queryPage(cashAccountDetail);
 		List<WithdrawInfoDto> dataList = Lists.newArrayList();
-		accountDetailPageInfo.getRows().forEach(data ->{
+		accountDetailPageInfo.getRows().forEach(data -> {
 			WithdrawInfoDto withdrawInfoDto = new WithdrawInfoDto();
 			StudentWithdraw studentWithdraw = studentWithdrawDao.getByUserId(data.getUserId().longValue());
 			withdrawInfoDto.setWithdrawId(studentWithdraw.getWithdrawNo());
@@ -122,9 +130,9 @@ public class StudentWithdrawServiceImpl extends BaseServiceImpl<String, StudentW
 			withdrawInfoDto.setTransTypeName(TransTypeEnum.getDescriptionByCode(data.getTransType().getCode()));
 			withdrawInfoDto.setAccountNo(studentWithdraw.getBankCardNo());
 			withdrawInfoDto.setWithdrawStatus(studentWithdraw.getStatus().getMsg());
-			//支付账号
-			dataList.add(withdrawInfoDto);
-		});
+			// 支付账号
+				dataList.add(withdrawInfoDto);
+			});
 		BeanUtils.copyProperties(accountDetailPageInfo, result);
 		result.setRows(dataList);
 		return result;
@@ -132,53 +140,47 @@ public class StudentWithdrawServiceImpl extends BaseServiceImpl<String, StudentW
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public void add(StudentWithdraw withdraw) throws Exception {
-		SysUserCashAccount account = sysUserCashAccountDao.get(withdraw.getUserId());
-		//账户状态正常
-		if(account != null && account.getStatus() == PlatformCashAccountStatusEnum.NORMAL){
-			//提现金额不大于账户可用余额
-			if(withdraw.getAmount().compareTo(account.getBalance()) < 1){
-				//修改账户余额
-				BigDecimal subtract = account.getBalance().subtract(withdraw.getAmount());
-				account.setBalance(subtract);
-				account.setFrozenAmount(account.getFrozenAmount().add(withdraw.getAmount()));
+	public void apply(Integer userId, String bankCardNo, BigDecimal amount) throws Exception {
+		SysUserCashAccount account = sysUserCashAccountDao.getLocked(userId);
+		// 账户状态正常
+		if (account != null && account.getStatus() == PlatformCashAccountStatusEnum.NORMAL) {
+			// 提现金额不大于账户可用余额
+			if (amount.compareTo(account.getBalance()) < 1) {
 				Date date = new Date();
+
+				StudentWithdraw withdraw = new StudentWithdraw();
+				withdraw.setAmount(amount);
+				withdraw.setBankCardNo(bankCardNo);
+				withdraw.setCreateTime(date);
+				withdraw.setModifyTime(date);
+				withdraw.setStatus(DealStatusEnum.ING);
+				withdraw.setUserId(userId);
+				withdraw.setWithdrawNo(System.currentTimeMillis() + "");
+
+				// 修改账户余额
+				BigDecimal subtract = account.getBalance().subtract(amount);
+				account.setBalance(subtract);
+				account.setFrozenAmount(account.getFrozenAmount().add(amount));
 				account.setUpdateTime(date);
 				sysUserCashAccountDao.update(account);
+
+				withdraw.setBalance(subtract);
+				studentWithdrawDao.insert(withdraw);
+
 				SysUserCashAccountDetail cashAccountDetail = new SysUserCashAccountDetail();
 				cashAccountDetail.setUserId(account.getUserId());
 				cashAccountDetail.setType(PlatformCashAccountDetailTypeEnum.WITHDRAW);
-				cashAccountDetail.setAmount(withdraw.getAmount());
+				cashAccountDetail.setAmount(amount);
 				cashAccountDetail.setBalance(subtract);
 				cashAccountDetail.setCreateTime(date);
+				cashAccountDetail.setStatus(DealStatusEnum.ING);
 				cashAccountDetailService.insert(cashAccountDetail);
-				withdraw.setWithdrawNo(RandomStringUtils.random(8));
-				studentWithdrawDao.insert(withdraw);
-			}else {
+			} else {
 				throw new Exception("账户余额不足");
 			}
-		}else {
+		} else {
 			throw new Exception("账户状态异常");
 		}
 	}
 
-
-
-	/**
-	 * 保存提现记录
-	 *
-	 * @param withdrawDto
-	 */
-	private Integer saveStudentWithdraw(WithdrawDto withdrawDto) {
-		IdWorker idWorker = new IdWorker(0, 0);
-		StudentWithdraw studentWithdraw = new StudentWithdraw();
-		studentWithdraw.setWithdrawNo(idWorker.nextId());
-		studentWithdraw.setUserId(withdrawDto.getUserId());
-		studentWithdraw.setBankCardNo(withdrawDto.getBankCardNo());
-		studentWithdraw.setAmount(withdrawDto.getAmount());
-		studentWithdraw.setCreateTime(new Date());
-		insert(studentWithdraw);
-		return studentWithdraw.getId();
-	}
-
 }

+ 7 - 0
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -647,4 +647,11 @@
         </if>
          AND del_flag_='0'
     </select>
+
+    <!-- 根据合奏班id获取子班及老师 -->
+    <select id="findClassGroupByMixClassGroupId" resultMap="ClassGroupTeachers">
+        SELECT * FROM class_group WHERE id_ IN
+        (SELECT sub_class_group_id_ FROM class_group_relation
+        WHERE class_group_id_ = #{mixClassGroupId}) AND del_flag_ = 0
+    </select>
 </mapper>

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

@@ -218,7 +218,6 @@
 		UPDATE course_schedule_teacher_salary set
 			subsidy_ = #{subsidy},
 			expect_salary_ = #{salary},
-			teacher_role_ = #{teacherRole},
 			update_time_ = now()
 		WHERE user_id_ = #{userId} and class_group_id_ = #{classGroupId}
 	</update>

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

@@ -366,4 +366,9 @@
             #{userId}
         </foreach>
     </select>
-</mapper>
+
+    <!-- 批量开启缴费 -->
+    <update id="batchOpenPay">
+        UPDATE student_registration SET payment_status_ = #{paymentStatus},update_time_ = now()
+        WHERE FIND_IN_SET(id_,#{ids}) AND payment_status_ = 0
+    </update></mapper>

+ 1 - 1
mec-student/src/main/java/com/ym/mec/student/controller/MusicGroupController.java

@@ -180,7 +180,7 @@ public class MusicGroupController extends BaseController {
             return failed("报名信息有误,请核查");
         }
 
-        StudentPaymentOrder ApplyOrder = studentPaymentOrderService.findMusicGroupApplyOrderByStatus(userId, studentRegistration.getMusicGroupId().toString(), DealStatusEnum.SUCCESS);
+        StudentPaymentOrder ApplyOrder = studentPaymentOrderService.findMusicGroupApplyOrderByStatus(userId, studentRegistration.getMusicGroupId(), DealStatusEnum.SUCCESS);
         if (ApplyOrder != null) {
             return failed("您已支付成功,请勿重复支付");
         }

+ 19 - 24
mec-student/src/main/java/com/ym/mec/student/controller/StudentManageController.java

@@ -1,31 +1,38 @@
 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.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+
+import java.util.Date;
+
 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.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;
 
-import java.util.Date;
+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.ClassGroupService;
+import com.ym.mec.biz.service.StudentManageService;
+import com.ym.mec.biz.service.StudentWithdrawService;
+import com.ym.mec.biz.service.SysSuggestionService;
+import com.ym.mec.biz.service.SysUserBankCardService;
+import com.ym.mec.biz.service.SysUserCashAccountDetailService;
+import com.ym.mec.biz.service.SysUserCashAccountService;
+import com.ym.mec.biz.service.UploadFileService;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.UploadReturnBean;
+import com.ym.mec.util.upload.UploadUtil;
 
 @Api(tags = "学生管理")
 @RestController
@@ -107,18 +114,6 @@ public class StudentManageController extends BaseController {
         return succeed(sysUserCashAccountDetailService.queryPage(queryInfo));
     }
 
-    @ApiOperation(value = "新增提现申请")
-    @PostMapping("/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) {

+ 8 - 2
mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java

@@ -1,5 +1,6 @@
 package com.ym.mec.student.controller;
 
+import com.alibaba.fastjson.JSON;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
 import com.ym.mec.biz.dal.enums.OrderTypeEnum;
@@ -8,6 +9,8 @@ import com.ym.mec.biz.service.StudentPaymentOrderService;
 import com.ym.mec.biz.service.StudentRegistrationService;
 import com.ym.mec.biz.service.VipGroupService;
 import com.ym.mec.thirdparty.union.NotifyMsg;
+import com.ym.mec.thirdparty.yqpay.Msg;
+import com.ym.mec.thirdparty.yqpay.YqPayUtil;
 import io.swagger.annotations.Api;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -17,11 +20,15 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
 @RequestMapping("studentOrder")
 @Api(tags = "订单回调")
 @RestController
 public class StudentOrderController {
-    private static final Logger log = LoggerFactory.getLogger(StudentOrderController.class);
+    private static final Logger logger = LoggerFactory.getLogger(StudentOrderController.class);
     @Autowired
     private StudentPaymentOrderService studentPaymentOrderService;
     @Autowired
@@ -75,5 +82,4 @@ public class StudentOrderController {
     }
 
 
-    //
 }

+ 10 - 24
mec-student/src/main/java/com/ym/mec/student/controller/WithdrawController.java

@@ -1,29 +1,22 @@
 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.entity.StudentWithdraw;
-import com.ym.mec.biz.dal.enums.DealStatusEnum;
-import com.ym.mec.biz.service.StudentWithdrawService;
-import com.ym.mec.common.controller.BaseController;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+
+import java.math.BigDecimal;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.math.BigDecimal;
-import java.util.Date;
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.service.StudentWithdrawService;
+import com.ym.mec.common.controller.BaseController;
 
-/**
- * @program: mec
- * @description: 提现
- * @author: xw
- * @create: 2019-09-23 17:12
- */
 @RestController
-@RequestMapping("withdraw")
+@RequestMapping("studentWithdraw")
 @Api(tags = "提现服务")
 public class WithdrawController extends BaseController {
 
@@ -39,15 +32,8 @@ public class WithdrawController extends BaseController {
 		if (sysUser == null || sysUser.getId() == null) {
 			return failed("获取用户信息失败");
 		}
-		Date date = new Date();
-		StudentWithdraw studentWithdraw = new StudentWithdraw();
-		studentWithdraw.setUserId(sysUser.getId());
-		studentWithdraw.setAmount(amount);
-		studentWithdraw.setBankCardNo(bankCardNo);
-		studentWithdraw.setModifyTime(date);
-		studentWithdraw.setCreateTime(date);
-		studentWithdraw.setStatus(DealStatusEnum.ING);
-		studentWithdrawService.add(studentWithdraw);
+		studentWithdrawService.apply(sysUser.getId(), bankCardNo, amount);
+		
 		return succeed();
 	}
 }

+ 69 - 0
mec-util/src/main/java/com/ym/mec/util/date/DateConvertor.java

@@ -0,0 +1,69 @@
+package com.ym.mec.util.date;
+
+import java.time.Instant;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.time.ZoneId;
+import java.util.Date;
+
+public class DateConvertor {
+
+	public static LocalDateTime toLocalDateTime(Date date) {
+		Instant instant = date.toInstant();
+		ZoneId zone = ZoneId.systemDefault();
+		return LocalDateTime.ofInstant(instant, zone);
+	}
+
+	public static LocalDate toLocalDate(Date date) {
+		Instant instant = date.toInstant();
+		ZoneId zone = ZoneId.systemDefault();
+		LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);
+		return localDateTime.toLocalDate();
+	}
+
+	public static LocalTime toLocalTime(Date date) {
+		Instant instant = date.toInstant();
+		ZoneId zone = ZoneId.systemDefault();
+		LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);
+		return localDateTime.toLocalTime();
+	}
+
+	public static Date toDate(LocalDateTime localDateTime) {
+		ZoneId zone = ZoneId.systemDefault();
+		Instant instant = localDateTime.atZone(zone).toInstant();
+		return Date.from(instant);
+	}
+
+	public static Date toDate(LocalDate localDate) {
+		ZoneId zone = ZoneId.systemDefault();
+		Instant instant = localDate.atStartOfDay().atZone(zone).toInstant();
+		return Date.from(instant);
+	}
+
+	public static Date toDate(LocalTime localTime) {
+		LocalDate localDate = LocalDate.now();
+		LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime);
+		ZoneId zone = ZoneId.systemDefault();
+		Instant instant = localDateTime.atZone(zone).toInstant();
+		return Date.from(instant);
+	}
+	
+	public static void main(String[] args) {
+		Date date = new Date();
+		LocalDate localDate = DateConvertor.toLocalDate(date);
+		System.out.println("Date to LocalDate:"+localDate);
+		
+		System.out.println("LocalDate to Date:"+DateConvertor.toDate(localDate));
+		
+		LocalDateTime localDateTime = DateConvertor.toLocalDateTime(date);
+		System.out.println("Date to LocalDateTime:"+ localDateTime);
+		
+		System.out.println("LocalDateTime to Date"+DateConvertor.toDate(localDateTime));
+		
+		LocalTime localTime = DateConvertor.toLocalTime(date);
+		System.out.println("Date to LocalTime:"+localTime);
+		
+		System.out.println("localTime to Date:"+ DateConvertor.toDate(localTime));
+	}
+}

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

@@ -225,4 +225,12 @@ public class ClassGroupController extends BaseController {
         return succeed(classGroupService.highClassGroupList(musicGroupId));
     }
 
+    @ApiOperation(value = "合奏子班列表(班级调整)")
+    @PostMapping("/classGroupAndTeacher")
+    @PreAuthorize("@pcs.hasPermissions('classGroup/classGroupAndTeacher')")
+    @ApiImplicitParams({@ApiImplicitParam(name = "classGroupId", value = "班级id", required = true, dataType = "int")})
+    public HttpResponseResult classGroupAndTeacher(int classGroupId) throws Exception {
+        return succeed(classGroupService.classGroupAndTeacher(classGroupId));
+    }
+
 }

+ 9 - 4
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupController.java

@@ -16,6 +16,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
+import java.time.LocalDate;
 import java.util.Set;
 
 @RequestMapping("musicGroup")
@@ -83,10 +84,14 @@ public class MusicGroupController extends BaseController {
 
     @ApiOperation(value = "开启乐团缴费功能")
     @PostMapping("/openPay")
-    @PreAuthorize("@pcs.hasPermissions('musicGroup/openPay')")
-    @ApiImplicitParams({@ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String")})
-    public Object openPay(String musicGroupId) {
-        return succeed(musicGroupService.openPay(musicGroupId));
+    //@PreAuthorize("@pcs.hasPermissions('musicGroup/openPay')")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "expireDate", value = "截止缴费日期", required = true, dataType = "String")
+    })
+    public Object openPay(String musicGroupId, String expireDate) {
+
+        return succeed(musicGroupService.openPay(musicGroupId,expireDate));
     }
 
 }

+ 6 - 9
mec-web/src/main/java/com/ym/mec/web/controller/StudentRegistrationController.java

@@ -8,15 +8,12 @@ import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 
 import java.util.Date;
+import java.util.Set;
 
 import org.apache.commons.lang3.StringUtils;
 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.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-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.entity.StudentRegistration;
 import com.ym.mec.biz.dal.page.StudentRegistrationQueryInfo;
@@ -115,12 +112,12 @@ public class StudentRegistrationController extends BaseController {
         return succeed(studentRegistrationService.findMusicGroupNoClassGroupStudent(musicGroupId, actualSubjectId));
     }
 
-    @ApiOperation(value = "开启缴费")
+    @ApiOperation(value = "开启缴费(单独学生)")
     @PostMapping("/openPayment")
     @PreAuthorize("@pcs.hasPermissions('studentRegistration/openPayment')")
-    @ApiImplicitParams({@ApiImplicitParam(name = "id", value = "报名id", required = true, dataType = "int")})
-    public HttpResponseResult openPayment(Long id) {
-        return succeed(studentRegistrationService.openPayment(id));
+    @ApiImplicitParams({@ApiImplicitParam(name = "ids", value = "报名id(不是userId),逗号分隔", required = true, dataType = "String")})
+    public HttpResponseResult openPayment(String ids) {
+        return succeed(studentRegistrationService.openPayment(ids));
     }
 
 }

+ 19 - 19
mec-web/src/main/java/com/ym/mec/web/controller/StudentWithdrawController.java

@@ -7,11 +7,12 @@ 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.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import com.ym.mec.biz.dal.dto.WithdrawDto;
+import com.ym.mec.biz.dal.enums.DealStatusEnum;
+import com.ym.mec.biz.dal.enums.TransTypeEnum;
 import com.ym.mec.biz.service.StudentWithdrawService;
 import com.ym.mec.common.controller.BaseController;
 
@@ -20,22 +21,21 @@ import com.ym.mec.common.controller.BaseController;
 @RestController
 public class StudentWithdrawController extends BaseController {
 
-    @Autowired
-    private StudentWithdrawService studentWithdrawService;
-
-
-    @PostMapping("confirm")
-    @ApiOperation(value = "确认提现")
-    @PreAuthorize("@pcs.hasPermissions('studentWithdraw/confirm')")
-    public Object confirmWithdraw(@RequestBody WithdrawDto withdrawDto) {
-        studentWithdrawService.confirmWithdraw(withdrawDto);
-        return succeed();
-    }
-
-    @ApiOperation(value = "分页查询")
-    @GetMapping("/queryPage")
-    @PreAuthorize("@pcs.hasPermissions('studentWithdraw/queryPage')")
-    public Object queryPage(WithdrawDto queryInfo) {
-        return succeed(studentWithdrawService.queryPage(queryInfo));
-    }
+	@Autowired
+	private StudentWithdrawService studentWithdrawService;
+
+	@PostMapping("confirm")
+	@ApiOperation(value = "确认提现")
+	@PreAuthorize("@pcs.hasPermissions('studentWithdraw/confirm')")
+	public Object confirmWithdraw(Integer id, DealStatusEnum status, String memo, String transNo, TransTypeEnum transType) {
+		studentWithdrawService.confirmWithdraw(id, status, memo, transNo, transType);
+		return succeed();
+	}
+
+	@ApiOperation(value = "分页查询")
+	@GetMapping("/queryPage")
+	@PreAuthorize("@pcs.hasPermissions('studentWithdraw/queryPage')")
+	public Object queryPage(WithdrawDto queryInfo) {
+		return succeed(studentWithdrawService.queryPage(queryInfo));
+	}
 }