Ver Fonte

诊断程序bug修改以及客户端时间改为long

bmmx há 1 ano atrás
pai
commit
b10b24d48d

+ 2 - 1
src/main/java/com/om/controller/user/APPBrandController.java

@@ -1,6 +1,7 @@
 package com.om.controller.user;
 
 import com.om.entity.dto.AppBaseDTO;
+import com.om.entity.vo.APPBrandVO;
 import com.om.entity.vo.BrandVO;
 import com.om.service.IBrandService;
 import com.om.utils.Result;
@@ -20,7 +21,7 @@ public class APPBrandController {
 
 
     @PostMapping("getList")
-    public Result<List<BrandVO>> getAPPList(@RequestBody AppBaseDTO dto){
+    public Result<List<APPBrandVO>> getAPPList(@RequestBody AppBaseDTO dto){
        return brandService.getAPPList(dto);
     }
 

+ 2 - 1
src/main/java/com/om/controller/user/APPManualController.java

@@ -3,6 +3,7 @@ package com.om.controller.user;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.om.entity.dto.AppBaseDTO;
 import com.om.entity.po.Manual;
+import com.om.entity.vo.AppManual;
 import com.om.entity.vo.ManualVO;
 import com.om.service.IManualService;
 import com.om.utils.Result;
@@ -30,7 +31,7 @@ public class APPManualController {
 
     @PostMapping("getByLang")
     @ApiOperation("根据语言获取诊断仪使用说明H5")
-    public Result<Manual> AppGetByLang(@RequestBody AppBaseDTO dto){
+    public Result<AppManual> AppGetByLang(@RequestBody AppBaseDTO dto){
         return manualService.AppGetByLang(dto);
     }
 

+ 11 - 0
src/main/java/com/om/entity/dto/VehicleDates.java

@@ -1,14 +1,19 @@
 package com.om.entity.dto;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
+import java.time.LocalDateTime;
 import java.util.List;
 
 @Data
 @NoArgsConstructor
 public class VehicleDates {
+    @ApiModelProperty(value = "上传地址路径前缀")
+    private String path;
+
     @ApiModelProperty(value = "品牌编号")
     private String brandCode;
 
@@ -21,6 +26,9 @@ public class VehicleDates {
     @ApiModelProperty(value = "文件大小")
     private long fileSize;
 
+    @ApiModelProperty(value = "文件名")
+    private String fileName;
+
     @ApiModelProperty(value = "版本号")
     private String version;
 
@@ -42,6 +50,9 @@ public class VehicleDates {
     @ApiModelProperty(value = "下载路径")
     private String url;
 
+    @ApiModelProperty(value = "创建时间")
+    private long createTime;
+
     @ApiModelProperty(value = "0:强制更新  1:不强制")
     private Integer isUpdate;
 }

+ 35 - 0
src/main/java/com/om/entity/vo/APPBrandVO.java

@@ -0,0 +1,35 @@
+package com.om.entity.vo;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Data
+@NoArgsConstructor
+public class APPBrandVO {
+    @ApiModelProperty(value = "品牌id")
+    private Integer id;
+
+    @ApiModelProperty(value = "品牌代码")
+    private String brandCode;
+
+    @ApiModelProperty(value = "品牌中文名")
+    private String brandCn;
+
+    @ApiModelProperty(value = "品牌英文名")
+    private String brandEn;
+
+    @ApiModelProperty(value = "客户端id集合")
+    private List<Integer> clientIds;
+
+    @ApiModelProperty(value = "客户端路径")
+    private String clientPath;
+
+    @ApiModelProperty(value = "创建时间")
+    private long createTime;
+}

+ 2 - 3
src/main/java/com/om/entity/vo/AppBrushFileVO.java

@@ -15,7 +15,7 @@ public class AppBrushFileVO {
     private String version;
 
     @ApiModelProperty(value = "刷写文件名称")
-    private String brushFileName;
+    private String fileName;
 
     @ApiModelProperty(value = "文件大小")
     private String fileSize;
@@ -24,8 +24,7 @@ public class AppBrushFileVO {
     private String url;
 
     @ApiModelProperty(value = "创建时间")
-    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-    private LocalDateTime createTime;
+    private long createTime;
 
     @ApiModelProperty(value = "版本描述")
     private String description;

+ 51 - 0
src/main/java/com/om/entity/vo/AppManual.java

@@ -0,0 +1,51 @@
+package com.om.entity.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author henry-ong
+ * @since 2024-02-28
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class AppManual implements Serializable {
+
+
+      @ApiModelProperty("标题")
+      private String title;
+
+      @ApiModelProperty("语言")
+      private String lang;
+
+      @ApiModelProperty("手册文件名")
+      @TableField(value="fileName")
+      private String fileName;
+
+      @ApiModelProperty("网址")
+      private String url;
+
+      @ApiModelProperty("客户端编号")
+      @TableField(value="clientCode")
+      private String clientCode;
+
+      @ApiModelProperty("创建时间")
+      private long createTime;
+
+}

+ 2 - 0
src/main/java/com/om/entity/vo/AppMenuVO.java

@@ -16,4 +16,6 @@ public class AppMenuVO {
     @ApiModelProperty(value = "下载地址")
     private String url;
 
+    @ApiModelProperty(value = "创建时间")
+    private long createTime;
 }

+ 1 - 2
src/main/java/com/om/entity/vo/AppWxscVO.java

@@ -18,7 +18,6 @@ public class AppWxscVO {
     private String maintenanceManualName;
 
     @ApiModelProperty("创建时间")
-    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
-    private LocalDateTime createTime;
+    private long createTime;
 
 }

+ 1 - 2
src/main/java/com/om/entity/vo/DiagnosticReportVO.java

@@ -23,6 +23,5 @@ public class DiagnosticReportVO {
     private String faultCodesNumber;
 
     @ApiModelProperty(value = "创建时间")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private LocalDateTime creationTime;
+    private long creationTime;
 }

+ 2 - 1
src/main/java/com/om/service/IBrandService.java

@@ -5,6 +5,7 @@ import com.om.entity.dto.BrandDTO;
 import com.om.entity.dto.BrandQueryPageDTO;
 import com.om.entity.po.Brand;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.om.entity.vo.APPBrandVO;
 import com.om.entity.vo.BrandQueryPageVO;
 import com.om.entity.vo.BrandVO;
 import com.om.utils.Result;
@@ -33,6 +34,6 @@ public interface IBrandService extends IService<Brand> {
 
     Result<BrandQueryPageVO> queryPageList(BrandQueryPageDTO dto);
 
-    Result<List<BrandVO>> getAPPList(AppBaseDTO dto);
+    Result<List<APPBrandVO>> getAPPList(AppBaseDTO dto);
 
 }

+ 2 - 1
src/main/java/com/om/service/IManualService.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.om.entity.dto.AppBaseDTO;
 import com.om.entity.po.Manual;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.om.entity.vo.AppManual;
 import com.om.utils.Result;
 
 /**
@@ -18,6 +19,6 @@ public interface IManualService extends IService<Manual> {
 
     Page<Manual> findManual(Page<Manual> objectPage, String code, String title);
 
-    Result<Manual> AppGetByLang(AppBaseDTO dto);
+    Result<AppManual> AppGetByLang(AppBaseDTO dto);
 
 }

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

@@ -10,6 +10,7 @@ import com.om.entity.dto.GuidDTO;
 import com.om.entity.po.Brand;
 import com.om.entity.po.BrandClient;
 import com.om.entity.po.Client;
+import com.om.entity.vo.APPBrandVO;
 import com.om.entity.vo.BrandQueryPageVO;
 import com.om.entity.vo.BrandVO;
 import com.om.exception.BadReqException;
@@ -24,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
+import java.time.ZoneOffset;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -278,9 +280,9 @@ public class BrandServiceImpl extends ServiceImpl<BrandMapper, Brand> implements
            return Result.ok();
         }
         List<Brand> brands = this.listByIds(brandids);
-        List<BrandVO> brandVOS = new ArrayList<>();
+        List<APPBrandVO> brandVOS = new ArrayList<>();
         for (Brand brand : brands) {
-            BrandVO brandVO = BeanUtil.copyProperties(brand, BrandVO.class);
+            APPBrandVO brandVO = BeanUtil.copyProperties(brand, APPBrandVO.class);
 
             //查询brand_client
             List<Integer> clientIds = brandClientService.lambdaQuery()
@@ -290,6 +292,7 @@ public class BrandServiceImpl extends ServiceImpl<BrandMapper, Brand> implements
                 throw new BadReqException("该品牌下没有查询到客户端");
             }
             brandVO.setClientIds(clientIds);
+            brandVO.setCreateTime(brand.getCreateTime().toInstant(ZoneOffset.of("+8")).toEpochMilli());
             brandVOS.add(brandVO);
         }
 

+ 7 - 4
src/main/java/com/om/service/impl/BrushFileServiceImpl.java

@@ -11,14 +11,12 @@ import com.om.mapper.BrushFileMapper;
 import com.om.service.IBrushDescriptionService;
 import com.om.service.IBrushFileService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.om.utils.AesUtil;
-import com.om.utils.JwtUtils;
-import com.om.utils.Result;
-import com.om.utils.ResultCode;
+import com.om.utils.*;
 import org.springframework.stereotype.Service;
 
 
 import javax.annotation.Resource;
+import java.time.ZoneOffset;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -36,6 +34,9 @@ public class BrushFileServiceImpl extends ServiceImpl<BrushFileMapper, BrushFile
     @Resource
     private JwtUtils jwtUtils;
 
+    @Resource
+    private HuaweiObsUtil obsUtil;
+
     @Resource
     private IBrushDescriptionService brushDescriptionService;
 
@@ -70,6 +71,8 @@ public class BrushFileServiceImpl extends ServiceImpl<BrushFileMapper, BrushFile
                 throw new BadReqException("该版本描述不存在");
             }
             appBrushFileVO.setDescription(brushDescription.getDescription());
+           // appBrushFileVO.setUrl(obsUtil.getUploadUrl(brushFile.getBrushFileName(),));
+            appBrushFileVO.setCreateTime(brushFile.getCreateTime().toInstant(ZoneOffset.of("+8")).toEpochMilli());
             brushFileVOList.add(appBrushFileVO);
         }
 

+ 33 - 8
src/main/java/com/om/service/impl/DiagnosisVersionInfoServiceImpl.java

@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.PageUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.obs.services.model.TemporarySignatureRequest;
 import com.om.entity.dto.*;
 import com.om.entity.po.*;
 import com.om.entity.vo.DiagnosisVersionVO;
@@ -20,8 +21,11 @@ import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PathVariable;
 
 import javax.annotation.Resource;
+import java.time.ZoneOffset;
+import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -50,21 +54,30 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
 
     @Resource
     private JwtUtils jwtUtils;
-    @Autowired
-    private DiagnosisVersionDescribeMapper diagnosisVersionDescribeMapper;
+
+    @Resource
+    private HuaweiObsUtil obsUtil;
 
     @Override
     @Transactional
     public Result add(DiagnosisVersionVO diagnosisVersionVO) {
         DiagnosisVersionInfo info = new DiagnosisVersionInfo();
         //客户端编号,需要取id,后面在进行设置
-
+        String[] clientNums = diagnosisVersionVO.getClientNums();
+        StringBuffer sb = new StringBuffer();
+        for (int i = 0; i < clientNums.length; i++) {
+            sb.append(clientNums[i]);
+            if (clientNums.length != 1 && i != clientNums.length - 1){
+                sb.append(",");
+            }
+        }
         //文件地址
         info.setFile(diagnosisVersionVO.getFileUrl());
         //文件大小
         info.setDiagnosisFileSize(diagnosisVersionVO.getDiagnosisFileSize());
         //品牌代码
         info.setBrandCode(diagnosisVersionVO.getBrandCode());
+        info.setClientNumber(sb.toString());
         //诊断程序名称
         info.setDiagnosisName(diagnosisVersionVO.getDiagnosisName());
         //程序状态
@@ -75,12 +88,14 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
         info.setVersion(diagnosisVersionVO.getVersion());
         //保存地址
         info.setSavePath(diagnosisVersionVO.getSavePath());
-
+        info.setFileName(diagnosisVersionVO.getFileName());
+        info.setLifecycle(0);
         //保存
         this.save(info);
 
 
 
+
         LambdaQueryWrapper<DiagnosisVersionInfo> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(DiagnosisVersionInfo::getId, info.getId());
         //保存后获取
@@ -107,7 +122,12 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
 
     @Override
     public Result downloadFile(Integer id) {
-        return null;
+        DiagnosisVersionInfo diagnosisVersionInfo = this.getById(id);
+        if (BeanUtil.isEmpty(diagnosisVersionInfo)) {
+            throw new BadReqException("该诊断程序不存在");
+        }
+        String uploadUrl = obsUtil.getUploadUrl(diagnosisVersionInfo.getFileName(), diagnosisVersionInfo.getSavePath());
+        return Result.ok(uploadUrl);
     }
 
     @Override
@@ -177,8 +197,9 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
         return versionVO;
     }
 
+
     @Override
-    public Result getByUserId(Integer id) {
+    public Result getByUserId( Integer id) {
         DiagnosisVersionVO versionVO = this.getVO(id);
 
 
@@ -325,14 +346,18 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
             if (BeanUtil.isEmpty(diagnosisVersionDescribe)) {
                 throw new BadReqException("该描述不存在");
             }
+            //获取下载链接
+            String uploadUrl = obsUtil.getUploadUrl(diagnosisVersionInfo.getFileName(), "program");
             VehicleDates vehicleDates1 = BeanUtil.copyProperties(diagnosisVersionInfo, VehicleDates.class);
-            vehicleDates1.setUrl(diagnosisVersionInfo.getSavePath());
+            vehicleDates1.setUrl(uploadUrl);
             vehicleDates1.setVersion(diagnosisVersionInfo.getVersion());
             vehicleDates1.setFileSize(diagnosisVersionInfo.getDiagnosisFileSize());
             vehicleDates1.setBrandCn(brand.getBrandCn());
             vehicleDates1.setBrandEn(brand.getBrandEn());
             vehicleDates1.setDescription(diagnosisVersionDescribe.getDescription());
-
+            vehicleDates1.setFileName(diagnosisVersionInfo.getFileName());
+            vehicleDates1.setPath(diagnosisVersionInfo.getSavePath());
+            vehicleDates1.setCreateTime(diagnosisVersionInfo.getCreateTime().toInstant(ZoneOffset.of("+8")).toEpochMilli());
             voList.add(vehicleDates1);
         }
 

+ 9 - 1
src/main/java/com/om/service/impl/DiagnosticMenuServiceImpl.java

@@ -32,6 +32,7 @@ import java.io.IOException;
 import java.lang.reflect.Array;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.time.ZoneOffset;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -217,8 +218,15 @@ public class DiagnosticMenuServiceImpl extends ServiceImpl<DiagnosticMenuMapper,
         }
         AppMenuVO vo = new AppMenuVO();
         BeanUtil.copyProperties(diagnosticMenu, vo);
-        vo.setUrl(diagnosticMenu.getSavePath());
+        LocalDate now = LocalDate.now();
+        int year = now.getYear();
+        int monthValue = now.getMonthValue();
+        int day = now.getDayOfMonth();
+        String prefix = DIAGNOSTIC_MENU_PREFIX + "/" + year + "/" + monthValue + "/" + day;
+        String uploadUrl = obsUtil.getUploadUrl(diagnosticMenu.getFileName(), prefix);
+        vo.setUrl(uploadUrl);
         vo.setVersion(diagnosticMenu.getVersionNum());
+        vo.setCreateTime(diagnosticMenu.getCreateTime().toInstant(ZoneOffset.of("+8")).toEpochMilli());
 
         return Result.ok(vo);
     }

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

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.om.entity.dto.AppBaseDTO;
 import com.om.entity.dto.GuidDTO;
 import com.om.entity.po.Manual;
+import com.om.entity.vo.AppManual;
 import com.om.exception.BadReqException;
 import com.om.mapper.ManualMapper;
 import com.om.service.IManualService;
@@ -15,6 +16,7 @@ import com.om.utils.Result;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.time.ZoneOffset;
 
 /**
  * <p>
@@ -41,7 +43,7 @@ public class ManualServiceImpl extends ServiceImpl<ManualMapper, Manual> impleme
   }
 
     @Override
-    public Result<Manual> AppGetByLang(AppBaseDTO dto) {
+    public Result<AppManual> AppGetByLang(AppBaseDTO dto) {
         String language = dto.getLanguage();
         String guid = dto.getGuid();
         GuidDTO guidDTO = AesUtil.getGuidDTOFromGuid(guid);
@@ -54,6 +56,9 @@ public class ManualServiceImpl extends ServiceImpl<ManualMapper, Manual> impleme
         if (BeanUtil.isEmpty(one)){
             throw new BadReqException("该使用手册不存在");
         }
-        return Result.ok(one);
+        AppManual vo = new AppManual();
+        BeanUtil.copyProperties(one, vo);
+        vo.setCreateTime(one.getCreateTime().toInstant(ZoneOffset.of("+8")).toEpochMilli());
+        return Result.ok(vo);
     }
 }

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

@@ -27,6 +27,7 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.time.LocalDateTime;
+import java.time.ZoneOffset;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -165,7 +166,7 @@ public class RepairServiceImpl extends ServiceImpl<RepairMapper, Repair> impleme
         List<DiagnosticReportVO> list = new ArrayList<>();
         for (Repair record : records) {
             DiagnosticReportVO diagnosticReportVO = new DiagnosticReportVO();
-            diagnosticReportVO.setCreationTime(LocalDateTime.now());
+            diagnosticReportVO.setCreationTime(LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli());
             diagnosticReportVO.setDiagnosticReportId(record.getId());
             diagnosticReportVO.setDiagnosticReportName(record.getMainTitle());
             diagnosticReportVO.setFileName(record.getFileName());

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

@@ -18,6 +18,7 @@ import com.om.utils.ResultCode;
 import org.springframework.context.annotation.Bean;
 import org.springframework.stereotype.Service;
 
+import java.time.ZoneOffset;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -71,7 +72,7 @@ public class WxscServiceImpl extends ServiceImpl<WxscMapper, Wxsc> implements IW
             AppWxscVO appWxscVO = new AppWxscVO();
             appWxscVO.setMaintenanceManualId(record.getId());
             appWxscVO.setMaintenanceManualName(record.getScName());
-            appWxscVO.setCreateTime(record.getCreateTime());
+            appWxscVO.setCreateTime(record.getCreateTime().toInstant(ZoneOffset.of("+8")).toEpochMilli());
             appWxscVOS.add(appWxscVO);
         }
         vo.setRecords(appWxscVOS);