xuhy
2025-01-09 dc97b71863725241ad02ea2692edfc9f076cf627
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,6 +71,35 @@
        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() {
@@ -79,7 +110,17 @@
        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);
        // 查询今日的排号列表
@@ -138,6 +179,23 @@
                .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();
@@ -152,8 +210,8 @@
        TOptometry one = optometryService.lambdaQuery().eq(TOptometry::getLineUpId, lineUp.getId()).one();
        if (one!=null){
            one.setStatus(5);
            optometryService.updateById(one);
        }
        optometryService.updateById(one);
        return ApiResult.success();
    }
    @ApiOperation(value = "填写验光信息完成")
@@ -201,5 +259,6 @@
        return ApiResult.success();
    }
}