无关风月
2024-08-24 d0a2f8a17bb7888602f0f421bb01a765ef04fd29
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TExchangeOrderController.java
@@ -5,13 +5,18 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.account.api.feignClient.AppUserClient;
import com.ruoyi.account.api.model.TAppUserAddress;
import com.ruoyi.chargingPile.api.feignClient.ChargingPileClient;
import com.ruoyi.chargingPile.api.model.TChargingPile;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.order.api.model.TExchangeOrder;
import com.ruoyi.order.api.model.TShoppingOrder;
import com.ruoyi.order.api.query.ShoppingOrderQuery;
import com.ruoyi.order.api.query.TActivityStatisticsQuery;
import com.ruoyi.order.api.vo.TActivityStatisticslVO;
import com.ruoyi.order.api.vo.TActivityVO;
import com.ruoyi.order.dto.ExchangeOrderGoodsInfo;
import com.ruoyi.order.dto.GetMyExchangeOrder;
@@ -20,13 +25,19 @@
import com.ruoyi.order.service.TShoppingOrderService;
import com.ruoyi.common.core.dto.ExchangeDto;
import com.ruoyi.common.core.utils.OrderCodeUtil;
import com.ruoyi.other.api.feignClient.CouponClient;
import com.ruoyi.other.api.feignClient.GoodsClient;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.feignClient.SysUserClient;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
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.stream.Collectors;
@@ -52,6 +63,92 @@
    private AppUserClient appUserClient;
    @Resource
    private ChargingPileClient chargingPileClient;
    @Resource
    private GoodsClient goodsClient;
    @Resource
    private CouponClient couponClient;
    @PostMapping("/getExchangeOrderList")
    @ApiOperation(value = "列表查询", tags = {"管理后台-兑换订单"})
    public AjaxResult<PageInfo<TExchangeOrder>> getExchangeOrderList(@RequestBody ShoppingOrderQuery query) {
        if (StringUtils.hasLength(query.getPhone())) {
            List<Long> data = appUserClient.getUserIdsByPhone(query.getPhone()).getData();
            if (data.isEmpty()){
                return AjaxResult.success(new PageInfo<TShoppingOrder>());
            }
            query.setUserIds(data);
        }
        if (StringUtils.hasLength(query.getName())) {
            List<Integer> data = goodsClient.getGoodsIdsByName(query.getName()).getData();
            query.setGoodsIds(data);
            List<Integer> data1 = couponClient.getCouponIdsByName(query.getName()).getData();
            query.setCouponIds(data1);
            if (data.isEmpty() && data1.isEmpty()){
                return AjaxResult.success(new PageInfo<TShoppingOrder>());
            }
        }
        PageInfo<TExchangeOrder> res = exchangeOrderService.pageList(query);
        return AjaxResult.success(res);
    }
    @Resource
    private SysUserClient sysUserClient;
    @PostMapping("/getShoppingOrderInfoById")
    @ApiOperation(value = "根据订单id查看订单详情", tags = {"管理后台-兑换订单"})
    public AjaxResult<TExchangeOrder> getShoppingOrderList(String id) {
        TExchangeOrder byId = exchangeOrderService.getById(id);
        if (byId.getConsignerId()!=null){
            SysUser data = sysUserClient.getSysUser(byId.getConsignerId()).getData();
            if (data!=null){
                byId.setConsignerName(data.getUserName());
            }
        }
        if (byId.getCancellationId()!=null){
            SysUser data = sysUserClient.getSysUser(byId.getCancellationId()).getData();
            if (data!=null){
                byId.setCancellationName(data.getUserName());
            }
        }
        if (byId.getAppUserAddressId()!=null){
            TAppUserAddress data = appUserClient.getAddressById(byId.getAppUserAddressId()).getData();
            if (data!=null){
                byId.setReceivingName(data.getName()+"-"+data.getPhone());
                byId.setReceivingAddress(data.getAddress());
            }
        }
        return AjaxResult.success(byId);
    }
    @Resource
    private TokenService tokenService;
    @GetMapping("/deleteShoppingOrder")
    @ApiOperation(value = "批量删除订单", tags = {"管理后台-兑换订单"})
    public AjaxResult<TExchangeOrder> deleteShoppingOrder(String ids) {
        exchangeOrderService.removeBatchByIds(Arrays.asList(ids.split(",")));
        return AjaxResult.success();
    }
    @GetMapping("/cancelShoppingOrder")
    @ApiOperation(value = "取消订单", tags = {"管理后台-兑换订单"})
    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);
        return AjaxResult.success();
    }
    @GetMapping("/consignerShoppingOrder")
    @ApiOperation(value = "发货", tags = {"管理后台-兑换订单"})
    public AjaxResult consignerShoppingOrder(String id) {
        TExchangeOrder byId = exchangeOrderService.getById(id);
        Long userid = tokenService.getLoginUser().getUserid();
        byId.setConsignerId(userid);
        byId.setConsignerTime(LocalDateTime.now());
        byId.setStatus(2);
        exchangeOrderService.updateById(byId);
        return AjaxResult.success();
    }
    /**
     * 管理后台 活动费用统计
     * @param
@@ -62,6 +159,11 @@
        if (StringUtils.hasLength(dto.getPhone())){
            // 远程调用查询出符合条件的用户ids
            List<Long> data = appUserClient.getUserIdsByPhone(dto.getPhone()).getData();
            if (data.isEmpty()){
                TActivityVO res = new TActivityVO();
                res.setList(new PageInfo<TActivityStatisticslVO>());
                return R.ok(res);
            }
            dto.setUserIds(data);
        }
        if (dto.getSiteId()!=null){