Pu Zhibing
2025-06-06 6f5e0af7b4e3c4e6d2bcd33bafb6649727e98b37
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java
@@ -5,6 +5,7 @@
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.pojo.order.Order;
import com.ruoyi.order.domain.vo.*;
import com.ruoyi.order.service.order.OrderService;
import com.ruoyi.system.api.constant.AppErrorConstant;
@@ -16,9 +17,8 @@
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import static org.reflections.Reflections.log;
/**
 * @author jqs34
@@ -36,7 +36,6 @@
    private OrderService orderService;
    @RequestMapping(value = "/verifyCode", method = RequestMethod.POST)
    @ApiOperation(value = "核销code")
    public R<MerVerifyCodeVo> verifyCode(@RequestBody MerVerifyCodeDto merVerifyCodeDto) {
@@ -50,15 +49,16 @@
        merVerifyCodeVo.setVerifyType(type);
        switch(type){
            case 1:
                MerVerifyOrderVo merVerifyOrderVo = orderService.verifyOrder(verifyCode);
                MerVerifyOrderVo merVerifyOrderVo = orderService.verifyOrder(verifyCode,merVerifyCodeDto.getShopId());
                merVerifyCodeVo.setMerVerifyOrderVo(merVerifyOrderVo);
                break;
            case 2:
                MerVerifyCouponVo merVerifyCouponVo = null;
                MerVerifyCouponVo merVerifyCouponVo = orderService.verifyCoupon(verifyCode,merVerifyCodeDto.getShopId());
                merVerifyCouponVo.setCouponId(merVerifyCouponVo.getMemberCouponId().toString());
                merVerifyCodeVo.setMerVerifyCouponVo(merVerifyCouponVo);
                break;
            case 3:
                MerVerifyAwardVo merVerifyAwardVo = null;
                MerVerifyAwardVo merVerifyAwardVo = orderService.verifyPrize(verifyCode,merVerifyCodeDto.getShopId());
                merVerifyCodeVo.setMerVerifyAwardVo(merVerifyAwardVo);
                break;
            default:
@@ -67,13 +67,51 @@
        return R.ok(merVerifyCodeVo);
    }
    @RequestMapping(value = "/verifyOrder", method = RequestMethod.POST)
    @ApiOperation(value = "核销code")
    public R<MerVerifyOrderVo> verifyOrder(@RequestBody MerVerifyCodeDto merVerifyCodeDto) {
        Long userId = SecurityUtils.getUserId();
        merVerifyCodeDto.setUserId(userId);
        String verifyCode = merVerifyCodeDto.getVerifyCode();
        MerVerifyOrderVo merVerifyOrderVo = null;
        if (!verifyCode.contains("http")) {
            merVerifyOrderVo = orderService.verifyOrder(verifyCode, merVerifyCodeDto.getShopId());
        } else {
            //三方订单
        }
        return R.ok(merVerifyOrderVo);
    }
    @RequestMapping(value = "/sureVerifyOrder", method = RequestMethod.POST)
    @ApiOperation(value = "核销订单")
    public R<MerVerifyOrderVo> sureVerifyOrder(@RequestBody MerVerifyOrderDto merVerifyOrderDto) {
        Long userId = SecurityUtils.getUserId();
        merVerifyOrderDto.setUserId(userId);
        MerVerifyOrderVo merVerifyOrderVo = orderService.sureVerifyOrder(merVerifyOrderDto);
        MerVerifyOrderVo merVerifyOrderVo = null;
        if (!merVerifyOrderDto.getOrderId().contains("http")) {
            merVerifyOrderVo = orderService.sureVerifyOrder(merVerifyOrderDto);
        } else {
            //三方订单
        }
        return R.ok(merVerifyOrderVo);
    }
    @RequestMapping(value = "/sureVerifyCoupon", method = RequestMethod.POST)
    @ApiOperation(value = "核销优惠券")
    public R<MerVerifyCouponVo> 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<MerVerifyAwardVo> sureVerifyPrize(@RequestBody MerVerifyPrizeDto merVerifyPrizeDto) {
        Long userId = SecurityUtils.getUserId();
        merVerifyPrizeDto.setUserId(userId);
        MerVerifyAwardVo merVerifyAwardVo = orderService.sureVerifyPrize(merVerifyPrizeDto);
        return R.ok(merVerifyAwardVo);
    }
@@ -107,33 +145,74 @@
        orderService.createNewOrder(merNewOrderDto);
        return R.ok();
    }
    @RequestMapping(value = "/pageMerOrder", method = RequestMethod.POST)
    @ApiOperation(value = "获取商户端订单列表")
    @ApiOperation(value = "获取商户端订单列表【2.0】")
    public R<Page<MerOrderPageVo>> pageMerOrder(@RequestBody MerOrderPageDto merOrderPageDto) {
        log.info("merOrderPageDto1----"+merOrderPageDto.toString());
        Long userId = SecurityUtils.getUserId();
        merOrderPageDto.setUserId(userId);
        Page<MerOrderPageVo> page = new Page<>();
        page.setSize(merOrderPageDto.getPageSize());
        page.setCurrent(merOrderPageDto.getPageNum());
        log.info("merOrderPageDto2----"+merOrderPageDto.toString());
        List<MerOrderPageVo> merOrderPageVoList = orderService.pageMerOrder(page,merOrderPageDto);
        List<MerOrderPageVo> merOrderPageVoList = orderService.pageMerOrder(page, merOrderPageDto);
        return R.ok(page.setRecords(merOrderPageVoList));
    }
    @RequestMapping(value = "/cancelMerOrder", method = RequestMethod.POST)
    @ApiOperation(value = "商户端取消线下订单【2.0】")
    public R cancelMerOrder(@RequestBody CancelMerOrderDto dto) {
        Order order = orderService.getById(dto.getOrderId());
        if (null == order) {
            return R.fail("订单不存在");
        }
        if (order.getOrderStatus() == 0) {
            return R.fail("订单已取消");
        }
        if (!order.getShopId().equals(dto.getShopId())) {
            return R.fail("取消失败");
        }
        if (3 != order.getOrderFrom()) {
            return R.fail("取消失败");
        }
        order.setOrderStatus(0);
        order.setCancelTime(new Date());
        orderService.updateById(order);
        return R.ok();
    }
    @RequestMapping(value = "/totalMerOrder", method = RequestMethod.POST)
    @ApiOperation(value = "商户端订单管理统计")
    public R<MerTotalOrderVo> 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<Page<MerMemberNoClearOrderVo>> pageMerMemberOrder(@RequestBody MerMemberNoClearOrderDto merMemberNoClearOrderDto) {
    @ApiOperation(value = "分页商户端用户收银记录【2.0】")
    public R<Page<MerMemberOrderVo>> pageMerMemberOrder(@RequestBody MerMemberNoClearOrderDto merMemberNoClearOrderDto) {
        Long userId = SecurityUtils.getUserId();
        merMemberNoClearOrderDto.setUserId(userId);
        Page<MerMemberNoClearOrderVo> page = new Page<>();
        Page<MerMemberOrderVo> page = new Page<>();
        page.setSize(merMemberNoClearOrderDto.getPageSize());
        page.setCurrent(merMemberNoClearOrderDto.getPageNum());
        log.info("merMemberNoClearOrderDto----"+merMemberNoClearOrderDto.toString());
        List<MerMemberNoClearOrderVo> merMemberNoClearOrderVoList = orderService.pageMerMemberOrder(page,merMemberNoClearOrderDto);
        List<MerMemberOrderVo> merMemberNoClearOrderVoList = orderService.pageMerMemberOrder(page,merMemberNoClearOrderDto);
        return R.ok(page.setRecords(merMemberNoClearOrderVoList));
    }
    @RequestMapping(value = "/pageMerMemberPayOrder", method = RequestMethod.POST)
    @ApiOperation(value = "获取商户端用户消费记录")
    public R<Page<MerOrderPageVo>> pageMerMemberPayOrder(@RequestBody MerMemberNoClearOrderDto merOrderPageDto) {
        Long userId = SecurityUtils.getUserId();
        merOrderPageDto.setUserId(userId);
        Page<MerOrderPageVo> page = new Page<>();
        page.setSize(merOrderPageDto.getPageSize());
        page.setCurrent(merOrderPageDto.getPageNum());
        List<MerOrderPageVo> merOrderPageVoList = orderService.pageMerMemberPayOrder(page,merOrderPageDto);
        return R.ok(page.setRecords(merOrderPageVoList));
    }
}