From c1ac446278c893ea6751cb94b9eb3a7847857ef6 Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期四, 22 五月 2025 09:06:05 +0800
Subject: [PATCH] add:影视作品和片场信息

---
 src/main/java/com/mzl/flower/dto/request/filmwork/FilmWorksQueryDTO.java    |   10 
 src/main/java/com/mzl/flower/dto/request/filmwork/FilmWorksDTO.java         |  116 ++++++
 src/main/java/com/mzl/flower/entity/film/FilmLocation.java                  |  122 ++++++
 src/main/java/com/mzl/flower/service/film/impl/FilmLocationServiceImpl.java |   55 +++
 src/main/java/com/mzl/flower/service/film/impl/FilmWorksServiceImpl.java    |   61 +++
 src/main/java/com/mzl/flower/entity/film/FilmWorks.java                     |  121 ++++++
 src/main/java/com/mzl/flower/mapper/filmwork/FilmWorksMapper.java           |   23 +
 src/main/java/com/mzl/flower/web/film/FilmWorksController.java              |   70 +++
 src/main/resources/mapper/film/FilmLocationMapper.xml                       |   34 +
 src/main/java/com/mzl/flower/dto/request/filmwork/FilmLocationDTO.java      |  106 +++++
 src/main/java/com/mzl/flower/web/film/FilmLocationController.java           |   62 +++
 src/main/java/com/mzl/flower/config/ResourceServerConfig.java               |    2 
 src/main/java/com/mzl/flower/dto/response/filmwork/FilmLocationVO.java      |   65 +++
 src/main/resources/mapper/film/FilmWorksMapper.xml                          |   33 +
 src/main/java/com/mzl/flower/dto/response/filmwork/FilmWorksVO.java         |  114 ++++++
 src/main/java/com/mzl/flower/dto/request/filmwork/FilmLocationQueryDTO.java |   10 
 src/main/java/com/mzl/flower/service/film/FilmWorksService.java             |   30 +
 src/main/java/com/mzl/flower/mapper/filmwork/FilmLocationMapper.java        |   16 
 src/main/java/com/mzl/flower/service/film/FilmLocationService.java          |   27 +
 19 files changed, 1,077 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/mzl/flower/config/ResourceServerConfig.java b/src/main/java/com/mzl/flower/config/ResourceServerConfig.java
index 249e5d4..3fc7fe1 100644
--- a/src/main/java/com/mzl/flower/config/ResourceServerConfig.java
+++ b/src/main/java/com/mzl/flower/config/ResourceServerConfig.java
@@ -55,6 +55,8 @@
                 .antMatchers("/api/customer/flower/list/view").permitAll()
                 .antMatchers("/api/customer/flower/up/stock").permitAll()
                 .antMatchers("/api/filmset/**").permitAll()
+                .antMatchers("/api/filmWorks/**").permitAll()
+                .antMatchers("/api/filmLocation/**").permitAll()
                 .antMatchers("api/pub/customer/home/**").permitAll()
                 .antMatchers("/api/customer/point/goods/**").permitAll()
                 .antMatchers("/api/upload/oss/file").permitAll()
diff --git a/src/main/java/com/mzl/flower/dto/request/filmwork/FilmLocationDTO.java b/src/main/java/com/mzl/flower/dto/request/filmwork/FilmLocationDTO.java
new file mode 100644
index 0000000..4190d27
--- /dev/null
+++ b/src/main/java/com/mzl/flower/dto/request/filmwork/FilmLocationDTO.java
@@ -0,0 +1,106 @@
+package com.mzl.flower.dto.request.filmwork;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+
+@Data
+public class FilmLocationDTO {
+    /**
+     * 关联的影视作品ID
+     */
+    private Integer filmId;
+
+    /**
+     * 拍摄地点名称
+     */
+    private String locationName;
+
+    /**
+     * 详细地址
+     */
+    private String address;
+
+    /**
+     * 纬度坐标(精确到小数点后6位)
+     */
+    private BigDecimal gpsLat;
+
+    /**
+     * 经度坐标(精确到小数点后6位)
+     */
+    private BigDecimal gpsLng;
+
+    /**
+     * 拍摄开始日期
+     */
+    private LocalDate startDate;
+
+    /**
+     * 拍摄结束日期
+     */
+    private LocalDate endDate;
+
+    /**
+     * 场景类型
+     */
+    private String sceneType;
+
+    /**
+     * 经典画面描述
+     */
+    private String classicScene;
+
+    /**
+     * 是否开放参观(0否,1是)
+     */
+    private Boolean isOpenVisit;
+
+    /**
+     * 参观提示(JSON格式存储)
+     */
+    private String visitInfo;
+
+    /**
+     * 地标性建筑描述
+     */
+    private String landmarkDesc;
+
+    /**
+     * 交通指引说明
+     */
+    private String transportGuide;
+
+    /**
+     * 停车场信息
+     */
+    private String parkingInfo;
+
+    /**
+     * 周边设施描述
+     */
+    private String surroundingFacilities;
+
+    /**
+     * AR实景对比功能入口URL
+     */
+    private String arEntry;
+
+    /**
+     * 状态(0禁用,1启用)
+     */
+    private Integer status;
+
+
+    /**
+     * 打卡记录量
+     */
+    private Integer checkinCount;
+
+    /**
+     * 游客实拍图(存储JSON数组)
+     */
+    private String visitorPhotos;
+
+}
diff --git a/src/main/java/com/mzl/flower/dto/request/filmwork/FilmLocationQueryDTO.java b/src/main/java/com/mzl/flower/dto/request/filmwork/FilmLocationQueryDTO.java
new file mode 100644
index 0000000..4a688d0
--- /dev/null
+++ b/src/main/java/com/mzl/flower/dto/request/filmwork/FilmLocationQueryDTO.java
@@ -0,0 +1,10 @@
+package com.mzl.flower.dto.request.filmwork;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class FilmLocationQueryDTO {
+    @ApiModelProperty(value = "会员等级名称")
+    private String name;
+}
diff --git a/src/main/java/com/mzl/flower/dto/request/filmwork/FilmWorksDTO.java b/src/main/java/com/mzl/flower/dto/request/filmwork/FilmWorksDTO.java
new file mode 100644
index 0000000..25c19d1
--- /dev/null
+++ b/src/main/java/com/mzl/flower/dto/request/filmwork/FilmWorksDTO.java
@@ -0,0 +1,116 @@
+package com.mzl.flower.dto.request.filmwork;
+
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+public class FilmWorksDTO {
+
+    /**
+     * 中文名称
+     */
+    private String nameCn;
+
+    /**
+     * 英文名称
+     */
+    private String nameEn;
+
+    /**
+     * 作品类型
+     */
+    private String type;
+
+    /**
+     * 上映年份
+     */
+    private  String releaseYear;
+
+    /**
+     * 导演(多个用逗号分隔)
+     */
+    private String director;
+
+    /**
+     * 制片方
+     */
+    private String producer;
+
+    /**
+     * 主要演员(多个用逗号分隔)
+     */
+    private String actors;
+
+    /**
+     * 剧情关键词(用逗号分隔)
+     */
+    private String keywords;
+
+    /**
+     * 剧情简介
+     */
+    private String synopsis;
+
+    /**
+     * 封面图片URL
+     */
+    private String coverUrl;
+
+    /**
+     * 封面图片描述文本
+     */
+    private String coverAlt;
+
+    /**
+     * 创建者用户类型
+     */
+    private String userType;
+
+    /**
+     * 置顶权重(越大越靠前)
+     */
+    private Integer stickyWeight;
+
+    /**
+     * 状态(0禁用,1启用)
+     */
+    private Integer status;
+
+    /**
+     * 逻辑删除(0正常,1删除)
+     */
+    private Boolean isDeleted;
+
+    /**
+     * 创建者ID
+     */
+    private String createBy;
+
+    /**
+     * 最后修改者ID
+     */
+    private String updateBy;
+
+    /**
+     * 收藏量
+     */
+    private Integer collectCount;
+
+    /**
+     * 点赞量
+     */
+    private Integer likeCount;
+
+    /**
+     * 评论量
+     */
+    private Integer commentCount;
+
+    /**
+     * 分享量
+     */
+    private Integer shareCount;
+
+
+}
diff --git a/src/main/java/com/mzl/flower/dto/request/filmwork/FilmWorksQueryDTO.java b/src/main/java/com/mzl/flower/dto/request/filmwork/FilmWorksQueryDTO.java
new file mode 100644
index 0000000..a688f7a
--- /dev/null
+++ b/src/main/java/com/mzl/flower/dto/request/filmwork/FilmWorksQueryDTO.java
@@ -0,0 +1,10 @@
+package com.mzl.flower.dto.request.filmwork;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class FilmWorksQueryDTO {
+    @ApiModelProperty(value = "会员等级名称")
+    private String name;
+}
diff --git a/src/main/java/com/mzl/flower/dto/response/filmwork/FilmLocationVO.java b/src/main/java/com/mzl/flower/dto/response/filmwork/FilmLocationVO.java
new file mode 100644
index 0000000..806e919
--- /dev/null
+++ b/src/main/java/com/mzl/flower/dto/response/filmwork/FilmLocationVO.java
@@ -0,0 +1,65 @@
+package com.mzl.flower.dto.response.filmwork;
+
+import com.mzl.flower.base.AbstractTransDTO;
+import com.mzl.flower.base.annotation.DictTrans;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@Data
+public class FilmLocationVO extends AbstractTransDTO {
+    private Long id;
+
+    @ApiModelProperty("会员等级名称")
+    private String name;
+
+    @ApiModelProperty("成长点-区间-开始")
+    private int startPoint;
+
+    @ApiModelProperty("成长点-区间-结束")
+    private int endPoint;
+
+    @ApiModelProperty("会员折扣类型(百分比、固定金额)")
+    @DictTrans(target = "discountTypeStr", codeType = "DISCOUNT_TYPE")
+    private String discountType;
+
+    private String discountTypeStr;
+
+    @ApiModelProperty("会员折扣百分比")
+    private BigDecimal discountRatio;
+
+    @ApiModelProperty("会员折扣固定金额")
+    private BigDecimal discountAmount;
+
+    @ApiModelProperty("消费金额(元)")
+    private int consumptionAmount;
+
+    @ApiModelProperty("已消费产生的成长值")
+    private int growthValue;
+
+    @ApiModelProperty("未消费产生的下降值")
+    private int downgradeValue;
+
+    @ApiModelProperty("创建日期")
+    private LocalDateTime createTime;
+
+    @ApiModelProperty("修改日期")
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty("操作人")
+    private String createName;
+
+    @ApiModelProperty("背景")
+    private String background;
+
+    @ApiModelProperty("图片")
+    private String pictures;
+
+    @ApiModelProperty(value = "会员成长值获取规则")
+    private String growthValueDesc;
+
+    @ApiModelProperty("更新人")
+    private String updateBy;
+}
diff --git a/src/main/java/com/mzl/flower/dto/response/filmwork/FilmWorksVO.java b/src/main/java/com/mzl/flower/dto/response/filmwork/FilmWorksVO.java
new file mode 100644
index 0000000..4b8122f
--- /dev/null
+++ b/src/main/java/com/mzl/flower/dto/response/filmwork/FilmWorksVO.java
@@ -0,0 +1,114 @@
+package com.mzl.flower.dto.response.filmwork;
+
+import com.mzl.flower.base.AbstractTransDTO;
+import com.mzl.flower.base.annotation.DictTrans;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@Data
+public class FilmWorksVO extends AbstractTransDTO {
+    private Long id;
+
+    /**
+     * 中文名称
+     */
+    private String nameCn;
+
+    /**
+     * 英文名称
+     */
+    private String nameEn;
+
+    /**
+     * 作品类型
+     */
+    private String type;
+
+    /**
+     * 上映年份
+     */
+    private String releaseYear;
+
+    /**
+     * 导演(多个用逗号分隔)
+     */
+    private String director;
+
+    /**
+     * 制片方
+     */
+    private String producer;
+
+    /**
+     * 主要演员(多个用逗号分隔)
+     */
+    private String actors;
+
+    /**
+     * 剧情关键词(用逗号分隔)
+     */
+    private String keywords;
+
+    /**
+     * 剧情简介
+     */
+    private String synopsis;
+
+    /**
+     * 封面图片URL
+     */
+    private String coverUrl;
+
+    /**
+     * 封面图片描述文本
+     */
+    private String coverAlt;
+
+    /**
+     * 创建者用户类型
+     */
+    private String userType;
+
+    /**
+     * 置顶权重(越大越靠前)
+     */
+    private Integer stickyWeight;
+
+    /**
+     * 状态(0禁用,1启用)
+     */
+    private Integer status;
+
+    /**
+     * 创建者ID
+     */
+    private String createBy;
+
+    /**
+     * 最后修改者ID
+     */
+    private String updateBy;
+
+    /**
+     * 收藏量
+     */
+    private Integer collectCount;
+
+    /**
+     * 点赞量
+     */
+    private Integer likeCount;
+
+    /**
+     * 评论量
+     */
+    private Integer commentCount;
+
+    /**
+     * 分享量
+     */
+    private Integer shareCount;
+}
diff --git a/src/main/java/com/mzl/flower/entity/film/FilmLocation.java b/src/main/java/com/mzl/flower/entity/film/FilmLocation.java
new file mode 100644
index 0000000..8a4545b
--- /dev/null
+++ b/src/main/java/com/mzl/flower/entity/film/FilmLocation.java
@@ -0,0 +1,122 @@
+package com.mzl.flower.entity.film;
+
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.time.LocalDate;
+
+import com.mzl.flower.base.BaseAutoEntity;
+import com.mzl.flower.base.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * 影视拍摄场地信息表
+ *
+ * @author generator@Fang
+ * @since 2025-05-20
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@TableName("film_location")
+public class FilmLocation extends BaseAutoEntity {
+
+
+    /**
+     * 关联的影视作品ID
+     */
+    private Integer filmId;
+
+    /**
+     * 拍摄地点名称
+     */
+    private String locationName;
+
+    /**
+     * 详细地址
+     */
+    private String address;
+
+    /**
+     * 纬度坐标(精确到小数点后6位)
+     */
+    private BigDecimal gpsLat;
+
+    /**
+     * 经度坐标(精确到小数点后6位)
+     */
+    private BigDecimal gpsLng;
+
+    /**
+     * 拍摄开始日期
+     */
+    private LocalDate startDate;
+
+    /**
+     * 拍摄结束日期
+     */
+    private LocalDate endDate;
+
+    /**
+     * 场景类型
+     */
+    private String sceneType;
+
+    /**
+     * 经典画面描述
+     */
+    private String classicScene;
+
+    /**
+     * 是否开放参观(0否,1是)
+     */
+    private Boolean isOpenVisit;
+
+    /**
+     * 参观提示(JSON格式存储)
+     */
+    private String visitInfo;
+
+    /**
+     * 地标性建筑描述
+     */
+    private String landmarkDesc;
+
+    /**
+     * 交通指引说明
+     */
+    private String transportGuide;
+
+    /**
+     * 停车场信息
+     */
+    private String parkingInfo;
+
+    /**
+     * 周边设施描述
+     */
+    private String surroundingFacilities;
+
+    /**
+     * AR实景对比功能入口URL
+     */
+    private String arEntry;
+
+    /**
+     * 状态(0禁用,1启用)
+     */
+    private Integer status;
+
+    /**
+     * 打卡记录量
+     */
+    private Integer checkinCount;
+
+    /**
+     * 游客实拍图(存储JSON数组)
+     */
+    private String visitorPhotos;
+
+
+}
diff --git a/src/main/java/com/mzl/flower/entity/film/FilmWorks.java b/src/main/java/com/mzl/flower/entity/film/FilmWorks.java
new file mode 100644
index 0000000..fdfc034
--- /dev/null
+++ b/src/main/java/com/mzl/flower/entity/film/FilmWorks.java
@@ -0,0 +1,121 @@
+package com.mzl.flower.entity.film;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.time.LocalDateTime;
+
+import com.mzl.flower.base.BaseAutoEntity;
+import lombok.Data;
+
+/**
+ * 影视作品信息表
+ *
+ * @author generator@Fang
+ * @since 2025-05-19
+ */
+@Data
+@TableName("film_works")
+public class FilmWorks extends BaseAutoEntity {
+
+
+    /**
+     * 中文名称
+     */
+    private String nameCn;
+
+    /**
+     * 英文名称
+     */
+    private String nameEn;
+
+    /**
+     * 作品类型
+     */
+    private String type;
+
+    /**
+     * 上映年份
+     */
+    private String releaseYear;
+
+    /**
+     * 导演(多个用逗号分隔)
+     */
+    private String director;
+
+    /**
+     * 制片方
+     */
+    private String producer;
+
+    /**
+     * 主要演员(多个用逗号分隔)
+     */
+    private String actors;
+
+    /**
+     * 剧情关键词(用逗号分隔)
+     */
+    private String keywords;
+
+    /**
+     * 剧情简介
+     */
+    private String synopsis;
+
+    /**
+     * 封面图片URL
+     */
+    private String coverUrl;
+
+    /**
+     * 封面图片描述文本
+     */
+    private String coverAlt;
+
+    /**
+     * 创建者用户类型
+     */
+    private String userType;
+
+    /**
+     * 置顶权重(越大越靠前)
+     */
+    private Integer stickyWeight;
+
+    /**
+     * 状态(0禁用,1启用)
+     */
+    private Integer status;
+
+    /**
+     * 创建者ID
+     */
+    private String createBy;
+
+    /**
+     * 最后修改者ID
+     */
+    private String updateBy;
+
+    /**
+     * 收藏量
+     */
+    private Integer collectCount;
+
+    /**
+     * 点赞量
+     */
+    private Integer likeCount;
+
+    /**
+     * 评论量
+     */
+    private Integer commentCount;
+
+    /**
+     * 分享量
+     */
+    private Integer shareCount;
+
+
+}
diff --git a/src/main/java/com/mzl/flower/mapper/filmwork/FilmLocationMapper.java b/src/main/java/com/mzl/flower/mapper/filmwork/FilmLocationMapper.java
new file mode 100644
index 0000000..1c2c08f
--- /dev/null
+++ b/src/main/java/com/mzl/flower/mapper/filmwork/FilmLocationMapper.java
@@ -0,0 +1,16 @@
+package com.mzl.flower.mapper.filmwork;
+
+import com.mzl.flower.entity.film.FilmLocation;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 影视拍摄场地信息表 Mapper 接口
+ * </p>
+ *
+ * @author generator@Fang
+ * @since 2025-05-20
+ */
+public interface FilmLocationMapper extends BaseMapper<FilmLocation> {
+
+}
diff --git a/src/main/java/com/mzl/flower/mapper/filmwork/FilmWorksMapper.java b/src/main/java/com/mzl/flower/mapper/filmwork/FilmWorksMapper.java
new file mode 100644
index 0000000..afbcf55
--- /dev/null
+++ b/src/main/java/com/mzl/flower/mapper/filmwork/FilmWorksMapper.java
@@ -0,0 +1,23 @@
+package com.mzl.flower.mapper.filmwork;
+
+import com.mzl.flower.dto.response.filmwork.FilmWorksVO;
+import com.mzl.flower.entity.film.FilmWorks;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 影视作品信息表 Mapper 接口
+ * </p>
+ *
+ * @author generator@Fang
+ * @since 2025-05-19
+ */
+public interface FilmWorksMapper extends BaseMapper<FilmWorks> {
+
+
+    @Select("select * from  film_works where deleted = '0' and user_type = 'admin'")
+    List<FilmWorksVO> getFilmWorksAll();
+}
diff --git a/src/main/java/com/mzl/flower/service/film/FilmLocationService.java b/src/main/java/com/mzl/flower/service/film/FilmLocationService.java
new file mode 100644
index 0000000..2f165d9
--- /dev/null
+++ b/src/main/java/com/mzl/flower/service/film/FilmLocationService.java
@@ -0,0 +1,27 @@
+package com.mzl.flower.service.film;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.mzl.flower.dto.request.filmwork.FilmLocationDTO;
+import com.mzl.flower.dto.request.filmwork.FilmLocationQueryDTO;
+import com.mzl.flower.dto.response.filmwork.FilmLocationVO;
+import com.mzl.flower.entity.film.FilmLocation;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 影视拍摄场地信息表 服务类
+ * </p>
+ *
+ * @author generator@Fang
+ * @since 2025-05-20
+ */
+public interface FilmLocationService extends IService<FilmLocation> {
+
+
+    void saveFilmLocation(FilmLocationDTO filmLocationDTO);
+
+    void updateFilmLocation(FilmLocationDTO filmLocationDTO);
+    void deleteFilmLocation(String id);
+
+    Page<FilmLocationVO> queryPage(FilmLocationQueryDTO filmLocationQueryDTO, Page page);
+}
diff --git a/src/main/java/com/mzl/flower/service/film/FilmWorksService.java b/src/main/java/com/mzl/flower/service/film/FilmWorksService.java
new file mode 100644
index 0000000..5113fa8
--- /dev/null
+++ b/src/main/java/com/mzl/flower/service/film/FilmWorksService.java
@@ -0,0 +1,30 @@
+package com.mzl.flower.service.film;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.mzl.flower.dto.request.filmwork.FilmWorksDTO;
+import com.mzl.flower.dto.request.filmwork.FilmWorksQueryDTO;
+import com.mzl.flower.dto.response.filmwork.FilmWorksVO;
+import com.mzl.flower.entity.film.FilmWorks;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 影视作品信息表 服务类
+ * </p>
+ *
+ * @author generator@Fang
+ * @since 2025-05-19
+ */
+public interface FilmWorksService extends IService<FilmWorks> {
+
+    void saveFilmWorks(FilmWorksDTO filmWorksDTO);
+
+    void updateFilmWorks(FilmWorksDTO filmWorksDTO);
+    void deleteFilmWorks(String id);
+
+    Page<FilmWorksVO> queryPage(FilmWorksQueryDTO filmWorksQueryDTO, Page page);
+
+    List<FilmWorksVO> getFilmWorksAll();
+}
diff --git a/src/main/java/com/mzl/flower/service/film/impl/FilmLocationServiceImpl.java b/src/main/java/com/mzl/flower/service/film/impl/FilmLocationServiceImpl.java
new file mode 100644
index 0000000..546e92b
--- /dev/null
+++ b/src/main/java/com/mzl/flower/service/film/impl/FilmLocationServiceImpl.java
@@ -0,0 +1,55 @@
+package com.mzl.flower.service.film.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.mzl.flower.dto.request.filmwork.FilmLocationDTO;
+import com.mzl.flower.dto.request.filmwork.FilmLocationQueryDTO;
+import com.mzl.flower.dto.response.filmwork.FilmLocationVO;
+import com.mzl.flower.entity.film.FilmLocation;
+import com.mzl.flower.entity.film.FilmWorks;
+import com.mzl.flower.mapper.filmwork.FilmLocationMapper;
+import com.mzl.flower.mapper.filmwork.FilmWorksMapper;
+import com.mzl.flower.service.film.FilmLocationService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * <p>
+ * 影视拍摄场地信息表 服务实现类
+ * </p>
+ *
+ * @author generator@Fang
+ * @since 2025-05-20
+ */
+@Service
+@Transactional
+@RequiredArgsConstructor
+public class FilmLocationServiceImpl extends ServiceImpl<FilmLocationMapper, FilmLocation> implements FilmLocationService {
+
+    private final FilmLocationMapper filmLocationMapper;
+    @Override
+    public void saveFilmLocation(FilmLocationDTO filmLocationDTO) {
+        //  转换
+        FilmLocation filmLocation = new FilmLocation();
+        BeanUtils.copyProperties(filmLocationDTO, filmLocation);
+        filmLocation.create();
+        filmLocationMapper.insert(filmLocation);
+    }
+
+    @Override
+    public void updateFilmLocation(FilmLocationDTO filmLocationDTO) {
+
+    }
+
+    @Override
+    public void deleteFilmLocation(String id) {
+
+    }
+
+    @Override
+    public Page<FilmLocationVO> queryPage(FilmLocationQueryDTO filmLocationQueryDTO, Page page) {
+        return null;
+    }
+}
diff --git a/src/main/java/com/mzl/flower/service/film/impl/FilmWorksServiceImpl.java b/src/main/java/com/mzl/flower/service/film/impl/FilmWorksServiceImpl.java
new file mode 100644
index 0000000..10d204b
--- /dev/null
+++ b/src/main/java/com/mzl/flower/service/film/impl/FilmWorksServiceImpl.java
@@ -0,0 +1,61 @@
+package com.mzl.flower.service.film.impl;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.mzl.flower.dto.request.filmwork.FilmWorksDTO;
+import com.mzl.flower.dto.request.filmwork.FilmWorksQueryDTO;
+import com.mzl.flower.dto.response.filmwork.FilmWorksVO;
+import com.mzl.flower.entity.film.FilmWorks;
+import com.mzl.flower.mapper.filmwork.FilmWorksMapper;
+import com.mzl.flower.service.film.FilmWorksService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 影视作品信息表 服务实现类
+ * </p>
+ *
+ * @author generator@Fang
+ * @since 2025-05-19
+ */
+@Service
+@Transactional
+@RequiredArgsConstructor
+public class FilmWorksServiceImpl extends ServiceImpl<FilmWorksMapper, FilmWorks> implements FilmWorksService {
+
+    private final FilmWorksMapper filmWorksMapper;
+
+    @Override
+    public void saveFilmWorks(FilmWorksDTO filmWorksDTO) {
+        //  转换
+        FilmWorks filmWorks = new FilmWorks();
+        BeanUtils.copyProperties(filmWorksDTO, filmWorks);
+        filmWorks.create();
+        filmWorksMapper.insert(filmWorks);
+    }
+
+    @Override
+    public void updateFilmWorks(FilmWorksDTO filmWorksDTO) {
+
+    }
+
+    @Override
+    public void deleteFilmWorks(String id) {
+
+    }
+
+    @Override
+    public Page<FilmWorksVO> queryPage(FilmWorksQueryDTO filmWorksQueryDTO, Page page) {
+        return null;
+    }
+
+    @Override
+    public List<FilmWorksVO> getFilmWorksAll() {
+        return filmWorksMapper.getFilmWorksAll();
+    }
+}
diff --git a/src/main/java/com/mzl/flower/web/film/FilmLocationController.java b/src/main/java/com/mzl/flower/web/film/FilmLocationController.java
new file mode 100644
index 0000000..0de8e0f
--- /dev/null
+++ b/src/main/java/com/mzl/flower/web/film/FilmLocationController.java
@@ -0,0 +1,62 @@
+package com.mzl.flower.web.film;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.mzl.flower.base.BaseController;
+import com.mzl.flower.base.R;
+import com.mzl.flower.base.ReturnDataDTO;
+import com.mzl.flower.dto.request.filmwork.FilmLocationDTO;
+import com.mzl.flower.dto.request.filmwork.FilmLocationQueryDTO;
+import com.mzl.flower.dto.response.filmwork.FilmLocationVO;
+import com.mzl.flower.service.film.FilmLocationService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * 影视拍摄场地信息表前端控制器
+ *
+* @author generator@Fang
+* @since 2025-05-20
+*/
+@Api(value = "影视拍摄场地信息管理", tags = "影视拍摄场地信息管理")
+@RestController
+@RequestMapping("/api")
+@RequiredArgsConstructor
+public class FilmLocationController  extends BaseController {
+
+
+    private final FilmLocationService filmLocationService;
+
+    @GetMapping("/filmLocation/list")
+    @ApiOperation(value = "影视作品列表", httpMethod = "GET")
+    public ResponseEntity<ReturnDataDTO<Page<FilmLocationVO>>> getFilmLocationList(Page page, FilmLocationQueryDTO dto) {
+        return returnData(R.SUCCESS.getCode(), filmLocationService.queryPage(dto, page));
+    }
+
+    @GetMapping(value = "/filmLocation/delete")
+    @ApiOperation(value = "删除影视作品 ", httpMethod = "GET", notes = "ID")
+    public ResponseEntity delete(@NotNull(message = "id不能为空") Long id) {
+        filmLocationService.deleteFilmLocation(String.valueOf(id));
+        return returnData(R.SUCCESS.getCode(), null);
+    }
+
+    @PostMapping(value = "/filmLocation/new")
+    @ApiOperation(value = "保存影视作品", httpMethod = "POST")
+    public ResponseEntity insert(@RequestBody FilmLocationDTO filmLocationDTO) {
+        filmLocationService.saveFilmLocation(filmLocationDTO);
+        return returnData(R.SUCCESS.getCode(), null);
+    }
+
+    @PostMapping(value = "/filmLocation/edit")
+    @ApiOperation(value = "更新影视作品", httpMethod = "POST")
+    public ResponseEntity update(@RequestBody FilmLocationDTO filmLocationDTO) {
+        filmLocationService.updateFilmLocation(filmLocationDTO);
+        return returnData(R.SUCCESS.getCode(), null);
+    }
+
+}
diff --git a/src/main/java/com/mzl/flower/web/film/FilmWorksController.java b/src/main/java/com/mzl/flower/web/film/FilmWorksController.java
new file mode 100644
index 0000000..7eeb3a3
--- /dev/null
+++ b/src/main/java/com/mzl/flower/web/film/FilmWorksController.java
@@ -0,0 +1,70 @@
+package com.mzl.flower.web.film;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.mzl.flower.base.BaseController;
+import com.mzl.flower.base.R;
+import com.mzl.flower.base.ReturnDataDTO;
+import com.mzl.flower.dto.request.filmwork.FilmWorksDTO;
+import com.mzl.flower.dto.request.filmwork.FilmWorksQueryDTO;
+import com.mzl.flower.dto.response.filmwork.FilmWorksVO;
+import com.mzl.flower.service.film.FilmWorksService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @author fanghaowei
+ * @version version2.0
+ * @className FilmWorksController
+ * @date 2024/8/26
+ * @description 影视作品信息
+ */
+@Api(value = "影视作品信息管理", tags = "影视作品信息管理")
+@RestController
+@RequestMapping("/api")
+@RequiredArgsConstructor
+public class FilmWorksController extends BaseController {
+
+    private final FilmWorksService filmWorksService;
+
+    @GetMapping("/filmWorks/all")
+    @ApiOperation(value = "影视作品列表", httpMethod = "GET")
+    public ResponseEntity<ReturnDataDTO<List<FilmWorksVO>>> getFilmWorksAll() {
+        return returnData(R.SUCCESS.getCode(), filmWorksService.getFilmWorksAll());
+    }
+
+    @GetMapping("/filmWorks/list")
+    @ApiOperation(value = "影视作品列表", httpMethod = "GET")
+    public ResponseEntity<ReturnDataDTO<Page<FilmWorksVO>>> getFilmWorksList(Page page, FilmWorksQueryDTO dto) {
+        return returnData(R.SUCCESS.getCode(), filmWorksService.queryPage(dto, page));
+    }
+
+
+    @GetMapping(value = "/filmWorks/delete")
+    @ApiOperation(value = "删除影视作品 ", httpMethod = "GET", notes = "ID")
+    public ResponseEntity delete(@NotNull(message = "id不能为空") Long id) {
+        filmWorksService.deleteFilmWorks(String.valueOf(id));
+        return returnData(R.SUCCESS.getCode(), null);
+    }
+
+    @PostMapping(value = "/filmWorks/new")
+    @ApiOperation(value = "保存影视作品", httpMethod = "POST")
+    public ResponseEntity insert(@RequestBody FilmWorksDTO filmWorksDTO) {
+        filmWorksService.saveFilmWorks(filmWorksDTO);
+        return returnData(R.SUCCESS.getCode(), null);
+    }
+
+    @PostMapping(value = "/filmWorks/edit")
+    @ApiOperation(value = "更新影视作品", httpMethod = "POST")
+    public ResponseEntity update(@RequestBody FilmWorksDTO filmWorksDTO) {
+        filmWorksService.updateFilmWorks(filmWorksDTO);
+        return returnData(R.SUCCESS.getCode(), null);
+    }
+
+}
+
diff --git a/src/main/resources/mapper/film/FilmLocationMapper.xml b/src/main/resources/mapper/film/FilmLocationMapper.xml
new file mode 100644
index 0000000..dea9f98
--- /dev/null
+++ b/src/main/resources/mapper/film/FilmLocationMapper.xml
@@ -0,0 +1,34 @@
+<?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="com.mzl.flower.mapper.filmwork.FilmLocationMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.mzl.flower.entity.film.FilmLocation">
+        <id column="id" property="id" />
+        <result column="create_time" property="createTime" />
+        <result column="update_time" property="updateTime" />
+        <result column="film_id" property="filmId" />
+        <result column="location_name" property="locationName" />
+        <result column="address" property="address" />
+        <result column="gps_lat" property="gpsLat" />
+        <result column="gps_lng" property="gpsLng" />
+        <result column="start_date" property="startDate" />
+        <result column="end_date" property="endDate" />
+        <result column="scene_type" property="sceneType" />
+        <result column="classic_scene" property="classicScene" />
+        <result column="is_open_visit" property="isOpenVisit" />
+        <result column="visit_info" property="visitInfo" />
+        <result column="landmark_desc" property="landmarkDesc" />
+        <result column="transport_guide" property="transportGuide" />
+        <result column="parking_info" property="parkingInfo" />
+        <result column="surrounding_facilities" property="surroundingFacilities" />
+        <result column="ar_entry" property="arEntry" />
+        <result column="status" property="status" />
+        <result column="deleted" property="deleted" />
+        <result column="create_by" property="createBy" />
+        <result column="update_by" property="updateBy" />
+        <result column="checkin_count" property="checkinCount" />
+        <result column="visitor_photos" property="visitorPhotos" />
+    </resultMap>
+
+</mapper>
diff --git a/src/main/resources/mapper/film/FilmWorksMapper.xml b/src/main/resources/mapper/film/FilmWorksMapper.xml
new file mode 100644
index 0000000..c9a6ab9
--- /dev/null
+++ b/src/main/resources/mapper/film/FilmWorksMapper.xml
@@ -0,0 +1,33 @@
+<?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="com.mzl.flower.mapper.filmwork.FilmWorksMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.mzl.flower.entity.film.FilmWorks">
+        <id column="id" property="id" />
+        <result column="create_time" property="createTime" />
+        <result column="update_time" property="updateTime" />
+        <result column="name_cn" property="nameCn" />
+        <result column="name_en" property="nameEn" />
+        <result column="type" property="type" />
+        <result column="release_year" property="releaseYear" />
+        <result column="director" property="director" />
+        <result column="producer" property="producer" />
+        <result column="actors" property="actors" />
+        <result column="keywords" property="keywords" />
+        <result column="synopsis" property="synopsis" />
+        <result column="cover_url" property="coverUrl" />
+        <result column="cover_alt" property="coverAlt" />
+        <result column="user_type" property="userType" />
+        <result column="sticky_weight" property="stickyWeight" />
+        <result column="status" property="status" />
+        <result column="deleted" property="deleted" />
+        <result column="create_by" property="createBy" />
+        <result column="update_by" property="updateBy" />
+        <result column="collect_count" property="collectCount" />
+        <result column="like_count" property="likeCount" />
+        <result column="comment_count" property="commentCount" />
+        <result column="share_count" property="shareCount" />
+    </resultMap>
+
+</mapper>

--
Gitblit v1.9.3