Browse Source

旅行社

stjdydayou 4 years ago
parent
commit
7712e29750

+ 9 - 0
src/main/java/com/zhiqiyun/open/core/mapper/TouristInfoMapper.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.TouristInfo;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface TouristInfoMapper extends BaseMapper<TouristInfo> {
+}

+ 28 - 0
src/main/java/com/zhiqiyun/open/core/models/bz/TouristInfo.java

@@ -0,0 +1,28 @@
+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.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;
+}

+ 7 - 0
src/main/java/com/zhiqiyun/open/core/service/TouristInfoService.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.TouristInfo;
+
+public interface TouristInfoService extends IService<TouristInfo> {
+}

+ 11 - 0
src/main/java/com/zhiqiyun/open/core/service/impl/TouristInfoServiceImpl.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.TouristInfoMapper;
+import com.zhiqiyun.open.core.models.bz.TouristInfo;
+import com.zhiqiyun.open.core.service.TouristInfoService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class TouristInfoServiceImpl extends ServiceImpl<TouristInfoMapper, TouristInfo> implements TouristInfoService {
+}

+ 2 - 2
src/main/java/com/zhiqiyun/open/mvc/controller/HomeStayInfoController.java

@@ -8,7 +8,7 @@ import com.zhiqiyun.open.core.models.bz.HomeStayInfo;
 import com.zhiqiyun.open.core.service.HomeStayInfoService;
 import com.zhiqiyun.open.core.service.SequenceService;
 import com.zhiqiyun.open.mvc.Result;
-import com.zhiqiyun.open.mvc.params.QueryhomeStayInfoParams;
+import com.zhiqiyun.open.mvc.params.QueryHomeStayInfoParams;
 import com.zhiqiyun.open.mvc.params.SaveHomeStayInfoParams;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
@@ -33,7 +33,7 @@ public class HomeStayInfoController {
 
     @Permission(value = "bz.base.home.stay.find", tags = "查询场馆")
     @PostMapping("/findPage")
-    public Result findPage(@RequestBody QueryhomeStayInfoParams params) {
+    public Result findPage(@RequestBody QueryHomeStayInfoParams params) {
 
         QueryWrapper<HomeStayInfo> queryWrapper = new QueryWrapper<>();
 

+ 95 - 0
src/main/java/com/zhiqiyun/open/mvc/controller/TouristInfoController.java

@@ -0,0 +1,95 @@
+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.TouristInfo;
+import com.zhiqiyun.open.core.service.SequenceService;
+import com.zhiqiyun.open.core.service.TouristInfoService;
+import com.zhiqiyun.open.mvc.Result;
+import com.zhiqiyun.open.mvc.params.QueryTouristInfoParams;
+import com.zhiqiyun.open.mvc.params.SaveTouristInfoParams;
+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/tourist")
+public class TouristInfoController {
+
+    @Autowired
+    private TouristInfoService touristInfoService;
+
+    @Autowired
+    private SequenceService sequenceService;
+
+    @Permission(value = "bz.base.tourist.find", tags = "查询场馆")
+    @PostMapping("/findPage")
+    public Result findPage(@RequestBody QueryTouristInfoParams params) {
+
+        QueryWrapper<TouristInfo> queryWrapper = new QueryWrapper<>();
+
+        if (StringUtils.isNotBlank(params.getContactNumber())) {
+            queryWrapper.like("contact_number", params.getContactNumber());
+        }
+        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<TouristInfo> page = params.getPage();
+        page.addOrder(OrderItem.desc("id"));
+
+        Page<TouristInfo> resultData = this.touristInfoService.page(page, queryWrapper);
+
+        return Result.instance(Result.Code.SUCCESS).setData(resultData);
+    }
+
+    @Permission(value = "bz.base.tourist.add", tags = "保存场馆")
+    @PostMapping("/save")
+    public Result save(@Valid @RequestBody SaveTouristInfoParams params) {
+
+        TouristInfo touristInfo = new TouristInfo();
+        BeanUtils.copyProperties(params, touristInfo);
+        touristInfo.setId(this.sequenceService.nextId());
+        this.touristInfoService.save(touristInfo);
+
+        return Result.instance(Result.Code.MESSAGE_SUCCESS);
+    }
+
+    @Permission(value = "bz.base.tourist.edit", tags = "编辑场馆")
+    @PostMapping("/updateById")
+    public Result updateById(Long id, @Valid @RequestBody SaveTouristInfoParams params) {
+
+        TouristInfo touristInfo = new TouristInfo();
+        BeanUtils.copyProperties(params, touristInfo);
+        touristInfo.setId(id);
+
+        this.touristInfoService.updateById(touristInfo);
+
+        return Result.instance(Result.Code.MESSAGE_SUCCESS);
+    }
+
+
+    @Permission(value = "bz.base.tourist.delete", tags = "删除场馆")
+    @PostMapping("/deleteByIds")
+    public Result deleteByIds(@RequestBody List<Long> ids) {
+        this.touristInfoService.removeByIds(ids);
+        return Result.instance(Result.Code.MESSAGE_SUCCESS);
+    }
+}

+ 1 - 1
src/main/java/com/zhiqiyun/open/mvc/params/QueryhomeStayInfoParams.java → src/main/java/com/zhiqiyun/open/mvc/params/QueryHomeStayInfoParams.java

@@ -5,7 +5,7 @@ import lombok.EqualsAndHashCode;
 
 @EqualsAndHashCode(callSuper = true)
 @Data
-public class QueryhomeStayInfoParams extends QueryPageParams {
+public class QueryHomeStayInfoParams extends QueryPageParams {
 	private String keyword;
 	private String contactNumber;
 }

+ 11 - 0
src/main/java/com/zhiqiyun/open/mvc/params/QueryTouristInfoParams.java

@@ -0,0 +1,11 @@
+package com.zhiqiyun.open.mvc.params;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class QueryTouristInfoParams extends QueryPageParams {
+	private String keyword;
+	private String contactNumber;
+}

+ 20 - 0
src/main/java/com/zhiqiyun/open/mvc/params/SaveTouristInfoParams.java

@@ -0,0 +1,20 @@
+package com.zhiqiyun.open.mvc.params;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+public class SaveTouristInfoParams {
+    private String name;
+    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;
+}

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

@@ -21,50 +21,3 @@ VALUES (1800, 0, 'bz.base.home.stay', '民宿基本信息管理'),
        (1802, 1800, 'bz.base.home.stay.add', '添加'),
        (1803, 1800, 'bz.base.home.stay.edit', '修改'),
        (1804, 1800, 'bz.base.home.stay.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;

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

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

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

@@ -0,0 +1,18 @@
+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;