Bläddra i källkod

Merge remote-tracking branch 'origin/master'

周箭河 5 år sedan
förälder
incheckning
a912a7a881
18 ändrade filer med 153 tillägg och 93 borttagningar
  1. 0 3
      mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/client/SysUserFeignService.java
  2. 0 6
      mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/client/fallback/SysUserFeignServiceFallback.java
  3. 14 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupStudentMapperDao.java
  4. 13 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java
  5. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java
  6. 24 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SubjectGoodsMapper.java
  7. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/CourseScheduleService.java
  8. 8 0
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentRegistrationService.java
  9. 19 70
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  10. 5 5
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentAttendanceServiceImpl.java
  11. 5 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java
  12. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java
  13. 4 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java
  14. 10 0
      mec-biz/src/main/resources/config/mybatis/ClassGroupStudentMapperMapper.xml
  15. 6 0
      mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  16. 9 1
      mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml
  17. 11 2
      mec-biz/src/main/resources/config/mybatis/SubjectGoodsMapperMapper.xml
  18. 15 0
      mec-web/src/main/java/com/ym/mec/web/controller/StudentManageController.java

+ 0 - 3
mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/client/SysUserFeignService.java

@@ -25,9 +25,6 @@ public interface SysUserFeignService {
 	@PostMapping(value = "user/add", consumes = MediaType.APPLICATION_JSON_VALUE)
 	public Object addUser(SysUser user);
 
-	@GetMapping(value = "task/test")
-	public Object test();
-
 	@GetMapping(value = "queryUserInfo")
 	public SysUser queryUserInfo();
 

+ 0 - 6
mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/client/fallback/SysUserFeignServiceFallback.java

@@ -16,12 +16,6 @@ public class SysUserFeignServiceFallback implements SysUserFeignService {
 	}
 
 	@Override
-	public Object test() {
-		System.out.println("******进入服务降级方法******");
-		return "服务正在拍";
-	}
-
-	@Override
 	public SysUser queryUserInfo() {
 		return null;
 	}

+ 14 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupStudentMapperDao.java

@@ -8,6 +8,7 @@ import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
 import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -134,4 +135,17 @@ public interface ClassGroupStudentMapperDao extends BaseDAO<Long, ClassGroupStud
      * @return
      */
     List<ClassGroupStudentMapper> findHighClassGroupHasUser(@Param("musicGroupId") String musicGroupId, @Param("userId") Integer userId);
+
+    /**
+     * @describe 获取学生在指定日期对应状态的班级编号
+     * @author Joburgess
+     * @date 2019/11/20
+     * @param userId: 用户编号
+     * @param date: 日期
+     * @param status: 状态
+     * @return java.util.List<java.lang.Integer>
+     */
+    List<Integer> findClassGroupIdByUserAndCourseDateAndStatus(@Param("userId") Integer userId,
+                                                               @Param("data")Date date,
+                                                               @Param("status") String status);
 }

+ 13 - 3
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -1,7 +1,6 @@
 package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.dto.*;
-import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
 import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
@@ -10,8 +9,8 @@ import com.ym.mec.biz.dal.entity.StudentCourseScheduleRecordDto;
 import com.ym.mec.biz.dal.enums.CourseStatusEnum;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.common.dal.BaseDAO;
-
 import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
 
 import java.util.Date;
 import java.util.List;
@@ -131,7 +130,9 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @Date: 2019/9/17
      * 根据日期获取学生当日排课信息
      */
-    List<CourseScheduleDto> getStudentCourseSchedulesWithDate(@Param("classDate") Date classDate, @Param("studentId") Long studentId);
+    List<CourseScheduleDto> getStudentCourseSchedulesWithDate(@Param("classDate") Date classDate,
+                                                              @Param("studentId") Long studentId,
+                                                              @Param("quitClassGroupIds") List<Integer> quitClassGroupIds);
 
     /**
      * @return java.util.List<java.lang.String>
@@ -417,6 +418,15 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      */
     void updateByMusicGroupId(@Param("musicGroupId") String musicGroupId, @Param("schoolId") Integer schoolId);
 
+    /**
+     * @describe 统计课程上的学生人数
+     * @author Joburgess
+     * @date 2019/11/21
+     * @param courseScheduleId:
+     * @return int
+     */
+    @Select("SELECT COUNT(*) FROM course_schedule_student_payment sa WHERE sa.course_schedule_id_ = #{courseScheduleID}")
+    int countCourseStudentNum(@Param("courseScheduleID") Long courseScheduleId);
 
     /**
      * 获取班级某时间后相应节数的课程

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

@@ -271,4 +271,11 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      * @return
      */
     List<Map<String,Integer>> countNormalNum(String musicGroupIds);
+
+    /**
+     * 获取学员基本信息
+     * @param mobile
+     * @return
+     */
+    StudentRegistration queryUserByPhone(String mobile);
 }

+ 24 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SubjectGoodsMapper.java

@@ -17,10 +17,18 @@ public class SubjectGoodsMapper {
 	/**  */
 	@ApiModelProperty(value = "科目编号", required = false)
 	private String subjectId;
+	
+	/** 类型(乐器、辅件、教材) */
+	@ApiModelProperty(value = "商品类型",required = false)
+	private GoodsType type;
 
 	/**  */
 	@ApiModelProperty(value = "商品分类编号", required = false)
 	private Integer goodsCategoryId;
+	
+	/** 商品列表(用逗号,分开) */
+	@ApiModelProperty(value = "商品列表(用逗号,分开)",required = false)
+	private String goodsIdList;
 
 	@ApiModelProperty(value = "删除标记,删除时传true,其他传null", required = false)
 	private boolean delFlag = false;
@@ -79,6 +87,22 @@ public class SubjectGoodsMapper {
 		return this.updateTime;
 	}
 
+	public GoodsType getType() {
+		return type;
+	}
+
+	public void setType(GoodsType type) {
+		this.type = type;
+	}
+
+	public String getGoodsIdList() {
+		return goodsIdList;
+	}
+
+	public void setGoodsIdList(String goodsIdList) {
+		this.goodsIdList = goodsIdList;
+	}
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

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

@@ -3,7 +3,6 @@ package com.ym.mec.biz.service;
 import com.ym.mec.biz.dal.dto.CourseAttendanceDetailHeadInfoDto;
 import com.ym.mec.biz.dal.dto.CourseScheduleDto;
 import com.ym.mec.biz.dal.dto.TeacherAttendanceDto;
-import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.CourseScheduleComplaints;
 import com.ym.mec.biz.dal.enums.AuditStatusEnum;
@@ -46,6 +45,7 @@ public interface CourseScheduleService extends BaseService<Long, CourseSchedule>
 	 */
 	void batchDeleteMusicGroupNotStartCourse(String musicGroupId);
 
+
 	/**
 	 * @describe 判断该课程是否只能进行正常签到
 	 * @author Joburgess

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

@@ -6,6 +6,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.page.StudentRegistrationQueryInfo;
@@ -220,4 +221,11 @@ public interface StudentRegistrationService extends BaseService<Long, StudentReg
 	 * @return
 	 */
 	StudentRegistration updateStudent(StudentRegistration studentRegistration);
+
+	/**
+	 * 获取学员基本信息
+	 * @param mobile
+	 * @return
+	 */
+	StudentRegistration queryUserByPhone(String mobile);
 }

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

@@ -1,83 +1,19 @@
 package com.ym.mec.biz.service.impl;
 
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Collection;
-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.Set;
-import java.util.TreeSet;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
-import org.apache.commons.collections.ListUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.CollectionUtils;
-
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.auth.api.entity.SysUserRole;
 import com.ym.mec.auth.api.enums.SysUserType;
-import com.ym.mec.biz.dal.dao.ClassGroupDao;
-import com.ym.mec.biz.dal.dao.ClassGroupStudentMapperDao;
-import com.ym.mec.biz.dal.dao.CourseScheduleComplaintsDao;
-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.MusicGroupDao;
-import com.ym.mec.biz.dal.dao.StudentAttendanceDao;
-import com.ym.mec.biz.dal.dao.SubjectDao;
-import com.ym.mec.biz.dal.dao.SysConfigDao;
-import com.ym.mec.biz.dal.dao.TeacherAttendanceDao;
-import com.ym.mec.biz.dal.dao.TeacherDefaultVipGroupSalaryDao;
-import com.ym.mec.biz.dal.dao.VipGroupDao;
-import com.ym.mec.biz.dal.dto.ClassDateAdjustDto;
-import com.ym.mec.biz.dal.dto.CourseAttendanceDetailHeadInfoDto;
-import com.ym.mec.biz.dal.dto.CourseScheduleDto;
-import com.ym.mec.biz.dal.dto.IntegerAndIntegerListDto;
-import com.ym.mec.biz.dal.dto.Mapper;
-import com.ym.mec.biz.dal.dto.TeacherAttendanceDto;
-import com.ym.mec.biz.dal.dto.TeacherClassCourseSchudeleDto;
-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.CourseSchedule;
-import com.ym.mec.biz.dal.entity.CourseScheduleComplaints;
-import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
-import com.ym.mec.biz.dal.entity.StudentAttendance;
-import com.ym.mec.biz.dal.entity.TeacherDefaultVipGroupSalary;
-import com.ym.mec.biz.dal.entity.VipGroup;
-import com.ym.mec.biz.dal.enums.AuditStatusEnum;
-import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
-import com.ym.mec.biz.dal.enums.CourseStatusEnum;
-import com.ym.mec.biz.dal.enums.GroupType;
-import com.ym.mec.biz.dal.enums.MessageTypeEnum;
-import com.ym.mec.biz.dal.enums.ParamEnum;
-import com.ym.mec.biz.dal.enums.StudentAttendanceStatusEnum;
-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.dao.*;
+import com.ym.mec.biz.dal.dto.*;
+import com.ym.mec.biz.dal.entity.*;
+import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.page.CourseScheduleQueryInfo;
 import com.ym.mec.biz.dal.page.StudentCourseScheduleRecordQueryInfo;
 import com.ym.mec.biz.dal.page.VipGroupQueryInfo;
-import com.ym.mec.biz.service.ClassGroupService;
-import com.ym.mec.biz.service.ClassGroupTeacherMapperService;
-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.SysConfigService;
-import com.ym.mec.biz.service.SysMessageService;
+import com.ym.mec.biz.service.*;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
@@ -85,6 +21,18 @@ import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext.MessageSender;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
+import org.apache.commons.collections.ListUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 @Service
 public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSchedule>  implements CourseScheduleService {
@@ -291,7 +239,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		Map<String,Object> result=new HashMap<>(3);
 		result.put("vipAppealDaysRange",sysConfigDao.findConfigValue(SysConfigService.VIP_APPEAL_DAYS_RANGE));
 		result.put("advanceLeaveHours",Integer.parseInt(sysConfigDao.findConfigValue(SysConfigService.ADVANCE_LEAVE_HOURS)));
-		List<CourseScheduleDto> studentCourseSchedulesWithDate = courseScheduleDao.getStudentCourseSchedulesWithDate(classDate, user.getId().longValue());
+//		List<Integer> quitClassGroupIds=classGroupStudentMapperDao.findClassGroupIdByUserAndCourseDateAndStatus(user.getId(),classDate, ClassGroupStudentStatusEnum.QUIT.getCode());
+		List<CourseScheduleDto> studentCourseSchedulesWithDate = courseScheduleDao.getStudentCourseSchedulesWithDate(classDate, user.getId().longValue(),null);
 		List<Long> courseScheduleIds = studentCourseSchedulesWithDate.stream()
 				.filter(cs -> cs.getType().equals(CourseSchedule.CourseScheduleType.VIP) || cs.getType().equals(CourseSchedule.CourseScheduleType.DEMO))
 				.map(CourseScheduleDto::getId).collect(Collectors.toList());

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

@@ -198,14 +198,14 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 
 		Date date = new Date();
 		
-		int hours = 2;
+		int days = 24;
 		String str = sysConfigDao.findConfigValue(SysConfigService.ADVANCE_LEAVE_HOURS);
 		if (StringUtils.isNotBlank(str)) {
-			hours = Integer.parseInt(str);
+			days = Integer.parseInt(str);
 		}
-		
-		if(DateUtil.addHours(date, hours).after(courseSchedule.getStartClassTime())){
-			throw new BizException("开课{}个小时之前才可以请假",hours);
+
+		if(DateUtil.addDays1(date, days).after(courseSchedule.getStartClassTime())){
+			throw new BizException("开课{}天之前才可以请假",days);
 		}
 		
 		StudentAttendance studentAttendance  = studentAttendanceDao.findByStatusAndCourseScheduleId(userId,courseScheduleId.intValue());

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

@@ -737,4 +737,9 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         contractService.register(student.getUserId(), student.getParentsName(), student.getIdCardNo(), student.getParentsPhone());
         return student;
     }
+
+    @Override
+    public StudentRegistration queryUserByPhone(String mobile) {
+        return studentRegistrationDao.queryUserByPhone(mobile);
+    }
 }

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

@@ -175,14 +175,14 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 			courseHomework.setGroupType(teacherAttendance.getGroupType());
 			courseHomework.setClassGroupId(currentCourseDetail.getClassId().intValue());
 			courseHomework.setExpiryDate(DateUtil.addDays(date,7));
+			courseHomework.setExpectNum(courseScheduleDao.countCourseStudentNum(teacherAttendance.getCourseScheduleId()));
+			courseHomeworkService.insert(courseHomework);
 			List<StudentCourseHomework> studentCourseHomeworks = studentCourseHomeworkDao
 					.constructInitialStudentHomeworkRecordsWithPayment(teacherAttendance.getCourseScheduleId(),
 							courseHomework.getId());
 			if(CollectionUtils.isEmpty(studentCourseHomeworks)){
 				throw new BizException("此课程没有学生");
 			}
-			courseHomework.setExpectNum(studentCourseHomeworks.size());
-			courseHomeworkService.insert(courseHomework);
 			studentCourseHomeworkDao.batchInsertStudentCourseHomeworkRecord(studentCourseHomeworks);
 			return result;
 		}

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

@@ -1114,6 +1114,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		classStudentMapperByUserIdAndClassGroupId.setStatus(ClassGroupStudentStatusEnum.QUIT);
 		classGroupStudentMapperDao.update(classStudentMapperByUserIdAndClassGroupId);
 
+		courseScheduleService.batchDeleteMusicGroupNotStartCourse(vipGroupId.toString());
+
 		//学员退出班级群
 		ImGroupMember[] imGroupMembers = new ImGroupMember[]{new ImGroupMember(studentId.toString())};
 		imFeignService.groupJoin(new ImGroupModel(classGroup.getId().toString(), imGroupMembers, null));
@@ -1194,6 +1196,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 				classStudentMapperByUserIdAndClassGroupId.setStatus(ClassGroupStudentStatusEnum.QUIT);
 				classGroupStudentMapperDao.update(classStudentMapperByUserIdAndClassGroupId);
 
+				courseScheduleService.batchDeleteMusicGroupNotStartCourse(studentPaymentOrder.getMusicGroupId());
+
 				//学员退出班级群
 				ImGroupMember[] imGroupMembers = new ImGroupMember[]{new ImGroupMember(studentApplyRefunds.getUserId().toString())};
 				imFeignService.groupJoin(new ImGroupModel(studentPaymentOrder.getClassGroupId().toString(), imGroupMembers, null));

+ 10 - 0
mec-biz/src/main/resources/config/mybatis/ClassGroupStudentMapperMapper.xml

@@ -177,4 +177,14 @@
         LEFT JOIN class_group cg ON cgsm.class_group_id_ = cg.id_
         WHERE cgsm.music_group_id_ = #{musicGroupId} AND cgsm.user_id_=#{userId} AND cg.type_ ='HIGH' AND cgsm.status_='NORMAL'
     </select>
+    <select id="findClassGroupIdByUserAndCourseDateAndStatus" resultType="int">
+        SELECT
+            cgsm.class_group_id_
+        FROM
+            class_group_student_mapper cgsm
+            LEFT JOIN course_schedule cs ON cgsm.class_group_id_=cs.class_group_id_
+            WHERE cgsm.user_id_=#{userId}
+            AND cs.class_date_ = DATE_FORMAT(#{data},'%Y-%m-%d')
+            AND cgsm.status_=#{status}
+    </select>
 </mapper>

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

@@ -442,6 +442,12 @@
         WHERE
           cs.class_date_ = DATE_FORMAT(#{classDate},'%Y%m%d')
         AND cssp.user_id_ = #{studentId}
+        <if test="quitClassGroupIds.size()>0">
+            AND cssp.class_group_id_ NOT IN
+            <foreach collection="quitClassGroupIds" item="quitClassGroupId" open="(" close=")" separator=",">
+                #{quitClassGroupId}
+            </foreach>
+        </if>
         ORDER BY start_class_time_
     </select>
 

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

@@ -32,6 +32,8 @@
         <result column="music_group_status_" property="musicGroupStatus"/>
         <result column="class_group_name_" property="classGroupName"/>
         <result column="temporary_course_fee_" property="temporaryCourseFee" />
+        <result column="birthdate_" property="birthdate" />
+        <result column="gender_" property="gender" />
     </resultMap>
 
     <resultMap type="com.ym.mec.biz.dal.dto.StudentInfo" id="StudentInfo">
@@ -348,7 +350,7 @@
 
     <!-- 根据乐团编号和手机号查询注册乐团注册信息-->
     <select id="getByPhoneAndMusicGroupId" resultMap="StudentRegistration">
-        SELECT * FROM student_registration WHERE music_group_id_=#{musicGroupId} AND parents_phone_ = #{parentsPhone}
+        SELECT * FROM student_registration WHERE music_group_id_=#{musicGroupId} AND parents_phone_ = #{parentsPhone} LIMIT 1
     </select>
 
     <resultMap type="com.ym.mec.auth.api.entity.SysUser" id="FindSysUser">
@@ -525,6 +527,12 @@
         WHERE sr.payment_status_ = 2 AND sr.music_group_status_ != 'QUIT' AND FIND_IN_SET(sr.music_group_id_,#{musicGroupIds})
         GROUP BY sr.music_group_id_
     </select>
+    <select id="queryUserByPhone" resultMap="StudentRegistration">
+        SELECT sr.user_id_,sr.parents_name_,sr.parents_phone_,sr.current_grade_,
+        sr.current_class_,su.username_ name_,su.birthdate_,su.gender_
+        FROM student_registration sr
+        LEFT JOIN sys_user su ON sr.user_id_ = su.id_ LIMIT 1
+    </select>
 
     <update id="updateUser">
         UPDATE sys_user SET real_name_ = #{realName},id_card_no_=#{idCardNo} WHERE id_=#{id}

+ 11 - 2
mec-biz/src/main/resources/config/mybatis/SubjectGoodsMapperMapper.xml

@@ -9,7 +9,9 @@
     <resultMap type="com.ym.mec.biz.dal.entity.SubjectGoodsMapper" id="SubjectGoodsMapper">
         <result column="id_" property="id"/>
         <result column="subject_id_" property="subjectId"/>
+        <result column="type_" property="type" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="goods_category_id_" property="goodsCategoryId"/>
+        <result column="goods_id_list_" property="goodsIdList"/>
         <result column="create_time_" property="createTime"/>
         <result column="update_time_" property="updateTime"/>
     </resultMap>
@@ -27,9 +29,10 @@
     <!-- 向数据库增加一条记录 -->
     <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.SubjectGoodsMapper" useGeneratedKeys="true"
             keyColumn="id" keyProperty="id">
-        INSERT INTO subject_goods_mapper (subject_id_,goods_category_id_,create_time_,update_time_)
-        VALUES(#{subjectId},#{goodsCategoryId},now(),now())
+        INSERT INTO subject_goods_mapper (subject_id_,goods_category_id_,create_time_,update_time_,type_,goods_id_list_)
+        VALUES(#{subjectId},#{goodsCategoryId},now(),now(),#{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{goodsIdList})
     </insert>
+    
     <insert id="batchAdd">
         INSERT INTO subject_goods_mapper (subject_id_,goods_category_id_,create_time_,update_time_)
         VALUES
@@ -51,6 +54,12 @@
             <if test="goodsCategoryId != null">
                 goods_category_id_ = #{goodsCategoryId},
             </if>
+            <if test="type != null">
+                type_ = #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+            </if>
+            <if test="goodsIdList != null">
+                goods_id_list_ = #{goodsIdList},
+            </if>
         </set>
         WHERE id_ = #{id}
     </update>

+ 15 - 0
mec-web/src/main/java/com/ym/mec/web/controller/StudentManageController.java

@@ -5,8 +5,10 @@ import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.EmployeeDao;
 import com.ym.mec.biz.dal.entity.Employee;
 import com.ym.mec.biz.dal.entity.StudentAttendance;
+import com.ym.mec.biz.dal.entity.StudentRegistration;
 import com.ym.mec.biz.dal.page.*;
 import com.ym.mec.biz.service.StudentManageService;
+import com.ym.mec.biz.service.StudentRegistrationService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.page.QueryInfo;
 import io.swagger.annotations.*;
@@ -27,6 +29,8 @@ public class StudentManageController extends BaseController {
     @Autowired
     private SysUserFeignService sysUserFeignService;
     @Autowired
+    private StudentRegistrationService studentRegistrationService;
+    @Autowired
     private EmployeeDao employeeDao;
 
     @ApiOperation(value = "获取学生列表")
@@ -127,4 +131,15 @@ public class StudentManageController extends BaseController {
     public Object queryStudentPayment(TeacherPaymentRecordInfo queryInfo){
         return succeed(studentManageService.queryStudentPayment(queryInfo));
     }
+
+    /**
+     * 获取学员基本信息
+     * @param mobile
+     * @return
+     */
+    @GetMapping(value = "/queryUserByPhone")
+    @PreAuthorize("@pcs.hasPermissions('studentManage/queryUserByPhone')")
+    public StudentRegistration queryUserByPhone(String mobile) {
+        return studentRegistrationService.queryUserByPhone(mobile);
+    }
 }