Browse Source

调整均价

夏文涛 2 years ago
parent
commit
4ea32da0f4

+ 41 - 0
mhotel/src/com/happy/Model/Holiday.java

@@ -0,0 +1,41 @@
+package com.happy.Model;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @Description
+ * @Author  raojiaolong
+ * @String 2023-07-29
+ */
+@Data
+@EqualsAndHashCode
+public class Holiday {
+
+
+	private String id;
+
+	/**
+	 * 年份
+	 */
+	private String year;
+
+	/**
+	 * 日期
+	 */
+	private String date;
+
+	/**
+	 * 是否休息日
+     * 节假日休息日:1
+     * 节假日补班:2
+	 */
+	private Integer isRest;
+
+	/**
+	 * 节假日名称
+	 */
+	private String name;
+
+
+}

File diff suppressed because it is too large
+ 90 - 0
mhotel/src/com/happy/Until/HolidayUtil.java


+ 1 - 1
mhotel/src/com/happy/action/AppHomePageAction.java

@@ -255,7 +255,7 @@ public class AppHomePageAction extends ActionSupport implements ServletRequestAw
             }
             }
             houseData.setPrice(todayPrice.doubleValue());
             houseData.setPrice(todayPrice.doubleValue());
             if(dateStrs.size() > 0){
             if(dateStrs.size() > 0){
-                houseData.setPrice(houseData.getPrice() == 0.0 ? 0.0 : (houseData.getPrice() / dateStrs.size()));
+                houseData.setPrice(houseData.getPrice() == 0.0 ? 0.0 : (new BigDecimal(houseData.getPrice()).divide(new BigDecimal(dateStrs.size())).setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue()));
             }
             }
         }
         }
         //endregion
         //endregion

+ 63 - 0
mhotel/src/com/happy/action/HouseNumberStatusAction.java

@@ -1,6 +1,7 @@
 package com.happy.action;
 package com.happy.action;
 
 
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
+import com.happy.Model.Holiday;
 import com.happy.Until.GetHttpParam;
 import com.happy.Until.GetHttpParam;
 import com.happy.Until.ResUtil;
 import com.happy.Until.ResUtil;
 import com.happy.common.controller.BaseController;
 import com.happy.common.controller.BaseController;
@@ -13,6 +14,8 @@ import org.apache.struts2.ServletActionContext;
 import javax.annotation.Resource;
 import javax.annotation.Resource;
 import java.util.List;
 import java.util.List;
 
 
+import static com.happy.Until.HolidayUtil.getYearHoliday;
+
 public class HouseNumberStatusAction extends BaseController implements ModelDriven<HouseNumberStatusDto> {
 public class HouseNumberStatusAction extends BaseController implements ModelDriven<HouseNumberStatusDto> {
     private final HouseNumberStatusDto houseNumberStatusDto = new HouseNumberStatusDto();
     private final HouseNumberStatusDto houseNumberStatusDto = new HouseNumberStatusDto();
 
 
@@ -23,6 +26,66 @@ public class HouseNumberStatusAction extends BaseController implements ModelDriv
 
 
     @Resource(name = "HouseNumberStatusService")
     @Resource(name = "HouseNumberStatusService")
     private HouseNumberStatusService houseNumberStatusService;
     private HouseNumberStatusService houseNumberStatusService;
+
+    /**
+     * 根据年份获取节假日数据
+     */
+    public String queryHoliday(){
+        String year = houseNumberStatusDto.getYear();
+
+        if(year.length() > 4){
+            ResUtil.writeJson(ServletActionContext.getResponse(), new JSONObject() {{
+                put("message", "请输入年份");
+                put("code", 500);
+            }}.toString());
+            return null;
+        }
+
+        if(year == null){
+            ResUtil.writeJson(ServletActionContext.getResponse(), new JSONObject() {{
+                put("message", "请传入参数");
+                put("code", 500);
+            }}.toString());
+            return null;
+        }
+
+
+        List<Holiday> days = getYearHoliday("2023");
+
+        if(days == null){
+            ResUtil.writeJson(ServletActionContext.getResponse(), new JSONObject() {{
+                put("message", "第三方接口调用失败");
+                put("code", 500);
+            }}.toString());
+            return null;
+        }
+
+        if(days.size() <= 0){
+            ResUtil.writeJson(ServletActionContext.getResponse(), new JSONObject() {{
+                put("message", "第三方接口调用失败");
+                put("code", 500);
+            }}.toString());
+            return null;
+        }
+
+        houseNumberStatusService.deleteHolidayByYear(year);
+
+        int lenegth = houseNumberStatusService.saveHolidayBatch(days);
+        if(lenegth <= 0){
+            ResUtil.writeJson(ServletActionContext.getResponse(), new JSONObject() {{
+                put("message", "节假日数据存储失败");
+                put("code", 500);
+            }}.toString());
+            return null;
+        }
+
+        ResUtil.writeJson(ServletActionContext.getResponse(), new JSONObject() {{
+            put("message", "节假日数据存储成功");
+            put("code", 200);
+        }}.toString());
+        return null;
+    }
+
     /**
     /**
      * 表格数据 房态管理-房态管理
      * 表格数据 房态管理-房态管理
      */
      */

+ 1 - 1
mhotel/src/com/happy/action/HousePriceAction.java

@@ -358,7 +358,7 @@ public class HousePriceAction extends BaseController implements ModelDriven<Hous
                 data.setTopinfo("离店时间");
                 data.setTopinfo("离店时间");
             }else{
             }else{
                 if (datas.size() > 0) {
                 if (datas.size() > 0) {
-                    data.setTopinfo("11晚 共" + datas.get(0).getPrice());
+                    data.setTopinfo("1晚 共" + datas.get(0).getPrice());
                     dpv.setTotalPrice((dpv.getTotalPrice() == null ? 0 : dpv.getTotalPrice()) + datas.get(0).getPrice());
                     dpv.setTotalPrice((dpv.getTotalPrice() == null ? 0 : dpv.getTotalPrice()) + datas.get(0).getPrice());
                 } else {
                 } else {
                     data.setTopinfo("1晚 共" + housePrice);
                     data.setTopinfo("1晚 共" + housePrice);

+ 5 - 0
mhotel/src/com/happy/dao/HouseNumberStatusDao.java

@@ -1,11 +1,16 @@
 package com.happy.dao;
 package com.happy.dao;
 
 
+import com.happy.Model.Holiday;
 import com.happy.Model.HouseNumberStatus;
 import com.happy.Model.HouseNumberStatus;
 import com.happy.dto.HouseNumberStatusDto;
 import com.happy.dto.HouseNumberStatusDto;
 
 
 import java.util.List;
 import java.util.List;
 
 
 public interface HouseNumberStatusDao {
 public interface HouseNumberStatusDao {
+    int deleteHolidayByYear(String year);
+
+    int saveHolidayBatch(List<Holiday> list);
+
     int saveBatch(List<HouseNumberStatus> list);
     int saveBatch(List<HouseNumberStatus> list);
 
 
     int updateHouseNumberStatus(String bookId);
     int updateHouseNumberStatus(String bookId);

+ 45 - 0
mhotel/src/com/happy/dao/impl/HouseNumberStatusImplDao.java

@@ -1,6 +1,7 @@
 package com.happy.dao.impl;
 package com.happy.dao.impl;
 
 
 import com.happy.Model.Booking;
 import com.happy.Model.Booking;
+import com.happy.Model.Holiday;
 import com.happy.Model.HouseNumber;
 import com.happy.Model.HouseNumber;
 import com.happy.Model.HouseNumberStatus;
 import com.happy.Model.HouseNumberStatus;
 import com.happy.Until.BeanMapTool;
 import com.happy.Until.BeanMapTool;
@@ -36,6 +37,50 @@ public class HouseNumberStatusImplDao implements HouseNumberStatusDao {
         this.namedParameterJdbcTemplate = namedParameterJdbcTemplate;
         this.namedParameterJdbcTemplate = namedParameterJdbcTemplate;
     }
     }
 
 
+    /**
+     * ??????????
+     * @param year ??
+     * @return
+     */
+    @Override
+    public int deleteHolidayByYear(String year) {
+        String sql = "delete from holiday where year = :year";
+        MapSqlParameterSource sps = new MapSqlParameterSource();
+        sps.addValue("year",year);
+        int num = 0;
+        try{
+            num = namedParameterJdbcTemplate.update(sql, sps);
+        }
+        catch(Exception e){
+            e.printStackTrace();
+        }
+        return num;
+    }
+
+    /**
+     * 2023-09-20 a-jax ?????????
+     * @param list
+     * @return
+     */
+    @Override
+    public int saveHolidayBatch(List<Holiday> list) {
+        SqlParameterSource[] params = SqlParameterSourceUtils.createBatch(list.toArray());
+        String insertSql = "INSERT INTO holiday (id, year, date, is_rest, name)" +
+                " VALUES " +
+                " (:id,:year,:date,:isRest,:name) ";
+        List<MapSqlParameterSource> houseNumberList = new ArrayList<>();
+        for (Holiday h1 : list) {
+            MapSqlParameterSource mapSqlParameterSource = new MapSqlParameterSource();
+            mapSqlParameterSource.addValue("id", h1.getId());
+            mapSqlParameterSource.addValue("year", h1.getYear());
+            mapSqlParameterSource.addValue("date", h1.getDate());
+            mapSqlParameterSource.addValue("isRest", h1.getIsRest());
+            mapSqlParameterSource.addValue("name", h1.getName());
+            houseNumberList.add(mapSqlParameterSource);
+        }
+        int[] m = namedParameterJdbcTemplate.batchUpdate(insertSql, houseNumberList.toArray(new SqlParameterSource[0]));
+        return m.length;
+    }
 
 
     @Override
     @Override
     public int saveBatch(List<HouseNumberStatus> list) {
     public int saveBatch(List<HouseNumberStatus> list) {

+ 5 - 0
mhotel/src/com/happy/dto/HouseNumberStatusDto.java

@@ -53,4 +53,9 @@ public class HouseNumberStatusDto extends HouseNumberStatus {
      */
      */
     private String orderEndTime;
     private String orderEndTime;
     //endregion
     //endregion
+
+    /**
+     * 年份
+     */
+    private String year;
 }
 }

+ 1 - 1
mhotel/src/com/happy/service/FileService.java

@@ -66,7 +66,7 @@ public interface FileService {
      * @param linkId
      * @param linkId
      * @return
      * @return
      */
      */
-    public List<FileInfo> queryListByLinkId (String linkId);
+    List<FileInfo> queryListByLinkId (String linkId);
     /**
     /**
      * 描述:查询一条数据
      * 描述:查询一条数据
      * @param sqlx
      * @param sqlx

+ 5 - 0
mhotel/src/com/happy/service/HouseNumberStatusService.java

@@ -1,12 +1,17 @@
 package com.happy.service;
 package com.happy.service;
 
 
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
+import com.happy.Model.Holiday;
 import com.happy.Model.HouseNumberStatus;
 import com.happy.Model.HouseNumberStatus;
 import com.happy.dto.HouseNumberStatusDto;
 import com.happy.dto.HouseNumberStatusDto;
 
 
 import java.util.List;
 import java.util.List;
 
 
 public interface HouseNumberStatusService {
 public interface HouseNumberStatusService {
+    int deleteHolidayByYear(String year);
+
+    int saveHolidayBatch(List<Holiday> list);
+
     int saveBatch(List<HouseNumberStatus> list);
     int saveBatch(List<HouseNumberStatus> list);
 
 
     int updateHouseNumberStatus(String bookId);
     int updateHouseNumberStatus(String bookId);

+ 13 - 1
mhotel/src/com/happy/service/impl/HouseNumberStatusImplService.java

@@ -1,6 +1,7 @@
 package com.happy.service.impl;
 package com.happy.service.impl;
 
 
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
+import com.happy.Model.Holiday;
 import com.happy.Model.House;
 import com.happy.Model.House;
 import com.happy.Model.HouseNumber;
 import com.happy.Model.HouseNumber;
 import com.happy.Model.HouseNumberStatus;
 import com.happy.Model.HouseNumberStatus;
@@ -38,6 +39,17 @@ public class HouseNumberStatusImplService implements HouseNumberStatusService {
     @Resource(name = "housePriceDao")
     @Resource(name = "housePriceDao")
     public HousePriceDao housePriceDao;
     public HousePriceDao housePriceDao;
 
 
+
+    @Override
+    public int deleteHolidayByYear(String year) {
+        return houseNumberStatusDao.deleteHolidayByYear(year);
+    }
+
+    @Override
+    public int saveHolidayBatch(List<Holiday> list) {
+        return houseNumberStatusDao.saveHolidayBatch(list);
+    }
+
     @Override
     @Override
     public int saveBatch(List<HouseNumberStatus> list) {
     public int saveBatch(List<HouseNumberStatus> list) {
         return houseNumberStatusDao.saveBatch(list);
         return houseNumberStatusDao.saveBatch(list);
@@ -67,7 +79,7 @@ public class HouseNumberStatusImplService implements HouseNumberStatusService {
 
 
         String setDate = houseNumberStatusDto.getSetDate();
         String setDate = houseNumberStatusDto.getSetDate();
         Date startDate = DateUtil.parseDateOnly(setDate);
         Date startDate = DateUtil.parseDateOnly(setDate);
-        Date endDate = DateUtil.addDate(startDate, Calendar.DATE, 27);
+        Date endDate = DateUtil.addDate(startDate, Calendar.DATE, 28);
         String setDateWithEndDate = String.format("%s,%s", setDate, DateUtil.parseDateToStr(endDate, DateUtil.Time_Formatter_Day));
         String setDateWithEndDate = String.format("%s,%s", setDate, DateUtil.parseDateToStr(endDate, DateUtil.Time_Formatter_Day));
 
 
         //region 房间状态信息
         //region 房间状态信息