ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/GoodsGroupPurchase.java
@@ -111,5 +111,8 @@ @TableLogic private Integer delFlag; @ApiModelProperty(value = "成团时间") private LocalDateTime groupTime; } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/Order.java
@@ -112,7 +112,7 @@ private String receiverName; @ApiModelProperty(value = "收货人电话") private String receiverphone; private String receiverPhone; @ApiModelProperty(value = "城市") private String receiverCity; @@ -147,4 +147,7 @@ @ApiModelProperty("发货快递") private String logisticsNum; @ApiModelProperty(value = "实际商品价格") private BigDecimal sjPrice; } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/HomeGoodsSeckillInfoVO.java
@@ -105,4 +105,8 @@ @ApiModelProperty(value = "开始状态 0=未开始 1= 已开始 2=已结束") @JsonInclude(JsonInclude.Include.ALWAYS) private StartStatusEnum startStatus; @ApiModelProperty(value = "是收藏 1未收藏,2收藏") @JsonInclude(JsonInclude.Include.ALWAYS) private Integer isCollection; } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MemberAuctionSalesroomVO.java
@@ -1,5 +1,6 @@ package com.ruoyi.system.api.domain.vo; import com.ruoyi.common.core.enums.AuthenticationEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -38,4 +39,7 @@ @ApiModelProperty(value = "保证金") private BigDecimal bond; @ApiModelProperty(value = "实名认证 0=不需认证 1=需要实名") private AuthenticationEnum authentication; } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MemberOrderListVO.java
@@ -2,10 +2,13 @@ import com.ruoyi.common.core.enums.OrderFromEnum; import com.ruoyi.common.core.enums.OrderStatusEnum; import com.ruoyi.common.core.enums.ReturnRequestStatusEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDateTime; @Data public class MemberOrderListVO { @ApiModelProperty(value = "订单id") @@ -38,4 +41,17 @@ @ApiModelProperty(value = "订单来源 1=商品订单 2=秒杀订单 3=团购订单 4=拍卖订单") private OrderFromEnum orderFrom; @ApiModelProperty(value = "下单时间") private LocalDateTime orderTime; @ApiModelProperty(value = "商品价格") private BigDecimal price; @ApiModelProperty(value = "是否退保证金 1没有退,2 已退") private Integer isAuctionBond; @ApiModelProperty(value = "售后状态 1=待审核 2=待退货 3=待平台收货 4=已完成 5=已拒绝") private ReturnRequestStatusEnum status; } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MemberTiOrderVO.java
@@ -72,4 +72,7 @@ @ApiModelProperty(value = "封面图") private String coverPic; @ApiModelProperty(value = "实际商品价格") private BigDecimal sjPrice; } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/OrderVO.java
@@ -2,10 +2,7 @@ import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.enums.AuctionOrderTypeEnum; import com.ruoyi.common.core.enums.OrderFromEnum; import com.ruoyi.common.core.enums.OrderStatusEnum; import com.ruoyi.common.core.enums.PaymentMethodEnum; import com.ruoyi.common.core.enums.*; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.core.annotation.Order; @@ -85,7 +82,7 @@ private String receiverName; @ApiModelProperty(value = "收货人电话") private String receiverphone; private String receiverPhone; @ApiModelProperty(value = "城市") private String receiverCity; @@ -110,4 +107,26 @@ @ApiModelProperty(value = "商品价格") private BigDecimal price; @ApiModelProperty(value = "积分") private Integer points; @ApiModelProperty(value = "实际商品价格") private BigDecimal sjPrice; @ApiModelProperty(value = "成团时间") private LocalDateTime purchase; @ApiModelProperty(value = "是否售后") private Integer isRequest; @ApiModelProperty(value = "售后状态 1=待审核 2=待退货 3=待平台收货 4=已完成 5=已拒绝") private ReturnRequestStatusEnum status; @ApiModelProperty(value = "成团时间") private LocalDateTime groupTime; @ApiModelProperty(value = "是否退保证金 1没有退,2 已退") private Integer isAuctionBond; } ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/enums/OrderFromEnum.java
@@ -12,10 +12,10 @@ /* 订单来源 1=商品订单 2=秒杀订单 3=团购订单 4=保证金 5=拍卖订单*/ COMMODITY_ORDER(1, "商品订单"), SNAP_ORDERS(2, "秒杀订单"), GROUP_PURCHASE_ORDERS(3, "团购订单"), AUCTION_ORDERS(4, "拍卖订单"); COMMODITY_ORDER(1, "商品"), SNAP_ORDERS(2, "秒杀"), GROUP_PURCHASE_ORDERS(3, "团购"), AUCTION_ORDERS(4, "拍卖"); @EnumValue private final int code; @JsonValue ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java
@@ -378,6 +378,8 @@ memberAuctionSalesroomVO.setEndTime(auctionSalesroom.getEndTime()); memberAuctionSalesroomVO.setCoverPic(auctionSalesroom.getCoverPic()); memberAuctionSalesroomVO.setBond(auctionSalesroom.getBond()); memberAuctionSalesroomVO.setAuthentication(auctionSalesroom.getAuthentication()); memberAuctionSalesroomDTO.setAuctionSalesroomId(auctionSalesroom.getId()); List<OrderAuctionBond> data = orderClient.getOrderAuctionBondList1(memberAuctionSalesroomDTO, SecurityConstants.INNER).getData(); if (data!=null||data.size()>0){ memberAuctionSalesroomVO.setIsApply(2); ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/forepart/ForepartGoodsSkuController.java
@@ -7,6 +7,7 @@ import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO; import com.ruoyi.system.api.domain.vo.HomeGoodsSkuInfoVO; import com.ruoyi.system.api.domain.vo.HomeGoodsSkuListVO; import com.ruoyi.system.api.domain.vo.getHomeGoodsSkuXxiVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import javax.annotation.Resource; @@ -14,6 +15,8 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** * <p> @@ -49,5 +52,11 @@ return R.ok(iGoodsSkuService.getHomeGoodsSkuXxi(homeGoodsSkuDTO)); } @PostMapping("/getMsHomeGoodsSkuXxi") @ApiOperation(value = "用户端-秒杀普通商品信息") public R<List<getHomeGoodsSkuXxiVO>> getMsHomeGoodsSkuXxi(@RequestBody HomeGoodsSkuDTO homeGoodsSkuDTO) { return R.ok(iGoodsSkuService.getMsHomeGoodsSkuXxi(homeGoodsSkuDTO)); } } ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/vo/GoodsSkuVO.java
@@ -9,7 +9,7 @@ import java.time.LocalDateTime; import java.util.List; import lombok.Data; import com.ruoyi.goods.controller.management.vo.GoodsInfoTitleValueVO; /** * @author mitao * @date 2024/5/20 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -74,7 +74,10 @@ import java.util.regex.Pattern; import java.util.stream.Collectors; import javax.annotation.Resource; import lombok.Synchronized; import org.redisson.api.RLock; import org.redisson.api.RedissonClient; import org.springframework.stereotype.Service; @@ -125,6 +128,10 @@ @Resource private AuctionClient auctionClient; @Resource private GoodsSkuClient GoodsSkuClient; @Override public void saveOrderOne(OrderDTO OrderDTO) { Order order=new Order(); @@ -153,7 +160,7 @@ order.setPoints(OrderDTO.getPoints()); order.setGoodsQuantity(OrderDTO.getGoodsQuantity()); order.setReceiverName(OrderDTO.getReceiverName()); order.setReceiverphone(OrderDTO.getReceiverphone()); order.setReceiverPhone(OrderDTO.getReceiverphone()); order.setReceiverCity(OrderDTO.getReceiverCity()); order.setReceiverDetailAddress(OrderDTO.getReceiverDetailAddress()); order.setBound(OrderDTO.getBound()); @@ -302,7 +309,8 @@ GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(data.getGoodsSkuId(), SecurityConstants.INNER).getData(); memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId()); memberOrderVO.setPrice(goodsSku.getPrice()); memberOrderVO.setPrice(data.getSeckillPrice()); memberOrderVO.setSjPrice(goodsSku.getPrice()); memberOrderVO.setCoverPic(goodsSku.getCoverPic()); memberOrderVO.setSkuName(goodsSku.getSkuName()); memberOrderVO.setYouhiPrice(data.getSeckillPrice()); @@ -327,7 +335,8 @@ GoodsGroupPurchase data = goodsSkuClient.getGoodsSeckiGoodsGroupPurchaseOne(memberOrderDTO.getGoodsSkuId(), SecurityConstants.INNER).getData(); GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(data.getGoodsSkuId(), SecurityConstants.INNER).getData(); memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId()); memberOrderVO.setPrice(goodsSku.getPrice()); memberOrderVO.setPrice(data.getGroupPurchasePrice()); memberOrderVO.setSjPrice(goodsSku.getPrice()); memberOrderVO.setCoverPic(goodsSku.getCoverPic()); memberOrderVO.setSkuName(goodsSku.getSkuName()); memberOrderVO.setYouhiPrice(data.getGroupPurchasePrice()); @@ -355,7 +364,7 @@ order.setReceiverName(memberOrderDTO.getReceiverName()); order.setReceiverCity(memberOrderDTO.getReceiverCity()); order.setReceiverDetailAddress(memberOrderDTO.getReceiverDetailAddress()); order.setReceiverphone(memberOrderDTO.getReceiverphone()); order.setReceiverPhone(memberOrderDTO.getReceiverphone()); }else{ MemberAddress data = memberClient.getMemberAddressOne( memberOrderDTO.getMemberId(), SecurityConstants.INNER).getData(); @@ -363,7 +372,7 @@ order.setReceiverName(data.getRecipientName()); order.setReceiverCity(data.getReceiverCity()); order.setReceiverDetailAddress(data.getDetailedAddress()); order.setReceiverphone(data.getRecipientPhone()); order.setReceiverPhone(data.getRecipientPhone()); } } @@ -384,7 +393,7 @@ memberOrderVO.setReceiverName(order.getReceiverName()); memberOrderVO.setReceiverCity(order.getReceiverCity()); memberOrderVO.setReceiverDetailAddress(order.getReceiverDetailAddress()); memberOrderVO.setReceiverphone(order.getReceiverphone()); memberOrderVO.setReceiverphone(order.getReceiverPhone()); Integer delayTime = 30; redisService.setCacheObject(CacheConstants.ORDER_AUTOMATIC_CANCEL + "-" + order.getId(), order.getId() , delayTime.longValue(), TimeUnit.MINUTES); @@ -399,7 +408,7 @@ order.setReceiverName(memberOrderDTO.getReceiverName()); order.setReceiverCity(memberOrderDTO.getReceiverCity()); order.setReceiverDetailAddress(memberOrderDTO.getReceiverDetailAddress()); order.setReceiverphone(memberOrderDTO.getReceiverphone()); order.setReceiverPhone(memberOrderDTO.getReceiverphone()); } if (memberOrderDTO.getOrderRemark()!=null){ order.setOrderRemark(memberOrderDTO.getOrderRemark()); @@ -539,7 +548,7 @@ memberOrderVO.setReceiverName(order.getReceiverName()); memberOrderVO.setReceiverCity(order.getReceiverCity()); memberOrderVO.setReceiverDetailAddress(order.getReceiverDetailAddress()); memberOrderVO.setReceiverphone(order.getReceiverphone()); memberOrderVO.setReceiverphone(order.getReceiverPhone()); memberOrderVO.setYouhiPrice(order.getDiscountMoney()); return memberOrderVO; @@ -550,14 +559,44 @@ Page<Order> page = new Page<>(memberOrderListDTO.getPageCurr(), memberOrderListDTO.getPageSize()); LambdaQueryWrapper<Order> wrapper= Wrappers.lambdaQuery(); wrapper.eq(Order::getMemberId,memberOrderListDTO.getMemberId()); wrapper.like(Order::getSkuName,memberOrderListDTO.getGoodsSkuName()); wrapper.like(Order::getOrderNo,memberOrderListDTO.getOrderNo()); wrapper.eq(Order::getOrderStatus,memberOrderListDTO.getOrderStatus()); if(memberOrderListDTO.getGoodsSkuName()!=null){ wrapper.like(Order::getSkuName,memberOrderListDTO.getGoodsSkuName()); } if(memberOrderListDTO.getOrderNo()!=null){ wrapper.like(Order::getOrderNo,memberOrderListDTO.getOrderNo()); } if(memberOrderListDTO.getOrderStatus()!=null){ wrapper.eq(Order::getOrderStatus,memberOrderListDTO.getOrderStatus().getCode()); } wrapper.eq(Order::getDelFlag,0); wrapper.orderByDesc(Order::getCancelTime); Page<Order> page1 = this.page(page, wrapper); PageDTO<MemberOrderListVO> memberOrderListVOPageDTO = PageDTO.of(page1, MemberOrderListVO.class); List<MemberOrderListVO> list = memberOrderListVOPageDTO.getList(); for (MemberOrderListVO MemberOrderList:list){ OrderReturnRequest orderReturnRequest = orderReturnRequestService.getOne( Wrappers.lambdaQuery(OrderReturnRequest.class) .eq(OrderReturnRequest::getOrderId, MemberOrderList.getId()).last("limit 1")); if (StringUtils.isNotNull(orderReturnRequest)) { MemberOrderList.setStatus(orderReturnRequest.getStatus()); } LambdaQueryWrapper<OrderAuctionBond> wrapper3= Wrappers.lambdaQuery(); wrapper3.eq(OrderAuctionBond::getOrderId,MemberOrderList.getId()); OrderAuctionBond orderAuctionBond = orderAuctionBondMapper.selectOne(wrapper3); if (orderAuctionBond!=null){ if (orderAuctionBond.getBoundStatus().getCode()==1||orderAuctionBond.getBoundStatus().getCode()==2){ MemberOrderList.setIsAuctionBond(1); }else{ MemberOrderList.setIsAuctionBond(2); } }else { MemberOrderList.setIsAuctionBond(1); } } return memberOrderListVOPageDTO; } @@ -567,6 +606,32 @@ OrderVO orderVO=new OrderVO(); try { orderVO = BeanUtils.copyBean(order, OrderVO.class); if (orderVO.getOrderFrom().getCode()==3){ GoodsGroupPurchase data = GoodsSkuClient.getGoodsSeckiGoodsGroupPurchaseOne(order.getGoodsSkuId(), SecurityConstants.INNER).getData(); orderVO.setGroupTime(data.getGroupTime()); } OrderReturnRequest orderReturnRequest = orderReturnRequestService.getOne( Wrappers.lambdaQuery(OrderReturnRequest.class) .eq(OrderReturnRequest::getOrderId, orderVO.getId()).last("limit 1")); if (StringUtils.isNotNull(orderReturnRequest)) { orderVO.setStatus(orderReturnRequest.getStatus()); } LambdaQueryWrapper<OrderAuctionBond> wrapper3= Wrappers.lambdaQuery(); wrapper3.eq(OrderAuctionBond::getOrderId,order.getId()); OrderAuctionBond orderAuctionBond = orderAuctionBondMapper.selectOne(wrapper3); if (orderAuctionBond!=null){ if (orderAuctionBond.getBoundStatus().getCode()==1||orderAuctionBond.getBoundStatus().getCode()==2){ orderVO.setIsAuctionBond(1); }else{ orderVO.setIsAuctionBond(2); } }else { orderVO.setIsAuctionBond(1); } } catch (Exception e) { throw new RuntimeException(e); }