Browse Source

Merge branch 'master' of http://47.113.197.148:13000/bmmx/OperationSystem

 Conflicts:
	src/main/java/com/om/controller/admin/AppController.java
itcast 1 năm trước cách đây
mục cha
commit
49e20a048c
26 tập tin đã thay đổi với 640 bổ sung51 xóa
  1. 1 5
      .gitignore
  2. 64 40
      .idea/workspace.xml
  3. 8 2
      src/main/java/com/om/controller/admin/AppController.java
  4. 10 0
      src/main/java/com/om/controller/admin/DiagnosisVersionInfoController.java
  5. 1 1
      src/main/java/com/om/controller/admin/GuideController.java
  6. 3 1
      src/main/java/com/om/controller/admin/ManualController.java
  7. 20 0
      src/main/java/com/om/controller/admin/PcbVersionInfoController.java
  8. 73 0
      src/main/java/com/om/controller/admin/WxscController.java
  9. 44 0
      src/main/java/com/om/entity/po/PcbVersionDescribe.java
  10. 66 0
      src/main/java/com/om/entity/po/PcbVersionInfo.java
  11. 67 0
      src/main/java/com/om/entity/po/Wxsc.java
  12. 44 0
      src/main/java/com/om/entity/vo/WxscVO.java
  13. 16 0
      src/main/java/com/om/mapper/PcbVersionDescribeMapper.java
  14. 16 0
      src/main/java/com/om/mapper/PcbVersionInfoMapper.java
  15. 18 0
      src/main/java/com/om/mapper/WxscMapper.java
  16. 16 0
      src/main/java/com/om/service/IPcbVersionDescribeService.java
  17. 16 0
      src/main/java/com/om/service/IPcbVersionInfoService.java
  18. 18 0
      src/main/java/com/om/service/IWxscService.java
  19. 2 2
      src/main/java/com/om/service/impl/AppServiceImpl.java
  20. 20 0
      src/main/java/com/om/service/impl/PcbVersionDescribeServiceImpl.java
  21. 20 0
      src/main/java/com/om/service/impl/PcbVersionInfoServiceImpl.java
  22. 30 0
      src/main/java/com/om/service/impl/WxscServiceImpl.java
  23. 5 0
      src/main/resources/mapper/PcbVersionDescribeMapper.xml
  24. 5 0
      src/main/resources/mapper/PcbVersionInfoMapper.xml
  25. 14 0
      src/main/resources/mapper/WxscMapper.xml
  26. 43 0
      src/test/java/com/util/MapToHTML.java

+ 1 - 5
.gitignore

@@ -4,11 +4,7 @@ target/
 !**/src/test/**/target/
 
 ### IntelliJ IDEA ###
-.idea/modules.xml
-.idea/jarRepositories.xml
-.idea/compiler.xml
-.idea/libraries/
-.idea/workspace.xml
+.idea
 *.iws
 *.iml
 *.ipr

+ 64 - 40
.idea/workspace.xml

@@ -4,11 +4,8 @@
     <option name="autoReloadType" value="SELECTIVE" />
   </component>
   <component name="ChangeListManager">
-    <list default="true" id="46b159bd-08ca-42f0-b80f-41d4944a8a29" name="Changes" comment="视频上传修正">
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/om/entity/vo/ManualVO.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+    <list default="true" id="46b159bd-08ca-42f0-b80f-41d4944a8a29" name="Changes" comment="增加master缺失文件,3.11">
       <change beforePath="$PROJECT_DIR$/src/main/java/com/om/controller/admin/ManualController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/om/controller/admin/ManualController.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/om/entity/po/Manual.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/om/entity/po/Manual.java" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -53,40 +50,40 @@
     <option name="hideEmptyMiddlePackages" value="true" />
     <option name="showLibraryContents" value="true" />
   </component>
-  <component name="PropertiesComponent">{
-  &quot;keyToString&quot;: {
-    &quot;ASKED_ADD_EXTERNAL_FILES&quot;: &quot;true&quot;,
-    &quot;Application.CodeGenerator.executor&quot;: &quot;Run&quot;,
-    &quot;Maven.OperationSystem [clean].executor&quot;: &quot;Run&quot;,
-    &quot;Maven.OperationSystem [package].executor&quot;: &quot;Run&quot;,
-    &quot;Maven.OperationSystem [validate].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;WebServerToolWindowFactoryState&quot;: &quot;false&quot;,
-    &quot;git-widget-placeholder&quot;: &quot;master&quot;,
-    &quot;ignore.virus.scanning.warn.message&quot;: &quot;true&quot;,
-    &quot;kotlin-language-version-configured&quot;: &quot;true&quot;,
-    &quot;last_opened_file_path&quot;: &quot;C:/Users/thomas/IdeaProjects/OperationSystem/pom.xml&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;库&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;MavenSettings&quot;,
-    &quot;spring.configuration.checksum&quot;: &quot;e5344c6eb967ac845090dcf3a4fa5dde&quot;,
-    &quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
+  <component name="PropertiesComponent"><![CDATA[{
+  "keyToString": {
+    "ASKED_ADD_EXTERNAL_FILES": "true",
+    "Application.CodeGenerator.executor": "Run",
+    "Maven.OperationSystem [clean].executor": "Run",
+    "Maven.OperationSystem [package].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",
+    "ignore.virus.scanning.warn.message": "true",
+    "kotlin-language-version-configured": "true",
+    "last_opened_file_path": "C:/Users/wxy/IdeasProjects/outsourcing/OperationSystem/pom.xml",
+    "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.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>
+}]]></component>
   <component name="ReactorSettings">
     <option name="notificationShown" value="true" />
   </component>
@@ -97,11 +94,18 @@
       <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" />
     </key>
     <key name="MoveFile.RECENT_KEYS">
-      <recent name="$PROJECT_DIR$/screenshots" />
+      <recent name="C:\Users\wxy\IdeasProjects\outsourcing\OperationSystem\src\main\resources\mapper" />
+      <recent name="C:\Users\wxy\IdeasProjects\outsourcing\OperationSystem\src\main\java\com\om\entity\vo" />
+      <recent name="C:\Users\wxy\IdeasProjects\outsourcing\OperationSystem\src\main\java\com\om\service\impl" />
+      <recent name="C:\Users\wxy\IdeasProjects\outsourcing\OperationSystem\src\main\java\com\om\service" />
+      <recent name="C:\Users\wxy\IdeasProjects\outsourcing\OperationSystem\src\main\java\com\om\mapper" />
     </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.controller.admin" />
       <recent name="com.om.service.impl" />
@@ -207,6 +211,8 @@
       <workItem from="1709105595721" duration="585000" />
       <workItem from="1709597538938" duration="1349000" />
       <workItem from="1709599670703" duration="7522000" />
+      <workItem from="1710143546149" duration="258000" />
+      <workItem from="1710143821704" duration="561000" />
     </task>
     <task id="LOCAL-00001" summary="管理员登录">
       <option name="closed" value="true" />
@@ -318,7 +324,23 @@
       <option name="project" value="LOCAL" />
       <updated>1709604133381</updated>
     </task>
-    <option name="localTasksCounter" value="15" />
+    <task id="LOCAL-00015" summary="合并master,3.11">
+      <option name="closed" value="true" />
+      <created>1710145459857</created>
+      <option name="number" value="00015" />
+      <option name="presentableId" value="LOCAL-00015" />
+      <option name="project" value="LOCAL" />
+      <updated>1710145459857</updated>
+    </task>
+    <task id="LOCAL-00016" summary="增加master缺失文件,3.11">
+      <option name="closed" value="true" />
+      <created>1710146731016</created>
+      <option name="number" value="00016" />
+      <option name="presentableId" value="LOCAL-00016" />
+      <option name="project" value="LOCAL" />
+      <updated>1710146731016</updated>
+    </task>
+    <option name="localTasksCounter" value="17" />
     <servers />
   </component>
   <component name="TypeScriptGeneratedFilesManager">
@@ -346,6 +368,8 @@
     <MESSAGE value="refined" />
     <MESSAGE value="使用手册模块更新" />
     <MESSAGE value="视频上传修正" />
-    <option name="LAST_COMMIT_MESSAGE" value="视频上传修正" />
+    <MESSAGE value="合并master,3.11" />
+    <MESSAGE value="增加master缺失文件,3.11" />
+    <option name="LAST_COMMIT_MESSAGE" value="增加master缺失文件,3.11" />
   </component>
 </project>

+ 8 - 2
src/main/java/com/om/controller/admin/AppController.java

@@ -7,6 +7,7 @@ import com.om.entity.vo.DignosisPageVO;
 import com.om.service.IAppService;
 import com.om.utils.Result;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
@@ -20,38 +21,43 @@ import javax.annotation.Resource;
  * @since 2024-03-11
  */
 @RestController
-@Api(tags = "app升级管理(下载接口未写)")
+@Api(tags = "应用软件相关模块")
 @RequestMapping("/app")
 public class AppController {
 
     @Resource
-    IAppService appService;
+    private IAppService appService;
 
     @PostMapping("/add")
+    @ApiOperation("新增应用软件")
     Result add(@RequestBody AppVO app){
 
         return appService.add(app);
     }
 
     @PostMapping("/delete")
+    @ApiOperation("删除应用软件")
     Result delete(@RequestBody AppVO app){
 
         return appService.delete(app);
     }
 
     @PostMapping("/downloadFile")
+    @ApiOperation("下载应用软件")
     Result downloadFile(@RequestBody AppVO app){
 
         return appService.downloadFile(app);
     }
 
     @PostMapping("/getPageList")
+    @ApiOperation("分页查询应用软件")
     Result getPageList(@RequestBody DignosisPageVO dignosisPageVO){
 
         return appService.getPageList(dignosisPageVO);
     }
 
     @PostMapping("/edit")
+    @ApiOperation("修改应用软件")
     Result edit(@RequestBody AppVO app){
 
         return appService.edit(app);

+ 10 - 0
src/main/java/com/om/controller/admin/DiagnosisVersionInfoController.java

@@ -6,6 +6,8 @@ import com.om.entity.vo.DiagnosisVersionVO;
 import com.om.entity.vo.DignosisPageVO;
 import com.om.service.IDiagnosisVersionInfoService;
 import com.om.utils.Result;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import io.swagger.v3.oas.annotations.parameters.RequestBody;
 import org.springframework.web.bind.annotation.*;
 
@@ -20,6 +22,7 @@ import javax.annotation.Resource;
  * @since 2024-03-06
  */
 @RestController
+@Api(tags = "诊断程序相关接口")
 @RequestMapping("/diagnosis-version-info")
 public class DiagnosisVersionInfoController {
 
@@ -27,35 +30,41 @@ public class DiagnosisVersionInfoController {
     IDiagnosisVersionInfoService dvIoService;
 
     @PostMapping("/add")
+    @ApiOperation("新增诊断程序")
     public Result add(@RequestBody DiagnosisVersionVO diagnosisVersionVO){
 
         return dvIoService.add(diagnosisVersionVO);
     }
 
     @GetMapping("/downloadFile/{id}")
+    @ApiOperation("下载诊断程序")
     public Result downloadFile(@PathVariable(value = "id")Integer id){
 
         return dvIoService.downloadFile(id);
     }
 
     @PostMapping("/edit")
+    @ApiOperation("修改诊断程序")
     public Result edit(@RequestBody DiagnosisVersionVO diagnosisVersionVO){
 
         return dvIoService.edit(diagnosisVersionVO);
     }
 
     @GetMapping("/getById/{id}")
+    @ApiOperation("根据id获取诊断程序")
     public Result getByUserId(@PathVariable(value = "id")Integer id){
 
         return dvIoService.getByUserId(id);
     }
 
     @PostMapping("/getDesc")
+    @ApiOperation("获取Desc诊断程序")
     public Result getDesc(@RequestBody DiagnosisVersionVO diagnosisVersionVO){
 
         return dvIoService.getDesc(diagnosisVersionVO);
     }
     @PostMapping("/getPageList")
+    @ApiOperation("分页查询诊断程序")
     public Result getPageList(@RequestBody DignosisPageVO dignosisPageVO){
 
         return dvIoService.getPageList(dignosisPageVO);
@@ -75,6 +84,7 @@ public class DiagnosisVersionInfoController {
     }
 
     @PostMapping("/upStatus")
+    @ApiOperation("修改诊断程序状态")
     public Result upStatus(@RequestBody UpStatusDto upStatusDto){
 
         return dvIoService.upStatus(upStatusDto);

+ 1 - 1
src/main/java/com/om/controller/admin/GuideController.java

@@ -20,7 +20,7 @@ import org.springframework.web.bind.annotation.*;
  */
 @RestController
 @RequestMapping("/guide")
-@Api(tags = "手册视频控制类")
+@Api(tags = "使用手册视频管理类")
 public class GuideController {
   IGuideService guideService;
 

+ 3 - 1
src/main/java/com/om/controller/admin/ManualController.java

@@ -5,6 +5,7 @@ import com.om.entity.po.Manual;
 import com.om.entity.vo.ManualVO;
 import com.om.service.IManualService;
 import com.om.utils.Result;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import javafx.print.Collation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -28,6 +29,7 @@ import java.util.Iterator;
  */
 @RestController
 @RequestMapping("/manual")
+@Api(tags = "使用手册管理模块")
 public class ManualController {
   private final IManualService manualService;
   @Autowired
@@ -51,7 +53,7 @@ public class ManualController {
     String[] urls = manualVO.getUrl();
     String[] fileNames = manualVO.getFileName();
     Arrays.stream(manualVO.getClientCode()).forEach(client -> {
-      for (int i = 1; i < langs.length; i++) {
+      for (int i = 0; i < langs.length; i++) {
         Manual manual = new Manual();
         manual.setTitle(title);
         manual.setLang(langs[i]);

+ 20 - 0
src/main/java/com/om/controller/admin/PcbVersionInfoController.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-03-12
+ */
+@RestController
+@RequestMapping("/pcb-version-info")
+public class PcbVersionInfoController {
+
+}

+ 73 - 0
src/main/java/com/om/controller/admin/WxscController.java

@@ -0,0 +1,73 @@
+package com.om.controller.admin;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.om.entity.po.Wxsc;
+import com.om.entity.vo.WxscVO;
+import com.om.service.IWxscService;
+import com.om.utils.Result;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author henry-ong
+ * @since 2024-03-09
+ */
+@RestController
+@RequestMapping("/wxsc")
+@Api(tags = "维修手册管理模块")
+public class WxscController {
+  private final IWxscService wxscService;
+
+  @Autowired
+  public WxscController(IWxscService wxscService) {
+    this.wxscService = wxscService;
+  }
+
+  @ApiOperation("新增多版本维修手册接口")
+  @PostMapping("/savemore")
+  public Result<Object> saveMore(@RequestBody WxscVO wxscVO) {
+    Collection<Wxsc> collection = new ArrayList<>();
+    String title = wxscVO.getTitle();
+    LocalDateTime createTime = wxscVO.getCreateTime();
+    String[] langs = wxscVO.getLang();
+    String[] urls = wxscVO.getFileUrl();
+    String[] scNames = wxscVO.getScName();
+    String brandCode = wxscVO.getBrandCode();
+    Arrays.stream(wxscVO.getClientCode()).forEach(client -> {
+      for (int i = 0; i < langs.length; i++) {
+        Wxsc wxsc = new Wxsc();
+        wxsc.setTitle(title);
+        wxsc.setBrandCode(brandCode);
+        wxsc.setLang(langs[i]);
+        wxsc.setScName(scNames[i]);
+        wxsc.setFileUrl(urls[i]);
+        wxsc.setClientCode(client);
+        wxsc.setCreateTime(createTime);
+        wxsc.setUpdateTime(LocalDateTime.now());
+        collection.add(wxsc);
+      }
+    });
+
+    return Result.succ(wxscService.saveBatch(collection));
+  }
+
+  @ApiOperation("分页查询维修手册接口")
+  @GetMapping("/page")
+  public Result<Object> findPage(@RequestParam Integer pageNum,
+                                 @RequestParam Integer pageSize,
+                                 @RequestParam(defaultValue = "") String code,
+                                 @RequestParam(defaultValue = "") String title) {
+    return Result.succ(wxscService.findManual(new Page<>(pageNum, pageSize), code, title));
+  }
+}

+ 44 - 0
src/main/java/com/om/entity/po/PcbVersionDescribe.java

@@ -0,0 +1,44 @@
+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.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-03-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("pcb_version_describe")
+@ApiModel(value="PcbVersionDescribe对象", description="")
+public class PcbVersionDescribe implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "pcb_version_describe_id")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "Pcb ID")
+    private Integer pcbId;
+
+    @ApiModelProperty(value = "描述")
+    private String description;
+
+    @ApiModelProperty(value = "语言")
+    private String language;
+
+
+}

+ 66 - 0
src/main/java/com/om/entity/po/PcbVersionInfo.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-03-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("pcb_version_info")
+@ApiModel(value="PcbVersionInfo对象", description="")
+public class PcbVersionInfo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "PcbVersionInfoId")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "文件名")
+    private String fileName;
+
+    @ApiModelProperty(value = "文件大小")
+    private String fileSize;
+
+    @ApiModelProperty(value = "上传人名称")
+    private String adminName;
+
+    @ApiModelProperty(value = "客户端编号")
+    private String clientNum;
+
+    @ApiModelProperty(value = "发布时间")
+    private LocalDateTime releaseTime;
+
+    @ApiModelProperty(value = "保存路径")
+    private String savePath;
+
+    @ApiModelProperty(value = "状态")
+    private Integer state;
+
+    @ApiModelProperty(value = "版本编号")
+    private String versionNum;
+
+    @ApiModelProperty(value = "更新时间")
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "创建时间")
+    private LocalDateTime createTime;
+
+
+}

+ 67 - 0
src/main/java/com/om/entity/po/Wxsc.java

@@ -0,0 +1,67 @@
+package com.om.entity.po;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.*;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author henry-ong
+ * @since 2024-03-09
+ */
+@TableName("wxsc")
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@ApiModel(value = "维修手册对象", description = "维修手册对象")
+public class Wxsc implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+      @ApiModelProperty("手册id")
+      @TableId(value = "id", type = IdType.AUTO)
+      private Integer id;
+
+      @ApiModelProperty("标题")
+      private String title;
+
+      @ApiModelProperty("语言")
+      private String lang;
+
+      @ApiModelProperty("维修手册名")
+      @TableField(value="scName")
+      private String scName;
+
+      @ApiModelProperty("文件链接")
+      @TableField(value="fileUrl")
+      private String fileUrl;
+
+      @ApiModelProperty("品牌")
+      @TableField(value="brandCode")
+      private String brandCode;
+
+      @ApiModelProperty("客户端编号")
+      @TableField(value="clientCode")
+      private String clientCode;
+
+      @ApiModelProperty("创建时间")
+      @TableField(value="createTime")
+      @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+      private LocalDateTime createTime;
+
+      @ApiModelProperty("最近修改时间")
+      @TableField(value="updateTime")
+      @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+      private LocalDateTime updateTime;
+}

+ 44 - 0
src/main/java/com/om/entity/vo/WxscVO.java

@@ -0,0 +1,44 @@
+package com.om.entity.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+@Data
+@NoArgsConstructor
+public class WxscVO implements Serializable {
+
+  @ApiModelProperty("标题")
+  private String title;
+
+  @ApiModelProperty("语言")
+  private String[] lang;
+
+  @ApiModelProperty("手册文件名")
+  @TableField(value="scName")
+  private String[] scName;
+
+  @ApiModelProperty("文件网址")
+  private String[] fileUrl;
+
+  @ApiModelProperty("品牌")
+  @TableField(value="brandCode")
+//  private String[] brandCode;
+  private String brandCode;
+
+  @ApiModelProperty("客户端编号")
+  @TableField(value="clientCode")
+  private String[] clientCode;
+
+  @ApiModelProperty("创建时间")
+  @TableField(value="createTime")
+  private LocalDateTime createTime;
+
+  @ApiModelProperty("最近修改时间")
+  @TableField(value="updateTime")
+  private LocalDateTime updateTime;
+}

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

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

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

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

+ 18 - 0
src/main/java/com/om/mapper/WxscMapper.java

@@ -0,0 +1,18 @@
+package com.om.mapper;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.om.entity.po.Manual;
+import com.om.entity.po.Wxsc;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author henry-ong
+ * @since 2024-03-09
+ */
+public interface WxscMapper extends BaseMapper<Wxsc> {
+  Page<Wxsc> findManual(Page<Wxsc> page, String code, String title);
+}

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

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

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

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

+ 18 - 0
src/main/java/com/om/service/IWxscService.java

@@ -0,0 +1,18 @@
+package com.om.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.om.entity.po.Wxsc;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author henry-ong
+ * @since 2024-03-09
+ */
+public interface IWxscService extends IService<Wxsc> {
+
+  Page<Wxsc> findManual(Page<Wxsc> objectPage, String code, String title);
+}

+ 2 - 2
src/main/java/com/om/service/impl/AppServiceImpl.java

@@ -33,9 +33,9 @@ import javax.annotation.Resource;
 public class AppServiceImpl extends ServiceImpl<AppMapper, App> implements IAppService {
 
     @Resource
-    IUserService userService;
+   private IUserService userService;
     @Resource
-    IAppVersionDescribeService describeService;
+   private IAppVersionDescribeService describeService;
     @Override
     public Result add(AppVO app) {
         if (StringUtils.isEmpty(app.getClientNums())){

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

@@ -0,0 +1,20 @@
+package com.om.service.impl;
+
+import com.om.entity.po.PcbVersionDescribe;
+import com.om.mapper.PcbVersionDescribeMapper;
+import com.om.service.IPcbVersionDescribeService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author bmmx
+ * @since 2024-03-12
+ */
+@Service
+public class PcbVersionDescribeServiceImpl extends ServiceImpl<PcbVersionDescribeMapper, PcbVersionDescribe> implements IPcbVersionDescribeService {
+
+}

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

@@ -0,0 +1,20 @@
+package com.om.service.impl;
+
+import com.om.entity.po.PcbVersionInfo;
+import com.om.mapper.PcbVersionInfoMapper;
+import com.om.service.IPcbVersionInfoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author bmmx
+ * @since 2024-03-12
+ */
+@Service
+public class PcbVersionInfoServiceImpl extends ServiceImpl<PcbVersionInfoMapper, PcbVersionInfo> implements IPcbVersionInfoService {
+
+}

+ 30 - 0
src/main/java/com/om/service/impl/WxscServiceImpl.java

@@ -0,0 +1,30 @@
+package com.om.service.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.om.entity.po.Wxsc;
+import com.om.mapper.WxscMapper;
+import com.om.service.IWxscService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author henry-ong
+ * @since 2024-03-09
+ */
+@Service
+public class WxscServiceImpl extends ServiceImpl<WxscMapper, Wxsc> implements IWxscService {
+  private final WxscMapper wxscMapper;
+
+  public WxscServiceImpl(WxscMapper wxscMapper) {
+    this.wxscMapper = wxscMapper;
+  }
+
+  @Override
+  public Page<Wxsc> findManual(Page<Wxsc> page, String code, String title) {
+    return wxscMapper.findManual(page, code, title);
+  }
+}

+ 5 - 0
src/main/resources/mapper/PcbVersionDescribeMapper.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.PcbVersionDescribeMapper">
+
+</mapper>

+ 5 - 0
src/main/resources/mapper/PcbVersionInfoMapper.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.PcbVersionInfoMapper">
+
+</mapper>

+ 14 - 0
src/main/resources/mapper/WxscMapper.xml

@@ -0,0 +1,14 @@
+<?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.WxscMapper">
+  <select id="findManual" resultType="com.om.entity.po.Wxsc">
+    select e.*
+    from wxsc as e
+    <if test="code != null and code != ''">
+      where e.clientCode like concat('%',#{code},'%')
+    </if>
+    <if test="title != null and title != ''">
+      where e.title like concat('%',#{title},'%')
+    </if>
+  </select>
+</mapper>

+ 43 - 0
src/test/java/com/util/MapToHTML.java

@@ -0,0 +1,43 @@
+package com.util;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class MapToHTML {
+
+    public static void main(String[] args) {
+        // 创建一个简单的Map,用于演示
+        Map<String, String> dataMap = new HashMap<>();
+        dataMap.put("name", "John");
+        dataMap.put("age", "25");
+        dataMap.put("city", "New York");
+
+        // 生成HTML5页面
+        String html = generateHTML(dataMap);
+        
+        // 输出生成的HTML
+        System.out.println(html);
+    }
+
+    private static String generateHTML(Map<String, String> dataMap) {
+        StringBuilder htmlBuilder = new StringBuilder();
+        htmlBuilder.append("<!DOCTYPE html>");
+        htmlBuilder.append("<html>");
+        htmlBuilder.append("<head>");
+        htmlBuilder.append("<title>Map to HTML5</title>");
+        htmlBuilder.append("</head>");
+        htmlBuilder.append("<body>");
+
+        // 遍历Map中的数据,生成HTML标记
+        for (Map.Entry<String, String> entry : dataMap.entrySet()) {
+            String key = entry.getKey();
+            String value = entry.getValue();
+            htmlBuilder.append("<p><strong>").append(key).append(":</strong> ").append(value).append("</p>");
+        }
+
+        htmlBuilder.append("</body>");
+        htmlBuilder.append("</html>");
+
+        return htmlBuilder.toString();
+    }
+}