From ed9c9f07d1f9a5ed027e06feb8f0f5ed2d1756bc Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期五, 07 六月 2024 10:39:25 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit

---
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/common/PublicCloudController.java              |  106 ++++++++++++
 server/system_service/src/main/java/com/doumee/dao/system/dto/NoticesDTO.java                             |   38 ++++
 server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/VisitsController.java                   |    2 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java              |   49 +++++
 server/system_service/src/main/java/com/doumee/service/system/impl/NoticesServiceImpl.java                |   82 ++++++++++
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitsCloudController.java               |    9 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java                |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java |    7 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/InternalWebController.java                 |   10 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java                     |   10 +
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java      |   57 +++---
 server/system_service/src/main/java/com/doumee/core/utils/FtpUtil.java                                    |   38 ++++
 server/system_service/src/main/java/com/doumee/dao/system/model/Notices.java                              |    6 
 server/system_service/src/main/java/com/doumee/service/system/NoticesService.java                         |    6 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerCloudController.java         |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ApproveService.java               |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java       |   22 ++
 17 files changed, 385 insertions(+), 63 deletions(-)

diff --git a/server/system_service/src/main/java/com/doumee/core/utils/FtpUtil.java b/server/system_service/src/main/java/com/doumee/core/utils/FtpUtil.java
index a62bf46..5a6fbd5 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/FtpUtil.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/FtpUtil.java
@@ -15,6 +15,7 @@
 import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.impl.client.HttpClientBuilder;
 import org.apache.http.util.EntityUtils;
+import org.apache.xpath.operations.Bool;
 import sun.misc.BASE64Encoder;
 
 /** */
@@ -237,7 +238,6 @@
 		// 璁剧疆PassiveMode浼犺緭
 		try {
 			ftpClient.enterLocalPassiveMode();
-
 			// 璁剧疆浠ヤ簩杩涘埗娴佺殑鏂瑰紡浼犺緭
 			ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
 			ftpClient.setControlEncoding("GBK");
@@ -266,6 +266,42 @@
 		}
 		return false;
 	}
+
+	public boolean uploadInputstreamBatch(InputStream inputStream, String remote, Boolean close)  {
+		// 璁剧疆PassiveMode浼犺緭
+		try {
+			ftpClient.enterLocalPassiveMode();
+			// 璁剧疆浠ヤ簩杩涘埗娴佺殑鏂瑰紡浼犺緭
+			ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
+			ftpClient.setControlEncoding("GBK");
+			// 瀵硅繙绋嬬洰褰曠殑澶勭悊
+			String remoteFileName = remote;
+			if (remote.contains("/")) {
+				remoteFileName = remote.substring(remote.lastIndexOf("/") + 1);
+				// 鍒涘缓鏈嶅姟鍣ㄨ繙绋嬬洰褰曠粨鏋勶紝鍒涘缓澶辫触鐩存帴杩斿洖
+				if (StringUtils.equals(CreateDirecroty(remote, ftpClient), "2")) {
+					log.error("鍒涘缓ftp鐩綍澶辫触======================="+remote);
+					return false;
+				}
+			}
+			boolean result = ftpClient.storeFile(remoteFileName, inputStream);
+			inputStream.close();
+			if(close){
+				ftpClient.logout();
+			}
+			if(result){
+				log.info("涓婁紶鏂囦欢鎴愬姛======================"+remote);
+			}else{
+				log.error("涓婁紶鏂囦欢澶辫触======================="+remote);
+			}
+			return result;
+		}catch (Exception e){
+			e.printStackTrace();
+			log.error("涓婁紶鏂囦欢澶辫触======================="+remote);
+		}
+		return false;
+	}
+
 	public int getNumFromStr(String str,char searchstr) {
 		int count = 0;
 		char[] charArray = str.toCharArray();
diff --git a/server/system_service/src/main/java/com/doumee/dao/system/dto/NoticesDTO.java b/server/system_service/src/main/java/com/doumee/dao/system/dto/NoticesDTO.java
new file mode 100644
index 0000000..d08a08c
--- /dev/null
+++ b/server/system_service/src/main/java/com/doumee/dao/system/dto/NoticesDTO.java
@@ -0,0 +1,38 @@
+package com.doumee.dao.system.dto;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * Created by IntelliJ IDEA.
+ *
+ * @Author : Rk
+ * @create 2024/6/5 9:27
+ */
+@Data
+public class NoticesDTO {
+
+    @ApiModelProperty(value = "鐢ㄦ埛涓婚敭",hidden = true)
+    private Integer memberId;
+
+    @ApiModelProperty(value = "鏌ヨ绫诲瀷: 0=寰呭鐞嗭紱1=宸插鐞嗭紱2=鎴戝彂甯冪殑锛�3=鎶勯�佹垜")
+    private Integer queryType;
+
+    @ApiModelProperty(value = "寮�濮嬫棩鏈�")
+    private Date startDate;
+
+    @ApiModelProperty(value = "缁撴潫鏃ユ湡")
+    private Date endDate;
+
+    @ApiModelProperty(value = "0璁垮瀹℃壒 1璁垮鎶ュ 2鐢ㄨ溅瀹℃壒 3闅愭偅澶勭悊 4鐗╂祦杞﹀鎵� 5绯荤粺绯荤粺")
+    private Integer type;
+
+    @ApiModelProperty(value = "鍙湅鏈锛�1=鏄紱0=鍚�")
+    private Integer noRead;
+
+    @ApiModelProperty(value = "浠诲姟鍚嶇О/鏍囬")
+    private String title;
+}
diff --git a/server/system_service/src/main/java/com/doumee/dao/system/model/Notices.java b/server/system_service/src/main/java/com/doumee/dao/system/model/Notices.java
index d591321..ab03953 100644
--- a/server/system_service/src/main/java/com/doumee/dao/system/model/Notices.java
+++ b/server/system_service/src/main/java/com/doumee/dao/system/model/Notices.java
@@ -88,15 +88,15 @@
     private String typeDetail;
 
 
-    @ApiModelProperty(value = "鍏宠仈鍙傛暟1" ,notes = "瀛樺偍 娑堟伅灞曠ずJSON ")
+    @ApiModelProperty(value = "瀛樺偍 娑堟伅灞曠ずJSON" ,notes = "瀛樺偍 娑堟伅灞曠ずJSON ")
     @ExcelColumn(name="鍏宠仈鍙傛暟1")
     private String param1;
 
-    @ApiModelProperty(value = "鍏宠仈鍙傛暟2",notes = "鐢ㄤ簬瀛樺偍 涓氬姟鐘舵�佷俊鎭� 0 =寰呭鐞�;1=宸插悓鎰�/宸插鐞�;2=宸叉嫆缁�/宸查��鍥�;3=宸茶浆浜�;4=宸叉挙閿�")
+    @ApiModelProperty(value = "鐢ㄤ簬瀛樺偍 涓氬姟鐘舵�佷俊鎭� 0 =寰呭鐞�;1=宸插悓鎰�/宸插鐞�;2=宸叉嫆缁�/宸查��鍥�;3=宸茶浆浜�;4=宸叉挙閿�",notes = "鐢ㄤ簬瀛樺偍 涓氬姟鐘舵�佷俊鎭� 0 =寰呭鐞�;1=宸插悓鎰�/宸插鐞�;2=宸叉嫆缁�/宸查��鍥�;3=宸茶浆浜�;4=宸叉挙閿�")
     @ExcelColumn(name="鍏宠仈鍙傛暟2")
     private String param2;
 
-    @ApiModelProperty(value = "鍏宠仈鍙傛暟3",notes = "鍙戣捣浜�")
+    @ApiModelProperty(value = "鍙戣捣浜�",notes = "鍙戣捣浜�")
     @ExcelColumn(name="鍏宠仈鍙傛暟3")
     private String param3;
 
diff --git a/server/system_service/src/main/java/com/doumee/service/system/NoticesService.java b/server/system_service/src/main/java/com/doumee/service/system/NoticesService.java
index d217439..0c45a5a 100644
--- a/server/system_service/src/main/java/com/doumee/service/system/NoticesService.java
+++ b/server/system_service/src/main/java/com/doumee/service/system/NoticesService.java
@@ -2,6 +2,7 @@
 
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.dao.system.dto.NoticesDTO;
 import com.doumee.dao.system.model.Notices;
 
 import java.util.List;
@@ -97,5 +98,10 @@
     long count(Notices notices);
 
 
+    PageData<Notices> taskCanterPage(PageWrap<NoticesDTO> pageWrap);
 
+
+    void signReadById(Integer noticesId);
+
+    void signRead(Integer memberId);
 }
diff --git a/server/system_service/src/main/java/com/doumee/service/system/impl/NoticesServiceImpl.java b/server/system_service/src/main/java/com/doumee/service/system/impl/NoticesServiceImpl.java
index 67cbee2..68ab7e8 100644
--- a/server/system_service/src/main/java/com/doumee/service/system/impl/NoticesServiceImpl.java
+++ b/server/system_service/src/main/java/com/doumee/service/system/impl/NoticesServiceImpl.java
@@ -4,21 +4,26 @@
 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.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
 import com.doumee.core.model.LoginUserInfo;
 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.system.dto.NoticesDTO;
 import com.doumee.dao.system.join.NoticesJoinMapper;
 import com.doumee.dao.system.model.Notices;
 import com.doumee.service.system.NoticesService;
 import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Objects;
 
 /**
  * 绯荤粺娑堟伅淇℃伅琛⊿ervice瀹炵幇
@@ -93,8 +98,6 @@
         IPage<Notices> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         MPJLambdaWrapper<Notices> queryWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
-        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
-
         queryWrapper.selectAll(Notices.class);
         if (pageWrap.getModel().getIsdeleted() != null) {
             queryWrapper.eq(Notices::getIsdeleted, pageWrap.getModel().getIsdeleted());
@@ -140,7 +143,82 @@
         return noticesMapper.selectCount(wrapper);
     }
 
+    @Override
+    public PageData<Notices> taskCanterPage(PageWrap<NoticesDTO> pageWrap) {
+        IPage<Notices> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        MPJLambdaWrapper<Notices> queryWrapper = new MPJLambdaWrapper<>();
+        Utils.MP.blankToNull(pageWrap.getModel());
+        queryWrapper.selectAll(Notices.class);
+        NoticesDTO noticesDTO = pageWrap.getModel();
+        if(Objects.isNull(noticesDTO)
+            || Objects.isNull(noticesDTO.getMemberId())
+            || Objects.isNull(noticesDTO.getQueryType())){
+                queryWrapper.eq("1","2");
+        }
+        if(noticesDTO.getQueryType().equals(Constants.ZERO)){
+            queryWrapper.eq(Notices::getStatus,Constants.ZERO);
+            queryWrapper.eq(Notices::getSendacopy,Constants.ZERO);
+            queryWrapper.eq(Notices::getUserId, noticesDTO.getMemberId());
+        } else if(noticesDTO.getQueryType().equals(Constants.ONE)){
+            queryWrapper.eq(Notices::getStatus,Constants.ONE);
+            queryWrapper.eq(Notices::getSendacopy,Constants.ZERO);
+        } else if(noticesDTO.getQueryType().equals(Constants.TWO)){
+            queryWrapper.eq(Notices::getParam3, noticesDTO.getMemberId());
+        } else if (noticesDTO.getQueryType().equals(Constants.THREE)) {
+            queryWrapper.eq(Notices::getUserId, noticesDTO.getMemberId());
+            queryWrapper.eq(Notices::getSendacopy,Constants.ONE);
+            if(Objects.nonNull(noticesDTO.getNoRead())&&Constants.equalsInteger(noticesDTO.getNoRead(),Constants.ONE)){
+                queryWrapper.eq(Notices::getReaded,Constants.ONE);
+            }
+        }else{
+            queryWrapper.eq("1","2");
+        }
+        queryWrapper.ge(noticesDTO.getStartDate() != null, Notices::getCreateDate, Utils.Date.getStart(noticesDTO.getStartDate() ));
+        queryWrapper.le(noticesDTO.getStartDate() != null,  Notices::getCreateDate, Utils.Date.getEnd(noticesDTO.getStartDate() ));
+        queryWrapper.ge(noticesDTO.getEndDate() != null, Notices::getCreateDate, Utils.Date.getStart(noticesDTO.getEndDate() ));
+        queryWrapper.le(noticesDTO.getEndDate() != null,  Notices::getCreateDate, Utils.Date.getEnd(noticesDTO.getEndDate() ));
+        queryWrapper.eq(Objects.nonNull(noticesDTO.getType()),Notices::getType,noticesDTO.getType());
+        queryWrapper.eq(StringUtils.isNotBlank(noticesDTO.getTitle()),Notices::getTitle,noticesDTO.getTitle());
+        queryWrapper.orderByDesc(Notices::getCreateDate);
+        PageData<Notices> pageData = PageData.from(noticesMapper.selectJoinPage(page,Notices.class, queryWrapper));
+        return pageData;
+    }
 
 
+    /**
+     * 鏍囪宸茶
+     * @param noticesId
+     */
+    @Override
+    public void signReadById(Integer noticesId){
+        if(Objects.isNull(noticesId)){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        Notices notices = noticesMapper.selectById(noticesId);
+        if(Objects.isNull(notices)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        if(Constants.equalsInteger(notices.getSendacopy(),Constants.ONE)){
+            if(Constants.equalsInteger(Constants.ZERO,notices.getReaded())){
+                noticesMapper.update(null,new UpdateWrapper<Notices>().lambda()
+                        .set(Notices::getReaded,Constants.ONE).eq(Notices::getId,notices));
+            }
+        }else{
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炴妱閫佹暟鎹�,鏃犳硶杩涜鏍囪");
+        }
+    }
+
+    /**
+     * 鎵归噺鏍囪宸茶
+     * @param memberId
+     */
+    @Override
+    public void signRead(Integer memberId) {
+        noticesMapper.update(null, new UpdateWrapper<Notices>().lambda()
+                .set(Notices::getReaded, Constants.ONE)
+                .eq(Notices::getSendacopy,Constants.ONE)
+                .eq(Notices::getReaded,Constants.ZERO)
+                .eq(Notices::getUserId, memberId));
+    }
 
 }
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/VisitsController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/VisitsController.java
index cd86296..41eeaf0 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/VisitsController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/api/business/VisitsController.java
@@ -104,7 +104,7 @@
     @GetMapping("/{id}")
     @RequiresPermissions("business:visits:query")
     public ApiResponse<Visits> findById(@PathVariable Integer id) {
-        return ApiResponse.success(visitsService.findById(id));
+        return ApiResponse.success(visitsService.findById(id,null));
     }
 
     @ApiOperation("婊炵暀浜哄憳")
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerCloudController.java
index 0270a01..6c0dcb7 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerCloudController.java
@@ -80,7 +80,7 @@
     @ApiOperation("鏍规嵁ID鏌ヨ")
     @GetMapping("/{id}")
     @CloudRequiredPermission("business:hiddendanger:query")
-    public ApiResponse findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
+    public ApiResponse<HiddenDanger> findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
         return ApiResponse.success(hiddenDangerService.findById(id));
     }
 
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java
index 6e7e202..4dddf78 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/StagingCloudController.java
@@ -1,21 +1,31 @@
 package com.doumee.cloud.admin;
 
 import com.doumee.api.BaseController;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
 import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
 import com.doumee.dao.admin.response.StagingDataVO;
 import com.doumee.dao.business.model.Visits;
+import com.doumee.dao.system.dto.NoticesDTO;
 import com.doumee.dao.system.model.Notices;
+import com.doumee.dao.web.response.InternalHomeVO;
+import com.doumee.service.business.ApproveService;
 import com.doumee.service.business.MemberService;
 import com.doumee.service.business.VisitsService;
 import com.doumee.service.system.NoticesService;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+
+import java.util.Objects;
 
 /**
  * Created by IntelliJ IDEA.
@@ -38,6 +48,8 @@
     @Autowired
     private NoticesService noticesService;
 
+    @Autowired
+    private ApproveService approveService;
 
 
     @ApiOperation("澶撮儴鏁版嵁")
@@ -70,13 +82,38 @@
     }
 
 
-    @ApiOperation("浠诲姟涓績鍒嗛〉")
-    @PostMapping("/taskPage")
-    @RequiresPermissions("business:notices:query")
-    public ApiResponse<PageData<Notices>> taskPage (@RequestBody PageWrap<Notices> pageWrap) {
-        pageWrap.getModel().setPalt(Constants.ZERO);
-        return ApiResponse.success(noticesService.findPage(pageWrap));
+
+    @ApiOperation(value = "浠诲姟涓績澶撮儴", notes = "H5")
+    @GetMapping("/taskCenterHead")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "isDetail", value = " 鏄惁鏌ヨ璇︾粏 1鏄紱0鍚�", required = true),
+    })
+    public ApiResponse<InternalHomeVO> taskCenterHead(@RequestParam Integer isDetail,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        return ApiResponse.success("鏌ヨ鎴愬姛",approveService.getHomeData(getLoginUser(token).getMemberId(),isDetail));
     }
 
 
+    @ApiOperation("浠诲姟涓績鍒嗛〉")
+    @PostMapping("/taskPage")
+    public ApiResponse<PageData<Notices>> taskPage (@RequestBody PageWrap<NoticesDTO> pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        LoginUserInfo loginUserInfo = getLoginUser(token);
+        pageWrap.getModel().setMemberId(loginUserInfo.getMemberId());
+        return ApiResponse.success(noticesService.taskCanterPage(pageWrap));
+    }
+
+    @ApiOperation("鏍囪宸茶")
+    @GetMapping("/signRead")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "noticesId", value = "璁板綍涓婚敭", required = false),
+            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "signType", value = "鏍囪绫诲瀷锛�0=鍗曚釜鏍囪;1=鏍囪鍏ㄩ儴鏈", required = false),
+    })
+    public ApiResponse signRead (Integer noticesId,@RequestParam Integer signType, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+        LoginUserInfo loginUserInfo = getLoginUser(token);
+        if(Constants.equalsInteger(signType,Constants.ZERO)){
+            noticesService.signReadById(noticesId);
+        }else{
+            noticesService.signRead(loginUserInfo.getMemberId());
+        }
+        return ApiResponse.success("鎿嶄綔鎴愬姛");
+    }
 }
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitsCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitsCloudController.java
index 1b048b2..ff53508 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitsCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/VisitsCloudController.java
@@ -6,6 +6,7 @@
 import com.doumee.core.annotation.excel.ExcelExporter;
 import com.doumee.core.annotation.pr.PreventRepeat;
 import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
@@ -96,6 +97,7 @@
     @PostMapping("/page")
     @CloudRequiredPermission("business:visits:query")
     public ApiResponse<PageData<Visits>> findPage (@RequestBody PageWrap<Visits> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
+        pageWrap.getModel().setMemberId(getLoginUser(token).getMemberId());
         return ApiResponse.success(visitsService.findPage(pageWrap));
     }
 
@@ -110,7 +112,8 @@
     @GetMapping("/{id}")
     @CloudRequiredPermission("business:visits:query")
     public ApiResponse<Visits> findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
-        return ApiResponse.success(visitsService.findById(id));
+        LoginUserInfo loginUserInfo = getLoginUser(token);
+        return ApiResponse.success(visitsService.findById(id,loginUserInfo.getMemberId()));
     }
 
     @ApiOperation("婊炵暀浜哄憳")
@@ -126,7 +129,9 @@
     @ApiOperation(value = "璁垮鎶ュ", notes = "璁垮鎶ュ")
     @PostMapping("/createVisit")
     public ApiResponse createVisit(@RequestBody Visits visits,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        visits.setMemberId(getLoginUser(token).getMemberId());
+        LoginUserInfo loginUserInfo = getLoginUser(token);
+        visits.setMemberId(loginUserInfo.getMemberId());
+        visits.setCreateMemberId(loginUserInfo.getMemberId());
         visits.setReceptMemberId(visits.getMemberId());
         return ApiResponse.success("鏌ヨ鎴愬姛", visitsService.visitReporting(visits));
     }
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/common/PublicCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/common/PublicCloudController.java
index b8d7082..eb12019 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/common/PublicCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/common/PublicCloudController.java
@@ -1,13 +1,18 @@
 package com.doumee.cloud.common;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.doumee.api.BaseController;
 import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.core.annotation.trace.Trace;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.DateUtil;
 import com.doumee.core.utils.FtpUtil;
 import com.doumee.core.utils.aliyun.ALiYunUtil;
+import com.doumee.dao.system.model.SystemDict;
+import com.doumee.dao.system.model.SystemDictData;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -26,10 +31,7 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.PrintWriter;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.UUID;
+import java.util.*;
 
 /**
  * @author Eva.Caesar Liu
@@ -50,6 +52,102 @@
 
     public static FtpUtil ftp  = null;
 
+    @ApiOperation(value = "鎵归噺涓婁紶鏂囦欢鍒癋TP")
+    @RequestMapping(method= RequestMethod.POST,value="/uploadBatch")
+    @ResponseBody
+    public void uploadBatch(HttpServletRequest request, HttpServletResponse response, String folder) throws Exception {
+        if(Objects.isNull(folder)){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        SystemDictData folderData =  systemDictDataBiz.queryByCode(Constants.FTP,folder);
+        if(Objects.isNull(folderData)||StringUtils.isBlank(folderData.getCode())){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐩爣鏂囦欢澶归敊璇�");
+        }
+        folder = systemDictDataBiz.queryByCode(Constants.FTP,folder).getCode();
+        String prefixPath = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode();
+        response.setCharacterEncoding("UTF-8");
+        response.setContentType("text/html;charset=UTF-8");
+        Map<String, Object> context = new HashMap<>();
+        try {
+            if(ftp == null){
+                ftp = new FtpUtil(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_HOST).getCode(),
+                        Integer.parseInt(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_PORT).getCode()),
+                        systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_USERNAME).getCode(),
+                        systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_PWD).getCode());
+            }else{
+                ftp.connect();
+            }
+
+            context.put("success", true);
+            context.put("code", 200);
+            context.put("errno",0);
+            CommonsMultipartResolver multipartResovler = new CommonsMultipartResolver();
+            if (multipartResovler.isMultipart(request)) {
+                MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+                List<MultipartFile> fileList = multipartRequest.getFiles("file");
+                Iterator<String> it = multipartRequest.getFileNames();
+                JSONArray jsonArray = new JSONArray();
+
+                if (fileList.size() > 0) {
+                    //閬嶅巻鏂囦欢鍒楄〃
+                    Iterator<MultipartFile> fileIte = fileList.iterator();
+                    Integer index = Constants.ONE;
+                    while (fileIte.hasNext()) {
+                        //鑾峰緱姣忎竴涓枃浠�
+                        MultipartFile file = fileIte.next();
+                        String originname = file.getOriginalFilename();
+                        InputStream is = file.getInputStream();
+                        String endType = originname.substring(originname.lastIndexOf("."), originname.length());
+                        String date = DateUtil.getNowShortDate();
+                        String fName = date + "/" + UUID.randomUUID() + endType;
+                        String fileName = folder + "/" + fName;
+                        boolean r = ftp.uploadInputstreamBatch(is, fileName, Constants.equalsInteger(index ,fileList.size()));
+                        if (r) {
+                            JSONObject fileJSON = new JSONObject();
+                            fileJSON.put("url", prefixPath + fileName);
+                            fileJSON.put("imgaddr", fName);
+                            fileJSON.put("imgname", fileName);
+                            fileJSON.put("originname", originname);
+                            jsonArray.add(fileJSON);
+                        }
+                        index = index + 1;
+                    }
+
+                }
+
+//                while (it.hasNext()) {
+//                    MultipartFile file = multipartRequest.getFile(it.next());
+//                    String originname = file.getOriginalFilename();
+//                    is = file.getInputStream();
+//                    String endType = originname.substring(originname.lastIndexOf("."),originname.length());
+//                    String date = DateUtil.getNowShortDate();
+//                    String fName =  date+"/"+ UUID.randomUUID()+endType;
+//                    String fileName = folder+"/"+fName;
+//                    boolean r = ftp.uploadInputstream(is,fileName);
+//                    if(r){
+//                        JSONObject fileJSON = new JSONObject();
+//                        fileJSON.put("url", prefixPath+fileName);
+//                        fileJSON.put("imgaddr", fName);
+//                        fileJSON.put("imgname", fileName);
+//                        fileJSON.put("originname", originname);
+//                        jsonArray.add(fileJSON);
+//                    }
+//                }
+                context.put("data",jsonArray);
+            }
+        } catch (Exception e) {
+            log.error("銆愪笂浼燜TP澶辫触銆�======================"+e.getMessage());
+            context.put("code", 0);
+            context.put("message", "涓婁紶澶辫触");
+            context.put("errno",0);
+            writerJson(response, context);
+            return;
+
+        }
+        writerJson(response, context);
+        return;
+    }
+
     @ApiOperation(value = "涓婁紶鏂囦欢鍒癋TP")
     @RequestMapping(method= RequestMethod.POST,value="/upload")
     @ResponseBody
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/InternalWebController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/InternalWebController.java
index 1739bfd..e0e31ec 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/InternalWebController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/InternalWebController.java
@@ -61,11 +61,11 @@
     private ApproveService approveService;
 
 
-    @ApiOperation(value = "鍐呴儴浜哄憳棣栭〉", notes = "H5")
-    @GetMapping("/internalHome")
-    public ApiResponse<InternalHomeVO> internalHome(@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
-        return ApiResponse.success("鏌ヨ鎴愬姛",approveService.getHomeData(getLoginUser(token).getMemberId()));
-    }
+//    @ApiOperation(value = "鍐呴儴浜哄憳棣栭〉", notes = "H5")
+//    @GetMapping("/internalHome")
+//    public ApiResponse<InternalHomeVO> internalHome(@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
+//        return ApiResponse.success("鏌ヨ鎴愬姛",approveService.getHomeData(getLoginUser(token).getMemberId()));
+//    }
 
     @ApiOperation("浠诲姟涓績")
     @PostMapping("/taskCenter")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java
index bf78546..1e2dbda 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.doumee.core.annotation.excel.ExcelColumn;
 import com.doumee.core.model.LoginUserModel;
+import com.doumee.dao.business.vo.ApproveDataVO;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.baomidou.mybatisplus.annotation.IdType;
@@ -292,4 +293,13 @@
     @ApiModelProperty(value = "绂诲満鐘舵�侊紱0=鏈鍦�", example = "1",hidden = true)
     @TableField(exist = false)
     private Integer levelStatus;
+
+    @ApiModelProperty(value = "鍒涘缓浜哄鍚�", example = "1")
+    @TableField(exist = false)
+    private String createMemberName;
+
+    @ApiModelProperty(value = "瀹℃壒淇℃伅鏁版嵁")
+    @TableField(exist = false)
+    private ApproveDataVO approveDateVO;
+
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ApproveService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ApproveService.java
index fb8029d..8254608 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ApproveService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/ApproveService.java
@@ -105,7 +105,7 @@
      * @param memberId
      * @return
      */
-    InternalHomeVO getHomeData(Integer memberId);
+    InternalHomeVO getHomeData(Integer memberId,Integer isDetail);
 
     void createApproveFlow(Integer tempType,Integer businessId,Integer createMemberId);
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
index b89edf1..35fdec6 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
@@ -79,7 +79,7 @@
      * @param id 涓婚敭
      * @return Visits
      */
-    Visits findById(Integer id);
+    Visits findById(Integer id,Integer memberId);
 
     /**
      * 鏉′欢鏌ヨ鍗曟潯璁板綍
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
index af762bd..62379b0 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveServiceImpl.java
@@ -236,42 +236,45 @@
     /**
      * 鍐呴儴浜哄憳H5椤甸潰棣栭〉
      * @param memberId
+     * @param isDetail 鏄惁鏌ヨ璇︾粏 1鏄紱0鍚�
      * @return
      */
     @Override
-    public InternalHomeVO getHomeData(Integer memberId){
+    public InternalHomeVO getHomeData(Integer memberId,Integer isDetail){
         InternalHomeVO internalHomeVO = new InternalHomeVO();
         internalHomeVO.setHomeImg(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.HOME_IMAGE).getCode());
-        internalHomeVO.setTaskNum(approveMapper.selectCount(new QueryWrapper<Approve>().lambda().eq(Approve::getChekorId,memberId).eq(Approve::getStatus,Constants.ZERO)));
         //浠诲姟鏁版嵁
-        List<Notices> noticesList = noticesJoinMapper.selectList(new QueryWrapper<Notices>().lambda().eq(Notices::getUserId,memberId).orderByDesc(Notices::getCreateDate));
-        if(CollectionUtils.isNotEmpty(noticesList)){
-            //寰呮垜澶勭悊鐨勬暟鎹�
-            internalHomeVO.setNoticeWaitNum(
-                noticesList.stream().filter(i->Constants.equalsInteger(i.getUserId(),memberId)
-                        &&Constants.equalsInteger(i.getStatus(),Constants.ZERO)
-                        &&Constants.equalsInteger(i.getSendacopy(),Constants.ZERO)
-                ).count()
-            );
-            internalHomeVO.setNoticeDealNum(
-                noticesList.stream().filter(i->Constants.equalsInteger(i.getUserId(),memberId)
-                        &&Constants.equalsInteger(i.getStatus(),Constants.ONE)
-                        &&Constants.equalsInteger(i.getSendacopy(),Constants.ZERO)
-                ).count()
-            );
+        List<Notices> noticesList = noticesJoinMapper.
+                selectList(new QueryWrapper<Notices>().lambda()
+                        .eq(Notices::getUserId,memberId).orderByDesc(Notices::getCreateDate));
+        internalHomeVO.setTaskNum(noticesList.size());
+        if(Constants.equalsInteger(Constants.ONE,isDetail)){
+            if(CollectionUtils.isNotEmpty(noticesList)){
+                //寰呮垜澶勭悊鐨勬暟鎹�
+                internalHomeVO.setNoticeWaitNum(
+                        noticesList.stream().filter(i->Constants.equalsInteger(i.getUserId(),memberId)
+                                &&Constants.equalsInteger(i.getStatus(),Constants.ZERO)
+                                &&Constants.equalsInteger(i.getSendacopy(),Constants.ZERO)
+                        ).count()
+                );
+                internalHomeVO.setNoticeDealNum(
+                        noticesList.stream().filter(i->Constants.equalsInteger(i.getUserId(),memberId)
+                                &&Constants.equalsInteger(i.getStatus(),Constants.ONE)
+                                &&Constants.equalsInteger(i.getSendacopy(),Constants.ZERO)
+                        ).count()
+                );
 
-            internalHomeVO.setNoticeCreateNum(
-                    noticesJoinMapper.selectCount(new QueryWrapper<Notices>().lambda().eq(Notices::getParam3,memberId))
-            );
+                internalHomeVO.setNoticeCreateNum(
+                        noticesJoinMapper.selectCount(new QueryWrapper<Notices>().lambda().eq(Notices::getParam3,memberId))
+                );
 
-            internalHomeVO.setNoticeCopyNum(
-                noticesList.stream().filter(i->Constants.equalsInteger(i.getUserId(),memberId) 
-                        &&Constants.equalsInteger(i.getSendacopy(),Constants.ONE)
-                ).count()
-            );
+                internalHomeVO.setNoticeCopyNum(
+                        noticesList.stream().filter(i->Constants.equalsInteger(i.getUserId(),memberId)
+                                &&Constants.equalsInteger(i.getSendacopy(),Constants.ONE)
+                        ).count()
+                );
+            }
         }
-
-
 
         return internalHomeVO;
     }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
index 63afab9..c263aac 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
@@ -76,6 +76,7 @@
         ){
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
+        hiddenDanger.setMemberId(hiddenDanger.getLoginUserInfo().getMemberId());
         hiddenDanger.setIsdeleted(Constants.ZERO);
         hiddenDanger.setCreateDate(new Date());
         hiddenDanger.setEditDate(new Date());
@@ -109,7 +110,7 @@
         hiddenDangerLog.setObjType(Constants.ZERO);
         hiddenDangerLogMapper.insert(hiddenDangerLog);
 
-        List<Multifile> multifiles  = hiddenDanger.getMultifileList();
+        List<Multifile> multifiles  = hiddenDanger.getSubmitFileList();
         if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifiles)){
             for (int i = 0; i < multifiles.size(); i++) {
                     Multifile multifile = multifiles.get(i);
@@ -125,8 +126,8 @@
         String title = "[闅愭偅闅忔墜鎷峕鎻愭姤浜�-"+hiddenDanger.getLoginUserInfo().getRealname();
         //json鏁版嵁
         Map<String,Object> jsonMap = new HashMap<>();
-        jsonMap.put("name", "鍙戠幇鍖哄煙:" + hiddenDangerParam.getName());
-        jsonMap.put("name", "闅愭偅绫诲瀷:" + hiddenDangerCate.getName());
+        jsonMap.put("area", "鍙戠幇鍖哄煙:" + hiddenDangerParam.getName());
+        jsonMap.put("cate", "闅愭偅绫诲瀷:" + hiddenDangerCate.getName());
         jsonMap.put("sTime", "鍙戠幇鏃堕棿:" + DateUtil.DateToStr(hiddenDanger.getSubmitTime() , "yyyy-MM-dd HH:mm"));
         //榛樿鐢熸垚涓�鏉� 鐢宠浜虹殑鏁版嵁 鏍囪鍒犻櫎鐘舵�佺敤浜庡鐞嗗埌 浠诲姟涓績锛堟垜鍙戣捣锛変娇鐢�
         Notices createNotices = new Notices();
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
index 63bf0b8..7d8d473 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -266,6 +266,7 @@
         //鍒涘缓鏃堕棿
         visits.setCreateDate(date);
         //璁垮鎶ュ
+        visits.setIsdeleted(Constants.ZERO);
         visits.setType(Constants.TWO);
         visits.setReceptMemberId(visitMember.getId());
         visits.setStatus(Constants.VisitStatus.waitCheck);
@@ -274,6 +275,7 @@
         //鍒濆鍖栬瀹俊鎭�
 //        initVisitInfo(visits,date);
         visitsMapper.insert(visits);
+        approveService.createApproveFlow(visits.getType(),visits.getId(),visits.getReceptMemberId());
         return visits.getId();
     }
 
@@ -621,12 +623,12 @@
             }
         }
         //璁垮鎶ュ
-        if(visits.getType().equals(Constants.TWO)
+        if(Constants.equalsInteger(visits.getType(),Constants.TWO)
             && (StringUtils.isBlank( visits.getName())
                 ||  StringUtils.isBlank( visits.getPhone())
-                ||  StringUtils.isBlank( visits.getCompanyName()))
+                ||  StringUtils.isBlank( visits.getCompanyName())
                 ||  StringUtils.isBlank( visits.getCarNos())
-                ||  Objects.isNull(visits.getReceptMemberId())
+                ||  Objects.isNull(visits.getReceptMemberId()))
         ){
             throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝淇℃伅濉啓涓嶆纭紒");
         }else if(visits.getType().equals(Constants.ONE) && StringUtils.isBlank(visits.getConstructionReason())){
@@ -1085,14 +1087,16 @@
     }
 
     @Override
-    public Visits findById(Integer id) {
+    public Visits findById(Integer id,Integer memberId) {
 
         MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>();
         queryWrapper.selectAll(Visits.class);
         queryWrapper.selectAs(Member::getName,Visits::getReceptMemberName);
         queryWrapper.selectAs(Company::getName,Visits::getReceptMemberDepartment);
+        queryWrapper.select("t3.name",Visits::getCreateMemberName);
         queryWrapper.leftJoin(Member.class,Member::getId,Visits::getReceptMemberId);
         queryWrapper.leftJoin(Company.class,Company::getErpId,Member::getErpOrgId);
+        queryWrapper.leftJoin("Member t3 on t.CREATE_MEMBER_ID=t3.id");
 
         queryWrapper.eq(Visits::getId,id);
         Visits result = visitsJoinMapper.selectJoinOne(Visits.class,queryWrapper);
@@ -1119,6 +1123,13 @@
         result.setWithUserList(visitsList);
         result.setPrefixUrl(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +
                 systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode());
+
+        result.setApproveDateVO(
+                approveService.arrangeApprovedData(id,
+                        result.getType(),
+                        memberId)
+        );
+
         return result;
     }
 
@@ -1147,10 +1158,9 @@
         queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId);
 
         queryWrapper.eq(Visits::getIsdeleted,Constants.ZERO);
-        queryWrapper.eq(pageWrap.getModel().getType()!=null,Visits::getType,pageWrap.getModel().getType());
         queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getType()),Visits::getType,pageWrap.getModel().getType());
         queryWrapper.eq(StringUtils.isNotBlank(pageWrap.getModel().getOpenid()),Visits::getOpenid,pageWrap.getModel().getOpenid());
-        queryWrapper.eq(StringUtils.isBlank(pageWrap.getModel().getOpenid()),"1","2");
+//        queryWrapper.eq(StringUtils.isBlank(pageWrap.getModel().getOpenid()),"1","2");
         queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getName()),ms->ms.like(Visits::getName,pageWrap.getModel().getName())
                 .or().like(Visits::getPhone,pageWrap.getModel().getName()))
                 .eq(StringUtils.isNotBlank(pageWrap.getModel().getIdcardNo()),Visits::getIdcardNo,DESUtil.encrypt(Constants.EDS_PWD, pageWrap.getModel().getIdcardNo()))

--
Gitblit v1.9.3