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 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 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 placeOrder(@RequestBody AppPlaceOrderDto appPlaceOrderDto) { LoginUser loginUser = SecurityUtils.getLoginUser(); Long userId = loginUser.getUserid(); 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 placeActivityOrder(@Validated @RequestBody AppPlaceActivityDto appPlaceActivityDto) { LoginUser loginUser = SecurityUtils.getLoginUser(); Long userId = loginUser.getUserid(); 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> pageUserOrder(@RequestBody AppUserOrderPageDto appUserOrderPageDto) { Long userId = SecurityUtils.getUserId(); appUserOrderPageDto.setUserId(userId); 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 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(); } }