소스 검색

诊断程序相关接口

bmmx 1 년 전
부모
커밋
2c27fd1d6c

+ 65 - 2
src/main/java/com/om/controller/admin/DiagnosisVersionInfoController.java

@@ -1,9 +1,15 @@
 package com.om.controller.admin;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
+import com.om.entity.dto.UpStatusDto;
+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.v3.oas.annotations.parameters.RequestBody;
+import org.springframework.web.bind.annotation.*;
 
-import org.springframework.web.bind.annotation.RestController;
+import javax.annotation.Resource;
 
 /**
  * <p>
@@ -17,4 +23,61 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/diagnosis-version-info")
 public class DiagnosisVersionInfoController {
 
+    @Resource
+    IDiagnosisVersionInfoService dvIoService;
+
+    @PostMapping("/add")
+    public Result add(@RequestBody DiagnosisVersionVO diagnosisVersionVO){
+
+        return dvIoService.add(diagnosisVersionVO);
+    }
+
+    @GetMapping("/downloadFile/{id}")
+    public Result downloadFile(@PathVariable(value = "id")Integer id){
+
+        return dvIoService.downloadFile(id);
+    }
+
+    @PostMapping("/edit")
+    public Result edit(@RequestBody DiagnosisVersionVO diagnosisVersionVO){
+
+        return dvIoService.edit(diagnosisVersionVO);
+    }
+
+    @GetMapping("/getById/{id}")
+    public Result getByUserId(@PathVariable(value = "id")Integer id){
+
+        return dvIoService.getByUserId(id);
+    }
+
+    @PostMapping("/getDesc")
+    public Result getDesc(@RequestBody DiagnosisVersionVO diagnosisVersionVO){
+
+        return dvIoService.getDesc(diagnosisVersionVO);
+    }
+    @PostMapping("/getPageList")
+    public Result getPageList(@RequestBody DignosisPageVO dignosisPageVO){
+
+        return dvIoService.getPageList(dignosisPageVO);
+    }
+
+    @GetMapping("/release/{id}")
+    public Result release(@PathVariable(value = "id")Integer id){
+
+        return dvIoService.release(id);
+    }
+
+
+    @PostMapping("/repeal/{id}")
+    public Result repeal(@PathVariable(value = "id")Integer id){
+
+        return dvIoService.repeal(id);
+    }
+
+    @PostMapping("/upStatus")
+    public Result upStatus(@RequestBody UpStatusDto upStatusDto){
+
+        return dvIoService.upStatus(upStatusDto);
+    }
+
 }

+ 22 - 0
src/main/java/com/om/entity/dto/DiagnosisInfoDTO.java

@@ -0,0 +1,22 @@
+package com.om.entity.dto;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+@Data
+@NoArgsConstructor
+public class DiagnosisInfoDTO implements Serializable {
+    private Integer id;
+   private String diagnosisName;
+   private String version;
+   private String username;
+   private String secret;
+   private String brandName;
+   private String clientName;
+   private String fileSize;
+   private LocalDateTime createTime;
+   private Integer status;
+}

+ 36 - 0
src/main/java/com/om/entity/dto/DiagnosisVErsionInfoDTO.java

@@ -0,0 +1,36 @@
+package com.om.entity.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+@Data
+@NoArgsConstructor
+public class DiagnosisVErsionInfoDTO implements Serializable {
+    @ApiModelProperty(value = "诊断程序版本名称")
+    private String diagnosisName;
+    @ApiModelProperty(value = "版本号")
+    private String versionNum;
+    @ApiModelProperty(value = "测试版本操作人")
+    private String username;
+
+    @ApiModelProperty(value = "密码代码")
+    private String cipherCode;
+    @ApiModelProperty(value = "品牌名称")
+    private String brandCode;
+
+    @ApiModelProperty(value = "客户端名称")
+    private String clientName;
+
+    @ApiModelProperty(value = "发布时间")
+    private LocalDateTime releaseTime;
+    @ApiModelProperty(value = "文件大小")
+    private Double fileSize;
+    @ApiModelProperty(value = "状态")
+    private Integer status;
+
+
+}

+ 14 - 0
src/main/java/com/om/entity/dto/UpStatusDto.java

@@ -0,0 +1,14 @@
+package com.om.entity.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class UpStatusDto {
+
+    private Integer id;
+    private Integer status;
+}

+ 1 - 0
src/main/java/com/om/entity/po/DiagnosisVersionDescribe.java

@@ -34,6 +34,7 @@ public class DiagnosisVersionDescribe implements Serializable {
     @ApiModelProperty(value = "关联的诊断程序版本ID")
     private Integer diagnosisId;
 
+
     @ApiModelProperty(value = "描述")
     private String description;
 

+ 9 - 1
src/main/java/com/om/entity/po/DiagnosisVersionInfo.java

@@ -35,6 +35,11 @@ public class DiagnosisVersionInfo implements Serializable {
     @ApiModelProperty(value = "品牌ID")
     private Integer brandId;
 
+    private String brandCode;
+
+    private String clientNumber;
+
+
     @ApiModelProperty(value = "密码代码")
     private String cipherCode;
 
@@ -51,7 +56,7 @@ public class DiagnosisVersionInfo implements Serializable {
     private String diagnosisEn;
 
     @ApiModelProperty(value = "诊断程序版本文件大小")
-    private Integer diagnosisFileSize;
+    private String diagnosisFileSize;
 
     @ApiModelProperty(value = "诊断程序版本名称")
     private String diagnosisName;
@@ -89,5 +94,8 @@ public class DiagnosisVersionInfo implements Serializable {
     @ApiModelProperty(value = "版本号")
     private String versionNum;
 
+    private Integer status;
+
+    private String username;
 
 }

+ 21 - 0
src/main/java/com/om/entity/vo/DiagnosisVersionVO.java

@@ -0,0 +1,21 @@
+package com.om.entity.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.web.multipart.MultipartFile;
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class DiagnosisVersionVO {
+    private Integer id;
+    private Integer mark;
+    private String diagnosisName;
+    private String brandCode;
+    private String clientNums;
+    private String language;
+    private String descriptionList;
+    private MultipartFile file;
+    private String diagnosisFileSize;
+
+}

+ 14 - 0
src/main/java/com/om/entity/vo/DignosisPageVO.java

@@ -0,0 +1,14 @@
+package com.om.entity.vo;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+@NoArgsConstructor
+@Data
+public class DignosisPageVO {
+    private Integer pageIndex;
+    private Integer pageSize;
+    private String query;
+}

+ 21 - 0
src/main/java/com/om/service/IDiagnosisVersionInfoService.java

@@ -1,7 +1,11 @@
 package com.om.service;
 
+import com.om.entity.dto.UpStatusDto;
 import com.om.entity.po.DiagnosisVersionInfo;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.om.entity.vo.DiagnosisVersionVO;
+import com.om.entity.vo.DignosisPageVO;
+import com.om.utils.Result;
 
 /**
  * <p>
@@ -13,4 +17,21 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IDiagnosisVersionInfoService extends IService<DiagnosisVersionInfo> {
 
+    Result add(DiagnosisVersionVO diagnosisVersionVO);
+
+    Result downloadFile(Integer id);
+
+    Result edit(DiagnosisVersionVO diagnosisVersionVO);
+
+    Result getByUserId(Integer id);
+
+    Result getDesc(DiagnosisVersionVO diagnosisVersionVO);
+
+    Result getPageList(DignosisPageVO dignosisPageVO);
+
+    Result release(Integer id);
+
+    Result repeal(Integer id);
+
+    Result upStatus(UpStatusDto upStatusDto);
 }

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

@@ -1,11 +1,26 @@
 package com.om.service.impl;
 
-import com.om.entity.po.DiagnosisVersionInfo;
+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.om.entity.dto.DiagnosisInfoDTO;
+import com.om.entity.dto.UpStatusDto;
+import com.om.entity.po.*;
+import com.om.entity.vo.DiagnosisVersionVO;
+import com.om.entity.vo.DignosisPageVO;
 import com.om.mapper.DiagnosisVersionInfoMapper;
-import com.om.service.IDiagnosisVersionInfoService;
+import com.om.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.om.utils.Result;
+import com.om.utils.UserContext;
+import io.swagger.v3.oas.annotations.parameters.RequestBody;
+import org.apache.commons.lang.StringUtils;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.util.List;
+
 /**
  * <p>
  *  服务实现类
@@ -17,4 +32,125 @@ import org.springframework.stereotype.Service;
 @Service
 public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersionInfoMapper, DiagnosisVersionInfo> implements IDiagnosisVersionInfoService {
 
+    @Resource
+    IDiagnosisVersionDescribeService describeService;
+    @Resource
+    IBrandService brandService;
+    @Resource
+    IClientService clientService;
+    @Resource
+    IUserService userService;
+    @Override
+    public Result add(DiagnosisVersionVO diagnosisVersionVO) {
+        DiagnosisVersionInfo info = new DiagnosisVersionInfo();
+        //copy了文件地址和名称,品牌名称,文件大小
+        BeanUtil.copyProperties(diagnosisVersionVO,info);
+        //获取user用户。保存当前操作人
+        Integer userId = UserContext.getUserId();
+        User user = userService.getById(userId);
+        info.setUsername(user.getUsername());
+        info.setVersionNum("1.0");
+        info.setStatus(0);
+        this.save(info);
+        LambdaQueryWrapper<DiagnosisVersionInfo> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(DiagnosisVersionInfo::getFile,diagnosisVersionVO.getFile());
+        queryWrapper.eq(DiagnosisVersionInfo::getDiagnosisName,diagnosisVersionVO.getDiagnosisName());
+        queryWrapper.eq(DiagnosisVersionInfo::getBrandCode,diagnosisVersionVO.getBrandCode());
+        //保存后获取
+        DiagnosisVersionInfo versionInfo = getOne(queryWrapper);
+        DiagnosisVersionDescribe describe = new DiagnosisVersionDescribe();
+        describe.setDiagnosisId(versionInfo.getId());
+        describe.setDescription(diagnosisVersionVO.getDescriptionList());
+        describe.setLanguage(diagnosisVersionVO.getLanguage());
+        describeService.save(describe);
+
+        return Result.ok();
+    }
+
+    @Override
+    public Result downloadFile(Integer id) {
+        return null;
+    }
+
+    @Override
+    public Result edit(DiagnosisVersionVO diagnosisVersionVO) {
+        Integer diaId = diagnosisVersionVO.getId();
+        DiagnosisVersionInfo versionInfo = getById(diaId);
+        versionInfo.setBrandCode(diagnosisVersionVO.getBrandCode());
+        versionInfo.setClientNumber(diagnosisVersionVO.getClientNums());
+        this.update(versionInfo,null);
+
+        LambdaQueryWrapper<DiagnosisVersionDescribe> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(DiagnosisVersionDescribe::getDiagnosisId,diaId);
+        DiagnosisVersionDescribe describe = describeService.getOne(queryWrapper);
+        describe.setDescription(diagnosisVersionVO.getDescriptionList());
+        describeService.update(describe,null);
+
+        return Result.ok();
+    }
+
+    @Override
+    public Result getByUserId(Integer id) {
+        DiagnosisVersionInfo versionInfo = this.getById(id);
+        if (versionInfo == null){
+            return Result.ok();
+        }
+        DiagnosisInfoDTO diagnosisInfo = new DiagnosisInfoDTO();
+        diagnosisInfo.setId(id);
+        diagnosisInfo.setBrandName(versionInfo.getBrandCode());
+        //根据客户端信息,获取客户端名称
+        LambdaQueryWrapper<Client> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(Client::getName,diagnosisInfo.getClientName());
+        Client client = clientService.getOne(queryWrapper);
+
+        diagnosisInfo.setClientName(client.getName());
+        diagnosisInfo.setCreateTime(versionInfo.getCreateTime());
+        diagnosisInfo.setDiagnosisName(versionInfo.getDiagnosisName());
+        diagnosisInfo.setFileSize(versionInfo.getDiagnosisFileSize());
+        diagnosisInfo.setSecret(versionInfo.getCipherCode());
+        diagnosisInfo.setStatus(diagnosisInfo.getStatus());
+        diagnosisInfo.setUsername(diagnosisInfo.getUsername());
+        diagnosisInfo.setVersion(versionInfo.getVersionNum());
+
+
+        return Result.ok(diagnosisInfo);
+    }
+
+
+    @Override
+    public Result getPageList(DignosisPageVO dignosisPageVO) {
+
+        Page<DiagnosisVersionInfo> page = this.lambdaQuery()
+                .like(StringUtils.isNotBlank(dignosisPageVO.getQuery()),DiagnosisVersionInfo::getUsername,dignosisPageVO.getQuery())
+                .page(new Page<>(dignosisPageVO.getPageIndex(),dignosisPageVO.getPageSize()));
+        return Result.ok(page);
+    }
+
+    @Override
+    public Result release(Integer id) {
+        DiagnosisVersionInfo info = this.getById(id);
+        info.setStatus(1);
+        this.update(info,null);
+        return Result.ok();
+    }
+
+    @Override
+    public Result repeal(Integer id) {
+        DiagnosisVersionInfo info = this.getById(id);
+        info.setStatus(0);
+        this.update(info,null);
+        return Result.ok();
+    }
+
+    /*
+    目前用不上
+     */
+    @Override
+    public Result upStatus(UpStatusDto upStatusDto) {
+        return null;
+    }
+    @Override
+    public Result getDesc(DiagnosisVersionVO diagnosisVersionVO) {
+        return null;
+    }
 }

+ 8 - 1
src/test/java/com/om/ObsTest.java

@@ -5,6 +5,9 @@ import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
 
 import javax.annotation.Resource;
+import java.time.LocalDate;
+
+import static com.om.constant.UploadConstant.DIAGNOSTIC_LOG_PREFIX;
 
 @SpringBootTest(classes = com.om.OperationApplication.class)
 public class ObsTest {
@@ -14,7 +17,11 @@ public class ObsTest {
 
     @Test
     public void UploadTest(){
-        String uploadUrl = huaweiObsUtil.getUploadUrl("1122.jpg", HuaweiObsUtil.FileType.TEST);
+
+        String prefix = DIAGNOSTIC_LOG_PREFIX ;
+        String uploadUrl = huaweiObsUtil.getUploadUrl(
+                "20230511_084854_Diagnosis_WulingNewEnergy_V1_0_0_44_VCU_Vehicle_Control.txt",
+                prefix);
         System.out.println(uploadUrl);
     }
 }