diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillSettleController.java b/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillSettleController.java index 7c78f09eb..fba4b6dd5 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillSettleController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillSettleController.java @@ -6,6 +6,7 @@ import com.iformall.common.ResultData; import com.iformall.controller.base.BaseController; import com.iformall.domain.po.BaseEntity; import com.iformall.domain.po.WxBillSettle; +import com.iformall.domain.po.WxBillSettleRecord; import com.iformall.service.WxBillSettleRecordService; import com.iformall.service.WxBillSettleService; import io.swagger.annotations.ApiImplicitParam; @@ -57,6 +58,15 @@ public class WxBillSettleController extends BaseController { return wxBillSettleService.saveOrUpdate(wxBillSettle,getUser()); } + @PostMapping("settle") + @ApiOperation("账单管理-结算单-结算") + @SystemControllerLog(description = "账单管理-结算单-结算") + public ResultData settle(@RequestBody WxBillSettleRecord wxBillSettleRecord) { + logger.debug("[" + getIpAddr() + "] WxBillSettleController::settle"); + wxBillSettleRecord.setTenantId(getTenantId()); + return wxBillSettleRecordService.saveOrUpdate(wxBillSettleRecord,getUser()); + } + @GetMapping("exportSettle") @SystemControllerLog(description = "账单管理-结算单-导出") public void exportBill(@ModelAttribute WxBillSettle wxBillSettle, HttpServletRequest request, HttpServletResponse response) { diff --git a/mallinkAdmin/src/main/resources/db/migration/V201908291938__L_CONTRACT.sql b/mallinkAdmin/src/main/resources/db/migration/V201908291938__L_CONTRACT.sql new file mode 100644 index 000000000..87767988b --- /dev/null +++ b/mallinkAdmin/src/main/resources/db/migration/V201908291938__L_CONTRACT.sql @@ -0,0 +1,2 @@ +alter table wx_bill_rent +add column `bus_discount_ratio` varchar(500) NULL DEFAULT NULL COMMENT '联营扣点率'; \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxBillRent.java b/mallinkService/src/main/java/com/iformall/domain/po/WxBillRent.java index 08e7d8bd8..617fe4334 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxBillRent.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxBillRent.java @@ -193,4 +193,5 @@ public class WxBillRent extends BaseEntity { @Transient private String latePayMoneyUpdate; + private String busDiscountRatio; } diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/RatioVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/RatioVo.java index a0e73aba7..493e63c9e 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/RatioVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/RatioVo.java @@ -8,4 +8,6 @@ public class RatioVo { private Integer ratio = 0; //金额 private Long price = 0l; + + private String useRatio = ""; } diff --git a/mallinkService/src/main/java/com/iformall/service/WxBillSettleRecordService.java b/mallinkService/src/main/java/com/iformall/service/WxBillSettleRecordService.java index ce0d11ab6..f87d05a1a 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxBillSettleRecordService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxBillSettleRecordService.java @@ -2,6 +2,7 @@ package com.iformall.service; import com.github.pagehelper.PageInfo; import com.iformall.common.ResultData; +import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.WxBillSettleRecord; /** @@ -17,12 +18,11 @@ public interface WxBillSettleRecordService { */ PageInfo listAsPage(WxBillSettleRecord record, Integer pageIndex, Integer pageSize); - /** * 保存或更新实体 * * @param record */ - ResultData saveOrUpdate(WxBillSettleRecord record); + ResultData saveOrUpdate(WxBillSettleRecord record,MallUserInfo mallUserInfo); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java index 95aa005c7..9c3237b05 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java @@ -321,7 +321,7 @@ public class WxBillRentServiceImpl implements WxBillRentService { long newReceivePay; if(ratioVo != null){ newReceivePay = ratioVo.getPrice(); - ratio = ratioVo.getRatio(); + //ratio = ratioVo.getRatio(); }else{ BigDecimal hundred = new BigDecimal(100); BigDecimal revenue = new BigDecimal(record.getRevenue() == null ? 0 : record.getRevenue()).divide(hundred); @@ -340,6 +340,7 @@ public class WxBillRentServiceImpl implements WxBillRentService { //如果在跳点区间中,修改扣点率 if(StringUtils.isNotBlank(wxRentContract.getBusDiscountRatio())){ + wxBillRent.setBusDiscountRatio(ratioVo.getUseRatio()); wxBillRent.setPayRatio(new Long(ratio)); } wxBillRentMapper.updateByPrimaryKeySelective(wxBillRent); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleRecordServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleRecordServiceImpl.java index a5393948f..96a3edd20 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleRecordServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleRecordServiceImpl.java @@ -2,6 +2,7 @@ package com.iformall.service.impl; import com.github.pagehelper.PageInfo; import com.iformall.common.ResultData; +import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.WxBillSettleRecord; import com.iformall.mapper.WxBillSettleRecordMapper; import com.iformall.service.WxBillSettleRecordService; @@ -24,7 +25,9 @@ public class WxBillSettleRecordServiceImpl implements WxBillSettleRecordService } @Override - public ResultData saveOrUpdate(WxBillSettleRecord record) { + public ResultData saveOrUpdate(WxBillSettleRecord record,MallUserInfo mallUserInfo) { + + return null; } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java index 062701cce..feb187c9c 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -280,6 +280,8 @@ public class WxRentContractServiceImpl implements WxRentContractService { } List ratioList = JSONArray.parseArray(busDiscountRatio, String.class); + ratioVo.setUseRatio("["); + for (int i = 0; i < ratioList.size(); i++) { BigDecimal revenue = new BigDecimal(revenueLong).divide(new BigDecimal(1000000)).setScale(4, RoundingMode.HALF_EVEN); String e = ratioList.get(i); @@ -314,6 +316,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { if (revenue.compareTo(start) >= 0 && revenue.compareTo(end)<= 0){ ratioVo.setRatio(ratio); ratioVo.setPrice(countPrice(ratioVo.getRatio(),revenueLong,timeType,period,from)); + ratioVo.setUseRatio(ratioVo.getUseRatio()+e+","); break; } }else if(e.indexOf(">") >= 0){ @@ -340,6 +343,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { if (revenue.compareTo(end) >= 0){ ratioVo.setRatio(ratio); + ratioVo.setUseRatio(ratioVo.getUseRatio()+e+","); //计算超出部分 BigDecimal payRatio = new BigDecimal(ratio).divide(new BigDecimal(10000)); @@ -365,10 +369,11 @@ public class WxRentContractServiceImpl implements WxRentContractService { BigDecimal frontPrice = frontEnd.multiply(new BigDecimal(1000000).multiply(frontRatio).setScale(2, RoundingMode.HALF_EVEN)); ratioVo.setPrice(price.add(frontPrice).longValue()); - return ratioVo; + break; } } } + ratioVo.setUseRatio(ratioVo.getUseRatio().substring(0,ratioVo.getUseRatio().lastIndexOf(","))+"]"); return ratioVo; } diff --git a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml index 18d1bf7ae..34572f470 100644 --- a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml @@ -39,7 +39,7 @@ - + @@ -50,7 +50,7 @@ `createtime`,`expired_day`,`tenant_id`,`owe`,`status`,`is_del`,`need_pay`, `merchant_id`,`user_id`,`shop_id`,`updatetime`,`rent_shop_type`, `revenue`,`late_pay_ratio`,`late_pay_time`,`late_pay_price`,`period`,`is_preview`,`shop_info`, - `pay_way`,`late_pay_status`,`comments`,starttime,endtime + `pay_way`,`late_pay_status`,`comments`,starttime,endtime,bus_discount_ratio