|
|
|
@@ -8,6 +8,7 @@ import com.iformall.common.IdWorker; |
|
|
|
import com.iformall.common.Result; |
|
|
|
import com.iformall.common.ResultData; |
|
|
|
import com.iformall.domain.po.*; |
|
|
|
import com.iformall.domain.po.base.TenantEntity; |
|
|
|
import com.iformall.domain.vo.WxBillDailyExportVo; |
|
|
|
import com.iformall.domain.vo.WxBillDailyVo; |
|
|
|
import com.iformall.enums.*; |
|
|
|
@@ -19,8 +20,11 @@ import com.iformall.mapper.WxShopMapper; |
|
|
|
import com.iformall.service.ExcelService; |
|
|
|
import com.iformall.service.WxBillActionService; |
|
|
|
import com.iformall.service.WxBillDailyService; |
|
|
|
import com.iformall.service.WxMerchantService; |
|
|
|
import com.iformall.service.WxPayAccountBillService; |
|
|
|
import com.iformall.utils.DateUtils; |
|
|
|
|
|
|
|
import org.apache.commons.collections.CollectionUtils; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.slf4j.Logger; |
|
|
|
import org.slf4j.LoggerFactory; |
|
|
|
@@ -59,21 +63,72 @@ public class WxBillDailyServiceImpl implements WxBillDailyService { |
|
|
|
WxMerchantMapper wxMerchantMapper; |
|
|
|
@Autowired |
|
|
|
WxPayAccountBillService wxPayAccountBillService; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
WxMerchantService wxMerchantService; |
|
|
|
|
|
|
|
@Override |
|
|
|
public PageInfo<WxBillDaily> listAsPage(WxBillDaily record, Integer pageIndex, Integer pageSize) { |
|
|
|
WxPayAccountBill wxPayAccountBill = wxPayAccountBillService.getByTenantInfo(record); |
|
|
|
//分页对象设置页数和条数 |
|
|
|
PageHelper.startPage(pageIndex, pageSize); |
|
|
|
//查询 |
|
|
|
List<WxBillDaily> billDepositList = wxBillDailyMapper.queryBillDailyList(record); |
|
|
|
billDepositList.stream().forEach(e->{ |
|
|
|
//手续费 = 合同应收+手续费+滞纳金 |
|
|
|
computeTotalMoney(wxPayAccountBill, e); |
|
|
|
}); |
|
|
|
//结果放入分页对象 |
|
|
|
PageInfo<WxBillDaily> pageInfo = new PageInfo<>(billDepositList); |
|
|
|
return pageInfo; |
|
|
|
return getBillRentPropertyList(pageIndex, pageSize, record, wxPayAccountBill); |
|
|
|
} |
|
|
|
|
|
|
|
private PageInfo<WxBillDaily> getBillRentPropertyList(Integer pageIndex, Integer pageSize,WxBillDaily record,WxPayAccountBill wxPayAccountBill) { |
|
|
|
if (null != record.getFloorForRule()) { |
|
|
|
List<Long> merchantIds = wxMerchantService.getFloorBuildMerchantIds(record, record.getFloorForRule(), null, null, 0, 0); |
|
|
|
if (null != merchantIds) { |
|
|
|
record.setMerchantIds(merchantIds); |
|
|
|
}else { |
|
|
|
record.setId(-1L); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if (StringUtils.isNotBlank(record.getMerchantName())) { |
|
|
|
WxMerchant mq = new WxMerchant(); |
|
|
|
mq.updateTenantInfo(record); |
|
|
|
mq.setName(StringUtils.trimToNull(record.getMerchantName())); |
|
|
|
List<Long> mids = wxMerchantService.findIdList(mq); |
|
|
|
if (null != mids && mids.size() > 0 ) { |
|
|
|
if (null != record.getMerchantIds()) { |
|
|
|
List<Long> _mids = (List<Long>) CollectionUtils.intersection(mids, record.getMerchantIds()); |
|
|
|
if (null == _mids || _mids.size() <= 0) { |
|
|
|
record.setId(-1L); |
|
|
|
}else { |
|
|
|
record.setMerchantIds(_mids); |
|
|
|
} |
|
|
|
}else { |
|
|
|
record.setMerchantIds(mids); |
|
|
|
} |
|
|
|
}else { |
|
|
|
record.setId(-1L); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
PageInfo<WxBillDaily> page = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxBillDailyMapper.queryBillDailyList(record)); |
|
|
|
if (null == page) { |
|
|
|
return null; |
|
|
|
} |
|
|
|
|
|
|
|
WxMerchant wq = new WxMerchant(); |
|
|
|
wq.updateTenantInfo(record); |
|
|
|
Map<Long,WxMerchant> merchantMap = wxMerchantService.findMerchantMap(wq); |
|
|
|
|
|
|
|
if (null != page.getList()) { |
|
|
|
for (int i = 0 ; i < page.getList().size() ; i ++) { |
|
|
|
WxBillDaily e = page.getList().get(i); |
|
|
|
//手续费 = 合同应收+手续费+滞纳金 |
|
|
|
computeTotalMoney(wxPayAccountBill, e); |
|
|
|
|
|
|
|
if (null != e.getMerchantId()) { |
|
|
|
WxMerchant m = merchantMap.get(e.getMerchantId()); |
|
|
|
if (null != m ) { |
|
|
|
e.setMerchantName(m.getName()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
return page; |
|
|
|
} |
|
|
|
|
|
|
|
public void computeTotalMoney(WxPayAccountBill wxPayAccountBill, WxBillDaily e) { |
|
|
|
@@ -141,12 +196,12 @@ public class WxBillDailyServiceImpl implements WxBillDailyService { |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public WxBillDaily getById(Long id) { |
|
|
|
public WxBillDaily getById(TenantEntity tenantEntity,Long id) { |
|
|
|
WxPayAccountBill wxPayAccountBill = wxPayAccountBillService.getByTenantInfo(tenantEntity); |
|
|
|
WxBillDaily record = new WxBillDaily(); |
|
|
|
record.setId(id); |
|
|
|
WxBillDaily wxBillDaily = wxBillDailyMapper.queryBillDailyList(record).get(0); |
|
|
|
WxPayAccountBill wxPayAccountBill = wxPayAccountBillService.getByTenantInfo(wxBillDaily); |
|
|
|
computeTotalMoney(wxPayAccountBill, wxBillDaily); |
|
|
|
record.updateTenantInfo(tenantEntity); |
|
|
|
WxBillDaily wxBillDaily = getBillRentPropertyList(1, 1, record, wxPayAccountBill).getList().get(0); |
|
|
|
wxBillDaily.setOwe(wxBillDaily.getRealReceivePay() - wxBillDaily.getPay()); |
|
|
|
wxBillDaily.setMerchant(wxMerchantMapper.selectById(wxBillDaily.getMerchantId())); |
|
|
|
// if (wxBillDaily.getShopId() != null) { |
|
|
|
@@ -371,28 +426,27 @@ public class WxBillDailyServiceImpl implements WxBillDailyService { |
|
|
|
@Override |
|
|
|
public void exportBill(HttpServletRequest request, HttpServletResponse response, WxBillDaily record) { |
|
|
|
WxPayAccountBill wxPayAccountBill = wxPayAccountBillService.getByTenantInfo(record); |
|
|
|
List<WxBillDaily> billDailyList = wxBillDailyMapper.queryBillDailyList(record); |
|
|
|
billDailyList.stream().forEach(e->{ |
|
|
|
//手续费 = 合同应收+手续费+滞纳金 |
|
|
|
computeTotalMoney(wxPayAccountBill, e); |
|
|
|
}); |
|
|
|
PageInfo<WxBillDaily> billDailyList = getBillRentPropertyList(1, 10000, record, wxPayAccountBill); |
|
|
|
List<WxBillDailyExportVo> datalist = new ArrayList<>(); |
|
|
|
WxBillDailyExportVo wxBillDailyExportVo; |
|
|
|
for (int i = 0, size = billDailyList.size(); i < size; i++) { |
|
|
|
WxBillDaily b = billDailyList.get(i); |
|
|
|
wxBillDailyExportVo = new WxBillDailyExportVo(); |
|
|
|
wxBillDailyExportVo.setShopNumber(b.getShopName()); |
|
|
|
wxBillDailyExportVo.setMerchantName(b.getMerchantName()); |
|
|
|
wxBillDailyExportVo.setReceivePay(b.getRealReceivePay()); |
|
|
|
wxBillDailyExportVo.setPay(b.getPay()); |
|
|
|
wxBillDailyExportVo.setOwe(b.getOwe()); |
|
|
|
wxBillDailyExportVo.setReceiveDate(b.getReceiveDate()); |
|
|
|
wxBillDailyExportVo.setPayDate(b.getPayDate()); |
|
|
|
wxBillDailyExportVo.setExpiredDay(b.getExpiredDay()); |
|
|
|
wxBillDailyExportVo.setStatus(b.getStatus()); |
|
|
|
wxBillDailyExportVo.setType(b.getType()); |
|
|
|
datalist.add(wxBillDailyExportVo); |
|
|
|
if (null != billDailyList && null != billDailyList.getList()) { |
|
|
|
WxBillDailyExportVo wxBillDailyExportVo; |
|
|
|
for (int i = 0, size = billDailyList.getList().size(); i < size; i++) { |
|
|
|
WxBillDaily b = billDailyList.getList().get(i); |
|
|
|
wxBillDailyExportVo = new WxBillDailyExportVo(); |
|
|
|
wxBillDailyExportVo.setShopNumber(b.getShopName()); |
|
|
|
wxBillDailyExportVo.setMerchantName(b.getMerchantName()); |
|
|
|
wxBillDailyExportVo.setReceivePay(b.getRealReceivePay()); |
|
|
|
wxBillDailyExportVo.setPay(b.getPay()); |
|
|
|
wxBillDailyExportVo.setOwe(b.getOwe()); |
|
|
|
wxBillDailyExportVo.setReceiveDate(b.getReceiveDate()); |
|
|
|
wxBillDailyExportVo.setPayDate(b.getPayDate()); |
|
|
|
wxBillDailyExportVo.setExpiredDay(b.getExpiredDay()); |
|
|
|
wxBillDailyExportVo.setStatus(b.getStatus()); |
|
|
|
wxBillDailyExportVo.setType(b.getType()); |
|
|
|
datalist.add(wxBillDailyExportVo); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
excelService.exportExcel(datalist, null, "日常费用账单", WxBillDailyExportVo.class, "日常费用账单.xlsx", response, false); |
|
|
|
} |
|
|
|
|
|
|
|
|