From 2f8e70ad2884d2b6b7443dfae0af11ae9cfc8b99 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 28 二月 2025 17:44:10 +0800
Subject: [PATCH] bug修改

---
 manage/src/main/java/com/jilongda/manage/controller/TOptometristController.java |   37 +++++++++++++++++++++++++++++++++++--
 1 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/manage/src/main/java/com/jilongda/manage/controller/TOptometristController.java b/manage/src/main/java/com/jilongda/manage/controller/TOptometristController.java
index a3315fa..8a9e317 100644
--- a/manage/src/main/java/com/jilongda/manage/controller/TOptometristController.java
+++ b/manage/src/main/java/com/jilongda/manage/controller/TOptometristController.java
@@ -4,6 +4,8 @@
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.jilongda.common.basic.ApiResult;
 import com.jilongda.common.basic.PageInfo;
+import com.jilongda.manage.authority.model.SecUser;
+import com.jilongda.manage.authority.service.SecUserService;
 import com.jilongda.manage.model.TOptometrist;
 import com.jilongda.manage.query.TOptometristQuery;
 import com.jilongda.manage.query.TicketQuery;
@@ -12,6 +14,8 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.StringUtils;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
@@ -30,6 +34,8 @@
 public class TOptometristController {
     @Autowired
     private TOptometristService optometristService;
+    @Autowired
+    private SecUserService secUserService;
 
     @ApiOperation(value = "验光师列表")
     @PostMapping(value = "/pageList")
@@ -52,7 +58,14 @@
     }
     @ApiOperation(value = "验光师添加")
     @PostMapping(value = "/add")
-    public ApiResult<String> add(@RequestBody TOptometrist dto) {
+    public ApiResult<String> add(@Validated @RequestBody TOptometrist dto) {
+        Long count = optometristService.lambdaQuery().eq(TOptometrist::getPhone, dto.getPhone())
+                .eq(TOptometrist::getStatus, 1).count();
+        if (count>0){
+            return ApiResult.failed("当前号码已存在");
+        }
+        List<SecUser> list = secUserService.lambdaQuery().eq(SecUser::getPhone, dto.getPhone()).list();
+        if (!list.isEmpty())return ApiResult.failed("当前号码在员工管理已存在");
         optometristService.save(dto);
         return ApiResult.success();
     }
@@ -60,14 +73,34 @@
     @ApiOperation(value = "验光师编辑")
     @PostMapping(value = "/update")
     public ApiResult<String> update(@RequestBody TOptometrist dto) {
+        if (StringUtils.hasLength(dto.getName())&&dto.getName().length()>15){
+            return ApiResult.failed("验光师名称不能超过15个字");
+        }
+
+        Long count = optometristService.lambdaQuery().eq(TOptometrist::getPhone, dto.getPhone())
+                .ne(TOptometrist::getId,dto.getId())
+                .eq(TOptometrist::getStatus, 1).count();
+        if (count>0){
+            return ApiResult.failed("当前号码已存在");
+        }
+        List<SecUser> list = secUserService.lambdaQuery().eq(SecUser::getPhone, dto.getPhone()).list();
+        if (!list.isEmpty())return ApiResult.failed("当前号码在员工管理已存在");
         optometristService.updateById(dto);
         return ApiResult.success();
     }
 
     @ApiOperation(value = "验光师上下架")
     @GetMapping(value = "/upAndDown")
-    public ApiResult<Boolean> upAndDown(@RequestParam Integer id,
+    public ApiResult upAndDown(@RequestParam Integer id,
                                         @RequestParam Integer status) {
+        TOptometrist optometrist = optometristService.getById(id);
+        if (status==1){
+            // 启用之前 先查询有没有手机号相同的验光师正在启用状态
+            TOptometrist oldOptometrist = optometristService.lambdaQuery().eq(TOptometrist::getPhone, optometrist.getPhone()).eq(TOptometrist::getStatus, 1).one();
+            if (oldOptometrist!=null){
+                return ApiResult.failed("当前手机号正在使用");
+            }
+        }
         return ApiResult.success(optometristService.upAndDown(id,status));
     }
 }

--
Gitblit v1.7.1