mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-09 19:06:49 +08:00
Merge branch 'master' of codeup.aliyun.com:6265f483e4166464dc2f9c14/boeu/baseservers
This commit is contained in:
@@ -129,7 +129,26 @@ public class Article extends BaseEntity {
|
||||
this.shares = shares;
|
||||
this.favorites = favorites;
|
||||
}
|
||||
|
||||
public Article(String id,String title,String coverurl,String summary,String sysCreateBy,String sysCreateAid,LocalDateTime sysCreateTime,
|
||||
LocalDateTime publishTime,Integer views, Integer comments, Integer praises, Integer shares,
|
||||
Integer favorites,String source,Boolean enabled,Boolean deleted){
|
||||
this.setId(id);
|
||||
this.setTitle(title);
|
||||
this.summary=summary;
|
||||
this.coverurl=coverurl;
|
||||
this.publishTime=publishTime;
|
||||
this.views = views;
|
||||
this.comments = comments;
|
||||
this.praises = praises;
|
||||
this.shares = shares;
|
||||
this.favorites = favorites;
|
||||
super.setSysCreateBy(sysCreateBy);
|
||||
super.setSysCreateAid(sysCreateAid);
|
||||
super.setSysCreateTime(sysCreateTime);
|
||||
this.source = source;
|
||||
this.enabled = enabled;
|
||||
super.setDeleted(deleted);
|
||||
}
|
||||
|
||||
public Article(String id,String title,String summary,String coverurl,String author,String authorInfo,LocalDateTime publishTime) {
|
||||
this.setId(id);
|
||||
|
||||
@@ -24,6 +24,11 @@ public interface IArticleService {
|
||||
* */
|
||||
List<Article> articelList(Integer type);
|
||||
|
||||
/**
|
||||
* 移动端首页 必须都是带图的
|
||||
* */
|
||||
List<Article> mobileList(Integer type);
|
||||
|
||||
/**
|
||||
* 自定义条件查询
|
||||
* @param num
|
||||
|
||||
@@ -70,7 +70,7 @@ public class ArticleServiceImpl implements IArticleService{
|
||||
public List<Article> articelList(Integer type) {
|
||||
//先查出带有图片的
|
||||
List<Article> articles = new ArrayList<>();
|
||||
Article article = dao.findOne(FieldFilters.eq("status", Article.STATUS_PUBLISH), FieldFilters.eq("enabled", true), FieldFilters.eq("enabled", true),
|
||||
Article article = dao.findOne(FieldFilters.eq("status", Article.STATUS_PUBLISH), FieldFilters.eq("deleted", false), FieldFilters.eq("enabled", true),
|
||||
FieldFilters.isNotNull("coverurl"), FieldFilters.ge("coverurl", ""));
|
||||
articles.add(article);
|
||||
|
||||
@@ -82,7 +82,7 @@ public class ArticleServiceImpl implements IArticleService{
|
||||
}
|
||||
builder.addFilter(FieldFilters.eq("status", Article.STATUS_PUBLISH));
|
||||
builder.addFilter(FieldFilters.eq("enabled",true));
|
||||
builder.addFilter(FieldFilters.eq("enabled",true));
|
||||
builder.addFilter(FieldFilters.eq("deleted",false));
|
||||
builder.setPageSize(3);
|
||||
List<Article> list = dao.findList(builder.builder());
|
||||
articles.addAll(list);
|
||||
@@ -90,6 +90,26 @@ public class ArticleServiceImpl implements IArticleService{
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Article> mobileList(Integer type) {
|
||||
QueryBuilder builder = QueryBuilder.from(Article.class);
|
||||
if(type==2){
|
||||
builder.addOrder(OrderCondition.desc("views"));
|
||||
}else{
|
||||
builder.addOrder(OrderCondition.desc("sysCreateTime"));
|
||||
}
|
||||
builder.addFilter(FieldFilters.eq("status", Article.STATUS_PUBLISH));
|
||||
builder.addFilter(FieldFilters.eq("enabled",true));
|
||||
builder.addFilter(FieldFilters.eq("deleted",false));
|
||||
builder.addFilter(FieldFilters.isNotNull("coverurl"));
|
||||
builder.addFilter(FieldFilters.ge("coverurl", ""));
|
||||
|
||||
builder.setPageSize(4);
|
||||
builder.addFields("new Article(id,coverUrl,title,views,comments,praises,shares,favorites)");
|
||||
List<Article> list = dao.findList(builder.builder());
|
||||
return list;
|
||||
}
|
||||
|
||||
//当前先实现,后续优化
|
||||
@Override
|
||||
public PageList<Article> query(Integer pageIndex, Integer pageSize,List<IFieldFilter> filters, OrderCondition order) {
|
||||
@@ -331,7 +351,10 @@ public class ArticleServiceImpl implements IArticleService{
|
||||
|
||||
@Override
|
||||
public List<Article> ids(List<String> ids) {
|
||||
List<Article> list = dao.findList(FieldFilters.in("id", ids));
|
||||
QueryBuilder builder = QueryBuilder.from(Article.class);
|
||||
builder.addFilter(FieldFilters.in("id", ids));
|
||||
builder.addFields("new Article(id,title,coverurl,summary,sysCreateBy,sysCreateAid,sysCreateTime,publishTime,views,comments,praises,shares,favorites,source,enabled,deleted)");
|
||||
List<Article> list = dao.findList(builder.builder());
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ import javax.annotation.Resource;
|
||||
|
||||
import com.xboe.core.orm.FieldFilters;
|
||||
import com.xboe.module.boecase.dao.CasesMajorTypeDao;
|
||||
import com.xboe.module.boecase.dto.*;
|
||||
import com.xboe.module.boecase.entity.CasesMajorType;
|
||||
import com.xboe.module.dict.entity.DictItem;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
@@ -26,10 +27,6 @@ import com.xboe.core.api.ApiBaseController;
|
||||
import com.xboe.core.cache.IXaskCache;
|
||||
import com.xboe.core.cache.XaskCacheProvider;
|
||||
import com.xboe.core.log.AutoLog;
|
||||
import com.xboe.module.boecase.dto.CaseDto;
|
||||
import com.xboe.module.boecase.dto.CaseRankingDto;
|
||||
import com.xboe.module.boecase.dto.CaseVo;
|
||||
import com.xboe.module.boecase.dto.UsernameDto;
|
||||
import com.xboe.module.boecase.entity.Cases;
|
||||
import com.xboe.module.boecase.service.ICasesService;
|
||||
|
||||
@@ -89,6 +86,15 @@ public class CasesApi extends ApiBaseController {
|
||||
return success(casesPageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 案例分页
|
||||
* */
|
||||
@PostMapping("/pagelist")
|
||||
public JsonResponse<PageList<CasesFiledVo>> pageList(Pagination pager, CaseVo caseVo){
|
||||
PageList<CasesFiledVo> pageList = casesService.queryList(pager.getPageIndex(), pager.getPageSize(), caseVo);
|
||||
return success(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置置顶
|
||||
* */
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.xboe.module.boecase.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class CasesFiledVo {
|
||||
|
||||
private String id;
|
||||
|
||||
private String companyId;
|
||||
|
||||
private String coverUrl;
|
||||
|
||||
private String title;
|
||||
|
||||
private String authorId;
|
||||
|
||||
private String authorName;
|
||||
}
|
||||
@@ -262,4 +262,23 @@ public class Cases extends BaseEntity {
|
||||
super.setId(id);
|
||||
this.title=title;
|
||||
}
|
||||
public Cases(String id,String title,String summary,String coverUrl,String authorId,String authorName,LocalDateTime sysCreateTime,Integer breCommend,Integer views,Integer comments,Integer praises,Integer shares,Integer favorites,Boolean deleted
|
||||
,String sysCreateBy,String sysCreateAid){
|
||||
this.title=title;
|
||||
super.setId(id);
|
||||
this.authorId=authorId;
|
||||
this.authorName=authorName;
|
||||
super.setSysCreateTime(sysCreateTime);
|
||||
super.setSysCreateAid(sysCreateAid);
|
||||
super.setSysCreateBy(sysCreateBy);
|
||||
this.summary=summary;
|
||||
this.coverUrl=coverUrl;
|
||||
this.breCommend=breCommend;
|
||||
this.views=views;
|
||||
this.comments=comments;
|
||||
this.praises=praises;
|
||||
this.shares=shares;
|
||||
this.favorites=favorites;
|
||||
super.setDeleted(deleted);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,10 +3,7 @@ package com.xboe.module.boecase.service;
|
||||
import java.util.List;
|
||||
|
||||
import com.xboe.common.PageList;
|
||||
import com.xboe.module.boecase.dto.CaseDto;
|
||||
import com.xboe.module.boecase.dto.CaseRankingDto;
|
||||
import com.xboe.module.boecase.dto.CaseVo;
|
||||
import com.xboe.module.boecase.dto.UsernameDto;
|
||||
import com.xboe.module.boecase.dto.*;
|
||||
import com.xboe.module.boecase.entity.Cases;
|
||||
import com.xboe.module.dict.entity.DictItem;
|
||||
import com.xboe.school.vo.CasesVo;
|
||||
@@ -21,6 +18,12 @@ public interface ICasesService{
|
||||
* 案例管理列表搜索
|
||||
* */
|
||||
PageList<Cases> managerList(int pageIndex,int pageSize,CaseVo caseVo);
|
||||
|
||||
/**
|
||||
* 案例分页
|
||||
* */
|
||||
PageList<CasesFiledVo> queryList(int pageIndex,int pageSize,CaseVo caseVo);
|
||||
|
||||
/**
|
||||
* 设置置顶
|
||||
* */
|
||||
|
||||
@@ -9,8 +9,7 @@ import javax.transaction.Transactional;
|
||||
|
||||
import com.xboe.common.utils.IDGenerator;
|
||||
import com.xboe.module.boecase.dao.CasesMajorTypeDao;
|
||||
import com.xboe.module.boecase.dto.CaseRankingDto;
|
||||
import com.xboe.module.boecase.dto.CaseVo;
|
||||
import com.xboe.module.boecase.dto.*;
|
||||
import com.xboe.module.boecase.entity.CasesMajorType;
|
||||
import com.xboe.module.dict.dao.SysDictionaryDao;
|
||||
import com.xboe.module.dict.entity.DictItem;
|
||||
@@ -29,8 +28,6 @@ import com.xboe.core.orm.LikeMatchMode;
|
||||
import com.xboe.core.orm.QueryBuilder;
|
||||
import com.xboe.core.orm.UpdateBuilder;
|
||||
import com.xboe.module.boecase.dao.CasesDao;
|
||||
import com.xboe.module.boecase.dto.CaseDto;
|
||||
import com.xboe.module.boecase.dto.UsernameDto;
|
||||
import com.xboe.module.boecase.entity.Cases;
|
||||
import com.xboe.module.boecase.service.ICasesService;
|
||||
|
||||
@@ -170,6 +167,54 @@ public class CasesServiceImpl implements ICasesService {
|
||||
PageList<Cases> page = casesDao.findPage(query.builder());
|
||||
return page;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageList<CasesFiledVo> queryList(int pageIndex, int pageSize, CaseVo caseVo) {
|
||||
PageList<CasesFiledVo> pageList = new PageList<>();
|
||||
pageList.setList(new ArrayList<CasesFiledVo>());
|
||||
QueryBuilder query=QueryBuilder.from(Cases.class);
|
||||
query.addFilter(FieldFilters.eq("deleted",false));
|
||||
if(StringUtils.isNotBlank(caseVo.getKeyWord())){
|
||||
query.addFilter(FieldFilters.like("title", LikeMatchMode.ANYWHERE, caseVo.getKeyWord()));
|
||||
}
|
||||
if(caseVo.getIsTop()!=null) {
|
||||
query.addFilter(FieldFilters.eq("isTop",caseVo.getIsTop()));
|
||||
}
|
||||
OrderCondition order=null;
|
||||
if(StringUtils.isNotBlank(caseVo.getOrderField())) {
|
||||
if(caseVo.getOrderAsc()==null || caseVo.getOrderAsc()) {
|
||||
order=OrderCondition.asc(caseVo.getOrderField());
|
||||
}else {
|
||||
order=OrderCondition.desc(caseVo.getOrderField());
|
||||
}
|
||||
}else {
|
||||
order=OrderCondition.desc("sysCreateTime");
|
||||
}
|
||||
query.addOrder(order);
|
||||
query.setPageIndex(pageIndex);
|
||||
query.setPageSize(pageSize);
|
||||
query.addFields("id","title","coverUrl","authorId","authorName","companyId");
|
||||
try {
|
||||
PageList<Object[]> pageFields = casesDao.findPageFields(query.builder());
|
||||
for (Object[] o:pageFields.getList()) {
|
||||
CasesFiledVo casesFiledVo = new CasesFiledVo();
|
||||
casesFiledVo.setId((String) o[0]);
|
||||
casesFiledVo.setTitle((String) o[1]);
|
||||
casesFiledVo.setCoverUrl((String) o[2]);
|
||||
casesFiledVo.setAuthorId((String) o[3]);
|
||||
casesFiledVo.setAuthorName((String) o[4]);
|
||||
casesFiledVo.setCompanyId((String) o[5]);
|
||||
pageList.getList().add(casesFiledVo);
|
||||
}
|
||||
pageList.setPageSize(pageSize);
|
||||
pageList.setCount(pageFields.getCount());
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return pageList;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置置顶
|
||||
* */
|
||||
@@ -407,7 +452,10 @@ public class CasesServiceImpl implements ICasesService {
|
||||
|
||||
@Override
|
||||
public List<Cases> ids(List<String> ids) {
|
||||
List<Cases> cases = casesDao.findList(FieldFilters.in("id", ids));
|
||||
QueryBuilder builder = QueryBuilder.from(Cases.class);
|
||||
builder.addFilter(FieldFilters.in("id", ids));
|
||||
builder.addFields("new Cases(id,title,summary,coverUrl,authorId,authorName,sysCreateTime,breCommend,views,comments,praises,shares,favorites,deleted,sysCreateBy,sysCreateAid)");
|
||||
List<Cases> cases = casesDao.findList(builder.builder());
|
||||
return cases;
|
||||
}
|
||||
|
||||
|
||||
@@ -474,7 +474,7 @@ public class CourseManageApi extends ApiBaseController{
|
||||
String email=dto.getAuditUser().getEmail();
|
||||
if(!isLocalDevelopment()) {
|
||||
//只是非开发模式下才可以发送
|
||||
service.sendMail(email,"课程审核提醒", htmlEmail,"数字化学习平台");
|
||||
service.sendMail(email,"《"+dto.getCourse().getName()+"》课程审核提醒", htmlEmail,"数字化学习平台");
|
||||
}else {
|
||||
//service.sendMail("daihaixing@bjxask.com","课程审核提醒", htmlEmail,"数字化学习平台");
|
||||
}
|
||||
@@ -579,7 +579,7 @@ public class CourseManageApi extends ApiBaseController{
|
||||
//邮件发送
|
||||
if(!isLocalDevelopment()) {
|
||||
//只是非高度环境上才会发送
|
||||
service.sendMail(email,"课程审核提醒",htmlEmail,"数字化学习平台");
|
||||
service.sendMail(email,"《"+course.getName()+"》课程审核提醒",htmlEmail,"数字化学习平台");
|
||||
}
|
||||
|
||||
} catch (Exception ex) {
|
||||
|
||||
@@ -69,6 +69,27 @@ public class Course extends BaseEntity {
|
||||
this.isTop=isTop;
|
||||
}
|
||||
|
||||
public Course(String id,Integer type,String name,String coverImg, Float score,Integer studys,Integer comments,Integer shares,Integer praises,Integer favorites
|
||||
,String forUsers,String value,String summary,LocalDateTime publishTime,Boolean isTop,String sysType1,String sysType2,String sysType3) {
|
||||
this.setId(id);
|
||||
this.setType(type);
|
||||
this.setName(name);
|
||||
this.setCoverImg(coverImg);
|
||||
this.setScore(score);
|
||||
this.setComments(comments);
|
||||
this.setStudys(studys);
|
||||
this.setShares(shares);
|
||||
this.setPraises(praises);
|
||||
this.setFavorites(praises);
|
||||
this.forUsers=forUsers;
|
||||
this.value=value;
|
||||
this.summary=summary;
|
||||
this.publishTime=publishTime;
|
||||
this.isTop=isTop;
|
||||
this.sysType1=sysType1;
|
||||
this.sysType2=sysType2;
|
||||
this.sysType3=sysType3;
|
||||
}
|
||||
@Column(name = "kid")
|
||||
private String kid;
|
||||
|
||||
@@ -324,6 +345,12 @@ public class Course extends BaseEntity {
|
||||
@Transient
|
||||
private Integer auditForward;
|
||||
|
||||
@Transient
|
||||
private String teacherId;
|
||||
|
||||
@Transient
|
||||
private String teacher;
|
||||
|
||||
public Course(String id,String name,String summary,String coverImg,String sysCreateAid,String sysCreateBy,Integer type,LocalDateTime publishTime){
|
||||
super.setId(id);
|
||||
this.name=name;
|
||||
|
||||
@@ -116,6 +116,12 @@ public interface ICourseService {
|
||||
List<Course> findSimpleList(int pageIndex,String currentAid,CourseQueryDto dto);
|
||||
|
||||
|
||||
/**
|
||||
* 移动端首页
|
||||
* */
|
||||
List<Course> mobileList(int num,String aid,CourseQueryDto dto);
|
||||
|
||||
|
||||
/**
|
||||
* 添加课程
|
||||
* */
|
||||
|
||||
@@ -375,6 +375,51 @@ public class CourseServiceImpl implements ICourseService {
|
||||
return rs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Course> mobileList(int num, String aid,CourseQueryDto dto) {
|
||||
|
||||
List<IFieldFilter> filters = createFilters(dto);
|
||||
//自动添加过滤已删除
|
||||
filters.add(FieldFilters.eq("deleted",false));
|
||||
filters.add(FieldFilters.eq("enabled",true));
|
||||
//返回的结果
|
||||
|
||||
|
||||
QueryBuilder query=QueryBuilder.from(Course.class).addFilters(filters);
|
||||
|
||||
if(dto.getTopOrder()!=null) {
|
||||
if(dto.getTopOrder()){
|
||||
query.addOrder(OrderCondition.desc("isTop"));
|
||||
query.addOrder(OrderCondition.desc("topTime"));
|
||||
}
|
||||
}
|
||||
OrderCondition oc=null;
|
||||
if(StringUtils.isNotBlank(dto.getOrderField())) {
|
||||
if(dto.getOrderAsc()==null || dto.getOrderAsc()) {
|
||||
oc=OrderCondition.asc(dto.getOrderField());
|
||||
}else {
|
||||
oc=OrderCondition.desc(dto.getOrderField());
|
||||
}
|
||||
}else {
|
||||
//oc=OrderCondition.desc("id");
|
||||
//默认按发布时间排序
|
||||
oc=OrderCondition.desc("publishTime");
|
||||
}
|
||||
query.addOrder(oc);
|
||||
|
||||
List<Course> courses = this.userHobbyList(aid, dto.getOrderField(), dto.getOrderAsc());
|
||||
if(courses!=null && !courses.isEmpty()){
|
||||
num=num-courses.size();
|
||||
//重复的不包括
|
||||
List<String> courseIds = courses.stream().map(Course::getId).collect(Collectors.toList());
|
||||
query.addFilter(FieldFilters.notIn("id",courseIds));
|
||||
}
|
||||
query.setPageSize(num);
|
||||
query.addFields("new Course(id,type,name,coverImg,score,studys,comments,shares,praises,favorites,forUsers,value,summary,publishTime,isTop,sysType1,sysType2,sysType3)");
|
||||
List<Course> courseList = courseDao.findList(query.builder());
|
||||
return courseList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void save(Course course) {
|
||||
course.setComments(0);
|
||||
|
||||
@@ -39,6 +39,12 @@ public class ExamTestApi extends ApiBaseController {
|
||||
return success(examTestPageList);
|
||||
}
|
||||
|
||||
@PostMapping("/pagelist")
|
||||
public JsonResponse<PageList<ExamTest>> pagelist(Pagination pager, String keyWord, ExamTest examTest){
|
||||
PageList<ExamTest> examTestPageList = examTestService.pageList(pager.getPageIndex(), pager.getPageSize(), keyWord, examTest);
|
||||
return success(examTestPageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新建考试
|
||||
* */
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package com.xboe.phase2.dao;
|
||||
|
||||
import com.xboe.core.orm.BaseDao;
|
||||
import com.xboe.phase2.entity.GuestBook;
|
||||
import com.xboe.phase2.entity.UserGuestMsg;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public class GuestBookDao extends BaseDao<GuestBook> {
|
||||
public class UserGuestMsgDao extends BaseDao<UserGuestMsg> {
|
||||
}
|
||||
@@ -9,7 +9,9 @@ import lombok.EqualsAndHashCode;
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.Table;
|
||||
import javax.persistence.Transient;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
@@ -18,8 +20,8 @@ import java.time.LocalDateTime;
|
||||
@Data
|
||||
@Entity
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@Table(name = SysConstant.TABLE_PRE+"guest_book")
|
||||
public class GuestBook extends BaseEntity {
|
||||
@Table(name = SysConstant.TABLE_PRE+"user_guestmsg")
|
||||
public class UserGuestMsg extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID = -1546791463472018751L;
|
||||
|
||||
@@ -36,11 +38,28 @@ public class GuestBook extends BaseEntity {
|
||||
@Column(name = "content",length = 200)
|
||||
private String content;
|
||||
|
||||
/**永远是一级的回复的id*/
|
||||
@Column(name = "top_id",length = 20)
|
||||
private String topId;
|
||||
|
||||
/**
|
||||
* 回复内容
|
||||
* 回复的上级的id,如果是一级回复,
|
||||
*/
|
||||
@Column(name = "parent_id",length = 20)
|
||||
private String parentId;
|
||||
|
||||
/**
|
||||
* 数据的级别,一级,二级回复,用于查询
|
||||
* 如果查询回复,根据topId和level=2 就可以查出一个二级的全部的回复
|
||||
*/
|
||||
@Column(name = "data_level",length = 1)
|
||||
private Integer level;
|
||||
|
||||
/**
|
||||
* 回复数
|
||||
* */
|
||||
@Column(name = "replys",columnDefinition = "text")
|
||||
private String replys;
|
||||
@Column(name = "replys")
|
||||
private Integer replys;
|
||||
|
||||
/**
|
||||
* 回复时间
|
||||
@@ -55,5 +74,10 @@ public class GuestBook extends BaseEntity {
|
||||
@Column(name = "praises")
|
||||
private Integer praises;
|
||||
|
||||
/**
|
||||
* 回复的列表,用于前端显示
|
||||
*/
|
||||
@Transient
|
||||
private List<UserGuestMsg> replyList;
|
||||
|
||||
}
|
||||
@@ -7,10 +7,7 @@ import java.util.stream.Collectors;
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import com.xboe.common.PageList;
|
||||
import com.xboe.common.Pagination;
|
||||
@@ -212,5 +209,58 @@ public class PortalIndexApi extends ApiBaseController{
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 移动端首页课程列表
|
||||
* 返回内容分类
|
||||
* */
|
||||
@PostMapping("/mobile-courseindex")
|
||||
public JsonResponse<List<Course>> mobileCourseIndex(Integer num,CourseQueryDto dto){
|
||||
if(num==null){
|
||||
num=5;
|
||||
}
|
||||
dto.setPublish(true);
|
||||
dto.setYearFilter(true);
|
||||
String aid = this.getCurrent().getAccountId();
|
||||
List<Course> courses = courseService.mobileList(num, aid, dto);
|
||||
//提取教师信息
|
||||
List<String> ids=new ArrayList<String>();
|
||||
|
||||
|
||||
for(Course c :courses) {
|
||||
ids.add(c.getId());
|
||||
}
|
||||
List<CourseTeacher> teachers = courseService.findTeachersByCourseIds(ids);
|
||||
//注意对于多个教师的情况,这里只是设置第一个教师
|
||||
for(Course c :courses) {
|
||||
for(CourseTeacher ct : teachers) {
|
||||
if(ct.getCourseId().equals(c.getId())) {
|
||||
c.setTeacherId(ct.getTeacherId());
|
||||
c.setTeacher(ct.getTeacherName());
|
||||
}
|
||||
}
|
||||
}
|
||||
return success(courses);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 移动端首页文章列表
|
||||
* */
|
||||
@GetMapping("/mobile-article")
|
||||
public JsonResponse<List<Article>> mobileArticle(Integer type){
|
||||
if(type==null || type==0){
|
||||
return badRequest("参数异常");
|
||||
}
|
||||
try {
|
||||
List<Article> articles = articleService.mobileList(type);
|
||||
return success(articles);
|
||||
} catch (Exception e) {
|
||||
return error("查询失败",e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ 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.phase2.dao.UserGuestMsgDao;
|
||||
import com.xboe.standard.enums.BoedxHitsField;
|
||||
import com.xboe.standard.enums.BoedxResourceType;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -16,7 +16,7 @@ import javax.annotation.Resource;
|
||||
public class GuestAddHitsImpl implements ICallbackAddHits {
|
||||
|
||||
@Resource
|
||||
GuestBookDao guestBookDao;
|
||||
UserGuestMsgDao guestBookDao;
|
||||
|
||||
@Override
|
||||
public BoedxResourceType getType() {
|
||||
|
||||
@@ -40,4 +40,6 @@ public class StudyCourseSimple {
|
||||
* 删除标识
|
||||
*/
|
||||
private Boolean deleted;
|
||||
|
||||
private Boolean enabled;
|
||||
}
|
||||
|
||||
@@ -419,7 +419,7 @@ public class StudyCourseServiceImpl implements IStudyCourseService{
|
||||
@Override
|
||||
public List<StudyCourseSimple> followids(StudyCourseQuery studyCourseQuery) {
|
||||
//分两次查询,查询课程,查询学习记录
|
||||
String courseHql="Select id,coverImg,score,name,sysType1,sysType2,sysType3,deleted from "+Course.class.getSimpleName()+" where id in(?1)";
|
||||
String courseHql="Select id,coverImg,score,name,sysType1,sysType2,sysType3,deleted,enabled from "+Course.class.getSimpleName()+" where id in(?1)";
|
||||
String studyHql="Select courseId,addTime,progress,aid from "+StudyCourse.class.getSimpleName()+" where aid in(?1) and courseId in(?2)";
|
||||
|
||||
List<StudyCourseSimple> rs=new ArrayList<>();
|
||||
@@ -445,6 +445,7 @@ public class StudyCourseServiceImpl implements IStudyCourseService{
|
||||
sc.setSysType2(ConvertUtil.toStr(cobjs[5]));
|
||||
sc.setSysType3(ConvertUtil.toStr(cobjs[6]));
|
||||
sc.setDeleted(ConvertUtil.toBool(cobjs[7]));
|
||||
sc.setEnabled(ConvertUtil.toBool(cobjs[8]));
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -475,6 +476,7 @@ public class StudyCourseServiceImpl implements IStudyCourseService{
|
||||
sc.setSysType2(ConvertUtil.toStr(cobjs[5]));
|
||||
sc.setSysType3(ConvertUtil.toStr(cobjs[6]));
|
||||
sc.setDeleted(ConvertUtil.toBool(cobjs[7]));
|
||||
sc.setEnabled(ConvertUtil.toBool(cobjs[8]));
|
||||
rs.add(sc);
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.xboe.system.user.api;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@@ -123,5 +124,38 @@ public class MessageApi extends ApiBaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 移动端
|
||||
* 消息页面,按用户分组返回
|
||||
*
|
||||
* */
|
||||
@GetMapping("/mess-group")
|
||||
public JsonResponse<Map<String,Object>> messGroup(){
|
||||
String aid = this.getCurrent().getAccountId();
|
||||
if(StringUtil.isBlank(aid)){
|
||||
return badRequest("参数异常");
|
||||
}
|
||||
Map<String, Object> map = service.messGroup(aid);
|
||||
return success(map);
|
||||
}
|
||||
|
||||
/**
|
||||
* 移动端
|
||||
* 按用户删除消息
|
||||
* */
|
||||
@GetMapping("/remove")
|
||||
public JsonResponse<Boolean> remove(String aid){
|
||||
if(StringUtil.isBlank(aid)){
|
||||
return badRequest("参数异常");
|
||||
}
|
||||
try {
|
||||
service.remove(aid);
|
||||
return success(true);
|
||||
} catch (Exception e) {
|
||||
return error("参数异常",e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.xboe.system.user.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.xboe.common.PageList;
|
||||
import com.xboe.system.user.entity.Message;
|
||||
@@ -39,5 +40,15 @@ public interface IMessageService {
|
||||
* */
|
||||
void updateIsRead(List<String> ids);
|
||||
|
||||
/**
|
||||
* 移动端针对用户消息列表
|
||||
* */
|
||||
Map<String,Object> messGroup(String aid);
|
||||
|
||||
/**
|
||||
* 根据用户移除消息
|
||||
* */
|
||||
void remove(String aid);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.xboe.system.user.service.impl;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@@ -76,4 +78,24 @@ public class MessageServiceImpl implements IMessageService {
|
||||
.builder());
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> messGroup(String aid) {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
QueryBuilder builder = QueryBuilder.from(Message.class);
|
||||
builder.addFilter(FieldFilters.eq("acceptId",aid));
|
||||
builder.addGroupBy("acceptId");
|
||||
List<Message> list = dao.findList(builder.builder());
|
||||
map.put("mess",list);
|
||||
//在查出未读消息数
|
||||
String sql="select count(1) from boe_message where is_read=false and acceptId=?1";
|
||||
int count = dao.sqlCount(sql, aid);
|
||||
map.put("count",count);
|
||||
return map;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove(String aid) {
|
||||
dao.deleteByFilter(FieldFilters.eq("acceptId",aid));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,15 @@
|
||||
package com.xboe.basic.entity;
|
||||
|
||||
import com.xboe.core.SysConstant;
|
||||
import com.xboe.core.orm.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.Table;
|
||||
|
||||
import com.xboe.core.SysConstant;
|
||||
import com.xboe.core.orm.BaseEntity;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 机构实体
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user