package com.ruoyi.order.controller.miniapp;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.exception.ServiceException;
|
import com.ruoyi.common.core.web.controller.BaseController;
|
import com.ruoyi.common.security.utils.SecurityUtils;
|
import com.ruoyi.order.domain.dto.*;
|
import com.ruoyi.order.domain.vo.*;
|
import com.ruoyi.order.service.order.OrderService;
|
import com.ruoyi.system.api.domain.dto.AppBaseGetDto;
|
import com.ruoyi.system.api.domain.poji.member.Member;
|
import com.ruoyi.system.api.model.LoginUser;
|
import com.ruoyi.system.api.service.RemoteMemberService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import javax.annotation.Resource;
|
import java.util.List;
|
|
/**
|
* @author jqs34
|
* @version 1.0
|
* @classname AppOrderController
|
* @description: TODO
|
* @date 2023 2023/5/2 20:47
|
*/
|
@Api(value = "小程序订单相关接口", tags = "小程序订单相关接口", description = "小程序订单相关接口")
|
@RestController
|
@RequestMapping("/app/order")
|
public class AppOrderController extends BaseController {
|
|
@Resource
|
private RemoteMemberService memberService;
|
|
@Resource
|
private OrderService orderService;
|
|
|
|
@RequestMapping(value = "/buyGoods", method = RequestMethod.POST)
|
@ApiOperation(value = "购买商品")
|
public R<AppSureOrderVo> buyGoods(@RequestBody AppSureOrderDto appSureOrderDto) {
|
Long userId = SecurityUtils.getUserId();
|
if (userId != null) {
|
Member member = memberService.getMember(userId).getData();
|
appSureOrderDto.setUserId(userId);
|
if (member != null && member.getRelationShopId() != null) {
|
appSureOrderDto.setShopId(member.getRelationShopId());
|
}
|
}
|
AppSureOrderVo appSureOrderVo = orderService.buyGoods(appSureOrderDto);
|
return R.ok(appSureOrderVo);
|
}
|
|
|
@RequestMapping(value = "/panicBuyGoods", method = RequestMethod.POST)
|
@ApiOperation(value = "抢购商品")
|
public R<AppPanicBuyVo> panicBuyGoods(@RequestBody AppPanicBuyDto appPanicBuyDto) {
|
Long userId = SecurityUtils.getUserId();
|
if (userId != null) {
|
Member member = memberService.getMember(userId).getData();
|
appPanicBuyDto.setUserId(userId);
|
if (member != null && member.getRelationShopId() != null) {
|
appPanicBuyDto.setShopId(member.getRelationShopId());
|
}
|
}
|
AppPanicBuyVo panicBuyGoods = orderService.panicBuyGoods(appPanicBuyDto);
|
return R.ok(panicBuyGoods);
|
}
|
|
@RequestMapping(value = "/placeOrder", method = RequestMethod.POST)
|
@ApiOperation(value = "创建订单")
|
public R<AppPlaceOrderVo> placeOrder(@RequestBody AppPlaceOrderDto appPlaceOrderDto) {
|
LoginUser loginUser = SecurityUtils.getLoginUser();
|
Long userId = loginUser.getUserid();
|
if(1==1){
|
throw new ServiceException("支付功能尚未开通,请联系客服");
|
}
|
appPlaceOrderDto.setUserId(userId);
|
appPlaceOrderDto.setSpbillCreateIp(loginUser.getIpaddr());
|
AppPlaceOrderVo appPlaceOrderVo = orderService.placeOrder(appPlaceOrderDto);
|
return R.ok(appPlaceOrderVo);
|
}
|
|
@RequestMapping(value = "/placeActivityOrder", method = RequestMethod.POST)
|
@ApiOperation(value = "创建活动订单")
|
public R<AppPlaceOrderVo> placeActivityOrder(@Validated @RequestBody AppPlaceActivityDto appPlaceActivityDto) {
|
LoginUser loginUser = SecurityUtils.getLoginUser();
|
Long userId = loginUser.getUserid();
|
if(1==1){
|
throw new ServiceException("支付功能尚未开通,请联系客服");
|
}
|
appPlaceActivityDto.setUserId(userId);
|
appPlaceActivityDto.setSpbillCreateIp(loginUser.getIpaddr());
|
AppPlaceOrderVo appPlaceOrderVo = orderService.placeActivityOrder(appPlaceActivityDto);
|
return R.ok(appPlaceOrderVo);
|
}
|
|
@RequestMapping(value = "/pageUserOrder", method = RequestMethod.POST)
|
@ApiOperation(value = "分页获取用户订单")
|
public R<Page<AppUserOrderPageVo>> pageUserOrder(@RequestBody AppUserOrderPageDto appUserOrderPageDto) {
|
Long userId = SecurityUtils.getUserId();
|
appUserOrderPageDto.setUserId(userId);
|
Page<AppUserOrderPageVo> page = new Page<>();
|
page.setSize(appUserOrderPageDto.getPageSize());
|
page.setCurrent(appUserOrderPageDto.getPageNum());
|
List<AppUserOrderPageVo> appUserOrderPageVoList = orderService.pageUserOrder(page, appUserOrderPageDto);
|
return R.ok(page.setRecords(appUserOrderPageVoList));
|
}
|
|
@RequestMapping(value = "/getAppOrderDetail", method = RequestMethod.POST)
|
@ApiOperation(value = "获取订单详情")
|
public R<AppUserOrderGetVo> getAppOrderDetail(@RequestBody AppBaseGetDto appBaseGetDto) {
|
Long userId = SecurityUtils.getUserId();
|
Long shopId = null;
|
if (userId != null) {
|
Member member = memberService.getMember(userId).getData();
|
appBaseGetDto.setUserId(userId);
|
if (member != null && member.getRelationShopId() != null) {
|
shopId = member.getRelationShopId();
|
}
|
}
|
AppUserOrderGetVo appUserOrderGetVo = orderService.getAppOrderDetail(appBaseGetDto);
|
if (shopId != null && appUserOrderGetVo.getShopId().equals(shopId)) {
|
appUserOrderGetVo.setSameShop(1);
|
} else {
|
appUserOrderGetVo.setSameShop(0);
|
}
|
return R.ok(appUserOrderGetVo);
|
}
|
|
@RequestMapping(value = "/payOrder", method = RequestMethod.POST)
|
@ApiOperation(value = "支付订单")
|
public R<AppPlaceOrderVo> payOrder(@RequestBody AppBaseGetDto appBaseGetDto) {
|
Long userId = SecurityUtils.getUserId();
|
AppPlaceOrderVo appPlaceOrderVo = orderService.payOrder(appBaseGetDto.getId());
|
return R.ok(appPlaceOrderVo);
|
}
|
|
@RequestMapping(value = "/cancelOrder", method = RequestMethod.POST)
|
@ApiOperation(value = "取消订单")
|
public R cancelOrder(@RequestBody AppBaseGetDto appBaseGetDto) {
|
Long userId = SecurityUtils.getUserId();
|
orderService.cancelOrder(appBaseGetDto.getId());
|
return R.ok();
|
}
|
|
}
|