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

[滞纳金][修改][修改滞纳金自动累加逻辑]

release_toaliyun_real
luozukai 6 лет назад
Родитель
Сommit
110ac9e605
4 измененных файлов: 78 добавлений и 57 удалений
  1. +42
    -28
      mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java
  2. +4
    -0
      mallinkAdmin/src/main/java/com/iformall/tenant/TenantInfoImpl.java
  3. +31
    -28
      mallinkSchedule/src/main/java/com/iformall/schedule/LatePayBillActionSchedule.java
  4. +1
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java

+ 42
- 28
mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java Просмотреть файл

@@ -13,6 +13,8 @@ import com.iformall.enums.EnumIsPreview;
import com.iformall.enums.EnumRentStartType; import com.iformall.enums.EnumRentStartType;
import com.iformall.exception.MallinkException; import com.iformall.exception.MallinkException;
import com.iformall.mapper.WxBillActionMapper; import com.iformall.mapper.WxBillActionMapper;
import com.iformall.mapper.WxBillPropertyMapper;
import com.iformall.mapper.WxBillRentMapper;
import com.iformall.mapper.WxRentContractMapper; import com.iformall.mapper.WxRentContractMapper;
import com.iformall.service.*; import com.iformall.service.*;
import com.iformall.utils.DateUtils; import com.iformall.utils.DateUtils;
@@ -49,38 +51,50 @@ public class WxRentContractController extends BaseController {
@Autowired @Autowired
private WxRentContractMapper wxRentContractMapper; private WxRentContractMapper wxRentContractMapper;



@Autowired
WxBillRentMapper wxBillRentMapper;
@Autowired
WxBillPropertyMapper wxBillPropertyMapper;
@Autowired @Autowired
private WxBillActionMapper wxBillActionMapper; private WxBillActionMapper wxBillActionMapper;
@Autowired @Autowired
private WxBillPropertyService wxBillPropertyService; private WxBillPropertyService wxBillPropertyService;
@GetMapping("test")
@SystemControllerLog(description = "获取两个时间相差,返回n月零n天")
public ResultData test(String startDate, String endDate) throws Exception{
final IdWorker idWorker = IdWorker.get();
List<WxBillRent> billRentList = wxBillRentService.findLatePayBill();
for (WxBillRent wxBillRent : billRentList) {
WxBillAction billAction = new WxBillAction();
billAction.setId(idWorker.nextId());
billAction.setCreatetime(new Date());
billAction.setUserName("系统端");
billAction.setAction(EnumBillAction.UPDATE_LATE_PAY_MONEY.getCode());
billAction.setBillId(wxBillRent.getId());
BigDecimal divide = new BigDecimal(wxBillRent.getOwe()).multiply(new BigDecimal(wxBillRent.getLatePayRatio())).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP);
billAction.setDetails("系统计入"+ divide.toString()+"元");
wxBillActionMapper.insertSelective(billAction);
}

List<WxBillProperty> billPropertyList = wxBillPropertyService.findLatePayBill();
for (WxBillProperty wxBillRent : billPropertyList) {
WxBillAction billAction = new WxBillAction();
billAction.setId(idWorker.nextId());
billAction.setCreatetime(new Date());
billAction.setUserName("系统端");
billAction.setAction(EnumBillAction.UPDATE_LATE_PAY_MONEY.getCode());
billAction.setBillId(wxBillRent.getId());
BigDecimal divide = new BigDecimal(wxBillRent.getOwe()).multiply(new BigDecimal(wxBillRent.getLatePayRatio())).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP);
billAction.setDetails("系统计入"+ divide.toString()+"元");
wxBillActionMapper.insertSelective(billAction);
@GetMapping("autolatePay")
@SystemControllerLog(description = "autolatePay")
public ResultData autolatePay(String startDate, String endDate) throws Exception{
try {
logger.info("账单滞纳金更新开始");
final IdWorker idWorker = IdWorker.get();
List<WxBillRent> billRentList = wxBillRentService.findLatePayBill();
for (WxBillRent wxBillRent : billRentList) {
WxBillAction billAction = new WxBillAction();
billAction.setId(idWorker.nextId());
billAction.setUserName("系统端");
billAction.setAction(EnumBillAction.UPDATE_LATE_PAY_MONEY.getCode());
billAction.setBillId(wxBillRent.getId());
BigDecimal divide = new BigDecimal(wxBillRent.getOwe()).multiply(new BigDecimal(wxBillRent.getLatePayRatio())).divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP);
billAction.setDetails("系统计入"+ divide.toString()+"元");
wxBillActionMapper.insertSelective(billAction);
}

List<WxBillProperty> billPropertyList = wxBillPropertyService.findLatePayBill();
for (WxBillProperty wxBillRent : billPropertyList) {
WxBillAction billAction = new WxBillAction();
billAction.setId(idWorker.nextId());
billAction.setUserName("系统端");
billAction.setAction(EnumBillAction.UPDATE_LATE_PAY_MONEY.getCode());
billAction.setBillId(wxBillRent.getId());
BigDecimal divide = new BigDecimal(wxBillRent.getOwe()).multiply(new BigDecimal(wxBillRent.getLatePayRatio())).divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP);
billAction.setDetails("系统计入"+ divide.toString()+"元");
wxBillActionMapper.insertSelective(billAction);
}
wxBillRentMapper.autoAddLatePayPrice();
wxBillPropertyMapper.autoAddLatePayPrice();
logger.info("账单滞纳金更新结束");
}catch (Exception e){
logger.error("LatePayBillActionSchedule error! message:{}",e.getMessage());
logger.error("LatePayBillActionSchedule error!",e);
} }
return new ResultData(); return new ResultData();
} }


+ 4
- 0
mallinkAdmin/src/main/java/com/iformall/tenant/TenantInfoImpl.java Просмотреть файл

@@ -118,6 +118,10 @@ public class TenantInfoImpl implements TenantInfo {
return true; return true;
if ("com.iformall.mapper.WxBillPropertyMapper.updateNotPaidStatus".equals(ms.getId())) if ("com.iformall.mapper.WxBillPropertyMapper.updateNotPaidStatus".equals(ms.getId()))
return true; return true;
if ("com.iformall.mapper.WxBillRentMapper.autoAddLatePayPrice".equals(ms.getId()))
return true;
if ("com.iformall.mapper.WxBillPropertyMapper.autoAddLatePayPrice".equals(ms.getId()))
return true;
return false; return false;
} }
} }

+ 31
- 28
mallinkSchedule/src/main/java/com/iformall/schedule/LatePayBillActionSchedule.java Просмотреть файл

@@ -16,7 +16,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
import java.util.List; import java.util.List;


/** /**
@@ -41,35 +40,39 @@ public class LatePayBillActionSchedule {
*/ */
@Scheduled(cron = "0 0 1 * * ?") @Scheduled(cron = "0 0 1 * * ?")
public void updateBillStatus() { public void updateBillStatus() {
logger.info("账单滞纳金更新开始");
final IdWorker idWorker = IdWorker.get();
List<WxBillRent> billRentList = wxBillRentService.findLatePayBill();
for (WxBillRent wxBillRent : billRentList) {
WxBillAction billAction = new WxBillAction();
billAction.setId(idWorker.nextId());
billAction.setUserName("系统端");
billAction.setAction(EnumBillAction.UPDATE_LATE_PAY_MONEY.getCode());
billAction.setBillId(wxBillRent.getId());
BigDecimal divide = new BigDecimal(wxBillRent.getOwe()).multiply(new BigDecimal(wxBillRent.getLatePayRatio())).divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP);
billAction.setDetails("系统计入"+ divide.toString()+"元");
wxBillActionMapper.insertSelective(billAction);
}
try {
logger.info("账单滞纳金更新开始");
final IdWorker idWorker = IdWorker.get();
List<WxBillRent> billRentList = wxBillRentService.findLatePayBill();
for (WxBillRent wxBillRent : billRentList) {
WxBillAction billAction = new WxBillAction();
billAction.setId(idWorker.nextId());
billAction.setUserName("系统端");
billAction.setAction(EnumBillAction.UPDATE_LATE_PAY_MONEY.getCode());
billAction.setBillId(wxBillRent.getId());
BigDecimal divide = new BigDecimal(wxBillRent.getOwe()).multiply(new BigDecimal(wxBillRent.getLatePayRatio())).divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP);
billAction.setDetails("系统计入"+ divide.toString()+"元");
wxBillActionMapper.insertSelective(billAction);
}


List<WxBillProperty> billPropertyList = wxBillPropertyService.findLatePayBill();
for (WxBillProperty wxBillRent : billPropertyList) {
WxBillAction billAction = new WxBillAction();
billAction.setId(idWorker.nextId());
billAction.setUserName("系统端");
billAction.setAction(EnumBillAction.UPDATE_LATE_PAY_MONEY.getCode());
billAction.setBillId(wxBillRent.getId());
BigDecimal divide = new BigDecimal(wxBillRent.getOwe()).multiply(new BigDecimal(wxBillRent.getLatePayRatio())).divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP);
billAction.setDetails("系统计入"+ divide.toString()+"元");
wxBillActionMapper.insertSelective(billAction);
List<WxBillProperty> billPropertyList = wxBillPropertyService.findLatePayBill();
for (WxBillProperty wxBillRent : billPropertyList) {
WxBillAction billAction = new WxBillAction();
billAction.setId(idWorker.nextId());
billAction.setUserName("系统端");
billAction.setAction(EnumBillAction.UPDATE_LATE_PAY_MONEY.getCode());
billAction.setBillId(wxBillRent.getId());
BigDecimal divide = new BigDecimal(wxBillRent.getOwe()).multiply(new BigDecimal(wxBillRent.getLatePayRatio())).divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP);
billAction.setDetails("系统计入"+ divide.toString()+"元");
wxBillActionMapper.insertSelective(billAction);
}
wxBillRentMapper.autoAddLatePayPrice();
wxBillPropertyMapper.autoAddLatePayPrice();
logger.info("账单滞纳金更新结束");
}catch (Exception e){
logger.error("LatePayBillActionSchedule error! message:{}",e.getMessage());
logger.error("LatePayBillActionSchedule error!",e);
} }

wxBillRentMapper.autoAddLatePayPrice();
wxBillPropertyMapper.autoAddLatePayPrice();
logger.info("账单滞纳金更新结束");
} }





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

@@ -263,7 +263,7 @@ public class WxFlowServiceImpl implements WxFlowService {
if(EnumRentContractAppStatus.FINISH.getCode().intValue() == applyStatus.intValue()) { if(EnumRentContractAppStatus.FINISH.getCode().intValue() == applyStatus.intValue()) {
//作废 //作废
wxCoupon.setStatus(EnumCouponStatus.COUPON_STATUS_TAKE_OFFF.getCode()); wxCoupon.setStatus(EnumCouponStatus.COUPON_STATUS_TAKE_OFFF.getCode());
wxCouponService.saveOrUpdate(wxCoupon);
wxCouponMapper.updateByPrimaryKeySelective(wxCoupon);
} }
} }
wxCoupon.setApprovalType(operateType); wxCoupon.setApprovalType(operateType);


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