瀏覽代碼

诊断程序

bmmx 1 年之前
父節點
當前提交
8f13093ecc

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

@@ -24,7 +24,7 @@ public class DiagnosisVersionSearchVO implements Serializable {
     private String[] descriptionList;
     private String fileUrl;
     private String fileName;
-    private long diagnosisFileSize;
+    private String diagnosisFileSize;
     private Integer status;
     private String username;
     private String version;

+ 76 - 14
src/main/java/com/om/service/impl/DiagnosisVersionInfoServiceImpl.java

@@ -32,6 +32,7 @@ import java.time.LocalDateTime;
 import java.time.ZoneOffset;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
+import java.util.Comparator;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -173,7 +174,23 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
         }
         log.info("----修改完成-----");
 
-
+//      描述
+        String[] language = diagnosisVersionVO.getLanguage();
+        String[] descriptionList = diagnosisVersionVO.getDescriptionList();
+        List<DiagnosisVersionDescribe> diagnosisVersionDescribes = describeService.lambdaQuery()
+                .eq(DiagnosisVersionDescribe::getDiagnosisId, diagnosisVersionVO.getId())
+                .list();
+        describeService.removeBatchByIds(diagnosisVersionDescribes);
+        diagnosisVersionDescribes.clear();
+
+        for (int i = 0; i < language.length; i++) {
+            DiagnosisVersionDescribe diagnosisVersionDescribe = new DiagnosisVersionDescribe();
+            diagnosisVersionDescribe.setLanguage(language[i]);
+            diagnosisVersionDescribe.setDescription(descriptionList[i]);
+            diagnosisVersionDescribe.setDiagnosisId(diagnosisVersionVO.getId());
+            diagnosisVersionDescribes.add(diagnosisVersionDescribe);
+        }
+        describeService.saveBatch(diagnosisVersionDescribes);
         return Result.ok();
     }
 
@@ -225,7 +242,8 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
 
         Page<DiagnosisVersionInfo> page = this.lambdaQuery()
                 .like(StringUtils.isNotBlank(username), DiagnosisVersionInfo::getUsername, username)
-                .orderByDesc(DiagnosisVersionInfo::getUpdateTime)
+                .orderByDesc(DiagnosisVersionInfo::getBrandCode)
+                .orderByDesc(DiagnosisVersionInfo::getVersion)
                 .page(new Page<>(pageIndex, pageSize));
         //获取总的数据
         List<DiagnosisVersionInfo> diagLists = page.getRecords();
@@ -304,22 +322,25 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
     public Result release(Integer id) {
         DiagnosisVersionInfo info = this.getById(id);
         String brandCode = info.getBrandCode();
-        DiagnosisVersionInfo diagnosisVersionInfo = this.lambdaQuery()
+        List<DiagnosisVersionInfo> diagnosisVersionInfoList = this.lambdaQuery()
                 .eq(DiagnosisVersionInfo::getBrandCode, brandCode)
                 .eq(DiagnosisVersionInfo::getStatus, 1)
-                .one();
+                .list();
 
-        if (BeanUtil.isEmpty(diagnosisVersionInfo)){
-            info.setStatus(1);
-            LambdaQueryWrapper<DiagnosisVersionInfo> queryWrapper = new LambdaQueryWrapper<>();
-            queryWrapper.eq(DiagnosisVersionInfo::getId, id);
-            this.update(info, queryWrapper);
-            return Result.ok();
-        }else {
-            throw new BadReqException("一个品牌只能有一个发布版!!");
-        }
+        info.setStatus(1);
+        LambdaQueryWrapper<DiagnosisVersionInfo> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(DiagnosisVersionInfo::getId, id);
+        this.update(info, queryWrapper);
 
+        if (CollectionUtil.isNotEmpty(diagnosisVersionInfoList)){
+            for (DiagnosisVersionInfo diagnosisVersionInfo : diagnosisVersionInfoList) {
+                diagnosisVersionInfo.setStatus(2);
+            }
 
+            this.updateBatchById(diagnosisVersionInfoList);
+        }
+
+        return Result.ok();
     }
 
     @Override
@@ -328,7 +349,26 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
         info.setStatus(2);
         LambdaQueryWrapper<DiagnosisVersionInfo> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(DiagnosisVersionInfo::getId, id);
+
+
+        String brandCode = info.getBrandCode();
+
+        List<DiagnosisVersionInfo> list = this.lambdaQuery()
+                .eq(DiagnosisVersionInfo::getBrandCode, brandCode)
+                .eq(DiagnosisVersionInfo::getStatus, 2)
+                .list();
+        DiagnosisVersionInfo diagnosisVersionInfo = list.stream().max(new Comparator<DiagnosisVersionInfo>() {
+            @Override
+            public int compare(DiagnosisVersionInfo o1, DiagnosisVersionInfo o2) {
+                return VersionComparator.compareVersions(o1.getVersion(), o2.getVersion());
+            }
+        }).get();
+        diagnosisVersionInfo.setStatus(1);
+
+        this.updateById(diagnosisVersionInfo);
         this.update(info, queryWrapper);
+
+
         return Result.ok();
     }
 
@@ -336,12 +376,32 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
     修改状态
      */
     @Override
+    @Transactional
     public Result upStatus(Integer id) {
         DiagnosisVersionInfo info = this.getById(id);
         info.setStatus(2);
         LambdaQueryWrapper<DiagnosisVersionInfo> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(DiagnosisVersionInfo::getId, id);
+
+
+        String brandCode = info.getBrandCode();
+
+        List<DiagnosisVersionInfo> list = this.lambdaQuery()
+                .eq(DiagnosisVersionInfo::getBrandCode, brandCode)
+                .eq(DiagnosisVersionInfo::getStatus, 2)
+                .list();
+        DiagnosisVersionInfo diagnosisVersionInfo = list.stream().max(new Comparator<DiagnosisVersionInfo>() {
+            @Override
+            public int compare(DiagnosisVersionInfo o1, DiagnosisVersionInfo o2) {
+                return VersionComparator.compareVersions(o1.getVersion(), o2.getVersion());
+            }
+        }).get();
+        diagnosisVersionInfo.setStatus(1);
+
+        this.updateById(diagnosisVersionInfo);
         this.update(info, queryWrapper);
+
+
         return Result.ok();
 
 
@@ -439,7 +499,9 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
         }
         vehicleInfo.setBrandName(brand.getBrandCn());
         vehicleInfo.setBrandNameEn(brand.getBrandEn());
-        vehicleInfo.setSortLetter(diagnosisVersionInfo.getDiagnosisName().substring(0,1));
+        if (diagnosisVersionInfo.getDiagnosisName()!=null){
+            vehicleInfo.setSortLetter(diagnosisVersionInfo.getDiagnosisName().substring(0,1));
+        }
         vehicleInfo.setUrl(diagnosisVersionInfo.getSavePath());
         List<Describe> describeList = new ArrayList<>();
         List<DiagnosisVersionDescribe> diagnosisVersionDescribes = describeService.lambdaQuery()

+ 1 - 0
src/main/java/com/om/service/impl/ManualServiceImpl.java

@@ -9,6 +9,7 @@ import com.om.entity.po.Client;
 import com.om.entity.po.Manual;
 import com.om.entity.po.Wxsc;
 import com.om.entity.vo.AppManual;
+import com.om.entity.vo.ManualVO;
 import com.om.exception.BadReqException;
 import com.om.exception.BizException;
 import com.om.mapper.ManualMapper;

+ 2 - 2
src/main/java/com/om/utils/VersionComparator.java

@@ -2,8 +2,8 @@ package com.om.utils;
 
 public class VersionComparator {
     public static void main(String[] args) {
-        String version1 = "v1.0.1";
-        String version2 = "V1.0.2";
+        String version1 = "v1.0.0.1";
+        String version2 = "V1.0.0.2";
 
         int result = compareVersions(version1, version2);