mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-15 13:56:50 +08:00
Merge branch 'preview' of codeup.aliyun.com:6265f483e4166464dc2f9c14/boeu/baseservers into release
This commit is contained in:
@@ -22,6 +22,11 @@
|
||||
<artifactId>xboe-core</artifactId>
|
||||
<version>1.0.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.xboe</groupId>
|
||||
<artifactId>xboe-redis</artifactId>
|
||||
<version>1.0.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.xboe</groupId>
|
||||
<artifactId>xboe-module-course</artifactId>
|
||||
|
||||
@@ -261,7 +261,7 @@ public class ArticleServiceImpl implements IArticleService{
|
||||
|
||||
@Override
|
||||
public List<UsernameDto> usernameCounts(int pageSize) {
|
||||
String sql="select count(sys_create_aid),sys_create_by,coverurl,summary,favorites,praises,shares,comments,views,sys_create_aid from boe_article where deleted=0 and status=9 and enabled =1 GROUP BY(sys_create_by) ORDER BY (count(sys_create_aid)) desc limit ?1";
|
||||
String sql="select count(sys_create_aid),sys_create_by,coverurl,summary,favorites,praises,shares,comments,views,sys_create_aid from boe_article where deleted=0 and status=9 and enabled =1 GROUP BY(sys_create_by) ORDER BY (count(sys_create_aid)) desc,views desc limit ?1";
|
||||
@SuppressWarnings("unchecked")
|
||||
List<Object[]> list = dao.sqlFindList(sql, pageSize);
|
||||
if(pageSize>list.size()){
|
||||
|
||||
@@ -296,7 +296,7 @@ public interface ICourseService {
|
||||
/**
|
||||
* 查询出三条关联兴趣爱好的数据
|
||||
* */
|
||||
List<Course> userHobbyList(String aid);
|
||||
List<Course> userHobbyList(String aid,String orderField,Boolean orderAsc);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -958,7 +958,7 @@ public class CourseServiceImpl implements ICourseService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Course> userHobbyList(String aid) {
|
||||
public List<Course> userHobbyList(String aid,String orderField,Boolean orderAsc) {
|
||||
List<Course> courses = new ArrayList<>();
|
||||
if(StringUtil.isNotBlank(aid)){
|
||||
String sql="select ref_id from boe_user_hobby where aid='"+aid+"'";
|
||||
@@ -977,6 +977,19 @@ public class CourseServiceImpl implements ICourseService {
|
||||
iFieldFilters.add(FieldFilters.in("sysType2",strings));
|
||||
iFieldFilters.add(FieldFilters.in("sysType3",strings));
|
||||
builder.addFilter(FieldFilters.or(iFieldFilters));
|
||||
OrderCondition oc=null;
|
||||
if(StringUtils.isNotBlank(orderField)) {
|
||||
if(orderAsc==null || orderAsc) {
|
||||
oc=OrderCondition.asc(orderField);
|
||||
}else {
|
||||
oc=OrderCondition.desc(orderField);
|
||||
}
|
||||
}else {
|
||||
//oc=OrderCondition.desc("id");
|
||||
//默认按发布时间排序
|
||||
oc=OrderCondition.desc("publishTime");
|
||||
}
|
||||
builder.addOrder(oc);
|
||||
courses=courseDao.findList(builder.builder());
|
||||
}
|
||||
return courses;
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.xboe.phase2.dao;
|
||||
|
||||
import com.xboe.core.orm.BaseDao;
|
||||
import com.xboe.phase2.entity.GuestBook;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public class GuestBookDao extends BaseDao<GuestBook> {
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.xboe.phase2.dao;
|
||||
|
||||
import com.xboe.core.orm.BaseDao;
|
||||
import com.xboe.phase2.entity.NoteInfo;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public class NoteInfoDao extends BaseDao<NoteInfo> {
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package com.xboe.phase2.entity;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.xboe.core.SysConstant;
|
||||
import com.xboe.core.orm.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.Table;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
|
||||
/**
|
||||
* 留言
|
||||
* */
|
||||
@Data
|
||||
@Entity
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Table(name = SysConstant.TABLE_PRE+"guest_book")
|
||||
public class GuestBook extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = -1546791463472018751L;
|
||||
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
* */
|
||||
@Column(name = "aid",length = 20)
|
||||
private String aid;
|
||||
|
||||
/**
|
||||
* 留言内容
|
||||
* */
|
||||
@Column(name = "content",length = 200)
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* 回复内容
|
||||
* */
|
||||
@Column(name = "replys",columnDefinition = "text")
|
||||
private String replys;
|
||||
|
||||
/**
|
||||
* 回复时间
|
||||
* */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@Column(name = "reply_time")
|
||||
private LocalDateTime replyTime;
|
||||
|
||||
/**
|
||||
* 点赞数
|
||||
* */
|
||||
@Column(name = "praises")
|
||||
private Integer praises;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,150 @@
|
||||
package com.xboe.phase2.entity;
|
||||
|
||||
import com.xboe.core.SysConstant;
|
||||
import com.xboe.core.orm.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.Table;
|
||||
|
||||
|
||||
/**
|
||||
* 笔记
|
||||
* */
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Entity
|
||||
@Table(name = SysConstant.TABLE_PRE+"note_info")
|
||||
public class NoteInfo extends BaseEntity {
|
||||
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**课程笔记*/
|
||||
public static final int COURSE_TYPE=1;
|
||||
|
||||
/**上传的笔记*/
|
||||
public static final int UPLODE_TYPE=2;
|
||||
|
||||
/**不公开*/
|
||||
public static final int NOOPEN=1;
|
||||
|
||||
/**完全公开*/
|
||||
public static final int OPEN=9;
|
||||
|
||||
/**
|
||||
* 笔记类型
|
||||
* 1 课程笔记 2 上传的笔记
|
||||
* 我发布的是1 我导入的是2,
|
||||
* */
|
||||
@Column(name = "type",length = 1)
|
||||
private Integer type;
|
||||
|
||||
|
||||
/**
|
||||
* 笔记内容
|
||||
* */
|
||||
@Column(name = "content",columnDefinition = "text")
|
||||
private String content;
|
||||
|
||||
/**
|
||||
*课程播放点 秒
|
||||
* 课程内容播放时间点,只限于音视频
|
||||
* */
|
||||
@Column(name = "play_time")
|
||||
private Integer playTime;
|
||||
|
||||
/**
|
||||
* 课程id
|
||||
* */
|
||||
@Column(name = "course_id",length = 20)
|
||||
private String courseId;
|
||||
|
||||
/**
|
||||
* 课程内容id
|
||||
* */
|
||||
@Column(name = "content_id",length = 20)
|
||||
private String contentId;
|
||||
|
||||
/**
|
||||
* 课程名称
|
||||
* */
|
||||
@Column(name = "course_name",length = 100)
|
||||
private String courseName;
|
||||
|
||||
/**
|
||||
* 是否公开
|
||||
* 1表不公开 9表完全公开
|
||||
* */
|
||||
@Column(name = "open_type",length = 1)
|
||||
private Integer openType;
|
||||
|
||||
/**
|
||||
* 笔记原文件
|
||||
* */
|
||||
@Column(name = "file_path",length = 200)
|
||||
private String filePath;
|
||||
|
||||
/**
|
||||
* 笔记原文件名称
|
||||
* */
|
||||
@Column(name = "file_name",length = 100)
|
||||
private String fileName;
|
||||
|
||||
/**
|
||||
* 点赞数
|
||||
* */
|
||||
@Column(name = "praises")
|
||||
private Integer praises;
|
||||
|
||||
/**
|
||||
* 收藏数
|
||||
* */
|
||||
@Column(name = "favorites")
|
||||
private Integer favorites;
|
||||
|
||||
/**
|
||||
* 评论数
|
||||
* */
|
||||
@Column(name = "comments")
|
||||
private Integer comments;
|
||||
|
||||
/**
|
||||
* 是否自动保存
|
||||
* */
|
||||
@Column(name = "is_auto")
|
||||
private Boolean isAuto;
|
||||
|
||||
/**
|
||||
* 内容类型 1 txt 2 word image 3
|
||||
* */
|
||||
@Column(name = "content_type")
|
||||
private Integer contentType;
|
||||
|
||||
|
||||
|
||||
public NoteInfo(Integer type, String content, Integer playTime, String courseId, String contentId, String courseName, Integer openType, String filePath, String fileName, Integer praises, Integer favorites, Integer comments) {
|
||||
this.type = type;
|
||||
this.content = content;
|
||||
this.playTime = playTime;
|
||||
this.courseId = courseId;
|
||||
this.contentId = contentId;
|
||||
this.courseName = courseName;
|
||||
this.openType = openType;
|
||||
this.filePath = filePath;
|
||||
this.fileName = fileName;
|
||||
this.praises = praises;
|
||||
this.favorites = favorites;
|
||||
this.comments = comments;
|
||||
}
|
||||
|
||||
public NoteInfo() {
|
||||
}
|
||||
|
||||
public NoteInfo(String courseId, String courseName){
|
||||
this.courseId=courseId;
|
||||
this.courseName=courseName;
|
||||
}
|
||||
}
|
||||
@@ -100,6 +100,7 @@ public class PortalConsoleApi extends ApiBaseController{
|
||||
map.put("name",user.getName());
|
||||
map.put("sex",user.getGender());
|
||||
map.put("userNo",user.getUserNo());
|
||||
map.put("showHome",user.getShowHome()==null? true:user.getShowHome());
|
||||
map.put("userType",utype);
|
||||
map.put("departId",user.getDepartId());
|
||||
map.put("sign",user.getSign());
|
||||
|
||||
@@ -132,7 +132,7 @@ public class PortalIndexApi extends ApiBaseController{
|
||||
PageList<Course> coursePageList = courseService.findSimplePage(pager.getPageIndex(), pager.getPageSize(),dto);
|
||||
|
||||
String aid = this.getCurrent().getAccountId();
|
||||
List<Course> courses = courseService.userHobbyList(aid);
|
||||
List<Course> courses = courseService.userHobbyList(aid,dto.getOrderField(),dto.getOrderAsc());
|
||||
|
||||
//计算下标,
|
||||
int i=0;
|
||||
|
||||
@@ -209,7 +209,7 @@ public class PortalLoginApi extends ApiBaseController {
|
||||
//检查系统用户是否存在
|
||||
account = accountService.get(tokenInfo.get("aid"));
|
||||
}else{
|
||||
log.error("查询用户kid【"+tokenInfo.get("userId")+"】");
|
||||
//log.error("查询用户kid【"+tokenInfo.get("userId")+"】");
|
||||
// 没有aid则判断是否已同步的用户,不是则同步
|
||||
if(StringUtil.isNotBlank(tokenInfo.get("userId"))){
|
||||
account = accountService.findLoginBySysId(tokenInfo.get("userId"));
|
||||
@@ -240,6 +240,9 @@ public class PortalLoginApi extends ApiBaseController {
|
||||
return error("未找到的用户信息");
|
||||
}
|
||||
|
||||
//在这种情况下情况下,应该重置 一下缓存,以便对用户进行缓存更新
|
||||
//String cacheKey=CacheName.NAME_USER+ CacheName.KEY_USER_SYSID +account.getId();
|
||||
|
||||
// if (account.getStatus() == Constants.ACCOUNT_STATUS_DEACTIVATE) {
|
||||
// return error("账号已停用");
|
||||
// }
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.xboe.school.impl;
|
||||
|
||||
import com.xboe.core.orm.FieldUpdateType;
|
||||
import com.xboe.core.orm.UpdateBuilder;
|
||||
import com.xboe.module.interaction.dao.CommentsDao;
|
||||
import com.xboe.module.interaction.service.ICallbackAddHits;
|
||||
import com.xboe.standard.enums.BoedxHitsField;
|
||||
import com.xboe.standard.enums.BoedxResourceType;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
|
||||
/**
|
||||
* 文章评论对点数的增加或者减少
|
||||
* */
|
||||
@Service
|
||||
@Transactional
|
||||
public class ArticleCommentAddHitsImpl implements ICallbackAddHits {
|
||||
|
||||
@Resource
|
||||
CommentsDao commentsDao;
|
||||
|
||||
@Override
|
||||
public BoedxResourceType getType() {
|
||||
return BoedxResourceType.ArticleComment;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void increase(String id, BoedxHitsField field) {
|
||||
commentsDao.updateMultiFieldById(id, UpdateBuilder.create(field.getField(),field.getField()+"+1", FieldUpdateType.EXPRESSION));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reduce(String id, BoedxHitsField field) {
|
||||
commentsDao.updateMultiFieldById(id, UpdateBuilder.create(field.getField(),field.getField()+"-1",FieldUpdateType.EXPRESSION));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.xboe.school.impl;
|
||||
|
||||
import com.xboe.core.orm.FieldUpdateType;
|
||||
import com.xboe.core.orm.UpdateBuilder;
|
||||
import com.xboe.module.interaction.dao.CommentsDao;
|
||||
import com.xboe.module.interaction.service.ICallbackAddHits;
|
||||
import com.xboe.standard.enums.BoedxHitsField;
|
||||
import com.xboe.standard.enums.BoedxResourceType;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
/**
|
||||
* 案例评论 对点数的增加或者减少
|
||||
* */
|
||||
@Service
|
||||
public class CaseCommentAddHitsImpl implements ICallbackAddHits {
|
||||
|
||||
@Autowired
|
||||
CommentsDao commentsDao;
|
||||
|
||||
@Override
|
||||
public BoedxResourceType getType() {
|
||||
return BoedxResourceType.CaseComment;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void increase(String id, BoedxHitsField field) {
|
||||
commentsDao.updateMultiFieldById(id, UpdateBuilder.create(field.getField(),field.getField()+"+1", FieldUpdateType.EXPRESSION));
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void reduce(String id, BoedxHitsField field) {
|
||||
commentsDao.updateMultiFieldById(id, UpdateBuilder.create(field.getField(),field.getField()+"-1",FieldUpdateType.EXPRESSION));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.xboe.school.impl;
|
||||
|
||||
import com.xboe.core.orm.FieldUpdateType;
|
||||
import com.xboe.core.orm.UpdateBuilder;
|
||||
import com.xboe.module.interaction.dao.CommentsDao;
|
||||
import com.xboe.module.interaction.service.ICallbackAddHits;
|
||||
import com.xboe.standard.enums.BoedxHitsField;
|
||||
import com.xboe.standard.enums.BoedxResourceType;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* 课程评论对点数的增加和减少
|
||||
* */
|
||||
@Service
|
||||
@Transactional
|
||||
public class CourseCommentAddHitsImpl implements ICallbackAddHits {
|
||||
|
||||
@Resource
|
||||
CommentsDao commentsDao;
|
||||
|
||||
@Override
|
||||
public BoedxResourceType getType() {
|
||||
return BoedxResourceType.CourseComment;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void increase(String id, BoedxHitsField field) {
|
||||
commentsDao.updateMultiFieldById(id, UpdateBuilder.create(field.getField(),field.getField()+"+1", FieldUpdateType.EXPRESSION));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reduce(String id, BoedxHitsField field) {
|
||||
commentsDao.updateMultiFieldById(id, UpdateBuilder.create(field.getField(),field.getField()+"-1",FieldUpdateType.EXPRESSION));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
package com.xboe.school.impl;
|
||||
|
||||
import com.xboe.core.orm.FieldUpdateType;
|
||||
import com.xboe.core.orm.UpdateBuilder;
|
||||
import com.xboe.module.interaction.service.ICallbackAddHits;
|
||||
import com.xboe.phase2.dao.GuestBookDao;
|
||||
import com.xboe.standard.enums.BoedxHitsField;
|
||||
import com.xboe.standard.enums.BoedxResourceType;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@Service
|
||||
@Transactional
|
||||
public class GuestAddHitsImpl implements ICallbackAddHits {
|
||||
|
||||
@Resource
|
||||
GuestBookDao guestBookDao;
|
||||
|
||||
@Override
|
||||
public BoedxResourceType getType() {
|
||||
return BoedxResourceType.Guest;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void increase(String id, BoedxHitsField field) {
|
||||
guestBookDao.updateMultiFieldById(id, UpdateBuilder.create(field.getField(),field.getField()+"+1", FieldUpdateType.EXPRESSION));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reduce(String id, BoedxHitsField field) {
|
||||
guestBookDao.updateMultiFieldById(id, UpdateBuilder.create(field.getField(),field.getField()+"-1",FieldUpdateType.EXPRESSION));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.xboe.school.impl;
|
||||
|
||||
import com.xboe.core.orm.FieldUpdateType;
|
||||
import com.xboe.core.orm.UpdateBuilder;
|
||||
import com.xboe.module.interaction.dao.CommentsDao;
|
||||
import com.xboe.module.interaction.service.ICallbackAddHits;
|
||||
import com.xboe.standard.enums.BoedxHitsField;
|
||||
import com.xboe.standard.enums.BoedxResourceType;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
||||
/**
|
||||
* 笔记评论对点数的增加和减少
|
||||
* */
|
||||
@Service
|
||||
@Transactional
|
||||
public class NoteCommentAddHitsImpl implements ICallbackAddHits {
|
||||
|
||||
@Autowired
|
||||
CommentsDao commentsDao;
|
||||
|
||||
@Override
|
||||
public BoedxResourceType getType() {
|
||||
return BoedxResourceType.NoteComment;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void increase(String id, BoedxHitsField field) {
|
||||
commentsDao.updateMultiFieldById(id, UpdateBuilder.create(field.getField(),field.getField()+"+1", FieldUpdateType.EXPRESSION));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reduce(String id, BoedxHitsField field) {
|
||||
commentsDao.updateMultiFieldById(id, UpdateBuilder.create(field.getField(),field.getField()+"-1",FieldUpdateType.EXPRESSION));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.xboe.school.impl;
|
||||
|
||||
import com.xboe.core.orm.FieldUpdateType;
|
||||
import com.xboe.core.orm.UpdateBuilder;
|
||||
import com.xboe.module.interaction.service.ICallbackAddHits;
|
||||
import com.xboe.phase2.dao.NoteInfoDao;
|
||||
import com.xboe.standard.enums.BoedxHitsField;
|
||||
import com.xboe.standard.enums.BoedxResourceType;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
|
||||
/**
|
||||
* 笔记 对点数的增加或者减少
|
||||
* */
|
||||
@Service
|
||||
@Transactional
|
||||
public class NoteInfoAddHitsImpl implements ICallbackAddHits {
|
||||
|
||||
@Resource
|
||||
NoteInfoDao noteInfoDao;
|
||||
|
||||
@Override
|
||||
public BoedxResourceType getType() {
|
||||
return BoedxResourceType.NoteInfo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void increase(String id, BoedxHitsField field) {
|
||||
noteInfoDao.updateMultiFieldById(id, UpdateBuilder.create(field.getField(),field.getField()+"+1", FieldUpdateType.EXPRESSION));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reduce(String id, BoedxHitsField field) {
|
||||
noteInfoDao.updateMultiFieldById(id, UpdateBuilder.create(field.getField(),field.getField()+"-1",FieldUpdateType.EXPRESSION));
|
||||
}
|
||||
}
|
||||
@@ -6,8 +6,6 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
|
||||
package com.xboe.school.study.service.impl;
|
||||
|
||||
import java.math.BigInteger;
|
||||
import java.sql.Timestamp;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
@@ -275,34 +277,94 @@ public class StudyCourseServiceImpl implements IStudyCourseService{
|
||||
@Override
|
||||
public List<StudyCourse> ids(StudyCourseQuery studyCourseQuery) {
|
||||
// List<StudyCouseDto> studyCouseDtos = new ArrayList<>();
|
||||
QueryBuilder builder = QueryBuilder.from(StudyCourse.class.getSimpleName()+" sc,"+ Course.class.getSimpleName()+" c");
|
||||
builder.addFilter(FieldFilters.eqField("sc.courseId","c.id"));
|
||||
// builder.addFilter(FieldFilters.eq("c.enabled",true));
|
||||
// builder.addFilter(FieldFilters.eq("c.deleted",false));
|
||||
builder.addFilter(FieldFilters.eq("sc.aid",studyCourseQuery.getAid()));
|
||||
builder.addFilter(FieldFilters.in("sc.courseId",studyCourseQuery.getIds()));
|
||||
builder.addOrder(OrderCondition.desc("sc.lastTime"));
|
||||
builder.addFields("sc");
|
||||
builder.addFields("c.score");
|
||||
builder.addFields("c.coverImg");
|
||||
// QueryBuilder builder = QueryBuilder.from(StudyCourse.class.getSimpleName()+" sc,"+ Course.class.getSimpleName()+" c");
|
||||
// builder.addFilter(FieldFilters.eqField("sc.courseId","c.id"));
|
||||
//// builder.addFilter(FieldFilters.eq("c.enabled",true));
|
||||
//// builder.addFilter(FieldFilters.eq("c.deleted",false));
|
||||
// builder.addFilter(FieldFilters.eq("sc.aid",studyCourseQuery.getAid()));
|
||||
// builder.addFilter(FieldFilters.in("sc.courseId",studyCourseQuery.getIds()));
|
||||
// builder.addOrder(OrderCondition.desc("sc.lastTime"));
|
||||
// builder.addFields("sc");
|
||||
// builder.addFields("c.score");
|
||||
// builder.addFields("c.coverImg");
|
||||
|
||||
StringBuilder str=new StringBuilder();
|
||||
if(!studyCourseQuery.getIds().isEmpty()){
|
||||
for (String id:studyCourseQuery.getIds()){
|
||||
str.append("'");
|
||||
str.append(id);
|
||||
str.append("'");
|
||||
str.append(",");
|
||||
|
||||
}
|
||||
}
|
||||
if(StringUtils.isNotBlank(str)){
|
||||
str.deleteCharAt(str.length()-1);
|
||||
}
|
||||
|
||||
String sql="select sc.id,sc.course_id,sc.course_type,sc.course_name,sc.aid,sc.aname,sc.source,sc.add_time,sc.start_time,sc.finish_time,sc.progress," +
|
||||
"sc.total_duration,sc.last_score,sc.status,sc.status_time,sc.last_time," +
|
||||
"c.score,c.cover_img from boe_course as c left join boe_study_course as sc on sc.course_id=c.id where " +
|
||||
"sc.aid='"+studyCourseQuery.getAid()+"' and sc.course_id in ("+str+") order by sc.last_time";
|
||||
|
||||
|
||||
//List<StudyCourse> list = studyCourseDao.findList(builder.builder());
|
||||
List<StudyCourse> rs=new ArrayList<StudyCourse>();
|
||||
Set<String> checkSet=new HashSet<String>();
|
||||
try {
|
||||
List<Object[]> list= studyCourseDao.findListFields(builder.builder());
|
||||
// List<Object[]> list= studyCourseDao.findListFields(builder.builder());
|
||||
List<Object[]> list = studyCourseDao.sqlFindList(sql);
|
||||
for(Object[] objs:list) {
|
||||
StudyCourse sc=(StudyCourse)objs[0];
|
||||
if(!checkSet.contains(sc.getCourseId())) {
|
||||
Float score=(Float)objs[1];
|
||||
String img=(String)objs[2];
|
||||
sc.setLastScore(score);
|
||||
sc.setCourseImage(img);
|
||||
rs.add(sc);
|
||||
checkSet.add(sc.getCourseId());
|
||||
// System.out.println(objs[0].getClass());
|
||||
// StudyCourse sc=(StudyCourse)objs[0];
|
||||
StudyCourse studyCourse = new StudyCourse();
|
||||
|
||||
studyCourse.setId(String.valueOf((BigInteger) objs[0]));
|
||||
studyCourse.setCourseId((String) objs[1]);
|
||||
studyCourse.setCourseType((Integer) objs[2]);
|
||||
studyCourse.setCourseName((String) objs[3]);
|
||||
studyCourse.setAid((String) objs[4]);
|
||||
studyCourse.setAname((String) objs[5]);
|
||||
studyCourse.setSource((Integer) objs[6]);
|
||||
if(objs[7]!=null) {
|
||||
Timestamp timestamp = (Timestamp) objs[7];
|
||||
|
||||
studyCourse.setAddTime(timestamp.toLocalDateTime());
|
||||
}
|
||||
if(objs[8]!=null){
|
||||
Timestamp timestamp1 = (Timestamp) objs[8];
|
||||
studyCourse.setStartTime(timestamp1.toLocalDateTime());
|
||||
}
|
||||
if(objs[9]!=null){
|
||||
Timestamp timestamp2 = (Timestamp) objs[9];
|
||||
studyCourse.setFinishTime(timestamp2.toLocalDateTime());
|
||||
}
|
||||
|
||||
studyCourse.setProgress((Float) objs[10]);
|
||||
studyCourse.setTotalDuration((Integer) objs[11]);
|
||||
studyCourse.setLastScore((Float) objs[12]);
|
||||
studyCourse.setStatus((Integer) objs[13]);
|
||||
if(objs[14]!=null){
|
||||
Timestamp timestamp3 = (Timestamp) objs[14];
|
||||
studyCourse.setStatusTime(timestamp3.toLocalDateTime());
|
||||
}
|
||||
if(objs[15]!=null){
|
||||
Timestamp timestamp4 = (Timestamp) objs[15];
|
||||
studyCourse.setLastTime(timestamp4.toLocalDateTime());
|
||||
}
|
||||
|
||||
if(!checkSet.contains(studyCourse.getCourseId())) {
|
||||
Float score=(Float)objs[16];
|
||||
String img=(String)objs[17];
|
||||
studyCourse.setLastScore(score);
|
||||
studyCourse.setCourseImage(img);
|
||||
rs.add(studyCourse);
|
||||
checkSet.add(studyCourse.getCourseId());
|
||||
}
|
||||
}
|
||||
return rs;
|
||||
}catch(Exception e){
|
||||
e.printStackTrace();
|
||||
log.error("",e);
|
||||
}
|
||||
return rs;
|
||||
@@ -317,30 +379,101 @@ public class StudyCourseServiceImpl implements IStudyCourseService{
|
||||
@Override
|
||||
public List<StudyCourse> followids(StudyCourseQuery studyCourseQuery) {
|
||||
//当前先这样查询,以后要修改,只查询需要的字段,另外 ,需要按课程分组,不然一门课程会查出很多记录出来
|
||||
QueryBuilder builder = QueryBuilder.from(StudyCourse.class.getSimpleName()+" sc,"+ Course.class.getSimpleName()+" c");
|
||||
builder.addFilter(FieldFilters.eqField("sc.courseId","c.id"));
|
||||
// builder.addFilter(FieldFilters.eq("c.enabled",true));
|
||||
// builder.addFilter(FieldFilters.eq("c.deleted",false));
|
||||
builder.addFilter(FieldFilters.in("sc.aid",studyCourseQuery.getAids()));
|
||||
builder.addFilter(FieldFilters.in("sc.courseId",studyCourseQuery.getIds()));
|
||||
builder.addOrder(OrderCondition.desc("sc.lastTime"));
|
||||
builder.addFields("sc");
|
||||
builder.addFields("c.score");
|
||||
builder.addFields("c.coverImg");
|
||||
// QueryBuilder builder = QueryBuilder.from(StudyCourse.class.getSimpleName()+" sc,"+ Course.class.getSimpleName()+" c");
|
||||
// builder.addFilter(FieldFilters.eqField("sc.courseId","c.id"));
|
||||
//// builder.addFilter(FieldFilters.eq("c.enabled",true));
|
||||
//// builder.addFilter(FieldFilters.eq("c.deleted",false));
|
||||
// builder.addFilter(FieldFilters.in("sc.aid",studyCourseQuery.getAids()));
|
||||
// builder.addFilter(FieldFilters.in("sc.courseId",studyCourseQuery.getIds()));
|
||||
// builder.addOrder(OrderCondition.desc("sc.lastTime"));
|
||||
// builder.addFields("sc");
|
||||
// builder.addFields("c.score");
|
||||
// builder.addFields("c.coverImg");
|
||||
//List<StudyCourse> list = studyCourseDao.findList(builder.builder());
|
||||
StringBuilder str=new StringBuilder();
|
||||
if(!studyCourseQuery.getIds().isEmpty()){
|
||||
for (String id:studyCourseQuery.getIds()){
|
||||
str.append("'");
|
||||
str.append(id);
|
||||
str.append("'");
|
||||
str.append(",");
|
||||
|
||||
}
|
||||
}
|
||||
if(StringUtils.isNotBlank(str)){
|
||||
str.deleteCharAt(str.length()-1);
|
||||
}
|
||||
|
||||
StringBuilder str1=new StringBuilder();
|
||||
if(!studyCourseQuery.getAids().isEmpty()){
|
||||
for (String id:studyCourseQuery.getIds()){
|
||||
str1.append("'");
|
||||
str1.append(id);
|
||||
str1.append("'");
|
||||
str1.append(",");
|
||||
|
||||
}
|
||||
}
|
||||
if(StringUtils.isNotBlank(str)){
|
||||
str1.deleteCharAt(str1.length()-1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
String sql="select sc.id,sc.course_id,sc.course_type,sc.course_name,sc.aid,sc.aname,sc.source,sc.add_time,sc.start_time,sc.finish_time,sc.progress," +
|
||||
"sc.total_duration,sc.last_score,sc.status,sc.status_time,sc.last_time," +
|
||||
"c.score,c.cover_img from boe_course as c left join boe_study_course as sc on sc.course_id=c.id where " +
|
||||
"sc.aid in("+str1+") and sc.course_id in ("+str+") order by sc.last_time";
|
||||
|
||||
List<StudyCourse> rs=new ArrayList<StudyCourse>();
|
||||
Set<String> checkSet=new HashSet<String>();
|
||||
try {
|
||||
List<Object[]> list= studyCourseDao.findListFields(builder.builder());
|
||||
// List<Object[]> list= studyCourseDao.findListFields(builder.builder());
|
||||
List<Object[]> list = studyCourseDao.sqlFindList(sql);
|
||||
for(Object[] objs:list) {
|
||||
StudyCourse sc=(StudyCourse)objs[0];
|
||||
if(!checkSet.contains(sc.getCourseId())) {
|
||||
Float score=(Float)objs[1];
|
||||
String img=(String)objs[2];
|
||||
sc.setLastScore(score);
|
||||
sc.setCourseImage(img);
|
||||
rs.add(sc);
|
||||
checkSet.add(sc.getCourseId());
|
||||
// StudyCourse sc=(StudyCourse)objs[0];
|
||||
StudyCourse studyCourse = new StudyCourse();
|
||||
|
||||
studyCourse.setId(String.valueOf((BigInteger) objs[0]));
|
||||
studyCourse.setCourseId((String) objs[1]);
|
||||
studyCourse.setCourseType((Integer) objs[2]);
|
||||
studyCourse.setCourseName((String) objs[3]);
|
||||
studyCourse.setAid((String) objs[4]);
|
||||
studyCourse.setAname((String) objs[5]);
|
||||
studyCourse.setSource((Integer) objs[6]);
|
||||
if(objs[7]!=null) {
|
||||
Timestamp timestamp = (Timestamp) objs[7];
|
||||
|
||||
studyCourse.setAddTime(timestamp.toLocalDateTime());
|
||||
}
|
||||
if(objs[8]!=null){
|
||||
Timestamp timestamp1 = (Timestamp) objs[8];
|
||||
studyCourse.setStartTime(timestamp1.toLocalDateTime());
|
||||
}
|
||||
if(objs[9]!=null){
|
||||
Timestamp timestamp2 = (Timestamp) objs[9];
|
||||
studyCourse.setFinishTime(timestamp2.toLocalDateTime());
|
||||
}
|
||||
|
||||
studyCourse.setProgress((Float) objs[10]);
|
||||
studyCourse.setTotalDuration((Integer) objs[11]);
|
||||
studyCourse.setLastScore((Float) objs[12]);
|
||||
studyCourse.setStatus((Integer) objs[13]);
|
||||
if(objs[14]!=null){
|
||||
Timestamp timestamp3 = (Timestamp) objs[14];
|
||||
studyCourse.setStatusTime(timestamp3.toLocalDateTime());
|
||||
}
|
||||
if(objs[15]!=null){
|
||||
Timestamp timestamp4 = (Timestamp) objs[15];
|
||||
studyCourse.setLastTime(timestamp4.toLocalDateTime());
|
||||
}
|
||||
if(!checkSet.contains(studyCourse.getCourseId())) {
|
||||
Float score=(Float)objs[16];
|
||||
String img=(String)objs[17];
|
||||
studyCourse.setLastScore(score);
|
||||
studyCourse.setCourseImage(img);
|
||||
rs.add(studyCourse);
|
||||
checkSet.add(studyCourse.getCourseId());
|
||||
}
|
||||
}
|
||||
return rs;
|
||||
|
||||
@@ -12,6 +12,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.xboe.core.SysConstant;
|
||||
import com.xboe.core.api.TokenProxy;
|
||||
import com.xboe.core.utils.OkHttpUtil;
|
||||
import com.xboe.standard.BaseConstant;
|
||||
import com.xboe.stat.IEventDataSender;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -54,10 +55,13 @@ public class EventDataSender implements IEventDataSender{
|
||||
try {
|
||||
ObjectMapper mapper=new ObjectMapper();
|
||||
String json =mapper.writeValueAsString(params);
|
||||
String[] headers=new String[] {"token",token};
|
||||
//String[] headers=new String[] {"token",token};
|
||||
String[] headers=new String[] {BaseConstant.HTTP_ACCESS_TOKEN,token};
|
||||
|
||||
String responseStr = okHttpUtil.doPostJson(url, json,headers);
|
||||
if(responseStr.indexOf("\"status\":200")==-1) {
|
||||
log.error("发送事件失败:"+responseStr);
|
||||
log.info("【发送的token】"+headers[0]+": "+headers[1]);
|
||||
}
|
||||
}catch(Exception e) {
|
||||
log.error("发送事件错误",e);
|
||||
|
||||
@@ -7,10 +7,15 @@ import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import com.xboe.system.user.vo.UserAccountVo;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import com.xboe.account.entity.Account;
|
||||
import com.xboe.account.service.IAccountService;
|
||||
@@ -29,7 +34,6 @@ import com.xboe.system.user.service.IUserService;
|
||||
import com.xboe.system.user.vo.UserSimpleVo;
|
||||
import com.xboe.system.user.vo.UserVo;
|
||||
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
/**
|
||||
@@ -387,6 +391,28 @@ public class UserApi extends ApiBaseController {
|
||||
return success(map);
|
||||
}
|
||||
|
||||
/**
|
||||
* 个人主页开或关
|
||||
* */
|
||||
@PostMapping("/show-home")
|
||||
public JsonResponse<Boolean> showHome(String id,Boolean showHome){
|
||||
if(StringUtil.isBlank(id)){
|
||||
id=this.getCurrent().getAccountId();
|
||||
}
|
||||
if(StringUtil.isBlank(id)){
|
||||
return badRequest("参数异常");
|
||||
}
|
||||
if(showHome==null){
|
||||
return badRequest("请选择对应操作");
|
||||
}
|
||||
try {
|
||||
service.updateShowHome(id, showHome);
|
||||
return success(true);
|
||||
} catch (Exception e){
|
||||
return error("操作失败",e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -242,6 +242,12 @@ public class User extends IdEntity {
|
||||
@Column(name = "sign")
|
||||
private String sign;
|
||||
|
||||
/**
|
||||
* 开关
|
||||
* */
|
||||
@Column(name = "show_home")
|
||||
private Boolean showHome;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -146,4 +146,10 @@ public interface IUserService {
|
||||
* 查少量字段
|
||||
* */
|
||||
Map<String,Object> findByFiled(String id);
|
||||
|
||||
/**
|
||||
* 开关
|
||||
* */
|
||||
void updateShowHome(String id,Boolean showHome);
|
||||
|
||||
}
|
||||
|
||||
@@ -333,6 +333,11 @@ public class UserServiceImpl implements IUserService {
|
||||
return map;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateShowHome(String id, Boolean showHome) {
|
||||
dao.updateFieldById(id,"showHome",showHome);
|
||||
}
|
||||
|
||||
@Override
|
||||
public User getByUserNo(String userNo) {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user