package com.fdkankan.ucenter.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.fdkankan.ucenter.entity.Invoice;
import com.fdkankan.ucenter.mapper.IInvoiceMapper;
import com.fdkankan.ucenter.service.IInvoiceService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fdkankan.ucenter.vo.request.InvoiceParam;
import com.fdkankan.ucenter.vo.request.PlaceOrderParam;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.List;
/**
*
* 发票表 服务实现类
*
*
* @author
* @since 2022-07-13
*/
@Service
public class InvoiceServiceImpl extends ServiceImpl implements IInvoiceService {
@Override
public Invoice getByOrderId(Long orderId) {
LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Invoice::getOrderId,orderId);
List list = this.list(wrapper);
if(list != null && list.size() >0){
return list.get(0);
}
return null;
}
@Override
public Invoice getByIncrementOrderId(Long incrementOrderId) {
LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Invoice::getIncrementOrderId,incrementOrderId);
List list = this.list(wrapper);
if(list != null && list.size() >0){
return list.get(0);
}
return null;
}
@Override
public Invoice getByDownId(Long downId) {
LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Invoice::getDownloadOrderId,downId);
List list = this.list(wrapper);
if(list != null && list.size() >0){
return list.get(0);
}
return null;
}
@Override
public void saveByOrder(Long userId, PlaceOrderParam orderParam) {
InvoiceParam param = orderParam.getInvoice();
Invoice invoiceEntity = new Invoice();
invoiceEntity.setUserId(userId);
invoiceEntity.setType(Integer.valueOf(param.getInvoiceType()));
invoiceEntity.setTitle(param.getTitle());
invoiceEntity.setCode(param.getCode());
invoiceEntity.setEmailAddress(param.getEmailAddress());
if (3 == invoiceEntity.getType()){
invoiceEntity.setOrganizedAddress(param.getOrganizedAddress());
invoiceEntity.setRegisterPhone(param.getRegisterPhone());
invoiceEntity.setBankName(param.getBankName());
invoiceEntity.setBankAccount(param.getBankAccount());
}
invoiceEntity.setConsumeType(0);
invoiceEntity.setOrderId(orderParam.getOrderId());
invoiceEntity.setShipName(orderParam.getReceiver().getShipName());
invoiceEntity.setShipMobile(orderParam.getReceiver().getShipMobile());
invoiceEntity.setShipAddress(orderParam.getReceiver().getShipAddress());
invoiceEntity.setShipAreaPath(orderParam.getReceiver().getShipAreaPath());
invoiceEntity.setEmailAddress(param.getEmailAddress());
invoiceEntity.setMoney(new BigDecimal(param.getAmount()));
this.save(invoiceEntity);
}
}