From 351a335e1e77053ea78841a5caa0ad160b73cc5a Mon Sep 17 00:00:00 2001 From: luozukai Date: Fri, 31 May 2019 13:56:56 +0800 Subject: [PATCH 1/5] =?UTF-8?q?[bug][=E4=BF=AE=E6=94=B9][=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E9=A2=84=E8=A7=88=E8=B4=A6=E5=8D=95=E9=97=AE=E9=A2=98?= =?UTF-8?q?]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/WxPropertyContractServiceImpl.java | 13 +++++++--- .../impl/WxRentContractServiceImpl.java | 25 ++++++++++--------- 2 files changed, 23 insertions(+), 15 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java index 530b20244..3c5e23372 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java @@ -554,16 +554,23 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService //按日 if (wxPropertyContract.getPriceUnit().equals(EnumPriceUnit.D.getCode())){ - double needpayD = WxRentContractServiceImpl.getNeedPay(0,price,wxBillProperty.getStarttime(),wxBillProperty.getEndtime()); + Double priceD = new Double(price); + double needpayD = WxRentContractServiceImpl.getNeedPay(0,priceD,wxBillProperty.getStarttime(),wxBillProperty.getEndtime()); needpay = new Double(needpayD).longValue(); }else{ + //年 需要除12 + Double priceD = new Double(price); + if(EnumPriceUnit.Y.getCode().equals(wxPropertyContract.getPriceUnit())){ + priceD = new Double(price)/12; + } + //当天也算,加1天 Date newEndDate = DateUtils.getDaySet(wxBillProperty.getEndtime(),Calendar.DATE,1); //按月 int[] diff = DateUtils.getDiff(wxBillProperty.getStarttime(),newEndDate); - needpay = diff[0]*price; + needpay =new Double( diff[0]*priceD).longValue(); - double oneDayProce = (double) price/DateUtils.getMonthDayCount(wxPropertyContract.getRentalEndDate()); + double oneDayProce = priceD/DateUtils.getMonthDayCount(wxPropertyContract.getRentalEndDate()); needpay += diff[1] * oneDayProce; } wxBillProperty.setNeedPay(needpay); 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 6ed5276ad..452ce435d 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -760,13 +760,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { long[] priceArr = new long[arraySize]; for (int i = 0; i < arraySize; i++) { JSONObject rentInfoObject = rentInfoArray.getJSONObject(i); - //年 需要除12 - if(EnumPriceUnit.Y.getCode().equals(priceUnit)){ - BigDecimal yprice = new BigDecimal(rentInfoObject.getString("price")).divide(new BigDecimal(12),2, BigDecimal.ROUND_HALF_DOWN); - priceArr[i] = yprice.multiply(new BigDecimal(100)).longValue(); - }else{ - priceArr[i] = new BigDecimal(rentInfoObject.getString("price")).multiply(new BigDecimal(100)).longValue(); - } + priceArr[i] = new BigDecimal(rentInfoObject.getString("price")).multiply(new BigDecimal(100)).longValue(); } priceList.add(priceArr); //大于一年 @@ -946,16 +940,23 @@ public class WxRentContractServiceImpl implements WxRentContractService { //按日 if (wxRentContract.getPriceUnit().equals(EnumPriceUnit.D.getCode())){ - double needpayD = WxRentContractServiceImpl.getNeedPay(0,price,wxBillRent.getStarttime(),wxBillRent.getEndtime()); + Double priceD = new Double(price); + double needpayD = WxRentContractServiceImpl.getNeedPay(0,priceD,wxBillRent.getStarttime(),wxBillRent.getEndtime()); needpay = new Double(needpayD).longValue(); }else{ + //年 需要除12 + Double priceD = new Double(price); + if(EnumPriceUnit.Y.getCode().equals(wxRentContract.getPriceUnit())){ + priceD = new Double(price)/12; + } + //当天也算,加1天 Date newEndDate = DateUtils.getDaySet(wxBillRent.getEndtime(),Calendar.DATE,1); //按月 int[] diff = DateUtils.getDiff(wxBillRent.getStarttime(),newEndDate); - needpay = diff[0]*price; + needpay =new Double( diff[0]*priceD).longValue(); - double oneDayProce = (double) price/DateUtils.getMonthDayCount(wxRentContract.getRentalEndDate()); + double oneDayProce = priceD/DateUtils.getMonthDayCount(wxRentContract.getRentalEndDate()); needpay += diff[1] * oneDayProce; } @@ -1778,7 +1779,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { * @param end * @return */ - public static double getNeedPay(long monthPrice,long dayPrice,Date start,Date end){ + public static double getNeedPay(long monthPrice,Double dayPrice,Date start,Date end){ SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdM = new SimpleDateFormat("yyyy-MM"); Double total; @@ -1842,7 +1843,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { Date start = sd.parse("2020-05-29"); Date end = sd.parse("2020-07-28"); - System.out.println("===="+new WxRentContractServiceImpl().getNeedPay(tprice,0,start,end));; +// System.out.println("===="+new WxRentContractServiceImpl().getNeedPay(tprice,0,start,end));; } public static List initBillTimeList(Date start,Date end,Integer adjustPeriod,Integer dayType,int receivePeriod){ From adb6b402913ff7da383cd5b5e161e2941e3d2de3 Mon Sep 17 00:00:00 2001 From: luozukai Date: Fri, 31 May 2019 14:11:48 +0800 Subject: [PATCH 2/5] =?UTF-8?q?[bug][=E4=BF=AE=E6=94=B9][=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E9=A2=84=E8=A7=88=E8=B4=A6=E5=8D=95=E9=97=AE=E9=A2=98?= =?UTF-8?q?]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/WxBillPropertyMapper.xml | 2 +- mallinkService/src/main/resources/mapper/WxBillRentMapper.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml b/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml index c7adeee9f..e8503b29d 100644 --- a/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml @@ -174,7 +174,7 @@ - update wx_bill_property set is_preview = #{isPreview},merchant_id = #{merchantId} + update wx_bill_property set is_preview = #{isPreview},merchant_id = #{merchantId},need_pay = receive_pay where property_contract_id = #{propertyContractId} diff --git a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml index 3591f2d77..f0fe7665a 100644 --- a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml @@ -173,7 +173,7 @@ - update wx_bill_rent set is_preview = #{isPreview},merchant_id = #{merchantId} + update wx_bill_rent set is_preview = #{isPreview},merchant_id = #{merchantId},need_pay = receive_pay where rent_contract_id = #{rentContractId} From b9063e777b899c131ba831a9c82a9f04caf5ec13 Mon Sep 17 00:00:00 2001 From: luozukai Date: Fri, 31 May 2019 14:21:54 +0800 Subject: [PATCH 3/5] =?UTF-8?q?[bug][=E4=BF=AE=E6=94=B9][=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E9=A2=84=E8=A7=88=E8=B4=A6=E5=8D=95=E9=97=AE=E9=A2=98?= =?UTF-8?q?]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/WxBillPropertyMapper.xml | 2 +- mallinkService/src/main/resources/mapper/WxBillRentMapper.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml b/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml index e8503b29d..6a290b7d7 100644 --- a/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml @@ -174,7 +174,7 @@ - update wx_bill_property set is_preview = #{isPreview},merchant_id = #{merchantId},need_pay = receive_pay + update wx_bill_property set is_preview = #{isPreview},merchant_id = #{merchantId},need_pay = receive_pay,owe=receive_pay where property_contract_id = #{propertyContractId} diff --git a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml index f0fe7665a..9868d01de 100644 --- a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml @@ -173,7 +173,7 @@ - update wx_bill_rent set is_preview = #{isPreview},merchant_id = #{merchantId},need_pay = receive_pay + update wx_bill_rent set is_preview = #{isPreview},merchant_id = #{merchantId},need_pay = receive_pay,owe=receive_pay where rent_contract_id = #{rentContractId} From 3579cef1b5f3688ca89c17ca9d23e43d3254c90f Mon Sep 17 00:00:00 2001 From: luozukai Date: Fri, 31 May 2019 16:46:10 +0800 Subject: [PATCH 4/5] =?UTF-8?q?[bug][=E4=BF=AE=E6=94=B9][=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E9=A2=84=E8=A7=88=E8=B4=A6=E5=8D=95=E9=97=AE=E9=A2=98?= =?UTF-8?q?]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WxPropertyContractServiceImpl.java | 2 +- .../iformall/service/impl/WxRentContractServiceImpl.java | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java index 3c5e23372..bca508941 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java @@ -532,7 +532,7 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService //endDate = wxPropertyContract.getRentalEndDate(); endDate = null; }else { - endDate = yearList.get(index); + endDate = yearList.get(index+1);//price index 0开始,year.end 从第二年开始 logger.info("==========cross:"+sd.format(endDate)); } } 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 452ce435d..3b402dd31 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -874,7 +874,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { List resultList = new ArrayList<>(); final IdWorker idWorker = IdWorker.get(); - Date endDate = null; + Date endDate = null;//每年的截止日期 if(yearList.size() > 1){ endDate = yearList.get(1); } @@ -894,8 +894,8 @@ public class WxRentContractServiceImpl implements WxRentContractService { if(index >= yearList.size()-1){ //endDate = wxRentContract.getRentalEndDate(); endDate = null; - }else { - endDate = yearList.get(index); + }else{ + endDate = yearList.get(index+1);//price index 0开始,year.end 从第二年开始 logger.info("==========cross:"+sd.format(endDate)); } From fc2b4bc1a4a383cadd27f06ba398f9119f11b648 Mon Sep 17 00:00:00 2001 From: luozukai Date: Fri, 31 May 2019 17:09:02 +0800 Subject: [PATCH 5/5] =?UTF-8?q?[bug][=E4=BF=AE=E6=94=B9][=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E9=A2=84=E8=A7=88=E8=B4=A6=E5=8D=95=E9=97=AE=E9=A2=98?= =?UTF-8?q?]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iformall/service/impl/WxPropertyContractServiceImpl.java | 3 --- .../com/iformall/service/impl/WxRentContractServiceImpl.java | 3 --- 2 files changed, 6 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java index bca508941..00f4a74ac 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java @@ -646,9 +646,6 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService Integer lease = wxPropertyContract.getLease(); Date rentalStartDate = propertyContract.getRentalStartDate(); Long price = propertyContract.getPrice(); - if(EnumPriceUnit.Y.getCode().equals(propertyContract.getPriceUnit())){ - price = price/12; - } //按月计租 // if (propertyContract.getAdjustPeriod().equals(EnumRentContractAdjustPeriod.ADJUST_PERIOD_MONTH.getCode()) 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 3b402dd31..5368b6536 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -728,9 +728,6 @@ public class WxRentContractServiceImpl implements WxRentContractService { Date rentalStartDate = wxRentContract.getRentalStartDate(); Long price = wxRentContract.getPrice(); - if(EnumPriceUnit.Y.getCode().equals(wxRentContract.getPriceUnit())){ - price = price/12; - } //按月计租 // if (wxRentContract.getAdjustPeriod().equals(EnumRentContractAdjustPeriod.ADJUST_PERIOD_MONTH.getCode())