package me.zhengjie.dao.mybatis; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.RequiredArgsConstructor; import me.zhengjie.dao.mybatis.entity.OrderFileEntity; import me.zhengjie.dao.mybatis.mapper.OrderFileMapper; import me.zhengjie.domain.order.OrderConstant; import me.zhengjie.domain.order.OrderFileConstant; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; import java.util.List; @RequiredArgsConstructor @Component public class OrderFileRepository { final OrderFileMapper orderFileMapper; /** * 获取指定订单指定类型的公证文书列表 * * @param businessNo * @param codes * @return */ public List getOrderFileListWithCodes(String businessNo, String[] codes) { QueryWrapper qw = new QueryWrapper<>(); qw.eq("business_no", businessNo); qw.in("code", codes); qw.orderByAsc("sort_num"); return orderFileMapper.selectList(qw); } /** * 获取指定订单指定类型的公证文书 * * @param businessNo * @param code * @return */ public OrderFileEntity getOrderFileWithCode(String businessNo, String code) { String[] codes = {code}; List orderFileList = getOrderFileListWithCodes(businessNo, codes); if (orderFileList != null && orderFileList.size() > 0) { return orderFileList.get(0); } return null; } /** * 获取指定订单指定产品的公证书 * * @param businessNo * @return */ public OrderFileEntity getOrderNotarization(String businessNo) { return getOrderFileWithCode(businessNo, OrderFileConstant.TYPE_CODE_NOTARIZATION); } /** * 获取指定订单指定产品面谈笔录 * * @param businessNo * @return */ public OrderFileEntity getOrderNote(String businessNo) { return getOrderFileWithCode(businessNo, OrderFileConstant.TYPE_CODE_NOTE); } /** * 获取已签名面谈笔录列表 * * @param bizNoList * @return */ public List getOrderNoteList(List bizNoList) { QueryWrapper qw = new QueryWrapper<>(); qw.in("business_no", bizNoList); qw.eq("code", OrderFileConstant.TYPE_CODE_NOTE); qw.isNotNull("signed_pdf_url"); return orderFileMapper.selectList(qw); } /** * 获取指定订单可以签名的公证书列表 * * @param bizNoList * @return */ public List canBeSignedNotarization(List bizNoList) { QueryWrapper qw = new QueryWrapper<>(); qw.in("business_no", bizNoList); qw.in("code", OrderFileConstant.TYPE_CODE_NOTARIZATION); qw.isNotNull("doc_no"); return orderFileMapper.selectList(qw); } /** * 删除订单的公证文书 * * @param businessNO */ public void delFileWithBizNO(String businessNO) { QueryWrapper qw = new QueryWrapper<>(); qw.eq("business_no", businessNO); orderFileMapper.delete(qw); } }