From a5c5fc7c86c37519dbe42b148b47ebfc00f89ca9 Mon Sep 17 00:00:00 2001
From: huliguo <2023611923@qq.com>
Date: 星期三, 09 七月 2025 10:56:42 +0800
Subject: [PATCH] bug修改
---
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/miniapp/AppHomeController.java | 50 ++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 40 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 e73b8fb..7fe2a38 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
@@ -3,11 +3,15 @@
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.utils.uuid.IdUtils;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.shop.domain.dto.AppNearbyShopDto;
+import com.ruoyi.shop.domain.dto.MyAppointmentListDto;
import com.ruoyi.shop.domain.vo.AppNearbyShopVo;
import com.ruoyi.shop.domain.vo.AppShopInfoVo;
+import com.ruoyi.shop.domain.vo.MyAppointmentListVo;
import com.ruoyi.shop.service.shop.ShopAppointableTimeService;
import com.ruoyi.shop.service.shop.ShopNonAppointableTimeService;
import com.ruoyi.shop.service.shop.ShopService;
@@ -15,19 +19,17 @@
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.domain.poji.shop.TShopAppointableTime;
import com.ruoyi.system.api.service.RemoteMemberService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.log4j.Log4j2;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
import java.util.List;
/**
@@ -82,26 +84,54 @@
@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"));
+ .last(" and '" + dto.getDate() + "' = DATE(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()));
+ TShopAppointableTime one = shopAppointableTimeService.getOne(new LambdaQueryWrapper<TShopAppointableTime>().eq(TShopAppointableTime::getShopId, dto.getShopId())
+ .last(" and DATE_FORMAT(appointment_time, '%Y-%m-%d %H:%i:%s') = '" + dto.getTime() + "'"));
if (null != one) {
return R.fail("不能重复预约");
}
Long userId = SecurityUtils.getUserId();
- one = new ShopAppointableTime();
+ one = new TShopAppointableTime();
+ one.setId(IdUtils.fastSimpleUUID());
one.setShopId(dto.getShopId());
- one.setAppointableTime(dto.getTime());
+ one.setAppointmentTime(LocalDateTime.parse(dto.getTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
one.setUserId(userId);
one.setStatus(1);
one.setCreateTime(LocalDateTime.now());
shopAppointableTimeService.save(one);
return R.ok();
}
+
+ @RequestMapping(value = "/getMyAppointmentList", method = RequestMethod.POST)
+ @ApiOperation(value = "获取我的预约列表【2.0】")
+ public R<Page<MyAppointmentListVo>> getMyAppointmentList(@RequestBody MyAppointmentListDto dto) {
+ Page<MyAppointmentListVo> page = new Page<>();
+ page.setSize(dto.getPageSize());
+ page.setCurrent(dto.getPageNum());
+ List<MyAppointmentListVo> myAppointmentListVos = shopAppointableTimeService.pageMyAppointmentList(page, dto);
+ return R.ok(page.setRecords(myAppointmentListVos));
+ }
+
+
+ @RequestMapping(value = "/cancelAppointmentTime/{id}", method = RequestMethod.POST)
+ @ApiOperation(value = "取消预约【2.0】")
+ public R cancelAppointmentTime(@PathVariable("id") String id) {
+ Long userId = SecurityUtils.getUserId();
+ TShopAppointableTime one = shopAppointableTimeService.getById(id);
+ if (null == one) {
+ return R.fail("预约不存在");
+ }
+ if (!one.getUserId().equals(userId)) {
+ return R.fail("不能取消别人的预约");
+ }
+ one.setStatus(0);
+ shopAppointableTimeService.updateById(one);
+ return R.ok();
+ }
}
--
Gitblit v1.7.1