From ea1a62ba6484d6c6cb1ca67dcea938a95ba18fc6 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期一, 26 五月 2025 18:26:26 +0800 Subject: [PATCH] 新增加用户端接口 --- ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/miniapp/AppHomeController.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 50 insertions(+), 10 deletions(-) diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/miniapp/AppHomeController.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/miniapp/AppHomeController.java index bf20bb0..e73b8fb 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/miniapp/AppHomeController.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/miniapp/AppHomeController.java @@ -1,14 +1,22 @@ package com.ruoyi.shop.controller.miniapp; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.shop.domain.dto.AppNearbyShopDto; import com.ruoyi.shop.domain.vo.AppNearbyShopVo; import com.ruoyi.shop.domain.vo.AppShopInfoVo; +import com.ruoyi.shop.service.shop.ShopAppointableTimeService; +import com.ruoyi.shop.service.shop.ShopNonAppointableTimeService; import com.ruoyi.shop.service.shop.ShopService; import com.ruoyi.system.api.domain.dto.AppBaseGetDto; +import com.ruoyi.system.api.domain.dto.AppointmentTimeDto; +import com.ruoyi.system.api.domain.dto.ShopAppointmentTimeDto; import com.ruoyi.system.api.domain.poji.member.Member; +import com.ruoyi.system.api.domain.poji.shop.ShopAppointableTime; +import com.ruoyi.system.api.domain.poji.shop.ShopNonAppointableTime; import com.ruoyi.system.api.service.RemoteMemberService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -19,6 +27,8 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.util.List; /** * @author jqs34 @@ -32,21 +42,26 @@ @RequestMapping("/app/home") @Log4j2 public class AppHomeController { - - + @Resource private RemoteMemberService memberService; - - + @Resource private ShopService shopService; - + + @Resource + private ShopNonAppointableTimeService shopNonAppointableTimeService; + + @Resource + private ShopAppointableTimeService shopAppointableTimeService; + + @RequestMapping(value = "/getNearbyShop", method = RequestMethod.POST) @ApiOperation(value = "获取最近商户") public R<AppNearbyShopVo> getNearbyShop(@RequestBody AppNearbyShopDto appNearbyShopDto) { Long userId = SecurityUtils.getUserId(); Member member = null; - if(userId!=null){ + if (userId != null) { member = memberService.getMember(userId).getData(); } log.info("获取最近商户:userId=" + userId + "&appNearbyShopDto=" + JSON.toJSONString(appNearbyShopDto)); @@ -54,14 +69,39 @@ AppNearbyShopVo appNearbyShopVo = shopService.getNearbyShop(appNearbyShopDto,member); return R.ok(appNearbyShopVo); } - - + + @RequestMapping(value = "/getShopInfo", method = RequestMethod.POST) @ApiOperation(value = "获取商户详情") public R<AppShopInfoVo> getShopInfo(@RequestBody AppBaseGetDto appBaseGetDto) { AppShopInfoVo appShopInfoVo = shopService.getAppShopInfo(Long.valueOf(appBaseGetDto.getId())); return R.ok(appShopInfoVo); } - - + + @RequestMapping(value = "/getShopAppointmentTime", method = RequestMethod.POST) + @ApiOperation(value = "获取商户不可预约时间段【2.0】") + public R<List<ShopNonAppointableTime>> getShopAppointmentTime(@RequestBody ShopAppointmentTimeDto dto) { + List<ShopNonAppointableTime> list = shopNonAppointableTimeService.list(new QueryWrapper<ShopNonAppointableTime>().eq("shop_id", dto.getId()) + .last(" and '" + dto.getDate() + "' like CONCAT('%', non_appointable_start_time, '%') order by non_appointable_start_time")); + return R.ok(list); + } + + @RequestMapping(value = "/appointmentTime", method = RequestMethod.POST) + @ApiOperation(value = "门店详情预约操作【2.0】") + public R appointmentTime(@RequestBody AppointmentTimeDto dto) { + ShopAppointableTime one = shopAppointableTimeService.getOne(new LambdaQueryWrapper<ShopAppointableTime>().eq(ShopAppointableTime::getShopId, dto.getShopId()) + .eq(ShopAppointableTime::getAppointableTime, dto.getTime())); + if (null != one) { + return R.fail("不能重复预约"); + } + Long userId = SecurityUtils.getUserId(); + one = new ShopAppointableTime(); + one.setShopId(dto.getShopId()); + one.setAppointableTime(dto.getTime()); + one.setUserId(userId); + one.setStatus(1); + one.setCreateTime(LocalDateTime.now()); + shopAppointableTimeService.save(one); + return R.ok(); + } } -- Gitblit v1.7.1