Browse Source

Merge remote-tracking branch 'origin/master'

周箭河 5 years ago
parent
commit
9de9c4379f

+ 26 - 7
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentApplyRefunds.java

@@ -1,18 +1,37 @@
 package com.ym.mec.biz.dal.entity;
 
-import com.ym.mec.auth.api.entity.SysUser;
-import com.ym.mec.biz.dal.enums.AuditStatusEnum;
-
 import io.swagger.annotations.ApiModelProperty;
 
+import java.math.BigDecimal;
+
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
-import java.math.BigDecimal;
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.common.enums.BaseEnum;
 
 /**
  * 对应数据库表(student_apply_refunds):
  */
 public class StudentApplyRefunds {
+	
+	public enum StudentApplyRefundsStatus implements BaseEnum<String, StudentApplyRefundsStatus>{
+		ING("审核中"), REJECT("拒绝"), WAIT_PAYMENT("待支付"),DONE("完成");
+		private String desc;
+		
+		private StudentApplyRefundsStatus(String desc) {
+			this.desc = desc;
+		}
+
+		@Override
+		public String getCode() {
+			return name();
+		}
+
+		public String getDesc() {
+			return desc;
+		}
+
+	}
 
 	/**  */
 	private Long id;
@@ -26,7 +45,7 @@ public class StudentApplyRefunds {
 	private String orderNo;
 
 	@ApiModelProperty(value = "审核状态",required = true)
-	private AuditStatusEnum status;
+	private StudentApplyRefundsStatus status;
 	
 	/** 预计退费金额 */
 	@ApiModelProperty(value = "预计退费金额",required = true)
@@ -76,11 +95,11 @@ public class StudentApplyRefunds {
 		return this.orderNo;
 	}
 
-	public AuditStatusEnum getStatus() {
+	public StudentApplyRefundsStatus getStatus() {
 		return status;
 	}
 
-	public void setStatus(AuditStatusEnum status) {
+	public void setStatus(StudentApplyRefundsStatus status) {
 		this.status = status;
 	}
 

+ 6 - 6
mec-biz/src/main/java/com/ym/mec/biz/dal/page/MusicGroupStudentQueryInfo.java

@@ -12,10 +12,10 @@ public class MusicGroupStudentQueryInfo extends QueryInfo {
     private String musicGroupId;
 
     @ApiModelProperty(value = "学员状态 NORMAL(NORMAL, 在读), LEAVE(LEAVE, 请假), QUIT(QUIT, 退班)",required = false)
-    private Integer studentStatus;
+    private String studentStatus;
 
     @ApiModelProperty(value = "缴费状态  PAID_COMPLETED(完成缴费), NON_PAYMENT(未缴费), PROCESSING(缴费中)",required = false)
-    private Integer paymentStatus;
+    private String paymentStatus;
 
     public String getMusicGroupId() {
         return musicGroupId;
@@ -33,19 +33,19 @@ public class MusicGroupStudentQueryInfo extends QueryInfo {
         this.subjectId = subjectId;
     }
 
-    public Integer getStudentStatus() {
+    public String getStudentStatus() {
         return studentStatus;
     }
 
-    public void setStudentStatus(Integer studentStatus) {
+    public void setStudentStatus(String studentStatus) {
         this.studentStatus = studentStatus;
     }
 
-    public Integer getPaymentStatus() {
+    public String getPaymentStatus() {
         return paymentStatus;
     }
 
-    public void setPaymentStatus(Integer paymentStatus) {
+    public void setPaymentStatus(String paymentStatus) {
         this.paymentStatus = paymentStatus;
     }
 }

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

@@ -1,18 +1,29 @@
 package com.ym.mec.biz.service;
 
-import com.ym.mec.biz.dal.dto.*;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+import com.ym.mec.biz.dal.dto.StudentVipGroupDetailDto;
+import com.ym.mec.biz.dal.dto.TeachingRecordBaseInfo;
+import com.ym.mec.biz.dal.dto.VipGroupApplyDto;
+import com.ym.mec.biz.dal.dto.VipGroupBuyParamsDto;
+import com.ym.mec.biz.dal.dto.VipGroupCostCountDto;
+import com.ym.mec.biz.dal.dto.VipGroupCostCountParamsDto;
+import com.ym.mec.biz.dal.dto.VipGroupManageDetailDto;
 import com.ym.mec.biz.dal.entity.School;
+import com.ym.mec.biz.dal.entity.StudentApplyRefunds.StudentApplyRefundsStatus;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 import com.ym.mec.biz.dal.entity.VipGroup;
 import com.ym.mec.biz.dal.enums.AuditStatusEnum;
-import com.ym.mec.biz.dal.page.*;
+import com.ym.mec.biz.dal.page.StudentVipGroupQueryInfo;
+import com.ym.mec.biz.dal.page.VipGroupAttendanceQueryInfo;
+import com.ym.mec.biz.dal.page.VipGroupQueryInfo;
+import com.ym.mec.biz.dal.page.VipGroupSalaryQueryInfo;
+import com.ym.mec.biz.dal.page.VipGroupTeachingRecordQueryInfo;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
-import java.math.BigDecimal;
-import java.util.List;
-import java.util.Map;
-
 public interface VipGroupService extends BaseService<Long, VipGroup> {
 
     /**
@@ -187,7 +198,7 @@ public interface VipGroupService extends BaseService<Long, VipGroup> {
      * @return void
      * @describe 退课申请审核
      */
-    void applyRefundAudit(Long id,AuditStatusEnum status,String remark,BigDecimal amount);
+    void applyRefundAudit(Long id,StudentApplyRefundsStatus status,String remark,BigDecimal amount);
 
     /**
      * @Author: Joburgess

+ 114 - 23
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -1,15 +1,106 @@
 package com.ym.mec.biz.service.impl;
 
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+
 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.biz.dal.dao.*;
-import com.ym.mec.biz.dal.dto.*;
-import com.ym.mec.biz.dal.entity.*;
+import com.ym.mec.biz.dal.dao.ClassGroupDao;
+import com.ym.mec.biz.dal.dao.ClassGroupStudentMapperDao;
+import com.ym.mec.biz.dal.dao.ClassGroupTeacherMapperDao;
+import com.ym.mec.biz.dal.dao.ClassGroupTeacherSalaryDao;
+import com.ym.mec.biz.dal.dao.CourseScheduleDao;
+import com.ym.mec.biz.dal.dao.CourseScheduleStudentPaymentDao;
+import com.ym.mec.biz.dal.dao.CourseScheduleTeacherSalaryDao;
+import com.ym.mec.biz.dal.dao.StudentApplyRefundsDao;
+import com.ym.mec.biz.dal.dao.StudentPaymentOrderDao;
+import com.ym.mec.biz.dal.dao.SubjectDao;
+import com.ym.mec.biz.dal.dao.SysConfigDao;
+import com.ym.mec.biz.dal.dao.SysUserCashAccountDetailDao;
+import com.ym.mec.biz.dal.dao.TeacherAttendanceDao;
+import com.ym.mec.biz.dal.dao.TeacherDao;
+import com.ym.mec.biz.dal.dao.TeacherDefaultVipGroupSalaryDao;
+import com.ym.mec.biz.dal.dao.VipGroupActivityDao;
+import com.ym.mec.biz.dal.dao.VipGroupCategoryDao;
+import com.ym.mec.biz.dal.dao.VipGroupClassGroupMapperDao;
+import com.ym.mec.biz.dal.dao.VipGroupDao;
+import com.ym.mec.biz.dal.dao.VipGroupDefaultClassesCycleDao;
+import com.ym.mec.biz.dal.dao.VipGroupDefaultClassesUnitPriceDao;
+import com.ym.mec.biz.dal.dto.StudentVipGroupDetailDto;
+import com.ym.mec.biz.dal.dto.TeachingRecordBaseInfo;
+import com.ym.mec.biz.dal.dto.VipGroupApplyBaseInfoDto;
+import com.ym.mec.biz.dal.dto.VipGroupApplyDto;
+import com.ym.mec.biz.dal.dto.VipGroupBuyParamsDto;
+import com.ym.mec.biz.dal.dto.VipGroupCostCountDto;
+import com.ym.mec.biz.dal.dto.VipGroupCostCountParamsDto;
+import com.ym.mec.biz.dal.dto.VipGroupManageDetailDto;
+import com.ym.mec.biz.dal.dto.VipGroupSalaryBaseInfo;
+import com.ym.mec.biz.dal.dto.VipGroupSalaryDto;
+import com.ym.mec.biz.dal.dto.VipGroupSalarySettlementDto;
+import com.ym.mec.biz.dal.entity.ClassGroup;
+import com.ym.mec.biz.dal.entity.ClassGroupStudentMapper;
+import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
+import com.ym.mec.biz.dal.entity.ClassGroupTeacherSalary;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
-import com.ym.mec.biz.dal.enums.*;
-import com.ym.mec.biz.dal.page.*;
-import com.ym.mec.biz.service.*;
+import com.ym.mec.biz.dal.entity.School;
+import com.ym.mec.biz.dal.entity.StudentApplyRefunds;
+import com.ym.mec.biz.dal.entity.StudentApplyRefunds.StudentApplyRefundsStatus;
+import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
+import com.ym.mec.biz.dal.entity.SysUserCashAccount;
+import com.ym.mec.biz.dal.entity.SysUserCashAccountDetail;
+import com.ym.mec.biz.dal.entity.Teacher;
+import com.ym.mec.biz.dal.entity.TeacherDefaultVipGroupSalary;
+import com.ym.mec.biz.dal.entity.VipGroup;
+import com.ym.mec.biz.dal.entity.VipGroupActivity;
+import com.ym.mec.biz.dal.entity.VipGroupCategory;
+import com.ym.mec.biz.dal.entity.VipGroupClassGroupMapper;
+import com.ym.mec.biz.dal.entity.VipGroupDefaultClassesCycle;
+import com.ym.mec.biz.dal.entity.VipGroupDefaultClassesUnitPrice;
+import com.ym.mec.biz.dal.enums.AuditStatusEnum;
+import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
+import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
+import com.ym.mec.biz.dal.enums.CourseStatusEnum;
+import com.ym.mec.biz.dal.enums.DealStatusEnum;
+import com.ym.mec.biz.dal.enums.MessageTypeEnum;
+import com.ym.mec.biz.dal.enums.OrderTypeEnum;
+import com.ym.mec.biz.dal.enums.PlatformCashAccountDetailTypeEnum;
+import com.ym.mec.biz.dal.enums.TeachModeEnum;
+import com.ym.mec.biz.dal.enums.TeachTypeEnum;
+import com.ym.mec.biz.dal.enums.VipGroupStatusEnum;
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
+import com.ym.mec.biz.dal.page.StudentVipGroupQueryInfo;
+import com.ym.mec.biz.dal.page.VipGroupAttendanceQueryInfo;
+import com.ym.mec.biz.dal.page.VipGroupQueryInfo;
+import com.ym.mec.biz.dal.page.VipGroupSalaryQueryInfo;
+import com.ym.mec.biz.dal.page.VipGroupTeachingRecordQueryInfo;
+import com.ym.mec.biz.service.ContractService;
+import com.ym.mec.biz.service.CourseScheduleRewardsRulesService;
+import com.ym.mec.biz.service.CourseScheduleService;
+import com.ym.mec.biz.service.CourseScheduleStudentPaymentService;
+import com.ym.mec.biz.service.CourseScheduleTeacherSalaryService;
+import com.ym.mec.biz.service.PayService;
+import com.ym.mec.biz.service.SysConfigService;
+import com.ym.mec.biz.service.SysMessageService;
+import com.ym.mec.biz.service.SysUserCashAccountDetailService;
+import com.ym.mec.biz.service.SysUserCashAccountService;
+import com.ym.mec.biz.service.VipGroupService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImGroupMember;
 import com.ym.mec.common.entity.ImGroupModel;
@@ -20,16 +111,6 @@ import com.ym.mec.im.ImFeignService;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Propagation;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.CollectionUtils;
-
-import java.math.BigDecimal;
-import java.util.*;
-import java.util.stream.Collectors;
 
 @Service
 public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> implements VipGroupService {
@@ -922,7 +1003,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 				new BigDecimal(Objects.isNull(surplusClassTimes.get(TeachModeEnum.OFFLINE.getCode()))?"0":surplusClassTimes.get(TeachModeEnum.OFFLINE.getCode()).toString()),
 				true,
 				false).get("totalPrice"));
-		studentApplyRefunds.setStatus(AuditStatusEnum.ING);
+		studentApplyRefunds.setStatus(StudentApplyRefundsStatus.ING);
 		String orderNo=StringUtils.join(new String[]{studentId.toString(),String.valueOf(System.currentTimeMillis())});
 		studentApplyRefunds.setOrderNo(orderNo);
 		studentApplyRefunds.setOrigPaymentOrderId(studentPaymentOrder.getId());
@@ -932,7 +1013,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 	@Transactional(rollbackFor = Exception.class)
 	@Override
-	public void applyRefundAudit(Long id, AuditStatusEnum status, String remark,BigDecimal amount) {
+	public void applyRefundAudit(Long id, StudentApplyRefundsStatus status, String remark,BigDecimal amount) {
 
 		StudentApplyRefunds studentApplyRefunds = studentApplyRefundsDao.get(id);
 		if (studentApplyRefunds == null) {
@@ -943,17 +1024,24 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		if (null == studentPaymentOrder) {
 			throw new BizException("未找到原订单信息!");
 		}
+		
+		if(status ==StudentApplyRefundsStatus.ING){
+			throw new BizException("状态不正确");
+		}
 
 		studentApplyRefunds.setStatus(status);
-		if (studentApplyRefunds.getStatus() == AuditStatusEnum.PASS) {
+		if (studentApplyRefunds.getStatus() == StudentApplyRefundsStatus.DONE) {
 			studentApplyRefunds.setActualAmount(amount);
-		} else {
+		} else if (studentApplyRefunds.getStatus() == StudentApplyRefundsStatus.WAIT_PAYMENT){
+			studentApplyRefunds.setExpectAmount(amount);
+		}else{
 			studentApplyRefunds.setActualAmount(new BigDecimal(0));
 		}
 		studentApplyRefunds.setRemark(remark);
+		studentApplyRefunds.setUpdateTime(new Date());
 		studentApplyRefundsDao.update(studentApplyRefunds);
 		switch (studentApplyRefunds.getStatus()) {
-			case PASS:
+			case DONE:
 				sysUserCashAccountService.updateBalance(studentApplyRefunds.getUserId(), studentApplyRefunds.getActualAmount());
 				SysUserCashAccount sysUserCashAccount = sysUserCashAccountService.get(studentApplyRefunds.getUserId().intValue());
 				SysUserCashAccountDetail sysUserCashAccountDetail = new SysUserCashAccountDetail();
@@ -965,8 +1053,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 				sysUserCashAccountDetail.setAttribute(studentApplyRefunds.getId().toString());
 				sysUserCashAccountDetailDao.insert(sysUserCashAccountDetail);
 
-				ClassGroupStudentMapper classStudentMapperByUserIdAndClassGroupId = classGroupStudentMapperDao.findClassStudentMapperByUserIdAndClassGroupId(studentPaymentOrder.getUserId(),
-						studentPaymentOrder.getClassGroupId());
+				ClassGroupStudentMapper classStudentMapperByUserIdAndClassGroupId = classGroupStudentMapperDao.query(studentPaymentOrder.getClassGroupId(),
+						studentPaymentOrder.getUserId());
 
 				classStudentMapperByUserIdAndClassGroupId.setStatus(ClassGroupStudentStatusEnum.LEAVE);
 				classGroupStudentMapperDao.update(classStudentMapperByUserIdAndClassGroupId);
@@ -978,6 +1066,9 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			case REJECT:
 
 				break;
+			case WAIT_PAYMENT:
+
+				break;
 			default:
 				throw new BizException("审核状态错误!");
 		}

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

@@ -172,7 +172,7 @@
 	</select>
 
 	<select id="queryCountOfUnread" resultMap="Mapper" parameterType="map">
-		SELECT group_ key_,COUNT(*) value_ FROM sys_message WHERE user_id_ = #{userId} AND read_status_ = 0
+		SELECT group_ key_,COUNT(*) value_ FROM sys_message WHERE user_id_ = #{userId} AND read_status_ = 0 and status_ = 2
 		<if test="type != null">
 		and type_ = #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
 		</if>

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

@@ -29,6 +29,7 @@ import com.ym.mec.biz.dal.dto.VipGroupApplyDto;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.Employee;
 import com.ym.mec.biz.dal.entity.StudentApplyRefunds;
+import com.ym.mec.biz.dal.entity.StudentApplyRefunds.StudentApplyRefundsStatus;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 import com.ym.mec.biz.dal.entity.VipGroup;
 import com.ym.mec.biz.dal.enums.AuditStatusEnum;
@@ -128,7 +129,7 @@ public class VipGroupManageController extends BaseController {
     @ApiOperation(value = "退课申请审核")
     @PostMapping("/applyRefundAudit")
     @PreAuthorize("@pcs.hasPermissions('vipGroupManage/applyRefundAudit')")
-	public Object applyRefundAudit(Long id, AuditStatusEnum status, String remark, BigDecimal amount) {
+	public Object applyRefundAudit(Long id, StudentApplyRefundsStatus status, String remark, BigDecimal amount) {
 		vipGroupService.applyRefundAudit(id, status, remark, amount);
 		return succeed();
 	}