Просмотр исходного кода

[合同][修改][开发账单结算]

release_toaliyun_real
luozukai 6 лет назад
Родитель
Сommit
6ce01ffeab
9 измененных файлов: 31 добавлений и 7 удалений
  1. +10
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillSettleController.java
  2. +2
    -0
      mallinkAdmin/src/main/resources/db/migration/V201908291938__L_CONTRACT.sql
  3. +1
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxBillRent.java
  4. +2
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/RatioVo.java
  5. +2
    -2
      mallinkService/src/main/java/com/iformall/service/WxBillSettleRecordService.java
  6. +2
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java
  7. +4
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleRecordServiceImpl.java
  8. +6
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java
  9. +2
    -2
      mallinkService/src/main/resources/mapper/WxBillRentMapper.xml

+ 10
- 0
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) {


+ 2
- 0
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 '联营扣点率';

+ 1
- 0
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;
}

+ 2
- 0
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 = "";
}

+ 2
- 2
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<WxBillSettleRecord> listAsPage(WxBillSettleRecord record, Integer pageIndex, Integer pageSize);


/**
* 保存或更新实体
*
* @param record
*/
ResultData saveOrUpdate(WxBillSettleRecord record);
ResultData saveOrUpdate(WxBillSettleRecord record,MallUserInfo mallUserInfo);

}

+ 2
- 1
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);


+ 4
- 1
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;
}
}

+ 6
- 1
mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java Просмотреть файл

@@ -280,6 +280,8 @@ public class WxRentContractServiceImpl implements WxRentContractService {
}
List<String> 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;
}



+ 2
- 2
mallinkService/src/main/resources/mapper/WxBillRentMapper.xml Просмотреть файл

@@ -39,7 +39,7 @@
<result column="rent_type" property="rentType"/>
<result column="all_period" property="allPeriod"/>
<result column="pay_ratio" property="payRatio"/>
<result column="bus_discount_ratio" property="busDiscountRatio"/>

<result column="late_pay_day" property="latePayDay"/>
<result column="late_pay_ratio" property="latePayRatio"/>
@@ -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
</sql>

<sql id="dynamicWhereConditions">


Загрузка…
Отмена
Сохранить