package com.fdkankan.ucenter.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fdkankan.common.constant.TbStatus; import com.fdkankan.common.response.PageInfo; import com.fdkankan.ucenter.entity.DownloadOrder; import com.fdkankan.ucenter.entity.Invoice; import com.fdkankan.ucenter.entity.User; import com.fdkankan.ucenter.mapper.IDownloadOrderMapper; import com.fdkankan.ucenter.service.IDownloadOrderService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fdkankan.ucenter.service.IInvoiceService; import com.fdkankan.ucenter.service.IUserService; import com.fdkankan.ucenter.vo.request.IncrementOrderParam; import com.fdkankan.ucenter.vo.response.DownloadVo; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Date; import java.util.List; /** *

* 下载次数订单表 服务实现类 *

* * @author * @since 2022-07-13 */ @Service public class DownloadOrderServiceImpl extends ServiceImpl implements IDownloadOrderService { @Autowired IUserService userService; @Autowired IInvoiceService invoiceService; @Override public PageInfo pageList(IncrementOrderParam param) { User user = userService.getByUserName(param.getUserName()); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(DownloadOrder::getUserId,user.getId()); wrapper.orderByDesc(DownloadOrder::getTradeTime); Page page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper); List listVo = new ArrayList<>(); for (DownloadOrder record : page.getRecords()) { DownloadVo vo = new DownloadVo(); BeanUtils.copyProperties(record,vo); Invoice invoice = invoiceService.getByDownId(record.getId()); vo.setInvoice(invoice); listVo.add(vo); } Page pageVo = new Page<>(param.getPageNum(),param.getPageSize()); pageVo.setTotal(page.getTotal()); pageVo.setRecords(listVo); return PageInfo.PageInfo(pageVo); } @Override public DownloadOrder getByOrderSn(String orderSn) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().eq(DownloadOrder::getOrderSn,orderSn); List list = this.list(queryWrapper); if(list == null || list.size() <=0){ return null; } return list.get(0); } @Override public boolean paySuccessDownloadOrder(String orderSn, String tradeNo, int paymentTypeName) { LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.set(DownloadOrder::getPayType,paymentTypeName) .set(DownloadOrder::getNumber,tradeNo) .set(DownloadOrder::getPayStatus,1) .set(DownloadOrder::getTradeTime,new Date()) .eq(DownloadOrder::getOrderSn,orderSn); return this.update(updateWrapper); } }