winter пре 2 година
родитељ
комит
160cc04d78
5 измењених фајлова са 116 додато и 43 уклоњено
  1. +12
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillDailyController.java
  2. +3
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxBillDaily.java
  3. +2
    -1
      mallinkService/src/main/java/com/iformall/service/WxBillDailyService.java
  4. +89
    -35
      mallinkService/src/main/java/com/iformall/service/impl/WxBillDailyServiceImpl.java
  5. +10
    -6
      mallinkService/src/main/resources/mapper/WxBillDailyMapper.xml

+ 12
- 1
mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillDailyController.java Прегледај датотеку

@@ -10,6 +10,7 @@ import com.iformall.controller.base.BaseController;
import com.iformall.controller.mem.BillDailyAsyncTask;
import com.iformall.domain.po.MallUserInfo;
import com.iformall.domain.po.WxBillDaily;
import com.iformall.domain.po.WxUserDataRule;
import com.iformall.enums.EnumBillDailyBuildWay;
import com.iformall.exception.MallinkException;
import com.iformall.service.WxBillDailyService;
@@ -65,6 +66,11 @@ public class WxBillDailyController extends BaseController {
wxBillDaily = new WxBillDaily();
}
wxBillDaily.updateTenantInfo(getTenantInfo());
WxUserDataRule dataRule = this.getCurrentDataFloors();
if (null != dataRule) {
wxBillDaily.setFloorForRule(dataRule.getFloorForRule());
wxBillDaily.setBusinessForRule(dataRule.getBusinessForRule());
}
final PageInfo<WxBillDaily> page = wxBillDailyService.listAsPage(wxBillDaily, pageNum, pageSize);
return new ResultData(page);
}
@@ -104,7 +110,7 @@ public class WxBillDailyController extends BaseController {
@SystemControllerLog(description = "日常账单-id查找")
public ResultData findById(Long id) {
logger.debug("[" + getIpAddr() + "] WxBillDailyController::findById");
return new ResultData(Result.SUCCESS, "查询成功", wxBillDailyService.getById(id));
return new ResultData(Result.SUCCESS, "查询成功", wxBillDailyService.getById(this.getTenantInfo(),id));
}

@GetMapping("/updatePaid")
@@ -246,6 +252,11 @@ public class WxBillDailyController extends BaseController {
@SystemControllerLog(description = "日常费用账单-导出")
public void exportBill(@ModelAttribute WxBillDaily wxBillDaily, HttpServletRequest request, HttpServletResponse response) {
wxBillDaily.updateTenantInfo(getTenantInfo());
WxUserDataRule dataRule = this.getCurrentDataFloors();
if (null != dataRule) {
wxBillDaily.setFloorForRule(dataRule.getFloorForRule());
wxBillDaily.setBusinessForRule(dataRule.getBusinessForRule());
}
wxBillDailyService.exportBill(request, response, wxBillDaily);
}



+ 3
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxBillDaily.java Прегледај датотеку

@@ -11,6 +11,7 @@ import lombok.ToString;

import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
* @author gongbiao
@@ -128,4 +129,6 @@ public class WxBillDaily extends TenantEntity {
private String serviceChargePayBefore;
@TableField(exist = false)
private String serviceChargePayUpdate;
@TableField(exist = false)
private List<Long> merchantIds;
}

+ 2
- 1
mallinkService/src/main/java/com/iformall/service/WxBillDailyService.java Прегледај датотеку

@@ -4,6 +4,7 @@ import com.github.pagehelper.PageInfo;
import com.iformall.common.ResultData;
import com.iformall.domain.po.MallUserInfo;
import com.iformall.domain.po.WxBillDaily;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.WxBillDailyVo;

import javax.servlet.http.HttpServletRequest;
@@ -32,7 +33,7 @@ public interface WxBillDailyService {
* @param id
* @return
*/
WxBillDaily getById(Long id);
WxBillDaily getById(TenantEntity tenantEntity,Long id);

/**
* 保存或更新实体


+ 89
- 35
mallinkService/src/main/java/com/iformall/service/impl/WxBillDailyServiceImpl.java Прегледај датотеку

@@ -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);
}



+ 10
- 6
mallinkService/src/main/resources/mapper/WxBillDailyMapper.xml Прегледај датотеку

@@ -83,15 +83,14 @@
<select id="queryBillDailyList" parameterType="com.iformall.domain.po.WxBillDaily" resultMap="BaseResultMap">
select br.`id`,br.`receive_pay`,br.`pay`,br.`receive_date`,br.`pay_date`,br.`createtime`,br.`expired_day` ,
case when br.status=1 then br.owe else 0 end owe,br.`status`,m.`name` merchant_name,
br.`updatetime`,br.`merchant_id`,br.shop_id,br.shop_name,br.type,br.`rent_shop_type`,br.pay_way,br.price_detail,
br.`starttime`,br.`endtime`,br.`build_way`,br.freeze,br.service_charge_pay,br.`apply_status`,br.`apply_pay_img`,br.`apply_update_time`
from wx_bill_daily br left join wx_merchant m on br.merchant_id=m.id
case when br.status=1 then br.owe else 0 end owe,br.`status`,br.`updatetime`,br.`merchant_id`,br.shop_id,
br.shop_name,br.type,br.`rent_shop_type`,br.pay_way,br.price_detail,br.`starttime`,br.`endtime`,br.`build_way`,
br.freeze,br.service_charge_pay,br.`apply_status`,br.`apply_pay_img`,br.`apply_update_time`
from wx_bill_daily br
<where>
<if test=" null != freeze ">and br.`freeze` = #{freeze}</if>
<if test=" null != id ">and br.`id` = #{id}</if>
<if test=" null != merchantId ">and br.`merchant_id` = #{merchantId}</if>
<if test=" null != merchantName and ''!=merchantName ">and m.`name` like concat('%',#{merchantName},'%')</if>
<if test=" null != status ">and br.`status` = #{status}</if>
<if test=" null != applyStatus ">and br.`apply_status` = #{applyStatus}</if>
<if test=" null != isDel ">and br.`is_del` = #{isDel}</if>
@@ -101,7 +100,12 @@
<if test=" null != starttime and null!=endtime ">and br.`receive_date` between #{starttime} and #{endtime}
</if>
<if test=" null != buildWay ">and br.`build_way` = #{buildWay}</if>
<if test=" null != merchantIds ">
and br.`merchant_id` in
<foreach collection="merchantIds" index="index" item="midItem" open="(" separator="," close=")">
#{midItem}
</foreach>
</if>
</where>



Loading…
Откажи
Сачувај