互动日志接口返回增加头像

beetlsql3-dev
Mlxa0324 2 years ago
parent 61a8e14d30
commit f35ed977ac

@ -2,6 +2,7 @@ package com.ibeetl.jlw.dao;
import com.ibeetl.jlw.entity.TeacherOpenCourseChatLog;
import com.ibeetl.jlw.entity.TeacherOpenCourseChatLogAnalysis;
import com.ibeetl.jlw.entity.TeacherOpenCourseChatLogTree;
import com.ibeetl.jlw.entity.dto.ChatLogUnReadNumDTO;
import com.ibeetl.jlw.entity.vo.TeacherOpenCourseChatLogGroupInfoVO;
import com.ibeetl.jlw.web.query.TeacherOpenCourseChatLogQuery;
@ -21,6 +22,7 @@ import java.util.List;
@SqlResource("jlw.teacherOpenCourseChatLog")
public interface TeacherOpenCourseChatLogDao extends BaseMapper<TeacherOpenCourseChatLog>{
PageQuery<TeacherOpenCourseChatLog> queryByCondition(PageQuery query);
PageQuery<TeacherOpenCourseChatLogTree> queryByCondition(PageQuery query, Boolean placeholder);
PageQuery<TeacherOpenCourseChatLog> queryByConditionQuery(PageQuery query);
@Update
void deleteTeacherOpenCourseChatLogByIds(String ids);

@ -10,13 +10,11 @@ import lombok.EqualsAndHashCode;
import org.beetl.sql.annotation.entity.AssignID;
import org.beetl.sql.annotation.entity.InsertIgnore;
import org.beetl.sql.annotation.entity.UpdateIgnore;
import org.beetl.sql.fetch.annotation.Fetch;
import org.beetl.sql.fetch.annotation.FetchSql;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/*
* --
@ -25,7 +23,6 @@ import java.util.List;
@Data
@EqualsAndHashCode(callSuper=false)
// 递归数据。最多支持1000层级再深层级的就无法查询了
@Fetch(level=1000)
public class TeacherOpenCourseChatLog extends BaseEntity{
//课程开课--讨论-日志ID
@ -39,14 +36,6 @@ public class TeacherOpenCourseChatLog extends BaseEntity{
private Long teacherOpenCourseChatLogParentId;
@FetchSql("select * from teacher_open_course_chat_log t " +
"where t.teacher_open_course_id = #teacherOpenCourseId# " +
"and t.teacher_open_course_chat_log_parent_id = #teacherOpenCourseChatLogId# " +
"and t.teacher_open_course_chat_log_parent_id != 0")
@UpdateIgnore
@InsertIgnore
private List<TeacherOpenCourseChatLog> children;
//课程开课ID
@Dict(type="teacher_open_course.teacher_open_course_title.teacher_open_course_status=1")

@ -0,0 +1,112 @@
package com.ibeetl.jlw.entity;
import com.ibeetl.admin.core.annotation.Dict;
import com.ibeetl.admin.core.annotation.DictEnum;
import com.ibeetl.admin.core.entity.BaseEntity;
import com.ibeetl.admin.core.util.ValidateConfig;
import com.ibeetl.jlw.enums.ChatLogSendTypeEnum;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.beetl.sql.annotation.entity.AssignID;
import org.beetl.sql.annotation.entity.InsertIgnore;
import org.beetl.sql.annotation.entity.Table;
import org.beetl.sql.annotation.entity.UpdateIgnore;
import org.beetl.sql.fetch.annotation.Fetch;
import org.beetl.sql.fetch.annotation.FetchSql;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/*
* --
* gen by Spring Boot2 Admin 2022-09-18
*/
@Data
@EqualsAndHashCode(callSuper=false)
// 递归数据。最多支持1000层级再深层级的就无法查询了
@Fetch(level=1000)
@Table(name = "teacher_open_course_chat_log")
public class TeacherOpenCourseChatLogTree extends BaseEntity{
//课程开课--讨论-日志ID
@NotNull(message = "ID不能为空", groups =ValidateConfig.UPDATE.class)
// @SeqID(name = ORACLE_CORE_SEQ_NAME)
@AssignID(value = "maskAutoID",param = "com.ibeetl.jlw.entity.TeacherOpenCourseChatLog")
private Long teacherOpenCourseChatLogId ;
//上级ID, 默认0L 顶级0L
private Long teacherOpenCourseChatLogParentId;
@FetchSql("select * from teacher_open_course_chat_log t " +
"where t.teacher_open_course_id = #teacherOpenCourseId# " +
"and t.teacher_open_course_chat_log_parent_id = #teacherOpenCourseChatLogId# " +
"and t.teacher_open_course_chat_log_parent_id != 0")
@UpdateIgnore
@InsertIgnore
private List<TeacherOpenCourseChatLogTree> children;
//课程开课ID
@Dict(type="teacher_open_course.teacher_open_course_title.teacher_open_course_status=1")
private Long teacherOpenCourseId ;
//班级ID集合
private String schoolClassIds ;
@UpdateIgnore
@InsertIgnore
@FetchSql("select group_concat(t.class_name) from school_class t where find_in_set(t.class_id, #schoolClassIds#) and t.class_status = 1")
private String schoolClassIdsText;
//教师ID
@Dict(type="teacher.teacher_name.teacher_status=1")
private Long teacherId ;
//学生ID
@Dict(type="student.student_name.student_status=1")
private Long studentId ;
//讨论内容
private String chatContent ;
//关键字(多个逗号隔开)
private String keywords ;
//学生得分
private BigDecimal studentScore ;
// 提问方式
@DictEnum
private ChatLogSendTypeEnum chatLogSendType;
//附件上传(仅支持图片,多个逗号隔开)
private String chatFiles ;
//状态 1正常 2删除
@Dict(type="global_status")
private Integer teacherOpenCourseChatLogStatus ;
//创建时间
private Date teacherOpenCourseChatLogAddTime ;
//组织ID
private Long orgId ;
//用户ID
private Long userId ;
}

@ -1,5 +1,6 @@
package com.ibeetl.jlw.service;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.extra.validation.BeanValidationResult;
import cn.hutool.extra.validation.ValidationUtil;
@ -15,10 +16,7 @@ import com.ibeetl.admin.core.web.JsonReturnCode;
import com.ibeetl.jlw.dao.StudentDao;
import com.ibeetl.jlw.dao.TeacherDao;
import com.ibeetl.jlw.dao.TeacherOpenCourseChatLogDao;
import com.ibeetl.jlw.entity.Student;
import com.ibeetl.jlw.entity.Teacher;
import com.ibeetl.jlw.entity.TeacherOpenCourseChatLog;
import com.ibeetl.jlw.entity.TeacherOpenCourseChatLogAnalysis;
import com.ibeetl.jlw.entity.*;
import com.ibeetl.jlw.entity.dto.ChatLogUnReadNumDTO;
import com.ibeetl.jlw.entity.vo.TeacherOpenCourseChatLogGroupInfoVO;
import com.ibeetl.jlw.web.query.TeacherOpenCourseChatLogQuery;
@ -53,12 +51,23 @@ public class TeacherOpenCourseChatLogService extends CoreBaseService<TeacherOpen
private TeacherDao teacherDao;
@Autowired
private StudentDao studentDao;
@Autowired
private WebPlatformService webPlatformService;
public PageQuery<TeacherOpenCourseChatLog>queryByCondition(PageQuery query){
PageQuery ret = teacherOpenCourseChatLogDao.queryByCondition(query);
queryListAfter(ret.getList());
return ret;
}
public PageQuery<TeacherOpenCourseChatLogTree> queryByCondition(PageQuery query, Boolean placeholder){
PageQuery<TeacherOpenCourseChatLogTree> ret = teacherOpenCourseChatLogDao.queryByCondition(query, placeholder);
CollectionUtil.emptyIfNull(ret.getList()).forEach(item -> {
String headImg = webPlatformService.getHeadImgByIdentity(item.getUserId());
item.set("headImg", headImg);
});
queryListAfter(ret.getList());
return ret;
}
public PageQuery<TeacherOpenCourseChatLog>queryByConditionQuery(PageQuery query){
PageQuery ret = teacherOpenCourseChatLogDao.queryByConditionQuery(query);

@ -16,11 +16,13 @@ import com.ibeetl.jlw.entity.StudentExtendSchoolInfo;
import com.ibeetl.jlw.entity.Teacher;
import com.ibeetl.jlw.entity.TeacherExtendSchoolInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import javax.validation.constraints.NotNull;
import java.util.List;
import static cn.hutool.core.util.ObjectUtil.defaultIfBlank;
import static com.ibeetl.admin.core.service.CorePlatformService.*;
@ -199,4 +201,39 @@ public class WebPlatformService {
Assert.notBlank(teacherExtendSchoolInfo.getUniversitySystemName(), "所在专业已不存在!");
}
}
/**
*
* @param userId
* @return
*/
@Cacheable(value = "cache:core:headImgs", key = "#userId", unless = "#userId == null || #result == ''")
public String getHeadImgByIdentity(Long userId) {
if (userId == null) {
return "";
}
CoreUser user = coreUserService.getUserById(userId);
if (user == null) {
return "";
}
// 系统用户表的头像
String headImg = user.getHeadImg();
if (user.isStudent()) {
Student student = studentService.getByUserId(userId);
if (student != null) {
return defaultIfBlank( student.getHeadImg(), headImg);
}
}
if (user.isTeacher()) {
Teacher teacher = teacherService.getByUserId(userId);
if (teacher != null) {
return defaultIfBlank(headImg, "");
}
}
return headImg;
}
}

@ -240,7 +240,7 @@ public class TeacherOpenCourseChatLogController extends BaseController {
PageQuery page = condition.getPageQuery();
// 为空则查询顶级
condition.setTeacherOpenCourseChatLogParentId(ObjectUtil.defaultIfNull(condition.getTeacherOpenCourseChatLogParentId(), 0L));
teacherOpenCourseChatLogService.queryByCondition(page);
teacherOpenCourseChatLogService.queryByCondition(page, true);
return JsonResult.success(page);
}

Loading…
Cancel
Save