Bläddra i källkod

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

release_toaliyun_real
luozukai 6 år sedan
förälder
incheckning
8e1795176e
14 ändrade filer med 120 tillägg och 23 borttagningar
  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 Visa fil

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

import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ErrorCode;
import com.iformall.common.IdWorker;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.*;
import com.iformall.enums.EnumBillAction;
import com.iformall.enums.EnumFromType;
import com.iformall.enums.EnumIsPreview;
import com.iformall.enums.EnumRentStartType;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.WxBillActionMapper;
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 io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -26,6 +26,7 @@ import org.springframework.web.bind.annotation.*;

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

@@ -48,6 +49,42 @@ public class WxRentContractController extends BaseController {
@Autowired
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")
@ApiImplicitParams({
@ApiImplicitParam(name = "startDate", value = "开始时间", dataType = "string", paramType = "query", required = true),


+ 4
- 0
mallinkAdmin/src/main/java/com/iformall/tenant/TenantInfoImpl.java Visa fil

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

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

return false;
}
}

+ 2
- 0
mallinkAdmin/src/main/resources/db/migration/V201907301447__L_ALTER_CONTENT.sql Visa fil

@@ -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 Visa fil

@@ -1,15 +1,20 @@
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.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

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

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

@Autowired
private WxBillAllService wxBillAllService;

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

/**
* 每天1点执行
* 每天凌晨1点执行
*/
@Scheduled(cron = "0 0 1 * * ?")
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 Visa fil

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

WxBillProperty selectBillOne(WxBillProperty propertyQuery);

List<WxBillProperty> findLatePayBill();
}

+ 1
- 0
mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java Visa fil

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

WxBillRent selectBillOne(WxBillRent rentQuery);

List<WxBillRent> findLatePayBill();
}

+ 2
- 0
mallinkService/src/main/java/com/iformall/service/WxBillPropertyService.java Visa fil

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

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

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

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

List<WxBillProperty> findLatePayBill();
}

+ 1
- 0
mallinkService/src/main/java/com/iformall/service/WxBillRentService.java Visa fil

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

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

List<WxBillRent> findLatePayBill();
}

+ 3
- 0
mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java Visa fil

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

import com.iformall.common.ResultData;
import com.iformall.domain.po.WxBillProperty;
import com.iformall.domain.po.WxBillRent;
import com.iformall.domain.po.WxMerchant;
import com.iformall.domain.po.WxPropertyContract;
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);

WxPropertyContract getByBill(WxBillProperty billRent);


}

+ 4
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxBillPropertyServiceImpl.java Visa fil

@@ -291,4 +291,8 @@ public class WxBillPropertyServiceImpl implements WxBillPropertyService {
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 Visa fil

@@ -326,4 +326,9 @@ public class WxBillRentServiceImpl implements WxBillRentService {
}
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 Visa fil

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

}




+ 6
- 0
mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml Visa fil

@@ -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}
</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>


+ 5
- 0
mallinkService/src/main/resources/mapper/WxBillRentMapper.xml Visa fil

@@ -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}
</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>


Laddar…
Avbryt
Spara