|
@@ -15,10 +15,7 @@ import com.template.model.pojo.HousePrice;
|
|
|
import com.template.model.pojo.PermissionSetting;
|
|
import com.template.model.pojo.PermissionSetting;
|
|
|
import com.template.model.result.CommonResult;
|
|
import com.template.model.result.CommonResult;
|
|
|
import com.template.model.result.PageUtils;
|
|
import com.template.model.result.PageUtils;
|
|
|
-import com.template.model.vo.AlterPriceRecordVo;
|
|
|
|
|
-import com.template.model.vo.HousePricePageVo;
|
|
|
|
|
-import com.template.model.vo.HousePriceVo;
|
|
|
|
|
-import com.template.model.vo.RoomTypeVo;
|
|
|
|
|
|
|
+import com.template.model.vo.*;
|
|
|
import com.template.services.HousePriceService;
|
|
import com.template.services.HousePriceService;
|
|
|
import com.template.services.HouseService;
|
|
import com.template.services.HouseService;
|
|
|
import com.template.services.PermissionSettingService;
|
|
import com.template.services.PermissionSettingService;
|
|
@@ -28,11 +25,12 @@ import org.apache.poi.ss.usermodel.Workbook;
|
|
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-
|
|
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
|
|
|
+import java.time.Duration;
|
|
|
|
|
+import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.ZoneId;
|
|
import java.time.ZoneId;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.time.format.DateTimeFormatter;
|
|
@@ -353,7 +351,50 @@ public class HousePriceController implements HousePriceAPI {
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public CommonResult housePrice(String startTime, String endTime, String houseId) {
|
|
|
|
|
+ House house = houseService.getById(houseId);
|
|
|
|
|
+ if (ObjectUtils.isEmpty(house)) {
|
|
|
|
|
+ return CommonResult.fail("房型异常");
|
|
|
|
|
+ }
|
|
|
|
|
+// 原价
|
|
|
|
|
+ BigDecimal roomPrice = house.getRoomPrice();
|
|
|
|
|
+
|
|
|
|
|
+ DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
+ DateTimeFormatter dateTimeFormatter2 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
|
|
+ LocalDateTime start = LocalDateTime.parse(startTime, dateTimeFormatter1);
|
|
|
|
|
+ LocalDateTime end = LocalDateTime.parse(endTime, dateTimeFormatter1);
|
|
|
|
|
+ long l = Duration.between(start, end).toDays();
|
|
|
|
|
+ LocalDate startLocalDate = start.toLocalDate();
|
|
|
|
|
+ ArrayList<HousePriceOrderVo> vos = new ArrayList<>();
|
|
|
|
|
+ for (int i = 0; i < l; i++) {
|
|
|
|
|
+ HousePriceOrderVo vo = new HousePriceOrderVo();
|
|
|
|
|
+ LocalDate localDateTime = startLocalDate.plusDays(i);
|
|
|
|
|
+ vo.setDate(localDateTime.format(dateTimeFormatter2));
|
|
|
|
|
+ List<HousePrice> housePrices = housePriceService.getDatePrice(localDateTime, houseId);
|
|
|
|
|
+ if (housePrices.size()>0) {
|
|
|
|
|
+ HousePrice housePrice = housePrices.get(housePrices.size() - 1);
|
|
|
|
|
+ BigDecimal price = housePrice.getPrice();
|
|
|
|
|
+ vo.setPrice(price);
|
|
|
|
|
+ }else {
|
|
|
|
|
+// 没有改价记录则是原价
|
|
|
|
|
+ vo.setPrice(roomPrice);
|
|
|
|
|
+ }
|
|
|
|
|
+ vos.add(vo);
|
|
|
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+ return CommonResult.ok(vos);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public static void main(String[] args) {
|
|
|
|
|
+ String startTime="2024-08-14 08:00:00";
|
|
|
|
|
+ String endTime="2024-08-18 14:00:00";
|
|
|
|
|
+ DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
+ LocalDateTime start = LocalDateTime.parse(startTime, dateTimeFormatter1);
|
|
|
|
|
+ LocalDateTime end = LocalDateTime.parse(endTime, dateTimeFormatter1);
|
|
|
|
|
+ long l = Duration.between(start, end).toDays();
|
|
|
|
|
+ System.out.println("l = " + l);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|