From cb6874174975a370cb60f1557704c9d49a05f9e6 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 05 一月 2024 08:59:40 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java |  393 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 386 insertions(+), 7 deletions(-)

diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
index e4c3e02..a5f05fa 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -1,12 +1,15 @@
 package com.doumee.service.business.impl;
 
 import cn.hutool.core.util.IdcardUtil;
+import com.alibaba.fastjson.JSONObject;
 import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.erp.ErpConstants;
 import com.doumee.core.erp.ErpTool;
+import com.doumee.core.erp.model.openapi.request.VisitListRequest;
 import com.doumee.core.erp.model.openapi.request.erp.ApproveAddRequest;
 import com.doumee.core.erp.model.openapi.request.erp.UserInfoRequest;
+import com.doumee.core.erp.model.openapi.response.VisitEventListResponse;
 import com.doumee.core.erp.model.openapi.response.erp.ApproveInfoResponse;
 import com.doumee.core.exception.BusinessException;
 import com.doumee.core.haikang.model.HKConstants;
@@ -24,14 +27,17 @@
 import com.doumee.core.utils.Utils;
 import com.doumee.core.wx.wxPlat.WxPlatNotice;
 import com.doumee.dao.admin.response.MemberInfoDTO;
-import com.doumee.dao.business.DeviceRoleMapper;
-import com.doumee.dao.business.MemberMapper;
-import com.doumee.dao.business.ProblemLogMapper;
-import com.doumee.dao.business.VisitsMapper;
+import com.doumee.dao.business.*;
 import com.doumee.dao.business.join.DeviceJoinMapper;
+import com.doumee.dao.business.join.VisitEventJoinMapper;
 import com.doumee.dao.business.join.VisitsJoinMapper;
 import com.doumee.dao.business.model.*;
+import com.doumee.dao.web.reqeust.AuditApproveDTO;
+import com.doumee.dao.web.reqeust.VisitRecordDTO;
+import com.doumee.dao.web.response.InternalHomeVO;
 import com.doumee.dao.web.response.VisitDetailVO;
+import com.doumee.dao.web.response.VisitRecordVO;
+import com.doumee.service.business.ApproveService;
 import com.doumee.service.business.VisitsService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -61,6 +67,10 @@
     @Autowired
     private VisitsMapper visitsMapper;
     @Autowired
+    private ApproveMapper approveMapper;
+    @Autowired
+    private ApproveParamMapper approveParamMapper;
+    @Autowired
     private DeviceRoleMapper deviceRoleMapper;
     @Autowired
     private ProblemLogMapper problemLogMapper ;
@@ -68,7 +78,8 @@
     private MemberMapper memberMapper ;
     @Autowired
     private VisitsJoinMapper visitsJoinMapper;
-
+    @Autowired
+    private CompanyMapper companyMapper;
     @Autowired
     private SystemDictDataBiz systemDictDataBiz;
     @Autowired
@@ -125,12 +136,333 @@
         visitsMapper.insert(visits);
         initWithVisitInfo(visits);
         updateProblemLog(visits,problemLog,member);
+        //鍒涘缓瀹℃壒璁板綍
+        createApprove(visits,visitMember);
         //鍙戦�佸井淇″叕浼楀彿閫氱煡
         wxPlatNotice.sendVisitAuditTemplateNotice(visits,
                 systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_PREFIX).getCode(),
                 systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_AUDIT_VISIT).getCode());
+
         return visits.getId();
     }
+
+
+    /**
+     * 鍒涘缓瀹℃壒璁板綍
+     * @param visits
+     * @param visitMember
+     */
+    public void createApprove(Visits visits,Member visitMember){
+        List<Integer> approveIds = new ArrayList<>();
+        ApproveParam approveParam = null;//this.getApproveIds(1,visitMember,approveIds);
+        //鍒涘缓寰呭鎵硅褰�
+        //鑾峰彇瀹℃壒閰嶇疆涓婚敭
+        Integer firstApproveId = this.checkFirstAudit();
+        //鍐呴儴浜哄憳鍒涘缓 涓斿垱寤轰汉涓庤璁块棶浜虹浉鍚�
+        if(!Objects.isNull(visits.getCreateMemberId())//鍐呴儴浜哄憳鍙戝竷
+                &&visits.getCreateMemberId().equals(visitMember.getId())//鍒涘缓浜哄憳涓庤璁块棶浜哄憳鏄惁鏄悓涓�浜�
+                &&!Objects.isNull(firstApproveId)//瀹℃壒閰嶇疆绗竴绾т负 琚闂汉瀹℃壒
+        ){
+            approveParam = this.getApproveIds(2,visitMember,approveIds);
+            Approve approve = new Approve();
+            approve.setCreateDate(new Date());
+            approve.setIsdeleted(Constants.ZERO);
+            approve.setCheckInfo("鑷姩瀹℃壒");
+            approve.setTemplatId(firstApproveId);
+            approve.setIsEndCheck(Constants.ZERO);
+            approve.setType(Constants.ZERO);
+            approve.setLevel(Constants.ONE);
+            approve.setVisitId(visits.getId());
+            approveMapper.insert(approve);
+            if(!CollectionUtils.isNotEmpty(approveIds)){
+                approve.setIsEndCheck(Constants.ONE);
+                visits.setStatus(Constants.TWO);
+                visitsMapper.updateById(visits);
+                //瀛樺偍鎶勯�佽褰�
+                this.saveCopyFor(visits.getId());
+            }
+        }else{
+            approveParam = this.getApproveIds(null,visitMember,approveIds);
+            if(!CollectionUtils.isNotEmpty(approveIds)){
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏃犳湁鏁堢殑瀹℃壒閰嶇疆锛岃鑱旂郴绠$悊鍛�");
+            }
+        }
+        if(!Objects.isNull(approveIds)){
+            //鍒涘缓涓嬩竴绾у鎵硅褰�
+            this.saveAuditRecord(visits.getId(),approveIds,approveParam);
+        }
+    }
+
+
+    /**
+     * 瀹℃壒 瀹℃壒璁板綍 鎴栫 瀹℃壒閫氳繃杩涘叆涓嬩竴姝�  浼氱 妫�娴嬫槸鍚︽槸鏈�鍚庝竴鏉″緟瀹℃壒
+     * @param auditApproveDTO
+     */
+    @Override
+    public void auditApprove(AuditApproveDTO auditApproveDTO){
+        Approve approve = approveMapper.selectById(auditApproveDTO.getId());
+        if(Objects.isNull(approve)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        if(approve.getStatus().equals(Constants.approveStatus.wait)){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀹℃壒璁板綍宸插鐞�!");
+        }
+        Visits visits = visitsMapper.selectById(approve.getVisitId());
+        if(Objects.isNull(visits)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        if(!auditApproveDTO.getMemberId().equals(approve.getChekorId())){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"浜哄憳淇℃伅鍖归厤閿欒!");
+        }
+        //琚浜�
+        Member visitMember = memberMapper.selectById(visits.getReceptMemberId());
+        List<Integer> approveIds = new ArrayList<>();
+        ApproveParam approveParam = this.getApproveIds(approve.getLevel()+1,visitMember,approveIds);
+
+        approve.setStatus(auditApproveDTO.getStatus());
+        approve.setEditDate(new Date());
+        approve.setChekorId(auditApproveDTO.getMemberId());
+        approve.setCheckInfo(auditApproveDTO.getCheckInfo());
+        approveMapper.updateById(approve);
+
+        if(auditApproveDTO.getStatus().equals(Constants.approveStatus.pass)){
+            if(approve.getApproveType().equals(Constants.ONE)){
+                //浼氱 鏌ヨ鏄惁鏄渶鍚庝竴鏉¤褰� 濡傛灉鏄渶鍚庝竴鏉¤褰� 鍒欑敓鎴愪笅绾у鎵硅褰� 濡傛灉鏄渶鍚庝竴绾э紝鍒欒繘琛屽鎵圭‘璁�
+                if(approveMapper.selectCount(new QueryWrapper<Approve>().lambda()
+                        .eq(Approve::getVisitId,visits.getId())
+                        .eq(Approve::getLevel,approve.getLevel())
+                        .ne(Approve::getId,approve.getId())
+                )<=Constants.ZERO){
+                    //褰撳墠瀹℃壒绾у埆 鏈�鍚庝竴鏉″緟瀹℃壒璁板綍
+                    if(!CollectionUtils.isNotEmpty(approveIds)){
+                        //娌℃湁涓嬬骇瀹℃壒娴佸垯 淇敼璁垮璁板綍涓婚敭
+                        visits.setStatus(auditApproveDTO.getStatus());
+                        visits.setCheckDate(new Date());
+                        visits.setCheckorId(auditApproveDTO.getMemberId());
+                        visitsMapper.updateById(visits);
+                    }else{
+                        this.saveAuditRecord(visits.getId(),approveIds,approveParam);
+                    }
+                }
+            }else{
+                //鎴栫
+                approveMapper.update(null,new UpdateWrapper<Approve>().lambda()
+                        .set(Approve::getStatus,Constants.approveStatus.otherDeal)
+                        .set(Approve::getEditDate,new Date())
+                        .set(Approve::getCheorId,auditApproveDTO.getMemberId())
+                        .eq(Approve::getVisitId,visits.getId())
+                        .eq(Approve::getStatus,Constants.approveStatus.wait)
+                        .ne(Approve::getId,approve.getId())
+                        .eq(Approve::getLevel,approve.getLevel())
+                );
+
+                if(!CollectionUtils.isNotEmpty(approveIds)){
+                    //娌℃湁涓嬬骇瀹℃壒娴佸垯 淇敼璁垮璁板綍涓婚敭
+                    visits.setStatus(auditApproveDTO.getStatus());
+                    visits.setCheckDate(new Date());
+                    visits.setCheckorId(auditApproveDTO.getMemberId());
+                    visitsMapper.updateById(visits);
+                }else{
+                    this.saveAuditRecord(visits.getId(),approveIds,approveParam);
+                }
+
+            }
+        }else if(auditApproveDTO.getStatus().equals(Constants.approveStatus.unPass)){
+            visits.setStatus(auditApproveDTO.getStatus());
+            visits.setCheckDate(new Date());
+            visits.setCheckorId(auditApproveDTO.getMemberId());
+            visitsMapper.updateById(visits);
+
+            approveMapper.update(null,new UpdateWrapper<Approve>().lambda()
+                    .set(Approve::getStatus,Constants.approveStatus.otherDeal)
+                    .set(Approve::getEditDate,new Date())
+                    .set(Approve::getCheorId,auditApproveDTO.getMemberId())
+                    .eq(Approve::getVisitId,visits.getId())
+                    .eq(Approve::getStatus,Constants.approveStatus.wait)
+                    .ne(Approve::getId,approve.getId())
+                    .eq(Approve::getLevel,approve.getLevel())
+            );
+
+        }else{
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀹℃壒鐘舵�侀敊璇�!");
+        }
+    }
+
+
+
+
+    /**
+     * 瀛樺偍鎶勯�佽褰�
+     * @param visitId
+     */
+    public void  saveCopyFor(Integer visitId){
+        ApproveParam approveParam = approveParamMapper.selectOne(new QueryWrapper<ApproveParam>().lambda()
+                .eq(ApproveParam::getIsdeleted,Constants.ZERO)
+                .eq(ApproveParam::getType,Constants.ONE)
+                .eq(ApproveParam::getLevel,Constants.ONE)
+                .last("limit 1"));
+        if(Objects.isNull(approveParam)){
+            return;
+        }
+        if(StringUtils.isNotBlank(approveParam.getObjIds())){
+            String [] ids = approveParam.getObjIds().split(",");
+            List<Approve> approveList = new ArrayList<>();
+            for (String id:ids) {
+                Approve approve = new Approve();
+                approve.setCreateDate(new Date());
+                approve.setIsdeleted(Constants.ZERO);
+                approve.setCheckInfo("鎶勯�佽褰�");
+                approve.setTemplatId(approveParam.getId());
+                approve.setChekorId(Integer.valueOf(id));
+                approve.setType(Constants.ONE);
+                approve.setVisitId(visitId);
+                approveList.add(approve);
+            }
+            approveMapper.insertBatchSomeColumn(approveList);
+        }
+    }
+
+    /**
+     * 瀛樺偍涓嬬骇瀹℃壒璁板綍
+     * @param visitId
+     * @param ids
+     * @param approveParam
+     */
+    public void  saveAuditRecord(Integer visitId,List<Integer> ids,ApproveParam approveParam){
+        if(CollectionUtils.isNotEmpty(ids)) {
+            List<Approve> approveList = new ArrayList<>();
+            for (Integer id:ids) {
+                Approve approve = new Approve();
+                approve.setCreateDate(new Date());
+                approve.setIsdeleted(Constants.ZERO);
+                approve.setStatus(Constants.ZERO);
+                approve.setCheckInfo("鎶勯�佽褰�");
+                approve.setTemplatId(approveParam.getId());
+                approve.setLevel(approveParam.getLevel());
+                approve.setApproveType(approveParam.getApproveType());
+                approve.setChekorId(id);
+                approve.setType(Constants.ONE);
+                approve.setVisitId(visitId);
+                approveList.add(approve);
+            }
+            approveMapper.insertBatchSomeColumn(approveList);
+        }
+    }
+
+    /**
+     * 鍒ゆ柇涓�绾у鎵逛汉鏄惁鏄垱寤轰汉
+     * @return
+     */
+    public Integer checkFirstAudit(){
+        ApproveParam approveParam = approveParamMapper.selectOne(new QueryWrapper<ApproveParam>().lambda()
+                .eq(ApproveParam::getIsdeleted,Constants.ZERO)
+                .eq(ApproveParam::getType,Constants.ZERO)
+                .eq(ApproveParam::getLevel,Constants.ONE)
+                .eq(ApproveParam::getMemberType,Constants.ZERO)
+                .last("limit 1"));
+         return  Objects.isNull(approveParam)?null:approveParam.getId();
+
+    }
+
+
+    /**
+     * 鍒涘缓瀹℃壒浜哄憳淇℃伅 鑻ヨ繑鍥炲緟瀹℃壒浜哄憳涓婚敭鍒楄〃涓虹┖锛屽垯鏃犲鎵逛汉鍛� 鎶涘嚭瀵瑰簲寮傚父
+     * @param level   澶勭悊绾у埆
+     * @param visitMember 琚浜�
+     */
+    public ApproveParam getApproveIds(Integer level,Member visitMember,List<Integer> ids){
+        //鏌ヨ瀹℃壒閰嶇疆椤�
+        List<ApproveParam> allParam = approveParamMapper.selectList(new QueryWrapper<ApproveParam>().lambda()
+                .eq(ApproveParam::getIsdeleted,Constants.ZERO)
+                .eq(ApproveParam::getType,Constants.ZERO)
+                .ge(!Objects.isNull(level),ApproveParam::getLevel,level)
+                .orderByAsc(ApproveParam::getLevel));
+        ApproveParam approveParam = new ApproveParam();
+        //鍙戦�佸鎵�/鎶勯�佽褰曠殑鐢ㄦ埛涓婚敭闆嗗悎
+        ids.clear();
+        if(Objects.isNull(allParam)){
+            if(Objects.isNull(level)){
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈厤缃瀹㈣褰曞鎵规祦锛岃鑱旂郴绠$悊鍛�");
+            }
+        }else{
+             approveParam = allParam.get(0);
+            if(approveParam.getMemberType().equals(Constants.ZERO)){
+                //琚浜哄鎵�
+                //娣诲姞瀹℃壒浜�
+                ids.add(visitMember.getId());
+            }else if(approveParam.getMemberType().equals(Constants.ONE)){
+                //鎸囧畾浜哄憳瀹℃壒
+                String [] objIds = approveParam.getObjIds().split(",");
+                for (String id:objIds) {
+                    //娣诲姞瀹℃壒浜�
+                    ids.add(Integer.valueOf(id));
+                }
+            }else if(approveParam.getMemberType().equals(Constants.TWO)){
+                //閮ㄩ棬涓荤瀹℃壒
+                //瀹℃壒閮ㄩ棬
+                Company auditCompany = this.getAuditCompanyHead(visitMember.getCompanyId(),approveParam.getObjLevel());
+                if(Objects.isNull(auditCompany)){
+                    //瀹℃壒閮ㄩ棬涓虹┖ 鑷姩娴佽浆涓嬩竴绾у鎵归厤缃�
+                    level = level + 1;
+                    return this.getApproveIds(level,visitMember,ids);
+                }else{
+                    //鏌ヨ閮ㄩ棬璐熻矗浜�
+                    Member headMember = memberMapper.selectById(auditCompany.getHeadId());
+                    if(Objects.isNull(headMember)){
+                        //鏈煡璇㈠埌閮ㄩ棬璐熻矗浜�
+                        if(approveParam.getNoleaderOpt().equals(Constants.ONE)&&!Objects.isNull(auditCompany.getParentId())){
+                            //鐢变笂绾т富绠′唬鏇垮鏍�
+                            auditCompany = companyMapper.selectOne(new QueryWrapper<Company>().lambda().eq(Company::getId,auditCompany.getParentId()));
+                            if(Objects.isNull(auditCompany)){
+                                //瀹℃壒閮ㄩ棬涓虹┖ 鑷姩娴佽浆涓嬩竴绾у鎵归厤缃�
+                                level = level + 1;
+                                this.getApproveIds(level,visitMember,ids);
+                            }else{
+                                headMember = memberMapper.selectById(auditCompany.getHeadId());
+                                if(Objects.isNull(headMember)){
+                                    //鏌ヨ閮ㄩ棬璐熻矗浜� 涓虹┖ 鑷姩娴佽浆涓嬩竴绾у鎵归厤缃�
+                                    level = level + 1;
+                                    return this.getApproveIds(level,visitMember,ids);
+                                }else{
+                                    //娣诲姞瀹℃壒浜�
+                                    ids.add(headMember.getId());
+                                }
+                            }
+                        }else{
+                            level = level + 1;
+                            return this.getApproveIds(level,visitMember,ids);
+                        }
+                    }else{
+                        //娣诲姞瀹℃壒浜�
+                        ids.add(headMember.getId());
+                    }
+
+                }
+            }
+        }
+
+        return approveParam;
+    }
+
+    /**
+     * 鏍规嵁閰嶇疆鏌ヨ涓婄骇鏁版嵁
+     * @param companyId 鐩存帴閮ㄩ棬
+     * @param objLevel  鏌ヨ绾у埆
+     */
+    public Company getAuditCompanyHead(Integer companyId,Integer objLevel){
+        Integer queryLevel = Constants.ONE;
+        Integer nextCompanyId = companyId;
+        Company auditCompany = new Company();
+        while(queryLevel.equals(objLevel)){
+            auditCompany = companyMapper.selectById(nextCompanyId);
+            if(Objects.isNull(auditCompany)){
+                return null;
+            }
+            nextCompanyId = auditCompany.getParentId();
+        }
+        return auditCompany;
+    }
+
 
     /**
      * 鏍¢獙蹇呭~椤规暟鎹槸鍚﹀悎娉�
@@ -692,6 +1024,18 @@
         visitDetailVO.setVisitUserName(member.getName());
         visitDetailVO.setVisitReason(visits.getReason());
         visitDetailVO.setVisitTime(DateUtil.DateToStr(visits.getStarttime(),"yyyy-MM-dd HH:mm") + " 鑷� " + DateUtil.DateToStr(visits.getEndtime(),"yyyy-MM-dd HH:mm") );
+        //琚浜哄憳閮ㄩ棬
+        Company company = companyMapper.selectById(member.getCompanyId());
+        if(!Objects.isNull(company)){
+            visitDetailVO.setVisitUserCompany(company.getName());
+        }
+        visitDetailVO.setName(visits.getName());
+            visitDetailVO.setCompanyName(visits.getCompanyName());
+            visitDetailVO.setFaceImg(visits.getFaceImg());
+            visitDetailVO.setImgUrl(visits.getImgurl());
+            visitDetailVO.setIdCardDecode(visits.getIdcardDecode());
+            visitDetailVO.setPrefix(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +
+                    systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode());
         if(StringUtils.isNotBlank(visits.getDoors())){
             List<DeviceRole> deviceRoleList = deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda()
                             .select(DeviceRole::getName)
@@ -703,8 +1047,9 @@
                 );
             }
         }
-        visitDetailVO.setWithVisitsList(visitsMapper.selectList(new QueryWrapper<Visits>().lambda()
-                .select(Visits::getName,Visits::getPhone)
+        visitDetailVO.setWithVisitsList(
+                visitsMapper.selectList(new QueryWrapper<Visits>().lambda()
+                .select(Visits::getName,Visits::getPhone,Visits::getFaceImg,Visits::getImgurl,Visits::getIdcardDecode)
                 .eq(Visits::getParentId,id)));
         return visitDetailVO;
     }
@@ -712,5 +1057,39 @@
 
 
 
+    @Override
+    public PageData<VisitRecordVO> taskCenter(PageWrap<VisitRecordDTO> param) {
+        VisitRecordDTO visitRecordDTO = param.getModel();
+        IPage<Visits> page = new Page<>(param.getPage(), param.getCapacity());
+        MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>();
+        Utils.MP.blankToNull(visitRecordDTO);
+
+        queryWrapper.selectAs(Visits::getId,VisitRecordVO::getId);
+        queryWrapper.selectAs(Visits::getName,VisitRecordVO::getName);
+        queryWrapper.selectAs(Visits::getStarttime,VisitRecordVO::getStartTime);
+        queryWrapper.selectAs(Visits::getEndtime,VisitRecordVO::getEndTime);
+        queryWrapper.selectAs(Visits::getReason,VisitRecordVO::getReason);
+        queryWrapper.selectAs(Visits::getMemberNum,VisitRecordVO::getInNum);
+        queryWrapper.selectAs(Visits::getCreateDate,VisitRecordVO::getCreateDate);
+        queryWrapper.leftJoin(Approve.class,Approve::getId,Visits::getId);
+        if(!Objects.isNull(visitRecordDTO)){
+            queryWrapper.like(StringUtils.isNotBlank(visitRecordDTO.getName()),Visits::getName,visitRecordDTO.getName());
+            queryWrapper.le(!Objects.isNull(visitRecordDTO.getCreateTimeS()),Visits::getCreateDate,visitRecordDTO.getCreateTimeS());
+            queryWrapper.ge(!Objects.isNull(visitRecordDTO.getCreateTimeE()),Visits::getCreateDate,visitRecordDTO.getCreateTimeE());
+            queryWrapper.eq(!Objects.isNull(visitRecordDTO.getType()),Visits::getType,visitRecordDTO.getType());
+            if(!Objects.isNull(visitRecordDTO.getState())&&visitRecordDTO.getState()<Constants.TWO){
+                queryWrapper.eq(Approve::getStatus,visitRecordDTO.getState());
+                queryWrapper.eq(Approve::getChekorId,visitRecordDTO.getMemberId());
+            }else if(!Objects.isNull(visitRecordDTO.getState())&&visitRecordDTO.getState()==Constants.TWO){
+                queryWrapper.eq(Visits::getMemberId,visitRecordDTO.getMemberId());
+            }
+        }
+        queryWrapper.orderByDesc(Visits::getCreateDate);
+        IPage<VisitRecordVO> result = visitsJoinMapper.selectJoinPage(page, VisitRecordVO.class,queryWrapper);
+
+        return PageData.from(result);
+    }
+
+
 
 }

--
Gitblit v1.9.3