Selaa lähdekoodia

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

qh 2 vuotta sitten
vanhempi
commit
a8c5f5d41d
75 muutettua tiedostoa jossa 4227 lisäystä ja 15 poistoa
  1. 232 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusCancelController.java
  2. 234 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusClearController.java
  3. 235 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusDepositSettingController.java
  4. 232 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusHouseSettingController.java
  5. 28 4
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusMarketCouponsController.java
  6. 1 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusMarketCouponsEventController.java
  7. 3 3
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusMarketCouponsEventDetailController.java
  8. 254 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusMarketCouponsUsedController.java
  9. 1 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusMarketMemberController.java
  10. 1 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusMarketRechargeController.java
  11. 328 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusNightTrialController.java
  12. 231 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusOtherCheckoutController.java
  13. 231 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusOtherEmptyDirtyRoomController.java
  14. 231 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusOtherMemberVerifyController.java
  15. 231 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusOtherRoomCardController.java
  16. 11 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/dto/CouponsGenerateDto.java
  17. 10 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/dto/MobileDto.java
  18. 11 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/dto/PostDataDto.java
  19. 13 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/dto/ProvideCouponsUsedDto.java
  20. 76 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/BusCancel.java
  21. 72 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/BusClear.java
  22. 92 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/BusDepositSetting.java
  23. 92 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/BusHouseSetting.java
  24. 19 4
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/BusMarketCoupons.java
  25. 100 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/BusMarketCouponsUsed.java
  26. 93 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/BusNightTrial.java
  27. 72 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/BusOtherCheckout.java
  28. 72 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/BusOtherEmptyDirtyRoom.java
  29. 72 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/BusOtherMemberVerify.java
  30. 72 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/BusOtherRoomCard.java
  31. 59 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/enums/CouponsStatusEnum.java
  32. 17 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusCancelMapper.java
  33. 17 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusClearMapper.java
  34. 17 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusDepositSettingMapper.java
  35. 17 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusHouseSettingMapper.java
  36. 4 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusMarketCouponsMapper.java
  37. 17 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusMarketCouponsUsedMapper.java
  38. 17 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusNightTrialMapper.java
  39. 17 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusOtherCheckoutMapper.java
  40. 17 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusOtherEmptyDirtyRoomMapper.java
  41. 17 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusOtherMemberVerifyMapper.java
  42. 17 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusOtherRoomCardMapper.java
  43. 5 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/BusCancelMapper.xml
  44. 5 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/BusClearMapper.xml
  45. 5 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/BusDepositSettingMapper.xml
  46. 5 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/BusHouseSettingMapper.xml
  47. 26 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/BusMarketCouponsMapper.xml
  48. 5 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/BusMarketCouponsUsedMapper.xml
  49. 5 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/BusNightTrialMapper.xml
  50. 5 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/BusOtherCheckoutMapper.xml
  51. 5 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/BusOtherEmptyDirtyRoomMapper.xml
  52. 5 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/BusOtherMemberVerifyMapper.xml
  53. 5 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/BusOtherRoomCardMapper.xml
  54. 14 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IBusCancelService.java
  55. 14 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IBusClearService.java
  56. 14 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IBusDepositSettingService.java
  57. 14 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IBusHouseSettingService.java
  58. 12 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IBusMarketCouponsService.java
  59. 37 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IBusMarketCouponsUsedService.java
  60. 14 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IBusNightTrialService.java
  61. 14 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IBusOtherCheckoutService.java
  62. 14 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IBusOtherEmptyDirtyRoomService.java
  63. 14 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IBusOtherMemberVerifyService.java
  64. 14 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IBusOtherRoomCardService.java
  65. 19 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/BusCancelServiceImpl.java
  66. 19 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/BusClearServiceImpl.java
  67. 19 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/BusDepositSettingServiceImpl.java
  68. 19 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/BusHouseSettingServiceImpl.java
  69. 35 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/BusMarketCouponsServiceImpl.java
  70. 187 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/BusMarketCouponsUsedServiceImpl.java
  71. 19 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/BusNightTrialServiceImpl.java
  72. 19 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/BusOtherCheckoutServiceImpl.java
  73. 19 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/BusOtherEmptyDirtyRoomServiceImpl.java
  74. 19 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/BusOtherMemberVerifyServiceImpl.java
  75. 19 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/BusOtherRoomCardServiceImpl.java

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

@@ -0,0 +1,232 @@
+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.BusCancel;
+import org.jeecg.modules.business.entity.BusDepositSetting;
+import org.jeecg.modules.business.service.IBusCancelService;
+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-10
+ * @Version: V1.0
+ */
+@Api(tags="撤销入住")
+@RestController
+@RequestMapping("/business/busCancel")
+@Slf4j
+public class BusCancelController extends JeecgController<BusCancel, IBusCancelService> {
+	@Autowired
+	private IBusCancelService busCancelService;
+
+	/**
+	 * 分页列表查询
+	 *
+	 * @param busCancel
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "撤销入住-分页列表查询")
+	@ApiOperation(value="撤销入住-分页列表查询", notes="撤销入住-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<BusCancel>> queryPageList(BusCancel busCancel,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<BusCancel> queryWrapper = QueryGenerator.initQueryWrapper(busCancel, req.getParameterMap());
+		Page<BusCancel> page = new Page<BusCancel>(pageNo, pageSize);
+		IPage<BusCancel> pageList = busCancelService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+
+	/**
+	 *   添加
+	 *
+	 * @param busCancel
+	 * @return
+	 */
+	@AutoLog(value = "撤销入住-添加")
+	@ApiOperation(value="撤销入住-添加", notes="撤销入住-添加")
+	//@RequiresPermissions("business:bus_cancel_info:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody BusCancel busCancel) {
+		busCancelService.save(busCancel);
+		return Result.OK("添加成功!");
+	}
+
+	/**
+	 *  编辑
+	 *
+	 * @param busCancel
+	 * @return
+	 */
+	@AutoLog(value = "撤销入住-编辑")
+	@ApiOperation(value="撤销入住-编辑", notes="撤销入住-编辑")
+	//@RequiresPermissions("business:bus_cancel_info:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody BusCancel busCancel) {
+		busCancelService.updateById(busCancel);
+		return Result.OK("编辑成功!");
+	}
+
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "撤销入住-通过id删除")
+	@ApiOperation(value="撤销入住-通过id删除", notes="撤销入住-通过id删除")
+	//@RequiresPermissions("business:bus_cancel_info:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		busCancelService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "撤销入住-批量删除")
+	@ApiOperation(value="撤销入住-批量删除", notes="撤销入住-批量删除")
+	//@RequiresPermissions("business:bus_cancel_info:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.busCancelService.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<BusCancel> queryById(@RequestParam(name="id",required=true) String id) {
+		BusCancel busCancel = busCancelService.getById(id);
+		if(busCancel==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(busCancel);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param busCancel
+    */
+    //@RequiresPermissions("business:bus_cancel_info:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, BusCancel busCancel) {
+        return super.exportXls(request, busCancel, BusCancel.class, "撤销入住");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    //@RequiresPermissions("business:bus_cancel_info:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, BusCancel.class);
+    }
+
+	 /**
+	  * 通过hotelId查询
+	  *
+	  * @param hotelId
+	  * @return
+	  */
+	 //@AutoLog(value = "撤销入住-通过hotelId查询")
+	 @ApiOperation(value="撤销入住-通过hotelId查询", notes="撤销入住-通过hotelId查询")
+	 @GetMapping(value = "/queryByHotelId")
+	 public Result<BusCancel> queryByHotelId(@RequestParam(name="hotelId",required=true) String hotelId) {
+		 QueryWrapper<BusCancel> queryWrapper = new QueryWrapper<BusCancel>();
+		 queryWrapper.eq("hotel_id", hotelId);
+		 BusCancel resultModel = busCancelService.getOne(queryWrapper);
+		 if(resultModel==null) {
+			 return Result.error("");
+		 }
+		 return Result.OK(resultModel);
+	 }
+
+	 /**
+	  *  编辑
+	  *
+	  * @param busCancel
+	  * @return
+	  */
+	 @AutoLog(value = "撤销入住-编辑")
+	 @ApiOperation(value="撤销入住-编辑", notes="撤销入住-编辑")
+	 @RequestMapping(value = "/editInfo", method = {RequestMethod.PUT,RequestMethod.POST})
+	 public Result<BusCancel> editInfo(@RequestBody BusCancel busCancel) {
+		 if(busCancel.getTenantId() == null || busCancel.getTenantId().equals("")){
+			 LoginUser user = TokenUtils.getAuthUser();
+			 if(user.getRelTenantIds() != null && !user.getRelTenantIds().equals("")){
+				 busCancel.setTenantId(user.getRelTenantIds());
+			 } else {
+				 throw new JeecgBootException("当前登录人租户信息错误");
+			 }
+		 }
+		 if (busCancel.getId() != null && !busCancel.getId().equals("")){
+			 BusCancel editModel = busCancelService.getById(busCancel.getId());
+			 editModel.setStatus(busCancel.getStatus());
+			 editModel.setMinute(busCancel.getMinute());
+			 busCancelService.updateById(editModel);
+			 return Result.OK(editModel);
+		 }else{
+			 busCancel.setDelFlag(CommonConstant.DEL_FLAG_0);
+			 busCancelService.save(busCancel);
+			 return Result.OK(busCancel);
+		 }
+	 }
+}

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

@@ -0,0 +1,234 @@
+package org.jeecg.modules.business.controller;
+
+import java.sql.Time;
+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.BusClear;
+import org.jeecg.modules.business.entity.BusNightTrial;
+import org.jeecg.modules.business.service.IBusClearService;
+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-10
+ * @Version: V1.0
+ */
+@Api(tags="清扫房间选择服务员")
+@RestController
+@RequestMapping("/business/busClear")
+@Slf4j
+public class BusClearController extends JeecgController<BusClear, IBusClearService> {
+	@Autowired
+	private IBusClearService busClearService;
+
+	/**
+	 * 分页列表查询
+	 *
+	 * @param busClear
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "清扫房间选择服务员-分页列表查询")
+	@ApiOperation(value="清扫房间选择服务员-分页列表查询", notes="清扫房间选择服务员-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<BusClear>> queryPageList(BusClear busClear,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<BusClear> queryWrapper = QueryGenerator.initQueryWrapper(busClear, req.getParameterMap());
+		Page<BusClear> page = new Page<BusClear>(pageNo, pageSize);
+		IPage<BusClear> pageList = busClearService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+
+	/**
+	 *   添加
+	 *
+	 * @param busClear
+	 * @return
+	 */
+	@AutoLog(value = "清扫房间选择服务员-添加")
+	@ApiOperation(value="清扫房间选择服务员-添加", notes="清扫房间选择服务员-添加")
+	//@RequiresPermissions("business:bus_clear_info:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody BusClear busClear) {
+		busClearService.save(busClear);
+		return Result.OK("添加成功!");
+	}
+
+	/**
+	 *  编辑
+	 *
+	 * @param busClear
+	 * @return
+	 */
+	@AutoLog(value = "清扫房间选择服务员-编辑")
+	@ApiOperation(value="清扫房间选择服务员-编辑", notes="清扫房间选择服务员-编辑")
+	//@RequiresPermissions("business:bus_clear_info:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody BusClear busClear) {
+		busClearService.updateById(busClear);
+		return Result.OK("编辑成功!");
+	}
+
+	 /**
+	  * 通过hotelId查询
+	  *
+	  * @param hotelId
+	  * @return
+	  */
+	 //@AutoLog(value = "清扫房间选择服务员-通过hotelId查询")
+	 @ApiOperation(value="清扫房间选择服务员-通过hotelId查询", notes="清扫房间选择服务员-通过hotelId查询")
+	 @GetMapping(value = "/queryByHotelId")
+	 public Result<BusClear> queryByHotelId(@RequestParam(name="hotelId",required=true) String hotelId) {
+		 QueryWrapper<BusClear> queryWrapper = new QueryWrapper<BusClear>();
+		 queryWrapper.eq("hotel_id", hotelId);
+		 BusClear resultModel = busClearService.getOne(queryWrapper);
+		 if(resultModel==null) {
+			 return Result.error("");
+		 }
+		 return Result.OK(resultModel);
+	 }
+
+	 /**
+	  *  编辑
+	  *
+	  * @param busClear
+	  * @return
+	  */
+	 @AutoLog(value = "清扫房间选择服务员-编辑")
+	 @ApiOperation(value="清扫房间选择服务员-编辑", notes="清扫房间选择服务员-编辑")
+	 //@RequiresPermissions("business:bus_night_trial_info:edit")
+	 @RequestMapping(value = "/editStatus", method = {RequestMethod.PUT,RequestMethod.POST})
+	 public Result<BusClear> editAutoCheck(@RequestBody BusClear busClear) {
+		 if(busClear.getTenantId() == null || busClear.getTenantId().equals("")){
+			 LoginUser user = TokenUtils.getAuthUser();
+			 if(user.getRelTenantIds() != null && !user.getRelTenantIds().equals("")){
+				 busClear.setTenantId(user.getRelTenantIds());
+			 } else {
+				 throw new JeecgBootException("当前登录人租户信息错误");
+			 }
+		 }
+		 if (busClear.getId() != null && !busClear.getId().equals("")){
+			 BusClear editModel = busClearService.getById(busClear.getId());
+			 editModel.setStatus(busClear.getStatus());
+			 busClearService.updateById(editModel);
+			 return Result.OK(editModel);
+		 }else{
+			 busClear.setDelFlag(CommonConstant.DEL_FLAG_0);
+			 busClearService.save(busClear);
+			 return Result.OK(busClear);
+		 }
+	 }
+
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "清扫房间选择服务员-通过id删除")
+	@ApiOperation(value="清扫房间选择服务员-通过id删除", notes="清扫房间选择服务员-通过id删除")
+	//@RequiresPermissions("business:bus_clear_info:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		busClearService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "清扫房间选择服务员-批量删除")
+	@ApiOperation(value="清扫房间选择服务员-批量删除", notes="清扫房间选择服务员-批量删除")
+	//@RequiresPermissions("business:bus_clear_info:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.busClearService.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<BusClear> queryById(@RequestParam(name="id",required=true) String id) {
+		BusClear busClear = busClearService.getById(id);
+		if(busClear==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(busClear);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param busClear
+    */
+    //@RequiresPermissions("business:bus_clear_info:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, BusClear busClear) {
+        return super.exportXls(request, busClear, BusClear.class, "清扫房间选择服务员");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    //@RequiresPermissions("business:bus_clear_info:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, BusClear.class);
+    }
+
+}

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

@@ -0,0 +1,235 @@
+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.BusDepositSetting;
+import org.jeecg.modules.business.entity.BusHouseSetting;
+import org.jeecg.modules.business.service.IBusDepositSettingService;
+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-10
+ * @Version: V1.0
+ */
+@Api(tags="押金设置")
+@RestController
+@RequestMapping("/business/busDepositSetting")
+@Slf4j
+public class BusDepositSettingController extends JeecgController<BusDepositSetting, IBusDepositSettingService> {
+	@Autowired
+	private IBusDepositSettingService busDepositSettingService;
+
+	/**
+	 * 分页列表查询
+	 *
+	 * @param busDepositSetting
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "押金设置-分页列表查询")
+	@ApiOperation(value="押金设置-分页列表查询", notes="押金设置-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<BusDepositSetting>> queryPageList(BusDepositSetting busDepositSetting,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<BusDepositSetting> queryWrapper = QueryGenerator.initQueryWrapper(busDepositSetting, req.getParameterMap());
+		Page<BusDepositSetting> page = new Page<BusDepositSetting>(pageNo, pageSize);
+		IPage<BusDepositSetting> pageList = busDepositSettingService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+
+	/**
+	 *   添加
+	 *
+	 * @param busDepositSetting
+	 * @return
+	 */
+	@AutoLog(value = "押金设置-添加")
+	@ApiOperation(value="押金设置-添加", notes="押金设置-添加")
+	//@RequiresPermissions("business:bus_deposit_setting_info:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody BusDepositSetting busDepositSetting) {
+		busDepositSettingService.save(busDepositSetting);
+		return Result.OK("添加成功!");
+	}
+
+	/**
+	 *  编辑
+	 *
+	 * @param busDepositSetting
+	 * @return
+	 */
+	@AutoLog(value = "押金设置-编辑")
+	@ApiOperation(value="押金设置-编辑", notes="押金设置-编辑")
+	//@RequiresPermissions("business:bus_deposit_setting_info:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody BusDepositSetting busDepositSetting) {
+		busDepositSettingService.updateById(busDepositSetting);
+		return Result.OK("编辑成功!");
+	}
+
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "押金设置-通过id删除")
+	@ApiOperation(value="押金设置-通过id删除", notes="押金设置-通过id删除")
+	//@RequiresPermissions("business:bus_deposit_setting_info:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		busDepositSettingService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "押金设置-批量删除")
+	@ApiOperation(value="押金设置-批量删除", notes="押金设置-批量删除")
+	//@RequiresPermissions("business:bus_deposit_setting_info:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.busDepositSettingService.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<BusDepositSetting> queryById(@RequestParam(name="id",required=true) String id) {
+		BusDepositSetting busDepositSetting = busDepositSettingService.getById(id);
+		if(busDepositSetting==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(busDepositSetting);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param busDepositSetting
+    */
+    //@RequiresPermissions("business:bus_deposit_setting_info:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, BusDepositSetting busDepositSetting) {
+        return super.exportXls(request, busDepositSetting, BusDepositSetting.class, "押金设置");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    //@RequiresPermissions("business:bus_deposit_setting_info:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, BusDepositSetting.class);
+    }
+
+	 /**
+	  * 通过hotelId查询
+	  *
+	  * @param hotelId
+	  * @return
+	  */
+	 //@AutoLog(value = "押金设置-通过hotelId查询")
+	 @ApiOperation(value="押金设置-通过hotelId查询", notes="押金设置-通过hotelId查询")
+	 @GetMapping(value = "/queryByHotelId")
+	 public Result<BusDepositSetting> queryByHotelId(@RequestParam(name="hotelId",required=true) String hotelId) {
+		 QueryWrapper<BusDepositSetting> queryWrapper = new QueryWrapper<BusDepositSetting>();
+		 queryWrapper.eq("hotel_id", hotelId);
+		 BusDepositSetting resultModel = busDepositSettingService.getOne(queryWrapper);
+		 if(resultModel==null) {
+			 return Result.error("");
+		 }
+		 return Result.OK(resultModel);
+	 }
+
+	 /**
+	  *  编辑
+	  *
+	  * @param busDepositSetting
+	  * @return
+	  */
+	 @AutoLog(value = "押金设置-编辑")
+	 @ApiOperation(value="押金设置-编辑", notes="押金设置-编辑")
+	 @RequestMapping(value = "/editInfo", method = {RequestMethod.PUT,RequestMethod.POST})
+	 public Result<BusDepositSetting> editInfo(@RequestBody BusDepositSetting busDepositSetting) {
+		 if(busDepositSetting.getTenantId() == null || busDepositSetting.getTenantId().equals("")){
+			 LoginUser user = TokenUtils.getAuthUser();
+			 if(user.getRelTenantIds() != null && !user.getRelTenantIds().equals("")){
+				 busDepositSetting.setTenantId(user.getRelTenantIds());
+			 } else {
+				 throw new JeecgBootException("当前登录人租户信息错误");
+			 }
+		 }
+		 if (busDepositSetting.getId() != null && !busDepositSetting.getId().equals("")){
+			 BusDepositSetting editModel = busDepositSettingService.getById(busDepositSetting.getId());
+			 editModel.setDepositType(busDepositSetting.getDepositType());
+			 editModel.setDepositMultiple(busDepositSetting.getDepositMultiple());
+			 editModel.setDepositMoney(busDepositSetting.getDepositMoney());
+			 editModel.setBalanceAlarm(busDepositSetting.getBalanceAlarm());
+			 editModel.setBalanceLess(busDepositSetting.getBalanceLess());
+			 busDepositSettingService.updateById(editModel);
+			 return Result.OK(editModel);
+		 }else{
+			 busDepositSetting.setDelFlag(CommonConstant.DEL_FLAG_0);
+			 busDepositSettingService.save(busDepositSetting);
+			 return Result.OK(busDepositSetting);
+		 }
+	 }
+}

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

@@ -0,0 +1,232 @@
+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.BusClear;
+import org.jeecg.modules.business.entity.BusHouseSetting;
+import org.jeecg.modules.business.service.IBusHouseSettingService;
+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-10
+ * @Version: V1.0
+ */
+@Api(tags="房务管理设置")
+@RestController
+@RequestMapping("/business/busHouseSetting")
+@Slf4j
+public class BusHouseSettingController extends JeecgController<BusHouseSetting, IBusHouseSettingService> {
+	@Autowired
+	private IBusHouseSettingService busHouseSettingService;
+
+	/**
+	 * 分页列表查询
+	 *
+	 * @param busHouseSetting
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "房务管理设置-分页列表查询")
+	@ApiOperation(value="房务管理设置-分页列表查询", notes="房务管理设置-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<BusHouseSetting>> queryPageList(BusHouseSetting busHouseSetting,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<BusHouseSetting> queryWrapper = QueryGenerator.initQueryWrapper(busHouseSetting, req.getParameterMap());
+		Page<BusHouseSetting> page = new Page<BusHouseSetting>(pageNo, pageSize);
+		IPage<BusHouseSetting> pageList = busHouseSettingService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+
+	/**
+	 *   添加
+	 *
+	 * @param busHouseSetting
+	 * @return
+	 */
+	@AutoLog(value = "房务管理设置-添加")
+	@ApiOperation(value="房务管理设置-添加", notes="房务管理设置-添加")
+	//@RequiresPermissions("business:bus_house_setting_info:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody BusHouseSetting busHouseSetting) {
+		busHouseSettingService.save(busHouseSetting);
+		return Result.OK("添加成功!");
+	}
+
+	/**
+	 *  编辑
+	 *
+	 * @param busHouseSetting
+	 * @return
+	 */
+	@AutoLog(value = "房务管理设置-编辑")
+	@ApiOperation(value="房务管理设置-编辑", notes="房务管理设置-编辑")
+	//@RequiresPermissions("business:bus_house_setting_info:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody BusHouseSetting busHouseSetting) {
+		busHouseSettingService.updateById(busHouseSetting);
+		return Result.OK("编辑成功!");
+	}
+
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "房务管理设置-通过id删除")
+	@ApiOperation(value="房务管理设置-通过id删除", notes="房务管理设置-通过id删除")
+	//@RequiresPermissions("business:bus_house_setting_info:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		busHouseSettingService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "房务管理设置-批量删除")
+	@ApiOperation(value="房务管理设置-批量删除", notes="房务管理设置-批量删除")
+	//@RequiresPermissions("business:bus_house_setting_info:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.busHouseSettingService.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<BusHouseSetting> queryById(@RequestParam(name="id",required=true) String id) {
+		BusHouseSetting busHouseSetting = busHouseSettingService.getById(id);
+		if(busHouseSetting==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(busHouseSetting);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param busHouseSetting
+    */
+    //@RequiresPermissions("business:bus_house_setting_info:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, BusHouseSetting busHouseSetting) {
+        return super.exportXls(request, busHouseSetting, BusHouseSetting.class, "房务管理设置");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    //@RequiresPermissions("business:bus_house_setting_info:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, BusHouseSetting.class);
+    }
+
+	 /**
+	  * 通过hotelId查询
+	  *
+	  * @param hotelId
+	  * @return
+	  */
+	 //@AutoLog(value = "房务管理设置-通过hotelId查询")
+	 @ApiOperation(value="房务管理设置-通过hotelId查询", notes="房务管理设置-通过hotelId查询")
+	 @GetMapping(value = "/queryByHotelId")
+	 public Result<BusHouseSetting> queryByHotelId(@RequestParam(name="hotelId",required=true) String hotelId) {
+		 QueryWrapper<BusHouseSetting> queryWrapper = new QueryWrapper<BusHouseSetting>();
+		 queryWrapper.eq("hotel_id", hotelId);
+		 BusHouseSetting resultModel = busHouseSettingService.getOne(queryWrapper);
+		 if(resultModel==null) {
+			 return Result.error("");
+		 }
+		 return Result.OK(resultModel);
+	 }
+
+	 /**
+	  *  编辑
+	  *
+	  * @param busHouseSetting
+	  * @return
+	  */
+	 @AutoLog(value = "房务管理设置-编辑")
+	 @ApiOperation(value="房务管理设置-编辑", notes="房务管理设置-编辑")
+	 //@RequiresPermissions("business:bus_night_trial_info:edit")
+	 @RequestMapping(value = "/editStatus", method = {RequestMethod.PUT,RequestMethod.POST})
+	 public Result<BusHouseSetting> editAutoCheck(@RequestBody BusHouseSetting busHouseSetting) {
+		 if(busHouseSetting.getTenantId() == null || busHouseSetting.getTenantId().equals("")){
+			 LoginUser user = TokenUtils.getAuthUser();
+			 if(user.getRelTenantIds() != null && !user.getRelTenantIds().equals("")){
+				 busHouseSetting.setTenantId(user.getRelTenantIds());
+			 } else {
+				 throw new JeecgBootException("当前登录人租户信息错误");
+			 }
+		 }
+		 if (busHouseSetting.getId() != null && !busHouseSetting.getId().equals("")){
+			 BusHouseSetting editModel = busHouseSettingService.getById(busHouseSetting.getId());
+			 editModel.setStatus(busHouseSetting.getStatus());
+			 busHouseSettingService.updateById(editModel);
+			 return Result.OK(editModel);
+		 }else{
+			 busHouseSetting.setDelFlag(CommonConstant.DEL_FLAG_0);
+			 busHouseSettingService.save(busHouseSetting);
+			 return Result.OK(busHouseSetting);
+		 }
+	 }
+}

+ 28 - 4
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusMarketCouponsController.java

@@ -10,9 +10,16 @@ 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.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 org.jeecg.modules.business.entity.BusHotel;
 import org.jeecg.modules.business.entity.BusMarketCoupons;
+import org.jeecg.modules.business.enums.CouponsEventEnum;
+import org.jeecg.modules.business.mapper.BusMarketCouponsMapper;
+import org.jeecg.modules.business.service.IBusHotelService;
 import org.jeecg.modules.business.service.IBusMarketCouponsService;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -20,6 +27,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.extern.slf4j.Slf4j;
 
+import org.jeecg.modules.system.model.AnnouncementSendModel;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -50,7 +58,9 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
 public class BusMarketCouponsController extends JeecgController<BusMarketCoupons, IBusMarketCouponsService> {
 	@Autowired
 	private IBusMarketCouponsService busMarketCouponsService;
-	
+
+	 @Autowired
+	 private IBusHotelService busHotelService;
 	/**
 	 * 分页列表查询
 	 *
@@ -69,7 +79,16 @@ public class BusMarketCouponsController extends JeecgController<BusMarketCoupons
 								   HttpServletRequest req) {
 		QueryWrapper<BusMarketCoupons> queryWrapper = QueryGenerator.initQueryWrapper(busMarketCoupons, req.getParameterMap());
 		Page<BusMarketCoupons> page = new Page<BusMarketCoupons>(pageNo, pageSize);
-		IPage<BusMarketCoupons> pageList = busMarketCouponsService.page(page, queryWrapper);
+//		IPage<BusMarketCoupons> pageList = busMarketCouponsService.page(page, queryWrapper);
+		IPage<BusMarketCoupons> pageList = busMarketCouponsService.pageList(page, busMarketCoupons);
+		if (pageList.getRecords().size() > 0) {
+			pageList.getRecords().forEach(item -> {
+				BusHotel hotle = busHotelService.getById(item.getHotelId());
+				if (hotle != null) {
+					item.setHotelName(hotle.getName());
+				}
+			});
+		}
 		return Result.OK(pageList);
 	}
 	
@@ -84,6 +103,12 @@ public class BusMarketCouponsController extends JeecgController<BusMarketCoupons
 	//@RequiresPermissions("business:bus_market_coupons_info:add")
 	@PostMapping(value = "/add")
 	public Result<String> add(@RequestBody BusMarketCoupons busMarketCoupons) {
+		LoginUser user = TokenUtils.getAuthUser();
+		if (user.getRelTenantIds() != null && !user.getRelTenantIds().equals("")) {
+			busMarketCoupons.setTenantId(user.getRelTenantIds());
+		} else {
+			throw new JeecgBootException("当前登录人租户信息错误");
+		}
 		busMarketCouponsService.save(busMarketCoupons);
 		return Result.OK("添加成功!");
 	}
@@ -114,8 +139,7 @@ public class BusMarketCouponsController extends JeecgController<BusMarketCoupons
 	//@RequiresPermissions("business:bus_market_coupons_info:delete")
 	@DeleteMapping(value = "/delete")
 	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
-		busMarketCouponsService.removeById(id);
-		return Result.OK("删除成功!");
+		return busMarketCouponsService.removeCouponsAndCouponsUsedById(id);
 	}
 	
 	/**

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusMarketCouponsEventController.java

@@ -82,7 +82,7 @@ public class BusMarketCouponsEventController extends JeecgController<BusMarketCo
 		QueryWrapper<BusMarketCouponsEvent> queryWrapper = QueryGenerator.initQueryWrapper(busMarketCouponsEvent, req.getParameterMap());
 		Page<BusMarketCouponsEvent> page = new Page<BusMarketCouponsEvent>(pageNo, pageSize);
 		IPage<BusMarketCouponsEvent> pageList = busMarketCouponsEventService.page(page, queryWrapper);
-		if (pageList.getSize() > 0) {
+		if (pageList.getRecords().size() > 0) {
 			pageList.getRecords().forEach(item -> {
 				BusHotel hotle = busHotelService.getById(item.getHotelId());
 				if (hotle != null) {

+ 3 - 3
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusMarketCouponsEventDetailController.java

@@ -81,7 +81,7 @@ public class BusMarketCouponsEventDetailController extends JeecgController<BusMa
 		QueryWrapper<BusMarketCouponsEventDetail> queryWrapper = QueryGenerator.initQueryWrapper(busMarketCouponsEventDetail, req.getParameterMap());
 		Page<BusMarketCouponsEventDetail> page = new Page<BusMarketCouponsEventDetail>(pageNo, pageSize);
 		IPage<BusMarketCouponsEventDetail> pageList = busMarketCouponsEventDetailService.page(page, queryWrapper);
-		if (pageList.getSize() > 0) {
+		if (pageList.getRecords().size() > 0) {
 			pageList.getRecords().forEach(item -> {
 				BusHotel hotle = busHotelService.getById(item.getHotelId());
 				if (hotle != null) {
@@ -91,13 +91,13 @@ public class BusMarketCouponsEventDetailController extends JeecgController<BusMa
 				if (busMarketMember != null) {
 					item.setLevelName(busMarketMember.getName());
 				}
-				if(item.getType()==1) {
+				if(item.getType()==3) {
 					BusMarketCoupons busMarketCoupons = busMarketCouponsService.getById(item.getCouponsCashId());
 					if(busMarketCoupons!=null){
 						item.setCouponsName(busMarketCoupons.getName());
 					}
 				}
-				else if(item.getType()==3) {
+				else if(item.getType()==1) {
 					BusMarketCouponsCash busMarketCouponsCash = busMarketCouponsCashService.getById(item.getCouponsCashId());
 					if(busMarketCouponsCash!=null){
 						item.setCouponsName(busMarketCouponsCash.getName());

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

@@ -0,0 +1,254 @@
+package org.jeecg.modules.business.controller;
+
+import java.util.Arrays;
+import java.util.Date;
+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.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.constant.CommonConstant;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.business.dto.CouponsGenerateDto;
+import org.jeecg.modules.business.dto.PostDataDto;
+import org.jeecg.modules.business.dto.ProvideCouponsUsedDto;
+import org.jeecg.modules.business.entity.BusHotel;
+import org.jeecg.modules.business.entity.BusMarketCoupons;
+import org.jeecg.modules.business.entity.BusMarketCouponsUsed;
+import org.jeecg.modules.business.enums.CouponsEventEnum;
+import org.jeecg.modules.business.enums.CouponsStatusEnum;
+import org.jeecg.modules.business.service.IBusHotelService;
+import org.jeecg.modules.business.service.IBusMarketCouponsService;
+import org.jeecg.modules.business.service.IBusMarketCouponsUsedService;
+
+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.system.entity.SysAnnouncementSend;
+import org.jeecg.modules.system.entity.SysUser;
+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-09
+ * @Version: V1.0
+ */
+@Api(tags="免房券领取使用表")
+@RestController
+@RequestMapping("/business/busMarketCouponsUsed")
+@Slf4j
+public class BusMarketCouponsUsedController extends JeecgController<BusMarketCouponsUsed, IBusMarketCouponsUsedService> {
+	@Autowired
+	private IBusMarketCouponsUsedService busMarketCouponsUsedService;
+	 @Autowired
+	 private IBusMarketCouponsService busMarketCouponsService;
+	/**
+	 * 分页列表查询
+	 *
+	 * @param busMarketCouponsUsed
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "免房券领取使用表-分页列表查询")
+	@ApiOperation(value="免房券领取使用表-分页列表查询", notes="免房券领取使用表-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<BusMarketCouponsUsed>> queryPageList(BusMarketCouponsUsed busMarketCouponsUsed,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<BusMarketCouponsUsed> queryWrapper = QueryGenerator.initQueryWrapper(busMarketCouponsUsed, req.getParameterMap());
+		Page<BusMarketCouponsUsed> page = new Page<BusMarketCouponsUsed>(pageNo, pageSize);
+		IPage<BusMarketCouponsUsed> pageList = busMarketCouponsUsedService.page(page, queryWrapper);
+		if (pageList.getRecords().size() > 0) {
+			pageList.getRecords().forEach(item -> {
+				BusMarketCoupons coupons = busMarketCouponsService.getById(item.getCouponsId());
+				if (coupons != null) {
+					item.setConponsName(coupons.getName());
+				}
+				CouponsStatusEnum couponsStatusEnum = CouponsStatusEnum.val(item.getStatus());
+				if (couponsStatusEnum != null) {
+					item.setStatusName(couponsStatusEnum.getTitle());
+				}
+			});
+		}
+		return Result.OK(pageList);
+	}
+	
+	/**
+	 *   添加
+	 *
+	 * @param busMarketCouponsUsed
+	 * @return
+	 */
+	@AutoLog(value = "免房券领取使用表-添加")
+	@ApiOperation(value="免房券领取使用表-添加", notes="免房券领取使用表-添加")
+	//@RequiresPermissions("business:bus_market_coupons_used:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody BusMarketCouponsUsed busMarketCouponsUsed) {
+		busMarketCouponsUsedService.save(busMarketCouponsUsed);
+		return Result.OK("添加成功!");
+	}
+
+	 /**
+	  *   生成免房券
+	  *
+	  * @param dto
+	  * @return
+	  */
+	 @AutoLog(value = "免房券领取使用表-生成")
+	 @ApiOperation(value="免房券领取使用表-生成", notes="免房券领取使用表-生成")
+	 //@RequiresPermissions("business:bus_market_coupons_used:generate")
+	 @PostMapping(value = "/generate")
+	 public Result<String> generate(@RequestBody CouponsGenerateDto dto) {
+		 Result res = busMarketCouponsUsedService.generate(dto);
+		 return res;
+	 }
+
+	 /**
+	  *   免房券发放给非会员
+	  *
+	  * @param dto
+	  * @return
+	  */
+	 @AutoLog(value = "免房券领取使用表-生成")
+	 @ApiOperation(value="免房券领取使用表-生成", notes="免房券领取使用表-生成")
+	 //@RequiresPermissions("business:bus_market_coupons_used:generate")
+	 @PostMapping(value = "/gainCouponsUsedToNoMember")
+	 public Result<String> gainCouponsUsedToNoMember(@RequestBody ProvideCouponsUsedDto dto) {
+		 Result res = busMarketCouponsUsedService.gainCouponsUsedToNoMember(dto);
+		 return res;
+	 }
+
+	 /**
+	  * 作废
+	  * @param dto
+	  * @return
+	  */
+	 @AutoLog(value = "免房券领取使用表-作废")
+	 @ApiOperation(value="免房券领取使用表-作废", notes="免房券领取使用表-作废")
+	 //@RequiresPermissions("business:bus_market_coupons_used:edit")
+	 @RequestMapping(value = "/voided", method = {RequestMethod.PUT,RequestMethod.POST})
+	 public Result<String> voided(@RequestBody PostDataDto dto) {
+		 LambdaUpdateWrapper<BusMarketCouponsUsed> updateWrapper = new UpdateWrapper().lambda();
+		 updateWrapper.set(BusMarketCouponsUsed::getStatus, CouponsStatusEnum.voided.getKey());
+		 updateWrapper.eq(BusMarketCouponsUsed::getId, dto.getId());
+		 busMarketCouponsUsedService.update(updateWrapper);
+		 return Result.OK("编辑成功!");
+	 }
+	
+	/**
+	 *  编辑
+	 *
+	 * @param busMarketCouponsUsed
+	 * @return
+	 */
+	@AutoLog(value = "免房券领取使用表-编辑")
+	@ApiOperation(value="免房券领取使用表-编辑", notes="免房券领取使用表-编辑")
+	//@RequiresPermissions("business:bus_market_coupons_used:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody BusMarketCouponsUsed busMarketCouponsUsed) {
+		busMarketCouponsUsedService.updateById(busMarketCouponsUsed);
+		return Result.OK("编辑成功!");
+	}
+	
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "免房券领取使用表-通过id删除")
+	@ApiOperation(value="免房券领取使用表-通过id删除", notes="免房券领取使用表-通过id删除")
+	//@RequiresPermissions("business:bus_market_coupons_used:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		busMarketCouponsUsedService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+	
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "免房券领取使用表-批量删除")
+	@ApiOperation(value="免房券领取使用表-批量删除", notes="免房券领取使用表-批量删除")
+	//@RequiresPermissions("business:bus_market_coupons_used:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.busMarketCouponsUsedService.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<BusMarketCouponsUsed> queryById(@RequestParam(name="id",required=true) String id) {
+		BusMarketCouponsUsed busMarketCouponsUsed = busMarketCouponsUsedService.getById(id);
+		if(busMarketCouponsUsed==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(busMarketCouponsUsed);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param busMarketCouponsUsed
+    */
+    //@RequiresPermissions("business:bus_market_coupons_used:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, BusMarketCouponsUsed busMarketCouponsUsed) {
+        return super.exportXls(request, busMarketCouponsUsed, BusMarketCouponsUsed.class, "免房券领取使用表");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    //@RequiresPermissions("business:bus_market_coupons_used:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, BusMarketCouponsUsed.class);
+    }
+
+}

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusMarketMemberController.java

@@ -89,7 +89,7 @@ private IBusHotelService busHotelService;
 		QueryWrapper<BusMarketMember> queryWrapper = QueryGenerator.initQueryWrapper(busMarketMember, req.getParameterMap());
 		Page<BusMarketMember> page = new Page<BusMarketMember>(pageNo, pageSize);
 		IPage<BusMarketMember> pageList = busMarketMemberService.page(page, queryWrapper);
-		if(pageList.getSize()>0) {
+		if (pageList.getRecords().size() > 0) {
 			pageList.getRecords().forEach(item -> {
 				BusHotel hotle = busHotelService.getById(item.getHotelId());
 				if (hotle != null) {

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusMarketRechargeController.java

@@ -76,7 +76,7 @@ public class BusMarketRechargeController extends JeecgController<BusMarketRechar
 		QueryWrapper<BusMarketRecharge> queryWrapper = QueryGenerator.initQueryWrapper(busMarketRecharge, req.getParameterMap());
 		Page<BusMarketRecharge> page = new Page<BusMarketRecharge>(pageNo, pageSize);
 		IPage<BusMarketRecharge> pageList = busMarketRechargeService.page(page, queryWrapper);
-		if(pageList.getSize()>0) {
+		if (pageList.getRecords().size() > 0) {
 			pageList.getRecords().forEach(item -> {
 				BusHotel hotle = busHotelService.getById(item.getHotelId());
 				if (hotle != null) {

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

@@ -0,0 +1,328 @@
+package org.jeecg.modules.business.controller;
+
+import java.sql.Time;
+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.BusDictItem;
+import org.jeecg.modules.business.entity.BusNightTrial;
+import org.jeecg.modules.business.entity.BusSalesPersonPost;
+import org.jeecg.modules.business.service.IBusNightTrialService;
+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-10
+ * @Version: V1.0
+ */
+@Api(tags="夜审设置")
+@RestController
+@RequestMapping("/business/busNightTrial")
+@Slf4j
+public class BusNightTrialController extends JeecgController<BusNightTrial, IBusNightTrialService> {
+	@Autowired
+	private IBusNightTrialService busNightTrialService;
+
+	/**
+	 * 分页列表查询
+	 *
+	 * @param busNightTrial
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "夜审设置-分页列表查询")
+	@ApiOperation(value="夜审设置-分页列表查询", notes="夜审设置-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<BusNightTrial>> queryPageList(BusNightTrial busNightTrial,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<BusNightTrial> queryWrapper = QueryGenerator.initQueryWrapper(busNightTrial, req.getParameterMap());
+		Page<BusNightTrial> page = new Page<BusNightTrial>(pageNo, pageSize);
+		IPage<BusNightTrial> pageList = busNightTrialService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+
+	/**
+	 *   添加
+	 *
+	 * @param busNightTrial
+	 * @return
+	 */
+	@AutoLog(value = "夜审设置-添加")
+	@ApiOperation(value="夜审设置-添加", notes="夜审设置-添加")
+	//@RequiresPermissions("business:bus_night_trial_info:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody BusNightTrial busNightTrial) {
+		if(busNightTrial.getTenantId() == null || busNightTrial.getTenantId().equals("")){
+			LoginUser user = TokenUtils.getAuthUser();
+			if(user.getRelTenantIds() != null && !user.getRelTenantIds().equals("")){
+				busNightTrial.setTenantId(user.getRelTenantIds());
+			} else {
+				throw new JeecgBootException("当前登录人租户信息错误");
+			}
+		}
+		busNightTrialService.save(busNightTrial);
+		return Result.OK("添加成功!");
+	}
+
+	/**
+	 *  编辑
+	 *
+	 * @param busNightTrial
+	 * @return
+	 */
+	@AutoLog(value = "夜审设置-编辑")
+	@ApiOperation(value="夜审设置-编辑", notes="夜审设置-编辑")
+	//@RequiresPermissions("business:bus_night_trial_info:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody BusNightTrial busNightTrial) {
+		if(busNightTrial.getTenantId() == null || busNightTrial.getTenantId().equals("")){
+			LoginUser user = TokenUtils.getAuthUser();
+			if(user.getRelTenantIds() != null && !user.getRelTenantIds().equals("")){
+				busNightTrial.setTenantId(user.getRelTenantIds());
+			} else {
+				throw new JeecgBootException("当前登录人租户信息错误");
+			}
+		}
+		BusNightTrial editModel = busNightTrialService.getById(busNightTrial.getId());
+		editModel.setAutoCheck(busNightTrial.getAutoCheck());
+		editModel.setSetNightTrialTime(busNightTrial.getSetNightTrialTime());
+		editModel.setAutoHand(busNightTrial.getAutoHand());
+		busNightTrialService.updateById(editModel);
+		return Result.OK("编辑成功!");
+	}
+
+	 /**
+	  *  编辑
+	  *
+	  * @param busNightTrial
+	  * @return
+	  */
+	 @AutoLog(value = "夜审设置-编辑")
+	 @ApiOperation(value="夜审设置-编辑", notes="夜审设置-编辑")
+	 //@RequiresPermissions("business:bus_night_trial_info:edit")
+	 @RequestMapping(value = "/editAutoCheck", method = {RequestMethod.PUT,RequestMethod.POST})
+	 public Result<BusNightTrial> editAutoCheck(@RequestBody BusNightTrial busNightTrial) {
+		 if(busNightTrial.getTenantId() == null || busNightTrial.getTenantId().equals("")){
+			 LoginUser user = TokenUtils.getAuthUser();
+			 if(user.getRelTenantIds() != null && !user.getRelTenantIds().equals("")){
+				 busNightTrial.setTenantId(user.getRelTenantIds());
+			 } else {
+				 throw new JeecgBootException("当前登录人租户信息错误");
+			 }
+		 }
+		 if (busNightTrial.getId() != null && !busNightTrial.getId().equals("")){
+			 BusNightTrial editModel = busNightTrialService.getById(busNightTrial.getId());
+			 editModel.setAutoCheck(busNightTrial.getAutoCheck());
+			 busNightTrialService.updateById(editModel);
+			 return Result.OK(editModel);
+		 }else{
+			 busNightTrial.setDelFlag(CommonConstant.DEL_FLAG_0);
+			 busNightTrial.setAutoHand(1);
+			 Time _time = Time.valueOf("06:00:00");
+			 busNightTrial.setSetNightTrialTime(_time);
+			 busNightTrialService.save(busNightTrial);
+			 return Result.OK(busNightTrial);
+		 }
+	 }
+
+	 /**
+	  *  编辑
+	  *
+	  * @param busNightTrial
+	  * @return
+	  */
+	 @AutoLog(value = "夜审设置-编辑")
+	 @ApiOperation(value="夜审设置-编辑", notes="夜审设置-编辑")
+	 //@RequiresPermissions("business:bus_night_trial_info:edit")
+	 @RequestMapping(value = "/editNightTrialTime", method = {RequestMethod.PUT,RequestMethod.POST})
+	 public Result<BusNightTrial> editNightTrialTime(@RequestBody BusNightTrial busNightTrial) {
+		 if(busNightTrial.getTenantId() == null || busNightTrial.getTenantId().equals("")){
+			 LoginUser user = TokenUtils.getAuthUser();
+			 if(user.getRelTenantIds() != null && !user.getRelTenantIds().equals("")){
+				 busNightTrial.setTenantId(user.getRelTenantIds());
+			 } else {
+				 throw new JeecgBootException("当前登录人租户信息错误");
+			 }
+		 }
+//		 Time _time = Time.valueOf(busNightTrial.getSetNightTrialTime());
+//		 busNightTrial.setSetNightTrialTime(_time);
+		 if (busNightTrial.getId() != null && !busNightTrial.getId().equals("")){
+			 BusNightTrial editModel = busNightTrialService.getById(busNightTrial.getId());
+			 editModel.setSetNightTrialTime(busNightTrial.getSetNightTrialTime());
+			 busNightTrialService.updateById(editModel);
+			 return Result.OK(editModel);
+		 }else{
+			 busNightTrial.setDelFlag(CommonConstant.DEL_FLAG_0);
+			 busNightTrial.setAutoHand(1);
+			 busNightTrial.setAutoCheck(1);
+			 busNightTrialService.save(busNightTrial);
+			 return Result.OK(busNightTrial);
+		 }
+	 }
+
+	 /**
+	  *  编辑
+	  *
+	  * @param busNightTrial
+	  * @return
+	  */
+	 @AutoLog(value = "夜审设置-编辑")
+	 @ApiOperation(value="夜审设置-编辑", notes="夜审设置-编辑")
+	 //@RequiresPermissions("business:bus_night_trial_info:edit")
+	 @RequestMapping(value = "/editAutoHand", method = {RequestMethod.PUT,RequestMethod.POST})
+	 public Result<BusNightTrial> editAutoHand(@RequestBody BusNightTrial busNightTrial) {
+		 if(busNightTrial.getTenantId() == null || busNightTrial.getTenantId().equals("")){
+			 LoginUser user = TokenUtils.getAuthUser();
+			 if(user.getRelTenantIds() != null && !user.getRelTenantIds().equals("")){
+				 busNightTrial.setTenantId(user.getRelTenantIds());
+			 } else {
+				 throw new JeecgBootException("当前登录人租户信息错误");
+			 }
+		 }
+		 if (busNightTrial.getId() != null && !busNightTrial.getId().equals("")){
+			 BusNightTrial editModel = busNightTrialService.getById(busNightTrial.getId());
+			 editModel.setAutoHand(busNightTrial.getAutoHand());
+			 busNightTrialService.updateById(editModel);
+			 return Result.OK(editModel);
+		 }else{
+			 busNightTrial.setDelFlag(CommonConstant.DEL_FLAG_0);
+			 busNightTrial.setAutoHand(1);
+			 Time _time = Time.valueOf("06:00:00");
+			 busNightTrial.setSetNightTrialTime(_time);
+			 busNightTrialService.save(busNightTrial);
+			 return Result.OK(busNightTrial);
+		 }
+	 }
+
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "夜审设置-通过id删除")
+	@ApiOperation(value="夜审设置-通过id删除", notes="夜审设置-通过id删除")
+	//@RequiresPermissions("business:bus_night_trial_info:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		busNightTrialService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "夜审设置-批量删除")
+	@ApiOperation(value="夜审设置-批量删除", notes="夜审设置-批量删除")
+	//@RequiresPermissions("business:bus_night_trial_info:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.busNightTrialService.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<BusNightTrial> queryById(@RequestParam(name="id",required=true) String id) {
+		BusNightTrial busNightTrial = busNightTrialService.getById(id);
+		if(busNightTrial==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(busNightTrial);
+	}
+
+
+	 /**
+	  * 通过hotelId查询
+	  *
+	  * @param hotelId
+	  * @return
+	  */
+	 //@AutoLog(value = "夜审设置-通过hotelId查询")
+	 @ApiOperation(value="夜审设置-通过hotelId查询", notes="夜审设置-通过hotelId查询")
+	 @GetMapping(value = "/queryByHotelId")
+	 public Result<BusNightTrial> queryByHotelId(@RequestParam(name="hotelId",required=true) String hotelId) {
+		 QueryWrapper<BusNightTrial> queryWrapper = new QueryWrapper<BusNightTrial>();
+		 queryWrapper.eq("hotel_id", hotelId);
+		 BusNightTrial busNightTrial = busNightTrialService.getOne(queryWrapper);
+		 if(busNightTrial==null) {
+			 return Result.error("");
+		 }
+		 return Result.OK(busNightTrial);
+	 }
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param busNightTrial
+    */
+    //@RequiresPermissions("business:bus_night_trial_info:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, BusNightTrial busNightTrial) {
+        return super.exportXls(request, busNightTrial, BusNightTrial.class, "夜审设置");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    //@RequiresPermissions("business:bus_night_trial_info:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, BusNightTrial.class);
+    }
+
+}

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

@@ -0,0 +1,231 @@
+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.BusHouseSetting;
+import org.jeecg.modules.business.entity.BusOtherCheckout;
+import org.jeecg.modules.business.service.IBusOtherCheckoutService;
+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-10
+ * @Version: V1.0
+ */
+@Api(tags="其他-退房")
+@RestController
+@RequestMapping("/business/busOtherCheckout")
+@Slf4j
+public class BusOtherCheckoutController extends JeecgController<BusOtherCheckout, IBusOtherCheckoutService> {
+	@Autowired
+	private IBusOtherCheckoutService busOtherCheckoutService;
+
+	/**
+	 * 分页列表查询
+	 *
+	 * @param busOtherCheckout
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "其他-退房-分页列表查询")
+	@ApiOperation(value="其他-退房-分页列表查询", notes="其他-退房-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<BusOtherCheckout>> queryPageList(BusOtherCheckout busOtherCheckout,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<BusOtherCheckout> queryWrapper = QueryGenerator.initQueryWrapper(busOtherCheckout, req.getParameterMap());
+		Page<BusOtherCheckout> page = new Page<BusOtherCheckout>(pageNo, pageSize);
+		IPage<BusOtherCheckout> pageList = busOtherCheckoutService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+
+	/**
+	 *   添加
+	 *
+	 * @param busOtherCheckout
+	 * @return
+	 */
+	@AutoLog(value = "其他-退房-添加")
+	@ApiOperation(value="其他-退房-添加", notes="其他-退房-添加")
+	//@RequiresPermissions("business:bus_other_checkout_info:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody BusOtherCheckout busOtherCheckout) {
+		busOtherCheckoutService.save(busOtherCheckout);
+		return Result.OK("添加成功!");
+	}
+
+	/**
+	 *  编辑
+	 *
+	 * @param busOtherCheckout
+	 * @return
+	 */
+	@AutoLog(value = "其他-退房-编辑")
+	@ApiOperation(value="其他-退房-编辑", notes="其他-退房-编辑")
+	//@RequiresPermissions("business:bus_other_checkout_info:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody BusOtherCheckout busOtherCheckout) {
+		busOtherCheckoutService.updateById(busOtherCheckout);
+		return Result.OK("编辑成功!");
+	}
+
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "其他-退房-通过id删除")
+	@ApiOperation(value="其他-退房-通过id删除", notes="其他-退房-通过id删除")
+	//@RequiresPermissions("business:bus_other_checkout_info:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		busOtherCheckoutService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "其他-退房-批量删除")
+	@ApiOperation(value="其他-退房-批量删除", notes="其他-退房-批量删除")
+	//@RequiresPermissions("business:bus_other_checkout_info:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.busOtherCheckoutService.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<BusOtherCheckout> queryById(@RequestParam(name="id",required=true) String id) {
+		BusOtherCheckout busOtherCheckout = busOtherCheckoutService.getById(id);
+		if(busOtherCheckout==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(busOtherCheckout);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param busOtherCheckout
+    */
+    //@RequiresPermissions("business:bus_other_checkout_info:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, BusOtherCheckout busOtherCheckout) {
+        return super.exportXls(request, busOtherCheckout, BusOtherCheckout.class, "其他-退房");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    //@RequiresPermissions("business:bus_other_checkout_info:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, BusOtherCheckout.class);
+    }
+
+	 /**
+	  * 通过hotelId查询
+	  *
+	  * @param hotelId
+	  * @return
+	  */
+	 //@AutoLog(value = "其他-退房-通过hotelId查询")
+	 @ApiOperation(value="其他-退房-通过hotelId查询", notes="其他-退房-通过hotelId查询")
+	 @GetMapping(value = "/queryByHotelId")
+	 public Result<BusOtherCheckout> queryByHotelId(@RequestParam(name="hotelId",required=true) String hotelId) {
+		 QueryWrapper<BusOtherCheckout> queryWrapper = new QueryWrapper<BusOtherCheckout>();
+		 queryWrapper.eq("hotel_id", hotelId);
+		 BusOtherCheckout resultModel = busOtherCheckoutService.getOne(queryWrapper);
+		 if(resultModel==null) {
+			 return Result.error("");
+		 }
+		 return Result.OK(resultModel);
+	 }
+
+	 /**
+	  *  编辑
+	  *
+	  * @param busOtherCheckout
+	  * @return
+	  */
+	 @AutoLog(value = "其他-退房-编辑")
+	 @ApiOperation(value="其他-退房-编辑", notes="其他-退房-编辑")
+	 @RequestMapping(value = "/editStatus", method = {RequestMethod.PUT,RequestMethod.POST})
+	 public Result<BusOtherCheckout> editAutoCheck(@RequestBody BusOtherCheckout busOtherCheckout) {
+		 if(busOtherCheckout.getTenantId() == null || busOtherCheckout.getTenantId().equals("")){
+			 LoginUser user = TokenUtils.getAuthUser();
+			 if(user.getRelTenantIds() != null && !user.getRelTenantIds().equals("")){
+				 busOtherCheckout.setTenantId(user.getRelTenantIds());
+			 } else {
+				 throw new JeecgBootException("当前登录人租户信息错误");
+			 }
+		 }
+		 if (busOtherCheckout.getId() != null && !busOtherCheckout.getId().equals("")){
+			 BusOtherCheckout editModel = busOtherCheckoutService.getById(busOtherCheckout.getId());
+			 editModel.setStatus(busOtherCheckout.getStatus());
+			 busOtherCheckoutService.updateById(editModel);
+			 return Result.OK(editModel);
+		 }else{
+			 busOtherCheckout.setDelFlag(CommonConstant.DEL_FLAG_0);
+			 busOtherCheckoutService.save(busOtherCheckout);
+			 return Result.OK(busOtherCheckout);
+		 }
+	 }
+}

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

@@ -0,0 +1,231 @@
+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.BusOtherCheckout;
+import org.jeecg.modules.business.entity.BusOtherEmptyDirtyRoom;
+import org.jeecg.modules.business.service.IBusOtherEmptyDirtyRoomService;
+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-10
+ * @Version: V1.0
+ */
+@Api(tags="其他-空脏房入住")
+@RestController
+@RequestMapping("/business/busOtherEmptyDirtyRoom")
+@Slf4j
+public class BusOtherEmptyDirtyRoomController extends JeecgController<BusOtherEmptyDirtyRoom, IBusOtherEmptyDirtyRoomService> {
+	@Autowired
+	private IBusOtherEmptyDirtyRoomService busOtherEmptyDirtyRoomService;
+
+	/**
+	 * 分页列表查询
+	 *
+	 * @param busOtherEmptyDirtyRoom
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "其他-空脏房入住-分页列表查询")
+	@ApiOperation(value="其他-空脏房入住-分页列表查询", notes="其他-空脏房入住-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<BusOtherEmptyDirtyRoom>> queryPageList(BusOtherEmptyDirtyRoom busOtherEmptyDirtyRoom,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<BusOtherEmptyDirtyRoom> queryWrapper = QueryGenerator.initQueryWrapper(busOtherEmptyDirtyRoom, req.getParameterMap());
+		Page<BusOtherEmptyDirtyRoom> page = new Page<BusOtherEmptyDirtyRoom>(pageNo, pageSize);
+		IPage<BusOtherEmptyDirtyRoom> pageList = busOtherEmptyDirtyRoomService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+
+	/**
+	 *   添加
+	 *
+	 * @param busOtherEmptyDirtyRoom
+	 * @return
+	 */
+	@AutoLog(value = "其他-空脏房入住-添加")
+	@ApiOperation(value="其他-空脏房入住-添加", notes="其他-空脏房入住-添加")
+	//@RequiresPermissions("business:bus_other_empty_dirty_room_info:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody BusOtherEmptyDirtyRoom busOtherEmptyDirtyRoom) {
+		busOtherEmptyDirtyRoomService.save(busOtherEmptyDirtyRoom);
+		return Result.OK("添加成功!");
+	}
+
+	/**
+	 *  编辑
+	 *
+	 * @param busOtherEmptyDirtyRoom
+	 * @return
+	 */
+	@AutoLog(value = "其他-空脏房入住-编辑")
+	@ApiOperation(value="其他-空脏房入住-编辑", notes="其他-空脏房入住-编辑")
+	//@RequiresPermissions("business:bus_other_empty_dirty_room_info:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody BusOtherEmptyDirtyRoom busOtherEmptyDirtyRoom) {
+		busOtherEmptyDirtyRoomService.updateById(busOtherEmptyDirtyRoom);
+		return Result.OK("编辑成功!");
+	}
+
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "其他-空脏房入住-通过id删除")
+	@ApiOperation(value="其他-空脏房入住-通过id删除", notes="其他-空脏房入住-通过id删除")
+	//@RequiresPermissions("business:bus_other_empty_dirty_room_info:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		busOtherEmptyDirtyRoomService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "其他-空脏房入住-批量删除")
+	@ApiOperation(value="其他-空脏房入住-批量删除", notes="其他-空脏房入住-批量删除")
+	//@RequiresPermissions("business:bus_other_empty_dirty_room_info:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.busOtherEmptyDirtyRoomService.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<BusOtherEmptyDirtyRoom> queryById(@RequestParam(name="id",required=true) String id) {
+		BusOtherEmptyDirtyRoom busOtherEmptyDirtyRoom = busOtherEmptyDirtyRoomService.getById(id);
+		if(busOtherEmptyDirtyRoom==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(busOtherEmptyDirtyRoom);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param busOtherEmptyDirtyRoom
+    */
+    //@RequiresPermissions("business:bus_other_empty_dirty_room_info:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, BusOtherEmptyDirtyRoom busOtherEmptyDirtyRoom) {
+        return super.exportXls(request, busOtherEmptyDirtyRoom, BusOtherEmptyDirtyRoom.class, "其他-空脏房入住");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    //@RequiresPermissions("business:bus_other_empty_dirty_room_info:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, BusOtherEmptyDirtyRoom.class);
+    }
+
+	 /**
+	  * 通过hotelId查询
+	  *
+	  * @param hotelId
+	  * @return
+	  */
+	 //@AutoLog(value = "其他-空脏房-通过hotelId查询")
+	 @ApiOperation(value="其他-空脏房-通过hotelId查询", notes="其他-空脏房-通过hotelId查询")
+	 @GetMapping(value = "/queryByHotelId")
+	 public Result<BusOtherEmptyDirtyRoom> queryByHotelId(@RequestParam(name="hotelId",required=true) String hotelId) {
+		 QueryWrapper<BusOtherEmptyDirtyRoom> queryWrapper = new QueryWrapper<BusOtherEmptyDirtyRoom>();
+		 queryWrapper.eq("hotel_id", hotelId);
+		 BusOtherEmptyDirtyRoom resultModel = busOtherEmptyDirtyRoomService.getOne(queryWrapper);
+		 if(resultModel==null) {
+			 return Result.error("");
+		 }
+		 return Result.OK(resultModel);
+	 }
+
+	 /**
+	  *  编辑
+	  *
+	  * @param busOtherEmptyDirtyRoom
+	  * @return
+	  */
+	 @AutoLog(value = "其他-空脏房-编辑")
+	 @ApiOperation(value="其他-空脏房-编辑", notes="其他-空脏房-编辑")
+	 @RequestMapping(value = "/editStatus", method = {RequestMethod.PUT,RequestMethod.POST})
+	 public Result<BusOtherEmptyDirtyRoom> editAutoCheck(@RequestBody BusOtherEmptyDirtyRoom busOtherEmptyDirtyRoom) {
+		 if(busOtherEmptyDirtyRoom.getTenantId() == null || busOtherEmptyDirtyRoom.getTenantId().equals("")){
+			 LoginUser user = TokenUtils.getAuthUser();
+			 if(user.getRelTenantIds() != null && !user.getRelTenantIds().equals("")){
+				 busOtherEmptyDirtyRoom.setTenantId(user.getRelTenantIds());
+			 } else {
+				 throw new JeecgBootException("当前登录人租户信息错误");
+			 }
+		 }
+		 if (busOtherEmptyDirtyRoom.getId() != null && !busOtherEmptyDirtyRoom.getId().equals("")){
+			 BusOtherEmptyDirtyRoom editModel = busOtherEmptyDirtyRoomService.getById(busOtherEmptyDirtyRoom.getId());
+			 editModel.setStatus(busOtherEmptyDirtyRoom.getStatus());
+			 busOtherEmptyDirtyRoomService.updateById(editModel);
+			 return Result.OK(editModel);
+		 }else{
+			 busOtherEmptyDirtyRoom.setDelFlag(CommonConstant.DEL_FLAG_0);
+			 busOtherEmptyDirtyRoomService.save(busOtherEmptyDirtyRoom);
+			 return Result.OK(busOtherEmptyDirtyRoom);
+		 }
+	 }
+}

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

@@ -0,0 +1,231 @@
+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.BusOtherEmptyDirtyRoom;
+import org.jeecg.modules.business.entity.BusOtherMemberVerify;
+import org.jeecg.modules.business.service.IBusOtherMemberVerifyService;
+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-10
+ * @Version: V1.0
+ */
+@Api(tags="其他-会员验证")
+@RestController
+@RequestMapping("/business/busOtherMemberVerify")
+@Slf4j
+public class BusOtherMemberVerifyController extends JeecgController<BusOtherMemberVerify, IBusOtherMemberVerifyService> {
+	@Autowired
+	private IBusOtherMemberVerifyService busOtherMemberVerifyService;
+
+	/**
+	 * 分页列表查询
+	 *
+	 * @param busOtherMemberVerify
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "其他-会员验证-分页列表查询")
+	@ApiOperation(value="其他-会员验证-分页列表查询", notes="其他-会员验证-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<BusOtherMemberVerify>> queryPageList(BusOtherMemberVerify busOtherMemberVerify,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<BusOtherMemberVerify> queryWrapper = QueryGenerator.initQueryWrapper(busOtherMemberVerify, req.getParameterMap());
+		Page<BusOtherMemberVerify> page = new Page<BusOtherMemberVerify>(pageNo, pageSize);
+		IPage<BusOtherMemberVerify> pageList = busOtherMemberVerifyService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+
+	/**
+	 *   添加
+	 *
+	 * @param busOtherMemberVerify
+	 * @return
+	 */
+	@AutoLog(value = "其他-会员验证-添加")
+	@ApiOperation(value="其他-会员验证-添加", notes="其他-会员验证-添加")
+	//@RequiresPermissions("business:bus_other_member_verify_info:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody BusOtherMemberVerify busOtherMemberVerify) {
+		busOtherMemberVerifyService.save(busOtherMemberVerify);
+		return Result.OK("添加成功!");
+	}
+
+	/**
+	 *  编辑
+	 *
+	 * @param busOtherMemberVerify
+	 * @return
+	 */
+	@AutoLog(value = "其他-会员验证-编辑")
+	@ApiOperation(value="其他-会员验证-编辑", notes="其他-会员验证-编辑")
+	//@RequiresPermissions("business:bus_other_member_verify_info:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody BusOtherMemberVerify busOtherMemberVerify) {
+		busOtherMemberVerifyService.updateById(busOtherMemberVerify);
+		return Result.OK("编辑成功!");
+	}
+
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "其他-会员验证-通过id删除")
+	@ApiOperation(value="其他-会员验证-通过id删除", notes="其他-会员验证-通过id删除")
+	//@RequiresPermissions("business:bus_other_member_verify_info:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		busOtherMemberVerifyService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "其他-会员验证-批量删除")
+	@ApiOperation(value="其他-会员验证-批量删除", notes="其他-会员验证-批量删除")
+	//@RequiresPermissions("business:bus_other_member_verify_info:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.busOtherMemberVerifyService.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<BusOtherMemberVerify> queryById(@RequestParam(name="id",required=true) String id) {
+		BusOtherMemberVerify busOtherMemberVerify = busOtherMemberVerifyService.getById(id);
+		if(busOtherMemberVerify==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(busOtherMemberVerify);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param busOtherMemberVerify
+    */
+    //@RequiresPermissions("business:bus_other_member_verify_info:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, BusOtherMemberVerify busOtherMemberVerify) {
+        return super.exportXls(request, busOtherMemberVerify, BusOtherMemberVerify.class, "其他-会员验证");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    //@RequiresPermissions("business:bus_other_member_verify_info:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, BusOtherMemberVerify.class);
+    }
+
+	 /**
+	  * 通过hotelId查询
+	  *
+	  * @param hotelId
+	  * @return
+	  */
+	 //@AutoLog(value = "其他-会员验证-通过hotelId查询")
+	 @ApiOperation(value="其他-会员验证-通过hotelId查询", notes="其他-会员验证-通过hotelId查询")
+	 @GetMapping(value = "/queryByHotelId")
+	 public Result<BusOtherMemberVerify> queryByHotelId(@RequestParam(name="hotelId",required=true) String hotelId) {
+		 QueryWrapper<BusOtherMemberVerify> queryWrapper = new QueryWrapper<BusOtherMemberVerify>();
+		 queryWrapper.eq("hotel_id", hotelId);
+		 BusOtherMemberVerify resultModel = busOtherMemberVerifyService.getOne(queryWrapper);
+		 if(resultModel==null) {
+			 return Result.error("");
+		 }
+		 return Result.OK(resultModel);
+	 }
+
+	 /**
+	  *  编辑
+	  *
+	  * @param busOtherMemberVerify
+	  * @return
+	  */
+	 @AutoLog(value = "其他-会员验证-编辑")
+	 @ApiOperation(value="其他-会员验证-编辑", notes="其他-会员验证-编辑")
+	 @RequestMapping(value = "/editStatus", method = {RequestMethod.PUT,RequestMethod.POST})
+	 public Result<BusOtherMemberVerify> editAutoCheck(@RequestBody BusOtherMemberVerify busOtherMemberVerify) {
+		 if(busOtherMemberVerify.getTenantId() == null || busOtherMemberVerify.getTenantId().equals("")){
+			 LoginUser user = TokenUtils.getAuthUser();
+			 if(user.getRelTenantIds() != null && !user.getRelTenantIds().equals("")){
+				 busOtherMemberVerify.setTenantId(user.getRelTenantIds());
+			 } else {
+				 throw new JeecgBootException("当前登录人租户信息错误");
+			 }
+		 }
+		 if (busOtherMemberVerify.getId() != null && !busOtherMemberVerify.getId().equals("")){
+			 BusOtherMemberVerify editModel = busOtherMemberVerifyService.getById(busOtherMemberVerify.getId());
+			 editModel.setStatus(busOtherMemberVerify.getStatus());
+			 busOtherMemberVerifyService.updateById(editModel);
+			 return Result.OK(editModel);
+		 }else{
+			 busOtherMemberVerify.setDelFlag(CommonConstant.DEL_FLAG_0);
+			 busOtherMemberVerifyService.save(busOtherMemberVerify);
+			 return Result.OK(busOtherMemberVerify);
+		 }
+	 }
+}

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

@@ -0,0 +1,231 @@
+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.BusOtherMemberVerify;
+import org.jeecg.modules.business.entity.BusOtherRoomCard;
+import org.jeecg.modules.business.service.IBusOtherRoomCardService;
+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-10
+ * @Version: V1.0
+ */
+@Api(tags="其他-制卡")
+@RestController
+@RequestMapping("/business/busOtherRoomCard")
+@Slf4j
+public class BusOtherRoomCardController extends JeecgController<BusOtherRoomCard, IBusOtherRoomCardService> {
+	@Autowired
+	private IBusOtherRoomCardService busOtherRoomCardService;
+
+	/**
+	 * 分页列表查询
+	 *
+	 * @param busOtherRoomCard
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "其他-制卡-分页列表查询")
+	@ApiOperation(value="其他-制卡-分页列表查询", notes="其他-制卡-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<BusOtherRoomCard>> queryPageList(BusOtherRoomCard busOtherRoomCard,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<BusOtherRoomCard> queryWrapper = QueryGenerator.initQueryWrapper(busOtherRoomCard, req.getParameterMap());
+		Page<BusOtherRoomCard> page = new Page<BusOtherRoomCard>(pageNo, pageSize);
+		IPage<BusOtherRoomCard> pageList = busOtherRoomCardService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+
+	/**
+	 *   添加
+	 *
+	 * @param busOtherRoomCard
+	 * @return
+	 */
+	@AutoLog(value = "其他-制卡-添加")
+	@ApiOperation(value="其他-制卡-添加", notes="其他-制卡-添加")
+	//@RequiresPermissions("business:bus_other_room_card_info:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody BusOtherRoomCard busOtherRoomCard) {
+		busOtherRoomCardService.save(busOtherRoomCard);
+		return Result.OK("添加成功!");
+	}
+
+	/**
+	 *  编辑
+	 *
+	 * @param busOtherRoomCard
+	 * @return
+	 */
+	@AutoLog(value = "其他-制卡-编辑")
+	@ApiOperation(value="其他-制卡-编辑", notes="其他-制卡-编辑")
+	//@RequiresPermissions("business:bus_other_room_card_info:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody BusOtherRoomCard busOtherRoomCard) {
+		busOtherRoomCardService.updateById(busOtherRoomCard);
+		return Result.OK("编辑成功!");
+	}
+
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "其他-制卡-通过id删除")
+	@ApiOperation(value="其他-制卡-通过id删除", notes="其他-制卡-通过id删除")
+	//@RequiresPermissions("business:bus_other_room_card_info:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		busOtherRoomCardService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "其他-制卡-批量删除")
+	@ApiOperation(value="其他-制卡-批量删除", notes="其他-制卡-批量删除")
+	//@RequiresPermissions("business:bus_other_room_card_info:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.busOtherRoomCardService.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<BusOtherRoomCard> queryById(@RequestParam(name="id",required=true) String id) {
+		BusOtherRoomCard busOtherRoomCard = busOtherRoomCardService.getById(id);
+		if(busOtherRoomCard==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(busOtherRoomCard);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param busOtherRoomCard
+    */
+    //@RequiresPermissions("business:bus_other_room_card_info:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, BusOtherRoomCard busOtherRoomCard) {
+        return super.exportXls(request, busOtherRoomCard, BusOtherRoomCard.class, "其他-制卡");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    //@RequiresPermissions("business:bus_other_room_card_info:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, BusOtherRoomCard.class);
+    }
+
+	 /**
+	  * 通过hotelId查询
+	  *
+	  * @param hotelId
+	  * @return
+	  */
+	 //@AutoLog(value = "其他-制卡-通过hotelId查询")
+	 @ApiOperation(value="其他-制卡-通过hotelId查询", notes="其他-制卡-通过hotelId查询")
+	 @GetMapping(value = "/queryByHotelId")
+	 public Result<BusOtherRoomCard> queryByHotelId(@RequestParam(name="hotelId",required=true) String hotelId) {
+		 QueryWrapper<BusOtherRoomCard> queryWrapper = new QueryWrapper<BusOtherRoomCard>();
+		 queryWrapper.eq("hotel_id", hotelId);
+		 BusOtherRoomCard resultModel = busOtherRoomCardService.getOne(queryWrapper);
+		 if(resultModel==null) {
+			 return Result.error("");
+		 }
+		 return Result.OK(resultModel);
+	 }
+
+	 /**
+	  *  编辑
+	  *
+	  * @param busOtherRoomCard
+	  * @return
+	  */
+	 @AutoLog(value = "其他-制卡-编辑")
+	 @ApiOperation(value="其他-制卡-编辑", notes="其他-制卡-编辑")
+	 @RequestMapping(value = "/editStatus", method = {RequestMethod.PUT,RequestMethod.POST})
+	 public Result<BusOtherRoomCard> editAutoCheck(@RequestBody BusOtherRoomCard busOtherRoomCard) {
+		 if(busOtherRoomCard.getTenantId() == null || busOtherRoomCard.getTenantId().equals("")){
+			 LoginUser user = TokenUtils.getAuthUser();
+			 if(user.getRelTenantIds() != null && !user.getRelTenantIds().equals("")){
+				 busOtherRoomCard.setTenantId(user.getRelTenantIds());
+			 } else {
+				 throw new JeecgBootException("当前登录人租户信息错误");
+			 }
+		 }
+		 if (busOtherRoomCard.getId() != null && !busOtherRoomCard.getId().equals("")){
+			 BusOtherRoomCard editModel = busOtherRoomCardService.getById(busOtherRoomCard.getId());
+			 editModel.setStatus(busOtherRoomCard.getStatus());
+			 busOtherRoomCardService.updateById(editModel);
+			 return Result.OK(editModel);
+		 }else{
+			 busOtherRoomCard.setDelFlag(CommonConstant.DEL_FLAG_0);
+			 busOtherRoomCardService.save(busOtherRoomCard);
+			 return Result.OK(busOtherRoomCard);
+		 }
+	 }
+}

+ 11 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/dto/CouponsGenerateDto.java

@@ -0,0 +1,11 @@
+package org.jeecg.modules.business.dto;
+
+import lombok.Data;
+
+@Data
+public class CouponsGenerateDto {
+    private String couponsId;
+    private Integer num;
+
+}
+

+ 10 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/dto/MobileDto.java

@@ -0,0 +1,10 @@
+package org.jeecg.modules.business.dto;
+
+import lombok.Data;
+
+
+@Data
+public class MobileDto {
+    private String value;
+
+}

+ 11 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/dto/PostDataDto.java

@@ -0,0 +1,11 @@
+package org.jeecg.modules.business.dto;
+
+import lombok.Data;
+
+
+
+@Data
+public class PostDataDto {
+    private String id;
+
+}

+ 13 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/dto/ProvideCouponsUsedDto.java

@@ -0,0 +1,13 @@
+package org.jeecg.modules.business.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ProvideCouponsUsedDto {
+    private String couponsId;
+    private Integer num;
+    private List<MobileDto> mobiles;
+}
+

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

@@ -0,0 +1,76 @@
+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-10
+ * @Version: V1.0
+ */
+@Data
+@TableName("bus_cancel_info")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="bus_cancel_info对象", description="撤销入住")
+public class BusCancel 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;
+	/**撤销入住(0-关闭;1-开启)*/
+	@Excel(name = "撤销入住(0-关闭;1-开启)", width = 15)
+    @ApiModelProperty(value = "撤销入住(0-关闭;1-开启)")
+    private Integer status;
+	/**可撤销入住时间*/
+	@Excel(name = "可撤销入住时间", width = 15)
+    @ApiModelProperty(value = "可撤销入住时间")
+    private Integer minute;
+	/**删除状态(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;
+}

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

@@ -0,0 +1,72 @@
+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-10
+ * @Version: V1.0
+ */
+@Data
+@TableName("bus_clear_info")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="bus_clear_info对象", description="清扫房间选择服务员")
+public class BusClear 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;
+	/**状态(0-关闭;1-开启)*/
+	@Excel(name = "状态(0-关闭;1-开启)", width = 15)
+    @ApiModelProperty(value = "状态(0-关闭;1-开启)")
+    private Integer status;
+	/**删除状态(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;
+}

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

@@ -0,0 +1,92 @@
+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-10
+ * @Version: V1.0
+ */
+@Data
+@TableName("bus_deposit_setting_info")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="bus_deposit_setting_info对象", description="押金设置")
+public class BusDepositSetting 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 depositType;
+	/**押金金额*/
+	@Excel(name = "押金金额", width = 15)
+    @ApiModelProperty(value = "押金金额")
+    private BigDecimal depositMoney;
+	/**乘法倍数*/
+	@Excel(name = "乘法倍数", width = 15)
+    @ApiModelProperty(value = "乘法倍数")
+    private BigDecimal depositMultiple;
+	/**余额报警(0-关闭;1-开启)*/
+	@Excel(name = "余额报警(0-关闭;1-开启)", width = 15)
+    @ApiModelProperty(value = "余额报警(0-关闭;1-开启)")
+    private Integer balanceAlarm;
+	/**余额报警金额*/
+	@Excel(name = "余额报警金额", width = 15)
+    @ApiModelProperty(value = "余额报警金额")
+    private BigDecimal balanceLess;
+	/**是否四舍五入(0-否;1-是)*/
+	@Excel(name = "是否四舍五入(0-否;1-是)", width = 15)
+    @ApiModelProperty(value = "是否四舍五入(0-否;1-是)")
+    private Integer isRounding;
+	/**删除状态(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;
+}

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

@@ -0,0 +1,92 @@
+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-10
+ * @Version: V1.0
+ */
+@Data
+@TableName("bus_house_setting_info")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="bus_house_setting_info对象", description="房务管理设置")
+public class BusHouseSetting 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;
+	/**dirtyHouse*/
+	@Excel(name = "dirtyHouse", width = 15)
+    @ApiModelProperty(value = "dirtyHouse")
+    private BigDecimal dirtyHouse;
+	/**dirtyRoom*/
+	@Excel(name = "dirtyRoom", width = 15)
+    @ApiModelProperty(value = "dirtyRoom")
+    private String dirtyRoom;
+	/**tDirtyHouse*/
+	@Excel(name = "tDirtyHouse", width = 15)
+    @ApiModelProperty(value = "tDirtyHouse")
+    private BigDecimal tDirtyHouse;
+	/**xDirtyHouse*/
+	@Excel(name = "xDirtyHouse", width = 15)
+    @ApiModelProperty(value = "xDirtyHouse")
+    private BigDecimal xDirtyHouse;
+	/**zDirtyHouse*/
+	@Excel(name = "zDirtyHouse", width = 15)
+    @ApiModelProperty(value = "zDirtyHouse")
+    private BigDecimal zDirtyHouse;
+	/**状态(0-关闭;1-开启)*/
+	@Excel(name = "状态(0-关闭;1-开启)", width = 15)
+    @ApiModelProperty(value = "状态(0-关闭;1-开启)")
+    private Integer status;
+	/**删除状态(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;
+}

+ 19 - 4
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/BusMarketCoupons.java

@@ -4,10 +4,8 @@ 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 com.baomidou.mybatisplus.annotation.*;
 import lombok.Data;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -84,4 +82,21 @@ public class BusMarketCoupons implements Serializable {
 	@Excel(name = "使用说明", width = 15)
     @ApiModelProperty(value = "使用说明")
     private String ruleDec;
+
+    @TableField(exist = false)
+    private String hotelName;
+
+    @TableField(exist = false)
+    private Integer count;
+
+    @TableField(exist = false)
+    private Integer notClaimed;
+
+    @TableField(exist = false)
+    private Integer received;
+
+    @TableField(exist = false)
+    private Integer used;
+    @TableField(exist = false)
+    private Integer voided;
 }

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

@@ -0,0 +1,100 @@
+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.*;
+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-09
+ * @Version: V1.0
+ */
+@Data
+@TableName("bus_market_coupons_used")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="bus_market_coupons_used对象", description="免房券领取使用表")
+public class BusMarketCouponsUsed 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;
+	/**免房券id*/
+	@Excel(name = "免房券id", width = 15)
+    @ApiModelProperty(value = "免房券id")
+    private String couponsId;
+	/**券号*/
+	@Excel(name = "券号", width = 15)
+    @ApiModelProperty(value = "券号")
+    private String code;
+	/**状态 0未领取 1已领取 2已使用 3已作废*/
+	@Excel(name = "状态 0未领取 1已领取 2已使用 3已作废", width = 15)
+    @ApiModelProperty(value = "状态 0未领取 1已领取 2已使用 3已作废")
+    private Integer status;
+	/**会员id*/
+	@Excel(name = "会员id", width = 15)
+    @ApiModelProperty(value = "会员id")
+    private String userid;
+	/**姓名*/
+	@Excel(name = "姓名", width = 15)
+    @ApiModelProperty(value = "姓名")
+    private String userName;
+	/**房间号*/
+	@Excel(name = "房间号", width = 15)
+    @ApiModelProperty(value = "房间号")
+    private String roomNumber;
+	/**入住单号*/
+	@Excel(name = "入住单号", width = 15)
+    @ApiModelProperty(value = "入住单号")
+    private String checkedInNo;
+	/**手机号*/
+	@Excel(name = "手机号", width = 15)
+    @ApiModelProperty(value = "手机号")
+    private String mobile;
+	/**创建时间*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+	/**领取时间*/
+	@Excel(name = "领取时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd hh:mm:ss")
+    @ApiModelProperty(value = "领取时间")
+    private Date gainTime;
+	/**使用时间*/
+	@Excel(name = "使用时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "使用时间")
+    private Date usedTime;
+
+    @TableField(exist = false)
+    private String conponsName;
+
+    @TableField(exist = false)
+    private String statusName;
+}

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

@@ -0,0 +1,93 @@
+package org.jeecg.modules.business.entity;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.sql.Time;
+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-10
+ * @Version: V1.0
+ */
+@Data
+@TableName("bus_night_trial_info")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="bus_night_trial_info对象", description="夜审设置")
+public class BusNightTrial 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;
+	/**夜审(0-手动;1-自动)*/
+	@Excel(name = "夜审(0-手动;1-自动)", width = 15)
+    @ApiModelProperty(value = "夜审(0-手动;1-自动)")
+    private Integer autoCheck;
+	/**autoHand*/
+	@Excel(name = "自动交班(0-关闭;1-开启)", width = 15)
+    @ApiModelProperty(value = "自动交班(0-关闭;1-开启)")
+    private Integer autoHand;
+	/**lastNightState*/
+	@Excel(name = "lastNightState", width = 15)
+    @ApiModelProperty(value = "lastNightState")
+    private Integer lastNightState;
+	/**lastNightTrialTime*/
+	@Excel(name = "lastNightTrialTime", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "lastNightTrialTime")
+    private Date lastNightTrialTime;
+	/**夜审时间*/
+	@Excel(name = "夜审时间", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "夜审时间")
+    private Time setNightTrialTime;
+	/**删除状态(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;
+}

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

@@ -0,0 +1,72 @@
+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-10
+ * @Version: V1.0
+ */
+@Data
+@TableName("bus_other_checkout_info")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="bus_other_checkout_info对象", description="其他-退房")
+public class BusOtherCheckout 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;
+	/**状态(0-关闭;1-开启)*/
+	@Excel(name = "状态(0-关闭;1-开启)", width = 15)
+    @ApiModelProperty(value = "状态(0-关闭;1-开启)")
+    private Integer status;
+	/**删除状态(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;
+}

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

@@ -0,0 +1,72 @@
+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-10
+ * @Version: V1.0
+ */
+@Data
+@TableName("bus_other_empty_dirty_room_info")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="bus_other_empty_dirty_room_info对象", description="其他-空脏房入住")
+public class BusOtherEmptyDirtyRoom 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;
+	/**状态(0-关闭;1-开启)*/
+	@Excel(name = "状态(0-关闭;1-开启)", width = 15)
+    @ApiModelProperty(value = "状态(0-关闭;1-开启)")
+    private Integer status;
+	/**删除状态(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;
+}

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

@@ -0,0 +1,72 @@
+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-10
+ * @Version: V1.0
+ */
+@Data
+@TableName("bus_other_member_verify_info")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="bus_other_member_verify_info对象", description="其他-会员验证")
+public class BusOtherMemberVerify 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;
+	/**状态(0-关闭;1-开启)*/
+	@Excel(name = "状态(0-关闭;1-开启)", width = 15)
+    @ApiModelProperty(value = "状态(0-关闭;1-开启)")
+    private Integer status;
+	/**删除状态(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;
+}

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

@@ -0,0 +1,72 @@
+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-10
+ * @Version: V1.0
+ */
+@Data
+@TableName("bus_other_room_card_info")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="bus_other_room_card_info对象", description="其他-制卡")
+public class BusOtherRoomCard 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;
+	/**状态(0-关闭;1-开启)*/
+	@Excel(name = "状态(0-关闭;1-开启)", width = 15)
+    @ApiModelProperty(value = "状态(0-关闭;1-开启)")
+    private Integer status;
+	/**删除状态(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;
+}

+ 59 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/enums/CouponsStatusEnum.java

@@ -0,0 +1,59 @@
+package org.jeecg.modules.business.enums;
+
+import org.jeecg.common.system.annotation.EnumDict;
+import org.jeecg.common.system.vo.DictModel;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+@EnumDict("couponsStatusEnum")
+public enum CouponsStatusEnum {
+
+    notClaimed(0, "未领取"),
+    received(1, "已领取"),
+    used(2, "已使用"),
+    voided(3, "已作废");
+
+    Integer key;
+
+    String title;
+
+    CouponsStatusEnum(Integer key, String title){
+        this.key = key;
+        this.title = title;
+    }
+    public Integer getKey() {
+        return key;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    /**
+     * 获取字典数据
+     * @return
+     */
+    public static List<DictModel> getDictList(){
+        List<DictModel> list = new ArrayList<>();
+        DictModel dictModel = null;
+        for(CouponsStatusEnum e: CouponsStatusEnum.values()){
+            dictModel = new DictModel();
+            dictModel.setValue(e.key.toString());
+            dictModel.setText(e.title);
+            list.add(dictModel);
+        }
+        return list;
+    }
+
+    public static CouponsStatusEnum val(Integer key){
+        for(CouponsStatusEnum bld: values()){
+            if(bld.key == key){
+                return bld;
+            }
+        }
+        return null;
+    }
+
+}

+ 17 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusCancelMapper.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.BusCancel;
+
+/**
+ * @Description: 撤销入住
+ * @Author: jeecg-boot
+ * @Date:   2023-03-10
+ * @Version: V1.0
+ */
+public interface BusCancelMapper extends BaseMapper<BusCancel> {
+
+}

+ 17 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusClearMapper.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.BusClear;
+
+/**
+ * @Description: 清扫房间选择服务员
+ * @Author: jeecg-boot
+ * @Date:   2023-03-10
+ * @Version: V1.0
+ */
+public interface BusClearMapper extends BaseMapper<BusClear> {
+
+}

+ 17 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusDepositSettingMapper.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.BusDepositSetting;
+
+/**
+ * @Description: 押金设置
+ * @Author: jeecg-boot
+ * @Date:   2023-03-10
+ * @Version: V1.0
+ */
+public interface BusDepositSettingMapper extends BaseMapper<BusDepositSetting> {
+
+}

+ 17 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusHouseSettingMapper.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.BusHouseSetting;
+
+/**
+ * @Description: 房务管理设置
+ * @Author: jeecg-boot
+ * @Date:   2023-03-10
+ * @Version: V1.0
+ */
+public interface BusHouseSettingMapper extends BaseMapper<BusHouseSetting> {
+
+}

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

@@ -2,9 +2,11 @@ package org.jeecg.modules.business.mapper;
 
 import java.util.List;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.business.entity.BusMarketCoupons;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.system.model.AnnouncementSendModel;
 
 /**
  * @Description: bus_market_coupons_info
@@ -14,4 +16,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface BusMarketCouponsMapper extends BaseMapper<BusMarketCoupons> {
 
+    public List<BusMarketCoupons> getCouponsList(Page<BusMarketCoupons> page,@Param("busMarketCoupons") BusMarketCoupons model);
+
 }

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

@@ -0,0 +1,17 @@
+package org.jeecg.modules.business.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.business.entity.BusMarketCouponsUsed;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 免房券领取使用表
+ * @Author: jeecg-boot
+ * @Date:   2023-03-09
+ * @Version: V1.0
+ */
+public interface BusMarketCouponsUsedMapper extends BaseMapper<BusMarketCouponsUsed> {
+
+}

+ 17 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusNightTrialMapper.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.BusNightTrial;
+
+/**
+ * @Description: 夜审设置
+ * @Author: jeecg-boot
+ * @Date:   2023-03-10
+ * @Version: V1.0
+ */
+public interface BusNightTrialMapper extends BaseMapper<BusNightTrial> {
+
+}

+ 17 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusOtherCheckoutMapper.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.BusOtherCheckout;
+
+/**
+ * @Description: 其他-退房
+ * @Author: jeecg-boot
+ * @Date:   2023-03-10
+ * @Version: V1.0
+ */
+public interface BusOtherCheckoutMapper extends BaseMapper<BusOtherCheckout> {
+
+}

+ 17 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusOtherEmptyDirtyRoomMapper.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.BusOtherEmptyDirtyRoom;
+
+/**
+ * @Description: 其他-空脏房入住
+ * @Author: jeecg-boot
+ * @Date:   2023-03-10
+ * @Version: V1.0
+ */
+public interface BusOtherEmptyDirtyRoomMapper extends BaseMapper<BusOtherEmptyDirtyRoom> {
+
+}

+ 17 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusOtherMemberVerifyMapper.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.BusOtherMemberVerify;
+
+/**
+ * @Description: 其他-会员验证
+ * @Author: jeecg-boot
+ * @Date:   2023-03-10
+ * @Version: V1.0
+ */
+public interface BusOtherMemberVerifyMapper extends BaseMapper<BusOtherMemberVerify> {
+
+}

+ 17 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusOtherRoomCardMapper.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.BusOtherRoomCard;
+
+/**
+ * @Description: 其他-制卡
+ * @Author: jeecg-boot
+ * @Date:   2023-03-10
+ * @Version: V1.0
+ */
+public interface BusOtherRoomCardMapper extends BaseMapper<BusOtherRoomCard> {
+
+}

+ 5 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/BusCancelMapper.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.BusCancelMapper">
+
+</mapper>

+ 5 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/BusClearMapper.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.BusClearMapper">
+
+</mapper>

+ 5 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/BusDepositSettingMapper.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.BusDepositSettingMapper">
+
+</mapper>

+ 5 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/BusHouseSettingMapper.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.BusHouseSettingMapper">
+
+</mapper>

+ 26 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/BusMarketCouponsMapper.xml

@@ -1,5 +1,30 @@
 <?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.BusMarketCouponsMapper">
+<mapper namespace="org.jeecg.modules.business.mapper.BusMarketCouponsMapper">
 
+    <select id="getCouponsList" parameterType="Object" resultType="org.jeecg.modules.business.entity.BusMarketCoupons">
+        select c.*,ifnull(u.count,0) as count,ifnull(u.not_claimed,0) as not_claimed,ifnull(u.received,0) as received,ifnull(u.used,0) as used,ifnull(u.voided,0) as voided from bus_market_coupons_info c
+        left join (select coupons_id,count(0) as count
+        ,SUM(CASE WHEN `status`  = 0 then 1 else 0 end) as not_claimed
+        ,SUM(CASE WHEN `status`  = 1 then 1 else 0 end) as received
+        ,SUM(CASE WHEN `status`  = 2 then 1 else 0 end) as used
+        ,SUM(CASE WHEN `status`  = 3 then 1 else 0 end) as voided
+        from bus_market_coupons_used  group by coupons_id) u
+        on u.coupons_id=c.id
+        where c.hotel_id = #{busMarketCoupons.hotelId}
+        <if test="busMarketCoupons!= null">
+            <if test="busMarketCoupons.name !=null and busMarketCoupons.name != ''">
+                and c.name like CONCAT(CONCAT('%', #{busMarketCoupons.name}), '%')
+            </if>
+
+            <if test="busMarketCoupons.startTime !=null and busMarketCoupons.startTime != ''">
+                and c.start_time &gt;= #{busMarketCoupons.startTime}
+            </if>
+
+            <if test="busMarketCoupons.endTime !=null and busMarketCoupons.endTime != ''">
+                and c.end_time &lt;= #{busMarketCoupons.endTime}
+            </if>
+        </if>
+        ORDER BY c.id desc
+    </select>
 </mapper>

+ 5 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/BusMarketCouponsUsedMapper.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.BusMarketCouponsUsedMapper">
+
+</mapper>

+ 5 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/BusNightTrialMapper.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.BusNightTrialMapper">
+
+</mapper>

+ 5 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/BusOtherCheckoutMapper.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.BusOtherCheckoutMapper">
+
+</mapper>

+ 5 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/BusOtherEmptyDirtyRoomMapper.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.BusOtherEmptyDirtyRoomMapper">
+
+</mapper>

+ 5 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/BusOtherMemberVerifyMapper.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.BusOtherMemberVerifyMapper">
+
+</mapper>

+ 5 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/BusOtherRoomCardMapper.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.BusOtherRoomCardMapper">
+
+</mapper>

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

@@ -0,0 +1,14 @@
+package org.jeecg.modules.business.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.business.entity.BusCancel;
+
+/**
+ * @Description: 撤销入住
+ * @Author: jeecg-boot
+ * @Date:   2023-03-10
+ * @Version: V1.0
+ */
+public interface IBusCancelService extends IService<BusCancel> {
+
+}

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

@@ -0,0 +1,14 @@
+package org.jeecg.modules.business.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.business.entity.BusClear;
+
+/**
+ * @Description: 清扫房间选择服务员
+ * @Author: jeecg-boot
+ * @Date:   2023-03-10
+ * @Version: V1.0
+ */
+public interface IBusClearService extends IService<BusClear> {
+
+}

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

@@ -0,0 +1,14 @@
+package org.jeecg.modules.business.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.business.entity.BusDepositSetting;
+
+/**
+ * @Description: 押金设置
+ * @Author: jeecg-boot
+ * @Date:   2023-03-10
+ * @Version: V1.0
+ */
+public interface IBusDepositSettingService extends IService<BusDepositSetting> {
+
+}

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

@@ -0,0 +1,14 @@
+package org.jeecg.modules.business.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.business.entity.BusHouseSetting;
+
+/**
+ * @Description: 房务管理设置
+ * @Author: jeecg-boot
+ * @Date:   2023-03-10
+ * @Version: V1.0
+ */
+public interface IBusHouseSettingService extends IService<BusHouseSetting> {
+
+}

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

@@ -1,7 +1,11 @@
 package org.jeecg.modules.business.service;
 
+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.BusMarketCoupons;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * @Description: bus_market_coupons_info
@@ -11,4 +15,12 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IBusMarketCouponsService extends IService<BusMarketCoupons> {
 
+    /**
+     * 删除活动及其优惠券记录
+     * @param id
+     * @return
+     */
+    public Result removeCouponsAndCouponsUsedById(String id);
+
+    public Page<BusMarketCoupons> pageList(Page<BusMarketCoupons> page, @Param("busMarketCoupons") BusMarketCoupons model);
 }

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

@@ -0,0 +1,37 @@
+package org.jeecg.modules.business.service;
+
+import cn.hutool.core.bean.BeanUtil;
+import org.jeecg.common.Enum.CouponEnums;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.business.dto.CouponsGenerateDto;
+import org.jeecg.modules.business.dto.ProvideCouponsUsedDto;
+import org.jeecg.modules.business.entity.BusMarketCouponsUsed;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.rooms.DTO.CesRoomLayoutMemberInfoPriceDto;
+import org.jeecg.modules.rooms.DTO.CesRoomLayoutPriceDto;
+import org.jeecg.modules.rooms.entity.CesRoomLayoutMemberPrice;
+import org.jeecg.modules.rooms.entity.CesRoomLayoutPrice;
+import org.jeecg.modules.rooms.mapper.CesRoomLayoutPriceMapper;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Description: 免房券领取使用表
+ * @Author: jeecg-boot
+ * @Date:   2023-03-09
+ * @Version: V1.0
+ */
+public interface IBusMarketCouponsUsedService extends IService<BusMarketCouponsUsed> {
+    public Result generate(CouponsGenerateDto dto);
+
+    /**
+     * 发放免房券给非会员
+     * @param dto
+     * @return
+     */
+    public Result gainCouponsUsedToNoMember(ProvideCouponsUsedDto dto);
+}

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

@@ -0,0 +1,14 @@
+package org.jeecg.modules.business.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.business.entity.BusNightTrial;
+
+/**
+ * @Description: 夜审设置
+ * @Author: jeecg-boot
+ * @Date:   2023-03-10
+ * @Version: V1.0
+ */
+public interface IBusNightTrialService extends IService<BusNightTrial> {
+
+}

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

@@ -0,0 +1,14 @@
+package org.jeecg.modules.business.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.business.entity.BusOtherCheckout;
+
+/**
+ * @Description: 其他-退房
+ * @Author: jeecg-boot
+ * @Date:   2023-03-10
+ * @Version: V1.0
+ */
+public interface IBusOtherCheckoutService extends IService<BusOtherCheckout> {
+
+}

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

@@ -0,0 +1,14 @@
+package org.jeecg.modules.business.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.business.entity.BusOtherEmptyDirtyRoom;
+
+/**
+ * @Description: 其他-空脏房入住
+ * @Author: jeecg-boot
+ * @Date:   2023-03-10
+ * @Version: V1.0
+ */
+public interface IBusOtherEmptyDirtyRoomService extends IService<BusOtherEmptyDirtyRoom> {
+
+}

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

@@ -0,0 +1,14 @@
+package org.jeecg.modules.business.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.business.entity.BusOtherMemberVerify;
+
+/**
+ * @Description: 其他-会员验证
+ * @Author: jeecg-boot
+ * @Date:   2023-03-10
+ * @Version: V1.0
+ */
+public interface IBusOtherMemberVerifyService extends IService<BusOtherMemberVerify> {
+
+}

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

@@ -0,0 +1,14 @@
+package org.jeecg.modules.business.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.business.entity.BusOtherRoomCard;
+
+/**
+ * @Description: 其他-制卡
+ * @Author: jeecg-boot
+ * @Date:   2023-03-10
+ * @Version: V1.0
+ */
+public interface IBusOtherRoomCardService extends IService<BusOtherRoomCard> {
+
+}

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

@@ -0,0 +1,19 @@
+package org.jeecg.modules.business.service.impl;
+
+import org.jeecg.modules.business.entity.BusCancel;
+import org.jeecg.modules.business.mapper.BusCancelMapper;
+import org.jeecg.modules.business.service.IBusCancelService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 撤销入住
+ * @Author: jeecg-boot
+ * @Date:   2023-03-10
+ * @Version: V1.0
+ */
+@Service
+public class BusCancelServiceImpl extends ServiceImpl<BusCancelMapper, BusCancel> implements IBusCancelService {
+
+}

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

@@ -0,0 +1,19 @@
+package org.jeecg.modules.business.service.impl;
+
+import org.jeecg.modules.business.entity.BusClear;
+import org.jeecg.modules.business.mapper.BusClearMapper;
+import org.jeecg.modules.business.service.IBusClearService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 清扫房间选择服务员
+ * @Author: jeecg-boot
+ * @Date:   2023-03-10
+ * @Version: V1.0
+ */
+@Service
+public class BusClearServiceImpl extends ServiceImpl<BusClearMapper, BusClear> implements IBusClearService {
+
+}

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

@@ -0,0 +1,19 @@
+package org.jeecg.modules.business.service.impl;
+
+import org.jeecg.modules.business.entity.BusDepositSetting;
+import org.jeecg.modules.business.mapper.BusDepositSettingMapper;
+import org.jeecg.modules.business.service.IBusDepositSettingService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 押金设置
+ * @Author: jeecg-boot
+ * @Date:   2023-03-10
+ * @Version: V1.0
+ */
+@Service
+public class BusDepositSettingServiceImpl extends ServiceImpl<BusDepositSettingMapper, BusDepositSetting> implements IBusDepositSettingService {
+
+}

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

@@ -0,0 +1,19 @@
+package org.jeecg.modules.business.service.impl;
+
+import org.jeecg.modules.business.entity.BusHouseSetting;
+import org.jeecg.modules.business.mapper.BusHouseSettingMapper;
+import org.jeecg.modules.business.service.IBusHouseSettingService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 房务管理设置
+ * @Author: jeecg-boot
+ * @Date:   2023-03-10
+ * @Version: V1.0
+ */
+@Service
+public class BusHouseSettingServiceImpl extends ServiceImpl<BusHouseSettingMapper, BusHouseSetting> implements IBusHouseSettingService {
+
+}

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

@@ -1,11 +1,24 @@
 package org.jeecg.modules.business.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.business.dto.CouponsGenerateDto;
 import org.jeecg.modules.business.entity.BusMarketCoupons;
+import org.jeecg.modules.business.entity.BusMarketCouponsUsed;
 import org.jeecg.modules.business.mapper.BusMarketCouponsMapper;
+import org.jeecg.modules.business.mapper.BusMarketCouponsUsedMapper;
 import org.jeecg.modules.business.service.IBusMarketCouponsService;
+import org.jeecg.modules.system.entity.SysDepartRolePermission;
+import org.jeecg.modules.system.entity.SysDepartRoleUser;
+import org.jeecg.modules.system.model.AnnouncementSendModel;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
 
 /**
  * @Description: bus_market_coupons_info
@@ -16,4 +29,26 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 @Service
 public class BusMarketCouponsServiceImpl extends ServiceImpl<BusMarketCouponsMapper, BusMarketCoupons> implements IBusMarketCouponsService {
 
+    @Resource
+    private BusMarketCouponsUsedServiceImpl busMarketCouponsUsedService;
+    @Resource
+    private  BusMarketCouponsMapper busMarketCouponsMapper;
+
+    /**
+     * 删除活动及其优惠券记录
+     * @param id
+     * @return
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public Result removeCouponsAndCouponsUsedById(String id) {
+        this.removeById(id);
+        LambdaQueryWrapper<BusMarketCouponsUsed> queryWrapper = new LambdaQueryWrapper<BusMarketCouponsUsed>().eq(BusMarketCouponsUsed::getCouponsId, id);
+        busMarketCouponsUsedService.remove(queryWrapper);
+        return Result.ok("删除成功!");
+    }
+
+
+    public Page<BusMarketCoupons> pageList(Page<BusMarketCoupons> page,BusMarketCoupons model) {
+        return page.setRecords(busMarketCouponsMapper.getCouponsList(page, model));
+    }
 }

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

@@ -0,0 +1,187 @@
+package org.jeecg.modules.business.service.impl;
+
+import cn.hutool.core.date.DateTime;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.val;
+import org.apache.commons.lang3.ObjectUtils;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.exception.JeecgBootException;
+import org.jeecg.common.util.RedisUtil;
+import org.jeecg.common.util.TokenUtils;
+import org.jeecg.modules.business.dto.CouponsGenerateDto;
+import org.jeecg.modules.business.dto.MobileDto;
+import org.jeecg.modules.business.dto.ProvideCouponsUsedDto;
+import org.jeecg.modules.business.entity.BusMarketCoupons;
+import org.jeecg.modules.business.entity.BusMarketCouponsUsed;
+import org.jeecg.modules.business.enums.CouponsStatusEnum;
+import org.jeecg.modules.business.mapper.BusMarketCouponsMapper;
+import org.jeecg.modules.business.mapper.BusMarketCouponsUsedMapper;
+import org.jeecg.modules.business.service.IBusMarketCouponsUsedService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.*;
+import java.util.concurrent.atomic.AtomicReference;
+import java.util.stream.Collectors;
+
+/**
+ * @Description: 免房券领取使用表
+ * @Author: jeecg-boot
+ * @Date:   2023-03-09
+ * @Version: V1.0
+ */
+@Service
+public class BusMarketCouponsUsedServiceImpl extends ServiceImpl<BusMarketCouponsUsedMapper, BusMarketCouponsUsed> implements IBusMarketCouponsUsedService {
+    @Resource
+    private BusMarketCouponsUsedMapper busMarketCouponsUsedMapper;
+
+    @Resource
+    private BusMarketCouponsMapper busMarketCouponsMapper;
+    @Autowired
+    private RedisUtil redisUtil;
+    /**
+     * 生成16位数字+prefix
+     * @param prefix
+     * @return
+     */
+    private String randomNumber(String prefix) {
+        int first = new Random(10).nextInt(8) + 1;
+        int hashCode = UUID.randomUUID().toString().hashCode();
+        if (hashCode < 0) {
+            hashCode = -hashCode;
+        }
+        return prefix + first + String.format("%015d", hashCode);
+    }
+
+    /**
+     * 生成免房券领取使用
+     * @param dto
+     * @return
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public Result generate(CouponsGenerateDto dto){
+        if(ObjectUtils.isEmpty(dto.getCouponsId())) return Result.error("免房券id不能为空");
+        if(dto.getNum()<=0) return Result.error("生成数量不能小于1!");
+       BusMarketCoupons coupons=busMarketCouponsMapper .selectById(dto.getCouponsId());
+        if(ObjectUtils.isEmpty(coupons)) {
+           return Result.error("免房券活动不存在");
+       }
+        List<BusMarketCouponsUsed> busMarketCouponsUsedList = new ArrayList<>();
+        while (dto.getNum()>0){
+            BusMarketCouponsUsed busMarketCouponsUsed =new BusMarketCouponsUsed();
+            busMarketCouponsUsed.setTenantId(TokenUtils.currentTenantId());
+            busMarketCouponsUsed.setHotelId(coupons.getHotelId());
+            busMarketCouponsUsed.setCouponsId(dto.getCouponsId());
+            busMarketCouponsUsed.setCode(randomNumber("MFJ"));
+            busMarketCouponsUsed.setStatus(0);
+            busMarketCouponsUsed.setCreateTime(DateTime.now());
+            busMarketCouponsUsedList.add(busMarketCouponsUsed);
+            dto.setNum(dto.getNum()-1);
+        }
+        this.saveBatch(busMarketCouponsUsedList);
+        return Result.ok("创建成功");
+    }
+
+    /**
+     * 发放免房券给非会员
+     * @param dto
+     * @return
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public Result gainCouponsUsedToNoMember(ProvideCouponsUsedDto dto) {
+        if (ObjectUtils.isEmpty(dto.getCouponsId())) return Result.error("免房券id不能为空");
+        if (dto.getNum() <= 0) return Result.error("每人发放张数不能小于1!");
+        if (dto.getMobiles() == null || dto.getMobiles().size() <= 0) return Result.error("手机号不能为空!");
+        BusMarketCoupons coupons = busMarketCouponsMapper.selectById(dto.getCouponsId());
+        if (ObjectUtils.isEmpty(coupons)) {
+            return Result.error("免房券活动不存在");
+        }
+        if (dto.getNum() > coupons.getKlqzs()) {
+            return Result.error("每人最多可领取" + coupons.getKlqzs());
+        }
+        int totalNum = dto.getMobiles().size() * dto.getNum();
+
+        LambdaQueryWrapper<BusMarketCouponsUsed> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(BusMarketCouponsUsed::getStatus, CouponsStatusEnum.notClaimed.getKey());
+        queryWrapper.eq(BusMarketCouponsUsed::getCouponsId, dto.getCouponsId());
+
+        Page<BusMarketCouponsUsed> page = new Page<BusMarketCouponsUsed>(1, totalNum);
+        IPage<BusMarketCouponsUsed> pageList = this.page(page, queryWrapper);
+        int count = pageList.getRecords().size();
+//        Long count= this.count(queryWrapper);
+        if (totalNum > count) {
+            return Result.error("待领取数量" + count + ",不够发放");
+        }
+        List<BusMarketCouponsUsed> list = pageList.getRecords();
+        int index = 0;
+//        AtomicReference<Boolean> isBreak = new AtomicReference<>(false);
+        String message = "创建成功";
+        try {
+//            for (int i = 0; i < dto.getMobiles().size(); i++) {
+//                int num = dto.getNum();
+            //以防手机号相同用分组实现
+            Map<String, List<MobileDto>> map=  dto.getMobiles().stream().collect(Collectors.groupingBy(t->t.getValue()));
+            for (String key:map.keySet()) {
+                int num = dto.getNum()*map.get(key).size();
+                if (num> coupons.getKlqzs()) {
+                    throw new JeecgBootException("每人最多可领取" + coupons.getKlqzs());
+                }
+                while (num > 0) {
+                    LambdaQueryWrapper<BusMarketCouponsUsed> queryWrapper2 = new LambdaQueryWrapper<>();
+                    queryWrapper2.eq(BusMarketCouponsUsed::getCouponsId, dto.getCouponsId());
+//                    queryWrapper2.eq(BusMarketCouponsUsed::getMobile, dto.getMobiles().get(i).getValue());
+                    queryWrapper2.eq(BusMarketCouponsUsed::getMobile, key);
+                    Long gainCount = this.count(queryWrapper2);
+                    if (gainCount > coupons.getKlqzs()) {
+                        throw new JeecgBootException("每人限领数量" + coupons.getKlqzs());
+                    }
+                    BusMarketCouponsUsed model = list.get(index);
+                    String keyString = String.format("sys:cache:couponsused::%s", model.getId());
+                    if (redisUtil.hasKey(keyString)) {
+//                        isBreak.set(true);
+//                        break;
+                        throw new JeecgBootException("该免房券已被领取,请勿同时操作该功能");
+                    } else {
+                        redisUtil.set(keyString, true);
+                    }
+                    //这里到时候要根据会员表查询一下是否存在会员信息,现在没有会员表
+//                    model.setMobile(dto.getMobiles().get(i).getValue());
+                    model.setMobile(key);
+                    model.setGainTime(DateTime.now());
+                    model.setStatus(CouponsStatusEnum.received.getKey());
+                    index++;
+                    num--;
+                }
+//                if (isBreak.get()) {
+//                    //删除redis缓存
+//                    list.forEach(item -> {
+//                        String keyString = String.format("sys:cache:couponsused::%s", item.getId());
+//                        redisUtil.del(keyString);
+//                    });
+//                    return Result.error("该免房券已被领取,请勿同时操作该功能");
+//                }
+            }
+
+            this.updateBatchById(list);
+        } catch (JeecgBootException ex) {
+            message = ex.getMessage();
+        } catch (Exception ex) {
+            message = "创建失败";
+        } finally {
+            //删除redis缓存
+            list.forEach(item -> {
+                String keyString = String.format("sys:cache:couponsused::%s", item.getId());
+                redisUtil.del(keyString);
+            });
+        }
+        return message == "创建成功" ? Result.ok(message) : Result.error(message);
+    }
+
+}

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

@@ -0,0 +1,19 @@
+package org.jeecg.modules.business.service.impl;
+
+import org.jeecg.modules.business.entity.BusNightTrial;
+import org.jeecg.modules.business.mapper.BusNightTrialMapper;
+import org.jeecg.modules.business.service.IBusNightTrialService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 夜审设置
+ * @Author: jeecg-boot
+ * @Date:   2023-03-10
+ * @Version: V1.0
+ */
+@Service
+public class BusNightTrialServiceImpl extends ServiceImpl<BusNightTrialMapper, BusNightTrial> implements IBusNightTrialService {
+
+}

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

@@ -0,0 +1,19 @@
+package org.jeecg.modules.business.service.impl;
+
+import org.jeecg.modules.business.entity.BusOtherCheckout;
+import org.jeecg.modules.business.mapper.BusOtherCheckoutMapper;
+import org.jeecg.modules.business.service.IBusOtherCheckoutService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 其他-退房
+ * @Author: jeecg-boot
+ * @Date:   2023-03-10
+ * @Version: V1.0
+ */
+@Service
+public class BusOtherCheckoutServiceImpl extends ServiceImpl<BusOtherCheckoutMapper, BusOtherCheckout> implements IBusOtherCheckoutService {
+
+}

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

@@ -0,0 +1,19 @@
+package org.jeecg.modules.business.service.impl;
+
+import org.jeecg.modules.business.entity.BusOtherEmptyDirtyRoom;
+import org.jeecg.modules.business.mapper.BusOtherEmptyDirtyRoomMapper;
+import org.jeecg.modules.business.service.IBusOtherEmptyDirtyRoomService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 其他-空脏房入住
+ * @Author: jeecg-boot
+ * @Date:   2023-03-10
+ * @Version: V1.0
+ */
+@Service
+public class BusOtherEmptyDirtyRoomServiceImpl extends ServiceImpl<BusOtherEmptyDirtyRoomMapper, BusOtherEmptyDirtyRoom> implements IBusOtherEmptyDirtyRoomService {
+
+}

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

@@ -0,0 +1,19 @@
+package org.jeecg.modules.business.service.impl;
+
+import org.jeecg.modules.business.entity.BusOtherMemberVerify;
+import org.jeecg.modules.business.mapper.BusOtherMemberVerifyMapper;
+import org.jeecg.modules.business.service.IBusOtherMemberVerifyService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 其他-会员验证
+ * @Author: jeecg-boot
+ * @Date:   2023-03-10
+ * @Version: V1.0
+ */
+@Service
+public class BusOtherMemberVerifyServiceImpl extends ServiceImpl<BusOtherMemberVerifyMapper, BusOtherMemberVerify> implements IBusOtherMemberVerifyService {
+
+}

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

@@ -0,0 +1,19 @@
+package org.jeecg.modules.business.service.impl;
+
+import org.jeecg.modules.business.entity.BusOtherRoomCard;
+import org.jeecg.modules.business.mapper.BusOtherRoomCardMapper;
+import org.jeecg.modules.business.service.IBusOtherRoomCardService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 其他-制卡
+ * @Author: jeecg-boot
+ * @Date:   2023-03-10
+ * @Version: V1.0
+ */
+@Service
+public class BusOtherRoomCardServiceImpl extends ServiceImpl<BusOtherRoomCardMapper, BusOtherRoomCard> implements IBusOtherRoomCardService {
+
+}