From aa2eae024f8f251c8e2b9eace5351dea7e315ed7 Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期一, 24 四月 2023 11:41:48 +0800
Subject: [PATCH] BUG

---
 hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsServiceImpl.java |  131 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 127 insertions(+), 4 deletions(-)

diff --git a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsServiceImpl.java b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsServiceImpl.java
index 5560d0c..ece3105 100644
--- a/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsServiceImpl.java
+++ b/hrt-modules/hrt-system/src/main/java/com/hrt/system/service/impl/GoodsServiceImpl.java
@@ -1,10 +1,26 @@
 package com.hrt.system.service.impl;
 
-import com.hrt.system.domain.poji.Goods;
-import com.hrt.system.mapper.GoodsMapper;
-import com.hrt.system.service.GoodsService;
-import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.hrt.common.core.utils.bean.BeanUtils;
+import com.hrt.system.domain.dto.AppGoodsInfoGetDto;
+import com.hrt.system.domain.dto.AppSearchGoodsPageDto;
+import com.hrt.system.domain.dto.AppShopGoodsPageDto;
+import com.hrt.system.domain.poji.activity.ActivityGoods;
+import com.hrt.system.domain.poji.goods.Goods;
+import com.hrt.system.domain.poji.shop.ShopGoods;
+import com.hrt.system.domain.vo.AppGoodsInfoVo;
+import com.hrt.system.domain.vo.AppSimpleActivityGoodsVo;
+import com.hrt.system.domain.vo.AppSimpleGoodsVo;
+import com.hrt.system.mapper.goods.GoodsMapper;
+import com.hrt.system.service.activity.ActivityGoodsService;
+import com.hrt.system.service.goods.GoodsService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.hrt.system.service.shop.ShopGoodsService;
 import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.util.List;
 
 /**
  * <p>
@@ -17,4 +33,111 @@
 @Service
 public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements GoodsService {
 
+    @Resource
+    private GoodsMapper goodsMapper;
+
+    @Resource
+    private ActivityGoodsService activityGoodsService;
+
+    @Resource
+    private ShopGoodsService shopGoodsService;
+
+    /**
+     * 获取推荐商品列表
+     * @param page
+     * @return
+     */
+    @Override
+    public List<AppSimpleGoodsVo> pageRecommendGoods(Page page,Long shopId){
+        List<AppSimpleGoodsVo> appSimpleGoodsVoList = goodsMapper.pageRecommendGoods(page,shopId);
+        return appSimpleGoodsVoList;
+    }
+
+    /**
+     * 获取商城商品列表
+     * @param page
+     * @param appShopGoodsPageDto
+     * @return
+     */
+    @Override
+    public List<AppSimpleGoodsVo> pageShopGoods(Page page, AppShopGoodsPageDto appShopGoodsPageDto){
+        List<AppSimpleGoodsVo> appSimpleGoodsVoList = goodsMapper.pageShopGoods(page,appShopGoodsPageDto);
+        return appSimpleGoodsVoList;
+    }
+
+    /**
+     * 获取搜索商品列表
+     * @param page
+     * @param appSearchGoodsPageDto
+     * @return
+     */
+    @Override
+    public List<AppSimpleGoodsVo> pageSearchGoods(Page page, AppSearchGoodsPageDto appSearchGoodsPageDto){
+        List<AppSimpleGoodsVo> appSimpleGoodsVoList = goodsMapper.pageSearchGoods(page,appSearchGoodsPageDto);
+        return appSimpleGoodsVoList;
+    }
+
+    /**
+     * 获取搜索商品列表
+     * @param page
+     * @param appSearchGoodsPageDto
+     * @return
+     */
+    @Override
+    public List<AppSimpleActivityGoodsVo> pageSearchActivityGoods(Page page, AppSearchGoodsPageDto appSearchGoodsPageDto){
+        List<AppSimpleActivityGoodsVo> appSimpleGoodsVoList = goodsMapper.pageSearchActivityGoods(page,appSearchGoodsPageDto);
+        Integer activityNumber;
+        BigDecimal activityNumberBig;
+        Integer salesNumber;
+        BigDecimal salesNumberBig;
+        BigDecimal salesPercent;
+        for(AppSimpleActivityGoodsVo appSimpleActivityGoodsVo : appSimpleGoodsVoList){
+            activityNumber = appSimpleActivityGoodsVo.getActivityNumber();
+            salesNumber = appSimpleActivityGoodsVo.getSalesNumber();
+            activityNumberBig = BigDecimal.valueOf(activityNumber);
+            salesNumberBig = BigDecimal.valueOf(salesNumber);
+            salesPercent = salesNumberBig.divide(activityNumberBig,2,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100.00"));
+            appSimpleActivityGoodsVo.setSalesPercent(salesPercent);
+        }
+        return appSimpleGoodsVoList;
+    }
+
+    /**
+     * 获取商品详情
+     * @param appGoodsInfoGetDto
+     * @return
+     */
+    @Override
+    public AppGoodsInfoVo getGoodsInfo(AppGoodsInfoGetDto appGoodsInfoGetDto){
+        AppGoodsInfoVo appGoodsInfoVo = new AppGoodsInfoVo();
+        Goods goods = this.getById(appGoodsInfoGetDto.getId());
+        BeanUtils.copyProperties(goods, appGoodsInfoVo);
+        //商户定制价格
+        ShopGoods shopGoods = shopGoodsService.getByShopIdAndGoodsId(appGoodsInfoGetDto.getShopId(),goods.getGoodsId());
+        if(shopGoods!=null){
+            appGoodsInfoVo.setSalesPrice(shopGoods.getSalesPrice());
+            appGoodsInfoVo.setSalesNum(shopGoods.getServiceNum());
+        }
+        //活动商品判断
+        if(appGoodsInfoGetDto.getActivityFlag()==1){
+            ActivityGoods activityGoods = activityGoodsService.getByGoodsId(goods.getGoodsId());
+            //原价取较大值
+            if(shopGoods!=null&&goods.getSalesPrice().compareTo(shopGoods.getSalesPrice())>0){
+                appGoodsInfoVo.setSalesPrice(goods.getSalesPrice());
+            }
+            appGoodsInfoVo.setActivityFlag(1);
+            appGoodsInfoVo.setActivityPrice(activityGoods.getActivityPrice());
+            appGoodsInfoVo.setSalesNum(activityGoods.getSalesNumber());
+            appGoodsInfoVo.setActivityDeadline(activityGoods.getActivityDeadline());
+            //售罄判断
+            if(activityGoods.getActivityNumber()==activityGoods.getSalesNumber()){
+                appGoodsInfoVo.setSellOutFlag(1);
+            }else{
+                appGoodsInfoVo.setSellOutFlag(0);
+            }
+        }else{
+            appGoodsInfoVo.setActivityFlag(0);
+        }
+        return appGoodsInfoVo;
+    }
 }

--
Gitblit v1.7.1