添加学生端签到状态查询接口

对接DIC申领实训和学生端签到接口,修改对接出现的bug
DIC申领实训添加关键编码生成接口
解决数字贸易单独登录后返回用户数据studentId和班级ID为为空bug
main
whb
parent a51f327b91
commit 5084d4d299

@ -34,6 +34,7 @@ public class AuthenticationService implements UserDetailsService {
jwtUser.setUserId(user.getUserId());
jwtUser.setName(user.getName());
jwtUser.setRoleId(user.getRoleId());
jwtUser.setStudentId(user.getStudentId());
return jwtUser;
}

@ -16,6 +16,7 @@ import java.util.Objects;
@Setter
public class JwtUser implements UserDetails {
private String username;
private String studentId;
private String password;
private String name;
private String userId;

@ -41,6 +41,11 @@ public class LoginResult {
@ApiModelProperty("用户名")
private String username;
@ApiModelProperty("studentId")
private String studentId;
// user.setUserId(dataObject.getStr("userId"));
// user.setName(dataObject.getStr("name"));
@ -74,6 +79,7 @@ public class LoginResult {
result.setCollegeId(jwtUser.getCollegeId());
result.setUsername(jwtUser.getUsername());
result.setSchoolName(jwtUser.getSchoolName());
result.setStudentId(jwtUser.getStudentId());
return result;
}
}

@ -1,8 +1,14 @@
package com.sztzjy.trade.controller.stu;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.HashUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.crypto.SecureUtil;
import cn.hutool.crypto.digest.DigestUtil;
import com.sztzjy.trade.annotation.AnonymousAccess;
import com.sztzjy.trade.entity.StuAchievementInfo;
import com.sztzjy.trade.entity.StuCodeInfoDTO;
import com.sztzjy.trade.entity.StuTaskPracticeRecord;
import com.sztzjy.trade.entity.dto.StuExpermentSubmitDTO;
import com.sztzjy.trade.service.StuExpermentTrainingService;
@ -20,6 +26,9 @@ import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
/**
@ -122,4 +131,38 @@ public class StuExpermentTrainingController {
}
@ApiOperation("生成关键编码")
@GetMapping("/createInfo")
@AnonymousAccess
public ResultEntity createInfo() {
StuCodeInfoDTO stuCodeInfoDTO = new StuCodeInfoDTO();
Date date = new Date();
String info = "RDCSOOANT."+new SimpleDateFormat("yyyyMMdd").format(date)+RandomUtil.randomNumbers(10);
stuCodeInfoDTO.setDCI(info);
stuCodeInfoDTO.setDciTime(new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss").format(date));
stuCodeInfoDTO.setDciCode(RandomUtil.randomString(68));
stuCodeInfoDTO.setDciHash(DigestUtil.sha256Hex(info));
return new ResultEntity<>(HttpStatus.OK,stuCodeInfoDTO);
}
public static void main(String[] args) {
Date date = new Date();
//new SimpleDateFormat("yyyy年MM月dd日HH::mm::ss").format(date);
System.out.println( );
}
}

@ -112,12 +112,15 @@ public class UserController {
SecurityContextHolder.getContext().setAuthentication(authentication);
jwtUser = (JwtUser) authentication.getPrincipal();
String token = TokenProvider.createToken(jwtUser);
loginResult.setClassId(Convert.toInt(stuUser.getClassId()));
loginResult.setUserId(stuUser.getUserId());
loginResult.setUsername(stuUser.getSchoolId());
loginResult.setUsername(stuUser.getStudentId());
loginResult.setName(stuUser.getName());
loginResult.setRoleId(stuUser.getRoleId());
loginResult.setSchoolName(stuUser.getSchoolName());
loginResult.setSchoolId(Integer.valueOf(stuUser.getSchoolId()));
loginResult.setAccessToken(token);
loginResult.setStudentId(stuUser.getStudentId());
redisUtil.set(itemName+"-token:"+jwtUser.getUserId(),token,3600);
redisUtil.set(itemName+"-userId:"+jwtUser.getUserId(),System.currentTimeMillis(),3600);
@ -130,13 +133,15 @@ public class UserController {
SecurityContextHolder.getContext().setAuthentication(authentication);
jwtUser = (JwtUser) authentication.getPrincipal();
String token = TokenProvider.createToken(jwtUser);
loginResult.setClassId(Convert.toInt(stuUser.getClassId()));
loginResult.setUserId(stuUser.getUserId());
loginResult.setUsername(stuUser.getSchoolId());
loginResult.setName(stuUser.getName());
loginResult.setUsername(stuUser.getStudentId());
loginResult.setRoleId(stuUser.getRoleId());
loginResult.setSchoolId(Integer.valueOf(stuUser.getSchoolId()));
loginResult.setStudentId(stuUser.getStudentId());
loginResult.setAccessToken(token);
loginResult.setSchoolName(stuUser.getSchoolName());
redisUtil.set(itemName+"-token:"+jwtUser.getUserId(),token,3600);
redisUtil.set(itemName+"-userId:"+jwtUser.getUserId(),System.currentTimeMillis(),3600);

@ -40,7 +40,8 @@ public class TaskController {
long currentTime = System.currentTimeMillis(); // 获取当前时间戳
long timeDifference = currentTime - newTime; // 计算时间差
long time = 20 * 60 * 1000;
//long time = 20 * 60 * 1000;
long time = 60 * 60 * 1000;
// 判断时间差是否大于 20 分钟20 分钟 = 20 * 60 * 1000 毫秒)
if (timeDifference > time) {
//大于20分钟未操作 表明用户已经离线 在线时长+20分钟

@ -0,0 +1,28 @@
package com.sztzjy.trade.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author 17803
* @date 2024-12-30 15:53
*/
@Data
public class StuCodeInfoDTO {
@ApiModelProperty("dci")
private String DCI;
@ApiModelProperty("dci申领时间")
private String dciTime;
@ApiModelProperty("dci统一证据编号")
private String dciCode;
@ApiModelProperty("dci哈希")
private String dciHash;
}

@ -9,6 +9,7 @@ import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.RandomUtil;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.sztzjy.trade.config.Constant;
import com.sztzjy.trade.entity.*;
import com.sztzjy.trade.entity.dto.StuSignDTO;
@ -19,6 +20,7 @@ import com.sztzjy.trade.mapper.TeacherOpenCourseStudentSigninLogMapper;
import com.sztzjy.trade.mapper.TeacherOpenCourseStudentSigninSettingMapper;
import com.sztzjy.trade.service.StuSignInfoService;
import com.sztzjy.trade.util.IpUtils;
import com.sztzjy.trade.util.RedisUtil;
import com.sztzjy.trade.util.ResultEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
@ -48,6 +50,7 @@ public class StuSignInfoServiceImpl implements StuSignInfoService {
@Autowired
private StuLearningRecordMapper stuLearningRecordMapper;
/**
*
*
@ -64,6 +67,8 @@ public class StuSignInfoServiceImpl implements StuSignInfoService {
//开启分页
PageHelper.startPage(page, size);
List<StudentSigninSettingDTO> list = new ArrayList<>();
//查询签到记录
@ -128,7 +133,9 @@ public class StuSignInfoServiceImpl implements StuSignInfoService {
}
}
return new ResultEntity(HttpStatus.OK, list);
PageInfo<StudentSigninSettingDTO> studentSigninSettingDTOPageInfo = new PageInfo<>(list);
return new ResultEntity(HttpStatus.OK, studentSigninSettingDTOPageInfo);
}
/**

Loading…
Cancel
Save