瀏覽代碼

[账单][修改][修改滞纳金展示逻辑]

release_toaliyun_real
luozukai 6 年之前
父節點
當前提交
8e1795176e
共有 14 個檔案被更改,包括 120 行新增23 行删除
  1. +41
    -4
      mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java
  2. +4
    -0
      mallinkAdmin/src/main/java/com/iformall/tenant/TenantInfoImpl.java
  3. +2
    -0
      mallinkAdmin/src/main/resources/db/migration/V201907301447__L_ALTER_CONTENT.sql
  4. +43
    -19
      mallinkSchedule/src/main/java/com/iformall/schedule/LatePayBillActionSchedule.java
  5. +2
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxBillPropertyMapper.java
  6. +1
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java
  7. +2
    -0
      mallinkService/src/main/java/com/iformall/service/WxBillPropertyService.java
  8. +1
    -0
      mallinkService/src/main/java/com/iformall/service/WxBillRentService.java
  9. +3
    -0
      mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java
  10. +4
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyServiceImpl.java
  11. +5
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java
  12. +1
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java
  13. +6
    -0
      mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml
  14. +5
    -0
      mallinkService/src/main/resources/mapper/WxBillRentMapper.xml

+ 41
- 4
mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java 查看文件

@@ -2,19 +2,19 @@ package com.iformall.controller.contract;


import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ErrorCode; import com.iformall.common.ErrorCode;
import com.iformall.common.IdWorker;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController; import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.*; import com.iformall.domain.po.*;
import com.iformall.enums.EnumBillAction;
import com.iformall.enums.EnumFromType; import com.iformall.enums.EnumFromType;
import com.iformall.enums.EnumIsPreview; 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.WxRentContractMapper; import com.iformall.mapper.WxRentContractMapper;
import com.iformall.service.WxBillRentService;
import com.iformall.service.WxMerchantService;
import com.iformall.service.WxPayAccountBillService;
import com.iformall.service.WxRentContractService;
import com.iformall.service.*;
import com.iformall.utils.DateUtils; import com.iformall.utils.DateUtils;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
@@ -26,6 +26,7 @@ import org.springframework.web.bind.annotation.*;


import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;


@@ -48,6 +49,42 @@ public class WxRentContractController extends BaseController {
@Autowired @Autowired
private WxRentContractMapper wxRentContractMapper; private WxRentContractMapper wxRentContractMapper;


@Autowired
private WxBillActionMapper wxBillActionMapper;
@Autowired
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);
}
return new ResultData();
}

@GetMapping("getDateDiff") @GetMapping("getDateDiff")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "startDate", value = "开始时间", dataType = "string", paramType = "query", required = true), @ApiImplicitParam(name = "startDate", value = "开始时间", dataType = "string", paramType = "query", required = true),


+ 4
- 0
mallinkAdmin/src/main/java/com/iformall/tenant/TenantInfoImpl.java 查看文件

@@ -110,6 +110,10 @@ public class TenantInfoImpl implements TenantInfo {
return true; return true;
if ("com.iformall.mapper.WxBusinessMapper.devoteList".equals(ms.getId())) if ("com.iformall.mapper.WxBusinessMapper.devoteList".equals(ms.getId()))
return true; return true;

if ("com.iformall.mapper.WxBillRentMapper.findLatePayBill".equals(ms.getId()))
return true;

return false; return false;
} }
} }

+ 2
- 0
mallinkAdmin/src/main/resources/db/migration/V201907301447__L_ALTER_CONTENT.sql 查看文件

@@ -0,0 +1,2 @@
alter table wx_bill_action modify `user_id` BIGINT(20) NULL DEFAULT NULL;
alter table wx_bill_action modify `phone` VARCHAR(50) NULL DEFAULT NULL;

+ 43
- 19
mallinkSchedule/src/main/java/com/iformall/schedule/LatePayBillActionSchedule.java 查看文件

@@ -1,15 +1,20 @@
package com.iformall.schedule; package com.iformall.schedule;


import com.iformall.domain.po.WxMall;
import com.iformall.domain.vo.WxBillAll;
import com.iformall.mapper.WxMallMapper;
import com.iformall.service.WxBillAllService;
import com.iformall.common.IdWorker;
import com.iformall.domain.po.WxBillAction;
import com.iformall.domain.po.WxBillProperty;
import com.iformall.domain.po.WxBillRent;
import com.iformall.enums.EnumBillAction;
import com.iformall.mapper.WxBillActionMapper;
import com.iformall.service.WxBillPropertyService;
import com.iformall.service.WxBillRentService;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; 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.util.Date;
import java.util.List; import java.util.List;


/** /**
@@ -17,31 +22,50 @@ import java.util.List;
*/ */
@Component @Component
public class LatePayBillActionSchedule { public class LatePayBillActionSchedule {

private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final Logger logger = LoggerFactory.getLogger(this.getClass());


@Autowired @Autowired
private WxBillAllService wxBillAllService;

private WxBillRentService wxBillRentService;
@Autowired @Autowired
private WxMallMapper wxMallMapper;
private WxBillPropertyService wxBillPropertyService;
@Autowired
private WxBillActionMapper wxBillActionMapper;


/** /**
* 每天1点执行
* 每天凌晨1点执行
*/ */
@Scheduled(cron = "0 0 1 * * ?") @Scheduled(cron = "0 0 1 * * ?")
public void updateBillStatus() { public void updateBillStatus() {
logger.info("账单状态更新开始");

List<WxMall> wxMalls = wxMallMapper.findList(null);
for (WxMall wxMall : wxMalls) {
String tenantId = wxMall.getTenantId();
WxBillAll wxBillAll = new WxBillAll();
wxBillAll.setTenantId(tenantId);
wxBillAllService.updateBillStatus(wxBillAll);
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.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()+"元");
billAction.setUpdatetime(new Date());
wxBillActionMapper.insertSelective(billAction);
} }


logger.info("账单状态更新结束");
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()+"元");
billAction.setUpdatetime(new Date());
wxBillActionMapper.insertSelective(billAction);
}
logger.info("账单滞纳金更新结束");
} }





+ 2
- 0
mallinkService/src/main/java/com/iformall/mapper/WxBillPropertyMapper.java 查看文件

@@ -44,4 +44,6 @@ public interface WxBillPropertyMapper extends CommonMapper<WxBillProperty, Long>
void insertBills(List<WxBillProperty> resultList); void insertBills(List<WxBillProperty> resultList);


WxBillProperty selectBillOne(WxBillProperty propertyQuery); WxBillProperty selectBillOne(WxBillProperty propertyQuery);

List<WxBillProperty> findLatePayBill();
} }

+ 1
- 0
mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java 查看文件

@@ -43,4 +43,5 @@ public interface WxBillRentMapper extends CommonMapper<WxBillRent, Long> {


WxBillRent selectBillOne(WxBillRent rentQuery); WxBillRent selectBillOne(WxBillRent rentQuery);


List<WxBillRent> findLatePayBill();
} }

+ 2
- 0
mallinkService/src/main/java/com/iformall/service/WxBillPropertyService.java 查看文件

@@ -8,6 +8,7 @@ import com.iformall.domain.po.WxBillRent;


import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map; import java.util.Map;


/** /**
@@ -62,4 +63,5 @@ public interface WxBillPropertyService {


void exportBill(HttpServletRequest request, HttpServletResponse response, WxBillProperty wxBillProperty); void exportBill(HttpServletRequest request, HttpServletResponse response, WxBillProperty wxBillProperty);


List<WxBillProperty> findLatePayBill();
} }

+ 1
- 0
mallinkService/src/main/java/com/iformall/service/WxBillRentService.java 查看文件

@@ -63,4 +63,5 @@ public interface WxBillRentService {


void exportBill(HttpServletRequest request, HttpServletResponse response, WxBillRent wxBillRent); void exportBill(HttpServletRequest request, HttpServletResponse response, WxBillRent wxBillRent);


List<WxBillRent> findLatePayBill();
} }

+ 3
- 0
mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java 查看文件

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


import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.domain.po.WxBillProperty; import com.iformall.domain.po.WxBillProperty;
import com.iformall.domain.po.WxBillRent;
import com.iformall.domain.po.WxMerchant; import com.iformall.domain.po.WxMerchant;
import com.iformall.domain.po.WxPropertyContract; import com.iformall.domain.po.WxPropertyContract;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@@ -75,4 +76,6 @@ public interface WxPropertyContractService {
List<WxBillProperty> buildProperty(WxMerchant wxMerchant, Long userId, WxPropertyContract propertyContract, Integer isPreview,boolean saveDb); List<WxBillProperty> buildProperty(WxMerchant wxMerchant, Long userId, WxPropertyContract propertyContract, Integer isPreview,boolean saveDb);


WxPropertyContract getByBill(WxBillProperty billRent); WxPropertyContract getByBill(WxBillProperty billRent);


} }

+ 4
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyServiceImpl.java 查看文件

@@ -291,4 +291,8 @@ public class WxBillPropertyServiceImpl implements WxBillPropertyService {
excelService.exportExcel(datalist, null, billName, WxBillProperty.class, billName + ".xlsx", response, false); excelService.exportExcel(datalist, null, billName, WxBillProperty.class, billName + ".xlsx", response, false);
} }


@Override
public List<WxBillProperty> findLatePayBill() {
return wxBillPropertyMapper.findLatePayBill();
}
} }

+ 5
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java 查看文件

@@ -326,4 +326,9 @@ public class WxBillRentServiceImpl implements WxBillRentService {
} }
excelService.exportExcel(datalist, null, billName, WxBillRent.class, billName + ".xlsx", response, false); excelService.exportExcel(datalist, null, billName, WxBillRent.class, billName + ".xlsx", response, false);
} }

@Override
public List<WxBillRent> findLatePayBill() {
return wxBillRentMapper.findLatePayBill();
}
} }

+ 1
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java 查看文件

@@ -1099,6 +1099,7 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService
public WxPropertyContract getByBill(WxBillProperty billRent) { public WxPropertyContract getByBill(WxBillProperty billRent) {
return wxPropertyContractMapper.getByBill(billRent); return wxPropertyContractMapper.getByBill(billRent);
} }

} }






+ 6
- 0
mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml 查看文件

@@ -224,5 +224,11 @@
AND date_format(starttime,'%Y-%m-%d 00:00:00.0') = #{starttime} AND date_format(endtime,'%Y-%m-%d 00:00:00.0') = #{endtime} AND date_format(starttime,'%Y-%m-%d 00:00:00.0') = #{starttime} AND date_format(endtime,'%Y-%m-%d 00:00:00.0') = #{endtime}
</select> </select>


<select id="findLatePayBill" resultMap="BaseResultMap">
select r.* from wx_bill_property r left join wx_property_contract c on(r.`property_contract_id`=c.id)
where c.late_pay_ratio >0 and
DATEDIFF(now(),receive_date) >= if(c.late_pay_day=0,1,c.late_pay_day)
</select>

</mapper> </mapper>



+ 5
- 0
mallinkService/src/main/resources/mapper/WxBillRentMapper.xml 查看文件

@@ -226,5 +226,10 @@
AND date_format(starttime,'%Y-%m-%d 00:00:00.0') = #{starttime} AND date_format(endtime,'%Y-%m-%d 00:00:00.0') = #{endtime} AND date_format(starttime,'%Y-%m-%d 00:00:00.0') = #{starttime} AND date_format(endtime,'%Y-%m-%d 00:00:00.0') = #{endtime}
</select> </select>


<select id="findLatePayBill" resultMap="BaseResultMap">
select r.* from wx_bill_rent r left join wx_rent_contract c on(r.`rent_contract_id`=c.id)
where c.late_pay_ratio >0 and
DATEDIFF(now(),receive_date) >= if(c.late_pay_day=0,1,c.late_pay_day)
</select>
</mapper> </mapper>



Loading…
取消
儲存