From e2f8fb1fbe26ba6d92f3e5dfcaeb0c69abe76b25 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期四, 14 十二月 2023 14:28:57 +0800 Subject: [PATCH] 海康接口对接开发 --- server/dmvisit_service/src/main/java/com/doumee/service/business/impl/ProblemLogServiceImpl.java | 86 +++++++++++++++++++++++++++++++++++++++---- 1 files changed, 78 insertions(+), 8 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..98888bc 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,50 @@ 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.model.Company; +import com.doumee.dao.business.model.Member; import com.doumee.dao.business.model.ProblemLog; +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 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瀹炵幇 * @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; @Override public Integer create(ProblemLog problemLog) { @@ -83,7 +102,7 @@ QueryWrapper<ProblemLog> wrapper = new QueryWrapper<>(problemLog); return problemLogMapper.selectList(wrapper); } - + @Override public PageData<ProblemLog> findPage(PageWrap<ProblemLog> pageWrap) { IPage<ProblemLog> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); @@ -127,13 +146,23 @@ 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()); - } + 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)); } @@ -142,4 +171,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