Explorar o código

web端诊断日志分页查询接口

bmmx hai 1 ano
pai
achega
65c7b0613e

+ 1 - 1
.idea/JavaSceneConfigState.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="SmartInputSourceJavaSceneConfigState">
-    <option name="customChineseScenes" value="{&quot;capsLockState&quot;:false,&quot;code&quot;:&quot;;ApiModelProperty(value);debug(s);Api(tags);ApiOperation();BadReqException(message);info(s);BizException(message)&quot;,&quot;enable&quot;:true,&quot;languageType&quot;:&quot;CHINESE&quot;,&quot;name&quot;:&quot;自定义中文切换&quot;,&quot;tip&quot;:&quot;&quot;}" />
+    <option name="customChineseScenes" value="{&quot;capsLockState&quot;:false,&quot;code&quot;:&quot;;ApiModelProperty(value);debug(s);Api(tags);BadReqException(message);info(s);BizException(message);ApiOperation()&quot;,&quot;enable&quot;:true,&quot;languageType&quot;:&quot;CHINESE&quot;,&quot;name&quot;:&quot;自定义中文切换&quot;,&quot;tip&quot;:&quot;&quot;}" />
   </component>
 </project>

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 3 - 0
.idea/shelf/Uncommitted_changes_before_Update_at_2024_2_22_10_24_[Changes]/shelved.patch


+ 4 - 0
.idea/shelf/Uncommitted_changes_before_Update_at_2024_2_22_10_24__Changes_.xml

@@ -0,0 +1,4 @@
+<changelist name="Uncommitted_changes_before_Update_at_2024_2_22_10_24_[Changes]" date="1708568725460" recycled="true" deleted="true">
+  <option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Uncommitted_changes_before_Update_at_2024_2_22_10_24_[Changes]/shelved.patch" />
+  <option name="DESCRIPTION" value="Uncommitted changes before Update at 2024/2/22 10:24 [Changes]" />
+</changelist>

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 3 - 0
.idea/shelf/Uncommitted_changes_before_Update_at_2024_2_26_19_11_[Changes]/shelved.patch


+ 4 - 0
.idea/shelf/Uncommitted_changes_before_Update_at_2024_2_26_19_11__Changes_.xml

@@ -0,0 +1,4 @@
+<changelist name="Uncommitted_changes_before_Update_at_2024_2_26_19_11_[Changes]" date="1708945905653" recycled="true" deleted="true">
+  <option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Uncommitted_changes_before_Update_at_2024_2_26_19_11_[Changes]/shelved.patch" />
+  <option name="DESCRIPTION" value="Uncommitted changes before Update at 2024/2/26 19:11 [Changes]" />
+</changelist>

+ 132 - 80
.idea/workspace.xml

@@ -4,14 +4,12 @@
     <option name="autoReloadType" value="SELECTIVE" />
   </component>
   <component name="ChangeListManager">
-    <list default="true" id="46b159bd-08ca-42f0-b80f-41d4944a8a29" name="Changes" comment="refined">
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/om/controller/user/ApproveAccountController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/om/controller/admin/ApproveAccountController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/om/controller/user/DepartmentController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/om/controller/admin/DepartmentController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/om/controller/user/DictController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/om/controller/admin/DictController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/om/controller/user/EmployeeController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/om/controller/admin/EmployeeController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/om/controller/user/MenuController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/om/controller/admin/MenuController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/om/controller/user/RoleController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/om/controller/admin/RoleController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/om/controller/user/RoleMenuController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/om/controller/admin/RoleMenuController.java" afterDir="false" />
+    <list default="true" id="46b159bd-08ca-42f0-b80f-41d4944a8a29" name="Changes" comment="app端维修厂信息查询">
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/om/entity/dto/DiaLogQueryPageDTO.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/om/entity/vo/DiaLogQueryPageVO.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/om/entity/vo/DiaLogQueryVO.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/JavaSceneConfigState.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/JavaSceneConfigState.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -27,11 +25,6 @@
   </component>
   <component name="Git.Settings">
     <option name="PUSH_AUTO_UPDATE" value="true" />
-    <option name="RECENT_BRANCH_BY_REPOSITORY">
-      <map>
-        <entry key="$PROJECT_DIR$" value="master" />
-      </map>
-    </option>
     <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
     <option name="UPDATE_TYPE" value="REBASE" />
   </component>
@@ -41,7 +34,8 @@
   <component name="MavenImportPreferences">
     <option name="generalSettings">
       <MavenGeneralSettings>
-        <option name="userSettingsFile" value="$USER_HOME$/.m2/settings.xml" />
+        <option name="mavenHome" value="B:\apache-maven-3.8.8" />
+        <option name="userSettingsFile" value="B:\apache-maven-3.8.8\conf\settings.xml" />
       </MavenGeneralSettings>
     </option>
   </component>
@@ -56,57 +50,55 @@
     <option name="hideEmptyMiddlePackages" value="true" />
     <option name="showLibraryContents" value="true" />
   </component>
-  <component name="PropertiesComponent"><![CDATA[{
-  "keyToString": {
-    "ASKED_ADD_EXTERNAL_FILES": "true",
-    "Maven.OperationSystem [clean].executor": "Run",
-    "Maven.OperationSystem [validate].executor": "Run",
-    "RequestMappingsPanelOrder0": "0",
-    "RequestMappingsPanelOrder1": "1",
-    "RequestMappingsPanelWidth0": "75",
-    "RequestMappingsPanelWidth1": "75",
-    "RunOnceActivity.OpenProjectViewOnStart": "true",
-    "RunOnceActivity.ShowReadmeOnStart": "true",
-    "SHARE_PROJECT_CONFIGURATION_FILES": "true",
-    "Spring Boot.OperationApplication.executor": "Run",
-    "WebServerToolWindowFactoryState": "false",
-    "git-widget-placeholder": "permission-wxy",
-    "kotlin-language-version-configured": "true",
-    "last_opened_file_path": "/Users/wangwulin/IdeaProjects/OperationSystem/src/main/java/com/om/controller/user",
-    "node.js.detected.package.eslint": "true",
-    "node.js.detected.package.tslint": "true",
-    "node.js.selected.package.eslint": "(autodetect)",
-    "node.js.selected.package.tslint": "(autodetect)",
-    "nodejs_package_manager_path": "npm",
-    "npm.dev.executor": "Run",
-    "project.structure.last.edited": "Project",
-    "project.structure.proportion": "0.15",
-    "project.structure.side.proportion": "0.2",
-    "settings.editor.selected.configurable": "MavenSettings",
-    "spring.configuration.checksum": "e5344c6eb967ac845090dcf3a4fa5dde",
-    "vue.rearranger.settings.migration": "true"
+  <component name="PropertiesComponent">{
+  &quot;keyToString&quot;: {
+    &quot;Maven.OperationSystem [package].executor&quot;: &quot;Run&quot;,
+    &quot;RequestMappingsPanelOrder0&quot;: &quot;0&quot;,
+    &quot;RequestMappingsPanelOrder1&quot;: &quot;1&quot;,
+    &quot;RequestMappingsPanelWidth0&quot;: &quot;75&quot;,
+    &quot;RequestMappingsPanelWidth1&quot;: &quot;75&quot;,
+    &quot;RunOnceActivity.OpenProjectViewOnStart&quot;: &quot;true&quot;,
+    &quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
+    &quot;SHARE_PROJECT_CONFIGURATION_FILES&quot;: &quot;true&quot;,
+    &quot;Spring Boot.OperationApplication.executor&quot;: &quot;Run&quot;,
+    &quot;git-widget-placeholder&quot;: &quot;master&quot;,
+    &quot;kotlin-language-version-configured&quot;: &quot;true&quot;,
+    &quot;last_opened_file_path&quot;: &quot;B:/WorkSpace/PracticalRojects/OperationSystem/src/main/resources&quot;,
+    &quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
+    &quot;node.js.detected.package.tslint&quot;: &quot;true&quot;,
+    &quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
+    &quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
+    &quot;nodejs_package_manager_path&quot;: &quot;npm&quot;,
+    &quot;npm.dev.executor&quot;: &quot;Run&quot;,
+    &quot;project.structure.last.edited&quot;: &quot;Project&quot;,
+    &quot;project.structure.proportion&quot;: &quot;0.15&quot;,
+    &quot;project.structure.side.proportion&quot;: &quot;0.2&quot;,
+    &quot;settings.editor.selected.configurable&quot;: &quot;settings.sync&quot;,
+    &quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
   }
-}]]></component>
+}</component>
   <component name="ReactorSettings">
     <option name="notificationShown" value="true" />
   </component>
   <component name="RecentsManager">
+    <key name="CreateClassDialog.RecentsKey">
+      <recent name="com.om.entity.vo" />
+    </key>
     <key name="CopyFile.RECENT_KEYS">
-      <recent name="$PROJECT_DIR$/src/main/java/com/om/controller/user" />
-      <recent name="$PROJECT_DIR$/src/main/java/com/om/service" />
-      <recent name="$PROJECT_DIR$/src/main/java/com/om/entity/po" />
-      <recent name="$PROJECT_DIR$/src/main/java/com/om/service/impl" />
-      <recent name="$PROJECT_DIR$/src/main/java/com/om/mapper" />
+      <recent name="B:\WorkSpace\PracticalRojects\OperationSystem\src\main\resources" />
+      <recent name="B:\WorkSpace\PracticalRojects\OperationSystem\src\main\java\com\om\utils" />
+      <recent name="B:\WorkSpace\PracticalRojects\OperationSystem\src\main\java\com\om" />
     </key>
     <key name="MoveFile.RECENT_KEYS">
-      <recent name="$PROJECT_DIR$/screenshots" />
+      <recent name="B:\WorkSpace\PracticalRojects\OperationSystem\src\main\java\com\om\entity\dto" />
+      <recent name="B:\WorkSpace\PracticalRojects\OperationSystem\src\main\java\com\om\entity\vo" />
     </key>
     <key name="CopyClassDialog.RECENTS_KEY">
-      <recent name="com.om.controller.user" />
-      <recent name="com.om.config" />
-      <recent name="com.om.utils" />
+      <recent name="com.om.entity.vo" />
       <recent name="com.om.entity.dto" />
-      <recent name="com.om.controller" />
+      <recent name="com.om.exception" />
+      <recent name="com.om.utils" />
+      <recent name="com.om.interceptor" />
     </key>
   </component>
   <component name="RunManager" selected="Spring Boot.OperationApplication">
@@ -143,8 +135,7 @@
   <component name="SharedIndexes">
     <attachedChunks>
       <set>
-        <option value="jdk-1.8.0_392-corretto-1.8.0_392-4caba194b151-3820a516" />
-        <option value="jdk-20.0.2-corretto-20.0.2.1-4caba194b151-d89c1816" />
+        <option value="jdk-1.8.0_402-corretto-1.8.0_402-4caba194b151-ae57be32" />
       </set>
     </attachedChunks>
   </component>
@@ -184,10 +175,30 @@
       <workItem from="1707364400277" duration="8765000" />
       <workItem from="1707387945482" duration="394000" />
       <workItem from="1707388468820" duration="1399000" />
-      <workItem from="1707438514767" duration="8903000" />
-      <workItem from="1708670527995" duration="3132000" />
-      <workItem from="1708916949997" duration="4355000" />
-      <workItem from="1708925853376" duration="15000000" />
+      <workItem from="1707438514767" duration="9268000" />
+      <workItem from="1707463634286" duration="815000" />
+      <workItem from="1707633333740" duration="1575000" />
+      <workItem from="1707653917092" duration="6642000" />
+      <workItem from="1707728510583" duration="2281000" />
+      <workItem from="1707872966811" duration="1909000" />
+      <workItem from="1707973008307" duration="685000" />
+      <workItem from="1707983591450" duration="123000" />
+      <workItem from="1707983760440" duration="6261000" />
+      <workItem from="1707998898939" duration="608000" />
+      <workItem from="1708051465700" duration="670000" />
+      <workItem from="1708070824510" duration="32000" />
+      <workItem from="1708224080726" duration="11870000" />
+      <workItem from="1708413994818" duration="314000" />
+      <workItem from="1708414851331" duration="16812000" />
+      <workItem from="1708492515944" duration="9952000" />
+      <workItem from="1708674940286" duration="1689000" />
+      <workItem from="1708691827697" duration="595000" />
+      <workItem from="1708738223797" duration="684000" />
+      <workItem from="1708745103093" duration="64000" />
+      <workItem from="1708784505662" duration="645000" />
+      <workItem from="1708911469611" duration="4731000" />
+      <workItem from="1709009450401" duration="5875000" />
+      <workItem from="1709037379532" duration="1412000" />
     </task>
     <task id="LOCAL-00001" summary="管理员登录">
       <option name="closed" value="true" />
@@ -245,59 +256,100 @@
       <option name="project" value="LOCAL" />
       <updated>1707379339505</updated>
     </task>
-    <task id="LOCAL-00008" summary="web维修厂管理接口">
-      <created>1708568311113</created>
+    <task id="LOCAL-00008" summary="web客户端用户修改">
+      <option name="closed" value="true" />
+      <created>1707455662216</created>
       <option name="number" value="00008" />
       <option name="presentableId" value="LOCAL-00008" />
       <option name="project" value="LOCAL" />
-      <updated>1708568311113</updated>
+      <updated>1707455662216</updated>
     </task>
-    <task id="LOCAL-00009" summary="web维修厂管理接口">
-      <created>1708671884585</created>
+    <task id="LOCAL-00009" summary="配置CORS">
+      <option name="closed" value="true" />
+      <created>1707633567265</created>
       <option name="number" value="00009" />
       <option name="presentableId" value="LOCAL-00009" />
       <option name="project" value="LOCAL" />
-      <updated>1708671884585</updated>
+      <updated>1707633567265</updated>
     </task>
-    <task id="LOCAL-00010" summary="用户角色权限更新">
+    <task id="LOCAL-00010" summary="客户端模块接口">
       <option name="closed" value="true" />
-      <created>1708942701821</created>
+      <created>1707989375307</created>
       <option name="number" value="00010" />
       <option name="presentableId" value="LOCAL-00010" />
       <option name="project" value="LOCAL" />
-      <updated>1708942701821</updated>
+      <updated>1707989375307</updated>
     </task>
-    <task id="LOCAL-00011" summary="refined">
+    <task id="LOCAL-00011" summary="诊断报告模块mp生成代码,mapper对应4个表,service对应4个,而controller只有一个repair">
       <option name="closed" value="true" />
-      <created>1708943025018</created>
+      <created>1708225769308</created>
       <option name="number" value="00011" />
       <option name="presentableId" value="LOCAL-00011" />
       <option name="project" value="LOCAL" />
-      <updated>1708943025018</updated>
+      <updated>1708225769308</updated>
     </task>
-    <task id="LOCAL-00012" summary="refined">
+    <task id="LOCAL-00012" summary="客户端诊断报告">
       <option name="closed" value="true" />
-      <created>1708944825375</created>
+      <created>1708432545588</created>
       <option name="number" value="00012" />
       <option name="presentableId" value="LOCAL-00012" />
       <option name="project" value="LOCAL" />
-      <updated>1708944825375</updated>
+      <updated>1708432545588</updated>
     </task>
-    <option name="localTasksCounter" value="13" />
+    <task id="LOCAL-00013" summary="添加用户id">
+      <option name="closed" value="true" />
+      <created>1708432756419</created>
+      <option name="number" value="00013" />
+      <option name="presentableId" value="LOCAL-00013" />
+      <option name="project" value="LOCAL" />
+      <updated>1708432756419</updated>
+    </task>
+    <task id="LOCAL-00014" summary="后台web诊断报告接口">
+      <option name="closed" value="true" />
+      <created>1708516992034</created>
+      <option name="number" value="00014" />
+      <option name="presentableId" value="LOCAL-00014" />
+      <option name="project" value="LOCAL" />
+      <updated>1708516992034</updated>
+    </task>
+    <task id="LOCAL-00015" summary="后台web诊断报告接口">
+      <option name="closed" value="true" />
+      <created>1708518319767</created>
+      <option name="number" value="00015" />
+      <option name="presentableId" value="LOCAL-00015" />
+      <option name="project" value="LOCAL" />
+      <updated>1708518319767</updated>
+    </task>
+    <option name="localTasksCounter" value="16" />
     <servers />
   </component>
   <component name="TypeScriptGeneratedFilesManager">
     <option name="version" value="3" />
   </component>
   <component name="VcsManagerConfiguration">
-    <option name="ADD_EXTERNAL_FILES_SILENTLY" value="true" />
     <MESSAGE value="管理员登录" />
     <MESSAGE value="初始化运维项目" />
     <MESSAGE value="管理员电话和邮箱修改" />
     <MESSAGE value="web品牌管理接口" />
     <MESSAGE value="web维修厂管理接口" />
-    <MESSAGE value="用户角色权限更新" />
-    <MESSAGE value="refined" />
-    <option name="LAST_COMMIT_MESSAGE" value="refined" />
+    <MESSAGE value="web客户端用户修改" />
+    <MESSAGE value="配置CORS" />
+    <MESSAGE value="客户端模块接口" />
+    <MESSAGE value="诊断报告模块mp生成代码,mapper对应4个表,service对应4个,而controller只有一个repair" />
+    <MESSAGE value="客户端诊断报告" />
+    <MESSAGE value="添加用户id" />
+    <MESSAGE value="后台web诊断报告接口" />
+    <option name="LAST_COMMIT_MESSAGE" value="后台web诊断报告接口" />
+  </component>
+  <component name="XDebuggerManager">
+    <breakpoint-manager>
+      <breakpoints>
+        <line-breakpoint enabled="true" type="java-line">
+          <url>file://$PROJECT_DIR$/src/main/java/com/om/interceptor/JwtTokenAdminInterceptor.java</url>
+          <line>75</line>
+          <option name="timeStamp" value="10" />
+        </line-breakpoint>
+      </breakpoints>
+    </breakpoint-manager>
   </component>
 </project>

+ 41 - 0
src/main/java/com/om/controller/admin/DiagnosticLogController.java

@@ -0,0 +1,41 @@
+package com.om.controller.admin;
+
+
+import com.om.entity.dto.DiaLogQueryPageDTO;
+import com.om.entity.vo.DiaLogQueryPageVO;
+import com.om.entity.vo.DistributorQueryPageVO;
+import com.om.service.IDiagnosticLogService;
+import com.om.utils.Result;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author bmmx
+ * @since 2024-02-27
+ */
+@RestController
+@Api(tags = "诊断日志相关接口")
+@RequestMapping("/web/diagnostic-log")
+public class DiagnosticLogController {
+
+    @Resource
+    private IDiagnosticLogService diagnosticLogService;
+
+    @ApiOperation("分页查询")
+    @PostMapping("getPageList")
+    public Result<DiaLogQueryPageVO> getPageList(@RequestBody DiaLogQueryPageDTO dto){
+        return diagnosticLogService.getPageList(dto);
+    }
+
+}

+ 20 - 0
src/main/java/com/om/controller/admin/VciInfoController.java

@@ -0,0 +1,20 @@
+package com.om.controller.admin;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author bmmx
+ * @since 2024-02-27
+ */
+@RestController
+@RequestMapping("/vci-info")
+public class VciInfoController {
+
+}

+ 29 - 0
src/main/java/com/om/entity/dto/DiaLogQueryPageDTO.java

@@ -0,0 +1,29 @@
+package com.om.entity.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+@Data
+@NoArgsConstructor
+public class DiaLogQueryPageDTO {
+    @ApiModelProperty(value = "当前页码")
+    private Integer pageIndex;
+
+    @ApiModelProperty(value = "每个页码的大小")
+    private Integer pageSize;
+
+    @ApiModelProperty(value = "搜索字段---设备sn号")
+    private String vciSn;
+
+    @ApiModelProperty(value = "搜索字段---用户名")
+    private String account;
+
+    @ApiModelProperty(value = "搜索字段---开始时间")
+    private LocalDateTime beginTime;
+
+    @ApiModelProperty(value = "搜索字段---结束时间")
+    private LocalDateTime endTime;
+}

+ 81 - 0
src/main/java/com/om/entity/po/DiagnosticLog.java

@@ -0,0 +1,81 @@
+package com.om.entity.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author bmmx
+ * @since 2024-02-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("diagnostic_log")
+@ApiModel(value="DiagnosticLog对象", description="")
+public class DiagnosticLog implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "日志ID")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "用户ID")
+    private Integer userId;
+
+    @ApiModelProperty(value = "激活路径")
+    private String activePath;
+
+    @ApiModelProperty(value = "品牌ID")
+    private Integer brandId;
+
+    @ApiModelProperty(value = "客户端ID")
+    private Integer clientId;
+
+    @ApiModelProperty(value = "国家")
+    private String country;
+
+    @ApiModelProperty(value = "创建时间")
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "日期文件夹名称")
+    private String nameDateDir;
+
+    @ApiModelProperty(value = "诊断日志文件名")
+    private String nameLog;
+
+    @ApiModelProperty(value = "诊断日志保存时间")
+    private LocalDateTime nameTimePoint;
+
+    @ApiModelProperty(value = "记录时间")
+    private LocalDateTime recordTime;
+
+    @ApiModelProperty(value = "保存路径")
+    private String savePath;
+
+    @ApiModelProperty(value = "更新时间")
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "VCI设备ID")
+    private String vciId;
+
+    @ApiModelProperty(value = "车型ID")
+    private Integer vehicleId;
+
+    @ApiModelProperty(value = "车辆识别代码")
+    private String vin;
+
+
+}

+ 66 - 0
src/main/java/com/om/entity/po/VciInfo.java

@@ -0,0 +1,66 @@
+package com.om.entity.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author bmmx
+ * @since 2024-02-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("vci_info")
+@ApiModel(value="VciInfo对象", description="")
+public class VciInfo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "蓝牙地址")
+    private String bluetoothAddress;
+
+    @ApiModelProperty(value = "创建时间")
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "ID")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "校验码")
+    private String pairingPwd;
+
+    @ApiModelProperty(value = "领用人")
+    private String receiver;
+
+    @ApiModelProperty(value = "状态 (0: 启用, 1: 禁用)")
+    private Integer state;
+
+    @ApiModelProperty(value = "出库人")
+    private String stockOutPerson;
+
+    @ApiModelProperty(value = "出库时间")
+    private LocalDateTime stockOutTime;
+
+    @ApiModelProperty(value = "电话")
+    private String tel;
+
+    @ApiModelProperty(value = "更新时间")
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "VCI编号")
+    private String vciNum;
+
+
+}

+ 31 - 0
src/main/java/com/om/entity/vo/DiaLogQueryPageVO.java

@@ -0,0 +1,31 @@
+package com.om.entity.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@NoArgsConstructor
+public class DiaLogQueryPageVO {
+
+    @ApiModelProperty(value = "当前页码")
+    private Integer current;
+
+    @ApiModelProperty(value = "总页码")
+    private Integer pages;
+
+    @ApiModelProperty(value = "每个页码的大小")
+    private Integer size;
+
+    @ApiModelProperty(value = "总数量")
+    private Integer total;
+
+    @ApiModelProperty(value = "是否是查询")
+    private Boolean searchCount = false;
+
+    @ApiModelProperty(value = "结果集")
+    private List<DiaLogQueryVO> records;
+
+}

+ 66 - 0
src/main/java/com/om/entity/vo/DiaLogQueryVO.java

@@ -0,0 +1,66 @@
+package com.om.entity.vo;
+
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+@Data
+@NoArgsConstructor
+public class DiaLogQueryVO {
+
+    @ApiModelProperty(value = "日志ID")
+    private Integer id;
+
+    @ApiModelProperty(value = "用户名")
+    private String account;
+
+    @ApiModelProperty(value = "激活路径")
+    private String activePath;
+
+    @ApiModelProperty(value = "品牌名称")
+    private String brand;
+
+    @ApiModelProperty(value = "客户端编号")
+    private String clientNum;
+
+    @ApiModelProperty(value = "国家")
+    private String country;
+
+    @ApiModelProperty(value = "创建时间")
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "日期文件夹名称")
+    private String nameDateDir;
+
+    @ApiModelProperty(value = "诊断日志文件名")
+    private String nameLog;
+
+    @ApiModelProperty(value = "诊断日志保存时间")
+    private LocalDateTime nameTimePoint;
+
+    @ApiModelProperty(value = "记录时间")
+    private LocalDateTime recordTime;
+
+    @ApiModelProperty(value = "保存路径")
+    private String savePath;
+
+    @ApiModelProperty(value = "更新时间")
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "VCISn")
+    private String vciSn;
+
+    @ApiModelProperty(value = "车型ID")
+    private Integer vehicleId;
+
+    @ApiModelProperty(value = "车型")
+    private Integer vehicle;
+
+    @ApiModelProperty(value = "车辆识别代码")
+    private String vin;
+}

+ 16 - 0
src/main/java/com/om/mapper/DiagnosticLogMapper.java

@@ -0,0 +1,16 @@
+package com.om.mapper;
+
+import com.om.entity.po.DiagnosticLog;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author bmmx
+ * @since 2024-02-27
+ */
+public interface DiagnosticLogMapper extends BaseMapper<DiagnosticLog> {
+
+}

+ 16 - 0
src/main/java/com/om/mapper/VciInfoMapper.java

@@ -0,0 +1,16 @@
+package com.om.mapper;
+
+import com.om.entity.po.VciInfo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author bmmx
+ * @since 2024-02-27
+ */
+public interface VciInfoMapper extends BaseMapper<VciInfo> {
+
+}

+ 20 - 0
src/main/java/com/om/service/IDiagnosticLogService.java

@@ -0,0 +1,20 @@
+package com.om.service;
+
+import com.om.entity.dto.DiaLogQueryPageDTO;
+import com.om.entity.po.DiagnosticLog;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.om.entity.vo.DiaLogQueryPageVO;
+import com.om.utils.Result;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author bmmx
+ * @since 2024-02-27
+ */
+public interface IDiagnosticLogService extends IService<DiagnosticLog> {
+
+    Result<DiaLogQueryPageVO> getPageList(DiaLogQueryPageDTO dto);
+}

+ 16 - 0
src/main/java/com/om/service/IVciInfoService.java

@@ -0,0 +1,16 @@
+package com.om.service;
+
+import com.om.entity.po.VciInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author bmmx
+ * @since 2024-02-27
+ */
+public interface IVciInfoService extends IService<VciInfo> {
+
+}

+ 112 - 0
src/main/java/com/om/service/impl/DiagnosticLogServiceImpl.java

@@ -0,0 +1,112 @@
+package com.om.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.om.entity.dto.DiaLogQueryPageDTO;
+import com.om.entity.po.*;
+import com.om.entity.vo.DiaLogQueryPageVO;
+import com.om.entity.vo.DiaLogQueryVO;
+import com.om.mapper.DiagnosticLogMapper;
+import com.om.service.*;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.om.utils.Result;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author bmmx
+ * @since 2024-02-27
+ */
+@Service
+public class DiagnosticLogServiceImpl extends ServiceImpl<DiagnosticLogMapper, DiagnosticLog> implements IDiagnosticLogService {
+
+    @Resource
+    private IUserService userService;
+
+    @Resource
+    private IBrandService brandService;
+
+    @Resource
+    private IClientService clientService;
+
+
+
+    @Resource
+    private IVciInfoService vciInfoService;
+
+    @Override
+    public Result<DiaLogQueryPageVO> getPageList(DiaLogQueryPageDTO dto) {
+        //从dto中获取数据
+        Integer pageIndex = dto.getPageIndex();
+        Integer pageSize = dto.getPageSize();
+        String account = dto.getAccount();
+        String vciSn = dto.getVciSn();
+        LocalDateTime beginTime = dto.getBeginTime();
+        LocalDateTime endTime = dto.getEndTime();
+        User one = null;
+        if (account!=null){
+            //根据用户名查询用户
+             one = userService.lambdaQuery()
+                    .eq(User::getUsername, account)
+                    .one();
+        }
+
+
+        VciInfo vciInfo = null;
+        if (vciSn!=null){
+            //根据vciSn查询VCI
+            vciInfo = vciInfoService.lambdaQuery()
+                    .eq(VciInfo::getVciNum, vciSn)
+                    .one();
+        }
+
+        Page<DiagnosticLog> page = this.lambdaQuery()
+                .like(one != null, DiagnosticLog::getUserId, one.getId())
+                .like(vciInfo != null, DiagnosticLog::getVciId, vciInfo.getId())
+                .ge(beginTime != null, DiagnosticLog::getCreateTime, beginTime)
+                .le(endTime != null, DiagnosticLog::getCreateTime, endTime)
+                .orderByDesc(DiagnosticLog::getCreateTime)
+                .page(new Page<>(pageIndex, pageSize));
+
+        DiaLogQueryPageVO vo = new DiaLogQueryPageVO();
+        vo.setCurrent((int) page.getCurrent());
+        vo.setSize((int) page.getSize());
+        vo.setPages((int) page.getPages());
+        vo.setTotal((int) page.getTotal());
+
+        if (account!=null||vciSn!=null||beginTime != null||endTime != null){
+            vo.setSearchCount(true);
+        }
+
+        List<DiagnosticLog> records = page.getRecords();
+        List<DiaLogQueryVO> diaLogQueryVOS = new ArrayList<>();
+        for (DiagnosticLog record : records) {
+            DiaLogQueryVO diaLogQueryVO = BeanUtil.copyProperties(record, DiaLogQueryVO.class);
+            User user = userService.getById(record.getUserId());
+            diaLogQueryVO.setAccount(user.getUsername());
+            Brand brand = brandService.getById(record.getBrandId());
+            diaLogQueryVO.setBrand(brand.getBrandCn());
+
+            Client client = clientService.getById(record.getClientId());
+            diaLogQueryVO.setClientNum(client.getNumber());
+
+            VciInfo vci = vciInfoService.getById(record.getVciId());
+            diaLogQueryVO.setVciSn(vci.getVciNum());
+
+            //todo 车型id vehicleId 查询车型
+
+            diaLogQueryVOS.add(diaLogQueryVO);
+        }
+
+        vo.setRecords(diaLogQueryVOS);
+        return Result.ok(vo);
+    }
+}

+ 20 - 0
src/main/java/com/om/service/impl/VciInfoServiceImpl.java

@@ -0,0 +1,20 @@
+package com.om.service.impl;
+
+import com.om.entity.po.VciInfo;
+import com.om.mapper.VciInfoMapper;
+import com.om.service.IVciInfoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author bmmx
+ * @since 2024-02-27
+ */
+@Service
+public class VciInfoServiceImpl extends ServiceImpl<VciInfoMapper, VciInfo> implements IVciInfoService {
+
+}

+ 5 - 0
src/main/resources/mapper/DiagnosticLogMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.om.mapper.DiagnosticLogMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/mapper/VciInfoMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.om.mapper.VciInfoMapper">
+
+</mapper>

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio