stjdydayou vor 4 Jahren
Ursprung
Commit
845cffe192

+ 41 - 0
src/main/java/com/zhiqiyun/open/core/enmus/HotelGrade.java

@@ -0,0 +1,41 @@
+package com.zhiqiyun.open.core.enmus;
+
+
+public enum HotelGrade implements IBaseEnum {
+    /**
+     *
+     */
+    ONE_STAR(1, "一星"), TWO_STAR(2, "二星"), THREE_STAR(3, "三星"), FOUR_STAR(4, "四星"), FIVE_STAR(5, "五星");
+
+    private final int value;
+    private final String text;
+
+    HotelGrade(int value, String text) {
+        this.value = value;
+        this.text = text;
+    }
+
+    public static HotelGrade valueOf(int value) {
+        HotelGrade[] values = HotelGrade.values();
+        for (HotelGrade type : values) {
+            if (type.value == value) {
+                return type;
+            }
+        }
+        return null;
+    }
+
+
+    public String getText() {
+        return text;
+    }
+
+    public Integer getValue() {
+        return value;
+    }
+
+    @Override
+    public String getName() {
+        return this.name();
+    }
+}

+ 9 - 0
src/main/java/com/zhiqiyun/open/core/mapper/HotelInfoMapper.java

@@ -0,0 +1,9 @@
+package com.zhiqiyun.open.core.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhiqiyun.open.core.models.bz.HotelInfo;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface HotelInfoMapper extends BaseMapper<HotelInfo> {
+}

+ 30 - 0
src/main/java/com/zhiqiyun/open/core/models/bz/HotelInfo.java

@@ -0,0 +1,30 @@
+package com.zhiqiyun.open.core.models.bz;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.zhiqiyun.open.core.enmus.HotelGrade;
+import com.zhiqiyun.open.core.typeHandler.FastjsonTypeHandler;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+@TableName(value = "bz_hotel_info", autoResultMap = true)
+public class HotelInfo {
+    @TableId(type = IdType.INPUT)
+    private Long id;
+    private String name;
+    private HotelGrade grade;
+    @TableField(typeHandler = FastjsonTypeHandler.class)
+    private List<String> litpics;
+    private String brief;
+    private String address;
+    private String contacts;
+    private String contactNumber;
+    private String businessHours;
+    private BigDecimal lng;
+    private BigDecimal lat;
+}

+ 7 - 0
src/main/java/com/zhiqiyun/open/core/service/HotelInfoService.java

@@ -0,0 +1,7 @@
+package com.zhiqiyun.open.core.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhiqiyun.open.core.models.bz.HotelInfo;
+
+public interface HotelInfoService extends IService<HotelInfo> {
+}

+ 11 - 0
src/main/java/com/zhiqiyun/open/core/service/impl/HotelInfoServiceImpl.java

@@ -0,0 +1,11 @@
+package com.zhiqiyun.open.core.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zhiqiyun.open.core.mapper.HotelInfoMapper;
+import com.zhiqiyun.open.core.models.bz.HotelInfo;
+import com.zhiqiyun.open.core.service.HotelInfoService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class HotelInfoServiceImpl extends ServiceImpl<HotelInfoMapper, HotelInfo> implements HotelInfoService {
+}

+ 4 - 4
src/main/java/com/zhiqiyun/open/mvc/controller/HolidayVillageInfoController.java

@@ -31,7 +31,7 @@ public class HolidayVillageInfoController {
     @Autowired
     private SequenceService sequenceService;
 
-    @Permission(value = "bz.base.holiday.village.find", tags = "查询场馆")
+    @Permission(value = "bz.base.holiday.village.find", tags = "查询度假村")
     @PostMapping("/findPage")
     public Result findPage(@RequestBody QueryHolidayVillageInfoParams params) {
 
@@ -60,7 +60,7 @@ public class HolidayVillageInfoController {
         return Result.instance(Result.Code.SUCCESS).setData(resultData);
     }
 
-    @Permission(value = "bz.base.holiday.village.add", tags = "保存场馆")
+    @Permission(value = "bz.base.holiday.village.add", tags = "保存度假村")
     @PostMapping("/save")
     public Result save(@Valid @RequestBody SaveHolidayVillageInfoParams params) {
 
@@ -72,7 +72,7 @@ public class HolidayVillageInfoController {
         return Result.instance(Result.Code.MESSAGE_SUCCESS);
     }
 
-    @Permission(value = "bz.base.holiday.village.edit", tags = "编辑场馆")
+    @Permission(value = "bz.base.holiday.village.edit", tags = "编辑度假村")
     @PostMapping("/updateById")
     public Result updateById(Long id, @Valid @RequestBody SaveHolidayVillageInfoParams params) {
 
@@ -86,7 +86,7 @@ public class HolidayVillageInfoController {
     }
 
 
-    @Permission(value = "bz.base.holiday.village.delete", tags = "删除场馆")
+    @Permission(value = "bz.base.holiday.village.delete", tags = "删除度假村")
     @PostMapping("/deleteByIds")
     public Result deleteByIds(@RequestBody List<Long> ids) {
         this.holidayVillageInfoService.removeByIds(ids);

+ 98 - 0
src/main/java/com/zhiqiyun/open/mvc/controller/HotelInfoController.java

@@ -0,0 +1,98 @@
+package com.zhiqiyun.open.mvc.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.OrderItem;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zhiqiyun.open.annotation.Permission;
+import com.zhiqiyun.open.core.models.bz.HotelInfo;
+import com.zhiqiyun.open.core.service.HotelInfoService;
+import com.zhiqiyun.open.core.service.SequenceService;
+import com.zhiqiyun.open.mvc.Result;
+import com.zhiqiyun.open.mvc.params.QueryHotelInfoParams;
+import com.zhiqiyun.open.mvc.params.SaveHotelInfoParams;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+import java.util.List;
+
+@RestController
+@RequestMapping("/bz/base/hotel")
+public class HotelInfoController {
+
+    @Autowired
+    private HotelInfoService hotelInfoService;
+
+    @Autowired
+    private SequenceService sequenceService;
+
+    @Permission(value = "bz.base.hotel.find", tags = "查询酒店")
+    @PostMapping("/findPage")
+    public Result findPage(@RequestBody QueryHotelInfoParams params) {
+
+        QueryWrapper<HotelInfo> queryWrapper = new QueryWrapper<>();
+
+        if (StringUtils.isNotBlank(params.getContactNumber())) {
+            queryWrapper.like("contact_number", params.getContactNumber());
+        }
+        if (params.getGrade() != null) {
+            queryWrapper.eq("grade", params.getGrade());
+        }
+        if (StringUtils.isNotBlank(params.getKeyword())) {
+            queryWrapper.and(true, wrapper -> {
+                wrapper.like("name", params.getKeyword());
+                wrapper.or();
+                wrapper.like("brief", params.getKeyword());
+                wrapper.or();
+                wrapper.like("address", params.getKeyword());
+                wrapper.or();
+                wrapper.like("contacts", params.getKeyword());
+            });
+        }
+
+        Page<HotelInfo> page = params.getPage();
+        page.addOrder(OrderItem.desc("id"));
+
+        Page<HotelInfo> resultData = this.hotelInfoService.page(page, queryWrapper);
+
+        return Result.instance(Result.Code.SUCCESS).setData(resultData);
+    }
+
+    @Permission(value = "bz.base.hotel.add", tags = "保存酒店")
+    @PostMapping("/save")
+    public Result save(@Valid @RequestBody SaveHotelInfoParams params) {
+
+        HotelInfo hotelInfo = new HotelInfo();
+        BeanUtils.copyProperties(params, hotelInfo);
+        hotelInfo.setId(this.sequenceService.nextId());
+        this.hotelInfoService.save(hotelInfo);
+
+        return Result.instance(Result.Code.MESSAGE_SUCCESS);
+    }
+
+    @Permission(value = "bz.base.hotel.edit", tags = "编辑酒店")
+    @PostMapping("/updateById")
+    public Result updateById(Long id, @Valid @RequestBody SaveHotelInfoParams params) {
+
+        HotelInfo hotelInfo = new HotelInfo();
+        BeanUtils.copyProperties(params, hotelInfo);
+        hotelInfo.setId(id);
+
+        this.hotelInfoService.updateById(hotelInfo);
+
+        return Result.instance(Result.Code.MESSAGE_SUCCESS);
+    }
+
+
+    @Permission(value = "bz.base.hotel.delete", tags = "删除酒店")
+    @PostMapping("/deleteByIds")
+    public Result deleteByIds(@RequestBody List<Long> ids) {
+        this.hotelInfoService.removeByIds(ids);
+        return Result.instance(Result.Code.MESSAGE_SUCCESS);
+    }
+}

+ 4 - 4
src/main/java/com/zhiqiyun/open/mvc/controller/SceneryInfoController.java

@@ -31,7 +31,7 @@ public class SceneryInfoController {
     @Autowired
     private SequenceService sequenceService;
 
-    @Permission(value = "bz.base.scenery.find", tags = "查询场馆")
+    @Permission(value = "bz.base.scenery.find", tags = "查询景区")
     @PostMapping("/findPage")
     public Result findPage(@RequestBody QuerySceneryInfoParams params) {
 
@@ -63,7 +63,7 @@ public class SceneryInfoController {
         return Result.instance(Result.Code.SUCCESS).setData(resultData);
     }
 
-    @Permission(value = "bz.base.scenery.add", tags = "保存场馆")
+    @Permission(value = "bz.base.scenery.add", tags = "保存景区")
     @PostMapping("/save")
     public Result save(@Valid @RequestBody SaveSceneryInfoParams params) {
 
@@ -75,7 +75,7 @@ public class SceneryInfoController {
         return Result.instance(Result.Code.MESSAGE_SUCCESS);
     }
 
-    @Permission(value = "bz.base.scenery.edit", tags = "编辑场馆")
+    @Permission(value = "bz.base.scenery.edit", tags = "编辑景区")
     @PostMapping("/updateById")
     public Result updateById(Long id, @Valid @RequestBody SaveSceneryInfoParams params) {
 
@@ -89,7 +89,7 @@ public class SceneryInfoController {
     }
 
 
-    @Permission(value = "bz.base.scenery.delete", tags = "删除场馆")
+    @Permission(value = "bz.base.scenery.delete", tags = "删除景区")
     @PostMapping("/deleteByIds")
     public Result deleteByIds(@RequestBody List<Long> ids) {
         this.sceneryInfoService.removeByIds(ids);

+ 14 - 0
src/main/java/com/zhiqiyun/open/mvc/params/QueryHotelInfoParams.java

@@ -0,0 +1,14 @@
+package com.zhiqiyun.open.mvc.params;
+
+import com.zhiqiyun.open.core.enmus.HotelGrade;
+import com.zhiqiyun.open.core.enmus.SceneryGrade;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class QueryHotelInfoParams extends QueryPageParams {
+	private String keyword;
+	private String contactNumber;
+	private HotelGrade grade;
+}

+ 23 - 0
src/main/java/com/zhiqiyun/open/mvc/params/SaveHotelInfoParams.java

@@ -0,0 +1,23 @@
+package com.zhiqiyun.open.mvc.params;
+
+import com.zhiqiyun.open.core.enmus.HotelGrade;
+import com.zhiqiyun.open.core.enmus.SceneryGrade;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+public class SaveHotelInfoParams {
+    private String name;
+    private HotelGrade grade;
+    private List<String> litpics;
+    private String describe;
+    private String brief;
+    private String address;
+    private String contacts;
+    private String contactNumber;
+    private String businessHours;
+    private BigDecimal lng;
+    private BigDecimal lat;
+}

+ 1 - 1
src/main/resources/db/migration/V1.0.4__bz_scenery_info.sql

@@ -3,7 +3,7 @@ CREATE TABLE `bz_scenery_info`
 (
     `id`             BIGINT(20) NOT NULL COMMENT 'ID',
     `name`           VARCHAR(50) NULL DEFAULT NULL COMMENT '名称',
-    `grade`          VARCHAR(50) NULL DEFAULT NULL COMMENT '等级',
+    `grade`          INT(1) NULL DEFAULT NULL COMMENT '等级',
     `litpics`        VARCHAR(500) NULL DEFAULT NULL COMMENT '图片',
     `brief`          VARCHAR(500) NULL DEFAULT NULL COMMENT '简介',
     `address`        VARCHAR(100) NULL DEFAULT NULL COMMENT '地址',

+ 0 - 61
src/main/resources/db/migration/V1.0.5__bz_holiday_village.sql

@@ -21,64 +21,3 @@ VALUES (1600, 0, 'bz.base.holiday.village', '度假村基本信息管理'),
        (1602, 1600, 'bz.base.holiday.village.add', '添加'),
        (1603, 1600, 'bz.base.holiday.village.edit', '修改'),
        (1604, 1600, 'bz.base.holiday.village.delete', '删除');
-
-
-DROP TABLE IF EXISTS `bz_weather_info`;
-CREATE TABLE `bz_weather_info`
-(
-    `id`            BIGINT(30) NOT NULL COMMENT 'ID',
-    `province_name` VARCHAR(50)  NOT NULL COMMENT '省份名',
-    `city_name`     VARCHAR(100) NOT NULL COMMENT '城市名',
-    `adcode`        VARCHAR(50)  NOT NULL COMMENT '区域编码',
-    `weather`       VARCHAR(50)  NOT NULL COMMENT '天气现象(汉字描述)',
-    `temperature`   VARCHAR(50)  NOT NULL COMMENT '实时气温,单位:摄氏度',
-    `winddirection` VARCHAR(50)  NOT NULL COMMENT '风向描述',
-    `windpower`     VARCHAR(50)  NOT NULL COMMENT '风力级别,单位:级',
-    `humidity`      VARCHAR(50)  NOT NULL COMMENT '空气湿度',
-    `pm25`          INT(11) NOT NULL COMMENT '空气湿度',
-    `aqi`           INT(11) NOT NULL COMMENT 'AQI',
-    `air_quality`   VARCHAR(50)  NOT NULL COMMENT '空气质量',
-    `reporttime`    DATETIME     NOT NULL COMMENT '发布的时间',
-    PRIMARY KEY (`id`)
-) COMMENT='交通信息表' ENGINE=InnoDB;
-
-DROP TABLE IF EXISTS `bz_tourist_agency_info`;
-CREATE TABLE `bz_tourist_agency_info`
-(
-    `id`      BIGINT(30) NOT NULL COMMENT 'ID',
-    `name`    VARCHAR(50)  NOT NULL COMMENT '名称',
-    `address` VARCHAR(50)  NOT NULL COMMENT '地址',
-    `summary` VARCHAR(500) NOT NULL COMMENT '简介',
-    `lng`     FLOAT        NOT NULL COMMENT '经度(坐标)',
-    `lat`     FLOAT        NOT NULL COMMENT '纬度(坐标)',
-    PRIMARY KEY (`id`)
-) COMMENT='旅行社信息表' ENGINE=InnoDB;
-
-DROP TABLE IF EXISTS `bz_hotel_info`;
-CREATE TABLE `bz_hotel_info`
-(
-    `id`               BIGINT(30) NOT NULL COMMENT 'ID',
-    `name`             VARCHAR(50)  NOT NULL COMMENT '名称',
-    `hotel_type`       INT(2) NOT NULL COMMENT '1、酒店,2、民宿',
-    `address`          VARCHAR(50)  NOT NULL COMMENT '地址',
-    `summary`          VARCHAR(500) NOT NULL COMMENT '简介',
-    `total_rooms`      INT(11) NOT NULL COMMENT '房间总数',
-    `checked_in_rooms` INT(11) NOT NULL COMMENT '已经入住房间数',
-    `lng`              FLOAT        NOT NULL COMMENT '经度(坐标)',
-    `lat`              FLOAT        NOT NULL COMMENT '纬度(坐标)',
-    PRIMARY KEY (`id`)
-) COMMENT='酒店与民宿信息表' ENGINE=InnoDB;
-
-
-DROP TABLE IF EXISTS `bz_holiday_resort_info`;
-CREATE TABLE `bz_holiday_resort_info`
-(
-    `id`      BIGINT(30) NOT NULL COMMENT 'ID',
-    `name`    VARCHAR(50)  NOT NULL COMMENT '名称',
-    `address` VARCHAR(50)  NOT NULL COMMENT '地址',
-    `grade`   VARCHAR(50) NULL DEFAULT NULL COMMENT '等级',
-    `summary` VARCHAR(500) NOT NULL COMMENT '简介',
-    `lng`     FLOAT        NOT NULL COMMENT '经度(坐标)',
-    `lat`     FLOAT        NOT NULL COMMENT '纬度(坐标)',
-    PRIMARY KEY (`id`)
-) COMMENT='度假区信息表' ENGINE=InnoDB;

+ 70 - 0
src/main/resources/db/migration/V1.0.6__bz_hotel_info.sql

@@ -0,0 +1,70 @@
+DROP TABLE IF EXISTS `bz_hotel_info`;
+CREATE TABLE `bz_hotel_info`
+(
+    `id`             BIGINT(20) NOT NULL COMMENT 'ID',
+    `name`           VARCHAR(50) NULL DEFAULT NULL COMMENT '名称',
+    `grade`          INT(1) NULL DEFAULT NULL COMMENT '等级',
+    `litpics`        VARCHAR(500) NULL DEFAULT NULL COMMENT '图片',
+    `brief`          VARCHAR(500) NULL DEFAULT NULL COMMENT '简介',
+    `address`        VARCHAR(100) NULL DEFAULT NULL COMMENT '地址',
+    `contacts`       VARCHAR(50) NULL DEFAULT NULL COMMENT '联系人',
+    `contact_number` VARCHAR(50) NULL DEFAULT NULL COMMENT '联系电话',
+    `business_hours` VARCHAR(200) NULL DEFAULT NULL COMMENT '开放时间',
+    `lng`            DECIMAL(20, 6) NOT NULL DEFAULT '0.000000' COMMENT '经度(坐标)',
+    `lat`            DECIMAL(20, 6) NOT NULL DEFAULT '0.000000' COMMENT '纬度(坐标)',
+    PRIMARY KEY (`id`)
+) COMMENT='酒店信息表' ENGINE=InnoDB;
+REPLACE
+INTO `authority_info` (`id`, `parent_id`, `name`, `remark`)
+VALUES (1700, 0, 'bz.base.hotel', '酒店基本信息管理'),
+       (1701, 1700, 'bz.base.hotel.find', '查询'),
+       (1702, 1700, 'bz.base.hotel.add', '添加'),
+       (1703, 1700, 'bz.base.hotel.edit', '修改'),
+       (1704, 1700, 'bz.base.hotel.delete', '删除');
+
+
+DROP TABLE IF EXISTS `bz_weather_info`;
+CREATE TABLE `bz_weather_info`
+(
+    `id`            BIGINT(30) NOT NULL COMMENT 'ID',
+    `province_name` VARCHAR(50)  NOT NULL COMMENT '省份名',
+    `city_name`     VARCHAR(100) NOT NULL COMMENT '城市名',
+    `adcode`        VARCHAR(50)  NOT NULL COMMENT '区域编码',
+    `weather`       VARCHAR(50)  NOT NULL COMMENT '天气现象(汉字描述)',
+    `temperature`   VARCHAR(50)  NOT NULL COMMENT '实时气温,单位:摄氏度',
+    `winddirection` VARCHAR(50)  NOT NULL COMMENT '风向描述',
+    `windpower`     VARCHAR(50)  NOT NULL COMMENT '风力级别,单位:级',
+    `humidity`      VARCHAR(50)  NOT NULL COMMENT '空气湿度',
+    `pm25`          INT(11) NOT NULL COMMENT '空气湿度',
+    `aqi`           INT(11) NOT NULL COMMENT 'AQI',
+    `air_quality`   VARCHAR(50)  NOT NULL COMMENT '空气质量',
+    `reporttime`    DATETIME     NOT NULL COMMENT '发布的时间',
+    PRIMARY KEY (`id`)
+) COMMENT='交通信息表' ENGINE=InnoDB;
+
+DROP TABLE IF EXISTS `bz_tourist_agency_info`;
+CREATE TABLE `bz_tourist_agency_info`
+(
+    `id`      BIGINT(30) NOT NULL COMMENT 'ID',
+    `name`    VARCHAR(50)  NOT NULL COMMENT '名称',
+    `address` VARCHAR(50)  NOT NULL COMMENT '地址',
+    `summary` VARCHAR(500) NOT NULL COMMENT '简介',
+    `lng`     FLOAT        NOT NULL COMMENT '经度(坐标)',
+    `lat`     FLOAT        NOT NULL COMMENT '纬度(坐标)',
+    PRIMARY KEY (`id`)
+) COMMENT='旅行社信息表' ENGINE=InnoDB;
+
+
+
+DROP TABLE IF EXISTS `bz_holiday_resort_info`;
+CREATE TABLE `bz_holiday_resort_info`
+(
+    `id`      BIGINT(30) NOT NULL COMMENT 'ID',
+    `name`    VARCHAR(50)  NOT NULL COMMENT '名称',
+    `address` VARCHAR(50)  NOT NULL COMMENT '地址',
+    `grade`   VARCHAR(50) NULL DEFAULT NULL COMMENT '等级',
+    `summary` VARCHAR(500) NOT NULL COMMENT '简介',
+    `lng`     FLOAT        NOT NULL COMMENT '经度(坐标)',
+    `lat`     FLOAT        NOT NULL COMMENT '纬度(坐标)',
+    PRIMARY KEY (`id`)
+) COMMENT='度假区信息表' ENGINE=InnoDB;