old mode 100644
new mode 100755
| | |
| | | import com.java110.dto.fee.FeeDto; |
| | | import com.java110.dto.feeDiscount.ComputeDiscountDto; |
| | | import com.java110.dto.feeDiscount.FeeDiscountDto; |
| | | import com.java110.dto.feeDiscountSpec.FeeDiscountSpecDto; |
| | | import com.java110.dto.feeDiscount.FeeDiscountSpecDto; |
| | | import com.java110.fee.discount.IComputeDiscount; |
| | | import com.java110.intf.fee.IFeeInnerServiceSMO; |
| | | import com.java110.utils.util.DateUtil; |
| | |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.text.ParseException; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @desc add by 吴学文 12:43 |
| | |
| | | Date endTime = feeDtos.get(0).getEndTime(); |
| | | |
| | | if (endTime.getTime() > curTime.getTime()) { |
| | | return null; |
| | | ComputeDiscountDto computeDiscountDto = new ComputeDiscountDto(); |
| | | computeDiscountDto.setDiscountId(feeDiscountDto.getDiscountId()); |
| | | computeDiscountDto.setDiscountType(FeeDiscountDto.DISCOUNT_TYPE_V); |
| | | computeDiscountDto.setRuleId(feeDiscountDto.getRuleId()); |
| | | computeDiscountDto.setRuleName(feeDiscountDto.getRuleName()); |
| | | computeDiscountDto.setDiscountName(feeDiscountDto.getDiscountName()); |
| | | computeDiscountDto.setDiscountPrice(0.0); |
| | | computeDiscountDto.setFeeDiscountSpecs(feeDiscountSpecDtos); |
| | | return computeDiscountDto; |
| | | } |
| | | //查询费用 |
| | | int day = DateUtil.daysBetween(curTime, endTime); |
| | | |
| | | if (day < 1) { |
| | | return null; |
| | | ComputeDiscountDto computeDiscountDto = new ComputeDiscountDto(); |
| | | computeDiscountDto.setDiscountId(feeDiscountDto.getDiscountId()); |
| | | computeDiscountDto.setDiscountType(FeeDiscountDto.DISCOUNT_TYPE_V); |
| | | computeDiscountDto.setRuleId(feeDiscountDto.getRuleId()); |
| | | computeDiscountDto.setRuleName(feeDiscountDto.getRuleName()); |
| | | computeDiscountDto.setDiscountName(feeDiscountDto.getDiscountName()); |
| | | computeDiscountDto.setDiscountPrice(0.0); |
| | | computeDiscountDto.setFeeDiscountSpecs(feeDiscountSpecDtos); |
| | | return computeDiscountDto; |
| | | } |
| | | |
| | | double price = computeFeeSMOImpl.getFeePrice(feeDtos.get(0)); |
| | | Map feePriceAll = computeFeeSMOImpl.getFeePrice(feeDtos.get(0)); |
| | | |
| | | BigDecimal priceDec = new BigDecimal(price); |
| | | BigDecimal priceDec = new BigDecimal(feePriceAll.get("feePrice").toString()); |
| | | |
| | | BigDecimal dayDec = new BigDecimal(day); |
| | | |
| | | double discountPrice = priceDec.divide(new BigDecimal(30)).multiply(new BigDecimal(rate)).multiply(dayDec).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); |
| | | double discountPrice = priceDec.divide(new BigDecimal(30), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(rate)).multiply(dayDec).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); |
| | | |
| | | ComputeDiscountDto computeDiscountDto = new ComputeDiscountDto(); |
| | | computeDiscountDto.setDiscountId(feeDiscountDto.getDiscountId()); |
| | | computeDiscountDto.setDiscountType(FeeDiscountDto.DISCOUNT_TYPE_V); |
| | | computeDiscountDto.setRuleId(feeDiscountDto.getRuleId()); |
| | | computeDiscountDto.setRuleName(feeDiscountDto.getRuleName()); |
| | | computeDiscountDto.setDiscountPrice(discountPrice); |
| | | computeDiscountDto.setDiscountName(feeDiscountDto.getDiscountName()); |
| | | computeDiscountDto.setDiscountPrice(discountPrice * -1); |
| | | computeDiscountDto.setFeeDiscountSpecs(feeDiscountSpecDtos); |
| | | return computeDiscountDto; |
| | | } |
| | | |
| | | public static void main(String[] args) throws Exception { |
| | | int day = 316; |
| | | double money = 0.0; |
| | | for (int i = 1; i< day+1;i++){ |
| | | money += ((124.51/30 * (i-1) +money) * 0.003); |
| | | System.out.println("第"+i+"天 违约金 = "+money + ",计算公式为:(124.51/30 * ("+i+"-1) + " + money +") * 0.003"); |
| | | } |
| | | |
| | | System.out.println(money); |
| | | } |
| | | } |