Bläddra i källkod

[合同][修改][开发联营跳点设置]

release_toaliyun_real
luozukai 6 år sedan
förälder
incheckning
6284d016e7
3 ändrade filer med 20 tillägg och 25 borttagningar
  1. +1
    -0
      mallinkService/src/main/java/com/iformall/enums/EnumMissTimeType.java
  2. +19
    -15
      mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java
  3. +0
    -10
      mallinkService/src/main/java/com/iformall/utils/DateUtils.java

+ 1
- 0
mallinkService/src/main/java/com/iformall/enums/EnumMissTimeType.java Visa fil

@@ -7,6 +7,7 @@ public enum EnumMissTimeType {


YEAR(1, "残年"), YEAR(1, "残年"),
MONTH(2, "残月"), MONTH(2, "残月"),
OTHER(3, "其他"),
; ;


public static EnumMissTimeType getEnum(Integer code) { public static EnumMissTimeType getEnum(Integer code) {


+ 19
- 15
mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java Visa fil

@@ -268,7 +268,7 @@ public class WxBillRentServiceImpl implements WxBillRentService {
* @param record * @param record
*/ */
public Integer getPayRatio(WxBillRent record,WxRentContract wxRentContract,EnumMissTimeType timeType){ public Integer getPayRatio(WxBillRent record,WxRentContract wxRentContract,EnumMissTimeType timeType){
if(wxRentContract.getPayRatio() != null){
if(wxRentContract.getPayRatio() != null && wxRentContract.getPayRatio().intValue() > 0){
return wxRentContract.getPayRatio(); return wxRentContract.getPayRatio();
} }
BigDecimal revenue = new BigDecimal(record.getRevenue()).divide(new BigDecimal(1000000)).setScale(4, RoundingMode.HALF_EVEN); BigDecimal revenue = new BigDecimal(record.getRevenue()).divide(new BigDecimal(1000000)).setScale(4, RoundingMode.HALF_EVEN);
@@ -286,11 +286,11 @@ public class WxBillRentServiceImpl implements WxBillRentService {


//残年 (小金额 / 365 * 账单周期天数 )--(大金额 / 365 * 账单周期天数) //残年 (小金额 / 365 * 账单周期天数 )--(大金额 / 365 * 账单周期天数)
if(EnumMissTimeType.YEAR.getCode().equals(timeType.getCode())){ if(EnumMissTimeType.YEAR.getCode().equals(timeType.getCode())){
start = new BigDecimal(revenueArray[0]).divide(new BigDecimal(365)).multiply(new BigDecimal(dayCount));
end = new BigDecimal(revenueArray[1]).divide(new BigDecimal(365)).multiply(new BigDecimal(dayCount));
start = new BigDecimal(revenueArray[0]).divide(new BigDecimal(365),10,BigDecimal.ROUND_HALF_DOWN).multiply(new BigDecimal(dayCount));
end = new BigDecimal(revenueArray[1]).divide(new BigDecimal(365),10,BigDecimal.ROUND_HALF_DOWN).multiply(new BigDecimal(dayCount));
}else if(EnumMissTimeType.MONTH.getCode().equals(timeType.getCode())){ }else if(EnumMissTimeType.MONTH.getCode().equals(timeType.getCode())){
start = new BigDecimal(revenueArray[0]).divide(new BigDecimal(30)).multiply(new BigDecimal(dayCount));
end = new BigDecimal(revenueArray[1]).divide(new BigDecimal(30)).multiply(new BigDecimal(dayCount));
start = new BigDecimal(revenueArray[0]).divide(new BigDecimal(30),10,BigDecimal.ROUND_HALF_DOWN).multiply(new BigDecimal(dayCount));
end = new BigDecimal(revenueArray[1]).divide(new BigDecimal(30),10,BigDecimal.ROUND_HALF_DOWN).multiply(new BigDecimal(dayCount));
} }
if (revenue.compareTo(start) >= 0 && revenue.compareTo(end)<= 0){ if (revenue.compareTo(start) >= 0 && revenue.compareTo(end)<= 0){
return ratio; return ratio;
@@ -301,9 +301,9 @@ public class WxBillRentServiceImpl implements WxBillRentService {


//残年 (小金额 / 365 * 账单周期天数 )--(大金额 / 365 * 账单周期天数) //残年 (小金额 / 365 * 账单周期天数 )--(大金额 / 365 * 账单周期天数)
if(EnumMissTimeType.YEAR.getCode().equals(timeType.getCode())){ if(EnumMissTimeType.YEAR.getCode().equals(timeType.getCode())){
end = new BigDecimal(revenueArray[1]).divide(new BigDecimal(365)).multiply(new BigDecimal(dayCount));
end = new BigDecimal(revenueArray[1]).divide(new BigDecimal(365),10,BigDecimal.ROUND_HALF_DOWN).multiply(new BigDecimal(dayCount));
}else if(EnumMissTimeType.MONTH.getCode().equals(timeType.getCode())){ }else if(EnumMissTimeType.MONTH.getCode().equals(timeType.getCode())){
end = new BigDecimal(revenueArray[1]).divide(new BigDecimal(30)).multiply(new BigDecimal(dayCount));
end = new BigDecimal(revenueArray[1]).divide(new BigDecimal(30),10,BigDecimal.ROUND_HALF_DOWN).multiply(new BigDecimal(dayCount));
} }
if (revenue.compareTo(end) >= 0){ if (revenue.compareTo(end) >= 0){
return ratio; return ratio;
@@ -313,32 +313,36 @@ public class WxBillRentServiceImpl implements WxBillRentService {
return 0; return 0;
} }



@Transactional(rollbackFor = {Exception.class}) @Transactional(rollbackFor = {Exception.class})
@Override @Override
public ResultData updateRevenue(WxBillRent record, MallUserInfo user) { public ResultData updateRevenue(WxBillRent record, MallUserInfo user) {
WxBillRent wxBillRent = wxBillRentMapper.selectByPrimaryKey(record.getId()); WxBillRent wxBillRent = wxBillRentMapper.selectByPrimaryKey(record.getId());
WxRentContract wxRentContract = wxRentContractMapper.selectByPrimaryKey(record.getRentContractId());
SimpleDateFormat sdD = new SimpleDateFormat("yyyy-MM-dd");
WxRentContract wxRentContract = wxRentContractMapper.selectByPrimaryKey(wxBillRent.getRentContractId());
SimpleDateFormat sdD = new SimpleDateFormat("d");
SimpleDateFormat sdM = new SimpleDateFormat("yyyy-MM"); SimpleDateFormat sdM = new SimpleDateFormat("yyyy-MM");


int startInt = Integer.parseInt(sdD.format(wxBillRent.getStarttime())); int startInt = Integer.parseInt(sdD.format(wxBillRent.getStarttime()));
int endInt = Integer.parseInt(sdD.format(DateUtils.getDaySet(wxBillRent.getEndtime(),Calendar.DATE,1))); int endInt = Integer.parseInt(sdD.format(DateUtils.getDaySet(wxBillRent.getEndtime(),Calendar.DATE,1)));
int months = getMonths(sdM.format(wxBillRent.getStarttime())+"-01",sdM.format(DateUtils.getDaySet(wxBillRent.getEndtime(),Calendar.DATE,1))+"-01"); int months = getMonths(sdM.format(wxBillRent.getStarttime())+"-01",sdM.format(DateUtils.getDaySet(wxBillRent.getEndtime(),Calendar.DATE,1))+"-01");


Integer ratio = getPayRatio(record,wxRentContract,null);

if(StringUtils.isNotBlank(wxRentContract.getBusDiscountRatio())){
Integer ratio = 0;
if(wxRentContract.getPayRatio() != null && wxRentContract.getPayRatio().intValue() >0){
ratio = getPayRatio(wxBillRent,wxRentContract,EnumMissTimeType.OTHER);
}else if(StringUtils.isNotBlank(wxRentContract.getBusDiscountRatio())){
if(EnumBusRatioTime.YEAR.getCode().equals(wxRentContract.getBusDiscountTime())){ if(EnumBusRatioTime.YEAR.getCode().equals(wxRentContract.getBusDiscountTime())){
if(startInt == endInt && months == 12){ if(startInt == endInt && months == 12){
//刚好1年 //刚好1年
ratio = getPayRatio(wxBillRent,wxRentContract,EnumMissTimeType.OTHER);
}else{ }else{
ratio = getPayRatio(record,wxRentContract,EnumMissTimeType.YEAR);
ratio = getPayRatio(wxBillRent,wxRentContract,EnumMissTimeType.YEAR);
} }
}else if(EnumBusRatioTime.MONTH.getCode().equals(wxRentContract.getBusDiscountTime())){ }else if(EnumBusRatioTime.MONTH.getCode().equals(wxRentContract.getBusDiscountTime())){
if(startInt == endInt && months == 1){ if(startInt == endInt && months == 1){
//刚好1个月 //刚好1个月
ratio = getPayRatio(wxBillRent,wxRentContract,EnumMissTimeType.OTHER);
}else{ }else{
ratio = getPayRatio(record,wxRentContract,EnumMissTimeType.MONTH);
ratio = getPayRatio(wxBillRent,wxRentContract,EnumMissTimeType.MONTH);
} }
} }
} }
@@ -353,7 +357,7 @@ public class WxBillRentServiceImpl implements WxBillRentService {
} }


Long oldPrice = wxBillRent.getReceivePay(); Long oldPrice = wxBillRent.getReceivePay();
Long newPrice = record.getReceivePay();
Long newPrice = newReceivePay;
wxBillRent.setRevenue(record.getRevenue()); wxBillRent.setRevenue(record.getRevenue());
//wxBillRent.setReceivePay(oldPrice.equals(newPrice) ? oldPrice : newPrice); //wxBillRent.setReceivePay(oldPrice.equals(newPrice) ? oldPrice : newPrice);
wxBillRent.setUpdatetime(new Date()); wxBillRent.setUpdatetime(new Date());


+ 0
- 10
mallinkService/src/main/java/com/iformall/utils/DateUtils.java Visa fil

@@ -1223,14 +1223,4 @@ public class DateUtils {
LocalDate startLocalDate = LocalDate.of(startYear,startMonth,startDay); LocalDate startLocalDate = LocalDate.of(startYear,startMonth,startDay);
return startLocalDate.until(endLocalDate, ChronoUnit.DAYS); return startLocalDate.until(endLocalDate, ChronoUnit.DAYS);
} }

public static void main(String[] args) throws Exception {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String feeTimeStr = "2019-08-07 12:44:41";
String oldFeeTimeStr = "2019-08-07 12:44:28";
Date feeTime = dateFormat.parse(feeTimeStr);
Date oldFeeTime = dateFormat.parse(oldFeeTimeStr);
System.out.println(DateUtils.isInDate15Mins(feeTime, oldFeeTime));
}

} }

Laddar…
Avbryt
Spara