package com.estate.expert.admin.controller.admin.standard; import com.estate.expert.admin.domain.standard.model.device.DeviceModelDto; import com.estate.expert.admin.domain.user.User; import com.estate.expert.admin.domain.common.request.PageReq; import com.estate.expert.admin.service.model.DeviceModelService; import com.estate.expert.common.domain.Session; import com.estate.expert.common.rpc.Result; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @Slf4j @CrossOrigin @Api(tags = "管理后台/业务标准/设备体系模型管理") @RequestMapping("/admin/deviceModel") @RestController @Validated public class DeviceModelController { @Resource private DeviceModelService deviceModelService; @ApiOperation(value = "模型列表") @PostMapping("/list") public Result list(@ApiParam(value = "查询关键字") @RequestParam(value = "keyword", required = false) String keyword, @ApiParam(value = "分页参数") @Validated @RequestBody PageReq pageReq) { return Result.success(deviceModelService.list(keyword, pageReq)); } @ApiOperation(value = "添加模型") @PostMapping("/add") public Result add(@ApiParam(hidden = true) Session session, @Validated @RequestBody DeviceModelDto modelDto) { deviceModelService.add((User) session.getUser(), modelDto); return Result.success(); } @ApiOperation(value = "获取模型") @GetMapping("/get") public Result get(@ApiParam(value = "模型ID") @RequestParam("id") Integer id) { return Result.success(deviceModelService.detail(id)); } @ApiOperation(value = "编辑模型") @PostMapping("/edit") public Result edit(@Validated @RequestBody DeviceModelDto modelDto) { deviceModelService.edit(modelDto); return Result.success(); } ////// 设备模型特有的接口 ////// @ApiOperation(value = "拷贝模型") @GetMapping("/copy") public Result copy(@ApiParam(hidden = true) Session session, @RequestParam("modelId") Integer modelId){ deviceModelService.copy((User) session.getUser(), modelId); return Result.success(); } @ApiOperation(value = "发布模型") @GetMapping("/publish") public Result publish(@ApiParam(hidden = true) Session session, @RequestParam("modelId") Integer modelId){ deviceModelService.publish((User) session.getUser(), modelId); return Result.success(); } @ApiOperation(value = "开启") @GetMapping("/enable") public Result enable(@ApiParam(hidden = true) Session session, @RequestParam("modelId") Integer modelId){ deviceModelService.setEnable((User) session.getUser(), modelId, true); return Result.success(); } @ApiOperation(value = "禁用") @GetMapping("/disable") public Result disable(@ApiParam(hidden = true) Session session, @RequestParam("modelId") Integer modelId){ deviceModelService.setEnable((User) session.getUser(), modelId, false); return Result.success(); } }