package com.ruoyi.other.service.impl;
import com.ruoyi.common.core.dto.AppGoodQuery;
import com.ruoyi.common.core.web.page.BasePage;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.order.api.feignClient.OrderClient;
import com.ruoyi.other.api.domain.TGoods;
import com.ruoyi.other.api.dto.GoodsDTO;
import com.ruoyi.other.mapper.TGoodsMapper;
import com.ruoyi.other.service.TGoodsService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.List;
/**
*
* 服务实现类
*
*
* @author 无关风月
* @since 2024-08-06
*/
@Service
public class TGoodsServiceImpl extends ServiceImpl implements TGoodsService {
@Autowired
private OrderClient orderClient;
@Override
public PageInfo pageList(GoodsDTO dto) {
PageInfo pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
List list = this.baseMapper.pageList(pageInfo,dto);
StringBuilder stringBuilder = new StringBuilder();
for (TGoods temp : list) {
stringBuilder.append(temp.getId()).append(",");
}
if (StringUtils.hasLength(stringBuilder)){
// 去除最后一个字符
stringBuilder.deleteCharAt(stringBuilder.length()-1);
}
if (list.isEmpty()) {
pageInfo.setRecords(list);
return pageInfo;
}
String string = stringBuilder.toString();
// 订单号加上商品类型
String res = string+"-"+dto.getType();
List data = orderClient.getSalesCountByGoodsId(res).getData();
for (int i = 0; i < list.size(); i++) {
list.get(i).setSalesCount(data.get(i));
}
pageInfo.setRecords(list);
return pageInfo;
}
@Override
public PageInfo pageList1(AppGoodQuery basePage) {
GoodsDTO dto = new GoodsDTO();
dto.setStatus(1);
dto.setPageCurr(basePage.getPageCurr());
dto.setPageSize(basePage.getPageSize());
PageInfo pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
List list = this.baseMapper.pageList1(pageInfo,basePage);
StringBuilder stringBuilder = new StringBuilder();
for (TGoods temp : list) {
stringBuilder.append(temp.getId()).append(",");
}
if (StringUtils.hasLength(stringBuilder)){
// 去除最后一个字符
stringBuilder.deleteCharAt(stringBuilder.length()-1);
}
if (list.isEmpty()) {
pageInfo.setRecords(list);
return pageInfo;
}
for (TGoods tGoods : list) {
Integer data = orderClient.getSalesCountByGoodsIdgetCount(tGoods.getId(), tGoods.getGoodType(), basePage.getType()).getData();
tGoods.setSalesCount(data);
}
pageInfo.setRecords(list);
return pageInfo;
}
}