From b8d7a4bde52a99f0669e5b95a9db4c375664c3bc Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 09 一月 2025 14:56:03 +0800
Subject: [PATCH] bug修改

---
 optometrist/src/main/java/com/jilongda/optometrist/controller/TOptometristController.java |   85 ++++++++++++++++++++++++++++++++++++++----
 1 files changed, 77 insertions(+), 8 deletions(-)

diff --git a/optometrist/src/main/java/com/jilongda/optometrist/controller/TOptometristController.java b/optometrist/src/main/java/com/jilongda/optometrist/controller/TOptometristController.java
index 65ed077..f7539ab 100644
--- a/optometrist/src/main/java/com/jilongda/optometrist/controller/TOptometristController.java
+++ b/optometrist/src/main/java/com/jilongda/optometrist/controller/TOptometristController.java
@@ -2,6 +2,7 @@
 
 
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import com.jilongda.common.basic.ApiResult;
 import com.jilongda.common.basic.PageInfo;
 import com.jilongda.optometrist.authority.model.SecUser;
@@ -23,6 +24,7 @@
 
 import java.time.LocalDateTime;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -69,16 +71,56 @@
         PageInfo<TOptometryVO> tOptometryVOPageInfo = optometristService.pageList(query);
         return ApiResult.success(tOptometryVOPageInfo);
     }
+    @ApiOperation(value = "验光记录详情")
+    @GetMapping(value = "/detail")
+    public ApiResult<TDetailVO> detail(Integer id) {
+        TOptometry one = optometryService.getById(id);
+        TAppUser byId = appUserService.getById(one.getUserId());
+        TDetailVO tDetailVO = new TDetailVO();
+        tDetailVO.setName(byId.getName());
+        tDetailVO.setPhone(byId.getPhone());
+        tDetailVO.setAvatar(byId.getAvatar());
+        tDetailVO.setRealName(one.getRealName());
+        tDetailVO.setAge(one.getAge());
+        tDetailVO.setGender(one.getGender());
+        // 查询消费次数,验光次数
+        long l = optometryService.count(Wrappers.<TOptometry>lambdaQuery()
+                .eq(TOptometry::getUserId, byId.getId())
+                .eq(TOptometry::getStatus,3));
+        tDetailVO.setOptometryCount((int) l);
+        long count = orderService.count(Wrappers.<TOrder>lambdaQuery()
+                .eq(TOrder::getUserId, byId.getId()));
+        tDetailVO.setSaleCount((int) count);
+        TOptometrist byId1 = optometristService.getById(one.getOptometristId());
+        tDetailVO.setOptometristName(byId1.getName());
+        TStore byId2 = storeService.getById(one.getStoreId());
+        tDetailVO.setStoreName(byId2.getName());
+        List<TOptometryDetail> list = optometryDetailService.lambdaQuery().eq(TOptometryDetail::getOptometryId, one.getId()).list();
+        tDetailVO.setOptometryDetailVOS(list);
+        tDetailVO.setCreateTime(one.getCreateTime());
+        return ApiResult.success(tDetailVO);
+    }
     @ApiOperation(value = "首页")
     @PostMapping(value = "/index")
     public ApiResult<TOptometristVO> index() {
         TOptometristVO tOptometristVO = new TOptometristVO();
-
-        Long userId = loginInfoUtil.getUserId();
-        SecUser byId = secUserService.getById(userId);
+        Integer userId = loginInfoUtil.getUserId();
+        TOptometrist byId = optometristService.getById(userId);
         TStore byId1 = storeService.getById(byId.getStoreId());
         tOptometristVO.setStoreName(byId1.getName());
+        tOptometristVO.setName(byId.getName());
+        tOptometristVO.setPhone(byId.getPhone());
+        Date start = new Date();
+        Date end = new Date();
+        // 获取今日凌晨00:00:00和今日23:59:59
+        start.setHours(0);
+        start.setMinutes(0);
+        start.setSeconds(0);
+        end.setHours(23);
+        end.setMinutes(59);
+        end.setSeconds(59);
         int size = optometryService.lambdaQuery().eq(TOptometry::getOptometristId, userId)
+                .between(TOptometry::getCreateTime, start, end)
                 .eq(TOptometry::getStatus, 3).list().size();
         tOptometristVO.setOptometryCount(size);
         // 查询今日的排号列表
@@ -132,21 +174,44 @@
     @ApiOperation(value = "开始验光")
     @GetMapping(value = "/startOptometry")
     public ApiResult startOptometry(Integer id) {
-        Long userId = loginInfoUtil.getUserId();
+        Integer userId = loginInfoUtil.getUserId();
         List<TLineUp> list = tLineUpService.lambdaQuery().eq(TLineUp::getStatus, 2)
                 .eq(TLineUp::getOptometristId, userId).list();
         if (!list.isEmpty())return ApiResult.failed("当前还有未结束的验光单");
         TLineUp lineUp = tLineUpService.getById(id);
+        // 获取今天凌晨00:00:00和今日23:59:59
+        Date start = new Date();
+        start.setHours(0);
+        start.setMinutes(0);
+        start.setSeconds(0);
+        Date end = new Date();
+        end.setHours(23);
+        end.setMinutes(59);
+        end.setSeconds(59);
+        List<TLineUp> lineUps = tLineUpService.lambdaQuery().eq(TLineUp::getStoreId, lineUp.getStoreId())
+                .between(TLineUp::getCreateTime, start, end).list();
+        for (TLineUp up : lineUps) {
+            if (Integer.parseInt(up.getCode())<Integer.parseInt(lineUp.getCode())){
+                up.setStatus(4);
+            }
+        }
+        tLineUpService.updateBatchById(lineUps);
         lineUp.setStatus(2);
         tLineUpService.updateById(lineUp);
         return ApiResult.success();
     }
+
     @ApiOperation(value = "取消排号")
     @GetMapping(value = "/cancelLineUp")
     public ApiResult cancelLineUp(Integer id) {
         TLineUp lineUp = tLineUpService.getById(id);
         lineUp.setStatus(5);
         tLineUpService.updateById(lineUp);
+        TOptometry one = optometryService.lambdaQuery().eq(TOptometry::getLineUpId, lineUp.getId()).one();
+        if (one!=null){
+            one.setStatus(5);
+            optometryService.updateById(one);
+        }
         return ApiResult.success();
     }
     @ApiOperation(value = "填写验光信息完成")
@@ -161,11 +226,14 @@
         if (byId1!=null){
             tOptometry.setPhone(byId1.getPhone());
         }
-        Long userId = loginInfoUtil.getUserId();
-        SecUser byId2 = secUserService.getById(userId);
+        tOptometry.setLineUpId(dto.getId());
+        Integer userId = loginInfoUtil.getUserId();
+        TOptometrist byId2 = optometristService.getById(userId);
         tOptometry.setRealName(byId.getUserName());
-        tOptometry.setOptometristId(userId.intValue());
+        tOptometry.setLineUpId(dto.getId());
+        tOptometry.setOptometristId(userId);
         tOptometry.setStoreId(byId2.getStoreId());
+        tOptometry.setStatus(3);
         optometryService.save(tOptometry);
         List<TOptometryDetail> tOptometryDetails = new ArrayList<>();
 
@@ -176,7 +244,7 @@
             tOptometryDetail.setBallMirror(optometryDetailVO.getBallMirror());
             tOptometryDetail.setColumnMirror(optometryDetailVO.getColumnMirror());
             tOptometryDetail.setAxis(optometryDetailVO.getAxis());
-            tOptometryDetail.setAdd(optometryDetailVO.getAdd());
+            tOptometryDetail.setAddS(optometryDetailVO.getAddS());
             tOptometryDetail.setPupilHeight(optometryDetailVO.getPupilHeight());
             tOptometryDetail.setPupilDistance(optometryDetailVO.getPupilDistance());
             tOptometryDetail.setCorrect(optometryDetailVO.getCorrect());
@@ -191,5 +259,6 @@
         return ApiResult.success();
     }
 
+
 }
 

--
Gitblit v1.7.1