package com.estate.expert.admin.controller.admin; import com.estate.expert.admin.domain.business.device.DeviceDto; import com.estate.expert.admin.domain.business.device.DeviceType; import com.estate.expert.admin.domain.common.request.BatchReq; import com.estate.expert.admin.domain.common.request.PageReq; import com.estate.expert.admin.domain.user.User; import com.estate.expert.admin.service.DeviceService; import com.estate.expert.common.auth.IgnoreAuth; 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.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @Api(tags = "管理后台/设备管理") @Slf4j @CrossOrigin @RestController @RequestMapping("/admin/device") @Validated public class DeviceController { @Resource private DeviceService deviceService; @ApiOperation(value = "设备列表") @PostMapping("/list") public Result list(@RequestParam(value = "keyword", required = false) String keyword, @RequestParam(value = "deviceType", required = false) DeviceType deviceType, @Validated @RequestBody PageReq pageReq) { return Result.success(deviceService.list(keyword, deviceType, pageReq)); } @ApiOperation(value = "设备添加") @PostMapping("/add") public Result add(@ApiParam(hidden = true) Session session, @Validated @RequestBody DeviceDto deviceDto) { deviceService.add((User) session.getUser(), deviceDto); return Result.success(); } @ApiOperation(value = "设备详情") @GetMapping("/detail") public Result detail(@RequestParam("id") Integer id) { return Result.success(deviceService.toDto(deviceService.get(id))); } // @ApiOperation(value = "设备导入") // @PostMapping("/import") // public Result importDevice(@ApiParam(hidden = true) Session session, // @Validated @RequestBody FileImportRequest request) throws IOException { // List devices = oldExcelService.importDeviceExcel(request.getFile()); // deviceService.addEntities((User) session.getUser(), devices); // return Result.success(); // } // // @IgnoreAuth // @GetMapping("/export") // @ResponseBody // public void exportDevice(@RequestParam(value = "keyword", required = false) String keyword, // @RequestParam(value = "deviceType", required = false) DeviceType deviceType, // HttpServletResponse response) throws IOException { // oldExcelService.exportDeviceExcel(keyword, deviceType, response); // } @ApiOperation(value = "设备修改") @PostMapping("/edit") public Result edit(@Validated @RequestBody DeviceDto deviceDto) { deviceService.edit(deviceDto); return Result.success(); } @ApiOperation(value = "设备批量删除") @PostMapping("/batch/del") public Result batchDel(@Validated @RequestBody BatchReq request) { deviceService.deleteAllById(request.getIds()); return Result.success(); } }