Browse Source

fix:学历 教资标签

liujunchi 2 years ago
parent
commit
4258a0c0f1

+ 1 - 1
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/TeacherController.java

@@ -119,7 +119,7 @@ public class TeacherController extends BaseController {
         }
         for(TeacherVo vo : rows){
         	if(StringUtils.isNotBlank(vo.getTag())){
-        		vo.setTag(vo.getTag().replace("STYLE", "个人风采").replace("LIVE", "直播课").replace("VIDEO", "视频课").replace("MUSIC", "乐谱"));
+        		vo.setTag(vo.getTag().replace("STYLE", "个人风采").replace("LIVE", "直播课").replace("VIDEO", "视频课").replace("MUSIC", "乐谱").replace("DEGREE", "学历").replace("TEACHER", "教资"));
         	}
         }
         OutputStream outputStream = response.getOutputStream();

+ 29 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/Teacher.java

@@ -150,6 +150,20 @@ public class Teacher implements Serializable {
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
     private Date styleDate;
 
+
+    @ApiModelProperty("学位认证时间 ")
+    @TableField(value = "degree_date_")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    private Date degreeDate;
+
+
+    @ApiModelProperty("教师资格认证时间 ")
+    @TableField(value = "teacher_date_")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    private Date teacherDate;
+
     /**
      * 会员等级
      */
@@ -191,6 +205,21 @@ public class Teacher implements Serializable {
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
     private Date updateTime;
 
+    public Date getDegreeDate() {
+        return degreeDate;
+    }
+
+    public void setDegreeDate(Date degreeDate) {
+        this.degreeDate = degreeDate;
+    }
+
+    public Date getTeacherDate() {
+        return teacherDate;
+    }
+
+    public void setTeacherDate(Date teacherDate) {
+        this.teacherDate = teacherDate;
+    }
 
     public Date getMusicDate() {
         return musicDate;

+ 2 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/TeacherTagEnum.java

@@ -15,6 +15,8 @@ public enum TeacherTagEnum implements BaseEnum<String, TeacherTagEnum> {
     STYLE("个人风采"),
     VIDEO("视频课"),
     MUSIC("曲目"),
+    DEGREE("学历"),
+    TEACHER("教资"),
     LIVE("直播课");
     @EnumValue
     private String code;

+ 12 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/HomeServiceImpl.java

@@ -79,6 +79,8 @@ public class HomeServiceImpl implements HomeService {
         Integer videoTagNum = 0;
         Integer liveTagNum = 0;
         Integer musicTagNum = 0;
+        Integer degreeTagNum = 0;
+        Integer teacherTagNum = 0;
         for (HomeTotalTeacher totalTeacher : totalList) {
             totalTeacher.setRegisterNum(null == totalTeacher.getRegisterNum() ? 0 : totalTeacher.getRegisterNum());
             totalTeacher.setEntryNum(null == totalTeacher.getEntryNum() ? 0 : totalTeacher.getEntryNum());
@@ -91,15 +93,21 @@ public class HomeServiceImpl implements HomeService {
                 List<TagTotalTeacher> musicTagList = typeGroup.get(TeacherTagEnum.MUSIC.getCode());
                 List<TagTotalTeacher> styleTagList = typeGroup.get(TeacherTagEnum.STYLE.getCode());
                 List<TagTotalTeacher> videoTagList = typeGroup.get(TeacherTagEnum.VIDEO.getCode());
+                List<TagTotalTeacher> degreeTagList = typeGroup.get(TeacherTagEnum.DEGREE.getCode());
+                List<TagTotalTeacher> teacherTagList = typeGroup.get(TeacherTagEnum.TEACHER.getCode());
                 totalTeacher.setLiveTagNum(CollectionUtils.isEmpty(liveTagList) ? 0:liveTagList.size());
                 totalTeacher.setMusicTagNum(CollectionUtils.isEmpty(musicTagList) ? 0:musicTagList.size());
                 totalTeacher.setStyleTagNum(CollectionUtils.isEmpty(styleTagList) ? 0:styleTagList.size());
                 totalTeacher.setVideoTagNum(CollectionUtils.isEmpty(videoTagList) ? 0:videoTagList.size());
+                totalTeacher.setDegreeTagNum(CollectionUtils.isEmpty(degreeTagList) ? 0:degreeTagList.size());
+                totalTeacher.setTeacherTagNum(CollectionUtils.isEmpty(teacherTagList) ? 0:teacherTagList.size());
             } else {
                 totalTeacher.setLiveTagNum(0);
                 totalTeacher.setMusicTagNum(0);
                 totalTeacher.setStyleTagNum(0);
                 totalTeacher.setVideoTagNum(0);
+                totalTeacher.setDegreeTagNum(0);
+                totalTeacher.setTeacherTagNum(0);
             }
 
 
@@ -121,6 +129,8 @@ public class HomeServiceImpl implements HomeService {
             videoTagNum += totalTeacher.getVideoTagNum();
             liveTagNum += totalTeacher.getLiveTagNum();
             musicTagNum += totalTeacher.getMusicTagNum();
+            degreeTagNum += totalTeacher.getDegreeTagNum();
+            teacherTagNum += totalTeacher.getTeacherTagNum();
         }
         HomeTotalTeacher total = new HomeTotalTeacher();
         total.setRegisterNum(registerNum);
@@ -132,6 +142,8 @@ public class HomeServiceImpl implements HomeService {
         total.setVideoTagNum(videoTagNum);
         total.setLiveTagNum(liveTagNum);
         total.setMusicTagNum(musicTagNum);
+        total.setDegreeTagNum(degreeTagNum);
+        total.setTeacherTagNum(teacherTagNum);
         total.setInfoList(totalList);
         return HttpResponseResult.succeed(total);
     }

+ 29 - 8
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherAuthEntryRecordServiceImpl.java

@@ -12,13 +12,8 @@ import com.yonge.cooleshow.biz.dal.dto.req.TeacherApplyDetailReq;
 import com.yonge.cooleshow.biz.dal.dto.search.AuthEntryRecordSearch;
 import com.yonge.cooleshow.biz.dal.entity.Teacher;
 import com.yonge.cooleshow.biz.dal.entity.TeacherStyleVideo;
-import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
-import com.yonge.cooleshow.biz.dal.enums.AuthTypeEnum;
-import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
-import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
-import com.yonge.cooleshow.biz.dal.service.SysMessageService;
-import com.yonge.cooleshow.biz.dal.service.TeacherStyleVideoService;
-import com.yonge.cooleshow.biz.dal.service.UserFirstTimeService;
+import com.yonge.cooleshow.biz.dal.enums.*;
+import com.yonge.cooleshow.biz.dal.service.*;
 import com.yonge.cooleshow.biz.dal.support.WrapperUtil;
 import com.yonge.cooleshow.biz.dal.vo.TeacherAuthEntryRecordVo;
 import com.yonge.cooleshow.biz.dal.vo.TeacherVo;
@@ -36,12 +31,12 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.yonge.cooleshow.biz.dal.entity.TeacherAuthEntryRecord;
 import com.yonge.cooleshow.biz.dal.dao.TeacherAuthEntryRecordDao;
-import com.yonge.cooleshow.biz.dal.service.TeacherAuthEntryRecordService;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
 import java.util.*;
+import java.util.stream.Collectors;
 
 @Service
 public class TeacherAuthEntryRecordServiceImpl extends ServiceImpl<TeacherAuthEntryRecordDao, TeacherAuthEntryRecord> implements TeacherAuthEntryRecordService {
@@ -57,6 +52,9 @@ public class TeacherAuthEntryRecordServiceImpl extends ServiceImpl<TeacherAuthEn
     @Resource
     private TeacherDao teacherDao;
 
+    @Autowired
+    private TeacherService teacherService;
+
     @Override
     public TeacherAuthEntryRecordVo detail(Long id) {
         return baseMapper.detail(id);
@@ -105,6 +103,8 @@ public class TeacherAuthEntryRecordServiceImpl extends ServiceImpl<TeacherAuthEn
 
                 //记录达人认证时间
                 userFirstTimeService.recordTime(build.getUserId(),ClientEnum.TEACHER, UserFirstTimeTypeEnum.ENTRY);
+
+                setTag(authOperaReq, build, teacher);
             }
             teacher.setEntryFlag(authOperaReq.getPass() ? YesOrNoEnum.YES : YesOrNoEnum.NO);
             teacher.setEntryAuthDate(new Date());
@@ -121,6 +121,27 @@ public class TeacherAuthEntryRecordServiceImpl extends ServiceImpl<TeacherAuthEn
         return HttpResponseResult.succeed(true);
     }
 
+    private void setTag(AuthOperaReq authOperaReq, TeacherAuthEntryRecord build, TeacherVo teacher) {
+        if (authOperaReq.getPass()) {
+            if (!StringUtil.isEmpty(teacher.getTeacherCertificate())) {
+                teacherService.setTeacherTag(build.getUserId(), TeacherTagEnum.TEACHER);
+            } else if (!StringUtil.isEmpty(teacher.getTag())) {
+                teacher.setTag(Arrays.stream(teacher.getTag().split(","))
+                                     .filter(s -> !s.equals("TEACHER"))
+                                     .collect(Collectors.joining(",")));
+            }
+        }
+        if (authOperaReq.getPass()) {
+            if (!StringUtil.isEmpty(teacher.getDegreeCertificate()) && !StringUtil.isEmpty(teacher.getGradCertificate())) {
+                teacherService.setTeacherTag(build.getUserId(), TeacherTagEnum.DEGREE);
+            } else if (!StringUtil.isEmpty(teacher.getTag())) {
+                teacher.setTag(Arrays.stream(teacher.getTag().split(","))
+                                     .filter(s -> !s.equals("DEGREE"))
+                                     .collect(Collectors.joining(",")));
+            }
+        }
+    }
+
     /**
      * 保存老师风采视频
      *

+ 4 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherServiceImpl.java

@@ -520,6 +520,10 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
             teacherVo.setLiveDate(new Date());
         } else if (teacherTagEnum.equals(TeacherTagEnum.VIDEO)) {
             teacherVo.setLiveDate(new Date());
+        } else if (teacherTagEnum.equals(TeacherTagEnum.TEACHER)) {
+            teacherVo.setTeacherDate(new Date());
+        } else if (teacherTagEnum.equals(TeacherTagEnum.DEGREE)) {
+            teacherVo.setDegreeDate(new Date());
         }
     }
 

+ 25 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/res/HomeTotalTeacher.java

@@ -39,6 +39,31 @@ public class HomeTotalTeacher {
     @ApiModelProperty("曲目人数")
     private Integer musicTagNum;
 
+
+    @ApiModelProperty("学历人数")
+    private Integer degreeTagNum;
+
+
+
+    @ApiModelProperty("教资人数")
+    private Integer teacherTagNum;
+
+    public Integer getDegreeTagNum() {
+        return degreeTagNum;
+    }
+
+    public void setDegreeTagNum(Integer degreeTagNum) {
+        this.degreeTagNum = degreeTagNum;
+    }
+
+    public Integer getTeacherTagNum() {
+        return teacherTagNum;
+    }
+
+    public void setTeacherTagNum(Integer teacherTagNum) {
+        this.teacherTagNum = teacherTagNum;
+    }
+
     public Integer getStyleTagNum() {
         return styleTagNum;
     }

+ 42 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/HomeMapper.xml

@@ -351,6 +351,48 @@
 				<![CDATA[AND video_date_ < #{param.endTime} ]]>
 			</if>
 		</where>
+		UNION all
+
+		SELECT
+		<if test="timeType != null and timeType == 'MONTH'">
+			DATE_FORMAT(degree_date_,'%Y-%m-%d') as timeStr,
+		</if>
+		<if test="timeType != null and timeType == 'YEAR'">
+			DATE_FORMAT(degree_date_,'%Y-%m') as timeStr,
+		</if>
+		user_id_ ,
+		'DEGREE' as tagType
+		FROM
+		teacher
+		<where>
+			<if test="param.startTime !=null">
+				<![CDATA[AND degree_date_ >= #{param.startTime} ]]>
+			</if>
+			<if test="param.endTime !=null">
+				<![CDATA[AND degree_date_ < #{param.endTime} ]]>
+			</if>
+		</where>
+		UNION all
+
+		SELECT
+		<if test="timeType != null and timeType == 'MONTH'">
+			DATE_FORMAT(teacher_date_,'%Y-%m-%d') as timeStr,
+		</if>
+		<if test="timeType != null and timeType == 'YEAR'">
+			DATE_FORMAT(teacher_date_,'%Y-%m') as timeStr,
+		</if>
+		user_id_ ,
+		'TEACHER' as tagType
+		FROM
+		teacher
+		<where>
+			<if test="param.startTime !=null">
+				<![CDATA[AND teacher_date_ >= #{param.startTime} ]]>
+			</if>
+			<if test="param.endTime !=null">
+				<![CDATA[AND teacher_date_ < #{param.endTime} ]]>
+			</if>
+		</where>
 	</select>
 
 	<select id="selectSubjectHome" resultType="com.yonge.cooleshow.biz.dal.vo.SubjectHomeVo">