diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/activity/service/ShopActivityCutpriceService.java b/mall-shop/src/main/java/com/suisung/mall/shop/activity/service/ShopActivityCutpriceService.java index 7c01ae50..fc346813 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/activity/service/ShopActivityCutpriceService.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/activity/service/ShopActivityCutpriceService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.suisung.mall.common.api.CommonResult; import com.suisung.mall.common.modules.activity.ShopActivityCutprice; import com.suisung.mall.core.web.service.IBaseService; +import org.springframework.data.util.Pair; import java.util.Map; @@ -28,4 +29,13 @@ public interface ShopActivityCutpriceService extends IBaseService canDoOrderCutPriceActivity(Integer ac_id, Integer order_user_id); + } diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/activity/service/impl/ShopActivityCutpriceServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/activity/service/impl/ShopActivityCutpriceServiceImpl.java index 6c68b65a..8d7460be 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/activity/service/impl/ShopActivityCutpriceServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/activity/service/impl/ShopActivityCutpriceServiceImpl.java @@ -35,6 +35,7 @@ import com.suisung.mall.shop.base.service.AccountBaseConfigService; import com.suisung.mall.shop.store.service.ShopStoreActivityBaseService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; +import org.springframework.data.util.Pair; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -397,4 +398,41 @@ public class ShopActivityCutpriceServiceImpl extends BaseServiceImpl + * 判断逻辑: + * 1、活动是否过期 + * 2、活动是否是下单用户的 + * 3、活动是否是砍到最低价 + * @return + */ + @Override + public Pair canDoOrderCutPriceActivity(Integer activity_id, Integer order_user_id) { + QueryWrapper params = new QueryWrapper<>(); + params.eq("activity_id", activity_id); + ShopStoreActivityBase storeActivityBase = shopStoreActivityBaseService.getOne(params); + if (storeActivityBase == null) { + return Pair.of(false, I18nUtil._("该活动不存在!")); + } + + if (!shopStoreActivityBaseService.isActivityTimeValid(storeActivityBase.getActivity_starttime(), storeActivityBase.getActivity_endtime())) { + return Pair.of(false, I18nUtil._("该活动已过期!")); + } + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("activity_id", activity_id); + queryWrapper.eq("user_id", order_user_id); + queryWrapper.orderByDesc("ac_id"); + ShopActivityCutprice shopActivityCutprice = getOne(queryWrapper); + if (shopActivityCutprice == null) { + return Pair.of(false, I18nUtil._("未找到用户发起的砍价活动!")); + } + + return null; + } + } diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderInfoServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderInfoServiceImpl.java index f48b07d2..5b86dfd9 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderInfoServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderInfoServiceImpl.java @@ -1155,13 +1155,13 @@ public class ShopOrderInfoServiceImpl extends BaseServiceImpl getActivityAllItemIds(Map activity_row); boolean isActivityTimeValid(Map activity_row); + + /** + * 验证活动时间是否有效 + * + * @param starTime 活动开始时间 + * @param endTime 活动结束时间 + * @return 时间是否有效 + */ + boolean isActivityTimeValid(Date starTime, Date endTime); Map listsMarketing(); @@ -169,4 +179,6 @@ public interface ShopStoreActivityBaseService extends IBaseService