package com.nova.sankuai.controller.v1; import com.baomidou.mybatisplus.core.metadata.IPage; import com.nova.sankuai.domain.dto.SyncConfigPageDto; import com.nova.sankuai.domain.entity.SyncConfig; import com.nova.sankuai.infra.utils.PageRequest; import com.nova.sankuai.infra.utils.ResultJson; import com.nova.sankuai.service.ISyncConfigService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; /** * @author weikangdi * @create 2021/12/10 */ @Api(tags = "数据同步配置管理") @RestController @RequestMapping(value = "/api/v1/syncConfig") @AllArgsConstructor public class SyncConfigController { private final ISyncConfigService syncConfigService; @PostMapping(value = "/addSyncConfig") @ApiOperation(value = "新增同步配置") @PreAuthorize("hasAuthority('syncConfig.addSyncConfig')") public ResultJson addSyncConfig(@RequestBody SyncConfig syncConfig) { syncConfigService.addSyncConfig(syncConfig); return ResultJson.success(); } @PutMapping(value = "/editSyncConfig") @ApiOperation(value = "编辑同步配置") @PreAuthorize("hasAuthority('syncConfig.editSyncConfig')") public ResultJson editSyncConfig(@RequestBody SyncConfig syncConfig) { syncConfigService.editSyncConfig(syncConfig); return ResultJson.success(); } @DeleteMapping(value = "/deleteSyncConfig/{id}") @ApiOperation(value = "删除同步配置") @PreAuthorize("hasAuthority('syncConfig.deleteSyncConfig')") public ResultJson deleteSyncConfig(@PathVariable("id") Long id) { syncConfigService.deleteSyncConfig(id); return ResultJson.success(); } @GetMapping(value = "/pageSyncConfig") @ApiOperation(value = "分页查看同步配置") @PreAuthorize("hasAuthority('syncConfig.pageSyncConfig')") public ResultJson> pageSyncConfig(SyncConfigPageDto pageDto, PageRequest pageRequest) { IPage page = syncConfigService.pageSyncConfig(pageDto, pageRequest); return ResultJson.ok(page); } @GetMapping(value = "/invalidSyncConfig/{id}") @ApiOperation(value = "启用/禁用同步配置") @PreAuthorize("hasAuthority('syncConfig.invalidSyncConfig')") public ResultJson invalidSyncConfig(@PathVariable("id") Long id, Integer status) { syncConfigService.invalidSyncConfig(id, status); return ResultJson.success(); } }