Quellcode durchsuchen

Merge remote-tracking branch 'origin/online1' into saas-online

hgw vor 3 Jahren
Ursprung
Commit
d062f67687

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Student.java

@@ -21,6 +21,8 @@ public class Student extends SysUser {
 	/**  */
 	private Integer userId;
 	
+	private String schoolName;
+	
 	/**  */
 	private String subjectIdList;
 
@@ -154,6 +156,14 @@ public class Student extends SysUser {
 		return this.userId;
 	}
 			
+	public String getSchoolName() {
+		return schoolName;
+	}
+
+	public void setSchoolName(String schoolName) {
+		this.schoolName = schoolName;
+	}
+
 	public void setSubjectIdList(String subjectIdList){
 		this.subjectIdList = subjectIdList;
 	}

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentPreRegistration.java

@@ -14,6 +14,8 @@ public class StudentPreRegistration {
 	
 	private String musicGroupId;
 	
+	private String school;
+	
 	/** 用户编号 */
 	private Integer userId;
 	
@@ -83,6 +85,14 @@ public class StudentPreRegistration {
 		this.musicGroupId = musicGroupId;
 	}
 
+	public String getSchool() {
+		return school;
+	}
+
+	public void setSchool(String school) {
+		this.school = school;
+	}
+
 	public void setUserId(Integer userId){
 		this.userId = userId;
 	}

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

@@ -83,6 +83,8 @@ public interface StudentService extends BaseService<Integer, Student> {
      * 更新学员会员信息
      */
     void updateMemberRank(CloudTeacherOrder cloudTeacherOrder, PeriodEnum periodEnum);
+    
+    void updateMemberRank(Integer userId, PeriodEnum periodEnum, int times, Integer memberRankSettingId);
 
     /**
      * 更新服务指标

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

@@ -149,7 +149,7 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
         		throw new BizException("您已注册,请直接下载APP!");
         	}
         	userId = user.getId();
-
+        	user.setOrganId(studentPreRegistration.getOrganId());
             user.setUpdateTime(date);
             teacherDao.updateUser(user);
         }else{
@@ -175,10 +175,15 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
         student.setCreateTime(date);
         student.setUpdateTime(date);
         student.setIsNewUser(true);
+        student.setSchoolName(studentPreRegistration.getSchool());
         student.setCurrentGradeNum(studentPreRegistration.getCurrentGradeNum());
         student.setCurrentClass(studentPreRegistration.getCurrentClass());
         studentDao.insert(student);
         
+        if(user.getOrganId() == 59){
+        	updateMemberRank(userId, PeriodEnum.MONTH, 1, 1);
+        }
+        
         return true;
 	}
 
@@ -481,6 +486,44 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
+	public void updateMemberRank(Integer userId, PeriodEnum periodEnum, int times, Integer memberRankSettingId) {
+    	Student student = this.get(userId);
+        if (student == null) {
+            throw new BizException("学员信息不存在");
+        }
+        
+        Date nowDate = new Date();
+        
+        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:
+		case QUARTERLY:
+		case YEAR_HALF:
+            student.setMembershipEndTime(DateUtil.addMonths(nowDate, times));
+			break;
+		case YEAR:
+            student.setMembershipEndTime(DateUtil.addYears(nowDate, times));
+			break;
+
+		default:
+			break;
+		}
+        student.setMemberRankSettingId(memberRankSettingId);
+        this.update(student);
+	}
+
+	@Override
     public void updateStudentServiceTag(Integer studentId,List<Integer> studentIds,Integer serviceTag) {
         studentDao.updateStudentServiceTag(studentId, studentIds, serviceTag);
     }

+ 13 - 7
mec-biz/src/main/resources/config/mybatis/StudentMapper.xml

@@ -8,6 +8,7 @@
 
     <resultMap type="com.ym.mec.biz.dal.entity.Student" id="Student">
         <result column="user_id_" property="userId"/>
+        <result column="school_name_" property="schoolName"/>
         <result column="subject_id_list_" property="subjectIdList"/>
         <result column="subject_name_" property="subjectNames"/>
         <result column="service_tag_" property="serviceTag"/>
@@ -77,7 +78,7 @@
     <!-- 向数据库增加一条记录 -->
     <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.Student" useGeneratedKeys="true" keyColumn="id"
             keyProperty="id">
-        INSERT INTO student (user_id_,subject_id_list_,
+        INSERT INTO student (user_id_,school_name_,subject_id_list_,
         <if test="serviceTag != null">
             service_tag_,
         </if>
@@ -87,7 +88,7 @@
         teacher_id_,create_time_,update_time_,service_tag_update_time_,cooperation_organ_id_,
         care_package_,come_on_package_,member_rank_setting_id_,membership_start_time_,membership_end_time_)
         VALUES
-        (#{userId},#{subjectIdList},
+        (#{userId},#{schoolName},#{subjectIdList},
         <if test="serviceTag != null">
             #{serviceTag},
         </if>
@@ -101,6 +102,9 @@
     <update id="update" parameterType="com.ym.mec.biz.dal.entity.Student">
         UPDATE student
         <set>
+            <if test="schoolName != null">
+                school_name_ = #{schoolName},
+            </if>
             <if test="subjectIdList != null">
                 subject_id_list_ = #{subjectIdList},
             </if>
@@ -232,6 +236,9 @@
         <foreach collection="studentList" item="item" index="index" open="" close="" separator=";">
             UPDATE student
             <set>
+	            <if test="item.schoolName != null">
+	                school_name_ = #{item.schoolName},
+	            </if>
                 <if test="item.subjectIdList != null">
                     subject_id_list_ = #{item.subjectIdList},
                 </if>
@@ -769,15 +776,14 @@
         </foreach>
     </select>
     <select id="getNoTeacherOrNoSubjectStudent" resultMap="Student">
-        SELECT * FROM student WHERE teacher_id_ IS NULL OR subject_id_list_ IS NULL OR cooperation_organ_id_ IS NULL;
+        SELECT * FROM student WHERE teacher_id_ IS NULL OR subject_id_list_ IS NULL OR cooperation_organ_id_ IS NULL limit 0,1000;
     </select>
 
     <select id="getHasVipCourseStudentIdsFromNewStudents" resultType="int">
-        SELECT DISTINCT s.user_id_
-        FROM student s
-        LEFT JOIN course_schedule_student_payment cssp ON s.user_id_=cssp.user_id_
-        WHERE s.is_new_user_=1 AND cssp.group_type_='VIP'
+        SELECT DISTINCT(spo.user_id_) from student_payment_order spo LEFT JOIN student s on spo.user_id_ = s.user_id_ WHERE spo.type_ in ('DOUBLE_ELEVEN2021','DOUBLE_ELEVEN2020','SMALL_CLASS_TO_BUY')
+		and spo.status_ = 'SUCCESS' and spo.expect_amount_ > 0 and s.is_new_user_ = 1
     </select>
+    
     <select id="getMemberNum" resultType="int">
         SELECT COUNT(0) FROM student WHERE member_rank_setting_id_ IS NOT NULL AND FIND_IN_SET(user_id_,#{studentIdsStr})
     </select>

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

@@ -171,7 +171,7 @@
 			</if>
 			<if test="rankType != null">
 				<if test="rankType == 0">
-					AND ses.rank_ids_ IS NULL
+					AND (ses.rank_ids_ IS NULL or ses.rank_ids_ = '')
 				</if>
 				<if test="rankType == 1">
 					AND ses.rank_ids_ IS NOT NULL AND ses.rank_ids_ != ''

+ 1 - 1
mec-student/src/main/java/com/ym/mec/student/config/ResourceServerConfig.java

@@ -24,7 +24,7 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
     @Override
     public void configure(HttpSecurity http) throws Exception {
         http.csrf().disable().exceptionHandling().accessDeniedHandler(baseAccessDeniedHandler).authenticationEntryPoint(baseAuthenticationEntryPoint).and()
-                .authorizeRequests().antMatchers("/wechat/*","/v2/api-docs", "/code/*", "/register/*", "/studentOrder/*", "/musicGroup/getSubjectGoodsAndInfo",
+                .authorizeRequests().antMatchers("/wechat/*","/v2/api-docs", "/code/*", "/student/registering", "/register/*", "/studentOrder/*", "/musicGroup/getSubjectGoodsAndInfo",
                 "/musicGroup/getMusicGroupStatus", "/musicGroup/getOrderStatus","/sysCouponCode/queryPage",
                 "/musicGroup/pay",
                 "/musicGroup/rePay",

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

@@ -12,6 +12,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.entity.StudentPreRegistration;
 import com.ym.mec.biz.service.StudentService;
 import com.ym.mec.common.controller.BaseController;
@@ -29,7 +30,16 @@ public class StudentController extends BaseController {
 
     @ApiOperation("注册")
     @PostMapping(value = "/registering")
-    public Object preRegister(@RequestBody StudentPreRegistration studentPreRegistration) {
+    public Object registering(@RequestBody StudentPreRegistration studentPreRegistration) {
+
+    	// 判断用户是否存在
+        SysUser user = sysUserFeignService.queryUserByMobile(studentPreRegistration.getPhone());
+        if(user != null && user.getId() != null){
+        	if(user.getUserType().contains("STUDENT")){
+        		return succeed("您已注册,请直接下载APP!");
+        	}
+        }
+        
         return studentService.register(studentPreRegistration) ? succeed() : failed();
     }