From 4df088ddf824625232e38c9924f7dcd45d3a4fc6 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期三, 25 十二月 2024 13:36:08 +0800 Subject: [PATCH] 验光师 --- optometrist/src/main/java/com/jilongda/optometrist/controller/TOptometristController.java | 153 ++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 134 insertions(+), 19 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..c46d107 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,24 @@ 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.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.TAddOptometryVO; +import com.jilongda.optometrist.vo.TLineUpDetailVO; import com.jilongda.optometrist.vo.TOptometristVO; +import com.jilongda.optometrist.vo.TOptometryDetailVO; +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.web.bind.annotation.*; +import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.List; /** @@ -40,26 +46,135 @@ private LoginInfoUtil loginInfoUtil; @Autowired private SecUserService secUserService; -// @ApiOperation(value = "首页") -// @PostMapping(value = "/pageList") -// public ApiResult<TOptometristVO> pageList() { -// Long userId = loginInfoUtil.getUserId(); -// -// return ApiResult.success(); -// } + @Autowired + private TStoreService storeService; + @Autowired + private TOptometryService optometryService; + @Autowired + private TAppUserService appUserService; + @Autowired + private TOrderService orderService; + @Autowired + private TOptometryDetailService optometryDetailService; + @ApiOperation(value = "首页") + @PostMapping(value = "/index") + public ApiResult<TOptometristVO> index() { + TOptometristVO tOptometristVO = new TOptometristVO(); - @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); + Long userId = loginInfoUtil.getUserId(); + SecUser byId = secUserService.getById(userId); + TStore byId1 = storeService.getById(byId.getStoreId()); + tOptometristVO.setStoreName(byId1.getName()); + 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) { + Long 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); + 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()); + } + Long userId = loginInfoUtil.getUserId(); + SecUser byId2 = secUserService.getById(userId); + tOptometry.setRealName(byId.getUserName()); + tOptometry.setOptometristId(userId.intValue()); + tOptometry.setStoreId(byId2.getStoreId()); + 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.setAdd(optometryDetailVO.getAdd()); + 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(); } -- Gitblit v1.7.1