فهرست منبع

获取ECU刷写文件下载列表

bmmx 1 سال پیش
والد
کامیت
034915fd27

+ 37 - 0
src/main/java/com/om/controller/user/APPBrushFileController.java

@@ -0,0 +1,37 @@
+package com.om.controller.user;
+
+
+import com.om.entity.dto.AppBrushFileDTO;
+import com.om.entity.vo.AppBrushFileVO;
+import com.om.service.IBrushFileService;
+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;
+import java.util.List;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author bmmx
+ * @since 2024-03-21
+ */
+@RestController
+@Api(tags = "ECU刷写文件")
+@RequestMapping("app/brush")
+public class APPBrushFileController {
+
+
+    @Resource
+    private IBrushFileService brushFileService;
+
+    @PostMapping("getBrushFileList")
+    @ApiOperation("获取ECU刷写文件下载列表")
+    public Result<List<AppBrushFileVO>> getBrushFileList(@RequestBody AppBrushFileDTO dto){
+        return brushFileService.getBrushFileList(dto);
+    }
+}

+ 0 - 1
src/main/java/com/om/controller/user/UserController.java

@@ -62,7 +62,6 @@ public class UserController {
     @ApiOperation("退出登录")
     public Result logout(){
         //清楚redis数据
-
         return userService.logout();
     }
 

+ 21 - 0
src/main/java/com/om/entity/dto/AppBrushFileDTO.java

@@ -0,0 +1,21 @@
+package com.om.entity.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+@EqualsAndHashCode(callSuper = true)
+@Data
+@NoArgsConstructor
+public class AppBrushFileDTO extends AppBaseDTO{
+
+    @ApiModelProperty(value = "品牌编号")
+    private String brandCode;
+
+    @ApiModelProperty(value = "语言")
+    private String language;
+
+}

+ 44 - 0
src/main/java/com/om/entity/po/BrushDescription.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-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("brush_description")
+@ApiModel(value="BrushDescription对象", description="")
+public class BrushDescription implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "刷写文件描述主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "刷写文件id")
+    private Integer brushId;
+
+    @ApiModelProperty(value = "语言")
+    private String language;
+
+    @ApiModelProperty(value = "版本描述")
+    private String description;
+
+
+}

+ 57 - 0
src/main/java/com/om/entity/po/BrushFile.java

@@ -0,0 +1,57 @@
+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.time.LocalDateTime;
+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-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("brush_file")
+@ApiModel(value="BrushFile对象", description="")
+public class BrushFile implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "主键id")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "版本号")
+    private String version;
+
+    @ApiModelProperty(value = "刷写文件名称")
+    private String brushFileName;
+
+    @ApiModelProperty(value = "文件大小")
+    private String fileSize;
+
+    @ApiModelProperty(value = "下载路径")
+    private String url;
+
+    @ApiModelProperty(value = "创建时间")
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "修改时间")
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "品牌编号")
+    private String brandCode;
+
+
+}

+ 35 - 0
src/main/java/com/om/entity/vo/AppBrushFileVO.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;
+
+@Data
+@NoArgsConstructor
+public class AppBrushFileVO {
+
+    @ApiModelProperty(value = "版本号")
+    private String version;
+
+    @ApiModelProperty(value = "刷写文件名称")
+    private String brushFileName;
+
+    @ApiModelProperty(value = "文件大小")
+    private String fileSize;
+
+    @ApiModelProperty(value = "下载路径")
+    private String url;
+
+    @ApiModelProperty(value = "创建时间")
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "版本描述")
+    private String description;
+
+
+
+}

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

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

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

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

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

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

+ 23 - 0
src/main/java/com/om/service/IBrushFileService.java

@@ -0,0 +1,23 @@
+package com.om.service;
+
+import com.om.entity.po.BrushFile;
+import com.om.entity.dto.AppBrushFileDTO;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.om.entity.vo.AppBrushFileVO;
+import com.om.utils.Result;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author bmmx
+ * @since 2024-03-21
+ */
+public interface IBrushFileService extends IService<BrushFile> {
+
+    Result<List<AppBrushFileVO>> getBrushFileList(AppBrushFileDTO dto);
+
+}

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

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

+ 75 - 0
src/main/java/com/om/service/impl/BrushFileServiceImpl.java

@@ -0,0 +1,75 @@
+package com.om.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.om.entity.dto.AppBrushFileDTO;
+import com.om.entity.dto.GuidDTO;
+import com.om.entity.po.BrushDescription;
+import com.om.entity.po.BrushFile;
+import com.om.entity.vo.AppBrushFileVO;
+import com.om.exception.BadReqException;
+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.JwtUtils;
+import com.om.utils.Result;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author bmmx
+ * @since 2024-03-21
+ */
+@Service
+public class BrushFileServiceImpl extends ServiceImpl<BrushFileMapper, BrushFile> implements IBrushFileService {
+
+    @Resource
+    private JwtUtils jwtUtils;
+
+    @Resource
+    private IBrushDescriptionService brushDescriptionService;
+
+    @Override
+    public Result<List<AppBrushFileVO>> getBrushFileList(AppBrushFileDTO dto) {
+        if (BeanUtil.isEmpty(dto)){
+            throw new BadReqException("数据为空");
+        }
+
+        String brandCode = dto.getBrandCode();
+        String language = dto.getLanguage();
+        String guid = dto.getGuid();
+        GuidDTO guidDTO = jwtUtils.getGuidDTOFromToken(guid);
+        String clientNum = guidDTO.getClientNum();
+
+        List<BrushFile> brushFileList = this.lambdaQuery()
+                .eq(BrushFile::getBrandCode, brandCode)
+                .list();
+
+        if (brushFileList.isEmpty()){
+            return Result.ok();
+        }
+        List<AppBrushFileVO> brushFileVOList = new ArrayList<>();
+        for (BrushFile brushFile : brushFileList) {
+            AppBrushFileVO appBrushFileVO = BeanUtil.copyProperties(brushFile, AppBrushFileVO.class);
+
+            BrushDescription brushDescription = brushDescriptionService.lambdaQuery()
+                    .eq(BrushDescription::getBrushId, brushFile.getId())
+                    .eq(BrushDescription::getLanguage, language)
+                    .one();
+            if (BeanUtil.isEmpty(brushDescription)){
+                throw new BadReqException("该版本描述不存在");
+            }
+            appBrushFileVO.setDescription(brushDescription.getDescription());
+            brushFileVOList.add(appBrushFileVO);
+        }
+
+        return Result.ok(brushFileVOList);
+    }
+}

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

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