Преглед изворни кода

Merge branch 'master' of http://49.4.53.36:3000/hotel/hotel-saas-backend

qh пре 2 година
родитељ
комит
9ee6870444
27 измењених фајлова са 1524 додато и 3 уклоњено
  1. 253 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusRoomUtilitySettingController.java
  2. 128 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/BusRoomUtilitySetting.java
  3. 17 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusRoomUtilitySettingMapper.java
  4. 5 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/BusRoomUtilitySettingMapper.xml
  5. 14 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IBusRoomUtilitySettingService.java
  6. 19 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/BusRoomUtilitySettingServiceImpl.java
  7. 1 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/util/FindsBusDictsChildrenUtil.java
  8. 201 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/order/controller/CesOrderCommentController.java
  9. 183 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/order/controller/CesOrderMessageController.java
  10. 86 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/order/entity/CesOrderComment.java
  11. 82 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/order/entity/CesOrderMessage.java
  12. 17 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/order/mapper/CesOrderCommentMapper.java
  13. 17 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/order/mapper/CesOrderMessageMapper.java
  14. 5 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/order/mapper/xml/CesOrderCommentMapper.xml
  15. 5 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/order/mapper/xml/CesOrderMessageMapper.xml
  16. 13 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/order/service/ICesOrderCommentService.java
  17. 14 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/order/service/ICesOrderMessageService.java
  18. 18 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/order/service/impl/CesOrderCommentServiceImpl.java
  19. 19 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/order/service/impl/CesOrderMessageServiceImpl.java
  20. 234 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/rooms/controller/CesRoomLayoutPriceDateController.java
  21. 1 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/rooms/controller/CesRoomsController.java
  22. 59 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/rooms/entity/CesRoomLayoutPriceDate.java
  23. 43 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/rooms/mapper/CesRoomLayoutPriceDateMapper.java
  24. 5 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/rooms/mapper/xml/CesRoomLayoutPriceDateMapper.xml
  25. 1 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/rooms/service/CesRoomsServiceImpl.java
  26. 29 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/rooms/service/ICesRoomLayoutPriceDateService.java
  27. 55 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/rooms/service/impl/CesRoomLayoutPriceDateServiceImpl.java

+ 253 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusRoomUtilitySettingController.java

@@ -0,0 +1,253 @@
+package org.jeecg.modules.business.controller;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.constant.CommonConstant;
+import org.jeecg.common.exception.JeecgBootException;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.common.util.TokenUtils;
+import org.jeecg.common.util.oConvertUtils;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecg.modules.business.entity.BusParamShare;
+import org.jeecg.modules.business.entity.BusRoomUtilitySetting;
+import org.jeecg.modules.business.service.IBusRoomUtilitySettingService;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+
+ /**
+ * @Description: 水电煤设置
+ * @Author: jeecg-boot
+ * @Date:   2023-03-23
+ * @Version: V1.0
+ */
+@Api(tags="水电煤设置")
+@RestController
+@RequestMapping("/business/busRoomUtilitySetting")
+@Slf4j
+public class BusRoomUtilitySettingController extends JeecgController<BusRoomUtilitySetting, IBusRoomUtilitySettingService> {
+	@Autowired
+	private IBusRoomUtilitySettingService busRoomUtilitySettingService;
+
+	/**
+	 * 分页列表查询
+	 *
+	 * @param busRoomUtilitySetting
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "水电煤设置-分页列表查询")
+	@ApiOperation(value="水电煤设置-分页列表查询", notes="水电煤设置-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<BusRoomUtilitySetting>> queryPageList(BusRoomUtilitySetting busRoomUtilitySetting,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<BusRoomUtilitySetting> queryWrapper = QueryGenerator.initQueryWrapper(busRoomUtilitySetting, req.getParameterMap());
+		Page<BusRoomUtilitySetting> page = new Page<BusRoomUtilitySetting>(pageNo, pageSize);
+		IPage<BusRoomUtilitySetting> pageList = busRoomUtilitySettingService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+
+	/**
+	 *   添加
+	 *
+	 * @param busRoomUtilitySetting
+	 * @return
+	 */
+	@AutoLog(value = "水电煤设置-添加")
+	@ApiOperation(value="水电煤设置-添加", notes="水电煤设置-添加")
+	//@RequiresPermissions("business:bus_room_utility_setting_info:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody BusRoomUtilitySetting busRoomUtilitySetting) {
+		busRoomUtilitySettingService.save(busRoomUtilitySetting);
+		return Result.OK("添加成功!");
+	}
+
+	/**
+	 *  编辑
+	 *
+	 * @param busRoomUtilitySetting
+	 * @return
+	 */
+	@AutoLog(value = "水电煤设置-编辑")
+	@ApiOperation(value="水电煤设置-编辑", notes="水电煤设置-编辑")
+	//@RequiresPermissions("business:bus_room_utility_setting_info:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody BusRoomUtilitySetting busRoomUtilitySetting) {
+		busRoomUtilitySettingService.updateById(busRoomUtilitySetting);
+		return Result.OK("编辑成功!");
+	}
+
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "水电煤设置-通过id删除")
+	@ApiOperation(value="水电煤设置-通过id删除", notes="水电煤设置-通过id删除")
+	//@RequiresPermissions("business:bus_room_utility_setting_info:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		busRoomUtilitySettingService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "水电煤设置-批量删除")
+	@ApiOperation(value="水电煤设置-批量删除", notes="水电煤设置-批量删除")
+	//@RequiresPermissions("business:bus_room_utility_setting_info:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.busRoomUtilitySettingService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "水电煤设置-通过id查询")
+	@ApiOperation(value="水电煤设置-通过id查询", notes="水电煤设置-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<BusRoomUtilitySetting> queryById(@RequestParam(name="id",required=true) String id) {
+		BusRoomUtilitySetting busRoomUtilitySetting = busRoomUtilitySettingService.getById(id);
+		if(busRoomUtilitySetting==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(busRoomUtilitySetting);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param busRoomUtilitySetting
+    */
+    //@RequiresPermissions("business:bus_room_utility_setting_info:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, BusRoomUtilitySetting busRoomUtilitySetting) {
+        return super.exportXls(request, busRoomUtilitySetting, BusRoomUtilitySetting.class, "水电煤设置");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    //@RequiresPermissions("business:bus_room_utility_setting_info:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, BusRoomUtilitySetting.class);
+    }
+
+	 /**
+	  * 通过hotelId查询
+	  *
+	  * @param hotelId
+	  * @return
+	  */
+	 //@AutoLog(value = "水电煤设置-通过hotelId查询")
+	 @ApiOperation(value="水电煤设置-通过hotelId查询", notes="水电煤设置-通过hotelId查询")
+	 @GetMapping(value = "/queryByHotelId")
+	 public Result<BusRoomUtilitySetting> queryByHotelId(@RequestParam(name="hotelId",required=true) String hotelId) {
+		 QueryWrapper<BusRoomUtilitySetting> queryWrapper = new QueryWrapper<BusRoomUtilitySetting>();
+		 queryWrapper.eq("hotel_id", hotelId);
+		 BusRoomUtilitySetting resultModel = busRoomUtilitySettingService.getOne(queryWrapper);
+		 if(resultModel==null) {
+			 return Result.error("");
+		 }
+		 return Result.OK(resultModel);
+	 }
+
+	 /**
+	  *  编辑或添加
+	  *
+	  * @param busRoomUtilitySetting
+	  * @return
+	  */
+	 @AutoLog(value = "水电煤设置-编辑或添加")
+	 @ApiOperation(value="水电煤设置-编辑或添加", notes="水电煤设置-编辑或添加")
+	 @RequestMapping(value = "/addOrEditInfo", method = {RequestMethod.PUT,RequestMethod.POST})
+	 public Result<BusRoomUtilitySetting> addOrEditInfo(@RequestBody BusRoomUtilitySetting busRoomUtilitySetting) {
+		 if(busRoomUtilitySetting.getTenantId() == null || busRoomUtilitySetting.getTenantId().equals("")){
+			 LoginUser user = TokenUtils.getAuthUser();
+			 if(user.getRelTenantIds() != null && !user.getRelTenantIds().equals("")){
+				 busRoomUtilitySetting.setTenantId(user.getRelTenantIds());
+			 } else {
+				 throw new JeecgBootException("当前登录人租户信息错误");
+			 }
+		 }
+		 if (busRoomUtilitySetting.getId() != null && !busRoomUtilitySetting.getId().equals("")){
+
+			 BusRoomUtilitySetting editModel = busRoomUtilitySettingService.getById(busRoomUtilitySetting.getId());
+
+			 editModel.setWaterHotStatus(busRoomUtilitySetting.getWaterHotStatus());
+			 editModel.setWaterHotPrice(busRoomUtilitySetting.getWaterHotPrice());
+			 editModel.setWaterHotBind(busRoomUtilitySetting.getWaterHotBind());
+
+			 editModel.setWaterColdStatus(busRoomUtilitySetting.getWaterColdStatus());
+			 editModel.setWaterColdPrice(busRoomUtilitySetting.getWaterColdPrice());
+			 editModel.setWaterColdBind(busRoomUtilitySetting.getWaterColdBind());
+
+			 editModel.setElectricFlatStatus(busRoomUtilitySetting.getElectricFlatStatus());
+			 editModel.setElectricFlatPrice(busRoomUtilitySetting.getElectricFlatPrice());
+			 editModel.setElectricFlatBind(busRoomUtilitySetting.getElectricFlatBind());
+
+			 editModel.setElectricValleyStatus(busRoomUtilitySetting.getElectricValleyStatus());
+			 editModel.setElectricValleyPrice(busRoomUtilitySetting.getElectricValleyPrice());
+			 editModel.setElectricValleyBind(busRoomUtilitySetting.getElectricValleyBind());
+
+			 editModel.setGasStatus(busRoomUtilitySetting.getGasStatus());
+			 editModel.setGasPrice(busRoomUtilitySetting.getGasPrice());
+			 editModel.setGasBind(busRoomUtilitySetting.getGasBind());
+
+			 busRoomUtilitySettingService.updateById(editModel);
+			 return Result.OK(editModel);
+		 }else{
+			 busRoomUtilitySetting.setDelFlag(CommonConstant.DEL_FLAG_0);
+			 busRoomUtilitySettingService.save(busRoomUtilitySetting);
+			 return Result.OK(busRoomUtilitySetting);
+		 }
+	 }
+
+}

+ 128 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/BusRoomUtilitySetting.java

@@ -0,0 +1,128 @@
+package org.jeecg.modules.business.entity;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecg.common.aspect.annotation.Dict;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * @Description: 水电煤设置
+ * @Author: jeecg-boot
+ * @Date:   2023-03-23
+ * @Version: V1.0
+ */
+@Data
+@TableName("bus_room_utility_setting_info")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="bus_room_utility_setting_info对象", description="水电煤设置")
+public class BusRoomUtilitySetting implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "主键")
+    private String id;
+	/**关联租户*/
+	@Excel(name = "关联租户", width = 15)
+    @ApiModelProperty(value = "关联租户")
+    private String tenantId;
+	/**关联酒店*/
+	@Excel(name = "关联酒店", width = 15)
+    @ApiModelProperty(value = "关联酒店")
+    private String hotelId;
+	/**水费(热)-状态*/
+	@Excel(name = "水费(热)-状态", width = 15)
+    @ApiModelProperty(value = "水费(热)-状态")
+    private Integer waterHotStatus;
+	/**水费(热)-价格*/
+	@Excel(name = "水费(热)-价格", width = 15)
+    @ApiModelProperty(value = "水费(热)-价格")
+    private BigDecimal waterHotPrice;
+	/**水费(热)-绑定*/
+	@Excel(name = "水费(热)-绑定", width = 15)
+    @ApiModelProperty(value = "水费(热)-绑定")
+    private String waterHotBind;
+	/**水费(冷)-状态*/
+	@Excel(name = "水费(冷)-状态", width = 15)
+    @ApiModelProperty(value = "水费(冷)-状态")
+    private Integer waterColdStatus;
+	/**水费(冷)-价格*/
+	@Excel(name = "水费(冷)-价格", width = 15)
+    @ApiModelProperty(value = "水费(冷)-价格")
+    private BigDecimal waterColdPrice;
+	/**水费(冷)-绑定*/
+	@Excel(name = "水费(冷)-绑定", width = 15)
+    @ApiModelProperty(value = "水费(冷)-绑定")
+    private String waterColdBind;
+	/**电费(平)-状态*/
+	@Excel(name = "电费(平)-状态", width = 15)
+    @ApiModelProperty(value = "电费(平)-状态")
+    private Integer electricFlatStatus;
+	/**电费(平)-价格*/
+	@Excel(name = "电费(平)-价格", width = 15)
+    @ApiModelProperty(value = "电费(平)-价格")
+    private BigDecimal electricFlatPrice;
+	/**电费(平)-绑定*/
+	@Excel(name = "电费(平)-绑定", width = 15)
+    @ApiModelProperty(value = "电费(平)-绑定")
+    private String electricFlatBind;
+	/**电费(谷)-状态*/
+	@Excel(name = "电费(谷)-状态", width = 15)
+    @ApiModelProperty(value = "电费(谷)-状态")
+    private Integer electricValleyStatus;
+	/**电费(谷)-价格*/
+	@Excel(name = "电费(谷)-价格", width = 15)
+    @ApiModelProperty(value = "电费(谷)-价格")
+    private BigDecimal electricValleyPrice;
+	/**电费(谷)-绑定*/
+	@Excel(name = "电费(谷)-绑定", width = 15)
+    @ApiModelProperty(value = "电费(谷)-绑定")
+    private String electricValleyBind;
+	/**煤气费-状态*/
+	@Excel(name = "煤气费-状态", width = 15)
+    @ApiModelProperty(value = "煤气费-状态")
+    private Integer gasStatus;
+	/**煤气费-价格*/
+	@Excel(name = "煤气费-价格", width = 15)
+    @ApiModelProperty(value = "煤气费-价格")
+    private BigDecimal gasPrice;
+	/**煤气费-绑定*/
+	@Excel(name = "煤气费-绑定", width = 15)
+    @ApiModelProperty(value = "煤气费-绑定")
+    private String gasBind;
+	/**删除状态(0-正常,1-已删除)*/
+	@Excel(name = "删除状态(0-正常,1-已删除)", width = 15)
+    @ApiModelProperty(value = "删除状态(0-正常,1-已删除)")
+    @TableLogic
+    private Integer delFlag;
+	/**创建人*/
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+	/**创建时间*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+	/**更新人*/
+    @ApiModelProperty(value = "更新人")
+    private String updateBy;
+	/**更新时间*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "更新时间")
+    private Date updateTime;
+}

+ 17 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusRoomUtilitySettingMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.business.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.business.entity.BusRoomUtilitySetting;
+
+/**
+ * @Description: 水电煤设置
+ * @Author: jeecg-boot
+ * @Date:   2023-03-23
+ * @Version: V1.0
+ */
+public interface BusRoomUtilitySettingMapper extends BaseMapper<BusRoomUtilitySetting> {
+
+}

+ 5 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/BusRoomUtilitySettingMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.demo.business.mapper.BusRoomUtilitySettingMapper">
+
+</mapper>

+ 14 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IBusRoomUtilitySettingService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.business.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.business.entity.BusRoomUtilitySetting;
+
+/**
+ * @Description: 水电煤设置
+ * @Author: jeecg-boot
+ * @Date:   2023-03-23
+ * @Version: V1.0
+ */
+public interface IBusRoomUtilitySettingService extends IService<BusRoomUtilitySetting> {
+
+}

+ 19 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/BusRoomUtilitySettingServiceImpl.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.business.service.impl;
+
+import org.jeecg.modules.business.entity.BusRoomUtilitySetting;
+import org.jeecg.modules.business.mapper.BusRoomUtilitySettingMapper;
+import org.jeecg.modules.business.service.IBusRoomUtilitySettingService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 水电煤设置
+ * @Author: jeecg-boot
+ * @Date:   2023-03-23
+ * @Version: V1.0
+ */
+@Service
+public class BusRoomUtilitySettingServiceImpl extends ServiceImpl<BusRoomUtilitySettingMapper, BusRoomUtilitySetting> implements IBusRoomUtilitySettingService {
+
+}

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/util/FindsBusDictsChildrenUtil.java

@@ -56,7 +56,7 @@ public class FindsBusDictsChildrenUtil {
         List<BusDictTreeModel> treeList = new ArrayList<>();
         for (int i = 0; i < recordList.size(); i++) {
             BusDictTreeModel branch = recordList.get(i);
-            if (oConvertUtils.isEmpty(branch.getParentId())) {
+            if (oConvertUtils.isEmpty(branch.getParentId()) || branch.getParentId().equals("0")) {
                 treeList.add(branch);
                 DictIdModel departIdModel = new DictIdModel().convert(branch);
                 dictIdList.add(departIdModel);

+ 201 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/order/controller/CesOrderCommentController.java

@@ -0,0 +1,201 @@
+package org.jeecg.modules.order.controller;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import org.apache.commons.lang3.ObjectUtils;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecg.modules.business.entity.BusHotel;
+import org.jeecg.modules.business.entity.BusMemberCard;
+import org.jeecg.modules.business.service.IBusHotelService;
+import org.jeecg.modules.order.entity.CesOrderComment;
+import org.jeecg.modules.order.service.ICesOrderCommentService;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+
+ /**
+ * @Description: ces_order_comment
+ * @Author: jeecg-boot
+ * @Date:   2023-03-24
+ * @Version: V1.0
+ */
+@Api(tags="ces_order_comment")
+@RestController
+@RequestMapping("/order/cesOrderComment")
+@Slf4j
+public class CesOrderCommentController extends JeecgController<CesOrderComment, ICesOrderCommentService> {
+	@Autowired
+	private ICesOrderCommentService cesOrderCommentService;
+
+	 @Autowired
+	 private IBusHotelService busHotelService;
+	/**
+	 * 分页列表查询
+	 *
+	 * @param cesOrderComment
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "ces_order_comment-分页列表查询")
+	@ApiOperation(value="ces_order_comment-分页列表查询", notes="ces_order_comment-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<CesOrderComment>> queryPageList(CesOrderComment cesOrderComment,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+														@RequestParam(name="hotelIds[]",required = false) List<String> hotelIds,
+								   HttpServletRequest req) {
+		LambdaQueryWrapper<CesOrderComment> queryWrapper = QueryGenerator.initQueryWrapper(cesOrderComment, req.getParameterMap()).lambda();
+		;
+		if (ObjectUtils.isNotEmpty(hotelIds)) {
+			queryWrapper.and(j -> {
+				for (int k = 0; k < hotelIds.size(); k++) {
+					j = j.or().eq(CesOrderComment::getHotelId, hotelIds.get(k));
+				}
+			});
+		}
+		Page<CesOrderComment> page = new Page<CesOrderComment>(pageNo, pageSize);
+		IPage<CesOrderComment> pageList = cesOrderCommentService.page(page, queryWrapper);
+		pageList.getRecords().forEach(item -> {
+			BusHotel hotle = busHotelService.getById(item.getHotelId());
+			if (hotle != null) {
+				item.setHotelName(hotle.getName());
+			}
+		});
+		return Result.OK(pageList);
+	}
+	
+	/**
+	 *   添加
+	 *
+	 * @param cesOrderComment
+	 * @return
+	 */
+	@AutoLog(value = "ces_order_comment-添加")
+	@ApiOperation(value="ces_order_comment-添加", notes="ces_order_comment-添加")
+	//@RequiresPermissions("order:ces_order_comment:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody CesOrderComment cesOrderComment) {
+		cesOrderCommentService.save(cesOrderComment);
+		return Result.OK("添加成功!");
+	}
+	
+	/**
+	 *  编辑
+	 *
+	 * @param cesOrderComment
+	 * @return
+	 */
+	@AutoLog(value = "ces_order_comment-编辑")
+	@ApiOperation(value="ces_order_comment-编辑", notes="ces_order_comment-编辑")
+	//@RequiresPermissions("order:ces_order_comment:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody CesOrderComment cesOrderComment) {
+		cesOrderCommentService.updateById(cesOrderComment);
+		return Result.OK("编辑成功!");
+	}
+	
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "ces_order_comment-通过id删除")
+	@ApiOperation(value="ces_order_comment-通过id删除", notes="ces_order_comment-通过id删除")
+	//@RequiresPermissions("order:ces_order_comment:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		cesOrderCommentService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+	
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "ces_order_comment-批量删除")
+	@ApiOperation(value="ces_order_comment-批量删除", notes="ces_order_comment-批量删除")
+	//@RequiresPermissions("order:ces_order_comment:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.cesOrderCommentService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "ces_order_comment-通过id查询")
+	@ApiOperation(value="ces_order_comment-通过id查询", notes="ces_order_comment-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<CesOrderComment> queryById(@RequestParam(name="id",required=true) String id) {
+		CesOrderComment cesOrderComment = cesOrderCommentService.getById(id);
+		if(cesOrderComment==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(cesOrderComment);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param cesOrderComment
+    */
+    //@RequiresPermissions("order:ces_order_comment:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, CesOrderComment cesOrderComment) {
+        return super.exportXls(request, cesOrderComment, CesOrderComment.class, "ces_order_comment");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    //@RequiresPermissions("order:ces_order_comment:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, CesOrderComment.class);
+    }
+
+}

+ 183 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/order/controller/CesOrderMessageController.java

@@ -0,0 +1,183 @@
+package org.jeecg.modules.order.controller;
+
+import java.util.Arrays;
+import java.util.List;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import org.apache.commons.lang3.ObjectUtils;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecg.modules.business.entity.BusHotel;
+import org.jeecg.modules.business.service.IBusHotelService;
+import org.jeecg.modules.order.entity.CesOrderComment;
+import org.jeecg.modules.order.entity.CesOrderMessage;
+import org.jeecg.modules.order.service.ICesOrderMessageService;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+
+/**
+ * @Description: ces_order_message
+ * @Author: jeecg-boot
+ * @Date:   2023-03-24
+ * @Version: V1.0
+ */
+@Api(tags="ces_order_message")
+@RestController
+@RequestMapping("/order/cesOrderMessage")
+@Slf4j
+public class CesOrderMessageController extends JeecgController<CesOrderMessage, ICesOrderMessageService> {
+	@Autowired
+	private ICesOrderMessageService cesOrderMessageService;
+	 @Autowired
+	 private IBusHotelService busHotelService;
+	/**
+	 * 分页列表查询
+	 *
+	 * @param cesOrderMessage
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "ces_order_message-分页列表查询")
+	@ApiOperation(value="ces_order_message-分页列表查询", notes="ces_order_message-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<CesOrderMessage>> queryPageList(CesOrderMessage cesOrderMessage,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+														@RequestParam(name="hotelIds[]",required = false) List<String> hotelIds,
+								   HttpServletRequest req) {
+		LambdaQueryWrapper<CesOrderMessage> queryWrapper = QueryGenerator.initQueryWrapper(cesOrderMessage, req.getParameterMap()).lambda();
+		if (ObjectUtils.isNotEmpty(hotelIds)) {
+			queryWrapper.and(j -> {
+				for (int k = 0; k < hotelIds.size(); k++) {
+					j = j.or().eq(CesOrderMessage::getHotelId, hotelIds.get(k));
+				}
+			});
+		}
+		Page<CesOrderMessage> page = new Page<CesOrderMessage>(pageNo, pageSize);
+		IPage<CesOrderMessage> pageList = cesOrderMessageService.page(page, queryWrapper);
+		pageList.getRecords().forEach(item -> {
+			BusHotel hotle = busHotelService.getById(item.getHotelId());
+			if (hotle != null) {
+				item.setHotelName(hotle.getName());
+			}
+		});
+		return Result.OK(pageList);
+	}
+	
+	/**
+	 *   添加
+	 *
+	 * @param cesOrderMessage
+	 * @return
+	 */
+	@AutoLog(value = "ces_order_message-添加")
+	@ApiOperation(value="ces_order_message-添加", notes="ces_order_message-添加")
+	//@RequiresPermissions("order:ces_order_message:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody CesOrderMessage cesOrderMessage) {
+		cesOrderMessageService.save(cesOrderMessage);
+		return Result.OK("添加成功!");
+	}
+	
+	/**
+	 *  编辑
+	 *
+	 * @param cesOrderMessage
+	 * @return
+	 */
+	@AutoLog(value = "ces_order_message-编辑")
+	@ApiOperation(value="ces_order_message-编辑", notes="ces_order_message-编辑")
+	//@RequiresPermissions("order:ces_order_message:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody CesOrderMessage cesOrderMessage) {
+		cesOrderMessageService.updateById(cesOrderMessage);
+		return Result.OK("编辑成功!");
+	}
+	
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "ces_order_message-通过id删除")
+	@ApiOperation(value="ces_order_message-通过id删除", notes="ces_order_message-通过id删除")
+	//@RequiresPermissions("order:ces_order_message:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		cesOrderMessageService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+	
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "ces_order_message-批量删除")
+	@ApiOperation(value="ces_order_message-批量删除", notes="ces_order_message-批量删除")
+	//@RequiresPermissions("order:ces_order_message:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.cesOrderMessageService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "ces_order_message-通过id查询")
+	@ApiOperation(value="ces_order_message-通过id查询", notes="ces_order_message-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<CesOrderMessage> queryById(@RequestParam(name="id",required=true) String id) {
+		CesOrderMessage cesOrderMessage = cesOrderMessageService.getById(id);
+		if(cesOrderMessage==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(cesOrderMessage);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param cesOrderMessage
+    */
+    //@RequiresPermissions("order:ces_order_message:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, CesOrderMessage cesOrderMessage) {
+        return super.exportXls(request, cesOrderMessage, CesOrderMessage.class, "ces_order_message");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    //@RequiresPermissions("order:ces_order_message:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, CesOrderMessage.class);
+    }
+
+}

+ 86 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/order/entity/CesOrderComment.java

@@ -0,0 +1,86 @@
+package org.jeecg.modules.order.entity;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+import java.math.BigDecimal;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecg.common.aspect.annotation.Dict;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * @Description: ces_order_comment
+ * @Author: jeecg-boot
+ * @Date:   2023-03-24
+ * @Version: V1.0
+ */
+@Data
+@TableName("ces_order_comment")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="ces_order_comment对象", description="ces_order_comment")
+public class CesOrderComment implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**id*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "id")
+    private String id;
+	/**关联租户*/
+	@Excel(name = "关联租户", width = 15)
+    @ApiModelProperty(value = "关联租户")
+    private String tenantId;
+	/**关联酒店*/
+	@Excel(name = "关联酒店", width = 15)
+    @ApiModelProperty(value = "关联酒店")
+    private String hotelId;
+	/**父级评价ID*/
+	@Excel(name = "父级评价ID", width = 15)
+    @ApiModelProperty(value = "父级评价ID")
+    private String commentId;
+	/**评价1-5星*/
+	@Excel(name = "评价1-5星", width = 15)
+    @ApiModelProperty(value = "评价1-5星")
+    private Integer score;
+	/**评价用户ID*/
+	@Excel(name = "评价用户ID", width = 15)
+    @ApiModelProperty(value = "评价用户ID")
+    private String userId;
+	/**评价类型 1 酒店 2商品*/
+	@Excel(name = "评价类型 1 酒店 2商品", width = 15)
+    @ApiModelProperty(value = "评价类型 1 酒店 2商品")
+    private Integer commentType;
+	/**评价商品/订单ID*/
+	@Excel(name = "评价商品/订单ID", width = 15)
+    @ApiModelProperty(value = "评价商品/订单ID")
+    private String orderId;
+	/**评价图片逗号分隔*/
+	@Excel(name = "评价图片逗号分隔", width = 15)
+    @ApiModelProperty(value = "评价图片逗号分隔")
+    private String images;
+	/**评价内容*/
+	@Excel(name = "评价内容", width = 15)
+    @ApiModelProperty(value = "评价内容")
+    private String contentBody;
+	/**商家回复*/
+	@Excel(name = "商家回复", width = 15)
+    @ApiModelProperty(value = "商家回复")
+    private String sellerContent;
+	/**创建时间*/
+	@Excel(name = "创建时间", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "创建时间")
+    private Date createDate;
+
+	@TableField(exist = false)
+	private String hotelName;
+}

+ 82 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/order/entity/CesOrderMessage.java

@@ -0,0 +1,82 @@
+package org.jeecg.modules.order.entity;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+import java.math.BigDecimal;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecg.common.aspect.annotation.Dict;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * @Description: ces_order_message
+ * @Author: jeecg-boot
+ * @Date:   2023-03-24
+ * @Version: V1.0
+ */
+@Data
+@TableName("ces_order_message")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="ces_order_message对象", description="ces_order_message")
+public class CesOrderMessage implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**id*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "id")
+    private String id;
+	/**关联租户*/
+	@Excel(name = "关联租户", width = 15)
+    @ApiModelProperty(value = "关联租户")
+    private String tenantId;
+	/**关联酒店*/
+	@Excel(name = "关联酒店", width = 15)
+    @ApiModelProperty(value = "关联酒店")
+    private String hotelId;
+	/**用户ID*/
+	@Excel(name = "用户ID", width = 15)
+    @ApiModelProperty(value = "用户ID")
+    private String userId;
+	/**留言类型 1 投诉 2建议*/
+	@Excel(name = "留言类型 1 投诉 2建议", width = 15)
+    @ApiModelProperty(value = "留言类型 1 投诉 2建议")
+    private Integer messageType;
+	/**图片逗号分隔*/
+	@Excel(name = "图片逗号分隔", width = 15)
+    @ApiModelProperty(value = "图片逗号分隔")
+    private String images;
+	/**内容*/
+	@Excel(name = "内容", width = 15)
+    @ApiModelProperty(value = "内容")
+    private String contentBody;
+	/**姓名*/
+	@Excel(name = "姓名", width = 15)
+    @ApiModelProperty(value = "姓名")
+    private String userName;
+	/**手机号*/
+	@Excel(name = "手机号", width = 15)
+    @ApiModelProperty(value = "手机号")
+    private String userMobile;
+	/**房号*/
+	@Excel(name = "房号", width = 15)
+    @ApiModelProperty(value = "房号")
+    private String roomNo;
+	/**创建时间*/
+	@Excel(name = "创建时间", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "创建时间")
+    private Date createDate;
+
+    @TableField(exist = false)
+    private String hotelName;
+}

+ 17 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/order/mapper/CesOrderCommentMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.order.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.order.entity.CesOrderComment;
+
+/**
+ * @Description: ces_order_comment
+ * @Author: jeecg-boot
+ * @Date:   2023-03-24
+ * @Version: V1.0
+ */
+public interface CesOrderCommentMapper extends BaseMapper<CesOrderComment> {
+
+}

+ 17 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/order/mapper/CesOrderMessageMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.order.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.order.entity.CesOrderMessage;
+
+/**
+ * @Description: ces_order_message
+ * @Author: jeecg-boot
+ * @Date:   2023-03-24
+ * @Version: V1.0
+ */
+public interface CesOrderMessageMapper extends BaseMapper<CesOrderMessage> {
+
+}

+ 5 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/order/mapper/xml/CesOrderCommentMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.demo.order.mapper.CesOrderCommentMapper">
+
+</mapper>

+ 5 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/order/mapper/xml/CesOrderMessageMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.demo.order.mapper.CesOrderMessageMapper">
+
+</mapper>

+ 13 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/order/service/ICesOrderCommentService.java

@@ -0,0 +1,13 @@
+package org.jeecg.modules.order.service;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.order.entity.CesOrderComment;
+
+/**
+ * @Description: ces_order_comment
+ * @Author: jeecg-boot
+ * @Date:   2023-03-24
+ * @Version: V1.0
+ */
+public interface ICesOrderCommentService extends IService<CesOrderComment> {
+
+}

+ 14 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/order/service/ICesOrderMessageService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.order.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.order.entity.CesOrderMessage;
+
+/**
+ * @Description: ces_order_message
+ * @Author: jeecg-boot
+ * @Date:   2023-03-24
+ * @Version: V1.0
+ */
+public interface ICesOrderMessageService extends IService<CesOrderMessage> {
+
+}

+ 18 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/order/service/impl/CesOrderCommentServiceImpl.java

@@ -0,0 +1,18 @@
+package org.jeecg.modules.order.service.impl;
+import org.jeecg.modules.order.entity.CesOrderComment;
+import org.jeecg.modules.order.mapper.CesOrderCommentMapper;
+import org.jeecg.modules.order.service.ICesOrderCommentService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: ces_order_comment
+ * @Author: jeecg-boot
+ * @Date:   2023-03-24
+ * @Version: V1.0
+ */
+@Service
+public class CesOrderCommentServiceImpl extends ServiceImpl<CesOrderCommentMapper, CesOrderComment> implements ICesOrderCommentService {
+
+}

+ 19 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/order/service/impl/CesOrderMessageServiceImpl.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.order.service.impl;
+
+import org.jeecg.modules.order.entity.CesOrderMessage;
+import org.jeecg.modules.order.mapper.CesOrderMessageMapper;
+import org.jeecg.modules.order.service.ICesOrderMessageService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: ces_order_message
+ * @Author: jeecg-boot
+ * @Date:   2023-03-24
+ * @Version: V1.0
+ */
+@Service
+public class CesOrderMessageServiceImpl extends ServiceImpl<CesOrderMessageMapper, CesOrderMessage> implements ICesOrderMessageService {
+
+}

+ 234 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/rooms/controller/CesRoomLayoutPriceDateController.java

@@ -0,0 +1,234 @@
+package org.jeecg.modules.rooms.controller;
+
+import java.util.*;
+import java.util.stream.Collectors;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import org.apache.commons.lang3.ObjectUtils;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecg.modules.business.entity.BusMemberCard;
+import org.jeecg.modules.rooms.entity.CesRoomLayoutPriceDate;
+import org.jeecg.modules.rooms.service.ICesRoomLayoutPriceDateService;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+
+ /**
+ * @Description: ces_room_layout_price_date
+ * @Author: jeecg-boot
+ * @Date:   2023-03-23
+ * @Version: V1.0
+ */
+@Api(tags="ces_room_layout_price_date")
+@RestController
+@RequestMapping("/rooms/cesRoomLayoutPriceDate")
+@Slf4j
+public class CesRoomLayoutPriceDateController extends JeecgController<CesRoomLayoutPriceDate, ICesRoomLayoutPriceDateService> {
+	@Autowired
+	private ICesRoomLayoutPriceDateService cesRoomLayoutPriceDateService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param cesRoomLayoutPriceDate
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "ces_room_layout_price_date-分页列表查询")
+	@ApiOperation(value="ces_room_layout_price_date-分页列表查询", notes="ces_room_layout_price_date-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<CesRoomLayoutPriceDate>> queryPageList(CesRoomLayoutPriceDate cesRoomLayoutPriceDate,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<CesRoomLayoutPriceDate> queryWrapper = QueryGenerator.initQueryWrapper(cesRoomLayoutPriceDate, req.getParameterMap());
+		Page<CesRoomLayoutPriceDate> page = new Page<CesRoomLayoutPriceDate>(pageNo, pageSize);
+		IPage<CesRoomLayoutPriceDate> pageList = cesRoomLayoutPriceDateService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+
+	 /**
+	  * 房价列表
+	  * @param cesRoomLayoutPriceDate
+	  * @param pageNo
+	  * @param pageSize
+	  * @param startTime
+	  * @param endTime
+	  * @param hotelIds
+	  * @param req
+	  * @return
+	  */
+	 @ApiOperation(value="ces_room_layout_price_date-分页列表查询", notes="ces_room_layout_price_date-分页列表查询")
+	 @GetMapping(value = "/pageList")
+	 public Result<IPage<HashMap<String,Object>>> pageList(CesRoomLayoutPriceDate cesRoomLayoutPriceDate,
+														   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+														   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+														   @RequestParam(name="startTime",required = true) String startTime,
+														   @RequestParam(name="endTime",required = true) String endTime,
+														   @RequestParam(name="hotelIds[]",required = true) ArrayList<String> hotelIds,
+														   HttpServletRequest req) {
+		 Page<HashMap<String,Object>> page = new Page<HashMap<String,Object>>(pageNo, pageSize);
+		 IPage<HashMap<String,Object>> pageList = cesRoomLayoutPriceDateService.pageList(page,hotelIds, DateUtil.parseDate(startTime),DateUtil.parseDate(endTime));
+		 return Result.OK(pageList);
+	 }
+	
+	/**
+	 *   添加
+	 *
+	 * @param cesRoomLayoutPriceDate
+	 * @return
+	 */
+	@AutoLog(value = "ces_room_layout_price_date-添加")
+	@ApiOperation(value="ces_room_layout_price_date-添加", notes="ces_room_layout_price_date-添加")
+	//@RequiresPermissions("rooms:ces_room_layout_price_date:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody CesRoomLayoutPriceDate cesRoomLayoutPriceDate) {
+		cesRoomLayoutPriceDateService.save(cesRoomLayoutPriceDate);
+		return Result.OK("添加成功!");
+	}
+	
+	/**
+	 *  编辑
+	 *
+	 * @param cesRoomLayoutPriceDate
+	 * @return
+	 */
+	@AutoLog(value = "ces_room_layout_price_date-编辑")
+	@ApiOperation(value="ces_room_layout_price_date-编辑", notes="ces_room_layout_price_date-编辑")
+	//@RequiresPermissions("rooms:ces_room_layout_price_date:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody CesRoomLayoutPriceDate cesRoomLayoutPriceDate) {
+		cesRoomLayoutPriceDateService.updateById(cesRoomLayoutPriceDate);
+		return Result.OK("编辑成功!");
+	}
+
+	 /**
+	  * 编辑价格
+	  * @param cesRoomLayoutPriceDate
+	  * @return
+	  */
+	 @AutoLog(value = "ces_room_layout_price_date-编辑")
+	 @ApiOperation(value="ces_room_layout_price_date-编辑", notes="ces_room_layout_price_date-编辑")
+	 //@RequiresPermissions("rooms:ces_room_layout_price_date:edit")
+	 @RequestMapping(value = "/editPrice", method = {RequestMethod.PUT,RequestMethod.POST})
+	 public Result<String> editPrice(@RequestBody CesRoomLayoutPriceDate cesRoomLayoutPriceDate) {
+		 LambdaQueryWrapper<CesRoomLayoutPriceDate> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		 lambdaQueryWrapper.eq(CesRoomLayoutPriceDate::getRoomLayoutPriceId, cesRoomLayoutPriceDate.getRoomLayoutPriceId());
+		 lambdaQueryWrapper.eq(CesRoomLayoutPriceDate::getDate, cesRoomLayoutPriceDate.getDate());
+		 CesRoomLayoutPriceDate roomLayoutPriceDate = cesRoomLayoutPriceDateService.getOne(lambdaQueryWrapper);
+		 if (ObjectUtils.isNotEmpty(roomLayoutPriceDate)) {
+			 roomLayoutPriceDate.setPrice(cesRoomLayoutPriceDate.getPrice());
+			 cesRoomLayoutPriceDateService.updateById(roomLayoutPriceDate);
+		 } else {
+			 roomLayoutPriceDate=new CesRoomLayoutPriceDate();
+			 roomLayoutPriceDate.setRoomLayoutPriceId(cesRoomLayoutPriceDate.getRoomLayoutPriceId());
+			 roomLayoutPriceDate.setDate(cesRoomLayoutPriceDate.getDate());
+			 roomLayoutPriceDate.setPrice(cesRoomLayoutPriceDate.getPrice());
+			 roomLayoutPriceDate.setCreateDate(new Date());
+			 cesRoomLayoutPriceDateService.save(roomLayoutPriceDate);
+		 }
+		 return Result.OK("编辑成功!");
+	 }
+	
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "ces_room_layout_price_date-通过id删除")
+	@ApiOperation(value="ces_room_layout_price_date-通过id删除", notes="ces_room_layout_price_date-通过id删除")
+	//@RequiresPermissions("rooms:ces_room_layout_price_date:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		cesRoomLayoutPriceDateService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+	
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "ces_room_layout_price_date-批量删除")
+	@ApiOperation(value="ces_room_layout_price_date-批量删除", notes="ces_room_layout_price_date-批量删除")
+	//@RequiresPermissions("rooms:ces_room_layout_price_date:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.cesRoomLayoutPriceDateService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "ces_room_layout_price_date-通过id查询")
+	@ApiOperation(value="ces_room_layout_price_date-通过id查询", notes="ces_room_layout_price_date-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<CesRoomLayoutPriceDate> queryById(@RequestParam(name="id",required=true) String id) {
+		CesRoomLayoutPriceDate cesRoomLayoutPriceDate = cesRoomLayoutPriceDateService.getById(id);
+		if(cesRoomLayoutPriceDate==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(cesRoomLayoutPriceDate);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param cesRoomLayoutPriceDate
+    */
+    //@RequiresPermissions("rooms:ces_room_layout_price_date:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, CesRoomLayoutPriceDate cesRoomLayoutPriceDate) {
+        return super.exportXls(request, cesRoomLayoutPriceDate, CesRoomLayoutPriceDate.class, "ces_room_layout_price_date");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    //@RequiresPermissions("rooms:ces_room_layout_price_date:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, CesRoomLayoutPriceDate.class);
+    }
+
+}

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/rooms/controller/CesRoomsController.java

@@ -258,7 +258,7 @@ public class CesRoomsController {
             return Result.error(ResultCode.PARAM_MISS);
         }
         try{
-            return  roomsService.queryByFloorId(hotelId);
+            return  roomsService.queryByHotelId(hotelId);
         }catch (Exception e){
             return Result.error(e.getMessage());
         }

+ 59 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/rooms/entity/CesRoomLayoutPriceDate.java

@@ -0,0 +1,59 @@
+package org.jeecg.modules.rooms.entity;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecg.common.aspect.annotation.Dict;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * @Description: ces_room_layout_price_date
+ * @Author: jeecg-boot
+ * @Date:   2023-03-23
+ * @Version: V1.0
+ */
+@Data
+@TableName("ces_room_layout_price_date")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="ces_room_layout_price_date对象", description="ces_room_layout_price_date")
+public class CesRoomLayoutPriceDate implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**id*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "id")
+    private String id;
+	/**房型价格ID*/
+	@Excel(name = "房型价格ID", width = 15)
+    @ApiModelProperty(value = "房型价格ID")
+    private String roomLayoutPriceId;
+	/**日期*/
+	@Excel(name = "日期", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "日期")
+    private Date date;
+	/**现价*/
+	@Excel(name = "现价", width = 15)
+    @ApiModelProperty(value = "现价")
+    private BigDecimal price;
+	/**创建时间*/
+	@Excel(name = "创建时间", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "创建时间")
+    private Date createDate;
+}

+ 43 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/rooms/mapper/CesRoomLayoutPriceDateMapper.java

@@ -0,0 +1,43 @@
+package org.jeecg.modules.rooms.mapper;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Select;
+import org.jeecg.modules.business.entity.BusMarketMealCouponsUsed;
+import org.jeecg.modules.rooms.entity.CesRoomLayoutPriceDate;
+
+/**
+ * @Description: ces_room_layout_price_date
+ * @Author: jeecg-boot
+ * @Date:   2023-03-23
+ * @Version: V1.0
+ */
+public interface CesRoomLayoutPriceDateMapper extends BaseMapper<CesRoomLayoutPriceDate> {
+
+    /**
+     * 房价列表
+     * @param page
+     * @param hotelIds
+     * @return
+     */
+    @Select("<script>select SUBSTR(MD5(RAND()),1,16) as id,max(h.name) as hotel_name,max(layout.name) as layout_name,max(price.name) as price_name,price.id as price_id\n" +
+            "<foreach item='item' index='index' collection='dates' open=',' separator=',' close=' '>"+
+            "ifnull(max(case date.date when '${item}' then date.price else null end),price.price) as '${item}' "+
+            "</foreach>"+
+            " from ces_room_layout layout inner join ces_room_layout_price price on price.layoutId=layout.id\n" +
+            "left join ces_room_layout_price_date date on date.room_layout_price_id=price.id\n" +
+            "left join bus_hotel_info h on h.id=layout.hotel_id\n"+
+            "where price.invalid=0\n" +
+            "<if test='hotelIds != null'> and layout.hotel_id in </if>"+
+            "<foreach item='item' index='index' collection='hotelIds' open='(' separator=',' close=')'>"+
+            " '${item}' "+
+            "</foreach>"+
+            "group by price.id </script>")
+    public List<HashMap<String,Object>> pageList(Page<HashMap<String,Object>> page, @Param("dates") ArrayList<String> dates, @Param("hotelIds") ArrayList<String> hotelIds);
+
+}

+ 5 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/rooms/mapper/xml/CesRoomLayoutPriceDateMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.demo.rooms.mapper.CesRoomLayoutPriceDateMapper">
+
+</mapper>

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/rooms/service/CesRoomsServiceImpl.java

@@ -232,7 +232,7 @@ public class CesRoomsServiceImpl extends ServiceImpl<CesRoomsMapper, CesRooms> i
     }
 
     /**
-     * 根据楼层获取房间数据
+     * 根据hotelId获取房间数据
      * @param hotelId
      * @return
      */

+ 29 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/rooms/service/ICesRoomLayoutPriceDateService.java

@@ -0,0 +1,29 @@
+package org.jeecg.modules.rooms.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.rooms.entity.CesRoomLayoutPriceDate;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * @Description: ces_room_layout_price_date
+ * @Author: jeecg-boot
+ * @Date:   2023-03-23
+ * @Version: V1.0
+ */
+public interface ICesRoomLayoutPriceDateService extends IService<CesRoomLayoutPriceDate> {
+    /**
+     * 房价列表
+     * @param page
+     * @param hotelIds
+     * @param startDate
+     * @param endDate
+     * @return
+     */
+    public Page<HashMap<String,Object>> pageList(Page<HashMap<String,Object>> page, @Param("hotelIds") ArrayList<String> hotelIds, Date startDate, Date endDate);
+}

+ 55 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/rooms/service/impl/CesRoomLayoutPriceDateServiceImpl.java

@@ -0,0 +1,55 @@
+package org.jeecg.modules.rooms.service.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.business.entity.BusMarketMealCouponsUsed;
+import org.jeecg.modules.business.enums.CouponsStatusEnum;
+import org.jeecg.modules.business.mapper.BusMarketMealCouponsUsedMapper;
+import org.jeecg.modules.rooms.entity.CesRoomLayoutPriceDate;
+import org.jeecg.modules.rooms.mapper.CesRoomLayoutPriceDateMapper;
+import org.jeecg.modules.rooms.service.ICesRoomLayoutPriceDateService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import javax.annotation.Resource;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+/**
+ * @Description: ces_room_layout_price_date
+ * @Author: jeecg-boot
+ * @Date:   2023-03-23
+ * @Version: V1.0
+ */
+@Service
+public class CesRoomLayoutPriceDateServiceImpl extends ServiceImpl<CesRoomLayoutPriceDateMapper, CesRoomLayoutPriceDate> implements ICesRoomLayoutPriceDateService {
+
+    @Resource
+    private CesRoomLayoutPriceDateMapper cesRoomLayoutPriceDateMapper;
+
+    /**
+     * 房价列表
+     * @param page
+     * @param hotelIds
+     * @param startDate
+     * @param endDate
+     * @return
+     */
+    public Page<HashMap<String,Object>> pageList(Page<HashMap<String,Object>> page, @Param("hotelIds") ArrayList<String> hotelIds, Date startDate, Date endDate) {
+        ArrayList<String> dates = new ArrayList<String>();
+        long getTime = endDate.getTime() - startDate.getTime();
+        long day = getTime / (1000 * 60 * 60 * 24);
+        DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
+        Calendar calendar=new GregorianCalendar();
+        for (Integer i=0;i<=day;i++) {
+            calendar.setTime(startDate);
+            calendar.add(Calendar.DATE, i);
+            String dateString = formatter.format(calendar.getTime());
+            dates.add(dateString);
+        }
+        return page.setRecords(cesRoomLayoutPriceDateMapper.pageList(page, dates, hotelIds));
+    }
+}