Browse Source

添加订单详情接口

liu 1 year ago
parent
commit
26aebda6d1

+ 6 - 4
src/main/java/com/template/api/HousePriceAPI.java

@@ -3,10 +3,7 @@ package com.template.api;
 import com.template.model.dto.AlterPriceDto;
 import com.template.model.dto.AlterPriceDto;
 import com.template.model.result.CommonResult;
 import com.template.model.result.CommonResult;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.*;
 
 
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
 
 
@@ -35,4 +32,9 @@ public interface HousePriceAPI {
     @GetMapping("/queryExport")
     @GetMapping("/queryExport")
     @ApiOperation(value = "改价记录导出", notes = "改价记录导出", httpMethod = "GET")
     @ApiOperation(value = "改价记录导出", notes = "改价记录导出", httpMethod = "GET")
     void queryExport(HttpServletResponse response, String type, String houseName, String operatingTime, String priceTime, String operatingName);
     void queryExport(HttpServletResponse response, String type, String houseName, String operatingTime, String priceTime, String operatingName);
+
+    @GetMapping("/housePriceOrder")
+    @ApiOperation(value = "房价展示", notes = "房价展示", httpMethod = "GET")
+    CommonResult housePrice(@RequestParam String startTime,@RequestParam String endTime,@RequestParam String houseId);
+
 }
 }

+ 46 - 5
src/main/java/com/template/controller/HousePriceController.java

@@ -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);
+    }
 
 
 }
 }
 
 

+ 2 - 0
src/main/java/com/template/mapper/HousePriceMapper.java

@@ -33,4 +33,6 @@ public interface HousePriceMapper extends BaseMapper<HousePrice> {
     List<HousePrice> getHousePrice(@Param("startTime") String startTime,@Param("endTime") String endTime,@Param("id") Integer id);
     List<HousePrice> getHousePrice(@Param("startTime") String startTime,@Param("endTime") String endTime,@Param("id") Integer id);
 
 
     List<HousePrice> getDatePrice(@Param("localDate1") LocalDate localDate1,@Param("houseId") String houseId);
     List<HousePrice> getDatePrice(@Param("localDate1") LocalDate localDate1,@Param("houseId") String houseId);
+
+    List<HousePrice> getHousePriceOrder(@Param("localDateTime") LocalDateTime localDateTime,@Param("houseId") String houseId);
 }
 }

+ 14 - 0
src/main/java/com/template/model/vo/HousePriceOrderVo.java

@@ -0,0 +1,14 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class HousePriceOrderVo {
+//    时间
+    private String date;
+//    金额
+    private BigDecimal price;
+
+}

+ 2 - 0
src/main/java/com/template/services/HousePriceService.java

@@ -29,4 +29,6 @@ public interface HousePriceService extends IService<HousePrice> {
     List<HousePrice> getHousePrice(String startTime, String endTime, Integer id);
     List<HousePrice> getHousePrice(String startTime, String endTime, Integer id);
 
 
     List<HousePrice> getDatePrice(LocalDate localDate1, String houseId);
     List<HousePrice> getDatePrice(LocalDate localDate1, String houseId);
+
+    List<HousePrice> getHousePriceOrder(LocalDateTime localDateTime, String houseId);
 }
 }

+ 5 - 0
src/main/java/com/template/services/impl/HousePriceServiceImpl.java

@@ -54,4 +54,9 @@ public class HousePriceServiceImpl extends ServiceImpl<HousePriceMapper, HousePr
     public List<HousePrice> getDatePrice(LocalDate localDate1, String houseId) {
     public List<HousePrice> getDatePrice(LocalDate localDate1, String houseId) {
         return housePriceMapper.getDatePrice(localDate1,houseId);
         return housePriceMapper.getDatePrice(localDate1,houseId);
     }
     }
+
+    @Override
+    public List<HousePrice> getHousePriceOrder(LocalDateTime localDateTime, String houseId) {
+        return housePriceMapper.getHousePriceOrder(localDateTime,houseId);
+    }
 }
 }

+ 11 - 0
src/main/resources/mapper/template/HousePriceMapper.xml

@@ -57,6 +57,7 @@
           and substring_index(set_date, ',', -1) >= #{localDate}
           and substring_index(set_date, ',', -1) >= #{localDate}
           and FIND_IN_SET(house_id, #{ids})
           and FIND_IN_SET(house_id, #{ids})
           and deleted = 0
           and deleted = 0
+        ORDER BY id
     </select>
     </select>
 
 
     <select id="queryExport" resultType="com.template.model.vo.AlterPriceRecordVo">
     <select id="queryExport" resultType="com.template.model.vo.AlterPriceRecordVo">
@@ -131,5 +132,15 @@
           and substring_index(set_date, ',', -1) > #{localDate1}
           and substring_index(set_date, ',', -1) > #{localDate1}
           and house_id = #{houseId}
           and house_id = #{houseId}
           and deleted = 0
           and deleted = 0
+        ORDER BY id
+    </select>
+    <select id="getHousePriceOrder" resultType="com.template.model.pojo.HousePrice">
+        SELECT *
+        FROM `house_price`
+        WHERE #{localDateTime} >= substring_index(set_date, ',', 1)
+          and substring_index(set_date, ',', -1) > #{localDateTime}
+          and house_id = #{houseId}
+          and deleted = 0
+        ORDER BY id
     </select>
     </select>
 </mapper>
 </mapper>