Commit ccac84ff by 郑云飞

bugfix

parent 09d25f55
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.util.ArrayUtil;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.UserConstants;
......@@ -32,7 +31,7 @@ public class SysDeptController extends BaseController {
/**
* 获取部门列表
*/
@SaCheckPermission("system:dept:list")
// @SaCheckPermission("system:dept:list")
@GetMapping("/list")
public R<List<SysDept>> list(SysDept dept) {
List<SysDept> depts = deptService.selectDeptList(dept);
......@@ -44,7 +43,7 @@ public class SysDeptController extends BaseController {
*
* @param deptId 部门ID
*/
@SaCheckPermission("system:dept:list")
// @SaCheckPermission("system:dept:list")
@GetMapping("/list/exclude/{deptId}")
public R<List<SysDept>> excludeChild(@PathVariable(value = "deptId", required = false) Long deptId) {
List<SysDept> depts = deptService.selectDeptList(new SysDept());
......@@ -58,7 +57,7 @@ public class SysDeptController extends BaseController {
*
* @param deptId 部门ID
*/
@SaCheckPermission("system:dept:query")
// @SaCheckPermission("system:dept:query")
@GetMapping(value = "/{deptId}")
public R<SysDept> getInfo(@PathVariable Long deptId) {
deptService.checkDeptDataScope(deptId);
......@@ -68,7 +67,7 @@ public class SysDeptController extends BaseController {
/**
* 新增部门
*/
@SaCheckPermission("system:dept:add")
// @SaCheckPermission("system:dept:add")
@Log(title = "部门管理", businessType = BusinessType.INSERT)
@PostMapping
public R<Void> add(@Validated @RequestBody SysDept dept) {
......@@ -81,7 +80,7 @@ public class SysDeptController extends BaseController {
/**
* 修改部门
*/
@SaCheckPermission("system:dept:edit")
// @SaCheckPermission("system:dept:edit")
@Log(title = "部门管理", businessType = BusinessType.UPDATE)
@PutMapping
public R<Void> edit(@Validated @RequestBody SysDept dept) {
......@@ -103,7 +102,7 @@ public class SysDeptController extends BaseController {
*
* @param deptId 部门ID
*/
@SaCheckPermission("system:dept:remove")
// @SaCheckPermission("system:dept:remove")
@Log(title = "部门管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{deptId}")
public R<Void> remove(@PathVariable Long deptId) {
......
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.secure.BCrypt;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
......@@ -62,7 +61,7 @@ public class SysUserController extends BaseController {
/**
* 获取用户列表
*/
@SaCheckPermission("system:user:list")
// @SaCheckPermission("system:user:list")
@GetMapping("/list")
public TableDataInfo<SysUser> list(SysUser user, PageQuery pageQuery) {
TableDataInfo<SysUser> sysUserTableDataInfo = userService.selectPageUserListNew(user, pageQuery);
......@@ -81,7 +80,7 @@ public class SysUserController extends BaseController {
* 导出用户列表
*/
@Log(title = "用户管理", businessType = BusinessType.EXPORT)
@SaCheckPermission("system:user:export")
// @SaCheckPermission("system:user:export")
@PostMapping("/export")
public void export(SysUser user, HttpServletResponse response) {
List<SysUser> list = userService.selectUserList(user);
......@@ -104,7 +103,7 @@ public class SysUserController extends BaseController {
* @param updateSupport 是否更新已存在数据
*/
@Log(title = "用户管理", businessType = BusinessType.IMPORT)
@SaCheckPermission("system:user:import")
// @SaCheckPermission("system:user:import")
@PostMapping(value = "/importData", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public R<Void> importData(@RequestPart("file") MultipartFile file, boolean updateSupport) throws Exception {
ExcelResult<SysUserImportVo> result = ExcelUtil.importExcel(file.getInputStream(), SysUserImportVo.class, new SysUserImportListener(updateSupport));
......@@ -155,7 +154,7 @@ public class SysUserController extends BaseController {
}
usi.setStatus("0");
usi.setRemark("系统导入用户数据");
usi.setPassword(BCrypt.hashpw(usi.getPassword()));
usi.setPassword(BCrypt.hashpw(sui.getPassword().trim()));
Long[] role=new Long[1];
role[0]=new Long(2);
usi.setRoleIds(role);
......@@ -171,7 +170,7 @@ public class SysUserController extends BaseController {
*
* @param userId 用户ID
*/
@SaCheckPermission("system:user:query")
// @SaCheckPermission("system:user:query")
@GetMapping(value = {"/", "/{userId}"})
public R<Map<String, Object>> getInfo(@PathVariable(value = "userId", required = false) Long userId) {
userService.checkUserDataScope(userId);
......@@ -194,7 +193,7 @@ public class SysUserController extends BaseController {
/**
* 新增用户
*/
@SaCheckPermission("system:user:add")
// @SaCheckPermission("system:user:add")
@Log(title = "用户管理", businessType = BusinessType.INSERT)
@PostMapping
public R<Void> add(@Validated @RequestBody SysUser user) {
......@@ -238,7 +237,7 @@ public class SysUserController extends BaseController {
/**
* 修改用户
*/
@SaCheckPermission("system:user:edit")
// @SaCheckPermission("system:user:edit")
@Log(title = "用户管理", businessType = BusinessType.UPDATE)
@PutMapping
public R<Void> edit(@Validated @RequestBody SysUser user) {
......@@ -282,7 +281,7 @@ public class SysUserController extends BaseController {
*
* @param userIds 角色ID串
*/
@SaCheckPermission("system:user:remove")
// @SaCheckPermission("system:user:remove")
@Log(title = "用户管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{userIds}")
public R<Void> remove(@PathVariable Long[] userIds) {
......@@ -295,7 +294,7 @@ public class SysUserController extends BaseController {
/**
* 重置密码
*/
@SaCheckPermission("system:user:resetPwd")
// @SaCheckPermission("system:user:resetPwd")
@Log(title = "用户管理", businessType = BusinessType.UPDATE)
@PutMapping("/resetPwd")
public R<Void> resetPwd(@RequestBody SysUser user) {
......@@ -308,7 +307,7 @@ public class SysUserController extends BaseController {
/**
* 状态修改
*/
@SaCheckPermission("system:user:edit")
// @SaCheckPermission("system:user:edit")
@Log(title = "用户管理", businessType = BusinessType.UPDATE)
@PutMapping("/changeStatus")
public R<Void> changeStatus(@RequestBody SysUser user) {
......@@ -322,7 +321,7 @@ public class SysUserController extends BaseController {
*
* @param userId 用户ID
*/
@SaCheckPermission("system:user:query")
// @SaCheckPermission("system:user:query")
@GetMapping("/authRole/{userId}")
public R<Map<String, Object>> authRole(@PathVariable Long userId) {
SysUser user = userService.selectUserById(userId);
......@@ -339,7 +338,7 @@ public class SysUserController extends BaseController {
* @param userId 用户Id
* @param roleIds 角色ID串
*/
@SaCheckPermission("system:user:edit")
// @SaCheckPermission("system:user:edit")
@Log(title = "用户管理", businessType = BusinessType.GRANT)
@PutMapping("/authRole")
public R<Void> insertAuthRole(Long userId, Long[] roleIds) {
......@@ -351,7 +350,7 @@ public class SysUserController extends BaseController {
/**
* 获取部门树列表
*/
@SaCheckPermission("system:user:list")
// @SaCheckPermission("system:user:list")
@GetMapping("/deptTree")
public R<List<Tree<Long>>> deptTree(SysDept dept) {
return R.ok(deptService.selectDeptTreeList(dept));
......
......@@ -99,4 +99,6 @@ public class DbTestPaperRecordDetailVo {
@TableField(exist = false)
private List<GoodsAnswersVo> goodsAnswers;
@TableField(exist = false)
private Integer species;
}
......@@ -30,7 +30,7 @@ public class MyErrorTopicListVo implements Serializable {
/**
* 题目分数
*/
private String topicScore;
private Double topicScore;
/**
* 我的答案
*/
......
......@@ -11,7 +11,7 @@ import com.ruoyi.school.paper.domain.vo.MyErrorTopicListVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;
/**
* 答题记录详情Mapper接口
......@@ -26,5 +26,5 @@ public interface DbTestPaperRecordDetailMapper extends BaseMapperPlus<DbTestPape
Page<GoodsAnswersVo> getGoodsAnserList(Page<Object> build, @Param("bo") DbTestPaperRecordDetailBo bo);
BigDecimal getTotalPoints(@Param("bo") DbTestPaperRecordBo bo);
List<DbTestPaperRecordDetailVo> getTotalPoints(@Param("bo") DbTestPaperRecordBo bo);
}
......@@ -8,21 +8,27 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.school.paper.domain.DbErrorList;
import com.ruoyi.school.paper.domain.DbTestPaperRecord;
import com.ruoyi.school.paper.domain.bo.DbTestPaperBo;
import com.ruoyi.school.paper.domain.bo.DbTestPaperRecordBo;
import com.ruoyi.school.paper.domain.vo.DbTestPaperRecordDetailVo;
import com.ruoyi.school.paper.domain.vo.DbTestPaperRecordVo;
import com.ruoyi.school.paper.domain.vo.DbTestPaperVo;
import com.ruoyi.school.paper.mapper.DbErrorListMapper;
import com.ruoyi.school.paper.mapper.DbTestPaperRecordDetailMapper;
import com.ruoyi.school.paper.mapper.DbTestPaperRecordMapper;
import com.ruoyi.school.paper.service.IDbTestPaperRecordService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 答题记录Service业务层处理
......@@ -36,6 +42,7 @@ public class DbTestPaperRecordServiceImpl implements IDbTestPaperRecordService {
private final DbTestPaperRecordMapper baseMapper;
private final DbTestPaperRecordDetailMapper recordDetailMapper;
private final DbErrorListMapper errorListMapper;
/**
* 查询答题记录
......@@ -162,15 +169,34 @@ public class DbTestPaperRecordServiceImpl implements IDbTestPaperRecordService {
* 完成批卷
*/
@Override
@Transactional(rollbackFor = Exception.class)
public R<Void> completeReadOver(DbTestPaperRecordBo bo) {
BigDecimal totalPoints = recordDetailMapper.getTotalPoints(bo);
// 根据记录id获取记录详情
List<DbTestPaperRecordDetailVo> recordDetails = recordDetailMapper.getTotalPoints(bo);
DbTestPaperRecord record = baseMapper.selectById(bo.getId());
// 计算总得分
BigDecimal totalPoints = recordDetails.stream().map(DbTestPaperRecordDetailVo::getScore).reduce(BigDecimal.ZERO, BigDecimal::add);
record.setTotalPoints(totalPoints);
record.setStatus(3);
int update = baseMapper.updateById(record);
if (update > 0){
return R.ok();
}
return R.fail();
// 保存总得分
baseMapper.updateById(record);
// 获取选择题错题集
List<Long> collect = recordDetails.stream()
.filter(detail -> detail.getSpecies().equals(2) && !detail.getAnswer().equals(detail.getCorrectAnswer()))
.map(DbTestPaperRecordDetailVo::getQuestionBankId)
.collect(Collectors.toList());
// 创建错题列表对象
List<DbErrorList> errorLists = new ArrayList<>();
collect.forEach(id -> {
DbErrorList errorList = new DbErrorList();
errorList.setRecordId(record.getId());
errorList.setUserId(record.getUserId());
errorList.setPaperId(record.getTestPaperId());
errorList.setQuestionBankId(id);
errorLists.add(errorList);
});
errorListMapper.insertBatch(errorLists);
return R.ok();
}
}
......@@ -99,10 +99,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
LEFT JOIN sys_user su ON dtpr.user_id = su.user_id
WHERE
a.question_bank_id = #{bo.questionBankId}
AND good = 0 and a.record_id = #{bo.recordId}
AND good = 0
</select>
<select id="getTotalPoints" resultType="java.math.BigDecimal">
select sum(score) from db_test_paper_record_detail where record_id = #{bo.id} and `status` = 0
<select id="getTotalPoints" resultType="com.ruoyi.school.paper.domain.vo.DbTestPaperRecordDetailVo">
select detail.*,
dqbtp.species
from db_test_paper_record_detail detail
left join db_question_bank_test_paper dqbtp on detail.question_bank_id = dqbtp.id
where record_id = #{bo.id}
and detail.`status` = 0
</select>
</mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment