| @@ -77,7 +77,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); | |||||
| return wxBillSettleRecordService.saveOrUpdate(wxBillSettleRecord,getUser(),null); | |||||
| } | } | ||||
| @GetMapping("exportSettle") | @GetMapping("exportSettle") | ||||
| @@ -23,6 +23,6 @@ public interface WxBillSettleRecordService { | |||||
| * | * | ||||
| * @param record | * @param record | ||||
| */ | */ | ||||
| ResultData saveOrUpdate(WxBillSettleRecord record); | |||||
| ResultData saveOrUpdate(WxBillSettleRecord record,MallUserInfo mallUserInfo,Long bUserId); | |||||
| } | } | ||||
| @@ -176,7 +176,7 @@ public class WxBillAllServiceImpl implements WxBillAllService { | |||||
| wxBillAll.setBillTypeValue(EnumBillTypeParam.AIR_CONDITIONING.getCode()); | wxBillAll.setBillTypeValue(EnumBillTypeParam.AIR_CONDITIONING.getCode()); | ||||
| }else if (wxBillAll.getBillTypeValue().equals(EnumBillType.SETTLE.getCode())) { | }else if (wxBillAll.getBillTypeValue().equals(EnumBillType.SETTLE.getCode())) { | ||||
| wxBillAll.setBillTypeValue(EnumBillTypeParam.SETTLE.getCode()); | wxBillAll.setBillTypeValue(EnumBillTypeParam.SETTLE.getCode()); | ||||
| } else { | |||||
| } else { | |||||
| logger.info("账单不存在"); | logger.info("账单不存在"); | ||||
| return new ResultData(ErrorCode.BILL_ROUTINE_IS_NOT_FOUND); | 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); | BigDecimal money = new BigDecimal(settleRecord.getSettleMoney()).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP); | ||||
| settleRecord.setDetail(EnumSettleRecordWay.getEnum(settleRecord.getSettleWay()).getMessage()+"收款"+money.toString()+"元"); | settleRecord.setDetail(EnumSettleRecordWay.getEnum(settleRecord.getSettleWay()).getMessage()+"收款"+money.toString()+"元"); | ||||
| wxBillSettleRecordService.saveOrUpdate(settleRecord); | |||||
| wxBillSettleRecordService.saveOrUpdate(settleRecord,null,(Long)bill.get("userId")); | |||||
| }else{ | }else{ | ||||
| logger.info("账单类型不存在"); | logger.info("账单类型不存在"); | ||||
| } | } | ||||
| @@ -6,11 +6,13 @@ import com.iformall.common.ResultData; | |||||
| import com.iformall.domain.po.MallUserInfo; | import com.iformall.domain.po.MallUserInfo; | ||||
| import com.iformall.domain.po.WxBillSettle; | import com.iformall.domain.po.WxBillSettle; | ||||
| import com.iformall.domain.po.WxBillSettleRecord; | import com.iformall.domain.po.WxBillSettleRecord; | ||||
| import com.iformall.domain.po.WxMerchantBUser; | |||||
| import com.iformall.enums.EnumSettleRecordWay; | import com.iformall.enums.EnumSettleRecordWay; | ||||
| import com.iformall.enums.EnumSettleStatus; | import com.iformall.enums.EnumSettleStatus; | ||||
| import com.iformall.enums.EnumSettleWay; | import com.iformall.enums.EnumSettleWay; | ||||
| import com.iformall.mapper.WxBillSettleMapper; | import com.iformall.mapper.WxBillSettleMapper; | ||||
| import com.iformall.mapper.WxBillSettleRecordMapper; | import com.iformall.mapper.WxBillSettleRecordMapper; | ||||
| import com.iformall.mapper.WxMerchantBUserMapper; | |||||
| import com.iformall.service.WxBillSettleRecordService; | import com.iformall.service.WxBillSettleRecordService; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||
| @@ -27,6 +29,8 @@ public class WxBillSettleRecordServiceImpl implements WxBillSettleRecordService | |||||
| private WxBillSettleRecordMapper wxBillSettleRecordMapper; | private WxBillSettleRecordMapper wxBillSettleRecordMapper; | ||||
| @Autowired | @Autowired | ||||
| private WxBillSettleMapper wxBillSettleMapper; | private WxBillSettleMapper wxBillSettleMapper; | ||||
| @Autowired | |||||
| private WxMerchantBUserMapper wxMerchantBUserMapper; | |||||
| @Override | @Override | ||||
| public PageInfo<WxBillSettleRecord> listAsPage(WxBillSettleRecord record, Integer pageIndex, Integer pageSize) { | public PageInfo<WxBillSettleRecord> listAsPage(WxBillSettleRecord record, Integer pageIndex, Integer pageSize) { | ||||
| @@ -34,7 +38,7 @@ public class WxBillSettleRecordServiceImpl implements WxBillSettleRecordService | |||||
| } | } | ||||
| @Override | @Override | ||||
| public ResultData saveOrUpdate(WxBillSettleRecord record) { | |||||
| public ResultData saveOrUpdate(WxBillSettleRecord record,MallUserInfo mallUserInfo,Long bUserId) { | |||||
| 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()); | ||||
| @@ -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)+"元"; | String str = EnumSettleRecordWay.getEnum(record.getSettleWay()).getMessage()+"收款"+new BigDecimal(record.getSettleMoney()).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP)+"元"; | ||||
| record.setDetail(str); | 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); | wxBillSettleRecordMapper.insertSelective(record); | ||||
| }else{ | }else{ | ||||
| wxBillSettleRecordMapper.updateByPrimaryKeySelective(record); | wxBillSettleRecordMapper.updateByPrimaryKeySelective(record); | ||||
| @@ -137,6 +137,7 @@ public class WxBillSettleServiceImpl implements WxBillSettleService { | |||||
| @Override | @Override | ||||
| public void updateFreezeOrStatus(List<WxBillSettleBill> billList,Integer freezeStatus,Integer status){ | public void updateFreezeOrStatus(List<WxBillSettleBill> billList,Integer freezeStatus,Integer status){ | ||||
| //1租金2押金3物业4日常费用6其他8补贴 | |||||
| for (WxBillSettleBill bill:billList) { | for (WxBillSettleBill bill:billList) { | ||||
| if(EnumBillType.RENT.getCode().equals(bill.getBillType())) { | if(EnumBillType.RENT.getCode().equals(bill.getBillType())) { | ||||
| WxBillRent wxBillRent = new WxBillRent(); | WxBillRent wxBillRent = new WxBillRent(); | ||||
| @@ -174,6 +175,12 @@ public class WxBillSettleServiceImpl implements WxBillSettleService { | |||||
| if(freezeStatus != null) wxBillRent.setFreeze(freezeStatus); | if(freezeStatus != null) wxBillRent.setFreeze(freezeStatus); | ||||
| if(status != null) wxBillRent.setStatus(status); | if(status != null) wxBillRent.setStatus(status); | ||||
| wxBillOtherDepositMapper.updateByPrimaryKeySelective(wxBillRent); | 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())) { | }else if(EnumBillType.OTHER_DEPOSIT.getCode().equals(bill.getBillType())) { | ||||
| WxBillOtherDeposit wxBillRent = new WxBillOtherDeposit(); | WxBillOtherDeposit wxBillRent = new WxBillOtherDeposit(); | ||||
| wxBillRent.setId(bill.getBillId()); | wxBillRent.setId(bill.getBillId()); | ||||
| @@ -186,12 +193,6 @@ public class WxBillSettleServiceImpl implements WxBillSettleService { | |||||
| if(freezeStatus != null) wxBillRent.setFreeze(freezeStatus); | if(freezeStatus != null) wxBillRent.setFreeze(freezeStatus); | ||||
| if(status != null) wxBillRent.setStatus(status); | if(status != null) wxBillRent.setStatus(status); | ||||
| wxBillDailyMapper.updateByPrimaryKeySelective(wxBillRent); | 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); | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -221,7 +221,7 @@ public class WxFlowServiceImpl implements WxFlowService { | |||||
| wxBillAll.setNewPrice(newPrice); | wxBillAll.setNewPrice(newPrice); | ||||
| } | } | ||||
| wxBillAllService.updateReceivePay(wxBillAll, user); | wxBillAllService.updateReceivePay(wxBillAll, user); | ||||
| }else{ | |||||
| }else if(EnumRentContractAppStatus.APPLYING.getCode().intValue() == applyStatus.intValue()) { | |||||
| //账单修改金额,冻结 | //账单修改金额,冻结 | ||||
| List<WxBillSettleBill> billList = new ArrayList<>(); | List<WxBillSettleBill> billList = new ArrayList<>(); | ||||
| WxBillSettleBill settleBill = new WxBillSettleBill(); | WxBillSettleBill settleBill = new WxBillSettleBill(); | ||||
| @@ -229,6 +229,14 @@ public class WxFlowServiceImpl implements WxFlowService { | |||||
| settleBill.setBillId(businessId); | settleBill.setBillId(businessId); | ||||
| billList.add(settleBill); | billList.add(settleBill); | ||||
| wxBillSettleService.updateFreezeOrStatus(billList,EnumFreezeType.YES.getCode(),null); | wxBillSettleService.updateFreezeOrStatus(billList,EnumFreezeType.YES.getCode(),null); | ||||
| }else if(EnumRentContractAppStatus.SETBACK.getCode().intValue() == applyStatus.intValue() || EnumRentContractAppStatus.REJECT.getCode().intValue() == applyStatus.intValue()) { | |||||
| //账单修改金额,解冻 | |||||
| List<WxBillSettleBill> 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) | } else if (EnumFlowKey.NEW_COUPON_UPLINE.getCode().equals(flowType) | ||||
| || EnumFlowKey.NEW_CARD_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 wxBillSettle = new WxBillSettle(); | ||||
| wxBillSettle.setId(businessId); | wxBillSettle.setId(businessId); | ||||
| wxBillSettle.setApplyStatus(applyStatus); | wxBillSettle.setApplyStatus(applyStatus); | ||||
| wxBillSettleMapper.updateByPrimaryKeySelective(wxBillSettle); | |||||
| //审批完成,账单解冻 | //审批完成,账单解冻 | ||||
| WxBillSettle settle = wxBillSettleService.getById(businessId); | |||||
| if(EnumRentContractAppStatus.FINISH.getCode().intValue() == applyStatus.intValue()) { | 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.getReceiveBillIds(), EnumFreezeType.DEF.getCode(),EnumBillRentStatus.PAID.getCode()); | ||||
| wxBillSettleService.updateFreezeOrStatus(settle.getPayBillIds(),EnumFreezeType.DEF.getCode(),EnumBillRentStatus.PAID.getCode()); | wxBillSettleService.updateFreezeOrStatus(settle.getPayBillIds(),EnumFreezeType.DEF.getCode(),EnumBillRentStatus.PAID.getCode()); | ||||
| } | } | ||||
| wxBillSettleMapper.updateByPrimaryKeySelective(wxBillSettle); | |||||
| } | } | ||||
| } | } | ||||
| @@ -35,7 +35,7 @@ | |||||
| </if> | </if> | ||||
| <if test=" null != settleNumber and settleNumber !='' ">and tt.`settle_number` = #{settleNumber}</if> | <if test=" null != settleNumber and settleNumber !='' ">and tt.`settle_number` = #{settleNumber}</if> | ||||
| <if test=" null != status and status !=''">and tt.`status` = #{status}</if> | <if test=" null != status and status !=''">and tt.`status` = #{status}</if> | ||||
| <if test=" null != applyStatus and applyStatus !=''">and tt.`apply_status` = #{applyStatus}</if> | |||||
| <if test=" null != applyStatus">and tt.`apply_status` = #{applyStatus}</if> | |||||
| <if test="0 == direction"> | <if test="0 == direction"> | ||||
| and (tt.receiveMoney-tt.payMoney- | and (tt.receiveMoney-tt.payMoney- | ||||
| (select IFNULL(sum(settle_money),0) from wx_bill_settle_record where settle_id = tt.id) | (select IFNULL(sum(settle_money),0) from wx_bill_settle_record where settle_id = tt.id) | ||||