feat: 设备操作组件新增,上传文件、删除文件

master
李小林 9 months ago
parent 8f35f4d9f2
commit 06c73c207e
  1. 6
      src/main/java/com/bellmann/common/enums/FileUrlEnum.java
  2. 47
      src/main/java/com/bellmann/controller/DevOperateTypeController.java
  3. 6
      src/main/java/com/bellmann/controller/FileRecordController.java
  4. 12
      src/main/java/com/bellmann/mapper/DevOperateTypeMapper.java
  5. 22
      src/main/java/com/bellmann/model/entity/DevOperateType.java
  6. 17
      src/main/java/com/bellmann/model/form/DevOperateTypeForm.java
  7. 25
      src/main/java/com/bellmann/model/vo/DevOperateTypeVO.java
  8. 18
      src/main/java/com/bellmann/service/DevOperateTypeService.java
  9. 3
      src/main/java/com/bellmann/service/FileRecordService.java
  10. 72
      src/main/java/com/bellmann/service/impl/DevOperateTypeServiceImpl.java
  11. 5
      src/main/java/com/bellmann/service/impl/FileRecordServiceImpl.java
  12. 20
      src/main/resources/mapper/DevOperateTypeMapper.xml

@ -8,9 +8,9 @@ public enum FileUrlEnum implements IBaseEnum<String> {
CORP_CONF_FILE_URL("1","devtypever/conf/%s/"),
TR069_FILE_URL("3","tr069/%s"),
SERVICE_PLUGIN_FILE_URL("4","service/plugin/%s"),
CPE_CONF_FILE_URL("5","device/conf/%s")
SERVICE_PLUGIN_FILE_URL("4","service/plugin/%s/"),
CPE_CONF_FILE_URL("5","device/conf/%s"),
OPERATE_TYPE_FILE_URL("7","opertype/plugin/%s"),
;
@Getter
private String value;

@ -0,0 +1,47 @@
package com.bellmann.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bellmann.common.base.BasePageQuery;
import com.bellmann.common.result.PageResult;
import com.bellmann.common.result.Result;
import com.bellmann.model.form.DevOperateTypeForm;
import com.bellmann.model.vo.DevOperateTypeVO;
import com.bellmann.service.DevOperateTypeService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
@Tag(name = "17.设备操作组件")
@RestController
@RequiredArgsConstructor
@RequestMapping("/api/operate/v1")
public class DevOperateTypeController {
private final DevOperateTypeService devOperateTypeService;
@PostMapping("page")
@Operation(summary = "设备操作组件-page")
public PageResult<DevOperateTypeVO> resourcePage(@RequestBody BasePageQuery query){
Page<DevOperateTypeVO> page = devOperateTypeService.page(query);
return PageResult.success(page);
}
@PostMapping("add")
@Operation(summary = "新增设备操作组件")
public Result<String> addOperateType(@RequestBody DevOperateTypeForm form){
return devOperateTypeService.addOperateType(form);
}
@DeleteMapping("delete-operate-file/{fileId}")
@Operation(summary = "删除设备操作组件文件")
public Result<String> deleteOperateFile(@PathVariable Long fileId){
return devOperateTypeService.deleteOperateFile(fileId);
}
@PutMapping("edit-operate-file/{fileId}/{operateName}")
@Operation(summary = "删除设备操作组件文件")
public Result<String> editOperateFile(@PathVariable Long fileId, @PathVariable String operateName){
return devOperateTypeService.editOperateFile(fileId,operateName);
}
}

@ -45,9 +45,9 @@ public class FileRecordController {
@PostMapping("add")
@Operation(summary = "文件记录增加")
public Result<String> addFileRecord(@RequestBody FileRecordForm form){
Integer result = fileRecordService.addFileRecord(form);
return Result.success();
public Result<Long> addFileRecord(@RequestBody FileRecordForm form){
Long result = fileRecordService.addFileRecord(form);
return Result.success(result);
}
}

@ -0,0 +1,12 @@
package com.bellmann.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bellmann.model.entity.DevOperateType;
import com.bellmann.model.vo.DevOperateTypeVO;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface DevOperateTypeMapper extends BaseMapper<DevOperateType> {
Page<DevOperateTypeVO> tablePage(Page<DevOperateTypeVO> page);
}

@ -0,0 +1,22 @@
package com.bellmann.model.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
@Data
@TableName("itms_dev_oper_type")
public class DevOperateType implements Serializable {
private static final long serialVersionUID = -4137195771694283056L;
@TableField(value = "oper_name")
private String operateName;
private String displayName;
private String remark;
private Long fileId;
}

@ -0,0 +1,17 @@
package com.bellmann.model.form;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@Schema(description = "新增设备组件表单")
public class DevOperateTypeForm {
private String operateName;
private String displayName;
private String remark;
private Long fileId;
}

@ -0,0 +1,25 @@
package com.bellmann.model.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@Data
@Schema(description = "设备操作组件表格视图")
public class DevOperateTypeVO {
private String operateName;
private String fileName;
private String remark;
private Long fileId;
@JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
private LocalDateTime fileCreateTime;
private String userName;
}

@ -0,0 +1,18 @@
package com.bellmann.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bellmann.common.base.BasePageQuery;
import com.bellmann.common.result.Result;
import com.bellmann.model.form.DevOperateTypeForm;
import com.bellmann.model.vo.DevOperateTypeVO;
public interface DevOperateTypeService {
Page<DevOperateTypeVO> page(BasePageQuery query);
Result<String> addOperateType(DevOperateTypeForm form);
Result<String> deleteOperateFile(Long fileId);
Result<String> editOperateFile(Long fileId, String operateName);
}

@ -2,7 +2,6 @@ package com.bellmann.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bellmann.model.entity.FileRecord;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bellmann.model.form.FileRecordForm;
import com.bellmann.model.query.FileRecordQuery;
import com.bellmann.model.vo.FileRecordVO;
@ -21,5 +20,5 @@ public interface FileRecordService{
FileRecord findFileRecordById(Long fileId);
Integer addFileRecord(FileRecordForm form);
Long addFileRecord(FileRecordForm form);
}

@ -0,0 +1,72 @@
package com.bellmann.service.impl;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bellmann.common.base.BasePageQuery;
import com.bellmann.common.result.Result;
import com.bellmann.common.result.ResultCode;
import com.bellmann.manger.FileRecordManager;
import com.bellmann.mapper.DevOperateTypeMapper;
import com.bellmann.model.entity.DevOperateType;
import com.bellmann.model.entity.FileRecord;
import com.bellmann.model.form.DevOperateTypeForm;
import com.bellmann.model.vo.DevOperateTypeVO;
import com.bellmann.service.DevOperateTypeService;
import com.bellmann.service.FileOptionService;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
@RequiredArgsConstructor
public class DevOperateTypeServiceImpl implements DevOperateTypeService {
private final DevOperateTypeMapper devOperateTypeMapper;
private final FileRecordManager fileRecordManager;
private final FileOptionService fileOptionService;
@Override
public Result<String> addOperateType(DevOperateTypeForm form) {
DevOperateType devOperateType = new DevOperateType();
BeanUtils.copyProperties(form,devOperateType);
devOperateTypeMapper.insert(devOperateType);
return Result.success();
}
@Override
public Page<DevOperateTypeVO> page(BasePageQuery query) {
int pageNum = query.getPageNum();
int pageSize = query.getPageSize();
Page<DevOperateTypeVO> page = new Page<>(pageNum,pageSize);
return devOperateTypeMapper.tablePage(page);
}
@Override
@Transactional
public Result<String> deleteOperateFile(Long fileId) {
FileRecord fileRecord = fileRecordManager.findFileRecordById(fileId);
if (fileRecord==null){
return Result.failed(ResultCode.DATA_NOT_FOUND);
}
boolean b = fileOptionService.removeFile(fileRecord.getFileUrl(), fileRecord.getFileName());
if (!b){
return Result.failed(ResultCode.FILE_DELETE_FAIL);
}
fileRecordManager.deleteByFileId(fileId);
devOperateTypeMapper.update(null,new LambdaUpdateWrapper<DevOperateType>()
.eq(DevOperateType::getFileId,fileId)
.set(DevOperateType::getFileId,fileId)
);
return Result.success();
}
@Override
public Result<String> editOperateFile(Long fileId, String operateName) {
devOperateTypeMapper.update(null,new LambdaUpdateWrapper<DevOperateType>()
.eq(DevOperateType::getOperateName,operateName)
.set(DevOperateType::getFileId,fileId)
);
return Result.success();
}
}

@ -52,11 +52,12 @@ public class FileRecordServiceImpl implements FileRecordService {
}
@Override
public Integer addFileRecord(FileRecordForm form) {
public Long addFileRecord(FileRecordForm form) {
FileRecord fileRecord = fileRecordConverter.form2Entity(form);
fileRecord.setUserName(SecurityUtils.getUsername());
fileRecord.setFileCreateTime(LocalDateTime.now());
fileRecord.setFileServId(1L);
return fileRecordMapper.insert(fileRecord);
fileRecordMapper.insert(fileRecord);
return fileRecord.getFileId();
}
}

@ -0,0 +1,20 @@
<?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.bellmann.mapper.DevOperateTypeMapper">
<select id="tablePage" resultType="com.bellmann.model.vo.DevOperateTypeVO">
SELECT
itms_dev_oper_type.oper_name as operateName,
itms_file.file_name,
itms_file.file_id,
itms_dev_oper_type.remark,
itms_file.file_create_time,
itms_file.user_name
FROM
itms_dev_oper_type
LEFT JOIN itms_file ON itms_dev_oper_type.file_id = itms_file.file_id
order by itms_dev_oper_type.file_id desc
</select>
</mapper>
Loading…
Cancel
Save