| | |
| | | package com.ruoyi.order.controller; |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.order.api.model.TExchangeOrder; |
| | | import com.ruoyi.order.api.model.TShoppingOrder; |
| | | import com.ruoyi.order.service.TExchangeOrderService; |
| | | import com.ruoyi.order.service.TShoppingOrderService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.models.auth.In; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | @RestController |
| | | @RequestMapping("/t-exchange-order") |
| | | public class TExchangeOrderController { |
| | | @Autowired |
| | | private TShoppingOrderService tShoppingOrderService; |
| | | @Autowired |
| | | private TExchangeOrderService exchangeOrderService; |
| | | /** |
| | | * 管理后台 根据商品ids 查询对应的销量 |
| | | * @param goodsIds |
| | | * @return |
| | | */ |
| | | @PostMapping("/t-exchange-order/getSalesCountByGoodsIds") |
| | | public R<List<Integer>> getSalesCountByGoodsId(String goodsIds){ |
| | | String[] split = goodsIds.split("-"); |
| | | // 取出最后一位字符 类型1查询现金购买 类型2查询积分兑换 |
| | | String s = split[split.length - 1]; |
| | | List<Integer> res = new ArrayList<>(); |
| | | switch (Integer.parseInt(s)){ |
| | | case 1: |
| | | for (int i = 0; i < split.length-1; i++) { |
| | | |
| | | Integer reduce = tShoppingOrderService.list(new QueryWrapper<TShoppingOrder>() |
| | | .eq("goods_id", split[i]) |
| | | .eq("payment_status", 2) |
| | | .ne("refund_status", 2)) |
| | | .stream().map(TShoppingOrder::getPurchaseQuantity).reduce(0, Integer::sum); |
| | | |
| | | res.add(reduce); |
| | | } |
| | | break; |
| | | case 2: |
| | | for (int i = 0; i < split.length-1; i++) { |
| | | Integer reduce = exchangeOrderService.list(new QueryWrapper<TExchangeOrder>() |
| | | .eq("goods_id", split[i]) |
| | | ) |
| | | .stream().map(TExchangeOrder::getPurchaseQuantity).reduce(0, Integer::sum); |
| | | |
| | | res.add(reduce); |
| | | } |
| | | break; |
| | | } |
| | | |
| | | |
| | | return R.ok(res); |
| | | } |
| | | } |
| | | |