From 31e915fdf6dc9dbed805be69d8e1859c44d314da Mon Sep 17 00:00:00 2001
From: phpcjl <phpcjl@gmail.com>
Date: 星期三, 11 十二月 2024 09:33:46 +0800
Subject: [PATCH] 1.
---
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java | 42 ++++++++++++++++++++++++++++++++++++------
1 files changed, 36 insertions(+), 6 deletions(-)
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java
index 4a4ff9d..2e1bd89 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java
@@ -1,32 +1,35 @@
package com.ruoyi.other.service.impl;
-import cn.hutool.json.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.account.api.feignClient.AppUserClient;
import com.ruoyi.account.api.model.AppUser;
+import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.utils.bean.BeanUtils;
import com.ruoyi.common.security.service.TokenService;
-import com.ruoyi.other.api.domain.Goods;
-import com.ruoyi.other.api.domain.GoodsArea;
-import com.ruoyi.other.api.domain.GoodsVip;
-import com.ruoyi.other.api.domain.VipSetting;
+import com.ruoyi.order.feignClient.RemoteOrderGoodsClient;
+import com.ruoyi.order.vo.Price;
+import com.ruoyi.other.api.domain.*;
import com.ruoyi.other.enums.GoodsStatus;
import com.ruoyi.other.mapper.GoodsAreaMapper;
import com.ruoyi.other.mapper.GoodsMapper;
+import com.ruoyi.other.mapper.GoodsShopMapper;
+import com.ruoyi.other.mapper.ShopMapper;
import com.ruoyi.other.service.GoodsService;
import com.ruoyi.other.service.GoodsVipService;
import com.ruoyi.other.service.VipSettingService;
import com.ruoyi.other.vo.GoodsVO;
import com.ruoyi.system.api.model.LoginUser;
import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
+import java.util.stream.Collectors;
/**
* <p>
@@ -50,18 +53,33 @@
private GoodsVipService goodsVipService;
@Resource
private AppUserClient appUserClient;
+ @Resource
+ private GoodsShopMapper goodsShopMapper;
+ @Resource
+ private ShopMapper shopMapper;
+ @Resource
+ private RemoteOrderGoodsClient remoteOrderGoodsClient;
@Override
public List<GoodsVO> goodsList(Goods search) {
List<Goods> goodsList = this.list(new LambdaQueryWrapper<Goods>()
- .eq(Goods::getStatus, GoodsStatus.UP)
+ .eq(Goods::getStatus, GoodsStatus.UP.getCode())
.eq(Objects.nonNull(search.getGoodsCategoryId()), Goods::getGoodsCategoryId, search.getGoodsCategoryId())
.like(StringUtils.isNotEmpty(search.getName()), Goods::getName, search.getName()));
List<GoodsVO> result = new ArrayList<>();
+ LoginUser loginUserApplet = tokenService.getLoginUserApplet();
for (Goods goods : goodsList) {
GoodsVO goodsVO = new GoodsVO();
BeanUtils.copyBeanProp(goodsVO, goods);
+ goodsVO.setGoodsId(goods.getId());
+ goodsVO.setGoodsName(goods.getName());
+ R<Price> r = remoteOrderGoodsClient.getGoodsPrice(loginUserApplet.getUserid(), goods.getId(), null);
+ if (R.isSuccess(r)){
+ Price price = r.getData();
+ goodsVO.setSellingPrice(price.getCash());
+ goodsVO.setIntegral(price.getPoint());
+ }
result.add(goodsVO);
}
return result;
@@ -100,8 +118,20 @@
Goods goods = this.getById(goodsId);
GoodsVO goodsVO = new GoodsVO();
BeanUtils.copyBeanProp(goodsVO, goods);
+ goodsVO.setGoodsId(goods.getId());
+ goodsVO.setGoodsName(goods.getName());
goodsVO.setSellingPrice(sellingPrice);
goodsVO.setIntegral(integral);
+
+ List<GoodsShop> goodsShopList = goodsShopMapper.selectList(new LambdaQueryWrapper<GoodsShop>()
+ .eq(GoodsShop::getGoodsId, goodsId));
+ if (!CollectionUtils.isEmpty(goodsShopList)){
+ List<Integer> shopIds = goodsShopList.stream().map(GoodsShop::getShopId).collect(Collectors.toList());
+ List<Shop> shopList = shopMapper.selectList(new LambdaQueryWrapper<Shop>()
+ .in(Shop::getId, shopIds));
+
+ goodsVO.setShopList(shopList);
+ }
return goodsVO;
}
--
Gitblit v1.7.1