From 1293d3dba10c4e291dfbce4c936f952875557edb Mon Sep 17 00:00:00 2001 From: lishuai <260038442@qq.com> Date: 星期二, 26 十二月 2023 18:40:49 +0800 Subject: [PATCH] 配置信息对接调整提交 --- server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemsServiceImpl.java | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 109 insertions(+), 10 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 532bac6..9dcf9b4 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,20 +1,36 @@ 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.Member; import com.doumee.dao.business.model.Problems; +import com.doumee.dao.web.response.ProblemsVO; import com.doumee.service.business.ProblemsService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import java.util.ArrayList; +import java.util.Date; import java.util.List; +import java.util.stream.Collectors; /** * 璇曢淇℃伅琛⊿ervice瀹炵幇 @@ -29,8 +45,26 @@ @Override public Integer create(Problems problems) { - problemsMapper.insert(problems); - return problems.getId(); + LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + Problems newProblems = new Problems(); + + 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 @@ -54,7 +88,21 @@ @Override public void updateById(Problems problems) { - problemsMapper.updateById(problems); + LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + Problems update = new Problems(); + update.setId(problems.getId()); + update.setEditor(loginUserInfo.getId()); + update.setEditDate(new Date()); + update.setTitle(problems.getTitle()); + if(null != problems.getObjectList() && problems.getObjectList().size() > 0) { + update.setOptions(JSON.toJSONString(problems.getObjectList())); + } + update.setAnswer(problems.getAnswer()); + update.setSortnu(problems.getSortnu()); + update.setType(problems.getType()); + update.setScore(problems.getScore()); + update.setUseType(problems.getUseType()); + problemsMapper.updateById(update); } @Override @@ -69,7 +117,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 @@ -113,7 +165,7 @@ queryWrapper.lambda().eq(Problems::getRemark, pageWrap.getModel().getRemark()); } if (pageWrap.getModel().getTitle() != null) { - queryWrapper.lambda().eq(Problems::getTitle, pageWrap.getModel().getTitle()); + queryWrapper.lambda().like(Problems::getTitle, pageWrap.getModel().getTitle()); } if (pageWrap.getModel().getOptions() != null) { queryWrapper.lambda().eq(Problems::getOptions, pageWrap.getModel().getOptions()); @@ -125,7 +177,7 @@ queryWrapper.lambda().eq(Problems::getSortnu, pageWrap.getModel().getSortnu()); } if (pageWrap.getModel().getType() != null) { - queryWrapper.lambda().eq(Problems::getType, pageWrap.getModel().getType()); + queryWrapper.lambda().in(Problems::getType, pageWrap.getModel().getType()); } if (pageWrap.getModel().getScore() != null) { queryWrapper.lambda().eq(Problems::getScore, pageWrap.getModel().getScore()); @@ -133,9 +185,19 @@ if (pageWrap.getModel().getUseType() != null) { queryWrapper.lambda().eq(Problems::getUseType, pageWrap.getModel().getUseType()); } - queryWrapper.lambda().orderByAsc(Problems::getCreateDate); + 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 @@ -145,8 +207,45 @@ } @Override - public List<Problems> findListByUseType(Integer useType) { + public List<ProblemDTO> findListByUseType(Integer useType) { + LambdaQueryWrapper<Problems> wrapper = new LambdaQueryWrapper<>(); - return null; + wrapper.eq(Problems::getIsdeleted, Constants.ZERO) + .eq(Problems::getUseType, useType) + .orderByAsc(Problems::getSortnu); + List<Problems> problems = problemsMapper.selectList(wrapper); + + List<ProblemDTO> collect = problems.stream().map(s -> { + ProblemDTO dto = new ProblemDTO(); + BeanUtils.copyProperties(dto, s); + return dto; + }).collect(Collectors.toList()); + + return collect; + } + + + /** + * 鑾峰彇棰樼洰淇℃伅 + * @param useType + * @return + */ + @Override + public List<ProblemsVO> getProblemsVO(Integer useType){ + List<Problems> problemsList = problemsMapper.selectList(new QueryWrapper<Problems>().lambda() + .and(ms->ms.eq(Problems::getUseType,useType).or().eq(Problems::getUseType,Constants.ZERO)) + .eq(Problems::getIsdeleted, Constants.ZERO).orderByAsc(Problems::getSortnu)); + List<ProblemsVO> problemsVOList = new ArrayList<>(); + for (Problems problems:problemsList) { + ProblemsVO problemsVO = new ProblemsVO(); + BeanUtils.copyProperties(problems,problemsVO); + problemsVOList.add(problemsVO); + } + return problemsVOList; + } + + + + } -- Gitblit v1.9.3