zouxuan 3 years ago
parent
commit
0d8f35b076
23 changed files with 293 additions and 107 deletions
  1. 5 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderDao.java
  2. 4 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderMemberDao.java
  3. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderRepairDao.java
  4. 61 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupPaymentCalenderResultDto.java
  5. 31 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupPaymentCalender.java
  6. 0 9
      mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentCalenderDetailService.java
  7. 4 0
      mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentCalenderMemberService.java
  8. 3 0
      mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentCalenderRepairService.java
  9. 3 4
      mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentCalenderService.java
  10. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentPaymentOrderDetailService.java
  11. 0 7
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderDetailServiceImpl.java
  12. 6 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderMemberServiceImpl.java
  13. 5 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderRepairServiceImpl.java
  14. 52 23
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java
  15. 5 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderDetailServiceImpl.java
  16. 21 34
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServiceImpl.java
  17. 5 7
      mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderDetailMapper.xml
  18. 57 10
      mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderMapper.xml
  19. 3 0
      mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderMemberMapper.xml
  20. 3 0
      mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderRepairMapper.xml
  21. 2 2
      mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupPaymentCalenderController.java
  22. 1 1
      mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupPaymentCalenderDetailController.java
  23. 18 10
      mec-web/src/main/java/com/ym/mec/web/controller/StudentPaymentOrderController.java

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderDao.java

@@ -2,6 +2,7 @@ package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.dto.CalenderPushDto;
 import com.ym.mec.biz.dal.dto.MusicGroupPaymentCalenderAuditDto;
+import com.ym.mec.biz.dal.dto.MusicGroupPaymentCalenderResultDto;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PayUserType;
 import com.ym.mec.biz.dal.enums.PaymentStatusEnum;
@@ -344,4 +345,8 @@ public interface MusicGroupPaymentCalenderDao extends BaseDAO<Long, MusicGroupPa
      * @return
      */
     String queryCalenderStudentIds(@Param("musicGroupId") String musicGroupId, @Param("batchNo") String batchNo);
+
+    int countCalender(Map<String, Object> params);
+
+    List<MusicGroupPaymentCalenderResultDto> queryCalenderPage(Map<String, Object> params);
 }

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderMemberDao.java

@@ -4,8 +4,12 @@ import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderMember;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 public interface MusicGroupPaymentCalenderMemberDao extends BaseDAO<Long, MusicGroupPaymentCalenderMember> {
 
 
     void deleteByCalenderId(@Param("calenderId") Long calenderId);
+
+    List<MusicGroupPaymentCalenderMember> findByCalenderId(@Param("calenderId") Long calenderId);
 }

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

@@ -8,4 +8,6 @@ public interface MusicGroupPaymentCalenderRepairDao extends BaseDAO<Long, MusicG
 
 
     void deleteByCalenderId(@Param("calenderId") Long calenderId);
+
+    MusicGroupPaymentCalenderRepair findByCalenderId(@Param("calenderId") Long calenderId);
 }

+ 61 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/MusicGroupPaymentCalenderResultDto.java

@@ -0,0 +1,61 @@
+package com.ym.mec.biz.dal.dto;
+
+import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
+import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PayUserType;
+import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentType;
+import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderCourseSettings;
+import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderStudentDetail;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class MusicGroupPaymentCalenderResultDto extends MusicGroupPaymentCalender{
+	private Integer organId;
+
+	private String organName;
+
+	private String musicGroupName;
+
+	private String operatorName;
+
+	@Override
+	public Integer getOrganId() {
+		return organId;
+	}
+
+	@Override
+	public void setOrganId(Integer organId) {
+		this.organId = organId;
+	}
+
+	@Override
+	public String getOrganName() {
+		return organName;
+	}
+
+	@Override
+	public void setOrganName(String organName) {
+		this.organName = organName;
+	}
+
+	@Override
+	public String getMusicGroupName() {
+		return musicGroupName;
+	}
+
+	@Override
+	public void setMusicGroupName(String musicGroupName) {
+		this.musicGroupName = musicGroupName;
+	}
+
+	public String getOperatorName() {
+		return operatorName;
+	}
+
+	public void setOperatorName(String operatorName) {
+		this.operatorName = operatorName;
+	}
+}

+ 31 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupPaymentCalender.java

@@ -102,6 +102,9 @@ public class MusicGroupPaymentCalender extends BaseEntity {
 
 	@ApiModelProperty(value = "乐团编号", required = false)
 	private String musicGroupId;
+
+	@ApiModelProperty(value = "乐团名称", required = false)
+	private String musicGroupName;
 	
 	private Integer musicGroupOrganizationCourseSettingId;
 	
@@ -206,6 +209,34 @@ public class MusicGroupPaymentCalender extends BaseEntity {
 	//原价
 	private BigDecimal originalTotalAmount;
 
+	private Integer organId;
+
+	private String organName;
+
+	public String getOrganName() {
+		return organName;
+	}
+
+	public void setOrganName(String organName) {
+		this.organName = organName;
+	}
+
+	public Integer getOrganId() {
+		return organId;
+	}
+
+	public void setOrganId(Integer organId) {
+		this.organId = organId;
+	}
+
+	public String getMusicGroupName() {
+		return musicGroupName;
+	}
+
+	public void setMusicGroupName(String musicGroupName) {
+		this.musicGroupName = musicGroupName;
+	}
+
 	public BigDecimal getCurrentTotalAmount() {
 		return currentTotalAmount;
 	}

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

@@ -110,13 +110,4 @@ public interface MusicGroupPaymentCalenderDetailService extends BaseService<Long
      * @return
      */
     void pushWaitRenewMessage(Long calenderId, String studentIds);
-
-    /**
-    * @description: 获取乐团学员缴费详情列表
-     * @param queryInfo
-    * @return java.lang.Object
-    * @author zx
-    * @date 2021/12/24 10:56
-    */
-    Object queryDetailPage(MusicCalenderDetailQueryInfo queryInfo);
 }

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentCalenderMemberService.java

@@ -3,7 +3,11 @@ package com.ym.mec.biz.service;
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderMember;
 import com.ym.mec.common.service.BaseService;
 
+import java.util.List;
+
 public interface MusicGroupPaymentCalenderMemberService extends BaseService<Long, MusicGroupPaymentCalenderMember> {
 
     void deleteByCalenderId(Long calenderId);
+
+    List<MusicGroupPaymentCalenderMember> findByCalenderId(Long calenderId);
 }

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

@@ -2,8 +2,11 @@ package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderRepair;
 import com.ym.mec.common.service.BaseService;
+import org.apache.ibatis.annotations.Param;
 
 public interface MusicGroupPaymentCalenderRepairService extends BaseService<Long, MusicGroupPaymentCalenderRepair> {
 
     void deleteByCalenderId(Long calenderId);
+
+    MusicGroupPaymentCalenderRepair findByCalenderId(Long calenderId);
 }

+ 3 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentCalenderService.java

@@ -3,10 +3,7 @@ package com.ym.mec.biz.service;
 import java.util.List;
 import java.util.Set;
 
-import com.ym.mec.biz.dal.dto.MusicGroupPaymentBaseCalender;
-import com.ym.mec.biz.dal.dto.MusicGroupPaymentCalenderAuditDetailDto;
-import com.ym.mec.biz.dal.dto.MusicGroupPaymentCalenderAuditDto;
-import com.ym.mec.biz.dal.dto.MusicGroupPaymentCalenderDto;
+import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.page.MusicGroupPaymentCalenderQueryInfo;
 import com.ym.mec.common.page.PageInfo;
@@ -184,4 +181,6 @@ public interface MusicGroupPaymentCalenderService extends BaseService<Long, Musi
 	void revoke(String batchNo);
 
 	List<MusicGroupPaymentCalender> findByBatchNo(String batchNo);
+
+	PageInfo<MusicGroupPaymentCalenderResultDto> queryCalenderPage(MusicGroupPaymentCalenderQueryInfo queryInfo);
 }

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

@@ -104,4 +104,6 @@ public interface StudentPaymentOrderDetailService extends BaseService<Long, Stud
      * @return
      */
     List<StudentPaymentOrderDetail> getOrderGoodsDetail(Long orderId);
+
+    List<StudentPaymentOrderDetail> queryOrderDetail(Long orderId);
 }

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

@@ -658,11 +658,4 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 		sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.STUDENT_SMS_WAIT_RENEW_MESSAGE, studentMaps,
 				null, 0, memo, null, musicGroup.getName());
 	}
-
-    @Override
-    public Object queryDetailPage(MusicCalenderDetailQueryInfo queryInfo) {
-		PageInfo<MusicGroupPaymentCalenderDetail> calenderDetailPageInfo = queryPage(queryInfo);
-
-		return null;
-    }
 }

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderMemberServiceImpl.java

@@ -16,6 +16,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
+import java.util.List;
 
 import static com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentCalenderStatusEnum.AUDITING;
 import static com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PaymentCalenderStatusEnum.NO;
@@ -125,4 +126,9 @@ public class MusicGroupPaymentCalenderMemberServiceImpl extends BaseServiceImpl<
     public void deleteByCalenderId(Long calenderId) {
         musicGroupPaymentCalenderMemberDao.deleteByCalenderId(calenderId);
     }
+
+    @Override
+    public List<MusicGroupPaymentCalenderMember> findByCalenderId(Long calenderId) {
+        return musicGroupPaymentCalenderMemberDao.findByCalenderId(calenderId);
+    }
 }

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

@@ -97,4 +97,9 @@ public class MusicGroupPaymentCalenderRepairServiceImpl extends BaseServiceImpl<
     public void deleteByCalenderId(Long calenderId) {
         musicGroupPaymentCalenderRepairDao.deleteByCalenderId(calenderId);
     }
+
+    @Override
+    public MusicGroupPaymentCalenderRepair findByCalenderId(Long calenderId) {
+        return musicGroupPaymentCalenderRepairDao.findByCalenderId(calenderId);
+    }
 }

+ 52 - 23
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -37,6 +37,8 @@ import java.util.*;
 import java.util.Map.Entry;
 import java.util.function.Consumer;
 import java.util.function.Function;
+import java.util.function.Predicate;
+import java.util.function.Supplier;
 import java.util.stream.Collectors;
 
 import static com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender.PayUserType.SCHOOL;
@@ -512,33 +514,32 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		return batchNo;
 	}
 
+	public <T> void checkObjectNull(T t, Consumer consumer){
+		if(t == null){
+			consumer.accept(null);
+		}
+	}
+
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public String create1(MusicGroupPaymentBaseCalender musicGroupPaymentBaseCalender) {
-		if(musicGroupPaymentBaseCalender == null){
-			throw new BizException("参数校验异常");
-		}
+		checkObjectNull(musicGroupPaymentBaseCalender, o -> {throw new BizException("参数校验异常");});
+		String musicGroupId = musicGroupPaymentBaseCalender.getMusicGroupId();
+		MusicGroup musicGroup = musicGroupDao.getLocked(musicGroupId);
+		checkObjectNull(musicGroup, o -> {throw new BizException("乐团查询失败,请检查参数");});
+
+		SysUser sysUser = sysUserFeignService.queryUserInfo();
+		checkObjectNull(sysUser, o -> {throw new BizException("请登录");});
+
 		if(musicGroupPaymentBaseCalender.getCalenderActivityList() == null
 				&& musicGroupPaymentBaseCalender.getCalenderMember() == null
 				&& musicGroupPaymentBaseCalender.getMusicGroupPaymentCalenderCourseSettingsList() == null
 				&& musicGroupPaymentBaseCalender.getMusicRepair() == null){
 			throw new BizException("请选择一个缴费项目");
 		}
-
-		String musicGroupId = musicGroupPaymentBaseCalender.getMusicGroupId();
-		MusicGroup musicGroup = musicGroupDao.getLocked(musicGroupId);
-		if (musicGroup == null) {
-			throw new BizException("乐团查询失败,请检查参数");
-		}
-
 		if (musicGroup.getStatus() != MusicGroupStatusEnum.PROGRESS && musicGroup.getStatus() != MusicGroupStatusEnum.PRE_BUILD_FEE) {
 			throw new BizException("创建缴费失败:已存在缴费项目");
 		}
-
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if (sysUser == null) {
-			throw new BizException("请登录");
-		}
 		// 所有缴费项目已完成排课才能创建下一个缴费项目
 		String orignBatchNo = musicGroupPaymentStudentCourseDetailDao.getUnUseBatchNoWithStudentAndCourseTypeAndCourseMinutes(musicGroupId, null, null,null);
 		if (StringUtils.isNoneBlank(orignBatchNo)) {
@@ -678,7 +679,7 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 
 	@Override
 	public Object getDetail(Long id) {
-		Map<String, Object> result = new HashMap<>(4);
+		Map<String, Object> result = new HashMap<>(6);
 		//获取缴费项目详情
 		MusicGroupPaymentCalender calender = musicGroupPaymentCalenderDao.get(id);
 		//统计预计缴费人数
@@ -687,22 +688,21 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		Map<Long, Long> actualNumMap = MapUtil.convertIntegerMap(musicGroupPaymentCalenderDao.countActualNum(id));
 		calender.setActualNum(actualNumMap.get(id) == null ? 0 : actualNumMap.get(id).intValue());
 		calender.setExpectNum(expectNumMap.get(id) == null ? 0 : expectNumMap.get(id).intValue());
+		result.put("calender", calender);
 		//汇总收款金额
 		BigDecimal sumActualAmount = musicGroupPaymentCalenderDetailDao.sumActualAmount(id);
 		result.put("sumActualAmount", sumActualAmount);
 		//收费标准名称
 //		String name = musicGroupPaymentCalenderDao.getCalenderSettingsName(id);
 //		result.put("calenderSettingsName", name);
-		//收费标准
-		result.put("musicGroupPaymentCalenderCourseSettings", musicGroupPaymentCalenderCourseSettingsService.queryCalenderCourseSettings(id));
+		//课程
+		result.put("course", musicGroupPaymentCalenderCourseSettingsService.queryCalenderCourseSettings(id));
+		//乐保
+		result.put("repair",musicGroupPaymentCalenderRepairService.findByCalenderId(id));
 		//会员信息
-		if(calender.getMemberRankSettingId() != null){
-			MemberRankSetting memberRankSetting = memberRankSettingDao.get(calender.getMemberRankSettingId());
-			calender.setMemberRankSettingName(memberRankSetting.getName());
-		}
+		result.put("member",musicGroupPaymentCalenderMemberService.findByCalenderId(id));
 		//活动相关信息
 		result.put("activity",musicGroupPaymentCalenderActivityService.findByCalenderId(id));
-		result.put("calender", calender);
 		return result;
 	}
 
@@ -1619,6 +1619,35 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 	}
 
 	@Override
+	public PageInfo<MusicGroupPaymentCalenderResultDto> queryCalenderPage(MusicGroupPaymentCalenderQueryInfo queryInfo) {
+		PageInfo<MusicGroupPaymentCalenderResultDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+		Map<String, Object> params = new HashMap<>();
+		MapUtil.populateMap(params, queryInfo);
+
+		List<MusicGroupPaymentCalenderResultDto> dataList = null;
+		int count = musicGroupPaymentCalenderDao.countCalender(params);
+		if (count > 0) {
+			pageInfo.setTotal(count);
+			params.put("offset", pageInfo.getOffset());
+			dataList = musicGroupPaymentCalenderDao.queryCalenderPage(params);
+			List<Integer> organIdList = dataList.stream().map(e -> e.getOrganId()).collect(Collectors.toList());
+			Map<Integer, String> organNameMap = getMap("organization", "id_", "name_", organIdList, Integer.class, String.class);
+			List<Integer> operatorIds = dataList.stream().map(e -> e.getOperator()).collect(Collectors.toList());
+			operatorIds.removeAll(Collections.singleton(null));
+			Map<Integer, String> realNameMap = getMap("sys_user", "id_", "real_name_", operatorIds, Integer.class, String.class);
+			dataList.forEach(e->{
+				e.setOrganName(organNameMap.get(e.getOrganId()));
+				e.setOperatorName(realNameMap.get(e.getOperator()));
+			});
+		}
+		if (count == 0) {
+			dataList = new ArrayList<>();
+		}
+		pageInfo.setRows(dataList);
+		return pageInfo;
+	}
+
+	@Override
 	@Transactional(rollbackFor = Exception.class,isolation = Isolation.READ_COMMITTED)
 	public boolean autoUpdateMusicGroupPaymentCalenderStatus() {
 		Date date = new Date();

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

@@ -529,4 +529,9 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
     public List<StudentPaymentOrderDetail> getOrderGoodsDetail(Long orderId) {
         return studentPaymentOrderDetailDao.getOrderDetail(orderId);
     }
+
+    @Override
+    public List<StudentPaymentOrderDetail> queryOrderDetail(Long orderId) {
+        return studentPaymentOrderDetailDao.findApplyOrderGoods(orderId);
+    }
 }

+ 21 - 34
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServiceImpl.java

@@ -15,6 +15,8 @@ import java.util.Map;
 import java.util.Objects;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicInteger;
+import java.util.function.BiFunction;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 import com.ym.mec.biz.service.*;
@@ -85,6 +87,8 @@ import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
 
+import javax.annotation.PostConstruct;
+
 @Service
 public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implements StudentService {
 
@@ -399,20 +403,11 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
     }
 
     public Date getMembershipEndTime(PeriodEnum periodEnum,Date endTime,Integer memberNum){
-        switch (periodEnum) {
-            case DAY:
-                return DateUtil.addDays(endTime,memberNum);
-            case MONTH:
-                return DateUtil.addMonths(endTime,memberNum);
-            case QUARTERLY:
-                return DateUtil.addMonths(endTime,memberNum * 3);
-            case YEAR_HALF:
-                return DateUtil.addMonths(endTime,memberNum * 6);
-            case YEAR:
-                return DateUtil.addYears(endTime,memberNum);
-            default:
-                throw new BizException("错误的会员时长单位");
+        BiFunction<Date, Integer, Date> dateBiFunction = periodStrategyMap.get(periodEnum);
+        if(dateBiFunction == null){
+            throw new BizException("错误的会员时长单位");
         }
+        return dateBiFunction.apply(endTime,memberNum);
     }
 
     @Override
@@ -434,6 +429,18 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
         this.update(student);
     }
 
+    private Map<PeriodEnum, BiFunction<Date,Integer,Date>> periodStrategyMap = new HashMap<>();
+
+    @PostConstruct
+    public void periodStrategyMapInit(){
+        periodStrategyMap.put(PeriodEnum.DAY, (date, times) -> DateUtil.addDays(date, times));
+        periodStrategyMap.put(PeriodEnum.MONTH, (date, times) -> DateUtil.addMonths(date, times));
+        periodStrategyMap.put(PeriodEnum.QUARTERLY, (date, times) -> DateUtil.addMonths(date, times*3));
+        periodStrategyMap.put(PeriodEnum.YEAR_HALF, (date, times) -> DateUtil.addMonths(date, times*6));
+        periodStrategyMap.put(PeriodEnum.YEAR, (date, times) -> DateUtil.addYears(date, times));
+    }
+
+
     @Override
     @Transactional(rollbackFor = Exception.class)
 	public void updateMemberRank(Integer userId, PeriodEnum periodEnum, int times, Integer memberRankSettingId) {
@@ -447,30 +454,10 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
         if(student.getMembershipStartTime() == null){
             student.setMembershipStartTime(nowDate);
         }
-        
         if(student.getMembershipEndTime() != null && student.getMembershipEndTime().after(nowDate)){
         	nowDate = student.getMembershipEndTime();
         }
-        
-        switch (periodEnum) {
-		case DAY:
-            student.setMembershipEndTime(DateUtil.addDays(nowDate, times));
-			break;
-		case MONTH:
-            student.setMembershipEndTime(DateUtil.addMonths(nowDate, times));
-            break;
-		case QUARTERLY:
-            student.setMembershipEndTime(DateUtil.addMonths(nowDate, times * 3));
-            break;
-		case YEAR_HALF:
-            student.setMembershipEndTime(DateUtil.addMonths(nowDate, times * 6));
-			break;
-		case YEAR:
-            student.setMembershipEndTime(DateUtil.addYears(nowDate, times));
-			break;
-		default:
-			break;
-		}
+        student.setMembershipEndTime(getMembershipEndTime(periodEnum,nowDate,times));
         student.setMemberRankSettingId(memberRankSettingId);
         this.update(student);
 	}

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

@@ -216,13 +216,12 @@
 
 	<!-- 分页查询 -->
 	<select id="queryPage" resultMap="MusicGroupPaymentCalenderDetail" parameterType="map">
-		SELECT su.username_,su.phone_,st.name_ subject_names_,sr.music_group_status_,tu.real_name_ responsible_username_,
+		SELECT mgpcd.user_id_,su.username_,st.name_ subject_names_,sr.music_group_status_,su.phone_,
 		CASE WHEN mgpcd.start_payment_date_ IS NULL THEN mgpc.start_payment_date_ ELSE mgpcd.start_payment_date_ END start_payment_date_mgpc_,
 		CASE WHEN mgpcd.deadline_payment_date_ IS NULL THEN mgpc.deadline_payment_date_ ELSE mgpcd.deadline_payment_date_ END deadline_payment_date_mgpc_,
-		CASE WHEN mgpc.status_ = 'OPEN' OR mgpcd.open_ = 1 THEN 1 ELSE 0 END open_,mgpc.payment_type_,mgpcd.*
+		CASE WHEN mgpc.status_ = 'OPEN' OR mgpcd.open_ = 1 THEN 1 ELSE 0 END open_,mgpc.payment_type_
 		FROM music_group_payment_calender_detail mgpcd
 		LEFT JOIN sys_user su ON su.id_ = mgpcd.user_id_
-		left join sys_user tu on tu.id_ = mgpcd.responsible_user_id_
 		LEFT JOIN student_registration sr ON sr.user_id_ = mgpcd.user_id_
 		LEFT JOIN `subject` st ON st.id_ = sr.actual_subject_id_
 		LEFT JOIN music_group_payment_calender mgpc ON mgpc.id_ = mgpcd.music_group_payment_calender_id_
@@ -254,9 +253,9 @@
 			<if test="subjectId != null">
 				AND #{subjectId} = sr.actual_subject_id_
 			</if>
-			<if test="responsibleRealName != null and responsibleRealName != ''">
-				AND (mgpcd.responsible_user_id_ = #{responsibleRealName} OR tu.real_name_ LIKE CONCAT('%',#{responsibleRealName},'%') OR tu.phone_ LIKE CONCAT('%',#{responsibleRealName},'%'))
-			</if>
+<!--			<if test="responsibleRealName != null and responsibleRealName != ''">-->
+<!--				AND (mgpcd.responsible_user_id_ = #{responsibleRealName} OR tu.real_name_ LIKE CONCAT('%',#{responsibleRealName},'%') OR tu.phone_ LIKE CONCAT('%',#{responsibleRealName},'%'))-->
+<!--			</if>-->
 		</where>
 	</sql>
 
@@ -266,7 +265,6 @@
 		LEFT JOIN student_registration sr ON sr.user_id_ = mgpcd.user_id_
 		LEFT JOIN `subject` st ON st.id_ = sr.actual_subject_id_
 		LEFT JOIN sys_user su ON su.id_ = mgpcd.user_id_
-		left join sys_user tu on tu.id_ = mgpcd.responsible_user_id_
 		LEFT JOIN music_group_payment_calender mgpc ON mgpc.id_ = mgpcd.music_group_payment_calender_id_
 		<include refid="queryPageSql"/>
 	</select>

+ 57 - 10
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderMapper.xml

@@ -31,15 +31,15 @@
         <result column="attribute1_" property="attribute1"/>
         <result column="attribute2_" property="attribute2"/>
         <result column="student_ids_" property="studentIds"/>
-        <result column="member_payment_amount_" property="memberPaymentAmount"/>
-        <result column="original_member_payment_amount_" property="originalMemberPaymentAmount"/>
-        <result column="member_rank_setting_id_" property="memberRankSettingId"/>
-        <result column="member_valid_date_" property="memberValidDate"/>
-        <result column="member_period_" property="memberPeriod" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
-        <result column="member_optional_flag_" property="memberOptionalFlag"/>
-        <result column="music_repair_num_" property="musicRepairNum"/>
-        <result column="music_repair_actual_price_" property="musicRepairActualPrice"/>
-        <result column="music_repair_optional_flag_" property="musicRepairOptionalFlag"/>
+<!--        <result column="member_payment_amount_" property="memberPaymentAmount"/>-->
+<!--        <result column="original_member_payment_amount_" property="originalMemberPaymentAmount"/>-->
+<!--        <result column="member_rank_setting_id_" property="memberRankSettingId"/>-->
+<!--        <result column="member_valid_date_" property="memberValidDate"/>-->
+<!--        <result column="member_period_" property="memberPeriod" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>-->
+<!--        <result column="member_optional_flag_" property="memberOptionalFlag"/>-->
+<!--        <result column="music_repair_num_" property="musicRepairNum"/>-->
+<!--        <result column="music_repair_actual_price_" property="musicRepairActualPrice"/>-->
+<!--        <result column="music_repair_optional_flag_" property="musicRepairOptionalFlag"/>-->
         <result column="current_total_amount_" property="currentTotalAmount"/>
         <result column="original_total_amount_" property="originalTotalAmount"/>
     </resultMap>
@@ -311,7 +311,8 @@
 
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="MusicGroupPaymentCalender" parameterType="map">
-        SELECT * FROM music_group_payment_calender mgpc
+        SELECT mgpc.*
+        FROM music_group_payment_calender mgpc
         <include refid="queryPageSql"/>
         ORDER BY mgpc.payment_valid_start_date_,mgpc.id_ DESC
         <include refid="global.limit"/>
@@ -688,4 +689,50 @@
             AND batch_no_ != #{batchNo}
         </if>
     </select>
+    <sql id="queryCalenderPageSql">
+        <where>
+            <if test="search != null and search != ''">
+                AND mgpc.music_group_id_ = #{search} OR mg.name_ LIKE CONCAT('%',#{search},'%')
+            </if>
+            <if test="musicGroupId != null">
+                AND mgpc.music_group_id_ = #{musicGroupId}
+            </if>
+            <if test="batchNo != null">
+                AND mgpc.batch_no_ = #{batchNo}
+            </if>
+            <if test="payUserType != null">
+                AND mgpc.pay_user_type_ = #{payUserType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+            </if>
+            <if test="paymentType != null">
+                AND mgpc.payment_type_ = #{paymentType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+            </if>
+            <if test="status != null">
+                AND mgpc.status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+            </if>
+        </where>
+    </sql>
+    <select id="countCalender" resultType="java.lang.Integer">
+        SELECT COUNT(mgpc.id_) FROM music_group_payment_calender mgpc
+        LEFT JOIN music_group mg ON mg.id_ = mgpc.music_group_id_
+        <include refid="queryCalenderPageSql"/>
+    </select>
+
+    <resultMap id="MusicGroupPaymentCalenderResultDto" type="com.ym.mec.biz.dal.dto.MusicGroupPaymentCalenderResultDto"
+               extends="MusicGroupPaymentCalender">
+        <result column="organ_id_" property="organId"/>
+        <result column="music_group_name_" property="musicGroupName"/>
+        <result column="operator_name_" property="operatorName"/>
+    </resultMap>
+    <select id="queryCalenderPage" resultMap="MusicGroupPaymentCalenderResultDto">
+        SELECT mgpc.id_,mgpc.music_group_id_,mgpc.music_group_organization_course_settings_id_,mgpc.pay_user_type_,mgpc.reject_reason_,
+        mgpc.start_payment_date_,mgpc.deadline_payment_date_,mgpc.status_,mgpc.expect_num_,
+        mgpc.actual_num_,mgpc.memo_,mgpc.create_time_,mgpc.update_time_,
+        mgpc.payment_pattern_,mgpc.payment_type_,mgpc.batch_no_,mgpc.audit_memo_,mgpc.operator_,mgpc.attribute1_,
+        mgpc.attribute2_,mgpc.student_ids_,mgpc.current_total_amount_,mgpc.original_total_amount_,mg.name_ music_group_name_,mg.organ_id_
+        FROM music_group_payment_calender mgpc
+        LEFT JOIN music_group mg ON mg.id_ = mgpc.music_group_id_
+        <include refid="queryCalenderPageSql"/>
+        ORDER BY mgpc.id_ DESC
+        <include refid="global.limit"/>
+    </select>
 </mapper>

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderMemberMapper.xml

@@ -86,4 +86,7 @@
 	<select id="queryCount" resultType="int">
 		SELECT COUNT(*) FROM music_group_payment_calender_member
 	</select>
+    <select id="findByCalenderId" resultMap="MusicGroupPaymentCalenderMember">
+		SELECT * FROM music_group_payment_calender_member WHERE calender_id_ = #{calenderId}
+	</select>
 </mapper>

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderRepairMapper.xml

@@ -72,4 +72,7 @@
 	<select id="queryCount" resultType="int">
 		SELECT COUNT(*) FROM music_group_payment_calender_repair
 	</select>
+    <select id="findByCalenderId" resultMap="MusicGroupPaymentCalenderRepair">
+		SELECT * FROM music_group_payment_calender_repair WHERE calender_id_ = #{calenderId}
+	</select>
 </mapper>

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

@@ -45,10 +45,10 @@ public class MusicGroupPaymentCalenderController extends BaseController {
     private ClassGroupStudentMapperDao classGroupStudentMapperDao;
 
     @ApiOperation(value = "分页查询乐团缴费日历列表")
-    @GetMapping(value = "/queryPage", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+    @GetMapping(value = "/queryPage")
     @PreAuthorize("@pcs.hasPermissions('musicGroupPaymentCalender/queryPage')")
     public Object queryPage(MusicGroupPaymentCalenderQueryInfo queryInfo) {
-        return succeed(musicGroupPaymentCalenderService.queryPage(queryInfo));
+        return succeed(musicGroupPaymentCalenderService.queryCalenderPage(queryInfo));
     }
 
     @ApiOperation(value = "获取缴费信息")

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

@@ -49,7 +49,7 @@ public class MusicGroupPaymentCalenderDetailController extends BaseController {
     @GetMapping("/queryPage")
     @PreAuthorize("@pcs.hasPermissions('musicGroupPaymentCalenderDetail/queryPage')")
     public Object queryPage(MusicCalenderDetailQueryInfo queryInfo) {
-        return succeed(musicGroupPaymentCalenderDetailService.queryDetailPage(queryInfo));
+        return succeed(musicGroupPaymentCalenderDetailService.queryPage(queryInfo));
     }
 
     @ApiOperation(value = "修改学员预计缴费金额")

+ 18 - 10
mec-web/src/main/java/com/ym/mec/web/controller/StudentPaymentOrderController.java

@@ -1,5 +1,6 @@
 package com.ym.mec.web.controller;
 
+import com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -60,17 +61,17 @@ public class StudentPaymentOrderController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-            Employee employee = employeeDao.get(sysUser.getId());
-            if (StringUtils.isEmpty(queryInfo.getOrganId())) {
-                queryInfo.setOrganId(employee.getOrganIdList());
-            } else if (StringUtils.isEmpty(employee.getOrganIdList())) {
-                return failed("用户所在分部异常");
-            } else {
-                List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
-                if (!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))) {
-                    return failed("非法请求");
-                }
+        Employee employee = employeeDao.get(sysUser.getId());
+        if (StringUtils.isEmpty(queryInfo.getOrganId())) {
+            queryInfo.setOrganId(employee.getOrganIdList());
+        } else if (StringUtils.isEmpty(employee.getOrganIdList())) {
+            return failed("用户所在分部异常");
+        } else {
+            List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
+            if (!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))) {
+                return failed("非法请求");
             }
+        }
         if (StringUtils.isNotBlank(queryInfo.getSearch())) {
             List<BasicUserDto> users = studentPaymentOrderDao.getUsers(queryInfo.getSearch());
             List<Integer> userIds = users.stream().map(BasicUserDto::getUserId).collect(Collectors.toList());
@@ -235,5 +236,12 @@ public class StudentPaymentOrderController extends BaseController {
         return succeed(studentPaymentOrderService.getOrderStatus(id));
     }
 
+    @ApiOperation(value = "查询订单详情")
+    @GetMapping("/queryOrderDetail")
+    @PreAuthorize("@pcs.hasPermissions('order/queryOrderDetail')")
+    public Object queryOrderDetail(Long orderId){
+        return studentPaymentOrderDetailService.queryOrderDetail(orderId);
+    }
+
 
 }