From 2e7ba2bc0fbefa6ee0b44eaf1990a493795efe4a Mon Sep 17 00:00:00 2001 From: lishuai <260038442@qq.com> Date: 星期二, 26 十二月 2023 16:33:36 +0800 Subject: [PATCH] 导出字段对接调整提交 --- server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemLogServiceImpl.java | 162 ++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 115 insertions(+), 47 deletions(-) diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemLogServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemLogServiceImpl.java index f8397d5..8bf9f8b 100644 --- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemLogServiceImpl.java +++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemLogServiceImpl.java @@ -1,31 +1,59 @@ package com.doumee.service.business.impl; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.doumee.core.constants.ResponseStatus; +import com.doumee.core.exception.BusinessException; 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.business.CompanyMapper; +import com.doumee.dao.business.MemberMapper; import com.doumee.dao.business.ProblemLogMapper; +import com.doumee.dao.business.join.ProblemLogJoinMapper; +import com.doumee.dao.business.join.RetentionJoinMapper; +import com.doumee.dao.business.model.Company; +import com.doumee.dao.business.model.Member; import com.doumee.dao.business.model.ProblemLog; +import com.doumee.dao.business.model.Retention; +import com.doumee.dao.system.vo.ProblemLogVo; +import com.doumee.dao.web.reqeust.FinishAnswerDTO; import com.doumee.service.business.ProblemLogService; 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 com.github.yulichang.wrapper.MPJLambdaWrapper; +import org.checkerframework.checker.units.qual.A; +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.Objects; /** * 璁垮绛旈璁板綍琛⊿ervice瀹炵幇 * @author 姹熻箘韫� - * @date 2023/11/23 18:16 + * @date 2023/11/30 15:33 */ @Service public class ProblemLogServiceImpl implements ProblemLogService { @Autowired private ProblemLogMapper problemLogMapper; + + @Autowired + private MemberMapper memberMapper; + + @Autowired + private CompanyMapper companyMapper; + + @Autowired + private ProblemLogJoinMapper problemLogJoinMapper; @Override public Integer create(ProblemLog problemLog) { @@ -83,58 +111,57 @@ QueryWrapper<ProblemLog> wrapper = new QueryWrapper<>(problemLog); return problemLogMapper.selectList(wrapper); } - + @Override public PageData<ProblemLog> findPage(PageWrap<ProblemLog> pageWrap) { + IPage<ProblemLog> problemLogIPage = dataInfo(pageWrap); + return PageData.from(problemLogIPage); + } + + private IPage<ProblemLog> dataInfo(PageWrap<ProblemLog> pageWrap) { IPage<ProblemLog> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); - QueryWrapper<ProblemLog> queryWrapper = new QueryWrapper<>(); + MPJLambdaWrapper<ProblemLog> queryWrapper = new MPJLambdaWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); - if (pageWrap.getModel().getId() != null) { - queryWrapper.lambda().eq(ProblemLog::getId, pageWrap.getModel().getId()); - } - if (pageWrap.getModel().getCreator() != null) { - queryWrapper.lambda().eq(ProblemLog::getCreator, pageWrap.getModel().getCreator()); - } - if (pageWrap.getModel().getCreateDate() != null) { - queryWrapper.lambda().ge(ProblemLog::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); - queryWrapper.lambda().le(ProblemLog::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); - } - if (pageWrap.getModel().getEditor() != null) { - queryWrapper.lambda().eq(ProblemLog::getEditor, pageWrap.getModel().getEditor()); - } - if (pageWrap.getModel().getEditDate() != null) { - queryWrapper.lambda().ge(ProblemLog::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); - queryWrapper.lambda().le(ProblemLog::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); - } - if (pageWrap.getModel().getIsdeleted() != null) { - queryWrapper.lambda().eq(ProblemLog::getIsdeleted, pageWrap.getModel().getIsdeleted()); - } - if (pageWrap.getModel().getRemark() != null) { - queryWrapper.lambda().eq(ProblemLog::getRemark, pageWrap.getModel().getRemark()); - } - if (pageWrap.getModel().getUserId() != null) { - queryWrapper.lambda().eq(ProblemLog::getUserId, pageWrap.getModel().getUserId()); - } - if (pageWrap.getModel().getStatus() != null) { - queryWrapper.lambda().eq(ProblemLog::getStatus, pageWrap.getModel().getStatus()); - } - if (pageWrap.getModel().getLogId() != null) { - queryWrapper.lambda().eq(ProblemLog::getLogId, pageWrap.getModel().getLogId()); - } - if (pageWrap.getModel().getScore() != null) { - queryWrapper.lambda().eq(ProblemLog::getScore, pageWrap.getModel().getScore()); - } - if (pageWrap.getModel().getContent() != null) { - queryWrapper.lambda().eq(ProblemLog::getContent, pageWrap.getModel().getContent()); - } - for(PageWrap.SortData sortData: pageWrap.getSorts()) { - if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { - queryWrapper.orderByDesc(sortData.getProperty()); - } else { - queryWrapper.orderByAsc(sortData.getProperty()); + queryWrapper.leftJoin(Member.class,Member::getId,ProblemLog::getUserId); + queryWrapper.selectAll(ProblemLog.class) + .selectAs(Member::getType,ProblemLog::getType) + .like(StringUtils.isNotBlank(pageWrap.getModel().getName()), ProblemLog::getName, pageWrap.getModel().getName()) + .like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()), ProblemLog::getCompanyName, pageWrap.getModel().getCompanyName()) + .eq(Objects.nonNull(pageWrap.getModel().getType()), Member::getType, pageWrap.getModel().getType()); + queryWrapper.orderByDesc(ProblemLog::getCreateDate); + IPage<ProblemLog> problemLogIPage = problemLogJoinMapper.selectJoinPage(page, ProblemLog.class, queryWrapper); + return problemLogIPage; + } + + /** + * 瀵煎嚭 + * @param pageWrap 鍒嗛〉瀵硅薄 + */ + public List<ProblemLogVo> findPageExcel(PageWrap<ProblemLog> pageWrap) { + IPage<ProblemLog> problemLogIPage = dataInfo(pageWrap); + List<ProblemLogVo> voList = new ArrayList<>(); + if(null != problemLogIPage && problemLogIPage.getRecords().size() > 0) { + for (ProblemLog obj:problemLogIPage.getRecords()) { + ProblemLogVo vo = new ProblemLogVo(); + vo.setName(obj.getName()); + vo.setPhone(obj.getPhone()); + vo.setCompanyName(obj.getCompanyName()); + if(null != obj.getType()) { + if(Constants.ZERO == obj.getType()){ + vo.setTypeName(Constants.Status.LW_FK.getDes()); + }else if(Constants.ONE == obj.getType()) { + vo.setTypeName(Constants.Status.PT_FK.getDes()); + }else { + vo.setTypeName(Constants.Status.NB_FK.getDes()); + } + }else { + vo.setTypeName(""); + } + vo.setCreateDate(obj.getCreateDate()); + voList.add(vo); } } - return PageData.from(problemLogMapper.selectPage(page, queryWrapper)); + return voList; } @Override @@ -142,4 +169,45 @@ QueryWrapper<ProblemLog> wrapper = new QueryWrapper<>(problemLog); return problemLogMapper.selectCount(wrapper); } + + + /** + * 淇濆瓨绛旈璁板綍 + * @param finishAnswerDTO + * @return + */ + @Override + public Integer finishAnswer(FinishAnswerDTO finishAnswerDTO){ + ProblemLog problemLog = new ProblemLog(); + BeanUtils.copyProperties(finishAnswerDTO,problemLog); + problemLog.setCreateDate(new Date()); + problemLog.setIsdeleted(Constants.ZERO); + problemLog.setStatus(Constants.ZERO); + if(finishAnswerDTO.getUseType().equals(Constants.ZERO)&&StringUtils.isNotBlank(finishAnswerDTO.getUserId())){ + Member member = memberMapper.selectById(finishAnswerDTO.getUserId()); + if(Objects.isNull(member)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鍔冲姟浜哄憳"); + } + if(!member.getType().equals(Constants.memberType.lw_visitor)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炲姵鍔′汉鍛樼被鍨嬶紝绛旈澶辫触"); + } + if(!member.getStatus().equals(Constants.ZERO)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璐﹀彿宸茬粡" + (member.getStatus().equals(Constants.ONE)?"绂佺敤":"鎷夐粦/鍒犻櫎") ); + } + problemLog.setName(member.getName()); + problemLog.setPhone(member.getPhone()); + problemLog.setCompanyId(member.getCompanyId()); + Company company = companyMapper.selectById(member.getCompanyId()); + if(Objects.isNull(company)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鍔冲姟浜哄憳鍏徃"); + } + problemLog.setCompanyName(company.getName()); + } + this.problemLogMapper.insert(problemLog); + return problemLog.getId(); + } + + + + } -- Gitblit v1.9.3