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.ucenter.common.PageInfo;
import com.fdkankan.ucenter.entity.User;
import com.fdkankan.ucenter.entity.VirtualOrder;
import com.fdkankan.ucenter.mapper.IVirtualOrderMapper;
import com.fdkankan.ucenter.service.IUserService;
import com.fdkankan.ucenter.service.IVirtualOrderService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fdkankan.ucenter.vo.request.IncrementOrderParam;
import com.fdkankan.ucenter.vo.request.VirtualOrderParam;
import com.fdkankan.ucenter.vo.response.VirtualOrderVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
*
* 充值订单表(双目相机点数充值、消费) 服务实现类
*
*
* @author
* @since 2022-07-13
*/
@Service
public class VirtualOrderServiceImpl extends ServiceImpl implements IVirtualOrderService {
@Autowired
IUserService userService;
@Override
public PageInfo pageList(VirtualOrderParam param) {
User user = userService.getByUserName(param.getUserName());
param.setUserId(user.getId());
Page page = this.getBaseMapper().pageList(new Page<>(param.getPageNum(),param.getPageSize()),param);
return PageInfo.PageInfo(page);
}
@Override
public VirtualOrder getByOrderSn(String orderSn) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(VirtualOrder::getOrderSn,orderSn);
List list = this.list(queryWrapper);
if(list == null || list.size()<=0){
return null;
}
return list.get(0);
}
@Override
public boolean paySuccessVirtualOrder(String orderSn, String tradeNo, int paymentTypeName) {
LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(VirtualOrder::getPayType,paymentTypeName)
.set(VirtualOrder::getNumber,tradeNo)
.set(VirtualOrder::getPayStatus, 1)
.set(VirtualOrder::getTradeTime, new Date())
.eq(VirtualOrder::getOrderSn,orderSn);
return this.update(updateWrapper);
}
@Override
public List getByCameraId(Long cameraId) {
LambdaQueryWrapper vWr = new LambdaQueryWrapper<>();
vWr.eq(VirtualOrder::getCameraId,cameraId);
return this.list(vWr);
}
}