From 791b8009befb63f02c5a15c4414188aef8029394 Mon Sep 17 00:00:00 2001 From: chen-xin-zhi <3588068430@qq.com> Date: Sun, 10 Nov 2024 16:03:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E4=BA=86=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/good/CartRecordController.java | 33 +++++++++++++ .../controller/good/GoodController.java | 21 ++------- .../mapper/AppointmentNumberMapper.java | 7 --- .../AppointmentDateAddRequest.java | 16 ++++++- .../good/service/ServiceGoodAddRequest.java | 18 +------- .../model/entity/AppointmentDate.java | 13 +++++- .../model/entity/AppointmentNumber.java | 46 ------------------- .../heritage/model/vo/CartOrderVO.java | 27 +++++++++++ .../heritage/model/vo/CartRecordQueryVO.java | 26 +++++++++++ .../good/AppointmentNumberService.java | 7 --- .../impl/AppointmentNumberServiceImpl.java | 11 ----- .../mapper/AppointmentNumberMapper.xml | 7 --- .../java/com/cultural/heritage/test/Test.java | 2 + 13 files changed, 120 insertions(+), 114 deletions(-) delete mode 100644 src/main/java/com/cultural/heritage/mapper/AppointmentNumberMapper.java delete mode 100644 src/main/java/com/cultural/heritage/model/entity/AppointmentNumber.java create mode 100644 src/main/java/com/cultural/heritage/model/vo/CartOrderVO.java create mode 100644 src/main/java/com/cultural/heritage/model/vo/CartRecordQueryVO.java delete mode 100644 src/main/java/com/cultural/heritage/service/good/AppointmentNumberService.java delete mode 100644 src/main/java/com/cultural/heritage/service/good/impl/AppointmentNumberServiceImpl.java delete mode 100644 src/main/resources/mapper/AppointmentNumberMapper.xml diff --git a/src/main/java/com/cultural/heritage/controller/good/CartRecordController.java b/src/main/java/com/cultural/heritage/controller/good/CartRecordController.java index 2a7bf38..a113ccd 100644 --- a/src/main/java/com/cultural/heritage/controller/good/CartRecordController.java +++ b/src/main/java/com/cultural/heritage/controller/good/CartRecordController.java @@ -10,8 +10,13 @@ import com.cultural.heritage.model.dto.CommonRequest; import com.cultural.heritage.model.dto.cart.CartRecordAddRequest; import com.cultural.heritage.model.dto.cart.CartRecordUpdateRequest; import com.cultural.heritage.model.entity.CartRecord; +import com.cultural.heritage.model.entity.Good; +import com.cultural.heritage.model.vo.CartOrderVO; +import com.cultural.heritage.model.vo.CartRecordQueryVO; import com.cultural.heritage.model.vo.CartRecordVO; +import com.cultural.heritage.model.vo.GoodVO; import com.cultural.heritage.service.good.CartRecordService; +import com.cultural.heritage.service.good.GoodService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; @@ -36,6 +41,9 @@ public class CartRecordController { private CartRecordService cartRecordService; + @Resource + private GoodService goodService; + /** * 用户添加商品至购物车 * @param cartRecordAddRequest 购物车记录添加请求体 @@ -112,6 +120,31 @@ public class CartRecordController { } + /** + * 展示用户批量购买后的订单信息 + * @param cartRecordQueryVOList 订单商品查询列表 + * @return 订单商品信息列表 + */ + @PostMapping("/cart/list") + public BaseResponse> listCartRecord(@RequestBody List cartRecordQueryVOList) { + if (cartRecordQueryVOList == null) { + throw new BusinessException(ErrorCode.PARAMS_ERROR); + } + List cartOrderVOList = cartRecordQueryVOList.stream().map(cartRecordQueryVO -> { + Long goodId = cartRecordQueryVO.getGoodId(); + Integer quantity = cartRecordQueryVO.getQuantity(); + Good good = goodService.getById(goodId); + ThrowUtils.throwIf(good == null, ErrorCode.OPERATION_ERROR, "找不到该商品"); + CartOrderVO cartOrderVO = new CartOrderVO(); + GoodVO goodVO = new GoodVO(); + BeanUtils.copyProperties(good, goodVO); + + cartOrderVO.setGoodVO(goodVO); + cartOrderVO.setQuantity(quantity); + return cartOrderVO; + }).toList(); + return ResultUtils.success(cartOrderVOList); + } diff --git a/src/main/java/com/cultural/heritage/controller/good/GoodController.java b/src/main/java/com/cultural/heritage/controller/good/GoodController.java index 08f5dde..eef4dff 100644 --- a/src/main/java/com/cultural/heritage/controller/good/GoodController.java +++ b/src/main/java/com/cultural/heritage/controller/good/GoodController.java @@ -18,10 +18,8 @@ import com.cultural.heritage.model.dto.good.GoodQueryRequest; import com.cultural.heritage.model.dto.good.GoodUpdateRequest; import com.cultural.heritage.model.dto.good.service.ServiceGoodAddRequest; import com.cultural.heritage.model.entity.AppointmentDate; -import com.cultural.heritage.model.entity.AppointmentNumber; import com.cultural.heritage.model.entity.Good; import com.cultural.heritage.service.good.AppointmentDateService; -import com.cultural.heritage.service.good.AppointmentNumberService; import com.cultural.heritage.service.good.GoodService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; @@ -50,9 +48,6 @@ public class GoodController { private GoodService goodService; - @Resource - private AppointmentNumberService appointmentNumberService; - @Resource private AppointmentDateService appointmentDateService; @@ -98,14 +93,7 @@ public class GoodController { boolean save = goodService.save(good); ThrowUtils.throwIf(!save, ErrorCode.OPERATION_ERROR); - // 向预约人数范围表插入服务类商品的预约人数信息 Long id = good.getId(); - AppointmentNumber appointmentNumber = new AppointmentNumber(); - BeanUtils.copyProperties(serviceGoodAddRequest, appointmentNumber); - appointmentNumber.setGoodId(id); - boolean result = appointmentNumberService.save(appointmentNumber); - ThrowUtils.throwIf(!result, ErrorCode.OPERATION_ERROR); - // 向预约日期表中批量插入服务类商品的预约信息 List appointmentDateAddRequestList = serviceGoodAddRequest.getAppointmentDateAddRequestList(); List appointmentDates = appointmentDateAddRequestList.stream().map(appointmentDateAddRequest -> { @@ -158,12 +146,6 @@ public class GoodController { boolean result = goodService.removeById(id); ThrowUtils.throwIf(!result, ErrorCode.OPERATION_ERROR); - // 删除预约人数范围表中与该商品关联的记录 - QueryWrapper numberQueryWrapper = new QueryWrapper<>(); - numberQueryWrapper.eq("goodId", id); - boolean remove = appointmentNumberService.remove(numberQueryWrapper); - ThrowUtils.throwIf(!remove, ErrorCode.OPERATION_ERROR); - // 删除预约日期表中与该商品关联的记录 QueryWrapper dateQueryWrapper = new QueryWrapper<>(); dateQueryWrapper.eq("goodId", id); @@ -253,4 +235,7 @@ public class GoodController { + + + } diff --git a/src/main/java/com/cultural/heritage/mapper/AppointmentNumberMapper.java b/src/main/java/com/cultural/heritage/mapper/AppointmentNumberMapper.java deleted file mode 100644 index 71bd256..0000000 --- a/src/main/java/com/cultural/heritage/mapper/AppointmentNumberMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.cultural.heritage.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.cultural.heritage.model.entity.AppointmentNumber; - -public interface AppointmentNumberMapper extends BaseMapper { -} diff --git a/src/main/java/com/cultural/heritage/model/dto/appointment/AppointmentDateAddRequest.java b/src/main/java/com/cultural/heritage/model/dto/appointment/AppointmentDateAddRequest.java index 967e977..a00405a 100644 --- a/src/main/java/com/cultural/heritage/model/dto/appointment/AppointmentDateAddRequest.java +++ b/src/main/java/com/cultural/heritage/model/dto/appointment/AppointmentDateAddRequest.java @@ -7,7 +7,7 @@ import java.io.Serial; import java.io.Serializable; @Data -@Schema(description = "预约日期请求体", requiredProperties = {"specificDate", "timeSlot", "isAvailable"}) +@Schema(description = "预约日期请求体", requiredProperties = {"specificDate", "timeSlot", "isAvailable", "minNumber", "maxNumber"}) public class AppointmentDateAddRequest implements Serializable { @@ -32,6 +32,20 @@ public class AppointmentDateAddRequest implements Serializable { private Integer isAvailable; + /** + * 最小预约人数 + */ + @Schema(description = "最小预约人数", example = "5") + private Integer minNumber; + + + /** + * 最大预约人数 + */ + @Schema(description = "最大预约人数", example = "10") + private Integer maxNumber; + + @Serial private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/cultural/heritage/model/dto/good/service/ServiceGoodAddRequest.java b/src/main/java/com/cultural/heritage/model/dto/good/service/ServiceGoodAddRequest.java index 8c32946..0c28275 100644 --- a/src/main/java/com/cultural/heritage/model/dto/good/service/ServiceGoodAddRequest.java +++ b/src/main/java/com/cultural/heritage/model/dto/good/service/ServiceGoodAddRequest.java @@ -10,26 +10,12 @@ import java.io.Serializable; import java.util.List; @Data -@Schema(description = "服务类商品添加请求体", requiredProperties = {"minNumber", "maxNumber", "appointmentDateAddRequestList"}) +@Schema(description = "服务类商品添加请求体", requiredProperties = {"appointmentDateAddRequestList"}) public class ServiceGoodAddRequest extends GoodAddRequest implements Serializable { /** - * 最小预约人数 - */ - @Schema(description = "最小预约人数", example = "5") - private Integer minNumber; - - - /** - * 最大预约人数 - */ - @Schema(description = "最大预约人数", example = "10") - private Integer maxNumber; - - - /** - * 未来n个月的预约详情 + * 未来几天的预约详情 */ @Schema(description = "未来n个月的预约详情") private List appointmentDateAddRequestList; diff --git a/src/main/java/com/cultural/heritage/model/entity/AppointmentDate.java b/src/main/java/com/cultural/heritage/model/entity/AppointmentDate.java index c1e7d4c..b3f82e0 100644 --- a/src/main/java/com/cultural/heritage/model/entity/AppointmentDate.java +++ b/src/main/java/com/cultural/heritage/model/entity/AppointmentDate.java @@ -25,7 +25,7 @@ public class AppointmentDate implements Serializable { /** - * 具体日期 + * 预约具体日期 */ private String specificDate; @@ -41,6 +41,17 @@ public class AppointmentDate implements Serializable { */ private Integer isAvailable; + /** + * 最小预约人数 + */ + private Integer minNumber; + + + /** + * 最大预约人数 + */ + private Integer maxNumber; + /** * 商品id diff --git a/src/main/java/com/cultural/heritage/model/entity/AppointmentNumber.java b/src/main/java/com/cultural/heritage/model/entity/AppointmentNumber.java deleted file mode 100644 index 4ca9caf..0000000 --- a/src/main/java/com/cultural/heritage/model/entity/AppointmentNumber.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.cultural.heritage.model.entity; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; - -import java.io.Serial; -import java.io.Serializable; - -/** - * 预约人数范围表 - * @TableName appointment_number - */ -@Data -@TableName("appointment_number") -public class AppointmentNumber implements Serializable { - - /** - * 预约人数范围id - */ - @TableId(type = IdType.AUTO) - private Long id; - - - /** - * 最小预约人数 - */ - private Integer minNumber; - - - /** - * 最大预约人数 - */ - private Integer maxNumber; - - - /** - * 商品id - */ - private Long goodId; - - - @Serial - private static final long serialVersionUID = 1L; -} diff --git a/src/main/java/com/cultural/heritage/model/vo/CartOrderVO.java b/src/main/java/com/cultural/heritage/model/vo/CartOrderVO.java new file mode 100644 index 0000000..2e88e26 --- /dev/null +++ b/src/main/java/com/cultural/heritage/model/vo/CartOrderVO.java @@ -0,0 +1,27 @@ +package com.cultural.heritage.model.vo; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +@Data +public class CartOrderVO implements Serializable { + + + /** + * 商品详细信息 + */ + private GoodVO goodVO; + + + /** + * 商品购买数量 + */ + private Integer quantity; + + + + @Serial + private static final long serialVersionUID = 1L; +} diff --git a/src/main/java/com/cultural/heritage/model/vo/CartRecordQueryVO.java b/src/main/java/com/cultural/heritage/model/vo/CartRecordQueryVO.java new file mode 100644 index 0000000..5b57177 --- /dev/null +++ b/src/main/java/com/cultural/heritage/model/vo/CartRecordQueryVO.java @@ -0,0 +1,26 @@ +package com.cultural.heritage.model.vo; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +@Data +public class CartRecordQueryVO implements Serializable { + + /** + * 商品id + */ + private Long goodId; + + + /** + * 商品数量 + */ + private Integer quantity; + + + + @Serial + private static final long serialVersionUID = 1L; +} diff --git a/src/main/java/com/cultural/heritage/service/good/AppointmentNumberService.java b/src/main/java/com/cultural/heritage/service/good/AppointmentNumberService.java deleted file mode 100644 index 9a80d69..0000000 --- a/src/main/java/com/cultural/heritage/service/good/AppointmentNumberService.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.cultural.heritage.service.good; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.cultural.heritage.model.entity.AppointmentNumber; - -public interface AppointmentNumberService extends IService { -} diff --git a/src/main/java/com/cultural/heritage/service/good/impl/AppointmentNumberServiceImpl.java b/src/main/java/com/cultural/heritage/service/good/impl/AppointmentNumberServiceImpl.java deleted file mode 100644 index f548ee9..0000000 --- a/src/main/java/com/cultural/heritage/service/good/impl/AppointmentNumberServiceImpl.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.cultural.heritage.service.good.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.cultural.heritage.mapper.AppointmentNumberMapper; -import com.cultural.heritage.model.entity.AppointmentNumber; -import com.cultural.heritage.service.good.AppointmentNumberService; -import org.springframework.stereotype.Service; - -@Service -public class AppointmentNumberServiceImpl extends ServiceImpl implements AppointmentNumberService { -} diff --git a/src/main/resources/mapper/AppointmentNumberMapper.xml b/src/main/resources/mapper/AppointmentNumberMapper.xml deleted file mode 100644 index c60196b..0000000 --- a/src/main/resources/mapper/AppointmentNumberMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/test/java/com/cultural/heritage/test/Test.java b/src/test/java/com/cultural/heritage/test/Test.java index c9df267..540cf1a 100644 --- a/src/test/java/com/cultural/heritage/test/Test.java +++ b/src/test/java/com/cultural/heritage/test/Test.java @@ -16,5 +16,7 @@ public class Test { // System.out.println(StringUtils.isBlank(null)); + double num = 3.1415926; + System.out.printf("%.2f", num); // 输出:3.14 } }