jh-framework/jh-common/src/main/java/cn/lihu/jh/framework/common/util/exception/ExceptionUtils.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,17 @@ package cn.lihu.jh.framework.common.util.exception; import java.text.MessageFormat; public class ExceptionUtils { public static String formatException(Exception e) { // è·åå¼å¸¸ä¿¡æ¯ï¼è®°å½æ¥å¿ // StackTraceElement stackTraceElement = e.getStackTrace()[0]; // String className = stackTraceElement.getClassName(); // String fileName = stackTraceElement.getFileName(); // int lineNumber = stackTraceElement.getLineNumber(); // String methodName = stackTraceElement.getMethodName(); // return MessageFormat.format("ç±»å:{0},æä»¶å:{1},è¡æ°:{2},åæ³å:{3}", className, fileName, lineNumber, methodName); return e.getLocalizedMessage(); } } jh-module-ecg/jh-module-ecg-api/src/main/java/cn/lihu/jh/module/ecg/enums/ErrorCodeConstants.java
@@ -26,6 +26,8 @@ ErrorCode DEV_MODEL_NOT_EXISTS = new ErrorCode(1_010_005_000, "设å¤åå·ä¸åå¨"); ErrorCode DEVICE_NOT_EXISTS = new ErrorCode(1_010_005_001, "设å¤ä¸åå¨"); ErrorCode DEV_RENT_NOT_EXISTS = new ErrorCode(1_010_005_002, "ç§åä¸åå¨"); ErrorCode DEV_INSTALL_EXCEPTION = new ErrorCode(1_010_005_003, "è£ æºå é¨é误"); ErrorCode DEV_DISMANTLE_EXCEPTION = new ErrorCode(1_010_005_004, "ææºå é¨é误"); ErrorCode JOB_RECORD_NOT_EXISTS = new ErrorCode(1_010_006_000, "å·¥ä½è®°å½ä¸åå¨"); } jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devrent/DevRentController.java
@@ -1,5 +1,7 @@ package cn.lihu.jh.module.ecg.controller.admin.devrent; import cn.lihu.jh.framework.common.util.exception.ExceptionUtils; 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 +16,17 @@ 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.error; 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.framework.common.util.exception.ExceptionUtils.formatException; import static cn.lihu.jh.module.ecg.enums.ErrorCodeConstants.DEV_DISMANTLE_EXCEPTION; import static cn.lihu.jh.module.ecg.enums.ErrorCodeConstants.DEV_INSTALL_EXCEPTION; import cn.lihu.jh.module.ecg.controller.admin.devrent.vo.*; import cn.lihu.jh.module.ecg.dal.dataobject.devrent.DevRentDO; @@ -33,11 +40,40 @@ @RestController @RequestMapping("/ecg/dev-rent") @Validated @Slf4j public class DevRentController { @Resource private DevRentService devRentService; @PostMapping("/dev-install") @Operation(summary = "è£ æº") @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") public CommonResult<Long> devInstall(@Valid @RequestBody DevRentSaveReqVO createReqVO) { try { Long rent_id = devRentService.installOperation(createReqVO); return success(rent_id); } catch ( RuntimeException runtimeException ) { String err = ExceptionUtils.formatException( runtimeException ); log.error("devInstall: " + err); return 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 success(0L); } catch ( RuntimeException runtimeException ) { String err = ExceptionUtils.formatException( runtimeException ); log.error("devDismantle: " + err); return error(DEV_DISMANTLE_EXCEPTION); } } @PostMapping("/create") @Operation(summary = "åå»ºè£ æºææº") @PreAuthorize("@ss.hasPermission('ecg:doctor:task')") jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/jobrecord/vo/JobRecordSaveReqVO.java
@@ -37,7 +37,7 @@ private LocalDateTime jobTime; @Schema(description = "ä½ä¸æ¦è¦") private Integer summary; private String summary; @Schema(description = "夿³¨", example = "ä½ ç") private String remark; jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentService.java
@@ -16,6 +16,22 @@ public interface DevRentService { /** * è£ æº * * @param createReqVO åå»ºä¿¡æ¯ * @return ç¼å· */ Long installOperation(@Valid DevRentSaveReqVO createReqVO); /** * ææº * * @param createReqVO åå»ºä¿¡æ¯ * @return ç¼å· */ Long dismantleOperation(@Valid DevRentSaveReqVO createReqVO); /** * åå»ºè£ æºææº * * @param createReqVO åå»ºä¿¡æ¯ jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devrent/DevRentServiceImpl.java
@@ -1,5 +1,9 @@ package cn.lihu.jh.module.ecg.service.devrent; import cn.lihu.jh.framework.security.core.util.SecurityFrameworkUtils; import cn.lihu.jh.module.ecg.controller.admin.jobrecord.vo.JobRecordSaveReqVO; import cn.lihu.jh.module.ecg.dal.dataobject.jobrecord.JobRecordDO; import cn.lihu.jh.module.ecg.dal.mysql.jobrecord.JobRecordMapper; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import org.springframework.transaction.annotation.Transactional; @@ -30,6 +34,59 @@ @Resource private DevRentMapper devRentMapper; @Resource private JobRecordMapper jobRecordMapper; @Override @Transactional public Long installOperation(DevRentSaveReqVO createReqVO) { Long rent_id = createDevRent( createReqVO ); Long userId = SecurityFrameworkUtils.getLoginUserId(); String userNickname = SecurityFrameworkUtils.getLoginUserNickname(); JobRecordSaveReqVO jobRecordSaveReqVO = new JobRecordSaveReqVO(); jobRecordSaveReqVO.setRentId(rent_id); jobRecordSaveReqVO.setDevId( createReqVO.getDevId() ); jobRecordSaveReqVO.setDocId( userId ); jobRecordSaveReqVO.setDocName( userNickname ); jobRecordSaveReqVO.setPatId( createReqVO.getPatId() ); jobRecordSaveReqVO.setPatName( createReqVO.getPatName() ); jobRecordSaveReqVO.setJobTime( createReqVO.getRentTime() ); jobRecordSaveReqVO.setJobType( 0 ); jobRecordSaveReqVO.setRemark( createReqVO.getRemark() ); jobRecordSaveReqVO.setSummary( "" ); JobRecordDO jobRecord = BeanUtils.toBean(jobRecordSaveReqVO, JobRecordDO.class); jobRecordMapper.insert(jobRecord); return rent_id; } @Override @Transactional public Long dismantleOperation(DevRentSaveReqVO updateReqVO) { updateDevRent( updateReqVO ); Long userId = SecurityFrameworkUtils.getLoginUserId(); String userNickname = SecurityFrameworkUtils.getLoginUserNickname(); JobRecordSaveReqVO jobRecordSaveReqVO = new JobRecordSaveReqVO(); jobRecordSaveReqVO.setRentId( updateReqVO.getId() ); jobRecordSaveReqVO.setDevId( updateReqVO.getDevId() ); jobRecordSaveReqVO.setDocId( userId ); jobRecordSaveReqVO.setDocName( userNickname ); jobRecordSaveReqVO.setPatId( updateReqVO.getPatId() ); jobRecordSaveReqVO.setPatName( updateReqVO.getPatName() ); jobRecordSaveReqVO.setJobTime( updateReqVO.getReturnTime() ); jobRecordSaveReqVO.setJobType( 1 ); jobRecordSaveReqVO.setRemark( updateReqVO.getRemark() ); jobRecordSaveReqVO.setSummary( updateReqVO.getInterference() + " " + updateReqVO.getBaseline() + " " + updateReqVO.getDetachment() ); JobRecordDO jobRecord = BeanUtils.toBean(jobRecordSaveReqVO, JobRecordDO.class); jobRecordMapper.insert(jobRecord); return 0L; } @Override public Long createDevRent(DevRentSaveReqVO createReqVO) { // sql/mysql/jh.sql
@@ -174,7 +174,7 @@ `pat_id` varchar(45) DEFAULT NULL COMMENT 'æ£è ç¼å·', `pat_name` varchar(45) DEFAULT NULL COMMENT 'æ£è åç§°', `job_time` datetime DEFAULT NULL COMMENT 'ä½ä¸æ¶é´', `summary` int DEFAULT NULL COMMENT 'ä½ä¸æ¦è¦', `summary` varchar(200) DEFAULT NULL COMMENT 'ä½ä¸æ¦è¦', `remark` varchar(100) DEFAULT NULL COMMENT '夿³¨', `tenant_id` int DEFAULT '1' COMMENT 'ç§æ·ç¼å·', `creator` varchar(10) DEFAULT '' COMMENT 'å建è ', @@ -183,5 +183,4 @@ `update_time` datetime NOT NULL COMMENT 'æ´æ°æ¶é´', `deleted` bit(1) DEFAULT b'0' COMMENT 'å 餿 è®°', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='å·¥ä½è®°å½è¡¨' ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='å·¥ä½è®°å½è¡¨';