Просмотр исходного кода

[账单][修改][更改应收金额]

release_toaliyun_real
gongbiao 7 лет назад
Родитель
Сommit
5174b9b9c0
5 измененных файлов: 164 добавлений и 129 удалений
  1. +8
    -4
      mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillAllController.java
  2. +7
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/WxBillAll.java
  3. +4
    -0
      mallinkService/src/main/java/com/iformall/service/WxBillAllService.java
  4. +134
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java
  5. +11
    -125
      mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java

+ 8
- 4
mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillAllController.java Просмотреть файл

@@ -12,10 +12,7 @@ import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -148,5 +145,12 @@ public class WxBillAllController extends BaseController {
wxBillAllService.exportOweBill(wxBillAll, request, response);
}

@PostMapping("updateReceivePay")
@SystemControllerLog(description = "账单-更新")
public ResultData updateReceivePay(@RequestBody WxBillAll wxBillAll) {
logger.debug("[" + getIpAddr() + "] WxBillRentController::add");
wxBillAll.setTenantId(getTenantId());
return wxBillAllService.updateReceivePay(wxBillAll, getUser());
}

}

+ 7
- 0
mallinkService/src/main/java/com/iformall/domain/vo/WxBillAll.java Просмотреть файл

@@ -126,4 +126,11 @@ public class WxBillAll extends BaseEntity {
@Transient
@io.swagger.annotations.ApiModelProperty(value = "过滤已收金额1过滤", name = "filterHasPay")
private Integer filterHasPay;


@io.swagger.annotations.ApiModelProperty(value = "金额旧值", name = "oldPrice")
private Long oldPrice;
@io.swagger.annotations.ApiModelProperty(value = "金额新值", name = "newPrice")
private Long newPrice;

}

+ 4
- 0
mallinkService/src/main/java/com/iformall/service/WxBillAllService.java Просмотреть файл

@@ -1,6 +1,7 @@
package com.iformall.service;

import com.iformall.common.ResultData;
import com.iformall.domain.po.MallUserInfo;
import com.iformall.domain.vo.WxBillAll;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -51,4 +52,7 @@ public interface WxBillAllService {

void exportOweBill(WxBillAll wxBillAll, HttpServletRequest request, HttpServletResponse response);

ResultData updateReceivePay(WxBillAll wxBillAll, MallUserInfo user);

void addBillAction(Long billId, Long oldPrice, Long newPrice, MallUserInfo mallUserInfo);
}

+ 134
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java Просмотреть файл

@@ -751,6 +751,140 @@ public class WxBillAllServiceImpl implements WxBillAllService {

}

@Override
public ResultData updateReceivePay(WxBillAll wxBillAll, MallUserInfo user) {
Integer billType = wxBillAll.getBillTypeValue();
Long oldPrice = wxBillAll.getOldPrice();
Long newPrice = wxBillAll.getNewPrice();
Long id = wxBillAll.getId();
Date updateDate = new Date();
if (billType.equals(EnumBillTypeParam.RENT.getCode())) {
WxBillRent dbBill = wxBillRentMapper.selectByPrimaryKey(id);
//租赁账单更新
WxBillRent wxBillRent = new WxBillRent();
wxBillRent.setId(id);
wxBillRent.setReceivePay(newPrice);
wxBillRent.setOwe(newPrice - dbBill.getPay());
if (newPrice.equals(dbBill.getPay())) {
wxBillRent.setStatus(EnumBillRentStatus.PAID.getCode());
}
wxBillRent.setUpdatetime(updateDate);
wxBillRentMapper.updateByPrimaryKeySelective(wxBillRent);
//账单日志
addBillAction(id, oldPrice, newPrice, user);
} else if (billType.equals(EnumBillTypeParam.RENT_DEPOSIT.getCode())) {
WxBillDeposit dbBill = wxBillDepositMapper.selectByPrimaryKey(id);
//租赁押金账单更新
WxBillDeposit wxBillDeposit = new WxBillDeposit();
wxBillDeposit.setId(id);
wxBillDeposit.setReceivePay(newPrice);
wxBillDeposit.setOwe(newPrice - dbBill.getPay());
if (newPrice.equals(dbBill.getPay())) {
wxBillDeposit.setStatus(EnumBillRentStatus.PAID.getCode());
}
wxBillDeposit.setUpdatetime(updateDate);
wxBillDepositMapper.updateByPrimaryKeySelective(wxBillDeposit);
//账单日志
addBillAction(id, oldPrice, newPrice, user);
} else if (billType.equals(EnumBillTypeParam.PROPERTY.getCode())) {
WxBillProperty dbBill = wxBillPropertyMapper.selectByPrimaryKey(id);
//物业账单更新
WxBillProperty wxBillProperty = new WxBillProperty();
wxBillProperty.setId(id);
wxBillProperty.setReceivePay(newPrice);
wxBillProperty.setOwe(newPrice - dbBill.getPay());
if (newPrice.equals(dbBill.getPay())) {
wxBillProperty.setStatus(EnumBillRentStatus.PAID.getCode());
}
wxBillProperty.setUpdatetime(updateDate);
wxBillPropertyMapper.updateByPrimaryKeySelective(wxBillProperty);
//账单日志
addBillAction(id, oldPrice, newPrice, user);
} else if (billType.equals(EnumBillTypeParam.PROPERTY_DEPOSIT.getCode())) {
WxBillPropertyDeposit dbBill = wxBillPropertyDepositMapper.selectByPrimaryKey(id);
//物业押金账单更新
WxBillPropertyDeposit wxBillPropertyDeposit = new WxBillPropertyDeposit();
wxBillPropertyDeposit.setId(id);
wxBillPropertyDeposit.setReceivePay(newPrice);
wxBillPropertyDeposit.setOwe(newPrice - dbBill.getPay());
if (newPrice.equals(dbBill.getPay())) {
wxBillPropertyDeposit.setStatus(EnumBillRentStatus.PAID.getCode());
}
wxBillPropertyDeposit.setUpdatetime(updateDate);
wxBillPropertyDepositMapper.updateByPrimaryKeySelective(wxBillPropertyDeposit);
//账单日志
addBillAction(id, oldPrice, newPrice, user);
} else if (billType.equals(EnumBillTypeParam.WATER.getCode())) {
//水费账单更新
updateDailyBill(id, newPrice, updateDate);
//账单日志
addBillAction(id, oldPrice, newPrice, user);
} else if (billType.equals(EnumBillTypeParam.POWER.getCode())) {
//电费账单更新
updateDailyBill(id, newPrice, updateDate);
//账单日志
addBillAction(id, oldPrice, newPrice, user);
} else if (billType.equals(EnumBillTypeParam.AIR_CONDITIONING.getCode())) {
//空调费账单更新
updateDailyBill(id, newPrice, updateDate);
//账单日志
addBillAction(id, oldPrice, newPrice, user);
} else if (billType.equals(EnumBillTypeParam.ROUTINE.getCode())) {
WxBillOther dbBill = wxBillOtherMapper.selectByPrimaryKey(id);
//其他费用账单更新
WxBillOther wxBillOther = new WxBillOther();
wxBillOther.setId(id);
wxBillOther.setReceivePay(newPrice);
wxBillOther.setOwe(newPrice - dbBill.getPay());
if (newPrice.equals(dbBill.getPay())) {
wxBillOther.setStatus(EnumBillRentStatus.PAID.getCode());
}
wxBillOther.setUpdatetime(updateDate);
wxBillOtherMapper.updateByPrimaryKeySelective(wxBillOther);
//账单日志
addBillAction(id, oldPrice, newPrice, user);
} else if (billType.equals(EnumBillTypeParam.ATHER_DEPOSIT.getCode())) {
WxBillOtherDeposit dbBill = wxBillOtherDepositMapper.selectByPrimaryKey(id);
//其他押金账单更新
WxBillOtherDeposit wxBillOtherDeposit = new WxBillOtherDeposit();
wxBillOtherDeposit.setId(id);
wxBillOtherDeposit.setReceivePay(newPrice);
wxBillOtherDeposit.setOwe(newPrice - dbBill.getPay());
if (newPrice.equals(dbBill.getPay())) {
wxBillOtherDeposit.setStatus(EnumBillRentStatus.PAID.getCode());
}
wxBillOtherDeposit.setUpdatetime(updateDate);
wxBillOtherDepositMapper.updateByPrimaryKeySelective(wxBillOtherDeposit);
//账单日志
addBillAction(id, oldPrice, newPrice, user);
} else {
logger.info("未找到账单类型");
}
return new ResultData();
}

@Override
public void addBillAction(Long billId, Long oldPrice, Long newPrice, MallUserInfo mallUserInfo) {
WxBillAction wxBillAction = new WxBillAction();
wxBillAction.setBillId(billId);
wxBillAction.setOldPrice(oldPrice);
wxBillAction.setNewPrice(newPrice);
wxBillActionService.modifyBill(wxBillAction, mallUserInfo);
}

public void updateDailyBill(Long businessId, Long newPrice, Date updateDate) {
WxBillDaily dbBill = wxBillDailyMapper.selectByPrimaryKey(businessId);
WxBillDaily wxBillDaily = new WxBillDaily();
wxBillDaily.setId(businessId);
wxBillDaily.setReceivePay(newPrice);
wxBillDaily.setOwe(newPrice - dbBill.getPay());
if (newPrice.equals(dbBill.getPay())) {
wxBillDaily.setStatus(EnumBillRentStatus.PAID.getCode());
}
wxBillDaily.setUpdatetime(updateDate);
wxBillDailyMapper.updateByPrimaryKeySelective(wxBillDaily);
}

@Override
public Object getBillInfo(WxBillAll record) {



+ 11
- 125
mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java Просмотреть файл

@@ -12,6 +12,7 @@ import com.iformall.domain.po.msg.MailMsg;
import com.iformall.domain.po.msg.WxMsgRecord;
import com.iformall.domain.vo.FlowUserVo;
import com.iformall.domain.vo.UserTaskVo;
import com.iformall.domain.vo.WxBillAll;
import com.iformall.enums.*;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.*;
@@ -100,6 +101,9 @@ public class WxFlowServiceImpl implements WxFlowService {
private WxFlowModelMapper wxFlowModelMapper;
@Autowired
private WxFlowConfigMapper wxFlowConfigMapper;
@Autowired
private WxBillAllService wxBillAllService;


/**
* 获取流程key
@@ -212,135 +216,17 @@ public class WxFlowServiceImpl implements WxFlowService {
Integer billType = (Integer) getVariableByKey(variables, "billType");
Long oldPrice = Long.parseLong(getVariableByKey(variables, "oldPrice").toString());
Long newPrice = Long.parseLong(getVariableByKey(variables, "newPrice").toString());
Date updateDate = new Date();
MallUserInfo mallUserInfo = (MallUserInfo) SecurityUtils.getSubject().getSession().getAttribute("userSession");
if (billType.equals(EnumBillTypeParam.RENT.getCode())) {
WxBillRent dbBill = wxBillRentMapper.selectByPrimaryKey(businessId);
//租赁账单更新
WxBillRent wxBillRent = new WxBillRent();
wxBillRent.setId(businessId);
wxBillRent.setReceivePay(newPrice);
wxBillRent.setOwe(newPrice - dbBill.getPay());
if (newPrice.equals(dbBill.getPay())) {
wxBillRent.setStatus(EnumBillRentStatus.PAID.getCode());
}
wxBillRent.setUpdatetime(updateDate);
wxBillRentMapper.updateByPrimaryKeySelective(wxBillRent);
//账单日志
addBillAction(businessId, oldPrice, newPrice, mallUserInfo);
} else if (billType.equals(EnumBillTypeParam.RENT_DEPOSIT.getCode())) {
WxBillDeposit dbBill = wxBillDepositMapper.selectByPrimaryKey(businessId);
//租赁押金账单更新
WxBillDeposit wxBillDeposit = new WxBillDeposit();
wxBillDeposit.setId(businessId);
wxBillDeposit.setReceivePay(newPrice);
wxBillDeposit.setOwe(newPrice - dbBill.getPay());
if (newPrice.equals(dbBill.getPay())) {
wxBillDeposit.setStatus(EnumBillRentStatus.PAID.getCode());
}
wxBillDeposit.setUpdatetime(updateDate);
wxBillDepositMapper.updateByPrimaryKeySelective(wxBillDeposit);
//账单日志
addBillAction(businessId, oldPrice, newPrice, mallUserInfo);
} else if (billType.equals(EnumBillTypeParam.PROPERTY.getCode())) {
WxBillProperty dbBill = wxBillPropertyMapper.selectByPrimaryKey(businessId);
//物业账单更新
WxBillProperty wxBillProperty = new WxBillProperty();
wxBillProperty.setId(businessId);
wxBillProperty.setReceivePay(newPrice);
wxBillProperty.setOwe(newPrice - dbBill.getPay());
if (newPrice.equals(dbBill.getPay())) {
wxBillProperty.setStatus(EnumBillRentStatus.PAID.getCode());
}
wxBillProperty.setUpdatetime(updateDate);
wxBillPropertyMapper.updateByPrimaryKeySelective(wxBillProperty);
//账单日志
addBillAction(businessId, oldPrice, newPrice, mallUserInfo);
} else if (billType.equals(EnumBillTypeParam.PROPERTY_DEPOSIT.getCode())) {
WxBillPropertyDeposit dbBill = wxBillPropertyDepositMapper.selectByPrimaryKey(businessId);
//物业押金账单更新
WxBillPropertyDeposit wxBillPropertyDeposit = new WxBillPropertyDeposit();
wxBillPropertyDeposit.setId(businessId);
wxBillPropertyDeposit.setReceivePay(newPrice);
wxBillPropertyDeposit.setOwe(newPrice - dbBill.getPay());
if (newPrice.equals(dbBill.getPay())) {
wxBillPropertyDeposit.setStatus(EnumBillRentStatus.PAID.getCode());
}
wxBillPropertyDeposit.setUpdatetime(updateDate);
wxBillPropertyDepositMapper.updateByPrimaryKeySelective(wxBillPropertyDeposit);
//账单日志
addBillAction(businessId, oldPrice, newPrice, mallUserInfo);
} else if (billType.equals(EnumBillTypeParam.WATER.getCode())) {
//水费账单更新
updateDailyBill(businessId, newPrice, updateDate);
//账单日志
addBillAction(businessId, oldPrice, newPrice, mallUserInfo);
} else if (billType.equals(EnumBillTypeParam.POWER.getCode())) {
//电费账单更新
updateDailyBill(businessId, newPrice, updateDate);
//账单日志
addBillAction(businessId, oldPrice, newPrice, mallUserInfo);
} else if (billType.equals(EnumBillTypeParam.AIR_CONDITIONING.getCode())) {
//空调费账单更新
updateDailyBill(businessId, newPrice, updateDate);
//账单日志
addBillAction(businessId, oldPrice, newPrice, mallUserInfo);
} else if (billType.equals(EnumBillTypeParam.ROUTINE.getCode())) {
WxBillOther dbBill = wxBillOtherMapper.selectByPrimaryKey(businessId);
//其他费用账单更新
WxBillOther wxBillOther = new WxBillOther();
wxBillOther.setId(businessId);
wxBillOther.setReceivePay(newPrice);
wxBillOther.setOwe(newPrice - dbBill.getPay());
if (newPrice.equals(dbBill.getPay())) {
wxBillOther.setStatus(EnumBillRentStatus.PAID.getCode());
}
wxBillOther.setUpdatetime(updateDate);
wxBillOtherMapper.updateByPrimaryKeySelective(wxBillOther);
//账单日志
addBillAction(businessId, oldPrice, newPrice, mallUserInfo);
} else if (billType.equals(EnumBillTypeParam.ATHER_DEPOSIT.getCode())) {
WxBillOtherDeposit dbBill = wxBillOtherDepositMapper.selectByPrimaryKey(businessId);
//其他押金账单更新
WxBillOtherDeposit wxBillOtherDeposit = new WxBillOtherDeposit();
wxBillOtherDeposit.setId(businessId);
wxBillOtherDeposit.setReceivePay(newPrice);
wxBillOtherDeposit.setOwe(newPrice - dbBill.getPay());
if (newPrice.equals(dbBill.getPay())) {
wxBillOtherDeposit.setStatus(EnumBillRentStatus.PAID.getCode());
}
wxBillOtherDeposit.setUpdatetime(updateDate);
wxBillOtherDepositMapper.updateByPrimaryKeySelective(wxBillOtherDeposit);
//账单日志
addBillAction(businessId, oldPrice, newPrice, mallUserInfo);
} else {
logger.info("未找到账单类型");
}
MallUserInfo user = (MallUserInfo) SecurityUtils.getSubject().getSession().getAttribute("userSession");
WxBillAll wxBillAll = new WxBillAll();
wxBillAll.setId(businessId);
wxBillAll.setBillTypeValue(billType);
wxBillAll.setOldPrice(oldPrice);
wxBillAll.setNewPrice(newPrice);
wxBillAllService.updateReceivePay(wxBillAll, user);
}
}
}

public void updateDailyBill(Long businessId, Long newPrice, Date updateDate) {
WxBillDaily dbBill = wxBillDailyMapper.selectByPrimaryKey(businessId);
WxBillDaily wxBillDaily = new WxBillDaily();
wxBillDaily.setId(businessId);
wxBillDaily.setReceivePay(newPrice);
wxBillDaily.setOwe(newPrice - dbBill.getPay());
if (newPrice.equals(dbBill.getPay())) {
wxBillDaily.setStatus(EnumBillRentStatus.PAID.getCode());
}
wxBillDaily.setUpdatetime(updateDate);
wxBillDailyMapper.updateByPrimaryKeySelective(wxBillDaily);
}

public void addBillAction(Long billId, Long oldPrice, Long newPrice, MallUserInfo mallUserInfo) {
WxBillAction wxBillAction = new WxBillAction();
wxBillAction.setBillId(billId);
wxBillAction.setOldPrice(oldPrice);
wxBillAction.setNewPrice(newPrice);
wxBillActionService.modifyBill(wxBillAction, mallUserInfo);
}

public Map<String,Object> mallUserInfoToMap(MallUserInfo userInfo){
try {
Map<String, Object> map = new HashMap<>();


Загрузка…
Отмена
Сохранить