Bläddra i källkod

客户端用户登录时添加状态返回值,诊断程序更新,编辑客户端用户时报错

bmmx 11 månader sedan
förälder
incheckning
4fb2e99752

+ 4 - 2
src/main/java/com/om/controller/admin/DiagnosticLogController.java

@@ -11,6 +11,8 @@ import io.swagger.annotations.ApiOperation;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 
 /**
@@ -43,8 +45,8 @@ public class DiagnosticLogController {
 
     @ApiOperation("下载单个文件")
     @GetMapping("/downloadFile")
-    public Result downloadFile(@RequestParam Integer id){
-        return diagnosticLogService.downloadFile(id);
+    public Result downloadFile(@RequestParam Integer id, HttpServletResponse response, HttpServletRequest request){
+        return diagnosticLogService.downloadFile(id,response,request);
     }
 
     @ApiOperation("删除诊断日志")

+ 3 - 0
src/main/java/com/om/entity/vo/UserLoginVO.java

@@ -36,6 +36,9 @@ public class UserLoginVO {
     @ApiModelProperty(value = "guid")
     private String guid;
 
+    @ApiModelProperty(value = "状态")
+    private Integer state;
+
     @ApiModelProperty(value = "vci列表")
     private List<VciInfoVO> vciInfoList;
 

+ 3 - 1
src/main/java/com/om/service/IDiagnosticLogService.java

@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.om.entity.vo.DiaLogQueryPageVO;
 import com.om.utils.Result;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 
 /**
@@ -23,7 +25,7 @@ public interface IDiagnosticLogService extends IService<DiagnosticLog> {
 
     Result batchDownload(List<Integer> ids);
 
-    Result downloadFile(Integer id);
+    Result downloadFile(Integer id, HttpServletResponse response, HttpServletRequest request);
 
     Result updateDiagLog(AppDiagLogDTO dto);
 

+ 35 - 26
src/main/java/com/om/service/impl/DiagnosisVersionInfoServiceImpl.java

@@ -25,6 +25,7 @@ import java.time.ZoneOffset;
 import java.util.ArrayList;
 import java.util.Comparator;
 import java.util.List;
+import java.util.function.Predicate;
 import java.util.stream.Collectors;
 
 /**
@@ -71,7 +72,7 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
         StringBuffer sb = new StringBuffer();
         for (int i = 0; i < clientNums.length; i++) {
             sb.append(clientNums[i]);
-            if (clientNums.length != 1 && i != clientNums.length - 1){
+            if (clientNums.length != 1 && i != clientNums.length - 1) {
                 sb.append(",");
             }
         }
@@ -100,8 +101,6 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
         this.save(info);
 
 
-
-
         LambdaQueryWrapper<DiagnosisVersionInfo> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(DiagnosisVersionInfo::getId, info.getId());
         //保存后获取
@@ -221,7 +220,7 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
 
 
     @Override
-    public Result getByUserId( Integer id) {
+    public Result getByUserId(Integer id) {
         DiagnosisVersionVO versionVO = this.getVO(id);
 
 
@@ -263,8 +262,8 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
                 Client client = clientService.lambdaQuery()
                         .eq(Client::getNumber, diagClients.get(j).getClientNum())
                         .one();
-                if (BeanUtil.isEmpty(client)){
-                    throw new BadReqException("该客户端编号"+diagClients.get(j).getClientNum()+"不存在");
+                if (BeanUtil.isEmpty(client)) {
+                    throw new BadReqException("该客户端编号" + diagClients.get(j).getClientNum() + "不存在");
                 }
                 nums[j] = client.getNumber();
                 s[j] = client.getName();
@@ -291,8 +290,8 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
             Brand brand = brandService.lambdaQuery()
                     .eq(Brand::getBrandCode, info.getBrandCode())
                     .one();
-            if (BeanUtil.isEmpty(brand)){
-                throw new BadReqException(info.getDiagnosisName()+"此诊断程序中品牌编号有误");
+            if (BeanUtil.isEmpty(brand)) {
+                throw new BadReqException(info.getDiagnosisName() + "此诊断程序中品牌编号有误");
             }
             //传入客户端
             versionVO.setLanguage(language);
@@ -326,7 +325,7 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
         queryWrapper.eq(DiagnosisVersionInfo::getId, id);
         this.update(info, queryWrapper);
 
-        if (CollectionUtil.isNotEmpty(diagnosisVersionInfoList)){
+        if (CollectionUtil.isNotEmpty(diagnosisVersionInfoList)) {
             for (DiagnosisVersionInfo diagnosisVersionInfo : diagnosisVersionInfoList) {
                 diagnosisVersionInfo.setStatus(2);
             }
@@ -418,7 +417,7 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
         }
         User user = userService.getById(userId);
         if (BeanUtil.isEmpty(user)) {
-            return Result.fail(240339,"该客户端账号不存在",null);
+            return Result.fail(240339, "该客户端账号不存在", null);
         }
         List<VehicleDates> voList = new ArrayList<>();
 
@@ -427,19 +426,29 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
 
             List<DiagnosisVersionInfo> diagnosisVersionInfos = this.lambdaQuery()
                     .eq(DiagnosisVersionInfo::getBrandCode, vehicleDates.getBrandCode())
-                    .eq(user.getUserType() == 0,DiagnosisVersionInfo::getStatus,1)
-                    .eq(user.getUserType() == 1,DiagnosisVersionInfo::getStatus,0)
-                    .apply("CONCAT(',', client_number, ',') LIKE {0}", "%,"+clientNum+",%")
-                    .gt(StringUtils.isNotBlank(version),DiagnosisVersionInfo::getVersion, version)
+                    .eq(user.getUserType() == 0, DiagnosisVersionInfo::getStatus, 1)
+                    .eq(user.getUserType() == 1, DiagnosisVersionInfo::getStatus, 0)
+                    .apply("CONCAT(',', client_number, ',') LIKE {0}", "%," + clientNum + ",%")
+                    //.gt(StringUtils.isNotBlank(version),DiagnosisVersionInfo::getVersion, version)
                     .orderByDesc(DiagnosisVersionInfo::getVersion)
                     .list();
-            if(CollectionUtil.isEmpty(diagnosisVersionInfos)){
-               continue;
+            if (CollectionUtil.isEmpty(diagnosisVersionInfos)) {
+                continue;
+            }
+
+            diagnosisVersionInfos = diagnosisVersionInfos.stream().filter(diagnosisVersionInfo ->
+                            VersionComparator.compareVersions(diagnosisVersionInfo.getVersion(), version) >= 0)
+                    .collect(Collectors.toList());
+            if (CollectionUtil.isEmpty(diagnosisVersionInfos)) {
+                continue;
             }
+
             DiagnosisVersionInfo diagnosisVersionInfo = diagnosisVersionInfos.get(0);
+
+
             //根据品牌id查询品牌
             Brand brand = brandService.lambdaQuery()
-                    .eq(Brand::getBrandCode,diagnosisVersionInfo.getBrandCode())
+                    .eq(Brand::getBrandCode, diagnosisVersionInfo.getBrandCode())
                     .one();
             VehicleDates vehicleDates1 = BeanUtil.copyProperties(diagnosisVersionInfo, VehicleDates.class);
 
@@ -450,7 +459,7 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
                     .one();
             if (!BeanUtil.isEmpty(diagnosisVersionDescribe)) {
                 vehicleDates1.setDescription(diagnosisVersionDescribe.getDescription());
-            }else {
+            } else {
                 vehicleDates1.setDescription("");
             }
             //获取下载链接
@@ -484,17 +493,17 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
         pushInfo.setPushInfoType(2);
         VehicleInfo vehicleInfo = new VehicleInfo();
 
-       BeanUtil.copyProperties(diagnosisVersionInfo, vehicleInfo);
+        BeanUtil.copyProperties(diagnosisVersionInfo, vehicleInfo);
         Brand brand = brandService.lambdaQuery()
-                .eq(Brand::getBrandCode,diagnosisVersionInfo.getBrandCode())
+                .eq(Brand::getBrandCode, diagnosisVersionInfo.getBrandCode())
                 .one();
         if (BeanUtil.isEmpty(brand)) {
-            throw new BadReqException("该品牌"+diagnosisVersionInfo.getBrandCode()+"不存在");
+            throw new BadReqException("该品牌" + diagnosisVersionInfo.getBrandCode() + "不存在");
         }
         vehicleInfo.setBrandName(brand.getBrandCn());
         vehicleInfo.setBrandNameEn(brand.getBrandEn());
-        if (diagnosisVersionInfo.getDiagnosisName()!=null){
-            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<>();
@@ -515,7 +524,7 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
         List<DiagClients> diagClients = diagClientsService.lambdaQuery()
                 .eq(DiagClients::getDiagId, diagnosisVersionInfo.getId())
                 .list();
-        String[] tokens  = null;
+        String[] tokens = null;
         if (!diagClients.isEmpty()) {
             List<String> clientNums = diagClients.stream().map(c -> c.getClientNum()).collect(Collectors.toList());
             List<String> tokenList = new ArrayList<>();
@@ -526,7 +535,7 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
             //调用工具类
             pushInfo.setJson(GsonUtils.toJsonString(vehicleInfo));
             try {
-                pushUtil.sendAndroidListcastJSON(tokens,pushInfo);
+                pushUtil.sendAndroidListcastJSON(tokens, pushInfo);
             } catch (Exception e) {
                 throw new BizException("推送失败!!!");
             }
@@ -551,6 +560,6 @@ public class DiagnosisVersionInfoServiceImpl extends ServiceImpl<DiagnosisVersio
 
             return list.stream().map(c -> c.getDeviceToken()).collect(Collectors.toList());
         }
-       return null;
+        return null;
     }
 }

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

@@ -22,7 +22,8 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
-import java.time.LocalDate;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.List;
@@ -136,7 +137,7 @@ public class DiagnosticLogServiceImpl extends ServiceImpl<DiagnosticLogMapper, D
     }
 
     @Override
-    public Result downloadFile(Integer id) {
+    public Result downloadFile(Integer id, HttpServletResponse response, HttpServletRequest request) {
         //根据id进行查询
         DiagnosticLog diagnosticLog = this.getById(id);
 

+ 3 - 0
src/main/java/com/om/service/impl/UserServiceImpl.java

@@ -185,9 +185,11 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
         userLoginVO.setUsername(username);
         userLoginVO.setPassword(password);
         userLoginVO.setGuid(guid);
+
         if (user.getState() == 0) {
             return Result.fail("用户被禁用").result(ResultCode.USER_DISABLED);
         }
+        userLoginVO.setState(user.getState());
         if (type == 1) {
             user.setDeviceSn(deviceSn);
             userMapper.updateById(user);
@@ -503,6 +505,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
         if (deviceSn != null && !deviceSn.isEmpty()) {
             Device one = deviceService.lambdaQuery()
                     .eq(Device::getDeviceSn, deviceSn)
+                    .eq(Device::getUsername,user.getUsername())
                     .one();
             if (BeanUtil.isEmpty(one)) {
                 throw new BadReqException("该平板设备不存在");

+ 2 - 2
src/main/resources/template/static/report.html

@@ -285,7 +285,7 @@
             <td style="padding-left: 180px">
                 <ul>
                     <#list controlMap.getFaultCodeMap()?values as value>
-                    <#if value?? && value?has_content>
+                    <#if value?? && value.description?has_content>
                     <li>${value.description}</li>
                 </#if>
                     <p></p>
@@ -295,7 +295,7 @@
             <td style="padding-left: 180px">
                 <ul>
                     <#list controlMap.getFaultCodeMap()?values as value>
-                    <#if value?? && value?has_content>
+                    <#if value?? && value.status?has_content>
                     <li>${value.status}</li>
                 </#if>
                 <p></p>