package cn.lili.modules.order.order.serviceimpl; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; import cn.lili.mybatis.util.PageUtil; import cn.lili.common.vo.PageVO; import cn.lili.modules.order.order.entity.dos.Receipt; import cn.lili.modules.order.order.entity.dto.OrderReceiptDTO; import cn.lili.modules.order.order.entity.dto.ReceiptSearchParams; import cn.lili.modules.order.order.mapper.ReceiptMapper; import cn.lili.modules.order.order.service.ReceiptService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; /** * 发票业务层实现 * * @author Bulbasaur * @since 2020/11/17 7:38 下午 */ @Service public class ReceiptServiceImpl extends ServiceImpl implements ReceiptService { @Override public IPage getReceiptData(ReceiptSearchParams searchParams, PageVO pageVO) { return this.baseMapper.getReceipt(PageUtil.initPage(pageVO), searchParams.wrapper()); } @Override public Receipt getByOrderSn(String orderSn) { LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery(); lambdaQueryWrapper.eq(Receipt::getOrderSn, orderSn); return this.getOne(lambdaQueryWrapper); } @Override public Receipt getDetail(String id) { return this.getById(id); } @Override public Receipt saveReceipt(Receipt receipt) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(Receipt::getReceiptTitle, receipt.getReceiptTitle()); queryWrapper.eq(Receipt::getMemberId, receipt.getMemberId()); if (receipt.getId() != null) { queryWrapper.ne(Receipt::getId, receipt.getId()); } if (this.getOne(queryWrapper) == null) { this.save(receipt); return receipt; } return null; } @Override public Receipt invoicing(String receiptId) { //根据id查询发票信息 Receipt receipt = this.getById(receiptId); if (receipt != null) { receipt.setReceiptStatus(1); this.saveOrUpdate(receipt); return receipt; } throw new ServiceException(ResultCode.USER_RECEIPT_NOT_EXIST); } }