From b95fd4c3d5c24974c81c16639af59b48bc2fdd35 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 30 十二月 2024 17:27:49 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/eyes
---
optometrist/src/main/java/com/jilongda/optometrist/controller/TOptometristController.java | 221 +++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 188 insertions(+), 33 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 2594d9f..df87c99 100644
--- a/optometrist/src/main/java/com/jilongda/optometrist/controller/TOptometristController.java
+++ b/optometrist/src/main/java/com/jilongda/optometrist/controller/TOptometristController.java
@@ -6,18 +6,23 @@
import com.jilongda.common.basic.PageInfo;
import com.jilongda.optometrist.authority.model.SecUser;
import com.jilongda.optometrist.authority.service.SecUserService;
-import com.jilongda.optometrist.model.TOptometrist;
+import com.jilongda.optometrist.model.*;
import com.jilongda.optometrist.query.TOptometristQuery;
+import com.jilongda.optometrist.query.TOptometryQuery;
import com.jilongda.optometrist.query.TicketQuery;
-import com.jilongda.optometrist.service.TLineUpService;
-import com.jilongda.optometrist.service.TOptometristService;
+import com.jilongda.optometrist.service.*;
import com.jilongda.optometrist.utils.LoginInfoUtil;
-import com.jilongda.optometrist.vo.TOptometristVO;
+import com.jilongda.optometrist.vo.*;
+import com.sun.org.apache.bcel.internal.generic.NEW;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -40,41 +45,191 @@
private LoginInfoUtil loginInfoUtil;
@Autowired
private SecUserService secUserService;
-// @ApiOperation(value = "首页")
-// @PostMapping(value = "/pageList")
-// public ApiResult<TOptometristVO> pageList() {
-// Long userId = loginInfoUtil.getUserId();
-//
-// return ApiResult.success();
-// }
-
- @ApiOperation(value = "通过门店id查询验光师列表")
- @PostMapping(value = "/queryListByStoreId")
- public ApiResult<List<TOptometrist>> queryListByStoreId(@RequestParam Integer storeId) {
- List<TOptometrist> optometristVOPageInfo = optometristService.list(Wrappers.lambdaQuery(TOptometrist.class)
- .eq(TOptometrist::getStoreId,storeId));
- return ApiResult.success(optometristVOPageInfo);
+ @Autowired
+ private TStoreService storeService;
+ @Autowired
+ private TOptometryService optometryService;
+ @Autowired
+ private TAppUserService appUserService;
+ @Autowired
+ private TOrderService orderService;
+ @Autowired
+ private TOptometryDetailService optometryDetailService;
+ @ApiOperation(value = "获取验光单分页列表",tags = "验光单")
+ @PostMapping(value = "/pageList")
+ public ApiResult<PageInfo<TOptometryVO>> pageList(@RequestBody TOptometryQuery query) {
+ String startTime = null;
+ String endTime = null;
+ if (StringUtils.hasLength(query.getTime())){
+ startTime = query.getTime()+" 00:00:00";
+ endTime = query.getTime()+" 23:59:59";
+ }
+ query.setStartTime(startTime);
+ query.setEndTime(endTime);
+ 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();
+ 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());
+ int size = optometryService.lambdaQuery().eq(TOptometry::getOptometristId, userId)
+ .eq(TOptometry::getStatus, 3).list().size();
+ tOptometristVO.setOptometryCount(size);
+ // 查询今日的排号列表
+ List<TLineUp> list = tLineUpService.lambdaQuery().eq(TLineUp::getStoreId, byId.getStoreId())
+ .ne(TLineUp::getStatus, 3)
+ .ne(TLineUp::getStatus, 5).list();
+ for (TLineUp tLineUp : list) {
+ LocalDateTime now = LocalDateTime.now();
+ LocalDateTime createTime = tLineUp.getCreateTime();
+ long minutesDifference = createTime.until(now, java.time.temporal.ChronoUnit.MINUTES);
+ if (minutesDifference < 0) {
+ minutesDifference = 0;
+ }
+ tLineUp.setWaitTime((int) minutesDifference);
+ }
+ tOptometristVO.setList(list);
+ return ApiResult.success(tOptometristVO);
}
- @ApiOperation(value = "验光师添加")
+ @ApiOperation(value = "预约详情")
+ @GetMapping(value = "/getLineUpDetail")
+ public ApiResult<TLineUpDetailVO> getLineUpDetail(Integer id) {
+ TLineUpDetailVO tLineUpDetailVO = new TLineUpDetailVO();
+ TLineUp byId = tLineUpService.getById(id);
+ BeanUtils.copyProperties(byId, tLineUpDetailVO);
+ LocalDateTime now = LocalDateTime.now();
+ LocalDateTime createTime = byId.getCreateTime();
+ long minutesDifference = createTime.until(now, java.time.temporal.ChronoUnit.MINUTES);
+ if (minutesDifference < 0) {
+ minutesDifference = 0;
+ }
+ tLineUpDetailVO.setWaitTime((int) minutesDifference);
+ if (byId.getUserId()!=null){
+ TAppUser byId1 = appUserService.getById(byId.getUserId());
+ if (byId1!=null){
+ tLineUpDetailVO.setName(byId1.getName());
+ tLineUpDetailVO.setPhone(byId1.getPhone());
+ tLineUpDetailVO.setAvatar(byId1.getAvatar());
+ }
+ // 查询消费次数,验光次数
+ long l = optometryService.count(Wrappers.<TOptometry>lambdaQuery()
+ .eq(TOptometry::getUserId, byId.getUserId())
+ .eq(TOptometry::getStatus,3));
+ tLineUpDetailVO.setOptometryCount((int) l);
+ long count = orderService.count(Wrappers.<TOrder>lambdaQuery()
+ .eq(TOrder::getUserId, byId.getUserId()));
+ tLineUpDetailVO.setSaleCount((int) count);
+ }
+ return ApiResult.success(tLineUpDetailVO);
+ }
+ @ApiOperation(value = "开始验光")
+ @GetMapping(value = "/startOptometry")
+ public ApiResult startOptometry(Integer id) {
+ 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);
+ 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 = "填写验光信息完成")
@PostMapping(value = "/add")
- public ApiResult<String> add(@RequestBody TOptometrist dto) {
- optometristService.save(dto);
+ public ApiResult<String> add(@RequestBody TAddOptometryVO dto) {
+ TLineUp byId = tLineUpService.getById(dto.getId());
+ TAppUser byId1 = appUserService.getById(byId.getUserId());
+ TOptometry tOptometry = new TOptometry();
+ tOptometry.setUserId(byId.getUserId());
+ tOptometry.setAge(byId.getAge());
+ tOptometry.setGender(byId.getGender());
+ if (byId1!=null){
+ tOptometry.setPhone(byId1.getPhone());
+ }
+ tOptometry.setLineUpId(dto.getId());
+ Integer userId = loginInfoUtil.getUserId();
+ TOptometrist byId2 = optometristService.getById(userId);
+ tOptometry.setRealName(byId.getUserName());
+ tOptometry.setLineUpId(dto.getId());
+ tOptometry.setOptometristId(userId);
+ tOptometry.setStoreId(byId2.getStoreId());
+ tOptometry.setStatus(3);
+ optometryService.save(tOptometry);
+ List<TOptometryDetail> tOptometryDetails = new ArrayList<>();
+
+ for (TOptometryDetailVO optometryDetailVO : dto.getOptometryDetailVOS()) {
+ TOptometryDetail tOptometryDetail = new TOptometryDetail();
+ tOptometryDetail.setType(optometryDetailVO.getType());
+ tOptometryDetail.setOptometryId(tOptometry.getId());
+ tOptometryDetail.setBallMirror(optometryDetailVO.getBallMirror());
+ tOptometryDetail.setColumnMirror(optometryDetailVO.getColumnMirror());
+ tOptometryDetail.setAxis(optometryDetailVO.getAxis());
+ tOptometryDetail.setAddS(optometryDetailVO.getAddS());
+ tOptometryDetail.setPupilHeight(optometryDetailVO.getPupilHeight());
+ tOptometryDetail.setPupilDistance(optometryDetailVO.getPupilDistance());
+ tOptometryDetail.setCorrect(optometryDetailVO.getCorrect());
+ tOptometryDetail.setStoreId(byId2.getStoreId());
+ tOptometryDetail.setStatus(optometryDetailVO.getStatus());
+ tOptometryDetails.add(tOptometryDetail);
+ }
+ optometryDetailService.saveBatch(tOptometryDetails);
+ // 验光完成
+ byId.setStatus(3);
+ tLineUpService.updateById(byId);
return ApiResult.success();
}
- @ApiOperation(value = "验光师编辑")
- @PostMapping(value = "/update")
- public ApiResult<String> update(@RequestBody TOptometrist dto) {
- optometristService.updateById(dto);
- return ApiResult.success();
- }
- @ApiOperation(value = "验光师上下架")
- @GetMapping(value = "/upAndDown")
- public ApiResult<Boolean> upAndDown(@RequestParam Integer id,
- @RequestParam Integer status) {
- return ApiResult.success(optometristService.upAndDown(id,status));
- }
}
--
Gitblit v1.7.1