mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-09 02:46:50 +08:00
Compare commits
8 Commits
250321-bug
...
250408-bug
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
47813ea565 | ||
|
|
60d891edcf | ||
|
|
b9f00f2602 | ||
|
|
77884d3e7e | ||
|
|
3a9a8d86af | ||
|
|
3a139925c9 | ||
|
|
fdc0c7959e | ||
|
|
a1352ec813 |
@@ -2,11 +2,16 @@ package com.xboe.data.service.impl;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
import com.boe.feign.api.serverall.entity.UserData;
|
||||
import com.xboe.constants.CacheName;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.cache.Cache;
|
||||
import org.springframework.cache.CacheManager;
|
||||
import org.springframework.cache.annotation.Cacheable;
|
||||
import org.springframework.retry.annotation.Recover;
|
||||
import org.springframework.retry.annotation.Retryable;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -39,6 +44,9 @@ public class DataUserSyncServiceImpl implements IDataUserSyncService {
|
||||
@Autowired
|
||||
TeacherDao teacherDao;
|
||||
|
||||
@Resource
|
||||
private CacheManager cacheManager;
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
@@ -59,6 +67,8 @@ public class DataUserSyncServiceImpl implements IDataUserSyncService {
|
||||
a.setDeleted(user.getDeleted());
|
||||
}
|
||||
a.setLoginName(user.getCode());
|
||||
a.setMobile(user.getMobile());
|
||||
a.setEmail(user.getEmail());
|
||||
log.info("更新账号code");
|
||||
accountDao.update(a);
|
||||
} else {
|
||||
@@ -71,14 +81,18 @@ public class DataUserSyncServiceImpl implements IDataUserSyncService {
|
||||
a.setRegTime(LocalDateTime.now());
|
||||
a.setSysId(user.getKid());
|
||||
a.setStatus(1);
|
||||
a.setMobile(user.getMobile());
|
||||
a.setEmail(user.getEmail());
|
||||
accountDao.save(a);
|
||||
log.info("账号不存在,新添加账号【" + user.getId() + "】");
|
||||
}
|
||||
|
||||
if (u != null) {
|
||||
//更新部分用户字段
|
||||
u.setDepartId(user.getDepartId());
|
||||
u.setDepartName(user.getDepartName());
|
||||
u.setName(user.getName());
|
||||
u.setMobileNo(user.getMobile());
|
||||
//2022-12-8 去掉用户类型的更新,因为返回的数据都是学员,
|
||||
//u.setUserType(user.getUserType());
|
||||
if (user.getLearningDuration() > 0) { //不大于0才会更新
|
||||
@@ -106,9 +120,17 @@ public class DataUserSyncServiceImpl implements IDataUserSyncService {
|
||||
} else {
|
||||
u.setShowHome(true);//band16以下,及其它无bandLevel的信息
|
||||
}
|
||||
u.setMobileNo(user.getMobile());
|
||||
userDao.save(u);
|
||||
log.info("添加新用户");
|
||||
}
|
||||
|
||||
Cache cache = cacheManager.getCache(CacheName.NAME_USER);
|
||||
if(cache != null) {
|
||||
cache.evict(CacheName.KEY_ACCOUNT + user.getId());
|
||||
cache.evict(CacheName.KEY_USER + user.getId());
|
||||
}
|
||||
|
||||
//对机构的判断,不为空时才会处理,为空时不处理
|
||||
if (StringUtils.isNotBlank(user.getDepartId())) {
|
||||
org = orgDao.get(user.getDepartId());
|
||||
|
||||
@@ -341,8 +341,5 @@ public interface ICourseService {
|
||||
List<Course> mobiledelList(Integer num,CourseQueryDto courseQueryDto);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void deletedStudyResourceBatchByCourseIdAndType(String courseId,Integer courseType);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.xboe.module.course.service.impl;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
@@ -19,6 +20,11 @@ import com.xboe.core.orm.*;
|
||||
import com.xboe.school.study.dao.StudyCourseDao;
|
||||
import com.xboe.school.study.entity.StudyCourse;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.elasticsearch.client.RequestOptions;
|
||||
import org.elasticsearch.client.RestHighLevelClient;
|
||||
import org.elasticsearch.index.query.BoolQueryBuilder;
|
||||
import org.elasticsearch.index.query.QueryBuilders;
|
||||
import org.elasticsearch.index.reindex.DeleteByQueryRequest;
|
||||
import org.hibernate.mapping.IdGenerator;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||
@@ -115,6 +121,9 @@ public class CourseServiceImpl implements ICourseService {
|
||||
@Autowired(required = false)
|
||||
private IEventDataSender eventSender;
|
||||
|
||||
@Resource
|
||||
RestHighLevelClient restHighLevelClient;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
@@ -448,6 +457,7 @@ public class CourseServiceImpl implements ICourseService {
|
||||
List<Course> paginate = paginate(listByFilters2, pageIndex, pageSize);
|
||||
PageList<Course> rs = new PageList<>();
|
||||
rs.setCount(listByFilters2.size());
|
||||
rs.setPageSize(pageSize);
|
||||
rs.setList(paginate);
|
||||
return rs;
|
||||
}
|
||||
@@ -853,12 +863,14 @@ public class CourseServiceImpl implements ICourseService {
|
||||
log.error("未配置事件消息发送的实现");
|
||||
}
|
||||
}
|
||||
|
||||
// 删除ES数据
|
||||
deletedStudyResourceBatchByCourseIdAndType(id,c.getType());
|
||||
} else {
|
||||
//彻底删除,课件设置为无课程状态
|
||||
courseDao.setDeleted(id);
|
||||
}
|
||||
//记录删除日志信息
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1978,5 +1990,17 @@ public class CourseServiceImpl implements ICourseService {
|
||||
return courseDao.findListByHql("Select new Course(id,studys,score) from Course where id in(?1)", ids);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void deletedStudyResourceBatchByCourseIdAndType(String courseId, Integer courseType) {
|
||||
DeleteByQueryRequest request = new DeleteByQueryRequest("new_study_resource");
|
||||
BoolQueryBuilder boolQueryBuilder = new BoolQueryBuilder();
|
||||
boolQueryBuilder.must(QueryBuilders.matchQuery("courseId", courseId));
|
||||
boolQueryBuilder.must(QueryBuilders.matchQuery("courseType", courseType));
|
||||
request.setQuery(boolQueryBuilder);
|
||||
try {
|
||||
restHighLevelClient.deleteByQuery(request, RequestOptions.DEFAULT);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,18 +1,9 @@
|
||||
package com.xboe.school.study.api;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.ZoneOffset;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.xboe.core.orm.FieldFilters;
|
||||
import com.xboe.core.orm.QueryBuilder;
|
||||
import com.xboe.module.course.dao.CourseDao;
|
||||
import com.xboe.module.course.dto.RankingDto;
|
||||
import com.xboe.module.course.entity.Course;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
@@ -51,9 +42,6 @@ public class StudyCourseESApi extends ApiBaseController{
|
||||
@Autowired
|
||||
IStudyCourseService service;
|
||||
|
||||
@Resource
|
||||
private CourseDao courseDao;
|
||||
|
||||
@Resource
|
||||
private PhpOnlineStudyRecordScheduledTasks phpOnlineStudyRecordScheduledTasks;
|
||||
|
||||
@@ -66,58 +54,6 @@ public class StudyCourseESApi extends ApiBaseController{
|
||||
try {
|
||||
dto.setAccountId(getCurrent().getAccountId());
|
||||
PageList<CourseStudyDto> rs=search.search(page.getStartRow(),page.getPageSize(), dto);
|
||||
List<CourseStudyDto> list = rs.getList();
|
||||
List<String> emptyIds = new ArrayList<>();
|
||||
log.info("test data gengxin CourseStudyDto list ==> {}", JSON.toJSONString(list));
|
||||
if(CollectionUtil.isNotEmpty(list)){
|
||||
log.info("test data gengxin CourseStudyDto isNotEmpty list ==> {}", JSON.toJSONString(list));
|
||||
//todo 过滤数据
|
||||
for(CourseStudyDto courseStudyDto : list){
|
||||
log.info("test data gengxin CourseStudyDto isNotEmpty item ==> {}", JSON.toJSONString(courseStudyDto));
|
||||
//在线课 录播课
|
||||
if(courseStudyDto.getCourseType() == 20 || courseStudyDto.getCourseType() == 21){
|
||||
if(StringUtils.isBlank(courseStudyDto.getCourseImage())){
|
||||
emptyIds.add(courseStudyDto.getCourseId());
|
||||
}
|
||||
}
|
||||
}
|
||||
//todo 图片空返回结果
|
||||
List<CourseStudyDto> emptyImgCourseStudyDtos = new ArrayList();
|
||||
|
||||
//在线课查询
|
||||
if(CollectionUtil.isNotEmpty(emptyIds)){
|
||||
QueryBuilder query = QueryBuilder.from(Course.class);
|
||||
query.addFields("id","name","type","coverImg");
|
||||
//todo 确认下 是否是这个字段
|
||||
query.addFilter(FieldFilters.in("id",emptyIds));
|
||||
query.addFilter(FieldFilters.eq("enabled",true));
|
||||
query.addFilter(FieldFilters.eq("deleted",false));
|
||||
List<Object[]> listFields = courseDao.findListFields(query.builder());
|
||||
log.info("test data gengxin CourseStudyDto isNotEmpty listFields ==> {}", JSON.toJSONString(listFields));
|
||||
if(CollectionUtil.isNotEmpty(listFields)){
|
||||
for(Object[] objs : listFields) {
|
||||
CourseStudyDto CourseStudyDtoResult=new CourseStudyDto();
|
||||
CourseStudyDtoResult.setId((String) objs[0]);
|
||||
CourseStudyDtoResult.setCourseName((String)objs[1]);
|
||||
CourseStudyDtoResult.setCourseType((Integer) objs[2]);
|
||||
CourseStudyDtoResult.setCourseImage((String)objs[3]);
|
||||
emptyImgCourseStudyDtos.add(CourseStudyDtoResult);
|
||||
}
|
||||
}
|
||||
log.info("test data gengxin CourseStudyDto isNotEmpty emptyImgCourseStudyDtos ==> {}", JSON.toJSONString(emptyImgCourseStudyDtos));
|
||||
|
||||
//todo 进行赋值处理 最外层
|
||||
emptyImgCourseStudyDtos.forEach(item -> {
|
||||
list.forEach(subjectItem -> {
|
||||
if(item.getCourseId().equals(subjectItem.getCourseId())){
|
||||
//赋值
|
||||
subjectItem.setCourseImage(item.getCourseImage());
|
||||
}
|
||||
});
|
||||
});
|
||||
log.info("test data gengxin CourseStudyDto isNotEmpty result ==> {}", JSON.toJSONString(list));
|
||||
}
|
||||
}
|
||||
return success(rs);
|
||||
}catch(Exception e) {
|
||||
log.error("查询报名学习ES失败",e);
|
||||
|
||||
Reference in New Issue
Block a user