mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-07 01:46:47 +08:00
在线状态时事同步
This commit is contained in:
@@ -5,9 +5,11 @@ import cn.hutool.core.lang.Opt;
|
||||
import cn.hutool.http.HttpRequest;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.xboe.api.vo.*;
|
||||
import com.xboe.module.course.vo.StudyCourseVo;
|
||||
import com.xboe.module.course.vo.TeacherInfoVo;
|
||||
import com.xboe.module.course.vo.TeacherVo;
|
||||
import com.xboe.module.dict.entity.DictDto;
|
||||
import com.xboe.school.study.entity.StudyCourse;
|
||||
import com.xboe.system.user.dao.UserDao;
|
||||
import com.xboe.system.user.entity.User;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -57,6 +59,9 @@ public class ThirdApi {
|
||||
@Value("${userBasic.getTeacherIds}")
|
||||
private String getTeacherIds;
|
||||
|
||||
|
||||
@Value("${coursesuilt.getStudyStatus}")
|
||||
private String getStudyStatus;
|
||||
//获取例外人员的id
|
||||
public List<String> getUserId(){
|
||||
String responseBody = Optional.ofNullable(HttpRequest.get(infarasApiUrl+"?pid=316&type=1").execute() //prod 316
|
||||
@@ -189,6 +194,18 @@ public class ThirdApi {
|
||||
Opt.ofBlankAble(resp).map(t -> JSONUtil.toBean(t, DynamicBean.class).success()).map(DynamicBean::getResult).map(UserDynamicResult::getList).stream().flatMap(Collection::stream).forEach(list::add);
|
||||
}
|
||||
|
||||
public List<StudyCourse>getStudyCourseList(String studyId,String contentId, String token){
|
||||
StudyCourseVo studyCourseVo = new StudyCourseVo();
|
||||
studyCourseVo.setStudyId(studyId);
|
||||
studyCourseVo.setContentId(contentId);
|
||||
String resp = Optional.ofNullable(
|
||||
HttpRequest.post(getStudyStatus).body(JSONUtil.toJsonStr(studyCourseVo)).header("token", token).execute()
|
||||
.body()).orElseThrow(() -> new RuntimeException("token校验失败"));
|
||||
StudyCourseResult studyCourseResult = JSONUtil.toBean(resp, StudyCourseResult.class);
|
||||
log.info("getTeacherIdsResult = " + studyCourseResult);
|
||||
return studyCourseResult.getResult();
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
String token = "eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJjb21wYW55Q29kZSI6IkMwMDEiLCJ1SWQiOiI5NjUzNDIwMjc0OTc2MDcxNjgiLCJjb21wYW55SWQiOiIxMDQxNjczOTc3Mzc5OTQ2NDk2IiwibG9naW5JZCI6IjE2ODg0NDg5MjIwNzY0OTE3NzgiLCJpc3MiOiJodHRwOi8vdS5ib2UuY29tIiwiR2l2ZW5OYW1lIjoiYm9ldSIsImV4cCI6MTY5MTM5OTc2NzU1OCwidXNlck5hbWUiOiLmnY7njonlhrAiLCJ1c2VySWQiOiI2QjA0OUZBRi1DMzE0LTdDQ0YtMEQyOC0wRDIzRjRDNDI1MzEifQ==.8b52dcf4d48a790ed258b9ca2b279bb269f5301722095382fbd352705b51c893";
|
||||
String resp = Optional.ofNullable(HttpRequest.post("https://u-pre.boe.com/statApi/xboe/m/stat/userdynamic/list").body(JSONUtil.toJsonStr(UserdynamicParam.builder().
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.xboe.api.vo;
|
||||
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.xboe.school.study.entity.StudyCourse;
|
||||
import lombok.Data;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Slf4j
|
||||
public class StudyCourseResult {
|
||||
private String error;
|
||||
private String message;
|
||||
private String permissions;
|
||||
private List<StudyCourse> result;
|
||||
private int status;
|
||||
private Date timestamp;
|
||||
|
||||
public StudyCourseResult success() {
|
||||
if (this.status != 200) {
|
||||
log.error("获取学习记录失败----{}", JSONUtil.toJsonPrettyStr(this));
|
||||
return null;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
package com.xboe.module.course.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 课程内容学习记录
|
||||
* */
|
||||
@Data
|
||||
public class StudyCourseVo {
|
||||
|
||||
private Long userId;
|
||||
private String studyId;
|
||||
private Long courseId;
|
||||
private String contentId;
|
||||
|
||||
public Long getUserId() {
|
||||
return userId;
|
||||
}
|
||||
|
||||
public void setUserId(Long userId) {
|
||||
this.userId = userId;
|
||||
}
|
||||
|
||||
public String getStudyId() {
|
||||
return studyId;
|
||||
}
|
||||
|
||||
public void setStudyId(String studyId) {
|
||||
this.studyId = studyId;
|
||||
}
|
||||
|
||||
public Long getCourseId() {
|
||||
return courseId;
|
||||
}
|
||||
|
||||
public void setCourseId(Long courseId) {
|
||||
this.courseId = courseId;
|
||||
}
|
||||
|
||||
public String getContentId() {
|
||||
return contentId;
|
||||
}
|
||||
|
||||
public void setContentId(String contentId) {
|
||||
this.contentId = contentId;
|
||||
}
|
||||
}
|
||||
@@ -7,10 +7,7 @@ import java.util.stream.Collectors;
|
||||
|
||||
import cn.hutool.core.util.ArrayUtil;
|
||||
import com.xboe.api.ThirdApi;
|
||||
import com.xboe.api.vo.AuditList;
|
||||
import com.xboe.api.vo.AuditListParam;
|
||||
import com.xboe.api.vo.UserDynamic;
|
||||
import com.xboe.api.vo.UserdynamicParam;
|
||||
import com.xboe.api.vo.*;
|
||||
import com.xboe.module.course.vo.TeacherVo;
|
||||
import com.xboe.module.usergroup.entity.UserGroupItem;
|
||||
import com.xboe.module.usergroup.service.IUserGroupService;
|
||||
@@ -77,8 +74,10 @@ public class StudyCourseApi extends ApiBaseController{
|
||||
|
||||
@Autowired
|
||||
ICourseService courseService;
|
||||
|
||||
|
||||
|
||||
@Resource
|
||||
private ThirdApi thirdApi;
|
||||
|
||||
@Autowired
|
||||
private ICourseContentService contentService;
|
||||
|
||||
@@ -94,9 +93,6 @@ public class StudyCourseApi extends ApiBaseController{
|
||||
@Autowired
|
||||
private IUserGroupService userGroupService;
|
||||
|
||||
@Resource
|
||||
private ThirdApi thirdApi;
|
||||
|
||||
@Autowired
|
||||
StringRedisTemplate redisTemplate;
|
||||
|
||||
@@ -297,7 +293,7 @@ public class StudyCourseApi extends ApiBaseController{
|
||||
* @return 返回学习条目的id
|
||||
*/
|
||||
@PostMapping("/study")
|
||||
public JsonResponse<String> study(@RequestBody StudyContentDto sci){
|
||||
public JsonResponse<String> study(@RequestBody StudyContentDto sci, HttpServletRequest request){
|
||||
|
||||
if(StringUtils.isBlank(sci.getStudyId())){
|
||||
return error("参数错误");
|
||||
@@ -321,16 +317,23 @@ public class StudyCourseApi extends ApiBaseController{
|
||||
// st.setStudentId(cuser.getAccountId());
|
||||
// st.setStudentName(cuser.getName());
|
||||
// st.setStudyId(sci.getStudyId());
|
||||
|
||||
String token = request.getHeader("Xboe-Access-Token");
|
||||
if (StringUtils.isEmpty(token)) {
|
||||
token = request.getHeader("token");
|
||||
}
|
||||
//检查是否已存在
|
||||
StudyCourseItem item = studyService.checkHas(sci.getStudyId(),sci.getContentId());
|
||||
if(item!=null) {
|
||||
//如果记录存在,但是进度不100无成情况,就更新进度,一期不会有这种情况
|
||||
if(item.getProgress()<100 && sci.getProgress()>item.getProgress()) {
|
||||
studyService.updateProcess(item.getId(),sci.getStudyId(),sci.getCourseId(), sci.getContentTotal(),sci.getProgress());
|
||||
studyService.updateProcess(item.getId(), sci.getStudyId(), sci.getCourseId(), sci.getContentTotal(), sci.getProgress());
|
||||
}
|
||||
List<StudyCourse> allUserList = thirdApi.getStudyCourseList(sci.getStudyId(), sci.getContentId(), token);
|
||||
log.info("在线课学习记录"+allUserList);
|
||||
System.out.println("在线课学习记录"+allUserList);
|
||||
//追加学习时长
|
||||
studyService.appendStudyDuration(sci.getStudyId(),item.getId(),sci.getContentId(),sci.getDuration());
|
||||
|
||||
return success(item.getId());
|
||||
}
|
||||
|
||||
@@ -346,6 +349,9 @@ public class StudyCourseApi extends ApiBaseController{
|
||||
sci.setAname(cuser.getName());
|
||||
|
||||
studyService.saveStudyInfo(sci);
|
||||
List<StudyCourse> allUserList = thirdApi.getStudyCourseList(sci.getStudyId(), sci.getContentId(), token);
|
||||
log.info("在线课学习记录"+allUserList);
|
||||
System.out.println("在线课学习记录"+allUserList);
|
||||
//学习记录成功后处理
|
||||
studyService.appendStudyDuration(sci.getStudyId(),sci.getStudyItemId(),sci.getContentId(),sci.getDuration());
|
||||
return success(sci.getStudyItemId());
|
||||
|
||||
@@ -56,7 +56,8 @@ logging.config=classpath:log/logback-@profileActive@.xml
|
||||
# config.id.generator.datacenter.num=1
|
||||
|
||||
#boe.domain=https://pretest.zcwytd.com
|
||||
boe.domain=https://u.boe.com
|
||||
#boe.domain=https://u.boe.com
|
||||
boe.domain=http://localhost:30001
|
||||
orgTree.orgTreeList=${boe.domain}/userbasic/org/list
|
||||
# ????id????????????
|
||||
orgTree.orgChildTreeList=${boe.domain}/userbasic/org/childOrgs
|
||||
@@ -71,4 +72,5 @@ infrasApi.dict=${boe.domain}/infrasApi/dict/list
|
||||
#获取非报名课id
|
||||
manageApi.stu.offcourse=${boe.domain}/manageApi/stu/offcourse/getOffCourseId
|
||||
#获取离职教师id
|
||||
userBasic.getTeacherIds=${boe.domain}/userbasic/user/getTeacherInfo
|
||||
userBasic.getTeacherIds=${boe.domain}/userbasic/user/getTeacherInfo
|
||||
coursesuilt.getStudyStatus=${boe.domain}/stu/project/completeStatus
|
||||
Reference in New Issue
Block a user