Browse Source

[合同优化][添加][添加时间差查询api]

release_toaliyun_real
luozukai 7 years ago
parent
commit
1d78d43945
3 changed files with 29 additions and 11 deletions
  1. +17
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java
  2. +1
    -8
      mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java
  3. +11
    -3
      mallinkService/src/main/java/com/iformall/utils/DateUtils.java

+ 17
- 0
mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java View File

@@ -16,6 +16,7 @@ import com.iformall.service.WxBillRentService;
import com.iformall.service.WxPayAccountBillService; import com.iformall.service.WxPayAccountBillService;
import com.iformall.service.WxRentContractService; import com.iformall.service.WxRentContractService;
import com.iformall.service.WxShopService; import com.iformall.service.WxShopService;
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;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@@ -25,6 +26,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; 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.text.SimpleDateFormat;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;


@@ -45,6 +47,21 @@ public class WxRentContractController extends BaseController {
@Autowired @Autowired
private WxShopService wxShopService; private WxShopService wxShopService;


@GetMapping("getDateDiff")
@ApiImplicitParams({
@ApiImplicitParam(name = "startDate", value = "开始时间", dataType = "string", paramType = "query", required = true),
@ApiImplicitParam(name = "endtDate", value = "结束时间", dataType = "string", paramType = "query", required = true)})
@SystemControllerLog(description = "获取两个时间相差,返回n月零n天")
public ResultData getDateDiff(String startDate, String endtDate) throws Exception{
logger.debug("[" + getIpAddr() + "] WxRentContractController::getTimeDiff");
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
int[] array = DateUtils.getDiff(sd.parse(startDate),sd.parse(endtDate));
Map<String,Integer> map = new HashMap<>();
map.put("month",array[0]);
map.put("day",array[1]);
return new ResultData(map);
}

@GetMapping("list") @GetMapping("list")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),


+ 1
- 8
mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java View File

@@ -1038,15 +1038,8 @@ public class WxRentContractServiceImpl implements WxRentContractService {
if(wxRentContract.getRentalEndDate().after(wxBillRent.getEndtime())) { if(wxRentContract.getRentalEndDate().after(wxBillRent.getEndtime())) {
wxBillRent.setEndtime(wxRentContract.getRentalEndDate()); wxBillRent.setEndtime(wxRentContract.getRentalEndDate());
} }
ZoneId zone = ZoneId.systemDefault();


LocalDateTime localDateTime = LocalDateTime.ofInstant(wxBillRent.getStarttime().toInstant(), zone);
LocalDate startLocalDate = localDateTime.toLocalDate();

localDateTime = LocalDateTime.ofInstant(wxBillRent.getEndtime().toInstant(), zone);
LocalDate endLocalDate = localDateTime.toLocalDate();

int[] diff = DateUtils.getDiff(startLocalDate,endLocalDate);
int[] diff = DateUtils.getDiff(wxBillRent.getStarttime(),wxBillRent.getEndtime());
needpay = diff[0]*price; needpay = diff[0]*price;


double oneDayProce = (double) price/DateUtils.getMonthDayCount(wxRentContract.getRentalEndDate()); double oneDayProce = (double) price/DateUtils.getMonthDayCount(wxRentContract.getRentalEndDate());


+ 11
- 3
mallinkService/src/main/java/com/iformall/utils/DateUtils.java View File

@@ -6,7 +6,9 @@ import java.text.DateFormat;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.Period; import java.time.Period;
import java.time.ZoneId;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
@@ -1087,11 +1089,17 @@ public class DateUtils {


/** /**
* 计算两个时间 相差n个月 零n天 * 计算两个时间 相差n个月 零n天
* @param start
* @param end
* @return * @return
*/ */
public static int[] getDiff(LocalDate start,LocalDate end) {
public static int[] getDiff(Date startDate,Date endDate) {
ZoneId zone = ZoneId.systemDefault();

LocalDateTime localDateTime = LocalDateTime.ofInstant(startDate.toInstant(), zone);
LocalDate start = localDateTime.toLocalDate();

localDateTime = LocalDateTime.ofInstant(endDate.toInstant(), zone);
LocalDate end = localDateTime.toLocalDate();

if (!start.isBefore(end)) { if (!start.isBefore(end)) {
throw new IllegalArgumentException("Start must not be before end."); throw new IllegalArgumentException("Start must not be before end.");
} }


Loading…
Cancel
Save