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