diff --git a/src/main/java/com/bellmann/common/enums/FileUrlEnum.java b/src/main/java/com/bellmann/common/enums/FileUrlEnum.java index 1a518ee..9f81e9f 100644 --- a/src/main/java/com/bellmann/common/enums/FileUrlEnum.java +++ b/src/main/java/com/bellmann/common/enums/FileUrlEnum.java @@ -8,9 +8,9 @@ public enum FileUrlEnum implements IBaseEnum { 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; diff --git a/src/main/java/com/bellmann/controller/DevOperateTypeController.java b/src/main/java/com/bellmann/controller/DevOperateTypeController.java new file mode 100644 index 0000000..bcb49f3 --- /dev/null +++ b/src/main/java/com/bellmann/controller/DevOperateTypeController.java @@ -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 resourcePage(@RequestBody BasePageQuery query){ + Page page = devOperateTypeService.page(query); + return PageResult.success(page); + } + @PostMapping("add") + @Operation(summary = "新增设备操作组件") + public Result addOperateType(@RequestBody DevOperateTypeForm form){ + return devOperateTypeService.addOperateType(form); + } + + @DeleteMapping("delete-operate-file/{fileId}") + @Operation(summary = "删除设备操作组件文件") + public Result deleteOperateFile(@PathVariable Long fileId){ + return devOperateTypeService.deleteOperateFile(fileId); + } + @PutMapping("edit-operate-file/{fileId}/{operateName}") + @Operation(summary = "删除设备操作组件文件") + public Result editOperateFile(@PathVariable Long fileId, @PathVariable String operateName){ + return devOperateTypeService.editOperateFile(fileId,operateName); + } +} diff --git a/src/main/java/com/bellmann/controller/FileRecordController.java b/src/main/java/com/bellmann/controller/FileRecordController.java index 23887a8..0e69b32 100644 --- a/src/main/java/com/bellmann/controller/FileRecordController.java +++ b/src/main/java/com/bellmann/controller/FileRecordController.java @@ -45,9 +45,9 @@ public class FileRecordController { @PostMapping("add") @Operation(summary = "文件记录增加") - public Result addFileRecord(@RequestBody FileRecordForm form){ - Integer result = fileRecordService.addFileRecord(form); - return Result.success(); + public Result addFileRecord(@RequestBody FileRecordForm form){ + Long result = fileRecordService.addFileRecord(form); + return Result.success(result); } } diff --git a/src/main/java/com/bellmann/mapper/DevOperateTypeMapper.java b/src/main/java/com/bellmann/mapper/DevOperateTypeMapper.java new file mode 100644 index 0000000..4e584f8 --- /dev/null +++ b/src/main/java/com/bellmann/mapper/DevOperateTypeMapper.java @@ -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 { + Page tablePage(Page page); +} diff --git a/src/main/java/com/bellmann/model/entity/DevOperateType.java b/src/main/java/com/bellmann/model/entity/DevOperateType.java new file mode 100644 index 0000000..b4019bb --- /dev/null +++ b/src/main/java/com/bellmann/model/entity/DevOperateType.java @@ -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; +} diff --git a/src/main/java/com/bellmann/model/form/DevOperateTypeForm.java b/src/main/java/com/bellmann/model/form/DevOperateTypeForm.java new file mode 100644 index 0000000..238784b --- /dev/null +++ b/src/main/java/com/bellmann/model/form/DevOperateTypeForm.java @@ -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; +} diff --git a/src/main/java/com/bellmann/model/vo/DevOperateTypeVO.java b/src/main/java/com/bellmann/model/vo/DevOperateTypeVO.java new file mode 100644 index 0000000..3ebd9d6 --- /dev/null +++ b/src/main/java/com/bellmann/model/vo/DevOperateTypeVO.java @@ -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; +} diff --git a/src/main/java/com/bellmann/service/DevOperateTypeService.java b/src/main/java/com/bellmann/service/DevOperateTypeService.java new file mode 100644 index 0000000..e144e8c --- /dev/null +++ b/src/main/java/com/bellmann/service/DevOperateTypeService.java @@ -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 page(BasePageQuery query); + + Result addOperateType(DevOperateTypeForm form); + + Result deleteOperateFile(Long fileId); + + Result editOperateFile(Long fileId, String operateName); + +} diff --git a/src/main/java/com/bellmann/service/FileRecordService.java b/src/main/java/com/bellmann/service/FileRecordService.java index ad43981..fc41aee 100644 --- a/src/main/java/com/bellmann/service/FileRecordService.java +++ b/src/main/java/com/bellmann/service/FileRecordService.java @@ -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); } diff --git a/src/main/java/com/bellmann/service/impl/DevOperateTypeServiceImpl.java b/src/main/java/com/bellmann/service/impl/DevOperateTypeServiceImpl.java new file mode 100644 index 0000000..74eec8a --- /dev/null +++ b/src/main/java/com/bellmann/service/impl/DevOperateTypeServiceImpl.java @@ -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 addOperateType(DevOperateTypeForm form) { + DevOperateType devOperateType = new DevOperateType(); + BeanUtils.copyProperties(form,devOperateType); + devOperateTypeMapper.insert(devOperateType); + return Result.success(); + } + + @Override + public Page page(BasePageQuery query) { + int pageNum = query.getPageNum(); + int pageSize = query.getPageSize(); + Page page = new Page<>(pageNum,pageSize); + return devOperateTypeMapper.tablePage(page); + } + + @Override + @Transactional + public Result 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() + .eq(DevOperateType::getFileId,fileId) + .set(DevOperateType::getFileId,fileId) + ); + return Result.success(); + } + + @Override + public Result editOperateFile(Long fileId, String operateName) { + devOperateTypeMapper.update(null,new LambdaUpdateWrapper() + .eq(DevOperateType::getOperateName,operateName) + .set(DevOperateType::getFileId,fileId) + ); + return Result.success(); + } +} diff --git a/src/main/java/com/bellmann/service/impl/FileRecordServiceImpl.java b/src/main/java/com/bellmann/service/impl/FileRecordServiceImpl.java index 84bfc34..f2c05b5 100644 --- a/src/main/java/com/bellmann/service/impl/FileRecordServiceImpl.java +++ b/src/main/java/com/bellmann/service/impl/FileRecordServiceImpl.java @@ -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(); } } diff --git a/src/main/resources/mapper/DevOperateTypeMapper.xml b/src/main/resources/mapper/DevOperateTypeMapper.xml new file mode 100644 index 0000000..c34f372 --- /dev/null +++ b/src/main/resources/mapper/DevOperateTypeMapper.xml @@ -0,0 +1,20 @@ + + + + + +