From 9ae361c82b69c3cdc1468445e44939a29a266998 Mon Sep 17 00:00:00 2001 From: gongbiao Date: Mon, 2 Sep 2019 17:57:40 +0800 Subject: [PATCH 1/4] =?UTF-8?q?[=E5=90=88=E5=90=8C][=E4=BF=AE=E6=94=B9][?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E7=A7=9F=E9=87=91]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/WxRentContractServiceImpl.java | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) 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 3649892e2..71c3c9b43 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -1100,6 +1100,14 @@ public class WxRentContractServiceImpl implements WxRentContractService { } } else { for (int i = 1; i < size; i++) { + if (EnumMissTimeType.YEAR.getCode().equals(wxRentContract.getBusDiscountTime())) { + priceArrs[i] = new BigDecimal(integers.get(i)).multiply(new BigDecimal(12)).setScale(0, RoundingMode.HALF_EVEN).longValue(); + continue; + } + if (EnumMissTimeType.PERIOD.getCode().equals(wxRentContract.getBusDiscountTime())) { + priceArrs[i] = new BigDecimal(integers.get(i)).multiply(new BigDecimal(wxRentContract.getReceivePeriod())).setScale(0, RoundingMode.HALF_EVEN).longValue(); + continue; + } priceArrs[i] = new BigDecimal(integers.get(i)).setScale(0, RoundingMode.HALF_EVEN).longValue(); } } @@ -1294,15 +1302,13 @@ public class WxRentContractServiceImpl implements WxRentContractService { }else{ Double priceD = new Double(price); if (EnumRentContractType.RENT_BY_JOINT.getCode().equals(wxRentContract.getType())) { - if (!EnumRentContractAdjustRatioWay.CUSTOM.getCode().equals(wxRentContract.getAdjustRatioWay())) { - //设置跳点率为年周期 price不变 - if (EnumMissTimeType.PERIOD.getCode().equals(wxRentContract.getBusDiscountTime())) { - return priceD.longValue(); - } - //年或者设置跳点率为年周期 除12 - if (EnumMissTimeType.YEAR.getCode().equals(wxRentContract.getBusDiscountTime())) { - priceD = new Double(price) / 12; - } + //设置跳点率为年周期 price不变 + if (EnumMissTimeType.PERIOD.getCode().equals(wxRentContract.getBusDiscountTime())) { + return priceD.longValue(); + } + //年或者设置跳点率为年周期 除12 + if (EnumMissTimeType.YEAR.getCode().equals(wxRentContract.getBusDiscountTime())) { + priceD = new Double(price) / 12; } }else{ //年 除12 From f80c7cb12c35a85fc4b104f09dfe4f8efc236491 Mon Sep 17 00:00:00 2001 From: gongbiao Date: Mon, 2 Sep 2019 18:30:30 +0800 Subject: [PATCH 2/4] =?UTF-8?q?[=E5=90=88=E5=90=8C][=E4=BF=AE=E6=94=B9][?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E7=A7=9F=E9=87=91]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WxRentContractServiceImpl.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) 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 71c3c9b43..65d26fd38 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -1100,13 +1100,15 @@ public class WxRentContractServiceImpl implements WxRentContractService { } } else { for (int i = 1; i < size; i++) { - if (EnumMissTimeType.YEAR.getCode().equals(wxRentContract.getBusDiscountTime())) { - priceArrs[i] = new BigDecimal(integers.get(i)).multiply(new BigDecimal(12)).setScale(0, RoundingMode.HALF_EVEN).longValue(); - continue; - } - if (EnumMissTimeType.PERIOD.getCode().equals(wxRentContract.getBusDiscountTime())) { - priceArrs[i] = new BigDecimal(integers.get(i)).multiply(new BigDecimal(wxRentContract.getReceivePeriod())).setScale(0, RoundingMode.HALF_EVEN).longValue(); - continue; + if (wxRentContract.getType().equals(EnumRentContractType.RENT_BY_JOINT.getCode())) { + if (EnumMissTimeType.YEAR.getCode().equals(wxRentContract.getBusDiscountTime())) { + priceArrs[i] = new BigDecimal(integers.get(i)).multiply(new BigDecimal(12)).setScale(0, RoundingMode.HALF_EVEN).longValue(); + continue; + } + if (EnumMissTimeType.PERIOD.getCode().equals(wxRentContract.getBusDiscountTime())) { + priceArrs[i] = new BigDecimal(integers.get(i)).multiply(new BigDecimal(wxRentContract.getReceivePeriod())).setScale(0, RoundingMode.HALF_EVEN).longValue(); + continue; + } } priceArrs[i] = new BigDecimal(integers.get(i)).setScale(0, RoundingMode.HALF_EVEN).longValue(); } From 476f87e81792453fbf4276ab50c998b406d8523e Mon Sep 17 00:00:00 2001 From: luozukai Date: Mon, 2 Sep 2019 19:14:43 +0800 Subject: [PATCH 3/4] =?UTF-8?q?[=E5=90=88=E5=90=8C][=E4=BF=AE=E6=94=B9][?= =?UTF-8?q?=E5=BC=80=E5=8F=91=E8=B4=A6=E5=8D=95=E7=BB=93=E7=AE=97]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/iformall/enums/EnumBillTypeParam.java | 4 +- .../iformall/enums/EnumSettleRecordWay.java | 39 +++++++++++++++++++ .../service/WxBillSettleRecordService.java | 2 +- .../service/impl/WxBillAllServiceImpl.java | 16 +++++++- .../impl/WxBillSettleRecordServiceImpl.java | 2 +- 5 files changed, 59 insertions(+), 4 deletions(-) create mode 100644 mallinkService/src/main/java/com/iformall/enums/EnumSettleRecordWay.java diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumBillTypeParam.java b/mallinkService/src/main/java/com/iformall/enums/EnumBillTypeParam.java index fcf76a503..a7cbb5806 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumBillTypeParam.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumBillTypeParam.java @@ -15,7 +15,9 @@ public enum EnumBillTypeParam { POWER(6, "电费"), ROUTINE(7, "其他费用"), ATHER_DEPOSIT(8, "其他押金"), - AIR_CONDITIONING(9, "空调费") + AIR_CONDITIONING(9, "空调费"), + + SETTLE(10, "结算单") ; public static EnumBillTypeParam getEnum(Integer code) { diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumSettleRecordWay.java b/mallinkService/src/main/java/com/iformall/enums/EnumSettleRecordWay.java new file mode 100644 index 000000000..a67482e87 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/enums/EnumSettleRecordWay.java @@ -0,0 +1,39 @@ +package com.iformall.enums; + +/** + * Created by Stormeye on 2018/08/09. + */ +public enum EnumSettleRecordWay { + //清算方式 1现金2支付宝3微信4银行卡转账5其他 + M(1, "现金"), + ZFB(2, "支付宝"), + WEBCAT(3, "微信"), + CARD(4, "银行卡转账"), + OTHER(5, "其他"), + ; + + public static EnumSettleRecordWay getEnum(Integer code) { + for (EnumSettleRecordWay value : values()) { + if (value.getCode().equals(code)) { + return value; + } + } + return null; + } + + private Integer code; + private String message; + + EnumSettleRecordWay(Integer code, String message) { + this.code = code; + this.message = message; + } + + public Integer getCode() { + return code; + } + + public String getMessage() { + return message; + } +} diff --git a/mallinkService/src/main/java/com/iformall/service/WxBillSettleRecordService.java b/mallinkService/src/main/java/com/iformall/service/WxBillSettleRecordService.java index f87d05a1a..4ef88a9b5 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxBillSettleRecordService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxBillSettleRecordService.java @@ -23,6 +23,6 @@ public interface WxBillSettleRecordService { * * @param record */ - ResultData saveOrUpdate(WxBillSettleRecord record,MallUserInfo mallUserInfo); + ResultData saveOrUpdate(WxBillSettleRecord record); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java index e2e69f20f..2c36f5030 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java @@ -117,6 +117,9 @@ public class WxBillAllServiceImpl implements WxBillAllService { @Autowired StringRedisTemplate stringRedisTemplate; + @Autowired + WxBillSettleRecordService wxBillSettleRecordService; + @Override public Map listAsPage(WxBillAll record, Integer pageIndex, Integer pageSize) { //更新各账单状态 @@ -241,7 +244,18 @@ public class WxBillAllServiceImpl implements WxBillAllService { if (wxBillOtherDeposit != null && !wxBillOtherDeposit.getStatus().equals(EnumBillRentStatus.PAID.getCode())) { updateBillOtherDeposit(bill); } - } else { + } else if (billTypeValue == EnumBillTypeParam.SETTLE.getCode().intValue()) { + logger.info("更新结算单"); + WxBillSettleRecord settleRecord = new WxBillSettleRecord(); + settleRecord.setSettleId((Long)bill.get("id")); + settleRecord.setSettleMoney((Long) bill.get("owe")); + settleRecord.setSettleTime(new Date()); + settleRecord.setSettleWay(EnumSettleRecordWay.WEBCAT.getCode()); + + BigDecimal money = new BigDecimal(settleRecord.getSettleMoney()).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP); + settleRecord.setDetail(EnumSettleRecordWay.getEnum(settleRecord.getSettleWay()).getMessage()+"收款"+money.toString()+"元"); + wxBillSettleRecordService.saveOrUpdate(settleRecord); + }else{ logger.info("账单类型不存在"); } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleRecordServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleRecordServiceImpl.java index 176d522e6..bc9109a0f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleRecordServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleRecordServiceImpl.java @@ -26,7 +26,7 @@ public class WxBillSettleRecordServiceImpl implements WxBillSettleRecordService } @Override - public ResultData saveOrUpdate(WxBillSettleRecord record,MallUserInfo mallUserInfo) { + public ResultData saveOrUpdate(WxBillSettleRecord record) { final IdWorker idWorker = IdWorker.get(); if (record.getId() == null) { record.setId(idWorker.nextId()); From c90f3742337b995c171694835041197184c97ab1 Mon Sep 17 00:00:00 2001 From: luozukai Date: Mon, 2 Sep 2019 19:18:30 +0800 Subject: [PATCH 4/4] =?UTF-8?q?[=E5=90=88=E5=90=8C][=E4=BF=AE=E6=94=B9][?= =?UTF-8?q?=E5=BC=80=E5=8F=91=E8=B4=A6=E5=8D=95=E7=BB=93=E7=AE=97]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/iformall/controller/rent/WxBillSettleController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillSettleController.java b/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillSettleController.java index fcad811c4..8e56f556a 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillSettleController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillSettleController.java @@ -74,7 +74,7 @@ public class WxBillSettleController extends BaseController { public ResultData settle(@RequestBody WxBillSettleRecord wxBillSettleRecord) { logger.debug("[" + getIpAddr() + "] WxBillSettleController::settle"); wxBillSettleRecord.setTenantId(getTenantId()); - return wxBillSettleRecordService.saveOrUpdate(wxBillSettleRecord,getUser()); + return wxBillSettleRecordService.saveOrUpdate(wxBillSettleRecord); } @GetMapping("exportSettle")