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