From 70577a6d6cf2bded29e71dcad11a0c2605193d20 Mon Sep 17 00:00:00 2001 From: lishuai <260038442@qq.com> Date: 星期二, 26 十二月 2023 10:32:31 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemLogServiceImpl.java | 135 ++++++++++++++++++++++++++------------------- 1 files changed, 78 insertions(+), 57 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 ee1ecca..7299819 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,20 +1,37 @@ 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.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.Date; import java.util.List; +import java.util.Objects; /** * 璁垮绛旈璁板綍琛⊿ervice瀹炵幇 @@ -26,6 +43,15 @@ @Autowired private ProblemLogMapper problemLogMapper; + + @Autowired + private MemberMapper memberMapper; + + @Autowired + private CompanyMapper companyMapper; + + @Autowired + private ProblemLogJoinMapper problemLogJoinMapper; @Override public Integer create(ProblemLog problemLog) { @@ -87,64 +113,18 @@ @Override public PageData<ProblemLog> findPage(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()); - } - if (pageWrap.getModel().getName() != null) { - queryWrapper.lambda().eq(ProblemLog::getName, pageWrap.getModel().getName()); - } - if (pageWrap.getModel().getPhone() != null) { - queryWrapper.lambda().eq(ProblemLog::getPhone, pageWrap.getModel().getPhone()); - } - if (pageWrap.getModel().getCompanyId() != null) { - queryWrapper.lambda().eq(ProblemLog::getCompanyId, pageWrap.getModel().getCompanyId()); - } - if (pageWrap.getModel().getCompanyName() != null) { - queryWrapper.lambda().eq(ProblemLog::getCompanyName, pageWrap.getModel().getCompanyName()); - } - if (pageWrap.getModel().getOpenid() != null) { - queryWrapper.lambda().eq(ProblemLog::getOpenid, pageWrap.getModel().getOpenid()); - } - queryWrapper.select("problem_log.*,(select type from member where member.openid = problem_log.openid) as type"); - queryWrapper.orderByAsc("problem_log.createDate"); - return PageData.from(problemLogMapper.selectPage(page, queryWrapper)); + 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); + System.out.println(problemLogIPage); + return PageData.from(problemLogJoinMapper.selectJoinPage(page, ProblemLog.class, queryWrapper)); } @Override @@ -152,4 +132,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