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.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.RemoteMemberService; import com.ruoyi.system.api.domain.dto.AppBaseGetDto; import com.ruoyi.system.api.domain.poji.member.Member; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; 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 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 { @Autowired private RemoteMemberService memberService; @Autowired private OrderService orderService; @RequestMapping(value = "/buyGoods", method = RequestMethod.POST) @ApiOperation(value = "购买商品") public R 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 = "/placeOrder", method = RequestMethod.POST) @ApiOperation(value = "创建订单") public R placeOrder(@RequestBody AppPlaceOrderDto appPlaceOrderDto) { Long userId = SecurityUtils.getUserId(); if(userId!=null){ Member member = memberService.getMember(userId).getData(); appPlaceOrderDto.setUserId(userId); if(member!=null&&member.getRelationShopId()!=null){ appPlaceOrderDto.setShopId(member.getRelationShopId()); } } AppPlaceOrderVo appPlaceOrderVo = orderService.placeOrder(appPlaceOrderDto); return R.ok(appPlaceOrderVo); } @RequestMapping(value = "/pageUserOrder", method = RequestMethod.POST) @ApiOperation(value = "分页获取用户订单") public R> pageUserOrder(@RequestBody AppUserOrderPageDto appUserOrderPageDto) { Long userId = SecurityUtils.getUserId(); if(userId!=null){ Member member = memberService.getMember(userId).getData(); appUserOrderPageDto.setUserId(userId); if(member!=null&&member.getRelationShopId()!=null){ appUserOrderPageDto.setShopId(member.getRelationShopId()); } } Page page = new Page<>(); page.setSize(appUserOrderPageDto.getPageSize()); page.setCurrent(appUserOrderPageDto.getPageNum()); List appUserOrderPageVoList = orderService.pageUserOrder(page,appUserOrderPageDto); return R.ok(page.setRecords(appUserOrderPageVoList)); } @RequestMapping(value = "/getAppOrderDetail", method = RequestMethod.POST) @ApiOperation(value = "获取订单详情") public R 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 placeOrder(@RequestBody AppBaseGetDto appBaseGetDto) { Long userId = SecurityUtils.getUserId(); AppPlaceOrderVo appPlaceOrderVo = null; 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(); } }