package com.gszc.service.impl; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.gszc.entity.Custom; import com.gszc.entity.Invoice; import com.gszc.entity.InvoiceHeader; import com.gszc.mapper.InvoiceHeaderMapper; import com.gszc.mapper.InvoiceMapper; import com.gszc.service.IInvoiceService; import org.apache.ibatis.session.RowBounds; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.UUID; /** *

* 服务实现类 *

* * @author ky * @since 2020-04-27 */ @Service @Transactional public class InvoiceServiceImpl extends ServiceImpl implements IInvoiceService { @Autowired InvoiceMapper invoiceMapper; @Autowired InvoiceHeaderMapper invoiceHeaderMapper; @Autowired CustomServiceImpl customService; public void addInvoice(Invoice invoice){ String uuid = UUID.randomUUID().toString(); invoice.setId(uuid); invoice.setCreateDate(new Date()); invoice.setModifyDate(new Date()); invoiceMapper.insert(invoice); } public List invoiceList(String userId){ List list = new ArrayList<>(); List customs = customService.customList(userId); for(Custom custom:customs){ List invoiceList = invoiceMapper.selectList(new EntityWrapper().eq("custom_id", custom.getId())); if(invoiceList.size()>0){ list.addAll(invoiceList); } } return list; } public JSONObject invoiceDetail(String invoiceId){ JSONObject jsonObject = new JSONObject(); Invoice invoice = invoiceMapper.selectById(invoiceId); InvoiceHeader invoiceHeader = invoiceHeaderMapper.selectById(invoice.getInvoiceHeaderId()); jsonObject.put("invoice",invoice); jsonObject.put("invoiceHeader",invoiceHeader); return jsonObject; } public List invoiceHeaderList(String userId){ List invoiceHeaderList = invoiceHeaderMapper.selectList(new EntityWrapper().eq("mini_user_id", userId)); return invoiceHeaderList; } public void addInvoiceHeader(InvoiceHeader invoiceHeader){ String uuid = UUID.randomUUID().toString(); invoiceHeader.setId(uuid); invoiceHeader.setCreateDate(new Date()); invoiceHeader.setModifyDate(new Date()); invoiceHeaderMapper.insert(invoiceHeader); } public void updateInvoiceHeader(InvoiceHeader invoiceHeader){ invoiceHeader.setModifyDate(new Date()); invoiceHeaderMapper.updateById(invoiceHeader); } public void deleteInvoiceHeader(String invoiceHeaderId){ invoiceHeaderMapper.deleteById(invoiceHeaderId); } public InvoiceHeader invoiceHeaderDetail(String invoiceHeaderId){ InvoiceHeader invoiceHeader = invoiceHeaderMapper.selectById(invoiceHeaderId); return invoiceHeader; } public List pcDisableInvoiceList(Integer pageNum,Integer pageSize){ List invoiceList = invoiceMapper.selectPage(new RowBounds((pageNum-1)*pageSize,pageSize),new EntityWrapper().eq("status_code", "disable").orderBy("create_date",false)); return invoiceList; } public List pcEnableInvoiceList(Integer pageNum,Integer pageSize){ List invoiceList = invoiceMapper.selectPage(new RowBounds((pageNum-1)*pageSize,pageSize),new EntityWrapper().eq("status_code", "enable").orderBy("create_date",false)); return invoiceList; } public void invoiceConfirm(String invoiceId,String trackingCompany,String trackingCode,String trackingImg){ Invoice invoice = new Invoice(); invoice.setId(invoiceId); invoice.setStatusCode("enable"); invoice.setModifyDate(new Date()); invoice.setTrackingCompany(trackingCompany); invoice.setTrackingCode(trackingCode); invoice.setTrackingImg(trackingImg); invoiceMapper.updateById(invoice); } }