From 713651ca0a362f57e588c68d67f92aad7e8498bf Mon Sep 17 00:00:00 2001 From: luozukai Date: Fri, 6 Sep 2019 14:52:40 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=90=88=E5=90=8C][=E4=BF=AE=E6=94=B9][?= =?UTF-8?q?=E5=BC=80=E5=8F=91=E7=BB=93=E7=AE=97=E5=8D=95]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rent/WxBillSettleController.java | 2 +- .../service/WxBillSettleRecordService.java | 2 +- .../service/impl/WxBillAllServiceImpl.java | 4 ++-- .../impl/WxBillSettleRecordServiceImpl.java | 13 ++++++++++++- .../service/impl/WxBillSettleServiceImpl.java | 13 +++++++------ .../service/impl/WxFlowServiceImpl.java | 19 ++++++++++++++++--- .../resources/mapper/WxBillSettleMapper.xml | 2 +- 7 files changed, 40 insertions(+), 15 deletions(-) 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 b4cabc8e4..2db15df6c 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillSettleController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillSettleController.java @@ -77,7 +77,7 @@ public class WxBillSettleController extends BaseController { public ResultData settle(@RequestBody WxBillSettleRecord wxBillSettleRecord) { logger.debug("[" + getIpAddr() + "] WxBillSettleController::settle"); wxBillSettleRecord.setTenantId(getTenantId()); - return wxBillSettleRecordService.saveOrUpdate(wxBillSettleRecord); + return wxBillSettleRecordService.saveOrUpdate(wxBillSettleRecord,getUser(),null); } @GetMapping("exportSettle") diff --git a/mallinkService/src/main/java/com/iformall/service/WxBillSettleRecordService.java b/mallinkService/src/main/java/com/iformall/service/WxBillSettleRecordService.java index 4ef88a9b5..d5efbfba1 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); + ResultData saveOrUpdate(WxBillSettleRecord record,MallUserInfo mallUserInfo,Long bUserId); } 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 304b15f63..801569480 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java @@ -176,7 +176,7 @@ public class WxBillAllServiceImpl implements WxBillAllService { wxBillAll.setBillTypeValue(EnumBillTypeParam.AIR_CONDITIONING.getCode()); }else if (wxBillAll.getBillTypeValue().equals(EnumBillType.SETTLE.getCode())) { wxBillAll.setBillTypeValue(EnumBillTypeParam.SETTLE.getCode()); - } else { + } else { logger.info("账单不存在"); return new ResultData(ErrorCode.BILL_ROUTINE_IS_NOT_FOUND); } @@ -259,7 +259,7 @@ public class WxBillAllServiceImpl implements WxBillAllService { 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); + wxBillSettleRecordService.saveOrUpdate(settleRecord,null,(Long)bill.get("userId")); }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 b95e57e0c..ab06c0019 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleRecordServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleRecordServiceImpl.java @@ -6,11 +6,13 @@ import com.iformall.common.ResultData; import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.WxBillSettle; import com.iformall.domain.po.WxBillSettleRecord; +import com.iformall.domain.po.WxMerchantBUser; import com.iformall.enums.EnumSettleRecordWay; import com.iformall.enums.EnumSettleStatus; import com.iformall.enums.EnumSettleWay; import com.iformall.mapper.WxBillSettleMapper; import com.iformall.mapper.WxBillSettleRecordMapper; +import com.iformall.mapper.WxMerchantBUserMapper; import com.iformall.service.WxBillSettleRecordService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -27,6 +29,8 @@ public class WxBillSettleRecordServiceImpl implements WxBillSettleRecordService private WxBillSettleRecordMapper wxBillSettleRecordMapper; @Autowired private WxBillSettleMapper wxBillSettleMapper; + @Autowired + private WxMerchantBUserMapper wxMerchantBUserMapper; @Override public PageInfo listAsPage(WxBillSettleRecord record, Integer pageIndex, Integer pageSize) { @@ -34,7 +38,7 @@ public class WxBillSettleRecordServiceImpl implements WxBillSettleRecordService } @Override - public ResultData saveOrUpdate(WxBillSettleRecord record) { + public ResultData saveOrUpdate(WxBillSettleRecord record,MallUserInfo mallUserInfo,Long bUserId) { final IdWorker idWorker = IdWorker.get(); if (record.getId() == null) { record.setId(idWorker.nextId()); @@ -52,6 +56,13 @@ public class WxBillSettleRecordServiceImpl implements WxBillSettleRecordService String str = EnumSettleRecordWay.getEnum(record.getSettleWay()).getMessage()+"收款"+new BigDecimal(record.getSettleMoney()).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP)+"元"; record.setDetail(str); + if(mallUserInfo != null) { + record.setUserid(mallUserInfo.getId()); + record.setUserName(mallUserInfo.getName()); + }else if(bUserId != null){ + WxMerchantBUser wxMerchantBUser = wxMerchantBUserMapper.selectByPrimaryKey(bUserId); + record.setUserName(wxMerchantBUser.getName()); + } wxBillSettleRecordMapper.insertSelective(record); }else{ wxBillSettleRecordMapper.updateByPrimaryKeySelective(record); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleServiceImpl.java index f759c8796..671256c4a 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleServiceImpl.java @@ -137,6 +137,7 @@ public class WxBillSettleServiceImpl implements WxBillSettleService { @Override public void updateFreezeOrStatus(List billList,Integer freezeStatus,Integer status){ + //1租金2押金3物业4日常费用6其他8补贴 for (WxBillSettleBill bill:billList) { if(EnumBillType.RENT.getCode().equals(bill.getBillType())) { WxBillRent wxBillRent = new WxBillRent(); @@ -174,6 +175,12 @@ public class WxBillSettleServiceImpl implements WxBillSettleService { if(freezeStatus != null) wxBillRent.setFreeze(freezeStatus); if(status != null) wxBillRent.setStatus(status); wxBillOtherDepositMapper.updateByPrimaryKeySelective(wxBillRent); + + WxMerchantSubsidy wxMerchantSubsidy = new WxMerchantSubsidy(); + wxMerchantSubsidy.setId(bill.getBillId()); + if(freezeStatus != null) wxMerchantSubsidy.setFreeze(freezeStatus); + if(status != null) wxMerchantSubsidy.setStatus(status); + wxMerchantSubsidyMapper.updateByPrimaryKeySelective(wxMerchantSubsidy); }else if(EnumBillType.OTHER_DEPOSIT.getCode().equals(bill.getBillType())) { WxBillOtherDeposit wxBillRent = new WxBillOtherDeposit(); wxBillRent.setId(bill.getBillId()); @@ -186,12 +193,6 @@ public class WxBillSettleServiceImpl implements WxBillSettleService { if(freezeStatus != null) wxBillRent.setFreeze(freezeStatus); if(status != null) wxBillRent.setStatus(status); wxBillDailyMapper.updateByPrimaryKeySelective(wxBillRent); - - WxMerchantSubsidy wxMerchantSubsidy = new WxMerchantSubsidy(); - wxMerchantSubsidy.setId(bill.getBillId()); - if(freezeStatus != null) wxBillRent.setFreeze(freezeStatus); - if(status != null) wxBillRent.setStatus(status); - wxMerchantSubsidyMapper.updateByPrimaryKeySelective(wxMerchantSubsidy); } } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java index 36b24966a..e43a66fca 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java @@ -221,7 +221,7 @@ public class WxFlowServiceImpl implements WxFlowService { wxBillAll.setNewPrice(newPrice); } wxBillAllService.updateReceivePay(wxBillAll, user); - }else{ + }else if(EnumRentContractAppStatus.APPLYING.getCode().intValue() == applyStatus.intValue()) { //账单修改金额,冻结 List billList = new ArrayList<>(); WxBillSettleBill settleBill = new WxBillSettleBill(); @@ -229,6 +229,14 @@ public class WxFlowServiceImpl implements WxFlowService { settleBill.setBillId(businessId); billList.add(settleBill); wxBillSettleService.updateFreezeOrStatus(billList,EnumFreezeType.YES.getCode(),null); + }else if(EnumRentContractAppStatus.SETBACK.getCode().intValue() == applyStatus.intValue() || EnumRentContractAppStatus.REJECT.getCode().intValue() == applyStatus.intValue()) { + //账单修改金额,解冻 + List billList = new ArrayList<>(); + WxBillSettleBill settleBill = new WxBillSettleBill(); + settleBill.setBillType(billType); + settleBill.setBillId(businessId); + billList.add(settleBill); + wxBillSettleService.updateFreezeOrStatus(billList,EnumFreezeType.DEF.getCode(),null); } } else if (EnumFlowKey.NEW_COUPON_UPLINE.getCode().equals(flowType) || EnumFlowKey.NEW_CARD_UPLINE.getCode().equals(flowType) @@ -286,14 +294,19 @@ public class WxFlowServiceImpl implements WxFlowService { WxBillSettle wxBillSettle = new WxBillSettle(); wxBillSettle.setId(businessId); wxBillSettle.setApplyStatus(applyStatus); - wxBillSettleMapper.updateByPrimaryKeySelective(wxBillSettle); //审批完成,账单解冻 + WxBillSettle settle = wxBillSettleService.getById(businessId); if(EnumRentContractAppStatus.FINISH.getCode().intValue() == applyStatus.intValue()) { - WxBillSettle settle = wxBillSettleService.getById(businessId); + wxBillSettle.setStatus(EnumSettleStatus.NOT_FINISH.getCode()); + wxBillSettleService.updateFreezeOrStatus(settle.getReceiveBillIds(), EnumFreezeType.DEF.getCode(),EnumBillRentStatus.PAID.getCode()); + wxBillSettleService.updateFreezeOrStatus(settle.getPayBillIds(),EnumFreezeType.DEF.getCode(),EnumBillRentStatus.PAID.getCode()); + }else if(EnumRentContractAppStatus.SETBACK.getCode().intValue() == applyStatus.intValue() || EnumRentContractAppStatus.REJECT.getCode().intValue() == applyStatus.intValue()) { + //解冻 wxBillSettleService.updateFreezeOrStatus(settle.getReceiveBillIds(), EnumFreezeType.DEF.getCode(),EnumBillRentStatus.PAID.getCode()); wxBillSettleService.updateFreezeOrStatus(settle.getPayBillIds(),EnumFreezeType.DEF.getCode(),EnumBillRentStatus.PAID.getCode()); } + wxBillSettleMapper.updateByPrimaryKeySelective(wxBillSettle); } } diff --git a/mallinkService/src/main/resources/mapper/WxBillSettleMapper.xml b/mallinkService/src/main/resources/mapper/WxBillSettleMapper.xml index 416196b90..137cb39f8 100644 --- a/mallinkService/src/main/resources/mapper/WxBillSettleMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillSettleMapper.xml @@ -35,7 +35,7 @@ and tt.`settle_number` = #{settleNumber} and tt.`status` = #{status} - and tt.`apply_status` = #{applyStatus} + and tt.`apply_status` = #{applyStatus} and (tt.receiveMoney-tt.payMoney- (select IFNULL(sum(settle_money),0) from wx_bill_settle_record where settle_id = tt.id)