From 48d06fac940e6f28d599eb7fbf05c2cce41ecb30 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期三, 29 十月 2025 10:35:57 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wuhuyancao' into wuhuyancao

---
 server/system_service/src/main/java/com/doumee/core/utils/Constants.java                                    |   41 +++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetServiceImpl.java      |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java   |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkInterfaceLog.java               |  100 +++++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/JkInterfaceLogService.java          |   97 ++++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkInterfaceLogServiceImpl.java |  164 ++++++++++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkIccardServiceImpl.java       |    1 
 server/system_service/src/main/java/com/doumee/core/utils/PasswordGenerator.java                            |    2 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/JkInterfaceLogCloudController.java         |   92 ++++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java  |  116 +++++----
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/cabinet/CabinetController.java               |    8 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java           |    2 
 server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java              |    1 
 server/db/business.jk_interface_log.permissions.sql                                                         |    6 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/JkInterfaceLogMapper.java               |   12 +
 15 files changed, 584 insertions(+), 62 deletions(-)

diff --git a/server/db/business.jk_interface_log.permissions.sql b/server/db/business.jk_interface_log.permissions.sql
new file mode 100644
index 0000000..1734746
--- /dev/null
+++ b/server/db/business.jk_interface_log.permissions.sql
@@ -0,0 +1,6 @@
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:jkinterfacelog:create', '鏂板缓閽ュ寵鏌滄帴鍙d氦浜掕褰�', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:jkinterfacelog:delete', '鍒犻櫎閽ュ寵鏌滄帴鍙d氦浜掕褰�', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:jkinterfacelog:update', '淇敼閽ュ寵鏌滄帴鍙d氦浜掕褰�', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:jkinterfacelog:query', '鏌ヨ閽ュ寵鏌滄帴鍙d氦浜掕褰�', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:jkinterfacelog:exportExcel', '瀵煎嚭閽ュ寵鏌滄帴鍙d氦浜掕褰�(Excel)', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
index 5f238ae..eed258c 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -56,6 +56,7 @@
     public static final String SIGN_IN_QRCODE ="SIGN_IN_QRCODE" ;
     public static final String SIGN_IN_ATTENTION ="SIGN_IN_ATTENTION" ;
     public static final String SIGN_IN_QRCODE_PREFIX ="SIGN_IN_QRCODE_PREFIX" ;
+
     /**
      * 鎿嶄綔绫诲瀷锛岀敤浜庡仛鎺ュ彛楠岃瘉鍒嗙粍
      */
@@ -86,6 +87,7 @@
     public static final String PRESSURE ="PRESSURE" ;
     public static final String CONCENTRATION ="CONCENTRATION" ;
     public static final String THRESHOLD ="THRESHOLD" ;
+    public static final String LINK_PHONE ="LINK_PHONE" ;
     //琚嫓璁夸汉淇℃伅鏍¢獙鏂瑰紡锛�0鎵嬫満鍙峰崟鐙牎楠� 1鎵嬫満鍙峰拰濮撳悕缁勫悎鏍¢獙锛�
     public static final String BEVISITED_USER_VALID = "BEVISITED_USER_VALID";
     public static final String LW_BEVISITED_USER_VALID = "LW_BEVISITED_USER_VALID";
@@ -1496,4 +1498,43 @@
         map.put(key,val);
         return JSONObject.toJSONString(map);
     }
+
+
+
+    public  enum WarningConfig {
+        ALARM_TEST(10002, "閰掔簿娴嬭瘯"),
+        GRID_TIME_OUT_INFO(10003, "寮�闂ㄨ秴鏃舵湭鍏抽棴"),
+        KEY_TIME_OUT_BACK(10004, "閽ュ寵瓒呮椂鏈綊杩�"),
+        ;
+        // 鎴愬憳鍙橀噺
+        private int key;
+        private String info;
+
+        // 鏋勯�犳柟娉�
+        WarningConfig(int key,String info) {
+            this.key = key;
+            this.info = info;
+        }
+
+
+        public int getKey() {
+            return key;
+        }
+
+        public void setKey(int key) {
+            this.key = key;
+        }
+
+        public String getInfo() {
+            return info;
+        }
+
+        public void setInfo(String info) {
+            this.info = info;
+        }
+
+    }
+
+
+
 }
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/PasswordGenerator.java b/server/system_service/src/main/java/com/doumee/core/utils/PasswordGenerator.java
index 484a040..8afedfd 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/PasswordGenerator.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/PasswordGenerator.java
@@ -25,7 +25,7 @@
     public static void getPasswordTypeCount(String password){
         Set<Integer> typeCount = new HashSet<>(4);
         for (int i = 0; i < password.length(); i++) {
-            String key = password.substring(0,i);
+            String key = password.substring(i,i+1);
             if(LOWER.indexOf(key)>=Constants.ZERO){
                 typeCount.add(Constants.ZERO);
             }else if(UPPER.indexOf(key)>=Constants.ZERO){
diff --git a/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java b/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
index a3f727e..2500ca4 100644
--- a/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
+++ b/server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
@@ -325,6 +325,7 @@
                     .set(SystemUser::getProhibitStatus,Constants.ZERO)
                     .set(SystemUser::getErrTimes,Constants.ZERO)
                     .setSql(" PROHIBIT_TIME = null ")
+                    .setSql(" PROHIBIT_REMARK = null ")
                     .eq(SystemUser::getId,user.getId())
             );
         }
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/JkInterfaceLogCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/JkInterfaceLogCloudController.java
new file mode 100644
index 0000000..0985f8c
--- /dev/null
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/JkInterfaceLogCloudController.java
@@ -0,0 +1,92 @@
+package com.doumee.cloud.admin;
+
+import com.doumee.api.BaseController;
+import com.doumee.config.annotation.CloudRequiredPermission;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.model.JkInterfaceLog;
+import com.doumee.service.business.JkInterfaceLogService;
+import com.doumee.service.business.third.model.ApiResponse;
+import com.doumee.service.business.third.model.PageData;
+import com.doumee.service.business.third.model.PageWrap;
+import io.swagger.annotations.Api;
+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 javax.servlet.http.HttpServletResponse;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2025/10/28 16:26
+ */
+@Api(tags = "閽ュ寵鏌滄帴鍙d氦浜掕褰�")
+@RestController
+@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/business/jkInterfaceLog")
+public class JkInterfaceLogCloudController extends BaseController {
+
+    @Autowired
+    private JkInterfaceLogService jkInterfaceLogService;
+
+    @PreventRepeat
+    @ApiOperation("鏂板缓")
+    @PostMapping("/create")
+    @CloudRequiredPermission("business:jkinterfacelog:create")
+    public ApiResponse create(@RequestBody JkInterfaceLog jkInterfaceLog) {
+        return ApiResponse.success(jkInterfaceLogService.create(jkInterfaceLog));
+    }
+
+    @ApiOperation("鏍规嵁ID鍒犻櫎")
+    @GetMapping("/delete/{id}")
+    @CloudRequiredPermission("business:jkinterfacelog:delete")
+    public ApiResponse deleteById(@PathVariable Integer id) {
+        jkInterfaceLogService.deleteById(id);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鎵归噺鍒犻櫎")
+    @GetMapping("/delete/batch")
+    @CloudRequiredPermission("business:jkinterfacelog:delete")
+    public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+        String [] idArray = ids.split(",");
+        List<Integer> idList = new ArrayList<>();
+        for (String id : idArray) {
+            idList.add(Integer.valueOf(id));
+        }
+        jkInterfaceLogService.deleteByIdInBatch(idList);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鏍规嵁ID淇敼")
+    @PostMapping("/updateById")
+    @CloudRequiredPermission("business:jkinterfacelog:update")
+    public ApiResponse updateById(@RequestBody JkInterfaceLog jkInterfaceLog) {
+        jkInterfaceLogService.updateById(jkInterfaceLog);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鍒嗛〉鏌ヨ")
+    @PostMapping("/page")
+    @CloudRequiredPermission("business:jkinterfacelog:query")
+    public ApiResponse<PageData<JkInterfaceLog>> findPage (@RequestBody PageWrap<JkInterfaceLog> pageWrap) {
+        return ApiResponse.success(jkInterfaceLogService.findPage(pageWrap));
+    }
+
+    @ApiOperation("瀵煎嚭Excel")
+    @PostMapping("/exportExcel")
+    @CloudRequiredPermission("business:jkinterfacelog:exportExcel")
+    public void exportExcel (@RequestBody PageWrap<JkInterfaceLog> pageWrap, HttpServletResponse response) {
+        ExcelExporter.build(JkInterfaceLog.class).export(jkInterfaceLogService.findPage(pageWrap).getRecords(), "閽ュ寵鏌滄帴鍙d氦浜掕褰�", response);
+    }
+
+    @ApiOperation("鏍规嵁ID鏌ヨ")
+    @GetMapping("/{id}")
+    @CloudRequiredPermission("business:jkinterfacelog:query")
+    public ApiResponse findById(@PathVariable Integer id) {
+        return ApiResponse.success(jkInterfaceLogService.findById(id));
+    }
+}
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/cabinet/CabinetController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/cabinet/CabinetController.java
index fccb6f7..f9f1183 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/cabinet/CabinetController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/cabinet/CabinetController.java
@@ -11,6 +11,7 @@
 import com.doumee.dao.business.dto.*;
 import com.doumee.dao.business.model.InterfaceLog;
 import com.doumee.dao.business.model.JkCabinetGrid;
+import com.doumee.dao.business.model.JkInterfaceLog;
 import com.doumee.dao.business.model.JkVersion;
 import com.doumee.dao.business.vo.AdminCabinetVO;
 import com.doumee.dao.business.vo.CabinetDetailVO;
@@ -52,7 +53,7 @@
     private JkCabinetGridService jkCabinetGridService;
 
     @Autowired
-    private InterfaceLogService interfaceLogService;
+    private JkInterfaceLogService interfaceLogService;
 
     @Autowired
     private JkIccardService jkIccardService;
@@ -86,8 +87,6 @@
         this.saveInterfaceLog(Constants.strToJson("id",id.toString()), null,"updateRunStatusById","鏇存柊閽ュ寵鏌滃湪绾跨姸鎬�");
         return ApiResponse.success("鏇存柊鎴愬姛");
     }
-
-
 
     @ApiOperation("鑾峰彇鍙鐞嗙殑閽ュ寵鏌滃垪琛� - 绠$悊鍛�")
     @GetMapping("/getAdminCabinetInfo")
@@ -190,7 +189,7 @@
     }
 
     private void saveInterfaceLog(String s, String result,String url,String name) {
-        InterfaceLog hkMonitoryLogDO=new InterfaceLog();
+        JkInterfaceLog hkMonitoryLogDO=new JkInterfaceLog();
         hkMonitoryLogDO.setType(0);
         hkMonitoryLogDO.setCreateDate(new Date());
         hkMonitoryLogDO.setIsdeleted(0);
@@ -200,7 +199,6 @@
         hkMonitoryLogDO.setUrl(url);
         interfaceLogService.create(hkMonitoryLogDO);
     }
-
 
     @LoginNoRequired
     @ApiOperation("閰掔簿妫�娴嬪憡璀�")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/JkInterfaceLogMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/JkInterfaceLogMapper.java
new file mode 100644
index 0000000..1a4e717
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/JkInterfaceLogMapper.java
@@ -0,0 +1,12 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.JkInterfaceLog;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2025/10/28 16:26
+ */
+public interface JkInterfaceLogMapper extends BaseMapper<JkInterfaceLog> {
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkInterfaceLog.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkInterfaceLog.java
new file mode 100644
index 0000000..6c0a376
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkInterfaceLog.java
@@ -0,0 +1,100 @@
+package com.doumee.dao.business.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+
+/**
+ * 閽ュ寵鏌滄帴鍙d氦浜掕褰�
+ * @author 姹熻箘韫�
+ * @date 2025/10/28 16:26
+ */
+@Data
+@ApiModel("閽ュ寵鏌滄帴鍙d氦浜掕褰�")
+@TableName("`jk_interface_log`")
+public class JkInterfaceLog {
+
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "涓婚敭", example = "1")
+    @ExcelColumn(name="涓婚敭")
+    private Integer id;
+
+    @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+    private Integer creator;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @ExcelColumn(name="鍒涘缓鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createDate;
+
+    @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+    private Integer editor;
+
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
+    @ExcelColumn(name="鏇存柊鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date editDate;
+
+    @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+    @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+    private Integer isdeleted;
+
+    @ApiModelProperty(value = "澶囨敞")
+    @ExcelColumn(name="澶囨敞")
+    private String remark;
+
+    @ApiModelProperty(value = "绫诲瀷 0璋冪敤 1鎺ㄩ�佹帴鍙�", example = "1")
+    @ExcelColumn(name="绫诲瀷 0璋冪敤 1鎺ㄩ�佹帴鍙�")
+    private Integer type;
+
+    @ApiModelProperty(value = "鎺ュ彛鍚嶇О")
+    @ExcelColumn(name="鎺ュ彛鍚嶇О")
+    private String name;
+
+    @ApiModelProperty(value = "鍦板潃淇℃伅")
+    @ExcelColumn(name="鍦板潃淇℃伅")
+    private String url;
+
+    @ApiModelProperty(value = "璇锋眰鍙傛暟")
+    @ExcelColumn(name="璇锋眰鍙傛暟")
+    private String request;
+
+    @ApiModelProperty(value = "鍝嶅簲鍙傛暟")
+    @ExcelColumn(name="鍝嶅簲鍙傛暟")
+    private String repose;
+
+    @ApiModelProperty(value = "璋冪敤缁撴灉 0鎴愬姛 1澶辫触", example = "1")
+    @ExcelColumn(name="璋冪敤缁撴灉 0鎴愬姛 1澶辫触")
+    private Integer success;
+
+    @ApiModelProperty(value = "骞冲彴", example = "1")
+    @ExcelColumn(name="骞冲彴")
+    private Integer plat;
+
+    @ApiModelProperty(value = "鍏宠仈瀵硅薄绫诲瀷", example = "1")
+    @ExcelColumn(name="鍏宠仈瀵硅薄绫诲瀷")
+    private Integer objType;
+
+    @ApiModelProperty(value = "鍏宠仈瀵硅薄缂栫爜锛堝涓敤鑻辨枃閫楀彿闅斿紑锛�")
+    @ExcelColumn(name="鍏宠仈瀵硅薄缂栫爜锛堝涓敤鑻辨枃閫楀彿闅斿紑锛�")
+    private String objId;
+
+
+    @ApiModelProperty(value = "寮�濮嬫椂闂�")
+    @TableField(exist = false)
+    private Date startDate;
+
+    @ApiModelProperty(value = "缁撴潫鏃堕棿")
+    @TableField(exist = false)
+    private Date endDate;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/JkInterfaceLogService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/JkInterfaceLogService.java
new file mode 100644
index 0000000..2984a5b
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/JkInterfaceLogService.java
@@ -0,0 +1,97 @@
+package com.doumee.service.business;
+
+import com.doumee.service.business.third.model.PageData;
+import com.doumee.service.business.third.model.PageWrap;
+import com.doumee.dao.business.model.JkInterfaceLog;
+import java.util.List;
+
+/**
+ * 閽ュ寵鏌滄帴鍙d氦浜掕褰昐ervice瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2025/10/28 16:26
+ */
+public interface JkInterfaceLogService {
+
+    /**
+     * 鍒涘缓
+     * 
+     * @param jkInterfaceLog 瀹炰綋瀵硅薄
+     * @return Integer
+     */
+    Integer create(JkInterfaceLog jkInterfaceLog);
+
+    /**
+     * 涓婚敭鍒犻櫎
+     *
+     * @param id 涓婚敭
+     */
+    void deleteById(Integer id);
+
+    /**
+     * 鍒犻櫎
+     *
+     * @param jkInterfaceLog 瀹炰綋瀵硅薄
+     */
+    void delete(JkInterfaceLog jkInterfaceLog);
+
+    /**
+     * 鎵归噺涓婚敭鍒犻櫎
+     *
+     * @param ids 涓婚敭闆�
+     */
+    void deleteByIdInBatch(List<Integer> ids);
+
+    /**
+     * 涓婚敭鏇存柊
+     *
+     * @param jkInterfaceLog 瀹炰綋瀵硅薄
+     */
+    void updateById(JkInterfaceLog jkInterfaceLog);
+
+    /**
+     * 鎵归噺涓婚敭鏇存柊
+     *
+     * @param jkInterfaceLogs 瀹炰綋闆�
+     */
+    void updateByIdInBatch(List<JkInterfaceLog> jkInterfaceLogs);
+
+    /**
+     * 涓婚敭鏌ヨ
+     *
+     * @param id 涓婚敭
+     * @return JkInterfaceLog
+     */
+    JkInterfaceLog findById(Integer id);
+
+    /**
+     * 鏉′欢鏌ヨ鍗曟潯璁板綍
+     *
+     * @param jkInterfaceLog 瀹炰綋瀵硅薄
+     * @return JkInterfaceLog
+     */
+    JkInterfaceLog findOne(JkInterfaceLog jkInterfaceLog);
+
+    /**
+     * 鏉′欢鏌ヨ
+     *
+     * @param jkInterfaceLog 瀹炰綋瀵硅薄
+     * @return List<JkInterfaceLog>
+     */
+    List<JkInterfaceLog> findList(JkInterfaceLog jkInterfaceLog);
+  
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param pageWrap 鍒嗛〉瀵硅薄
+     * @return PageData<JkInterfaceLog>
+     */
+    PageData<JkInterfaceLog> findPage(PageWrap<JkInterfaceLog> pageWrap);
+
+    /**
+     * 鏉′欢缁熻
+     *
+     * @param jkInterfaceLog 瀹炰綋瀵硅薄
+     * @return long
+     */
+    long count(JkInterfaceLog jkInterfaceLog);
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java
index 3b6469b..83aa186 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java
@@ -356,7 +356,7 @@
 
     @Override
     public List<Cars> findList(Cars cars) {
-        if(Objects.nonNull(cars)
+        if(Objects.nonNull(cars) && Objects.nonNull(cars.getType())
         && Constants.equalsInteger(Constants.ZERO,cars.getType())){
             return this.getGwCar();
         }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java
index d8c35ca..72875bd 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java
@@ -132,11 +132,15 @@
             );
             return;
         }else if(Objects.nonNull(jkCabinetGrid.getChannelCode())||Objects.nonNull(jkCabinetGrid.getBoardCode())){
-            jkCabinetGridMapper.update(new UpdateWrapper<JkCabinetGrid>().lambda()
-                    .set(Objects.nonNull(jkCabinetGrid.getChannelCode()),JkCabinetGrid::getChannelCode,jkCabinetGrid.getChannelCode())
-                    .set(Objects.nonNull(jkCabinetGrid.getBoardCode()),JkCabinetGrid::getBoardCode,jkCabinetGrid.getBoardCode())
-                    .set(JkCabinetGrid::getEditDate, DateUtil.getCurrDateTime())
-                    .eq(JkCabinetGrid::getId,jkCabinetGrid.getId()));
+            try{
+                jkCabinetGridMapper.update(new UpdateWrapper<JkCabinetGrid>().lambda()
+                        .set(Objects.nonNull(jkCabinetGrid.getChannelCode()),JkCabinetGrid::getChannelCode,jkCabinetGrid.getChannelCode())
+                        .set(Objects.nonNull(jkCabinetGrid.getBoardCode()),JkCabinetGrid::getBoardCode,jkCabinetGrid.getBoardCode())
+                        .set(JkCabinetGrid::getEditDate, DateUtil.getCurrDateTime())
+                        .eq(JkCabinetGrid::getId,jkCabinetGrid.getId()));
+            }catch (Exception e){
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇风‘淇濋挜鍖欐煖閫氶亾鍙�/鏉垮彿鍞竴");
+            }
         }
     }
 
@@ -183,7 +187,10 @@
                 .eq(Objects.nonNull(model.getStatus()),JkCabinetGrid::getStatus,model.getStatus())
                 .isNull(Objects.nonNull(model.getBindStatus())&&Constants.equalsInteger(model.getBindStatus(),Constants.ZERO),JkCabinetGrid::getKeyId)
                 .isNotNull(Objects.nonNull(model.getBindStatus())&&Constants.equalsInteger(model.getBindStatus(),Constants.ONE),JkCabinetGrid::getKeyId)
-                .like(StringUtils.isNotBlank(model.getKeyCode()),JkKeys::getCode,model.getKeyCode());
+                .like(StringUtils.isNotBlank(model.getKeyCode()),JkKeys::getCode,model.getKeyCode())
+                .orderByAsc(JkCabinetGrid::getId)
+                ;
+
         IPage<JkCabinetGrid> iPage = jkCabinetGridMapper.selectJoinPage(page,JkCabinetGrid.class,wrapper);
         for (JkCabinetGrid jkCabinetGrid:iPage.getRecords()) {
             jkCabinetGrid.setBindStatus(Objects.isNull(jkCabinetGrid.getKeyId())?Constants.ZERO:Constants.ONE);
@@ -247,7 +254,7 @@
                 jkCabinetGridMapper.update(new UpdateWrapper<JkCabinetGrid>().lambda()
                         .set(JkCabinetGrid::getKeyId,null)
                         .set(JkCabinetGrid::getEditDate, DateUtil.getCurrDateTime())
-                        .eq(JkCabinetGrid::getId,jkCabinetGridList.stream().map(i->i.getId()).collect(Collectors.toList())));
+                        .in(JkCabinetGrid::getId,jkCabinetGridList.stream().map(i->i.getId()).collect(Collectors.toList())));
                 List<Integer> keyIdList = jkCabinetGridList.stream().filter(i->Objects.nonNull(i.getKeyId())).map(i->i.getKeyId()).collect(Collectors.toList());
                 if(CollectionUtils.isNotEmpty(keyIdList)){
                     jkKeysMapper.update(new UpdateWrapper<JkKeys>().lambda()
@@ -384,7 +391,9 @@
                     jkCabinetLog.setGridId(jkCabinetGrid.getId());
                     jkCabinetLog.setAuthType(Constants.TWO);
                     jkCabinetLog.setMemberId(loginUserInfo.getMemberId());
+                    jkCabinetLog.setStatus(Constants.ZERO);
                     if(Objects.nonNull(jkCabinetGrid.getKeyId())){
+                        jkCabinetLog.setKeyId(jkCabinetGrid.getKeyId());
                         JkKeys jkKeys = jkKeysMapper.selectById(jkCabinetGrid.getKeyId());
                         if(Objects.nonNull(jkKeys)){
                             if(!Constants.equalsInteger(jkKeys.getStatus(),Constants.ZERO)){
@@ -432,10 +441,11 @@
             jkCabinetLog.setAuthType(dto.getAuthType());
             jkCabinetLog.setMemberId(dto.getMemberId());
             jkCabinetLog.setKeyStatus(Constants.ZERO);
-            Boolean isChange = false;
+            jkCabinetLog.setStatus(Constants.ZERO);
             if(Objects.nonNull(jkCabinetGrid.getKeyId())){
                 //鍙湁閽ュ寵鏌滅粦瀹氫簡閽ュ寵淇℃伅 鎵嶄細鏇存柊閽ュ寵鐨勪俊鎭�
                 JkKeys jkKeys = jkKeysMapper.selectById(jkCabinetGrid.getKeyId());
+                jkCabinetLog.setKeyId(jkCabinetGrid.getKeyId());
                 if(Objects.nonNull(jkKeys)){
                     if(!Constants.equalsInteger(jkKeys.getStatus(),Constants.ZERO)){
                         jkCabinetLog.setCarId(jkKeys.getCarId());
@@ -445,27 +455,23 @@
                     jkCabinetLog.setKeyStatus(dto.getKeyStatus());
                     //閽ュ寵鐘舵�佷笌褰撳墠鎿嶄綔鐘舵�佷笉涓�鑷达紝鍒欒繘琛屾洿鏂伴挜鍖欑姸鎬�
                     if(!Constants.equalsInteger(jkKeys.getStatus(),dto.getKeyStatus())
-                    && (Constants.equalsInteger(dto.getKeyStatus(),Constants.ONE)||Constants.equalsInteger(dto.getKeyStatus(),Constants.TWO))){
+                     && (Constants.equalsInteger(dto.getKeyStatus(),Constants.ONE)||Constants.equalsInteger(dto.getKeyStatus(),Constants.TWO))){
                         jkKeysMapper.update(null,new UpdateWrapper<JkKeys>().lambda()
                                 .set(JkKeys::getEditDate,DateUtil.getCurrDateTime())
                                 .set(JkKeys::getStatus,dto.getKeyStatus())
                                 .eq(JkKeys::getId,jkKeys.getId())
                         );
-                        isChange = true;
                     }
                 }
             }
             jkCabinetLog.setType(Constants.ONE);
             jkCabinetLogMapper.insert(jkCabinetLog);
-            //鏌ヨ閽ュ寵瀵瑰簲鐨勫�熷嚭浜嗛挜鍖欑殑寮�闂ㄨ褰� 杩涜娣诲姞鍏抽棬璁板綍涓婚敭
-            if(isChange && Constants.equalsInteger(dto.getKeyStatus(),Constants.ONE)){
-                jkCabinetLogMapper.update(null,new UpdateWrapper<JkCabinetLog>().lambda()
-                        .set(JkCabinetLog::getCloseLogId,jkCabinetLog.getId())
-                        .eq(JkCabinetLog::getKeyId,jkCabinetLog.getKeyId())
-                        .eq(JkCabinetLog::getType,Constants.ZERO)
-                        .eq(JkCabinetLog::getKeyStatus,Constants.TWO)
-                        .isNotNull(JkCabinetLog::getCloseLogId));
-            }
+            //鏌ヨ閽ュ寵鐨勫紑闂ㄨ褰� 杩涜娣诲姞鍏抽棬璁板綍涓婚敭
+            jkCabinetLogMapper.update(null,new UpdateWrapper<JkCabinetLog>().lambda()
+                    .set(JkCabinetLog::getCloseLogId,jkCabinetLog.getId())
+                    .eq(JkCabinetLog::getKeyId,jkCabinetLog.getKeyId())
+                    .eq(JkCabinetLog::getType,Constants.ZERO)
+                    .isNull(JkCabinetLog::getCloseLogId));
         }
     }
 
@@ -495,7 +501,7 @@
                 List<String> authMemberList =  Arrays.asList(jkCabinet.getAuthMemberId().split(","));
                 Boolean flag = true;
                 for (String id:authMemberList) {
-                    if(id.equals(jkCabinet.getAuthMemberId())){
+                    if(Arrays.asList(jkCabinet.getAuthMemberId().split(",")).contains(id)){
                         flag = false;
                         break;
                     }
@@ -513,6 +519,7 @@
                             .leftJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId)
                             .eq(JkCabinetGrid::getIsdeleted,Constants.ZERO)
                             .eq(JkCabinetGrid::getWorkingStatus,Constants.ZERO)
+                            .eq(JkCabinetGrid::getStatus,Constants.ZERO)
                             .eq(JkCabinetGrid::getCabinetId,dto.getCabinetId())
                             .in(Constants.equalsInteger(dto.getType(),Constants.ONE),JkKeys::getStatus,Constants.TWO,Constants.THREE)
                             .in(Constants.equalsInteger(dto.getType(),Constants.ZERO),JkKeys::getStatus,Constants.ONE)
@@ -523,7 +530,7 @@
             for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) {
                 jkCabinetGrid.setBindStatus(Objects.isNull(jkCabinetGrid.getKeyId())?Constants.ZERO:Constants.ONE);
                 jkCabinetGrid.setKeyStatus(Objects.isNull(jkCabinetGrid.getKeyStatus())?Constants.ZERO:jkCabinetGrid.getKeyStatus());
-            }
+             }
 
         }
         return jkCabinetGridList;
@@ -554,7 +561,9 @@
         jkCabinetLog.setAuthType(openGridDriverDTO.getAuthType());
         jkCabinetLog.setMemberId(openGridDriverDTO.getMemberId());
         jkCabinetLog.setType(Constants.ZERO);
+        jkCabinetLog.setStatus(Constants.ZERO);
         if(Objects.nonNull(jkCabinetGrid.getKeyId())){
+            jkCabinetLog.setKeyId(jkCabinetGrid.getKeyId());
             JkKeys jkKeys = jkKeysMapper.selectById(jkCabinetGrid.getKeyId());
             if(Objects.nonNull(jkKeys)){
                 if(!Constants.equalsInteger(jkKeys.getStatus(),Constants.ZERO)){
@@ -582,23 +591,23 @@
                             .last(" limit 1 ")
             );
 
-//            if(Objects.nonNull(jkCabinetGrid)){
-//                log.error("鏌滄牸寮�闂ㄨ秴鏃舵湭鍏抽棴鍛婅淇℃伅锛歿}"+JSONObject.toJSONString(jkCabinetGrid));
-//                Warning warning = warningMapper.selectOne(new QueryWrapper<Warning>().lambda()
-//                        .eq(Warning::getType,Constants.THREE).eq(Warning::getCode,Constants.WarningConfig.GRID_TIME_OUT_INFO.getKey()).eq(Warning::getIsdeleted,Constants.ZERO).last("limt 1"));
-//                if(Objects.isNull(warning)){
-//                    return;
-//                }
-//                List<Member> memberList = this.getWarningList(warning);
-//                if(CollectionUtils.isEmpty(memberList)){
-//                    return;
-//                }
-//                //瀛樺偍寮傚父鏃ュ織
-//
-//
-//            }else{
-//
-//            }
+            if(Objects.nonNull(jkCabinetGrid)){
+                log.error("鏌滄牸寮�闂ㄨ秴鏃舵湭鍏抽棴鍛婅淇℃伅锛歿}"+JSONObject.toJSONString(jkCabinetGrid));
+                Warning warning = warningMapper.selectOne(new QueryWrapper<Warning>().lambda()
+                        .eq(Warning::getType,Constants.THREE).eq(Warning::getCode,Constants.WarningConfig.GRID_TIME_OUT_INFO.getKey()).eq(Warning::getIsdeleted,Constants.ZERO).last("limt 1"));
+                if(Objects.isNull(warning)){
+                    return;
+                }
+                List<Member> memberList = this.getWarningList(warning);
+                if(CollectionUtils.isEmpty(memberList)){
+                    return;
+                }
+                //todo 瀛樺偍寮傚父鏃ュ織
+
+
+            }else{
+
+            }
         }
     }
 
@@ -640,9 +649,6 @@
     public void alcoholTestAlarm(AlcoholTestAlarmDTO dto){
         if(Objects.nonNull(dto)
                 && Objects.nonNull(dto.getMemberId())){
-
-
-
             SystemUser systemUser =
                     systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
                             .eq(SystemUser::getMemberId,dto.getMemberId())
@@ -650,19 +656,21 @@
                             .last(" limit 1 ")
                     );
 
-//            Warning warning = warningMapper.selectOne(new QueryWrapper<Warning>().lambda()
-//                    .eq(Warning::getType,Constants.THREE).eq(Warning::getCode,Constants.WarningConfig.GRID_TIME_OUT_INFO.getKey()).eq(Warning::getIsdeleted,Constants.ZERO).last("limt 1"));
-//            if(Objects.isNull(warning)){
-//                return;
-//            }
-//            List<Member> memberList = this.getWarningList(warning);
-//
-//
-//
-//            //瀛樺偍寮傚父鏃ュ織
-//            if(Objects.nonNull(systemUser)){
-//                log.error("鍙告満閰掔簿妫�娴嬶紝瓒呭嚭閰掔簿鍊煎憡璀︿俊鎭細{}"+JSONObject.toJSONString(systemUser));
-//            }
+            Warning warning = warningMapper.selectOne(new QueryWrapper<Warning>().lambda()
+                    .eq(Warning::getType,Constants.THREE).eq(Warning::getCode,Constants.WarningConfig.KEY_TIME_OUT_BACK.getKey()).eq(Warning::getIsdeleted,Constants.ZERO).last("limt 1"));
+            if(Objects.isNull(warning)){
+                return;
+            }
+            List<Member> memberList = this.getWarningList(warning);
+            if(CollectionUtils.isEmpty(memberList)){
+                return;
+            }
+            //todo 瀛樺偍寮傚父鏃ュ織
+
+            //瀛樺偍寮傚父鏃ュ織
+            if(Objects.nonNull(systemUser)){
+                log.error("鍙告満閰掔簿妫�娴嬶紝瓒呭嚭閰掔簿鍊煎憡璀︿俊鎭細{}"+JSONObject.toJSONString(systemUser));
+            }
         }
     }
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java
index 2d681e0..3147486 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java
@@ -114,6 +114,8 @@
                 .eq(Objects.nonNull(model.getKeyId()),JkCabinetLog::getKeyId,model.getKeyId())
                 .eq(Objects.nonNull(model.getAuthType()),JkCabinetLog::getAuthType,model.getAuthType())
                 .eq(Objects.nonNull(model.getStatus()),JkCabinetLog::getStatus,model.getStatus())
+                .eq(Objects.nonNull(model.getType()),JkCabinetLog::getType,model.getType())
+                .in(Objects.nonNull(model.getType())&&Constants.equalsInteger(model.getType(),Constants.ONE),JkCabinetLog::getType,"1,2")
                 .eq(JkCabinetLog::getIsdeleted, Constants.ZERO)
                 .orderByDesc(JkCabinetLog::getCreateDate);
         IPage<JkCabinetLog>  iPage = jkCabinetLogMapper.selectJoinPage(page,JkCabinetLog.class,wrapper);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetServiceImpl.java
index 9cb95fd..1332ee3 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetServiceImpl.java
@@ -568,7 +568,7 @@
             cabinetInfoVO.setCabinetConfigDataVO(cabinetConfigDataVO);
 
         }
-        cabinetInfoVO.setLinkPhone("18156091665");
+        cabinetInfoVO.setLinkPhone(systemDictDataBiz.queryByCode(Constants.CABINET_CONFIG,Constants.LINK_PHONE).getCode());
         List<Category> categoryList = categoryMapper.selectList(new QueryWrapper<Category>().lambda()
                 .eq(Category::getIsdeleted,Constants.ZERO)
                 .eq(Category::getStatus,Constants.ZERO)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkIccardServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkIccardServiceImpl.java
index 30d8ea3..7900f83 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkIccardServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkIccardServiceImpl.java
@@ -151,6 +151,7 @@
                 .leftJoin(Member.class,Member::getId,JkIccard::getMemberId)
                 .eq(JkIccard::getIsdeleted,Constants.ZERO)
                 .eq(Objects.nonNull(model.getStatus()),JkIccard::getStatus,model.getStatus())
+                .eq(Objects.nonNull(model.getUserType()),JkIccard::getUserType,model.getUserType())
                 .like(StringUtils.isNotBlank(model.getCode()),JkIccard::getCode,model.getCode())
                 .like(StringUtils.isNotBlank(model.getMemberName()),Member::getName,model.getMemberName())
                 .orderByDesc(JkIccard::getCreateDate)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkInterfaceLogServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkInterfaceLogServiceImpl.java
new file mode 100644
index 0000000..0b4391d
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkInterfaceLogServiceImpl.java
@@ -0,0 +1,164 @@
+package com.doumee.service.business.impl;
+
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.JkInterfaceLogMapper;
+import com.doumee.dao.business.model.InterfaceLog;
+import com.doumee.dao.business.model.JkInterfaceLog;
+import com.doumee.service.business.JkInterfaceLogService;
+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.doumee.service.business.third.model.PageData;
+import com.doumee.service.business.third.model.PageWrap;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+
+/**
+ * 閽ュ寵鏌滄帴鍙d氦浜掕褰昐ervice瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2025/10/28 16:26
+ */
+@Service
+public class JkInterfaceLogServiceImpl implements JkInterfaceLogService {
+
+    @Autowired
+    private JkInterfaceLogMapper jkInterfaceLogMapper;
+
+    @Override
+    public Integer create(JkInterfaceLog jkInterfaceLog) {
+        jkInterfaceLogMapper.insert(jkInterfaceLog);
+        return jkInterfaceLog.getId();
+    }
+
+    @Override
+    public void deleteById(Integer id) {
+        jkInterfaceLogMapper.deleteById(id);
+    }
+
+    @Override
+    public void delete(JkInterfaceLog jkInterfaceLog) {
+        UpdateWrapper<JkInterfaceLog> deleteWrapper = new UpdateWrapper<>(jkInterfaceLog);
+        jkInterfaceLogMapper.delete(deleteWrapper);
+    }
+
+    @Override
+    public void deleteByIdInBatch(List<Integer> ids) {
+        if (CollectionUtils.isEmpty(ids)) {
+            return;
+        }
+        jkInterfaceLogMapper.deleteBatchIds(ids);
+    }
+
+    @Override
+    public void updateById(JkInterfaceLog jkInterfaceLog) {
+        jkInterfaceLogMapper.updateById(jkInterfaceLog);
+    }
+
+    @Override
+    public void updateByIdInBatch(List<JkInterfaceLog> jkInterfaceLogs) {
+        if (CollectionUtils.isEmpty(jkInterfaceLogs)) {
+            return;
+        }
+        for (JkInterfaceLog jkInterfaceLog: jkInterfaceLogs) {
+            this.updateById(jkInterfaceLog);
+        }
+    }
+
+    @Override
+    public JkInterfaceLog findById(Integer id) {
+        return jkInterfaceLogMapper.selectById(id);
+    }
+
+    @Override
+    public JkInterfaceLog findOne(JkInterfaceLog jkInterfaceLog) {
+        QueryWrapper<JkInterfaceLog> wrapper = new QueryWrapper<>(jkInterfaceLog);
+        return jkInterfaceLogMapper.selectOne(wrapper);
+    }
+
+    @Override
+    public List<JkInterfaceLog> findList(JkInterfaceLog jkInterfaceLog) {
+        QueryWrapper<JkInterfaceLog> wrapper = new QueryWrapper<>(jkInterfaceLog);
+        return jkInterfaceLogMapper.selectList(wrapper);
+    }
+  
+    @Override
+    public PageData<JkInterfaceLog> findPage(PageWrap<JkInterfaceLog> pageWrap) {
+        IPage<JkInterfaceLog> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        QueryWrapper<JkInterfaceLog> queryWrapper = new QueryWrapper<>();
+        Utils.MP.blankToNull(pageWrap.getModel());
+        if (pageWrap.getModel().getId() != null) {
+            queryWrapper.lambda().eq(JkInterfaceLog::getId, pageWrap.getModel().getId());
+        }
+        if (pageWrap.getModel().getCreator() != null) {
+            queryWrapper.lambda().eq(JkInterfaceLog::getCreator, pageWrap.getModel().getCreator());
+        }
+        if (pageWrap.getModel().getCreateDate() != null) {
+            queryWrapper.lambda().ge(JkInterfaceLog::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
+            queryWrapper.lambda().le(JkInterfaceLog::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
+        }
+        if (pageWrap.getModel().getEditor() != null) {
+            queryWrapper.lambda().eq(JkInterfaceLog::getEditor, pageWrap.getModel().getEditor());
+        }
+        if (pageWrap.getModel().getEditDate() != null) {
+            queryWrapper.lambda().ge(JkInterfaceLog::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
+            queryWrapper.lambda().le(JkInterfaceLog::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
+        }
+        if (pageWrap.getModel().getStartDate() != null) {
+            queryWrapper.lambda().ge(JkInterfaceLog::getCreateDate, pageWrap.getModel().getStartDate());
+        }
+        if (pageWrap.getModel().getEndDate() != null) {
+            queryWrapper.lambda().le(JkInterfaceLog::getCreateDate, pageWrap.getModel().getEndDate());
+        }
+        if (pageWrap.getModel().getIsdeleted() != null) {
+            queryWrapper.lambda().eq(JkInterfaceLog::getIsdeleted, pageWrap.getModel().getIsdeleted());
+        }
+        if (pageWrap.getModel().getRemark() != null) {
+            queryWrapper.lambda().eq(JkInterfaceLog::getRemark, pageWrap.getModel().getRemark());
+        }
+        if (pageWrap.getModel().getType() != null) {
+            queryWrapper.lambda().eq(JkInterfaceLog::getType, pageWrap.getModel().getType());
+        }
+        if (pageWrap.getModel().getName() != null) {
+            queryWrapper.lambda().eq(JkInterfaceLog::getName, pageWrap.getModel().getName());
+        }
+        if (pageWrap.getModel().getUrl() != null) {
+            queryWrapper.lambda().eq(JkInterfaceLog::getUrl, pageWrap.getModel().getUrl());
+        }
+        if (pageWrap.getModel().getRequest() != null) {
+            queryWrapper.lambda().eq(JkInterfaceLog::getRequest, pageWrap.getModel().getRequest());
+        }
+        if (pageWrap.getModel().getRepose() != null) {
+            queryWrapper.lambda().eq(JkInterfaceLog::getRepose, pageWrap.getModel().getRepose());
+        }
+        if (pageWrap.getModel().getSuccess() != null) {
+            queryWrapper.lambda().eq(JkInterfaceLog::getSuccess, pageWrap.getModel().getSuccess());
+        }
+        if (pageWrap.getModel().getPlat() != null) {
+            queryWrapper.lambda().eq(JkInterfaceLog::getPlat, pageWrap.getModel().getPlat());
+        }
+        if (pageWrap.getModel().getObjType() != null) {
+            queryWrapper.lambda().eq(JkInterfaceLog::getObjType, pageWrap.getModel().getObjType());
+        }
+        if (pageWrap.getModel().getObjId() != null) {
+            queryWrapper.lambda().eq(JkInterfaceLog::getObjId, pageWrap.getModel().getObjId());
+        }
+        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+                queryWrapper.orderByDesc(sortData.getProperty());
+            } else {
+                queryWrapper.orderByAsc(sortData.getProperty());
+            }
+        }
+        return PageData.from(jkInterfaceLogMapper.selectPage(page, queryWrapper));
+    }
+
+    @Override
+    public long count(JkInterfaceLog jkInterfaceLog) {
+        QueryWrapper<JkInterfaceLog> wrapper = new QueryWrapper<>(jkInterfaceLog);
+        return jkInterfaceLogMapper.selectCount(wrapper);
+    }
+}

--
Gitblit v1.9.3