Przeglądaj źródła

Merge branch 'develop' of https://git.youlane.cn/server/formallProject into develop

release_toaliyun_real
Burce 6 lat temu
rodzic
commit
15bb90ab85
5 zmienionych plików z 32 dodań i 19 usunięć
  1. +1
    -0
      mallinkAdmin/src/main/resources/db/migration/V201908281030__G_USER_DATA_RULE.sql
  2. +1
    -1
      mallinkService/src/main/java/com/iformall/domain/vo/RatioVo.java
  3. +3
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/WxBillAllVo.java
  4. +18
    -10
      mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java
  5. +9
    -8
      mallinkService/src/main/resources/mapper/WxBillAllMapper.xml

+ 1
- 0
mallinkAdmin/src/main/resources/db/migration/V201908281030__G_USER_DATA_RULE.sql Wyświetl plik

@@ -0,0 +1 @@
alter table wx_user_data_rule add unique uni_user(user_id);

+ 1
- 1
mallinkService/src/main/java/com/iformall/domain/vo/RatioVo.java Wyświetl plik

@@ -7,5 +7,5 @@ public class RatioVo {
//扣点率
private Integer ratio = 0;
//金额
private Long price;
private Long price = 0l;
}

+ 3
- 0
mallinkService/src/main/java/com/iformall/domain/vo/WxBillAllVo.java Wyświetl plik

@@ -71,6 +71,9 @@ public class WxBillAllVo {
@io.swagger.annotations.ApiModelProperty(value = "明细", name = "priceDetail")
private String priceDetail;

@io.swagger.annotations.ApiModelProperty(value = "更新时间", name = "updatetime")
private Date updatetime;

public String getReceivePayStr() {
if(getReceivePay()!=null) {
receivePayStr = new BigDecimal(getReceivePay()).divide(new BigDecimal(100)).toString();


+ 18
- 10
mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java Wyświetl plik

@@ -9,6 +9,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.vo.RatioVo;
import com.iformall.enums.*;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.*;
@@ -291,6 +292,7 @@ public class WxBillRentServiceImpl implements WxBillRentService {
wxBillRent.setRevenue(record.getRevenue());

Integer ratio = 0;
RatioVo ratioVo = null;
if(wxRentContract.getPayRatio() != null && wxRentContract.getPayRatio().intValue() > 0){
ratio = wxRentContract.getPayRatio();
}else{
@@ -299,28 +301,34 @@ public class WxBillRentServiceImpl implements WxBillRentService {
if(EnumBusRatioTime.YEAR.getCode().equals(wxRentContract.getBusDiscountTime())){
if(startInt == endInt && months == 12){
//刚好1年
ratio = WxRentContractServiceImpl.getPayRatio(EnumGetRatioFrom.BILL.getCode(),wxBillRent.getRevenue(),wxRentContract.getBusDiscountRatio(),EnumMissTimeType.OTHER.getCode(),dayCount,0).getRatio();
ratioVo = WxRentContractServiceImpl.getPayRatio(EnumGetRatioFrom.BILL.getCode(),wxBillRent.getRevenue(),wxRentContract.getBusDiscountRatio(),EnumMissTimeType.OTHER.getCode(),dayCount,0);
}else{
ratio = WxRentContractServiceImpl.getPayRatio(EnumGetRatioFrom.BILL.getCode(),wxBillRent.getRevenue(),wxRentContract.getBusDiscountRatio(),EnumMissTimeType.YEAR.getCode(),dayCount,0).getRatio();
ratioVo = WxRentContractServiceImpl.getPayRatio(EnumGetRatioFrom.BILL.getCode(),wxBillRent.getRevenue(),wxRentContract.getBusDiscountRatio(),EnumMissTimeType.YEAR.getCode(),dayCount,0);
}
}else if(EnumBusRatioTime.MONTH.getCode().equals(wxRentContract.getBusDiscountTime())){
if(startInt == endInt && months == 1){
//刚好1个月
ratio = WxRentContractServiceImpl.getPayRatio(EnumGetRatioFrom.BILL.getCode(),wxBillRent.getRevenue(),wxRentContract.getBusDiscountRatio(),EnumMissTimeType.OTHER.getCode(),dayCount,0).getRatio();
ratioVo = WxRentContractServiceImpl.getPayRatio(EnumGetRatioFrom.BILL.getCode(),wxBillRent.getRevenue(),wxRentContract.getBusDiscountRatio(),EnumMissTimeType.OTHER.getCode(),dayCount,0);
}else{
ratio = WxRentContractServiceImpl.getPayRatio(EnumGetRatioFrom.BILL.getCode(),wxBillRent.getRevenue(),wxRentContract.getBusDiscountRatio(),EnumMissTimeType.MONTH.getCode(),dayCount,0).getRatio();
ratioVo = WxRentContractServiceImpl.getPayRatio(EnumGetRatioFrom.BILL.getCode(),wxBillRent.getRevenue(),wxRentContract.getBusDiscountRatio(),EnumMissTimeType.MONTH.getCode(),dayCount,0);
}
}else if(EnumBusRatioTime.PERIOD.getCode().equals(wxRentContract.getBusDiscountTime())){
ratio = WxRentContractServiceImpl.getPayRatio(EnumGetRatioFrom.BILL.getCode(),wxBillRent.getRevenue(),wxRentContract.getBusDiscountRatio(),EnumMissTimeType.PERIOD.getCode(),dayCount,wxRentContract.getReceivePeriod()).getRatio();
ratioVo = WxRentContractServiceImpl.getPayRatio(EnumGetRatioFrom.BILL.getCode(),wxBillRent.getRevenue(),wxRentContract.getBusDiscountRatio(),EnumMissTimeType.PERIOD.getCode(),dayCount,wxRentContract.getReceivePeriod());
}
}
}

BigDecimal hundred = new BigDecimal(100);
BigDecimal revenue = new BigDecimal(record.getRevenue() == null ? 0 : record.getRevenue()).divide(hundred);
BigDecimal payRatio = new BigDecimal(ratio).divide(new BigDecimal(10000));
BigDecimal price = revenue.multiply(payRatio).setScale(2, RoundingMode.HALF_EVEN);
long newReceivePay = price.multiply(hundred).longValue();
long newReceivePay;
if(ratioVo != null){
newReceivePay = ratioVo.getPrice();
}else{
BigDecimal hundred = new BigDecimal(100);
BigDecimal revenue = new BigDecimal(record.getRevenue() == null ? 0 : record.getRevenue()).divide(hundred);
BigDecimal payRatio = new BigDecimal(ratio).divide(new BigDecimal(10000));
BigDecimal price = revenue.multiply(payRatio).setScale(2, RoundingMode.HALF_EVEN);
newReceivePay = price.multiply(hundred).longValue();
}

if(newReceivePay > wxBillRent.getReceivePay()){
wxBillRent.setReceivePay(newReceivePay);
}


+ 9
- 8
mallinkService/src/main/resources/mapper/WxBillAllMapper.xml Wyświetl plik

@@ -37,6 +37,7 @@
<result column="comments" property="comments"/>
<result column="price_detail" property="priceDetail"/>
<result column="updatetime" jdbcType="TIMESTAMP" property="updatetime"/>
</resultMap>
@@ -52,46 +53,46 @@
bill.pay_date payDate,expired_day expiredDay,bill.status,bill.starttime,
bill.endtime,bill.name,bill.rent_shop_type rentShopType,m.name merchantName,
s.shop_number shopNumber, s.manager, s.manager_phone managerPhone,bill.shop_info
shopInfo,bill.comments,bill.price_detail
shopInfo,bill.comments,bill.price_detail,updatetime
from (
select id,merchant_id,shop_id,tenant_id,'租金' name,1 bill_type_value,'租金'
bill_type,need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status,'' starttime,''
endtime,rent_shop_type,case when shop_info is null then '[]' else shop_info end shop_info,comments,''
price_detail
price_detail,updatetime
from wx_bill_rent where tenant_id=#{tenantId} and is_preview = 0
union all
select id,merchant_id,shop_id,tenant_id,'租赁押金' name,2 bill_type_value,'租赁押金'
bill_type,need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status,'' starttime,''
endtime,rent_shop_type,shop_info,NULL comments,'' price_detail from wx_bill_rent_deposit where
endtime,rent_shop_type,shop_info,NULL comments,'' price_detail,updatetime from wx_bill_rent_deposit where
tenant_id=#{tenantId}
union all
select id,merchant_id,shop_id,tenant_id,'物业费' name,3 bill_type_value,'物业费'
bill_type,need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status,'' starttime,''
endtime,rent_shop_type,case when shop_info is null then '[]' else shop_info end shop_info,comments,''
price_detail
price_detail,updatetime
from wx_bill_property where tenant_id=#{tenantId} and is_preview = 0
union all
select id,merchant_id,shop_id,tenant_id,'物业押金' name,4 bill_type_value,'物业押金'
bill_type,need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status,'' starttime,''
endtime,rent_shop_type,shop_info,NULL comments,'' price_detail from wx_bill_property_deposit where
endtime,rent_shop_type,shop_info,NULL comments,'' price_detail,updatetime from wx_bill_property_deposit where
tenant_id=#{tenantId}
union all
select id,merchant_id,shop_id,tenant_id,case when type=1 then '水费' when type=2 then '电费' else '空调费' end name,
case when type=1 then 5 when type=2 then 6 else 9 end bill_type_value,
case when type=1 then '水费' when type=2 then '电费' else '空调费' end bill_type,0 as
need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status,starttime,endtime,
rent_shop_type,'[]' shop_info, NULL comments,price_detail
rent_shop_type,'[]' shop_info, NULL comments,price_detail,updatetime
from wx_bill_daily where tenant_id=#{tenantId}
union all
select id,merchant_id,shop_id,tenant_id,name,7 bill_type_value,concat('其他费用-',name) as bill_type,0 as
need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status,'' starttime,'' endtime,
rent_shop_type,'[]' shop_info,comments,'' price_detail
rent_shop_type,'[]' shop_info,comments,'' price_detail,updatetime
from wx_bill_other where tenant_id=#{tenantId}
union all
select id,merchant_id,shop_id,tenant_id,comments as name,8 bill_type_value,concat('其他押金-',comments) as
bill_type,0 as
need_pay,receive_pay,pay,owe,receive_date,pay_date,expired_day,status,'' starttime,'' endtime,
rent_shop_type,'[]' shop_info,comments,'' price_detail
rent_shop_type,'[]' shop_info,comments,'' price_detail,updatetime
from wx_bill_other_deposit where tenant_id=#{tenantId}
) bill
left join wx_merchant m on bill.merchant_id=m.id


Ładowanie…
Anuluj
Zapisz