package com.ruoyi.order.controller.business; 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.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.constant.AppErrorConstant; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; 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 * @ClassName MerOrderController * @description: TODO * @date 2023年05月04日 * @version: 1.0 */ @Api(value = "商户端订单相关接口", tags = "商户端订单相关接口", description = "商户端订单相关接口") @RestController @RequestMapping("/mer/order") public class MerOrderController { @Resource private OrderService orderService; @RequestMapping(value = "/verifyCode", method = RequestMethod.POST) @ApiOperation(value = "核销code") public R verifyCode(@RequestBody MerVerifyCodeDto merVerifyCodeDto) { Long userId = SecurityUtils.getUserId(); merVerifyCodeDto.setUserId(userId); String verifyCode = merVerifyCodeDto.getVerifyCode(); String[] verifyCodeArr = verifyCode.split("-"); MerVerifyCodeVo merVerifyCodeVo = new MerVerifyCodeVo(); Integer type = Integer.valueOf(verifyCodeArr[0]); verifyCode = verifyCodeArr[1]; merVerifyCodeVo.setVerifyType(type); switch(type){ case 1: MerVerifyOrderVo merVerifyOrderVo = orderService.verifyOrder(verifyCode,merVerifyCodeDto.getShopId()); merVerifyCodeVo.setMerVerifyOrderVo(merVerifyOrderVo); break; case 2: MerVerifyCouponVo merVerifyCouponVo = orderService.verifyCoupon(verifyCode,merVerifyCodeDto.getShopId()); merVerifyCodeVo.setMerVerifyCouponVo(merVerifyCouponVo); break; case 3: MerVerifyAwardVo merVerifyAwardVo = orderService.verifyPrize(verifyCode,merVerifyCodeDto.getShopId()); merVerifyCodeVo.setMerVerifyAwardVo(merVerifyAwardVo); break; default: throw new ServiceException(AppErrorConstant.VERIFY_TYPE_MISS); } return R.ok(merVerifyCodeVo); } @RequestMapping(value = "/verifyOrder", method = RequestMethod.POST) @ApiOperation(value = "核销code") public R verifyOrder(@RequestBody MerVerifyCodeDto merVerifyCodeDto) { Long userId = SecurityUtils.getUserId(); merVerifyCodeDto.setUserId(userId); String verifyCode = merVerifyCodeDto.getVerifyCode(); MerVerifyOrderVo merVerifyOrderVo = orderService.verifyOrder(verifyCode,merVerifyCodeDto.getShopId()); return R.ok(merVerifyOrderVo); } @RequestMapping(value = "/sureVerifyOrder", method = RequestMethod.POST) @ApiOperation(value = "核销订单") public R sureVerifyOrder(@RequestBody MerVerifyOrderDto merVerifyOrderDto) { Long userId = SecurityUtils.getUserId(); merVerifyOrderDto.setUserId(userId); MerVerifyOrderVo merVerifyOrderVo = orderService.sureVerifyOrder(merVerifyOrderDto); return R.ok(merVerifyOrderVo); } @RequestMapping(value = "/sureVerifyCoupon", method = RequestMethod.POST) @ApiOperation(value = "核销优惠券") public R sureVerifyCoupon(@RequestBody MerVerifyCouponDto merVerifyCouponDto) { Long userId = SecurityUtils.getUserId(); merVerifyCouponDto.setUserId(userId); MerVerifyCouponVo merVerifyCouponVo = orderService.sureVerifyCoupon(merVerifyCouponDto); return R.ok(merVerifyCouponVo); } @RequestMapping(value = "/sureVerifyPrize", method = RequestMethod.POST) @ApiOperation(value = "核销奖品") public R sureVerifyPrize(@RequestBody MerVerifyPrizeDto merVerifyPrizeDto) { Long userId = SecurityUtils.getUserId(); merVerifyPrizeDto.setUserId(userId); MerVerifyAwardVo merVerifyAwardVo = orderService.sureVerifyPrize(merVerifyPrizeDto); return R.ok(merVerifyAwardVo); } @RequestMapping(value = "/pageMerMemberNoClearOrder", method = RequestMethod.POST) @ApiOperation(value = "分页获取用户未结清订单") public R> pageMerMemberNoClearOrder(@RequestBody MerMemberNoClearOrderDto merMemberNoClearOrderDto) { Long userId = SecurityUtils.getUserId(); merMemberNoClearOrderDto.setUserId(userId); Page page = new Page<>(); page.setSize(merMemberNoClearOrderDto.getPageSize()); page.setCurrent(merMemberNoClearOrderDto.getPageNum()); List merMemberNoClearOrderVoList = orderService.pageMerMemberNoClearOrder(page,merMemberNoClearOrderDto); return R.ok(page.setRecords(merMemberNoClearOrderVoList)); } @RequestMapping(value = "/merCloseOrder", method = RequestMethod.POST) @ApiOperation(value = "结清订单") public R merCloseOrder(@RequestBody MerCloseOrderDto merCloseOrderDto) { Long userId = SecurityUtils.getUserId(); merCloseOrderDto.setUserId(userId); orderService.merCloseOrder(merCloseOrderDto); return R.ok(); } @RequestMapping(value = "/createNewOrder", method = RequestMethod.POST) @ApiOperation(value = "创建新订单") public R createNewOrder(@RequestBody MerNewOrderDto merNewOrderDto) { Long userId = SecurityUtils.getUserId(); merNewOrderDto.setUserId(userId); orderService.createNewOrder(merNewOrderDto); return R.ok(); } @RequestMapping(value = "/pageMerOrder", method = RequestMethod.POST) @ApiOperation(value = "获取商户端订单列表") public R> pageMerOrder(@RequestBody MerOrderPageDto merOrderPageDto) { Long userId = SecurityUtils.getUserId(); merOrderPageDto.setUserId(userId); Page page = new Page<>(); page.setSize(merOrderPageDto.getPageSize()); page.setCurrent(merOrderPageDto.getPageNum()); List merOrderPageVoList = orderService.pageMerOrder(page,merOrderPageDto); return R.ok(page.setRecords(merOrderPageVoList)); } @RequestMapping(value = "/totalMerOrder", method = RequestMethod.POST) @ApiOperation(value = "商户端订单管理统计") public R totalMerOrder(@RequestBody MerOrderPageDto merOrderPageDto) { Long userId = SecurityUtils.getUserId(); merOrderPageDto.setUserId(userId); MerTotalOrderVo totalOrderVo = orderService.totalMerOrder(merOrderPageDto); return R.ok(totalOrderVo); } @RequestMapping(value = "/pageMerMemberOrder", method = RequestMethod.POST) @ApiOperation(value = "分页商户端用户收银记录") public R> pageMerMemberOrder(@RequestBody MerMemberNoClearOrderDto merMemberNoClearOrderDto) { Long userId = SecurityUtils.getUserId(); merMemberNoClearOrderDto.setUserId(userId); Page page = new Page<>(); page.setSize(merMemberNoClearOrderDto.getPageSize()); page.setCurrent(merMemberNoClearOrderDto.getPageNum()); List merMemberNoClearOrderVoList = orderService.pageMerMemberOrder(page,merMemberNoClearOrderDto); return R.ok(page.setRecords(merMemberNoClearOrderVoList)); } @RequestMapping(value = "/pageMerMemberPayOrder", method = RequestMethod.POST) @ApiOperation(value = "获取商户端用户消费记录") public R> pageMerMemberPayOrder(@RequestBody MerMemberNoClearOrderDto merOrderPageDto) { Long userId = SecurityUtils.getUserId(); merOrderPageDto.setUserId(userId); Page page = new Page<>(); page.setSize(merOrderPageDto.getPageSize()); page.setCurrent(merOrderPageDto.getPageNum()); List merOrderPageVoList = orderService.pageMerMemberPayOrder(page,merOrderPageDto); return R.ok(page.setRecords(merOrderPageVoList)); } }