From c71055635df3d75e5dc838a9b66036c591913a13 Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期六, 08 七月 2023 18:37:12 +0800
Subject: [PATCH] 管理台bug和用户端

---
 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java |  110 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 105 insertions(+), 5 deletions(-)

diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java
index edadea4..ac9260d 100644
--- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java
+++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java
@@ -1,6 +1,7 @@
 package com.ruoyi.goods.service.impl.activity;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.common.core.utils.bean.BeanUtils;
@@ -11,19 +12,19 @@
 import com.ruoyi.goods.domain.dto.MgtActivityRecordPageDto;
 import com.ruoyi.goods.domain.pojo.activity.Activity;
 import com.ruoyi.goods.domain.pojo.activity.ActivityTotal;
-import com.ruoyi.goods.domain.vo.MgtActivityGetVo;
-import com.ruoyi.goods.domain.vo.MgtActivityGoodsListVo;
-import com.ruoyi.goods.domain.vo.MgtActivityPageVo;
-import com.ruoyi.goods.domain.vo.MgtActivityRecordPageVo;
+import com.ruoyi.goods.domain.vo.*;
 import com.ruoyi.goods.mapper.activity.ActivityMapper;
 import com.ruoyi.goods.service.activity.ActivityGoodsService;
+import com.ruoyi.goods.service.activity.ActivityRecordService;
 import com.ruoyi.goods.service.activity.ActivityService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.goods.service.activity.ActivityTotalService;
 import com.ruoyi.system.api.constant.AppErrorConstant;
+import com.ruoyi.system.api.domain.dto.ActivityGoodsGetDto;
+import com.ruoyi.system.api.domain.dto.MerPageDto;
 import com.ruoyi.system.api.domain.dto.MgtBaseBathDto;
 import com.ruoyi.system.api.domain.dto.MgtUserIdByKeywordDto;
 import com.ruoyi.system.api.domain.poji.activity.ActivityGoods;
+import com.ruoyi.system.api.domain.vo.ActivityGoodsGetVo;
 import com.ruoyi.system.api.domain.vo.MgtSimpleMemberVo;
 import com.ruoyi.system.api.domain.vo.MgtSimpleShopVo;
 import com.ruoyi.system.api.domain.vo.MgtUserIdByKeywordVo;
@@ -59,6 +60,9 @@
 
     @Resource
     private ActivityTotalService activityTotalService;
+
+    @Resource
+    private ActivityRecordService activityRecordService;
 
     @Resource
     private RemoteShopService remoteShopService;
@@ -147,6 +151,8 @@
                         activityGoods.setActivityNumber(dto.getActivityNumber());
                         activityGoods.setActivityDeadline(activity.getActivityEndTime());
                         activityGoods.setSellOutFlag(0);
+                        activityGoods.setPurchaseLimitationFlag(activity.getPurchaseLimitationFlag());
+                        activityGoods.setLimitNumber(activity.getLimitNumber());
                         return activityGoods;
                     }
             ).collect(Collectors.toList());
@@ -254,4 +260,98 @@
         }
         return activityRecordPageVoList;
     }
+
+    /**
+     * @description  分页获取平台活动列表
+     * @author  jqs
+     * @date    2023/6/30 17:33
+     * @param page
+     * @param merPageDto
+     * @return  List<MerActivityPageVo>
+     */
+    @Override
+    public List<MerActivityPageVo> pagePlatformMerActivity(Page page, MerPageDto merPageDto){
+        List<MerActivityPageVo> activityPageVoList = activityMapper.pagePlatformMerActivity(page, merPageDto);
+        return activityPageVoList;
+    }
+
+    /**
+     * @description  获取活动列表
+     * @author  jqs
+     * @date    2023/7/4 15:31
+     * @param
+     * @return  List<MgtActivityListVo>
+     */
+    @Override
+    public List<MgtActivityListVo> listMgtActivity(){
+        return activityMapper.listMgtActivity();
+    }
+
+    /**
+     * @description  获取商户推荐活动
+     * @author  jqs
+     * @date    2023/7/4 18:14
+     * @param shopId
+     * @return  Activity
+     */
+    @Override
+    public Activity getRecommendActivity(Long shopId){
+        return activityMapper.getRecommendActivity(shopId);
+    }
+
+    /**
+     * @description  获取商户参与活动id
+     * @author  jqs
+     * @date    2023/7/4 19:55
+     * @param shopId
+     * @return  List<Long>
+     */
+    @Override
+    public List<String> listActivityIdByShopId(Long shopId){
+        return activityMapper.listActivityIdByShopId(shopId);
+    }
+
+    /**
+     * @description  分页获取活动列表
+     * @author  jqs
+     * @date    2023/7/5 18:45
+     * @param page
+     * @param shopId
+     * @return  List<AppActivityPageVo>
+     */
+    @Override
+    public List<AppActivityPageVo> pageAppActivity(Page page, Long shopId){
+        return activityMapper.pageAppActivity(page, shopId);
+    }
+
+    /**
+     * @description  获取用户活动商品信息
+     * @author  jqs
+     * @date    2023/7/6 16:18
+     * @param activityGoodsGetDto
+     * @return  ActivityGoodsGetVo
+     */
+    @Override
+    public ActivityGoodsGetVo getUserActivityGoods(ActivityGoodsGetDto activityGoodsGetDto){
+        ActivityGoodsGetVo activityGoodsGetVo = new ActivityGoodsGetVo();
+        String activityId = activityGoodsGetDto.getActivityId();
+        String goodsId = activityGoodsGetDto.getGoodsId();
+        Activity activity = this.getById(activityId);
+        ActivityGoods activityGoods = activityGoodsService.getByGoodsId(activityId,goodsId);
+        activityGoodsGetVo.setActivityPrice(activityGoods.getActivityPrice());
+        activityGoodsGetVo.setActivitySubscription(activityGoods.getActivitySubscription());
+        activityGoodsGetVo.setActivityStatus(activity.getActivityStatus());
+        Integer availableBuyNum = activityGoods.getActivityNumber() - activityGoods.getSalesNumber();
+        //限购判断
+        if(activityGoods.getPurchaseLimitationFlag()==1){
+            Integer buyNum = activityRecordService.getUserActivityGoodsNum(goodsId,activityId,activityGoodsGetDto.getUserId());
+            Integer limitBuyNum = activityGoods.getLimitNumber() - buyNum;
+            if(limitBuyNum<availableBuyNum){
+                availableBuyNum = limitBuyNum;
+            }
+        }
+        activityGoodsGetVo.setPurchaseLimitationFlag(activity.getPurchaseLimitationFlag());
+        activityGoodsGetVo.setAvailableBuyNum(availableBuyNum);
+        return activityGoodsGetVo;
+    }
 }

--
Gitblit v1.7.1