| @@ -74,7 +74,7 @@ public class WxBillSettleController extends BaseController { | |||||
| public ResultData settle(@RequestBody WxBillSettleRecord wxBillSettleRecord) { | public ResultData settle(@RequestBody WxBillSettleRecord wxBillSettleRecord) { | ||||
| logger.debug("[" + getIpAddr() + "] WxBillSettleController::settle"); | logger.debug("[" + getIpAddr() + "] WxBillSettleController::settle"); | ||||
| wxBillSettleRecord.setTenantId(getTenantId()); | wxBillSettleRecord.setTenantId(getTenantId()); | ||||
| return wxBillSettleRecordService.saveOrUpdate(wxBillSettleRecord,getUser()); | |||||
| return wxBillSettleRecordService.saveOrUpdate(wxBillSettleRecord); | |||||
| } | } | ||||
| @GetMapping("exportSettle") | @GetMapping("exportSettle") | ||||
| @@ -15,7 +15,9 @@ public enum EnumBillTypeParam { | |||||
| POWER(6, "电费"), | POWER(6, "电费"), | ||||
| ROUTINE(7, "其他费用"), | ROUTINE(7, "其他费用"), | ||||
| ATHER_DEPOSIT(8, "其他押金"), | ATHER_DEPOSIT(8, "其他押金"), | ||||
| AIR_CONDITIONING(9, "空调费") | |||||
| AIR_CONDITIONING(9, "空调费"), | |||||
| SETTLE(10, "结算单") | |||||
| ; | ; | ||||
| public static EnumBillTypeParam getEnum(Integer code) { | public static EnumBillTypeParam getEnum(Integer code) { | ||||
| @@ -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; | |||||
| } | |||||
| } | |||||
| @@ -23,6 +23,6 @@ public interface WxBillSettleRecordService { | |||||
| * | * | ||||
| * @param record | * @param record | ||||
| */ | */ | ||||
| ResultData saveOrUpdate(WxBillSettleRecord record,MallUserInfo mallUserInfo); | |||||
| ResultData saveOrUpdate(WxBillSettleRecord record); | |||||
| } | } | ||||
| @@ -117,6 +117,9 @@ public class WxBillAllServiceImpl implements WxBillAllService { | |||||
| @Autowired | @Autowired | ||||
| StringRedisTemplate stringRedisTemplate; | StringRedisTemplate stringRedisTemplate; | ||||
| @Autowired | |||||
| WxBillSettleRecordService wxBillSettleRecordService; | |||||
| @Override | @Override | ||||
| public Map<String, Object> listAsPage(WxBillAll record, Integer pageIndex, Integer pageSize) { | public Map<String, Object> 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())) { | if (wxBillOtherDeposit != null && !wxBillOtherDeposit.getStatus().equals(EnumBillRentStatus.PAID.getCode())) { | ||||
| updateBillOtherDeposit(bill); | 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("账单类型不存在"); | logger.info("账单类型不存在"); | ||||
| } | } | ||||
| } | } | ||||
| @@ -26,7 +26,7 @@ public class WxBillSettleRecordServiceImpl implements WxBillSettleRecordService | |||||
| } | } | ||||
| @Override | @Override | ||||
| public ResultData saveOrUpdate(WxBillSettleRecord record,MallUserInfo mallUserInfo) { | |||||
| public ResultData saveOrUpdate(WxBillSettleRecord record) { | |||||
| final IdWorker idWorker = IdWorker.get(); | final IdWorker idWorker = IdWorker.get(); | ||||
| if (record.getId() == null) { | if (record.getId() == null) { | ||||
| record.setId(idWorker.nextId()); | record.setId(idWorker.nextId()); | ||||
| @@ -1100,6 +1100,16 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| } | } | ||||
| } else { | } else { | ||||
| for (int i = 1; i < size; i++) { | for (int i = 1; i < size; i++) { | ||||
| 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(); | priceArrs[i] = new BigDecimal(integers.get(i)).setScale(0, RoundingMode.HALF_EVEN).longValue(); | ||||
| } | } | ||||
| } | } | ||||
| @@ -1294,15 +1304,13 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| }else{ | }else{ | ||||
| Double priceD = new Double(price); | Double priceD = new Double(price); | ||||
| if (EnumRentContractType.RENT_BY_JOINT.getCode().equals(wxRentContract.getType())) { | 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{ | }else{ | ||||
| //年 除12 | //年 除12 | ||||