Prechádzať zdrojové kódy

诊断依据校验数据时返回主表id

zhoutg 5 rokov pred
rodič
commit
ea8d341524

+ 3 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/VerifyDataDTO.java

@@ -25,4 +25,7 @@ public class VerifyDataDTO {
 
     @ApiModelProperty(value = "1:有问题词,0:无问题词")
     private Integer hasQuestion;
+
+    @ApiModelProperty(value = "主表id")
+    private Long id;
 }

+ 13 - 0
knowledgeman-service/src/main/java/com/diagbot/facade/DiagnoseFacade.java

@@ -186,6 +186,7 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
         // 更新主表业务(同时删除明细表和问题词表)
         Long id = insertOrUpdateDiagnose(diagnoseWrapper, param);
         diagnoseWrapper.setId(id);
+        verifyDataDTO.setId(id); //设置主键返回
         // 加载词库数据
         List<LibraryForDiagnoseDTO> libraryForDiagnoseDTOS = libraryInfoFacade.getLibraryForDiagnose();
         // 明细数据
@@ -513,6 +514,18 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
      * @return
      */
     public Long insertOrUpdateDiagnose(DiagnoseWrapper diagnoseWrapper, CommonParam param) {
+        // 先校验诊断名称是否存在,多人同时点击
+        QueryWrapper<Diagnose> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("dis_name", diagnoseWrapper.getDisName())
+                .eq("is_deleted", IsDeleteEnum.N.getKey());
+        if (diagnoseWrapper.getId() != null) {
+            queryWrapper.ne("id", diagnoseWrapper.getId());
+        }
+        Diagnose bean = this.getOne(queryWrapper);
+        if (bean != null) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,"当前疾病的诊断依据已存在!");
+        }
+
         Diagnose diagnose = new Diagnose();
         BeanUtil.copyProperties(diagnoseWrapper, diagnose);
         if (diagnoseWrapper.getId() == null) { //新增

+ 1 - 1
knowledgeman-service/src/main/java/com/diagbot/web/DiagnoseController.java

@@ -12,7 +12,6 @@ import com.diagbot.entity.wrapper.DiagnoseWrapper;
 import com.diagbot.facade.DiagnoseFacade;
 import com.diagbot.vo.DeleteDiagnoseVO;
 import com.diagbot.vo.DiagnosePageVO;
-import com.diagbot.vo.DiagnoseVerifyVO;
 import com.diagbot.vo.DiseaseIndexVO;
 import com.diagbot.vo.GetDiagnoseDetailVO;
 import com.diagbot.vo.UpdateDiagnoseVO;
@@ -54,6 +53,7 @@ public class DiagnoseController {
     @ApiOperation(value = "诊断依据-删除[by:zhoutg]", notes = "")
     @PostMapping("/delete")
     @SysLogger("delete")
+    @Transactional
     public RespDTO<Boolean> delete(@Valid @RequestBody DeleteDiagnoseVO deleteDiagnoseVO) {
         diagnoseFacade.delete(deleteDiagnoseVO);
         return RespDTO.onSuc(true);