无关风月
2024-08-24 d0a2f8a17bb7888602f0f421bb01a765ef04fd29
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java
@@ -3,19 +3,32 @@
import java.time.LocalDateTime;
import com.ruoyi.account.api.feignClient.AppUserClient;
import com.ruoyi.account.api.model.TAppUserAddress;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.dto.ExchangeDto;
import com.ruoyi.common.core.utils.OrderCodeUtil;
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.dto.*;
import com.ruoyi.order.service.TShoppingOrderService;
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.Arrays;
import java.util.Date;
import java.util.List;
/**
@@ -33,8 +46,102 @@
   
   @Resource
   private TShoppingOrderService shoppingOrderService;
   @Resource
   private AppUserClient appUserClient;
   @Resource
   private GoodsClient goodsClient;
   @Resource
   private CouponClient couponClient;
   @PostMapping("/getShoppingOrderList")
   @ApiOperation(value = "列表查询", tags = {"管理后台-购物订单"})
   public AjaxResult<PageInfo<TShoppingOrder>> getShoppingOrderList(@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<TShoppingOrder> res = shoppingOrderService.pageList(query);
      return AjaxResult.success(res);
   }
   @Resource
   private SysUserClient sysUserClient;
   @PostMapping("/getShoppingOrderInfoById")
   @ApiOperation(value = "根据订单id查看订单详情", tags = {"管理后台-购物订单"})
   public AjaxResult<TShoppingOrder> getShoppingOrderList(String id) {
      TShoppingOrder byId = shoppingOrderService.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);
   }
   @GetMapping("/deleteShoppingOrder")
   @ApiOperation(value = "批量删除订单", tags = {"管理后台-购物订单"})
   public AjaxResult<TShoppingOrder> deleteShoppingOrder(String ids) {
      shoppingOrderService.removeBatchByIds(Arrays.asList(ids.split(",")));
      return AjaxResult.success();
   }
   @Resource
   private TokenService tokenService;
   @GetMapping("/cancelShoppingOrder")
   @ApiOperation(value = "取消订单", tags = {"管理后台-购物订单"})
   public AjaxResult cancelShoppingOrder(String id) {
      TShoppingOrder byId = shoppingOrderService.getById(id);
      Long userid = tokenService.getLoginUser().getUserid();
      // todo 根据支付方式 取消订单
      byId.setCancellationId(userid);
      byId.setCancellationTime(LocalDateTime.now());
      byId.setStatus(4);
      switch (byId.getPaymentType()){
         case 1:
            // 微信
            break;
         case 2:
            // 支付宝
            break;
      }
      shoppingOrderService.updateById(byId);
      return AjaxResult.success();
   }
   @GetMapping("/consignerShoppingOrder")
   @ApiOperation(value = "发货", tags = {"管理后台-购物订单"})
   public AjaxResult consignerShoppingOrder(String id) {
      TShoppingOrder byId = shoppingOrderService.getById(id);
      Long userid = tokenService.getLoginUser().getUserid();
      byId.setConsignerId(userid);
      byId.setConsignerTime(LocalDateTime.now());
      byId.setStatus(2);
      shoppingOrderService.updateById(byId);
      return AjaxResult.success();
   }
   @GetMapping("/getMyShoppingOrderList")
   @ApiOperation(value = "获取购买订单列表", tags = {"小程序-商城购买订单"})
   public AjaxResult<List<MyShoppingOrderList>> getMyShoppingOrderList(GetMyShoppingOrderList query){