瀏覽代碼

Merge remote-tracking branch 'origin/master'

Joburgess 5 年之前
父節點
當前提交
ff11fe38a0
共有 19 個文件被更改,包括 323 次插入92 次删除
  1. 21 0
      mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/entity/SysUser.java
  2. 74 57
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderDao.java
  3. 19 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderDetailDao.java
  4. 20 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentManageVipGroupClassDto.java
  5. 50 2
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentRepair.java
  6. 0 10
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/VipGroupQueryInfo.java
  7. 8 0
      mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentCalenderService.java
  8. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  9. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderDetailServiceImpl.java
  10. 73 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java
  11. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentManageServiceImpl.java
  12. 17 0
      mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderDetailMapper.xml
  13. 4 0
      mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderMapper.xml
  14. 2 1
      mec-biz/src/main/resources/config/mybatis/StudentManageDao.xml
  15. 9 5
      mec-biz/src/main/resources/config/mybatis/StudentRepairMapper.xml
  16. 2 12
      mec-biz/src/main/resources/config/mybatis/VipGroupMapper.xml
  17. 9 2
      mec-student/src/main/java/com/ym/mec/student/controller/MusicGroupController.java
  18. 2 0
      mec-web/src/main/java/com/ym/mec/web/controller/EmployeeController.java
  19. 8 0
      mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupPaymentCalenderController.java

+ 21 - 0
mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/entity/SysUser.java

@@ -123,6 +123,12 @@ public class SysUser implements Serializable{
 	@ApiModelProperty(value = "用户角色",required = false)
 	private List<Integer> roles;
 
+	@ApiModelProperty(value = "联系地址",required = false)
+	private String contactAddress;
+
+	@ApiModelProperty(value = "邮编",required = false)
+	private String postalCode;
+
 	public Integer getServiceTag() {
 		return serviceTag;
 	}
@@ -370,6 +376,21 @@ public class SysUser implements Serializable{
 	public void setRoles(List<Integer> roles) {
 		this.roles = roles;
 	}
+	public String getContactAddress() {
+		return contactAddress;
+	}
+
+	public void setContactAddress(String contactAddress) {
+		this.contactAddress = contactAddress;
+	}
+
+	public String getPostalCode() {
+		return postalCode;
+	}
+
+	public void setPostalCode(String postalCode) {
+		this.postalCode = postalCode;
+	}
 
 	@Override
 	public String toString() {

+ 74 - 57
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderDao.java

@@ -13,67 +13,84 @@ import com.ym.mec.common.dal.BaseDAO;
 
 public interface MusicGroupPaymentCalenderDao extends BaseDAO<Long, MusicGroupPaymentCalender> {
 
-	/**
-	 * 根据乐团编号删除乐团缴费周期
-	 * @param musicGroupId
-	 */
-	void delByGroupId(String musicGroupId);
+    /**
+     * 根据乐团编号删除乐团缴费周期
+     *
+     * @param musicGroupId
+     */
+    void delByGroupId(String musicGroupId);
 
-	/**
-	 * 根据乐团编号获取乐团缴费日历
-	 * @param musicGroupId
-	 * @return
-	 */
-	List<MusicGroupPaymentCalender> findByMusicGroupId(String musicGroupId);
+    /**
+     * 根据乐团编号获取乐团缴费日历
+     *
+     * @param musicGroupId
+     * @return
+     */
+    List<MusicGroupPaymentCalender> findByMusicGroupId(String musicGroupId);
 
-	/**
-	 * 批量新增乐团缴费周期
-	 * @param calender
-	 * @param musicGroupId
-	 */
-	void batchAdd(@Param("calender") List<Integer> calender, @Param("musicGroupId") String musicGroupId);
+    /**
+     * 批量新增乐团缴费周期
+     *
+     * @param calender
+     * @param musicGroupId
+     */
+    void batchAdd(@Param("calender") List<Integer> calender, @Param("musicGroupId") String musicGroupId);
 
-	/**
-	 * 批量修改
-	 * @param musicGroupPaymentCalenderList
-	 * @return
-	 */
-	int batchUpdate(List<MusicGroupPaymentCalender> musicGroupPaymentCalenderList);
+    /**
+     * 批量修改
+     *
+     * @param musicGroupPaymentCalenderList
+     * @return
+     */
+    int batchUpdate(List<MusicGroupPaymentCalender> musicGroupPaymentCalenderList);
 
-	/**
-	 * 查询指定状态的记录
-	 * @param status
-	 * @return
-	 */
-	List<MusicGroupPaymentCalender> queryByPaymentStatus(@Param("status") List<PaymentStatusEnum> status);
-	
-	/**
-	 * 获取缴费信息锁
-	 * @param id
-	 * @return
-	 */
-	MusicGroupPaymentCalender getForLock(@Param("id") Long id);
+    /**
+     * 查询指定状态的记录
+     *
+     * @param status
+     * @return
+     */
+    List<MusicGroupPaymentCalender> queryByPaymentStatus(@Param("status") List<PaymentStatusEnum> status);
 
-	/**
-	 * 根据指定乐团的缴费日期查询交集
-	 * @param musicGroupId 乐团编号
-	 * @param startPaymentDate 开始缴费日期
-	 * @param deadlinePaymentDate 截止缴费日期
-	 * @return
-	 */
-	int queryIntersectionByPaymentDate(@Param("musicGroupId") String musicGroupId, @Param("startPaymentDate") Date startPaymentDate,
-			@Param("deadlinePaymentDate") Date deadlinePaymentDate);
+    /**
+     * 获取缴费信息锁
+     *
+     * @param id
+     * @return
+     */
+    MusicGroupPaymentCalender getForLock(@Param("id") Long id);
 
-	/**
-	 * 统计预计缴费人数
-	 * @param collect
-	 * @return
-	 */
-	List<Map<Long, Long>> countExpectNum(@Param("collect") Set<Long> collect);
-	/**
-	 * 统计预计缴费人数
-	 * @param collect
-	 * @return
-	 */
-	List<Map<Long, Long>> countActualNum(@Param("collect") Set<Long> collect);
+    /**
+     * 根据指定乐团的缴费日期查询交集
+     *
+     * @param musicGroupId        乐团编号
+     * @param startPaymentDate    开始缴费日期
+     * @param deadlinePaymentDate 截止缴费日期
+     * @return
+     */
+    int queryIntersectionByPaymentDate(@Param("musicGroupId") String musicGroupId, @Param("startPaymentDate") Date startPaymentDate,
+                                       @Param("deadlinePaymentDate") Date deadlinePaymentDate);
+
+    /**
+     * 统计预计缴费人数
+     *
+     * @param collect
+     * @return
+     */
+    List<Map<Long, Long>> countExpectNum(@Param("collect") Set<Long> collect);
+
+    /**
+     * 统计预计缴费人数
+     *
+     * @param collect
+     * @return
+     */
+    List<Map<Long, Long>> countActualNum(@Param("collect") Set<Long> collect);
+
+    /**
+     * 乐团最后一次交费信息
+     * @param musicGroupId
+     * @return
+     */
+    MusicGroupPaymentCalender getLastStartOne(@Param("musicGroupId") String musicGroupId);
 }

+ 19 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderDetailDao.java

@@ -7,6 +7,7 @@ import org.apache.ibatis.annotations.Param;
 
 import java.math.BigDecimal;
 import java.util.List;
+import java.util.Map;
 
 public interface MusicGroupPaymentCalenderDetailDao extends BaseDAO<Long, MusicGroupPaymentCalenderDetail> {
 
@@ -81,4 +82,22 @@ public interface MusicGroupPaymentCalenderDetailDao extends BaseDAO<Long, MusicG
 	 */
 	void refreshUserMusicGroupPaymentStatusTask();
 
+	/**
+	 * 获取可以推送缴费提醒的列表
+	 * @param musicGroupPaymentCalenderId
+	 * @return
+	 */
+	List<MusicGroupPaymentCalenderDetail> queryCanPushList(@Param("musicGroupPaymentCalenderId") Long musicGroupPaymentCalenderId);
+
+	/**
+	 * 获取当天创建,已开启缴费,并且未缴费的用户列表
+	 * @return
+	 */
+	List<MusicGroupPaymentCalenderDetail> queryNoPaymentCanPushList();
+
+	/**
+	 * 获取学员对应的乐团
+	 * @return
+	 */
+	List<Map<Integer, String>> queryPaymentPushMap();
 }

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentManageVipGroupClassDto.java

@@ -23,6 +23,10 @@ public class StudentManageVipGroupClassDto {
     private String activeName;
 
     private Date courseStartDate;
+    
+    private Integer eduTeacherId;
+    
+    private String eduTeacherName;
 
     public Integer getCurrentClassTimes() {
         return currentClassTimes;
@@ -103,4 +107,20 @@ public class StudentManageVipGroupClassDto {
     public void setCourseStartDate(Date courseStartDate) {
         this.courseStartDate = courseStartDate;
     }
+
+	public Integer getEduTeacherId() {
+		return eduTeacherId;
+	}
+
+	public void setEduTeacherId(Integer eduTeacherId) {
+		this.eduTeacherId = eduTeacherId;
+	}
+
+	public String getEduTeacherName() {
+		return eduTeacherName;
+	}
+
+	public void setEduTeacherName(String eduTeacherName) {
+		this.eduTeacherName = eduTeacherName;
+	}
 }

+ 50 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentRepair.java

@@ -1,5 +1,8 @@
 package com.ym.mec.biz.dal.entity;
 
+import io.swagger.annotations.ApiModelProperty;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
 import java.math.BigDecimal;
 import java.util.Date;
 
@@ -8,132 +11,164 @@ public class StudentRepair {
     /**
     * 维修单号
     */
+    @ApiModelProperty(value = "维修单号", required = false)
     private String transNo;
 
     /**
     * 分部id
     */
+    @ApiModelProperty(value = "分部id", required = false)
     private Integer organId;
 
 
     /**
-    * 分部id
+    * 分部名称
     */
+    @ApiModelProperty(value = "分部名称", required = false)
     private String organName;
 
     /**
     * 学生id
     */
+    @ApiModelProperty(value = "学生id", required = true)
     private Integer studentId;
 
     /**
     * 学生姓名
     */
+    @ApiModelProperty(value = "学生姓名", required = false)
     private String studentName;
 
     /**
     * 学生学校
     */
+    @ApiModelProperty(value = "学生学校", required = false)
     private String studentSchool;
 
     /**
     * 技师id
     */
+    @ApiModelProperty(value = "技师id", required = false)
     private Integer employeeId;
 
     /**
      * 技师名字
      */
+    @ApiModelProperty(value = "技师名字", required = false)
     private String employeeName;
 
     /**
      * 技师电话
      */
+    @ApiModelProperty(value = "技师电话", required = false)
     private String employeePhone;
 
     /**
      * 技师联系地址
      */
+    @ApiModelProperty(value = "技师联系地址", required = false)
     private String employeeAddress;
 
     /**
     * 乐器类型id
     */
+    @ApiModelProperty(value = "乐器类型id", required = false)
     private Integer subjectId;
 
     /**
     * 乐器类型名称
     */
+    @ApiModelProperty(value = "乐器类型名称", required = false)
     private String subjectName;
 
     /**
     * 维修类型 0-线下 1-线上
     */
+    @ApiModelProperty(value = "维修类型 0-线下 1-线上", required = false)
     private Integer type;
 
     /**
     * 乐器编号
     */
+    @ApiModelProperty(value = "乐器编号", required = false)
     private String instrumentNo;
 
     /**
+     * 费用组成
+     */
+    @ApiModelProperty(value = "费用组成", required = false)
+    private String feeList;
+
+    /**
     * 问题描述及解决方法
     */
+    @ApiModelProperty(value = "问题描述及解决方法", required = false)
     private String description;
 
     /**
     * 维修金额
     */
+    @ApiModelProperty(value = "维修金额", required = false)
     private BigDecimal amount;
 
     /**
     * 维修完成时间
     */
+    @ApiModelProperty(value = "维修完成时间", required = false)
     private Date finishTime;
 
     /**
     * 乐器取回方式 0-自取 1-快递
     */
+    @ApiModelProperty(value = "乐器取回方式 0-自取 1-快递", required = false)
     private Integer sendType;
 
     /**
     * 联系人
     */
+    @ApiModelProperty(value = "联系人", required = false)
     private String contactName;
 
     /**
     * 联系方式
     */
+    @ApiModelProperty(value = "联系方式", required = false)
     private String contactMobile;
 
     /**
     * 快递地址
     */
+    @ApiModelProperty(value = "快递地址", required = false)
     private String address;
 
     /**
     * 支付状态 0-未支付 1-支付中 2-已支付
     */
+    @ApiModelProperty(value = "支付状态 0-未支付 1-支付中 2-已支付", required = false)
     private Integer payStatus;
 
     /**
-    * 支付状态 0维修中,1已完成
+    * 维修状态 0维修中,1已完成
     */
+    @ApiModelProperty(value = "维修状态 0维修中,1已完成", required = false)
     private Integer repairStatus;
 
     /**
      * 使用余额
      */
+    @ApiModelProperty(value = "使用余额", required = false)
     private Boolean isUseBalancePayment;
 
     /**
     * 送修时间
     */
+    @ApiModelProperty(value = "送修时间", required = true)
     private Date createTime;
 
     /**
     * 更新时间
     */
+    @ApiModelProperty(value = "更新时间", required = false)
     private Date updateTime;
 
     public String getOrganName() {
@@ -248,6 +283,14 @@ public class StudentRepair {
         this.instrumentNo = instrumentNo;
     }
 
+    public String getFeeList() {
+        return feeList;
+    }
+
+    public void setFeeList(String feeList) {
+        this.feeList = feeList;
+    }
+
     public String getDescription() {
         return description;
     }
@@ -351,4 +394,9 @@ public class StudentRepair {
     public void setIsUseBalancePayment(Boolean useBalancePayment) {
         isUseBalancePayment = useBalancePayment;
     }
+
+    @Override
+    public String toString() {
+        return ToStringBuilder.reflectionToString(this);
+    }
 }

+ 0 - 10
mec-biz/src/main/java/com/ym/mec/biz/dal/page/VipGroupQueryInfo.java

@@ -24,8 +24,6 @@ public class VipGroupQueryInfo extends QueryInfo {
 
     private Boolean hasEducationalTeacherId;
     
-    private Integer userId;
-
     public Boolean getHasEducationalTeacherId() {
         return hasEducationalTeacherId;
     }
@@ -89,12 +87,4 @@ public class VipGroupQueryInfo extends QueryInfo {
     public void setOrganId(String organId) {
         this.organId = organId;
     }
-
-	public Integer getUserId() {
-		return userId;
-	}
-
-	public void setUserId(Integer userId) {
-		this.userId = userId;
-	}
 }

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/MusicGroupPaymentCalenderService.java

@@ -63,4 +63,12 @@ public interface MusicGroupPaymentCalenderService extends BaseService<Long, Musi
 	 * @return
 	 */
 	Object queryDetailPage(MusicCalenderQueryInfo queryInfo);
+
+	/**
+	 * 推送乐团缴费提醒
+	 * @param id
+	 * @param userIds
+	 * @return
+	 */
+	void paymentPush(Long id, String userIds);
 }

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

@@ -3699,8 +3699,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 					result.setSignInTime(teacherAttendance.getSignInTime());
 					result.setSignOutTime(teacherAttendance.getSignOutTime());
 					result.setRemark(teacherAttendance.getRemark());
-				}*/
-				/*Long studentNum = studentNumCourseMap.get(result.getId());
+				}
+				Long studentNum = studentNumCourseMap.get(result.getId());
 				if (Objects.nonNull(studentNum)) {
 					result.setIsCallNames(studentNum > 0 ? YesOrNoEnum.YES : YesOrNoEnum.NO);
 				} else {

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

@@ -115,7 +115,7 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 			e.setOpen(1);
 //			e.setPaymentStatus(PROCESSING);
 			e.setStartPaymentDate(date);
-			e.setDeadlinePaymentDate(DateUtil.addDays(date,2));
+			e.setDeadlinePaymentDate(DateUtil.addDays(date,3));
 		});
 		musicGroupPaymentCalenderDetailDao.batchUpdate(calenderDetails);
 		//修改学员缴费状态为未缴费

+ 73 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -157,6 +157,38 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public boolean autoUpdateMusicGroupPaymentCalenderStatus() {
+		//获取当天创建且未缴费的数据,并推送
+		List<MusicGroupPaymentCalenderDetail> details = musicGroupPaymentCalenderDetailDao.queryNoPaymentCanPushList();
+		if(details != null && details.size() > 0){
+			Set<String> musicGroupIds = details.stream().map(e -> e.getMusicGroupId()).collect(Collectors.toSet());
+			Map<String, String> musicGroupNameMap = MapUtil.convertMybatisMap(musicGroupDao.queryMusicGroupNameMap(musicGroupIds));
+			for (MusicGroupPaymentCalenderDetail detail:details) {
+				Map<Integer, String> push = new HashMap<>(1);
+				push.put(detail.getUserId(), detail.getUserId() + "");
+//				MusicGroup musicGroup = musicGroupDao.get(detail.getMusicGroupId());
+				String baseUrl = sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL);
+				String memo = "4?" + baseUrl + "/#/renew?musicGroupId=" + detail.getMusicGroupId();
+				// 发送续费通知
+				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_WAIT_RENEW_MESSAGE, push,
+						null, 0, memo, "STUDENT", musicGroupNameMap.get(detail.getMusicGroupId()));
+			}
+			/*Map<Integer,String> listMap = MapUtil.convertMybatisMap(musicGroupPaymentCalenderDetailDao.queryPaymentPushMap());
+			Set<Integer> studentIds = details.stream().map(e -> e.getUserId()).collect(Collectors.toSet());
+			String musicGroupId = details.get(0).getMusicGroupId();
+			if (studentIds.size() > 0) {
+				Map<Integer, String> push = new HashMap<>();
+				for (Integer userId : studentIds) {
+					push.put(userId, userId + "");
+				}
+				MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
+				String baseUrl = sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL);
+				String memo = "4?" + baseUrl + "/#/renew?musicGroupId=" + musicGroup.getId();
+				// 发送续费通知
+				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_WAIT_RENEW_MESSAGE, push,
+						null, 0, memo, "STUDENT", musicGroup.getName());
+			}*/
+		}
+
 		Date date = new Date();
 		List<PaymentStatusEnum> statusList = new ArrayList<PaymentStatusEnum>();
 		statusList.add(PaymentStatusEnum.NO);
@@ -372,4 +404,45 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 		});
 		return pageInfo;
 	}
+
+	@Override
+	public void paymentPush(Long id, String userIds) {
+		//推送所有
+		if(StringUtils.isEmpty(userIds)){
+			List<MusicGroupPaymentCalenderDetail> details = musicGroupPaymentCalenderDetailDao.queryCanPushList(id);
+			if(details == null || details.size() == 0){
+				return;
+			}
+			String musicGroupId = details.get(0).getMusicGroupId();
+			Set<Integer> studentIds = details.stream().map(e -> e.getUserId()).collect(Collectors.toSet());
+			//推送消息
+			if (studentIds.size() > 0) {
+				Map<Integer, String> push = new HashMap<>();
+				for (Integer userId : studentIds) {
+					push.put(userId, userId + "");
+				}
+				MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
+				String baseUrl = sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL);
+				String memo = "4?" + baseUrl + "/#/renew?musicGroupId=" + musicGroupId;
+				// 发送续费通知
+				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_WAIT_RENEW_MESSAGE, push, null, 0, memo,"STUDENT",musicGroup.getName());
+			}
+		}else {
+			//获取课推送列表
+			//批量推送
+			MusicGroupPaymentCalender calender = musicGroupPaymentCalenderDao.get(id);
+			Set<String> studentIds = new HashSet<>(Arrays.asList(userIds.split(",")));
+			if (studentIds.size() > 0) {
+				Map<Integer, String> push = new HashMap<>();
+				for (String userId : studentIds) {
+					push.put(Integer.parseInt(userId), userId + "");
+				}
+				MusicGroup musicGroup = musicGroupDao.get(calender.getMusicGroupId());
+				String baseUrl = sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL);
+				String memo = "4?" + baseUrl + "/#/renew?musicGroupId=" + calender.getMusicGroupId();
+				// 发送续费通知
+				sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_WAIT_RENEW_MESSAGE, push, null, 0, memo,"STUDENT",musicGroup.getName());
+			}
+		}
+	}
 }

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

@@ -369,10 +369,12 @@ public class StudentManageServiceImpl implements StudentManageService {
             params.put("offset", pageInfo.getOffset());
             dataList = studentManageDao.findStudentVipGroupClass(params);
             Set<Integer> teacherIds = dataList.stream().map(e -> e.getTeacherId()).collect(Collectors.toSet());
+            teacherIds.addAll(dataList.stream().map(e -> e.getEduTeacherId()).collect(Collectors.toSet()));
             List<Map<Integer, String>> maps = teacherDao.queryNameByIds(StringUtils.join(teacherIds, ","));
             Map<Integer, String> teacherNameMap = MapUtil.convertMybatisMap(maps);
             dataList.forEach(e->{
                 e.setTeacherName(teacherNameMap.get(e.getTeacherId()));
+                e.setEduTeacherName(teacherNameMap.get(e.getEduTeacherId()));
             });
         }
         if (count == 0) {

+ 17 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderDetailMapper.xml

@@ -257,4 +257,21 @@
 		WHERE mgpc.music_group_id_ = #{musicGroupId} AND mgpcd.user_id_ = #{userId}
 		AND  mgpcd.open_ = 1
 	</select>
+	<select id="queryCanPushList" resultMap="MusicGroupPaymentCalenderDetail">
+		SELECT mgpcd.*,mgpc.music_group_id_ FROM music_group_payment_calender_detail mgpcd
+		LEFT JOIN music_group_payment_calender mgpc ON mgpc.id_ = mgpcd.music_group_payment_calender_id_
+		LEFT JOIN student_registration sr ON sr.music_group_id_ = mgpc.music_group_id_
+		WHERE mgpcd.payment_status_ = 'NON_PAYMENT' AND sr.music_group_status_ != 'QUIT' AND mgpc.id_ = #{musicGroupPaymentCalenderId}
+		GROUP BY mgpcd.id_
+	</select>
+	<select id="queryNoPaymentCanPushList" resultMap="MusicGroupPaymentCalenderDetail">
+		SELECT mgpcd.*,mgpc.music_group_id_ FROM music_group_payment_calender mgpc
+		LEFT JOIN music_group_payment_calender_detail mgpcd ON mgpc.id_ = mgpcd.music_group_payment_calender_id_
+		WHERE DATE_FORMAT(mgpc.create_time_,'%Y-%m-%d') = DATE_FORMAT(NOW(),'%Y-%m-%d') AND mgpc.payment_status_ = 1 AND mgpcd.payment_status_ = 'NON_PAYMENT'
+	</select>
+	<select id="queryPaymentPushMap" resultType="java.util.Map">
+		SELECT mgpcd.user_id_ 'key',mgpc.music_group_id_ 'value' FROM music_group_payment_calender mgpc
+		LEFT JOIN music_group_payment_calender_detail mgpcd ON mgpc.id_ = mgpcd.music_group_payment_calender_id_
+		WHERE DATE_FORMAT(mgpc.create_time_,'%Y-%m-%d') = DATE_FORMAT(NOW(),'%Y-%m-%d') AND mgpc.payment_status_ = 1 AND mgpcd.payment_status_ = 'NON_PAYMENT'
+	</select>
 </mapper>

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

@@ -193,4 +193,8 @@
         AND mgpcd.payment_status_ = 'PAID_COMPLETED'
         GROUP BY mgpcd.music_group_payment_calender_id_
     </select>
+    
+    <select id="getLastStartOne" resultMap="MusicGroupPaymentCalender">
+        SELECT * FROM music_group_payment_calender WHERE music_group_id_ = #{musicGroupId} ORDER BY start_payment_date_ DESC LIMIT 1
+    </select>
 </mapper>

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

@@ -538,6 +538,7 @@
         <result property="vipGroupName" column="vip_group_name_"/>
         <result property="vipGroupStatus" column="status_"/>
         <result property="teacherId" column="user_id_"/>
+        <result property="eduTeacherId" column="educational_teacher_id_"/>
         <result property="studentNum" column="student_num_"/>
         <result property="activeName" column="name_"/>
         <result property="courseStartDate" column="courses_start_date"/>
@@ -545,7 +546,7 @@
         <result property="totalClassTimes" column="total_class_times_"/>
     </resultMap>
     <select id="findStudentVipGroupClass" resultMap="StudentManageVipGroupClassDto">
-        SELECT vg.id_,vg.name_ vip_group_name_,vg.group_status_ status_,vg.user_id_,cg.student_num_,
+        SELECT vg.id_,vg.name_ vip_group_name_,vg.group_status_ status_,vg.user_id_,vg.educational_teacher_id_,cg.student_num_,
         vgc.name_,vg.courses_start_date,cg.current_class_times_,cg.total_class_times_
         FROM class_group_student_mapper cgsm
         LEFT JOIN class_group cg ON cgsm.class_group_id_ = cg.id_

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

@@ -17,6 +17,7 @@
         <result column="subject_name_" jdbcType="VARCHAR" property="subjectName"/>
         <result column="type_" jdbcType="INTEGER" property="type"/>
         <result column="instrument_no_" jdbcType="VARCHAR" property="instrumentNo"/>
+        <result column="fee_list_" jdbcType="VARCHAR" property="feeList"/>
         <result column="description_" jdbcType="VARCHAR" property="description"/>
         <result column="amount_" jdbcType="DECIMAL" property="amount"/>
         <result column="finish_time_" jdbcType="TIMESTAMP" property="finishTime"/>
@@ -42,7 +43,7 @@
         insert into student_repair (id_, trans_no_, organ_id_,
         student_id_, student_name_, student_school_,
         employee_id_, employee_name_, subject_id_,
-        subject_name_, type_, instrument_no_,
+        subject_name_, type_, instrument_no_,fee_list_,
         description_, amount_, finish_time_,
         send_type_, contact_name_, contact_mobile_,
         address_, pay_status_, create_time_,
@@ -51,10 +52,10 @@
         #{studentId,jdbcType=INTEGER}, #{studentName,jdbcType=VARCHAR}, #{studentSchool,jdbcType=VARCHAR},
         #{employeeId,jdbcType=INTEGER}, #{employeeName,jdbcType=VARCHAR}, #{subjectId,jdbcType=INTEGER},
         #{subjectName,jdbcType=VARCHAR}, #{type,jdbcType=INTEGER}, #{instrumentNo,jdbcType=VARCHAR},
-        #{description,jdbcType=VARCHAR}, #{amount,jdbcType=DECIMAL}, #{finishTime,jdbcType=TIMESTAMP},
-        #{sendType,jdbcType=INTEGER}, #{contactName,jdbcType=VARCHAR}, #{contactMobile,jdbcType=VARCHAR},
-        #{address,jdbcType=VARCHAR}, #{payStatus,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP},
-        #{updateTime,jdbcType=TIMESTAMP},#{repairStatus})
+        #{feeList,jdbcType=VARCHAR},#{description,jdbcType=VARCHAR}, #{amount,jdbcType=DECIMAL},
+        #{finishTime,jdbcType=TIMESTAMP},#{sendType,jdbcType=INTEGER}, #{contactName,jdbcType=VARCHAR},
+        #{contactMobile,jdbcType=VARCHAR},#{address,jdbcType=VARCHAR}, #{payStatus,jdbcType=INTEGER},
+        #{createTime,jdbcType=TIMESTAMP},#{updateTime,jdbcType=TIMESTAMP},#{repairStatus})
     </insert>
     <update id="update" parameterType="com.ym.mec.biz.dal.entity.StudentRepair">
         UPDATE student_repair
@@ -95,6 +96,9 @@
             <if test="instrumentNo != null">
                 instrument_no_ = #{instrumentNo},
             </if>
+            <if test="feeList != null">
+                fee_list_ = #{feeList},
+            </if>
             <if test="description != null">
                 description_ = #{description},
             </if>

+ 2 - 12
mec-biz/src/main/resources/config/mybatis/VipGroupMapper.xml

@@ -189,9 +189,6 @@
             <if test="educationalTeacherId!=null">
                 AND vg.educational_teacher_id_=#{educationalTeacherId}
             </if>
-            <if test="userId!=null">
-                AND cssp.user_id_ = #{userId}
-            </if>
         </where>
     </sql>
 
@@ -204,24 +201,17 @@
             vip_group vg
             LEFT JOIN sys_user su ON vg.user_id_=su.id_
             LEFT JOIN vip_group_activity vga ON vg.vip_group_activity_id_=vga.id_
-            left join course_schedule_student_payment cssp on cssp.music_group_id_ = vg.id_ and cssp.group_type_ = 'VIP'
         <include refid="vipGroupQueryCondition"/>
-        group by vg.id_
         ORDER BY vg.id_ DESC
         <include refid="global.limit"/>
 	</select>
 
     <select id="countVipGroupByOrgan" resultType="int">
-    	select count(*) from
-    	(
-        SELECT
-        count(distinct vg.id_)
+    	SELECT
+        count(*)
         FROM
         vip_group vg
-        left join course_schedule_student_payment cssp on cssp.music_group_id_ = vg.id_ and cssp.group_type_ = 'VIP'
         <include refid="vipGroupQueryCondition"/>
-        GROUP BY vg.id_
-        ) t
     </select>
 
     <!-- 向数据库增加一条记录 -->

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

@@ -2,6 +2,7 @@ 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.dao.MusicGroupPaymentCalenderDao;
 import com.ym.mec.biz.dal.dao.MusicGroupPaymentCalenderDetailDao;
 import com.ym.mec.biz.dal.dao.MusicGroupStudentFeeDao;
 import com.ym.mec.biz.dal.dto.RegisterPayDto;
@@ -53,6 +54,8 @@ public class MusicGroupController extends BaseController {
     private StudentPaymentOrderDetailService studentPaymentOrderDetailService;
     @Autowired
     private MusicGroupPaymentCalenderDetailDao musicGroupPaymentCalenderDetailDao;
+    @Autowired
+    private MusicGroupPaymentCalenderDao musicGroupPaymentCalenderDao;
 
     @ApiOperation("获取学生所在乐团列表")
     @GetMapping(value = "/queryUserMusicGroups")
@@ -158,7 +161,9 @@ public class MusicGroupController extends BaseController {
         }
         MusicGroupPaymentCalenderDetail userLastCalenderDetail = musicGroupPaymentCalenderDetailDao.getUserLastCalenderDetail(musicGroupId, userId);
         if(userLastCalenderDetail == null){
-            throw new BizException("当前续费时间已截止,请联系指导老师");
+            MusicGroupPaymentCalender lastCalender = musicGroupPaymentCalenderDao.getLastStartOne(musicGroupId);
+           String tips =  (lastCalender != null && lastCalender.getPaymentStatus().equals(PaymentStatusEnum.YES))?"当前续费时间已截止,如有问题请联系指导老师":"当前续费未开始,如有问题请联系指导老师";
+            throw new BizException(tips);
         }
 
         BigDecimal amount = userLastCalenderDetail.getExpectAmount();
@@ -200,7 +205,9 @@ public class MusicGroupController extends BaseController {
 		}
         MusicGroupPaymentCalenderDetail userLastCalenderDetail = musicGroupPaymentCalenderDetailDao.getUserLastCalenderDetail(musicGroupId, userId);
         if(userLastCalenderDetail == null){
-            throw new BizException("当前续费时间已截止,请联系指导老师");
+            MusicGroupPaymentCalender lastCalender = musicGroupPaymentCalenderDao.getLastStartOne(musicGroupId);
+            String tips =  (lastCalender != null && lastCalender.getPaymentStatus().equals(PaymentStatusEnum.YES))?"当前续费时间已截止,如有问题请联系指导老师":"当前续费未开始,如有问题请联系指导老师";
+            throw new BizException(tips);
         }
         return succeed(musicGroupService.renew(musicGroupId, userId, isUseBalancePayment));
 	}

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

@@ -128,6 +128,8 @@ public class EmployeeController extends BaseController {
             Employee employee = employeeService.get(sysUser.getId());
             sysUser.setOrganName(organizationService.getOrganName(employee.getOrganIdList()));
             sysUser.setRoles(employeeDao.queryUserRole(sysUser.getId()));
+            sysUser.setContactAddress(employee.getContactAddress());
+            sysUser.setPostalCode(employee.getPostalCode());
             return succeed(sysUser);
         }
         return failed("获取用户信息失败");

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

@@ -71,4 +71,12 @@ public class MusicGroupPaymentCalenderController extends BaseController {
     public Object getDetail(Long id) {
         return succeed(musicGroupPaymentCalenderService.getDetail(id));
     }
+
+    @ApiOperation(value = "开启缴费的推送(暂时不用,没写完)")
+    @GetMapping("/paymentPush")
+    @PreAuthorize("@pcs.hasPermissions('musicGroupPaymentCalender/paymentPush')")
+    public Object paymentPush(Long id,String userIds) {
+        musicGroupPaymentCalenderService.paymentPush(id,userIds);
+        return succeed();
+    }
 }