From 26bada56d6b3fbbad87b324d484aa84d46c3def3 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期三, 20 十二月 2023 10:35:04 +0800 Subject: [PATCH] 海康接口对接开发 --- server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemsServiceImpl.java | 110 +++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 98 insertions(+), 12 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 f039e1e..de873b3 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,35 @@ 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; +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 +44,26 @@ @Override public Integer create(Problems problems) { + LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + Problems insert = 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()); + if(null != problems.getObjectList() && problems.getObjectList().size() > 0) { + insert.setOptions(JSON.toJSONString(problems.getObjectList())); + } + insert.setAnswer(problems.getAnswer()); + insert.setSortnu(problems.getSortnu()); + insert.setType(problems.getType()); + insert.setScore(problems.getScore()); + insert.setUseType(problems.getUseType()); problemsMapper.insert(problems); - return problems.getId(); + return insert.getId(); } @Override @@ -54,7 +87,19 @@ @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()); + update.setOptions(problems.getOptions()); + 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 +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 @@ -83,7 +132,7 @@ QueryWrapper<Problems> wrapper = new QueryWrapper<>(problems); return problemsMapper.selectList(wrapper); } - + @Override public PageData<Problems> findPage(PageWrap<Problems> pageWrap) { IPage<Problems> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); @@ -113,7 +162,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()); @@ -133,13 +182,8 @@ if (pageWrap.getModel().getUseType() != null) { queryWrapper.lambda().eq(Problems::getUseType, pageWrap.getModel().getUseType()); } - for(PageWrap.SortData sortData: pageWrap.getSorts()) { - if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { - queryWrapper.orderByDesc(sortData.getProperty()); - } else { - queryWrapper.orderByAsc(sortData.getProperty()); - } - } + 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)); } @@ -148,4 +192,46 @@ QueryWrapper<Problems> wrapper = new QueryWrapper<>(problems); return problemsMapper.selectCount(wrapper); } + + @Override + public List<ProblemDTO> findListByUseType(Integer useType) { + LambdaQueryWrapper<Problems> wrapper = new LambdaQueryWrapper<>(); + + 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().eq(Problems::getUseType,useType) + .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