无关风月
2024-08-30 d33c34c76e74dbacf1bf7a57d7d3109e2bc54e68
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java
@@ -27,6 +27,8 @@
import com.ruoyi.common.core.utils.OrderCodeUtil;
import com.ruoyi.other.api.feignClient.CouponClient;
import com.ruoyi.other.api.feignClient.GoodsClient;
import com.ruoyi.payment.api.feignClient.AliPaymentClient;
import com.ruoyi.payment.api.feignClient.WxPaymentClient;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.feignClient.SysUserClient;
import io.swagger.annotations.Api;
@@ -36,10 +38,7 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -67,6 +66,7 @@
    private GoodsClient goodsClient;
    @Resource
    private CouponClient couponClient;
    @PostMapping("/getExchangeOrderList")
    @ApiOperation(value = "列表查询", tags = {"管理后台-兑换订单"})
@@ -131,11 +131,13 @@
    public AjaxResult cancelShoppingOrder(String id) {
        TExchangeOrder byId = exchangeOrderService.getById(id);
        Long userid = tokenService.getLoginUser().getUserid();
        // todo 根据支付方式 取消订单
        byId.setCancellationId(userid);
        byId.setCancellationTime(LocalDateTime.now());
        byId.setStatus(4);
        exchangeOrderService.updateById(byId);
        // 回退积分
        Integer points = byId.getPoints();
        appUserClient.refundPoints(byId.getAppUserId()+"-"+points);
        return AjaxResult.success();
    }
    @GetMapping("/consignerShoppingOrder")
@@ -190,26 +192,21 @@
        String[] split = goodsIds.split("-");
        // 取出最后一位字符 类型1查询现金购买 类型2查询积分兑换
        String s = split[split.length - 1];
        String[] split1 = split[0].split(",");
        List<Integer> res = new ArrayList<>();
        switch (Integer.parseInt(s)){
            case 1:
                for (int i = 0; i < split.length-1; i++) {
                for (int i = 0; i < split1.length; i++) {
                    Integer reduce = tShoppingOrderService.list(new QueryWrapper<TShoppingOrder>()
                                    .eq("order_type",1)
                                    .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("order_type",1)
                                    .ne("status",4)
                                    .eq("goods_id", split[i])
                                    )
                for (int i = 0; i < split1.length; i++) {
                    Integer reduce = exchangeOrderService.list(new QueryWrapper<TExchangeOrder>().eq("order_type",1).ne("status",4).eq("goods_id", split1[i]))
                            .stream().map(TExchangeOrder::getPurchaseQuantity).reduce(0, Integer::sum);
                    res.add(reduce);
                }
@@ -277,11 +274,11 @@
            tExchangeOrder.setCouponId(exchangeDto.getGoodId());
        }
        tExchangeOrder.setPurchaseQuantity(1);
        tExchangeOrder.setAppUserAddressId(Long.valueOf(exchangeDto.getAddressId()));
        tExchangeOrder.setAppUserAddressId(exchangeDto.getAddressId()==null?null:Long.valueOf(exchangeDto.getAddressId()));
        tExchangeOrder.setPoints(exchangeDto.getPoint());
        tExchangeOrder.setRemark("");
        if (exchangeDto.getGoodType()==1){
            tExchangeOrder.setStatus(0);
            tExchangeOrder.setStatus(1);
        }else {
            tExchangeOrder.setStatus(3);
        }
@@ -296,8 +293,8 @@
    
    @GetMapping("/getMyExchangeOrder")
    @ApiOperation(value = "获取兑换记录列表", tags = {"小程序-兑换记录"})
    public AjaxResult<List<MyExchangeOrderList>> getMyExchangeOrder(GetMyExchangeOrder query){
        List<MyExchangeOrderList> list = exchangeOrderService.getMyExchangeOrder(query);
    public AjaxResult<Map<String, Object>> getMyExchangeOrder(GetMyExchangeOrder query){
        Map<String, Object> list = exchangeOrderService.getMyExchangeOrder(query);
        return AjaxResult.success(list);
    }