stjdydayou преди 4 години
родител
ревизия
610a3a6987
променени са 31 файла, в които са добавени 354 реда и са изтрити 282 реда
  1. 46 0
      src/main/java/com/zhiqiyun/open/core/enmus/BzDataType.java
  2. 9 0
      src/main/java/com/zhiqiyun/open/core/mapper/bz/BaseDataInfoMapper.java
  3. 1 1
      src/main/java/com/zhiqiyun/open/core/mapper/bz/HolidayVillageInfoMapper.java
  4. 1 1
      src/main/java/com/zhiqiyun/open/core/mapper/bz/HomeStayInfoMapper.java
  5. 1 1
      src/main/java/com/zhiqiyun/open/core/mapper/bz/HotelInfoMapper.java
  6. 1 1
      src/main/java/com/zhiqiyun/open/core/mapper/bz/SceneryInfoMapper.java
  7. 1 1
      src/main/java/com/zhiqiyun/open/core/mapper/bz/TouristInfoMapper.java
  8. 1 1
      src/main/java/com/zhiqiyun/open/core/mapper/bz/VenueInfoMapper.java
  9. 30 0
      src/main/java/com/zhiqiyun/open/core/models/bz/BaseDataInfo.java
  10. 3 14
      src/main/java/com/zhiqiyun/open/core/models/bz/HolidayVillageInfo.java
  11. 3 14
      src/main/java/com/zhiqiyun/open/core/models/bz/HomeStayInfo.java
  12. 4 14
      src/main/java/com/zhiqiyun/open/core/models/bz/HotelInfo.java
  13. 4 14
      src/main/java/com/zhiqiyun/open/core/models/bz/SceneryInfo.java
  14. 5 16
      src/main/java/com/zhiqiyun/open/core/models/bz/TouristInfo.java
  15. 5 16
      src/main/java/com/zhiqiyun/open/core/models/bz/VenueInfo.java
  16. 1 4
      src/main/java/com/zhiqiyun/open/core/service/impl/HolidayVillageInfoServiceImpl.java
  17. 1 1
      src/main/java/com/zhiqiyun/open/core/service/impl/HomeStayInfoServiceImpl.java
  18. 1 1
      src/main/java/com/zhiqiyun/open/core/service/impl/HotelInfoServiceImpl.java
  19. 44 4
      src/main/java/com/zhiqiyun/open/core/service/impl/SceneryInfoServiceImpl.java
  20. 1 1
      src/main/java/com/zhiqiyun/open/core/service/impl/TouristInfoServiceImpl.java
  21. 44 1
      src/main/java/com/zhiqiyun/open/core/service/impl/VenueInfoServiceImpl.java
  22. 15 10
      src/main/java/com/zhiqiyun/open/mvc/controller/SceneryInfoController.java
  23. 15 9
      src/main/java/com/zhiqiyun/open/mvc/controller/VenueInfoController.java
  24. 117 0
      src/main/resources/db/migration/V1.0.3__bz.sql
  25. 0 23
      src/main/resources/db/migration/V1.0.3__bz_venue_info.sql
  26. 0 24
      src/main/resources/db/migration/V1.0.4__bz_scenery_info.sql
  27. 0 23
      src/main/resources/db/migration/V1.0.5__bz_holiday_village.sql
  28. 0 23
      src/main/resources/db/migration/V1.0.6__bz_hotel_info.sql
  29. 0 23
      src/main/resources/db/migration/V1.0.7__bz_home_stay_info.sql
  30. 0 23
      src/main/resources/db/migration/V1.0.8__bz_tourist_info.sql
  31. 0 18
      src/main/resources/db/migration/V1.0.9__bz_weather_info.sql

+ 46 - 0
src/main/java/com/zhiqiyun/open/core/enmus/BzDataType.java

@@ -0,0 +1,46 @@
+package com.zhiqiyun.open.core.enmus;
+
+
+public enum BzDataType implements IBaseEnum {
+    /**
+     *
+     */
+    VENUE(1, "场馆"),
+    SCENERY(2, "景区"),
+    HOLIDAY_VILLAGE(3, "度假村"),
+    HOTEL(4, "酒店"),
+    HOME_STAY(5, "民宿"),
+    TOURIST(6, "旅行社");
+
+    private final int value;
+    private final String text;
+
+    BzDataType(int value, String text) {
+        this.value = value;
+        this.text = text;
+    }
+
+    public static BzDataType valueOf(int value) {
+        BzDataType[] values = BzDataType.values();
+        for (BzDataType 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/bz/BaseDataInfoMapper.java

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

+ 1 - 1
src/main/java/com/zhiqiyun/open/core/mapper/HolidayVillageInfoMapper.java → src/main/java/com/zhiqiyun/open/core/mapper/bz/HolidayVillageInfoMapper.java

@@ -1,4 +1,4 @@
-package com.zhiqiyun.open.core.mapper;
+package com.zhiqiyun.open.core.mapper.bz;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhiqiyun.open.core.models.bz.HolidayVillageInfo;

+ 1 - 1
src/main/java/com/zhiqiyun/open/core/mapper/HomeStayInfoMapper.java → src/main/java/com/zhiqiyun/open/core/mapper/bz/HomeStayInfoMapper.java

@@ -1,4 +1,4 @@
-package com.zhiqiyun.open.core.mapper;
+package com.zhiqiyun.open.core.mapper.bz;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhiqiyun.open.core.models.bz.HomeStayInfo;

+ 1 - 1
src/main/java/com/zhiqiyun/open/core/mapper/HotelInfoMapper.java → src/main/java/com/zhiqiyun/open/core/mapper/bz/HotelInfoMapper.java

@@ -1,4 +1,4 @@
-package com.zhiqiyun.open.core.mapper;
+package com.zhiqiyun.open.core.mapper.bz;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhiqiyun.open.core.models.bz.HotelInfo;

+ 1 - 1
src/main/java/com/zhiqiyun/open/core/mapper/SceneryInfoMapper.java → src/main/java/com/zhiqiyun/open/core/mapper/bz/SceneryInfoMapper.java

@@ -1,4 +1,4 @@
-package com.zhiqiyun.open.core.mapper;
+package com.zhiqiyun.open.core.mapper.bz;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhiqiyun.open.core.models.bz.SceneryInfo;

+ 1 - 1
src/main/java/com/zhiqiyun/open/core/mapper/TouristInfoMapper.java → src/main/java/com/zhiqiyun/open/core/mapper/bz/TouristInfoMapper.java

@@ -1,4 +1,4 @@
-package com.zhiqiyun.open.core.mapper;
+package com.zhiqiyun.open.core.mapper.bz;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhiqiyun.open.core.models.bz.TouristInfo;

+ 1 - 1
src/main/java/com/zhiqiyun/open/core/mapper/VenueInfoMapper.java → src/main/java/com/zhiqiyun/open/core/mapper/bz/VenueInfoMapper.java

@@ -1,4 +1,4 @@
-package com.zhiqiyun.open.core.mapper;
+package com.zhiqiyun.open.core.mapper.bz;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhiqiyun.open.core.models.bz.VenueInfo;

+ 30 - 0
src/main/java/com/zhiqiyun/open/core/models/bz/BaseDataInfo.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.BzDataType;
+import com.zhiqiyun.open.core.typeHandler.FastjsonTypeHandler;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+@TableName(value = "bz_base_info", autoResultMap = true)
+public class BaseDataInfo {
+    @TableId(type = IdType.INPUT)
+    private Long id;
+    private String name;
+    private BzDataType dataType;
+    @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;
+}

+ 3 - 14
src/main/java/com/zhiqiyun/open/core/models/bz/HolidayVillageInfo.java

@@ -4,25 +4,14 @@ 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.typeHandler.FastjsonTypeHandler;
 import lombok.Data;
 
-import java.math.BigDecimal;
-import java.util.List;
-
 @Data
 @TableName(value = "bz_holiday_village_info", autoResultMap = true)
 public class HolidayVillageInfo {
 	@TableId(type = IdType.INPUT)
 	private Long id;
-	private String name;
-	@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;
+
+	@TableField(exist = false)
+	private BaseDataInfo baseDataInfo;
 }

+ 3 - 14
src/main/java/com/zhiqiyun/open/core/models/bz/HomeStayInfo.java

@@ -4,25 +4,14 @@ 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.typeHandler.FastjsonTypeHandler;
 import lombok.Data;
 
-import java.math.BigDecimal;
-import java.util.List;
-
 @Data
 @TableName(value = "bz_home_stay_info", autoResultMap = true)
 public class HomeStayInfo {
 	@TableId(type = IdType.INPUT)
 	private Long id;
-	private String name;
-	@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;
+
+	@TableField(exist = false)
+	private BaseDataInfo baseDataInfo;
 }

+ 4 - 14
src/main/java/com/zhiqiyun/open/core/models/bz/HotelInfo.java

@@ -5,26 +5,16 @@ 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;
+
+    @TableField(exist = false)
+    private BaseDataInfo baseDataInfo;
 }

+ 4 - 14
src/main/java/com/zhiqiyun/open/core/models/bz/SceneryInfo.java

@@ -5,26 +5,16 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.zhiqiyun.open.core.enmus.SceneryGrade;
-import com.zhiqiyun.open.core.typeHandler.FastjsonTypeHandler;
 import lombok.Data;
 
-import java.math.BigDecimal;
-import java.util.List;
-
 @Data
 @TableName(value = "bz_scenery_info", autoResultMap = true)
 public class SceneryInfo {
     @TableId(type = IdType.INPUT)
     private Long id;
-    private String name;
+
     private SceneryGrade 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;
+
+    @TableField(exist = false)
+    private BaseDataInfo baseDataInfo;
 }

+ 5 - 16
src/main/java/com/zhiqiyun/open/core/models/bz/TouristInfo.java

@@ -4,25 +4,14 @@ 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.typeHandler.FastjsonTypeHandler;
 import lombok.Data;
 
-import java.math.BigDecimal;
-import java.util.List;
-
 @Data
 @TableName(value = "bz_tourist_info", autoResultMap = true)
 public class TouristInfo {
-	@TableId(type = IdType.INPUT)
-	private Long id;
-	private String name;
-	@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;
+    @TableId(type = IdType.INPUT)
+    private Long id;
+
+    @TableField(exist = false)
+    private BaseDataInfo baseDataInfo;
 }

+ 5 - 16
src/main/java/com/zhiqiyun/open/core/models/bz/VenueInfo.java

@@ -4,25 +4,14 @@ 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.typeHandler.FastjsonTypeHandler;
 import lombok.Data;
 
-import java.math.BigDecimal;
-import java.util.List;
-
 @Data
 @TableName(value = "bz_venue_info", autoResultMap = true)
 public class VenueInfo {
-	@TableId(type = IdType.INPUT)
-	private Long id;
-	private String name;
-	@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;
+    @TableId(type = IdType.INPUT)
+    private Long id;
+
+    @TableField(exist = false)
+    private BaseDataInfo baseDataInfo;
 }

+ 1 - 4
src/main/java/com/zhiqiyun/open/core/service/impl/HolidayVillageInfoServiceImpl.java

@@ -1,12 +1,9 @@
 package com.zhiqiyun.open.core.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.zhiqiyun.open.core.mapper.HolidayVillageInfoMapper;
-import com.zhiqiyun.open.core.mapper.VenueInfoMapper;
+import com.zhiqiyun.open.core.mapper.bz.HolidayVillageInfoMapper;
 import com.zhiqiyun.open.core.models.bz.HolidayVillageInfo;
-import com.zhiqiyun.open.core.models.bz.VenueInfo;
 import com.zhiqiyun.open.core.service.HolidayVillageInfoService;
-import com.zhiqiyun.open.core.service.VenueInfoService;
 import org.springframework.stereotype.Service;
 
 @Service

+ 1 - 1
src/main/java/com/zhiqiyun/open/core/service/impl/HomeStayInfoServiceImpl.java

@@ -1,7 +1,7 @@
 package com.zhiqiyun.open.core.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.zhiqiyun.open.core.mapper.HomeStayInfoMapper;
+import com.zhiqiyun.open.core.mapper.bz.HomeStayInfoMapper;
 import com.zhiqiyun.open.core.models.bz.HomeStayInfo;
 import com.zhiqiyun.open.core.service.HomeStayInfoService;
 import org.springframework.stereotype.Service;

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

@@ -1,7 +1,7 @@
 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.mapper.bz.HotelInfoMapper;
 import com.zhiqiyun.open.core.models.bz.HotelInfo;
 import com.zhiqiyun.open.core.service.HotelInfoService;
 import org.springframework.stereotype.Service;

+ 44 - 4
src/main/java/com/zhiqiyun/open/core/service/impl/SceneryInfoServiceImpl.java

@@ -1,14 +1,54 @@
 package com.zhiqiyun.open.core.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.zhiqiyun.open.core.mapper.SceneryInfoMapper;
-import com.zhiqiyun.open.core.mapper.VenueInfoMapper;
+import com.zhiqiyun.open.core.enmus.BzDataType;
+import com.zhiqiyun.open.core.mapper.bz.BaseDataInfoMapper;
+import com.zhiqiyun.open.core.mapper.bz.SceneryInfoMapper;
+import com.zhiqiyun.open.core.models.bz.BaseDataInfo;
 import com.zhiqiyun.open.core.models.bz.SceneryInfo;
-import com.zhiqiyun.open.core.models.bz.VenueInfo;
 import com.zhiqiyun.open.core.service.SceneryInfoService;
-import com.zhiqiyun.open.core.service.VenueInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 @Service
 public class SceneryInfoServiceImpl extends ServiceImpl<SceneryInfoMapper, SceneryInfo> implements SceneryInfoService {
+
+    @Autowired
+    private BaseDataInfoMapper baseDataInfoMapper;
+
+    @Override
+    public <E extends IPage<SceneryInfo>> E page(E page, Wrapper<SceneryInfo> queryWrapper) {
+        E p = this.getBaseMapper().selectPage(page, queryWrapper);
+        for (SceneryInfo entity : p.getRecords()) {
+            BaseDataInfo baseDataInfo = this.baseDataInfoMapper.selectById(entity.getId());
+            entity.setBaseDataInfo(baseDataInfo);
+        }
+        return p;
+    }
+
+    @Override
+    @Transactional
+    public boolean save(SceneryInfo entity) {
+        BaseDataInfo baseDataInfo = entity.getBaseDataInfo();
+        baseDataInfo.setId(entity.getId());
+        baseDataInfo.setDataType(BzDataType.SCENERY);
+
+        this.baseDataInfoMapper.insert(baseDataInfo);
+        return super.save(entity);
+    }
+
+    @Override
+    @Transactional
+    public boolean updateById(SceneryInfo entity) {
+
+        BaseDataInfo baseDataInfo = entity.getBaseDataInfo();
+        baseDataInfo.setId(entity.getId());
+        baseDataInfo.setDataType(BzDataType.SCENERY);
+
+        this.baseDataInfoMapper.updateById(baseDataInfo);
+        return super.updateById(entity);
+    }
 }

+ 1 - 1
src/main/java/com/zhiqiyun/open/core/service/impl/TouristInfoServiceImpl.java

@@ -1,7 +1,7 @@
 package com.zhiqiyun.open.core.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.zhiqiyun.open.core.mapper.TouristInfoMapper;
+import com.zhiqiyun.open.core.mapper.bz.TouristInfoMapper;
 import com.zhiqiyun.open.core.models.bz.TouristInfo;
 import com.zhiqiyun.open.core.service.TouristInfoService;
 import org.springframework.stereotype.Service;

+ 44 - 1
src/main/java/com/zhiqiyun/open/core/service/impl/VenueInfoServiceImpl.java

@@ -1,11 +1,54 @@
 package com.zhiqiyun.open.core.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.zhiqiyun.open.core.mapper.VenueInfoMapper;
+import com.zhiqiyun.open.core.enmus.BzDataType;
+import com.zhiqiyun.open.core.mapper.bz.BaseDataInfoMapper;
+import com.zhiqiyun.open.core.mapper.bz.VenueInfoMapper;
+import com.zhiqiyun.open.core.models.bz.BaseDataInfo;
 import com.zhiqiyun.open.core.models.bz.VenueInfo;
 import com.zhiqiyun.open.core.service.VenueInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 @Service
 public class VenueInfoServiceImpl extends ServiceImpl<VenueInfoMapper, VenueInfo> implements VenueInfoService {
+
+    @Autowired
+    private BaseDataInfoMapper baseDataInfoMapper;
+
+    @Override
+    public <E extends IPage<VenueInfo>> E page(E page, Wrapper<VenueInfo> queryWrapper) {
+        E p = this.getBaseMapper().selectPage(page, queryWrapper);
+        for (VenueInfo entity : p.getRecords()) {
+            BaseDataInfo baseDataInfo = this.baseDataInfoMapper.selectById(entity.getId());
+            entity.setBaseDataInfo(baseDataInfo);
+        }
+        return p;
+    }
+
+    @Override
+    @Transactional
+    public boolean save(VenueInfo entity) {
+        BaseDataInfo baseDataInfo = entity.getBaseDataInfo();
+        baseDataInfo.setId(entity.getId());
+        baseDataInfo.setDataType(BzDataType.VENUE);
+
+        this.baseDataInfoMapper.insert(baseDataInfo);
+        return super.save(entity);
+    }
+
+    @Override
+    @Transactional
+    public boolean updateById(VenueInfo entity) {
+
+        BaseDataInfo baseDataInfo = entity.getBaseDataInfo();
+        baseDataInfo.setId(entity.getId());
+        baseDataInfo.setDataType(BzDataType.VENUE);
+
+        this.baseDataInfoMapper.updateById(baseDataInfo);
+        return super.updateById(entity);
+    }
 }

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

@@ -4,6 +4,7 @@ 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.BaseDataInfo;
 import com.zhiqiyun.open.core.models.bz.SceneryInfo;
 import com.zhiqiyun.open.core.service.SceneryInfoService;
 import com.zhiqiyun.open.core.service.SequenceService;
@@ -67,27 +68,31 @@ public class SceneryInfoController {
     @PostMapping("/save")
     public Result save(@Valid @RequestBody SaveSceneryInfoParams params) {
 
-        SceneryInfo sceneryInfo = new SceneryInfo();
-        BeanUtils.copyProperties(params, sceneryInfo);
-        sceneryInfo.setId(this.sequenceService.nextId());
-        this.sceneryInfoService.save(sceneryInfo);
+        this.sceneryInfoService.save(this.buildEntity(this.sequenceService.nextId(), params));
 
         return Result.instance(Result.Code.MESSAGE_SUCCESS);
     }
 
     @Permission(value = "bz.base.scenery.edit", tags = "编辑景区")
     @PostMapping("/updateById")
-    public Result updateById(Long id, @Valid @RequestBody SaveSceneryInfoParams params) {
-
-        SceneryInfo sceneryInfo = new SceneryInfo();
-        BeanUtils.copyProperties(params, sceneryInfo);
-        sceneryInfo.setId(id);
+    public Result updateById(Long id, @RequestBody SaveSceneryInfoParams params) {
 
-        this.sceneryInfoService.updateById(sceneryInfo);
+        this.sceneryInfoService.updateById(this.buildEntity(id, params));
 
         return Result.instance(Result.Code.MESSAGE_SUCCESS);
     }
 
+    private SceneryInfo buildEntity(Long id, @Valid SaveSceneryInfoParams params) {
+
+        SceneryInfo sceneryInfo = new SceneryInfo();
+        BaseDataInfo baseDataInfo = new BaseDataInfo();
+        BeanUtils.copyProperties(params, sceneryInfo);
+        BeanUtils.copyProperties(params, baseDataInfo);
+
+        sceneryInfo.setBaseDataInfo(baseDataInfo);
+        sceneryInfo.setId(id);
+        return sceneryInfo;
+    }
 
     @Permission(value = "bz.base.scenery.delete", tags = "删除景区")
     @PostMapping("/deleteByIds")

+ 15 - 9
src/main/java/com/zhiqiyun/open/mvc/controller/VenueInfoController.java

@@ -4,6 +4,7 @@ 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.BaseDataInfo;
 import com.zhiqiyun.open.core.models.bz.VenueInfo;
 import com.zhiqiyun.open.core.service.SequenceService;
 import com.zhiqiyun.open.core.service.VenueInfoService;
@@ -64,10 +65,7 @@ public class VenueInfoController {
     @PostMapping("/save")
     public Result save(@Valid @RequestBody SaveVenueInfoParams params) {
 
-        VenueInfo venueInfo = new VenueInfo();
-        BeanUtils.copyProperties(params, venueInfo);
-        venueInfo.setId(this.sequenceService.nextId());
-        this.venueInfoService.save(venueInfo);
+        this.venueInfoService.save(this.buildEntity(this.sequenceService.nextId(), params));
 
         return Result.instance(Result.Code.MESSAGE_SUCCESS);
     }
@@ -76,16 +74,24 @@ public class VenueInfoController {
     @PostMapping("/updateById")
     public Result updateById(Long id, @Valid @RequestBody SaveVenueInfoParams params) {
 
-        VenueInfo venueInfo = new VenueInfo();
-        BeanUtils.copyProperties(params, venueInfo);
-        venueInfo.setId(id);
-
-        this.venueInfoService.updateById(venueInfo);
+        this.venueInfoService.updateById(this.buildEntity(id, params));
 
         return Result.instance(Result.Code.MESSAGE_SUCCESS);
     }
 
 
+    private VenueInfo buildEntity(Long id, @Valid SaveVenueInfoParams params) {
+
+        VenueInfo entity = new VenueInfo();
+        BaseDataInfo baseDataInfo = new BaseDataInfo();
+        BeanUtils.copyProperties(params, entity);
+        BeanUtils.copyProperties(params, baseDataInfo);
+
+        entity.setBaseDataInfo(baseDataInfo);
+        entity.setId(id);
+        return entity;
+    }
+
     @Permission(value = "bz.base.venue.delete", tags = "删除场馆")
     @PostMapping("/deleteByIds")
     public Result deleteByIds(@RequestBody List<Long> ids) {

+ 117 - 0
src/main/resources/db/migration/V1.0.3__bz.sql

@@ -0,0 +1,117 @@
+DROP TABLE IF EXISTS `bz_base_info`;
+CREATE TABLE `bz_base_info`
+(
+    `id`             BIGINT(20)     NOT NULL COMMENT 'ID',
+    `data_type`      INT(11)        NULL     DEFAULT NULL COMMENT '类型',
+    `name`           VARCHAR(50)    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 '纬度(坐标)',
+    `created_time`   VARCHAR(200)   NULL     DEFAULT NULL COMMENT '创建时间',
+    `created_by`     VARCHAR(200)   NULL     DEFAULT NULL COMMENT '创建人',
+    `updated_time`   VARCHAR(200)   NULL     DEFAULT NULL COMMENT '修改时间',
+    `updated_by`     VARCHAR(200)   NULL     DEFAULT NULL COMMENT '修改人',
+    PRIMARY KEY (`id`)
+) COMMENT ='文旅场所基础信息' ENGINE = InnoDB;
+
+DROP TABLE IF EXISTS `bz_holiday_village_info`;
+CREATE TABLE `bz_holiday_village_info`
+(
+    `id` BIGINT(20) NOT NULL COMMENT 'ID',
+    PRIMARY KEY (`id`)
+) COMMENT ='度假村扩展信息表' ENGINE = InnoDB;
+
+DROP TABLE IF EXISTS `bz_home_stay_info`;
+CREATE TABLE `bz_home_stay_info`
+(
+    `id` BIGINT(20) NOT NULL COMMENT 'ID',
+    PRIMARY KEY (`id`)
+) COMMENT ='民宿扩展信息表' ENGINE = InnoDB;
+
+DROP TABLE IF EXISTS `bz_hotel_info`;
+CREATE TABLE `bz_hotel_info`
+(
+    `id`    BIGINT(20) NOT NULL COMMENT 'ID',
+    `grade` INT(1)     NULL DEFAULT NULL COMMENT '等级',
+    PRIMARY KEY (`id`)
+) COMMENT ='酒店扩展信息表' ENGINE = InnoDB;
+
+DROP TABLE IF EXISTS `bz_scenery_info`;
+CREATE TABLE `bz_scenery_info`
+(
+    `id`    BIGINT(20) NOT NULL COMMENT 'ID',
+    `grade` INT(1)     NULL DEFAULT NULL COMMENT '等级',
+    PRIMARY KEY (`id`)
+) COMMENT ='景区扩展信息表' ENGINE = InnoDB;
+
+
+DROP TABLE IF EXISTS `bz_tourist_info`;
+CREATE TABLE `bz_tourist_info`
+(
+    `id` BIGINT(20) NOT NULL COMMENT 'ID',
+    PRIMARY KEY (`id`)
+) COMMENT ='旅行社扩展信息表' ENGINE = InnoDB;
+
+DROP TABLE IF EXISTS `bz_venue_info`;
+CREATE TABLE `bz_venue_info`
+(
+    `id` BIGINT(20) NOT NULL COMMENT 'ID',
+    PRIMARY KEY (`id`)
+) COMMENT ='场馆扩展信息表' ENGINE = InnoDB;
+
+
+REPLACE
+    INTO `authority_info` (`id`, `parent_id`, `name`, `remark`)
+VALUES (1400, 0, 'bz.base.venue', '场馆基本信息管理'),
+       (1401, 1400, 'bz.base.venue.find', '查询'),
+       (1402, 1400, 'bz.base.venue.add', '添加'),
+       (1403, 1400, 'bz.base.venue.edit', '修改'),
+       (1404, 1400, 'bz.base.venue.delete', '删除');
+
+
+REPLACE
+    INTO `authority_info` (`id`, `parent_id`, `name`, `remark`)
+VALUES (1500, 0, 'bz.base.scenery', '景区基本信息管理'),
+       (1501, 1500, 'bz.base.scenery.find', '查询'),
+       (1502, 1500, 'bz.base.scenery.add', '添加'),
+       (1503, 1500, 'bz.base.scenery.edit', '修改'),
+       (1504, 1500, 'bz.base.scenery.delete', '删除');
+
+
+REPLACE
+    INTO `authority_info` (`id`, `parent_id`, `name`, `remark`)
+VALUES (1600, 0, 'bz.base.holiday.village', '度假村基本信息管理'),
+       (1601, 1600, 'bz.base.holiday.village.find', '查询'),
+       (1602, 1600, 'bz.base.holiday.village.add', '添加'),
+       (1603, 1600, 'bz.base.holiday.village.edit', '修改'),
+       (1604, 1600, 'bz.base.holiday.village.delete', '删除');
+
+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', '删除');
+
+
+REPLACE
+    INTO `authority_info` (`id`, `parent_id`, `name`, `remark`)
+VALUES (1800, 0, 'bz.base.home.stay', '民宿基本信息管理'),
+       (1801, 1800, 'bz.base.home.stay.find', '查询'),
+       (1802, 1800, 'bz.base.home.stay.add', '添加'),
+       (1803, 1800, 'bz.base.home.stay.edit', '修改'),
+       (1804, 1800, 'bz.base.home.stay.delete', '删除');
+
+REPLACE
+    INTO `authority_info` (`id`, `parent_id`, `name`, `remark`)
+VALUES (1900, 0, 'bz.base.tourist', '旅行社基本信息管理'),
+       (1901, 1900, 'bz.base.tourist.find', '查询'),
+       (1902, 1900, 'bz.base.tourist.add', '添加'),
+       (1903, 1900, 'bz.base.tourist.edit', '修改'),
+       (1904, 1900, 'bz.base.tourist.delete', '删除');

+ 0 - 23
src/main/resources/db/migration/V1.0.3__bz_venue_info.sql

@@ -1,23 +0,0 @@
-DROP TABLE IF EXISTS `bz_venue_info`;
-CREATE TABLE `bz_venue_info`
-(
-    `id`             BIGINT(20) NOT NULL COMMENT 'ID',
-    `name`           VARCHAR(50) 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 (1400, 0, 'bz.base.venue', '场馆基本信息管理'),
-       (1401, 1400, 'bz.base.venue.find', '查询'),
-       (1402, 1400, 'bz.base.venue.add', '添加'),
-       (1403, 1400, 'bz.base.venue.edit', '修改'),
-       (1404, 1400, 'bz.base.venue.delete', '删除');

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

@@ -1,24 +0,0 @@
-DROP TABLE IF EXISTS `bz_scenery_info`;
-CREATE TABLE `bz_scenery_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 (1500, 0, 'bz.base.scenery', '景区基本信息管理'),
-       (1501, 1500, 'bz.base.scenery.find', '查询'),
-       (1502, 1500, 'bz.base.scenery.add', '添加'),
-       (1503, 1500, 'bz.base.scenery.edit', '修改'),
-       (1504, 1500, 'bz.base.scenery.delete', '删除');

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

@@ -1,23 +0,0 @@
-DROP TABLE IF EXISTS `bz_holiday_village_info`;
-CREATE TABLE `bz_holiday_village_info`
-(
-    `id`             BIGINT(20) NOT NULL COMMENT 'ID',
-    `name`           VARCHAR(50) 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 (1600, 0, 'bz.base.holiday.village', '度假村基本信息管理'),
-       (1601, 1600, 'bz.base.holiday.village.find', '查询'),
-       (1602, 1600, 'bz.base.holiday.village.add', '添加'),
-       (1603, 1600, 'bz.base.holiday.village.edit', '修改'),
-       (1604, 1600, 'bz.base.holiday.village.delete', '删除');

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

@@ -1,23 +0,0 @@
-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', '删除');

+ 0 - 23
src/main/resources/db/migration/V1.0.7__bz_home_stay_info.sql

@@ -1,23 +0,0 @@
-DROP TABLE IF EXISTS `bz_home_stay_info`;
-CREATE TABLE `bz_home_stay_info`
-(
-    `id`             BIGINT(20) NOT NULL COMMENT 'ID',
-    `name`           VARCHAR(50) 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 (1800, 0, 'bz.base.home.stay', '民宿基本信息管理'),
-       (1801, 1800, 'bz.base.home.stay.find', '查询'),
-       (1802, 1800, 'bz.base.home.stay.add', '添加'),
-       (1803, 1800, 'bz.base.home.stay.edit', '修改'),
-       (1804, 1800, 'bz.base.home.stay.delete', '删除');

+ 0 - 23
src/main/resources/db/migration/V1.0.8__bz_tourist_info.sql

@@ -1,23 +0,0 @@
-DROP TABLE IF EXISTS `bz_tourist_info`;
-CREATE TABLE `bz_tourist_info`
-(
-    `id`             BIGINT(20) NOT NULL COMMENT 'ID',
-    `name`           VARCHAR(50) 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 (1900, 0, 'bz.base.tourist', '旅行社基本信息管理'),
-       (1901, 1900, 'bz.base.tourist.find', '查询'),
-       (1902, 1900, 'bz.base.tourist.add', '添加'),
-       (1903, 1900, 'bz.base.tourist.edit', '修改'),
-       (1904, 1900, 'bz.base.tourist.delete', '删除');

+ 0 - 18
src/main/resources/db/migration/V1.0.9__bz_weather_info.sql

@@ -1,18 +0,0 @@
-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 'PM2.5',
-    `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;