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