mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-12 04:16:51 +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 java.time.LocalDateTime;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
import javax.transaction.Transactional;
|
import javax.transaction.Transactional;
|
||||||
|
|
||||||
import com.boe.feign.api.serverall.entity.UserData;
|
import com.boe.feign.api.serverall.entity.UserData;
|
||||||
|
import com.xboe.constants.CacheName;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
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.Recover;
|
||||||
import org.springframework.retry.annotation.Retryable;
|
import org.springframework.retry.annotation.Retryable;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -39,6 +44,9 @@ public class DataUserSyncServiceImpl implements IDataUserSyncService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
TeacherDao teacherDao;
|
TeacherDao teacherDao;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private CacheManager cacheManager;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
@@ -59,6 +67,8 @@ public class DataUserSyncServiceImpl implements IDataUserSyncService {
|
|||||||
a.setDeleted(user.getDeleted());
|
a.setDeleted(user.getDeleted());
|
||||||
}
|
}
|
||||||
a.setLoginName(user.getCode());
|
a.setLoginName(user.getCode());
|
||||||
|
a.setMobile(user.getMobile());
|
||||||
|
a.setEmail(user.getEmail());
|
||||||
log.info("更新账号code");
|
log.info("更新账号code");
|
||||||
accountDao.update(a);
|
accountDao.update(a);
|
||||||
} else {
|
} else {
|
||||||
@@ -71,14 +81,18 @@ public class DataUserSyncServiceImpl implements IDataUserSyncService {
|
|||||||
a.setRegTime(LocalDateTime.now());
|
a.setRegTime(LocalDateTime.now());
|
||||||
a.setSysId(user.getKid());
|
a.setSysId(user.getKid());
|
||||||
a.setStatus(1);
|
a.setStatus(1);
|
||||||
|
a.setMobile(user.getMobile());
|
||||||
|
a.setEmail(user.getEmail());
|
||||||
accountDao.save(a);
|
accountDao.save(a);
|
||||||
log.info("账号不存在,新添加账号【" + user.getId() + "】");
|
log.info("账号不存在,新添加账号【" + user.getId() + "】");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (u != null) {
|
if (u != null) {
|
||||||
//更新部分用户字段
|
//更新部分用户字段
|
||||||
u.setDepartId(user.getDepartId());
|
u.setDepartId(user.getDepartId());
|
||||||
u.setDepartName(user.getDepartName());
|
u.setDepartName(user.getDepartName());
|
||||||
u.setName(user.getName());
|
u.setName(user.getName());
|
||||||
|
u.setMobileNo(user.getMobile());
|
||||||
//2022-12-8 去掉用户类型的更新,因为返回的数据都是学员,
|
//2022-12-8 去掉用户类型的更新,因为返回的数据都是学员,
|
||||||
//u.setUserType(user.getUserType());
|
//u.setUserType(user.getUserType());
|
||||||
if (user.getLearningDuration() > 0) { //不大于0才会更新
|
if (user.getLearningDuration() > 0) { //不大于0才会更新
|
||||||
@@ -106,9 +120,17 @@ public class DataUserSyncServiceImpl implements IDataUserSyncService {
|
|||||||
} else {
|
} else {
|
||||||
u.setShowHome(true);//band16以下,及其它无bandLevel的信息
|
u.setShowHome(true);//band16以下,及其它无bandLevel的信息
|
||||||
}
|
}
|
||||||
|
u.setMobileNo(user.getMobile());
|
||||||
userDao.save(u);
|
userDao.save(u);
|
||||||
log.info("添加新用户");
|
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())) {
|
if (StringUtils.isNotBlank(user.getDepartId())) {
|
||||||
org = orgDao.get(user.getDepartId());
|
org = orgDao.get(user.getDepartId());
|
||||||
|
|||||||
@@ -341,8 +341,5 @@ public interface ICourseService {
|
|||||||
List<Course> mobiledelList(Integer num,CourseQueryDto courseQueryDto);
|
List<Course> mobiledelList(Integer num,CourseQueryDto courseQueryDto);
|
||||||
|
|
||||||
|
|
||||||
|
void deletedStudyResourceBatchByCourseIdAndType(String courseId,Integer courseType);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.xboe.module.course.service.impl;
|
package com.xboe.module.course.service.impl;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.format.DateTimeFormatter;
|
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.dao.StudyCourseDao;
|
||||||
import com.xboe.school.study.entity.StudyCourse;
|
import com.xboe.school.study.entity.StudyCourse;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
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.hibernate.mapping.IdGenerator;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||||
@@ -115,6 +121,9 @@ public class CourseServiceImpl implements ICourseService {
|
|||||||
@Autowired(required = false)
|
@Autowired(required = false)
|
||||||
private IEventDataSender eventSender;
|
private IEventDataSender eventSender;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
RestHighLevelClient restHighLevelClient;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -448,6 +457,7 @@ public class CourseServiceImpl implements ICourseService {
|
|||||||
List<Course> paginate = paginate(listByFilters2, pageIndex, pageSize);
|
List<Course> paginate = paginate(listByFilters2, pageIndex, pageSize);
|
||||||
PageList<Course> rs = new PageList<>();
|
PageList<Course> rs = new PageList<>();
|
||||||
rs.setCount(listByFilters2.size());
|
rs.setCount(listByFilters2.size());
|
||||||
|
rs.setPageSize(pageSize);
|
||||||
rs.setList(paginate);
|
rs.setList(paginate);
|
||||||
return rs;
|
return rs;
|
||||||
}
|
}
|
||||||
@@ -853,12 +863,14 @@ public class CourseServiceImpl implements ICourseService {
|
|||||||
log.error("未配置事件消息发送的实现");
|
log.error("未配置事件消息发送的实现");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 删除ES数据
|
||||||
|
deletedStudyResourceBatchByCourseIdAndType(id,c.getType());
|
||||||
} else {
|
} else {
|
||||||
//彻底删除,课件设置为无课程状态
|
//彻底删除,课件设置为无课程状态
|
||||||
courseDao.setDeleted(id);
|
courseDao.setDeleted(id);
|
||||||
}
|
}
|
||||||
//记录删除日志信息
|
//记录删除日志信息
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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);
|
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;
|
package com.xboe.school.study.api;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.time.ZoneOffset;
|
import java.time.ZoneOffset;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
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.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
@@ -51,9 +42,6 @@ public class StudyCourseESApi extends ApiBaseController{
|
|||||||
@Autowired
|
@Autowired
|
||||||
IStudyCourseService service;
|
IStudyCourseService service;
|
||||||
|
|
||||||
@Resource
|
|
||||||
private CourseDao courseDao;
|
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private PhpOnlineStudyRecordScheduledTasks phpOnlineStudyRecordScheduledTasks;
|
private PhpOnlineStudyRecordScheduledTasks phpOnlineStudyRecordScheduledTasks;
|
||||||
|
|
||||||
@@ -66,58 +54,6 @@ public class StudyCourseESApi extends ApiBaseController{
|
|||||||
try {
|
try {
|
||||||
dto.setAccountId(getCurrent().getAccountId());
|
dto.setAccountId(getCurrent().getAccountId());
|
||||||
PageList<CourseStudyDto> rs=search.search(page.getStartRow(),page.getPageSize(), dto);
|
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);
|
return success(rs);
|
||||||
}catch(Exception e) {
|
}catch(Exception e) {
|
||||||
log.error("查询报名学习ES失败",e);
|
log.error("查询报名学习ES失败",e);
|
||||||
|
|||||||
Reference in New Issue
Block a user