From 0cc80c49603bb63b6ff348e5743cb5bb4801de7a Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期五, 22 十二月 2023 13:46:07 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemsServiceImpl.java | 55 +++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 37 insertions(+), 18 deletions(-) diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemsServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemsServiceImpl.java index 397f583..ba9e77f 100644 --- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemsServiceImpl.java +++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemsServiceImpl.java @@ -1,12 +1,14 @@ package com.doumee.service.business.impl; import cn.hutool.core.bean.BeanUtil; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.doumee.core.model.LoginUserInfo; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; +import com.doumee.dao.admin.request.OptionsObject; import com.doumee.dao.admin.response.ProblemDTO; import com.doumee.dao.business.ProblemsMapper; import com.doumee.dao.business.model.Problems; @@ -16,6 +18,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.apache.shiro.SecurityUtils; import org.springframework.beans.BeanUtils; @@ -42,23 +45,25 @@ @Override public Integer create(Problems problems) { LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); - Problems insert = new Problems(); + Problems newProblems = new Problems(); - insert.setCreator(loginUserInfo.getId()); - insert.setCreateDate(new Date()); - insert.setEditor(loginUserInfo.getId()); - insert.setEditDate(new Date()); - insert.setIsdeleted(Constants.ZERO); - insert.setRemark(problems.getRemark()); - insert.setTitle(problems.getTitle()); - insert.setOptions(problems.getOptions()); - insert.setAnswer(problems.getAnswer()); - insert.setSortnu(problems.getSortnu()); - insert.setType(problems.getType()); - insert.setScore(problems.getScore()); - insert.setUseType(problems.getUseType()); - problemsMapper.insert(problems); - return insert.getId(); + newProblems.setCreator(loginUserInfo.getId()); + newProblems.setCreateDate(new Date()); + newProblems.setEditor(loginUserInfo.getId()); + newProblems.setEditDate(new Date()); + newProblems.setIsdeleted(Constants.ZERO); + newProblems.setRemark(problems.getRemark()); + newProblems.setTitle(problems.getTitle()); + if(null != problems.getObjectList() && problems.getObjectList().size() > 0) { + newProblems.setOptions(JSON.toJSONString(problems.getObjectList())); + } + newProblems.setAnswer(problems.getAnswer()); + newProblems.setSortnu(problems.getSortnu()); + newProblems.setType(problems.getType()); + newProblems.setScore(problems.getScore()); + newProblems.setUseType(problems.getUseType()); + problemsMapper.insert(newProblems); + return newProblems.getId(); } @Override @@ -109,7 +114,11 @@ @Override public Problems findById(Integer id) { - return problemsMapper.selectById(id); + Problems problems = problemsMapper.selectById(id); + if(null != problems && StringUtils.isNotBlank(problems.getOptions())) { + problems.setObjectList(JSON.parseArray(problems.getOptions(), OptionsObject.class)); + } + return problems; } @Override @@ -175,7 +184,17 @@ } queryWrapper.lambda().orderByAsc(Problems::getSortnu); queryWrapper.select("problems.*, (select REALNAME from system_user where system_user.id = problems.CREATOR) as creatorName"); - return PageData.from(problemsMapper.selectPage(page, queryWrapper)); + IPage<Problems> problemsIPage = problemsMapper.selectPage(page, queryWrapper); + if(null != problemsIPage && problemsIPage.getRecords().size() > 0) { + List<Problems> newProblems = new ArrayList<>(); + List<Problems> newDatas = problemsIPage.getRecords(); + for (Problems dto:newDatas) { + dto.setObjectList(JSON.parseArray(dto.getOptions(), OptionsObject.class)); + newProblems.add(dto); + } + problemsIPage.setRecords(newProblems); + } + return PageData.from(problemsIPage); } @Override -- Gitblit v1.9.3