From 91c60b946e0d2e8abc2c350598aa6d47ed28e83c Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期二, 24 九月 2024 14:36:29 +0800 Subject: [PATCH] 装机&放弃 逻辑新增state --- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/DevRentController.java | 111 ++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 96 insertions(+), 15 deletions(-) diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/DevRentController.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/DevRentController.java index bd79b4f..c6cf8dc 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/DevRentController.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/DevRentController.java @@ -1,5 +1,10 @@ package cn.lihu.jh.module.ecg.controller.admin.devrent; +import cn.lihu.jh.framework.common.util.exception.ExceptionUtils; +import cn.lihu.jh.module.ecg.dal.dataobject.devmanage.DeviceDO; +import cn.lihu.jh.module.ecg.enums.DevRentStateEnum; +import cn.lihu.jh.module.ecg.service.devmanage.DeviceService; +import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import org.springframework.validation.annotation.Validated; import org.springframework.security.access.prepost.PreAuthorize; @@ -14,12 +19,12 @@ import cn.lihu.jh.framework.common.pojo.PageResult; import cn.lihu.jh.framework.common.pojo.CommonResult; import cn.lihu.jh.framework.common.util.object.BeanUtils; -import static cn.lihu.jh.framework.common.pojo.CommonResult.success; import cn.lihu.jh.framework.excel.core.util.ExcelUtils; import cn.lihu.jh.framework.apilog.core.annotation.ApiAccessLog; import static cn.lihu.jh.framework.apilog.core.enums.OperateTypeEnum.*; +import static cn.lihu.jh.module.ecg.enums.ErrorCodeConstants.*; import cn.lihu.jh.module.ecg.controller.admin.devrent.vo.*; import cn.lihu.jh.module.ecg.dal.dataobject.devrent.DevRentDO; @@ -33,50 +38,107 @@ @RestController @RequestMapping("/ecg/dev-rent") @Validated +@Slf4j public class DevRentController { @Resource private DevRentService devRentService; + @Resource + private DeviceService deviceService; + + @PostMapping("/dev-install") + @Operation(summary = "瑁呮満") + @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") + public CommonResult<Long> devInstall(@Valid @RequestBody DevRentSaveReqVO createReqVO) { + try { + return devRentService.installOperation(createReqVO); + } catch ( RuntimeException runtimeException ) { + String err = ExceptionUtils.formatException( runtimeException ); + log.error("devInstall: " + err); + return CommonResult.error(DEV_INSTALL_EXCEPTION); + } + } + + @PostMapping("/dev-dismantle") + @Operation(summary = "鎷嗘満") + @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") + public CommonResult<Long> devDismantle(@Valid @RequestBody DevRentSaveReqVO createReqVO) { + try { + devRentService.dismantleOperation(createReqVO); + return CommonResult.success(0L); + } catch ( RuntimeException runtimeException ) { + String err = ExceptionUtils.formatException( runtimeException ); + log.error("devDismantle: " + err); + return CommonResult.error(DEV_DISMANTLE_EXCEPTION); + } + } + + @PostMapping("/dev-cancel") + @Operation(summary = "鍙栨秷瑁呮満") + @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") + public CommonResult<Long> devCancel(@Valid @RequestBody DevCancelReqVO cancelReqVO) { + try { + return devRentService.cancelOperation(cancelReqVO); + } catch ( RuntimeException runtimeException ) { + String err = ExceptionUtils.formatException( runtimeException ); + log.error("devCancel: " + err); + return CommonResult.error(DEV_CANCEL_EXCEPTION); + } + } + + @PostMapping("/dev-lose") + @Operation(summary = "閬楀け") + @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") + public CommonResult<Long> devLose(@Valid @RequestBody DevRentSaveReqVO loseReqVO) { + try { + return devRentService.loseOperation(loseReqVO); + } catch ( RuntimeException runtimeException ) { + String err = ExceptionUtils.formatException( runtimeException ); + log.error("devLose: " + err); + return CommonResult.error(DEV_LOSE_EXCEPTION); + } + } + @PostMapping("/create") @Operation(summary = "鍒涘缓瑁呮満鎷嗘満") - @PreAuthorize("@ss.hasPermission('ecg:dev-rent:create')") - public CommonResult<Integer> createDevRent(@Valid @RequestBody DevRentSaveReqVO createReqVO) { - return success(devRentService.createDevRent(createReqVO)); + @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") + public CommonResult<Long> createDevRent(@Valid @RequestBody DevRentSaveReqVO createReqVO) { + return CommonResult.success(devRentService.createDevRent(createReqVO)); } @PutMapping("/update") @Operation(summary = "鏇存柊瑁呮満鎷嗘満") - @PreAuthorize("@ss.hasPermission('ecg:dev-rent:update')") + @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") public CommonResult<Boolean> updateDevRent(@Valid @RequestBody DevRentSaveReqVO updateReqVO) { devRentService.updateDevRent(updateReqVO); - return success(true); + return CommonResult.success(true); } @DeleteMapping("/delete") @Operation(summary = "鍒犻櫎瑁呮満鎷嗘満") @Parameter(name = "id", description = "缂栧彿", required = true) - @PreAuthorize("@ss.hasPermission('ecg:dev-rent:delete')") - public CommonResult<Boolean> deleteDevRent(@RequestParam("id") Integer id) { + @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") + public CommonResult<Boolean> deleteDevRent(@RequestParam("id") Long id) { devRentService.deleteDevRent(id); - return success(true); + return CommonResult.success(true); } @GetMapping("/get") @Operation(summary = "鑾峰緱瑁呮満鎷嗘満") @Parameter(name = "id", description = "缂栧彿", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('ecg:dev-rent:query')") - public CommonResult<DevRentRespVO> getDevRent(@RequestParam("id") Integer id) { + @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") + public CommonResult<DevRentRespVO> getDevRent(@RequestParam("id") Long id) { DevRentDO devRent = devRentService.getDevRent(id); - return success(BeanUtils.toBean(devRent, DevRentRespVO.class)); + return CommonResult.success(BeanUtils.toBean(devRent, DevRentRespVO.class)); } @GetMapping("/page") @Operation(summary = "鑾峰緱瑁呮満鎷嗘満鍒嗛〉") - @PreAuthorize("@ss.hasPermission('ecg:dev-rent:query')") + @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") public CommonResult<PageResult<DevRentRespVO>> getDevRentPage(@Valid DevRentPageReqVO pageReqVO) { PageResult<DevRentDO> pageResult = devRentService.getDevRentPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, DevRentRespVO.class)); + return CommonResult.success(BeanUtils.toBean(pageResult, DevRentRespVO.class)); } @GetMapping("/export-excel") @@ -92,4 +154,23 @@ BeanUtils.toBean(list, DevRentRespVO.class)); } -} \ No newline at end of file + @GetMapping("/get-dismantle-rent") + @Operation(summary = "鑾峰彇鎮h�呰澶囩殑鏈�杩戠璧佹儏鍐�") + @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") + public CommonResult<DevRentRespVO> getLatestRent( @Valid DevRentSearchReqVO searchReqVO ) + { + searchReqVO.setState( DevRentStateEnum.INSTALLED.getState() ); + DevRentDO devRent = devRentService.getDismantleRent( searchReqVO ); + if (null == devRent) { + return CommonResult.success(null); + } + + DeviceDO deviceDO = deviceService.getDevice( devRent.getDevId() ); + + DevRentRespVO devRentRespVO = BeanUtils.toBean(devRent, DevRentRespVO.class); + devRentRespVO.setCategory( deviceDO.getCategory() ); + devRentRespVO.setBrand( deviceDO.getBrand() ); + devRentRespVO.setModel( deviceDO.getModel() ); + return CommonResult.success(devRentRespVO); + } +} -- Gitblit v1.9.3