From 6392e2a39c07d13066a115e294a87a8cce1cb11e Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期二, 29 七月 2025 16:49:04 +0800
Subject: [PATCH] add:
---
src/main/resources/mapper/film/FilmCollectsMapper.xml | 25 ++++++++
src/main/java/com/mzl/flower/dto/request/film/FilmLocationDTO.java | 2
src/main/java/com/mzl/flower/entity/film/FilmLocation.java | 3 +
src/main/java/com/mzl/flower/service/film/impl/FilmLocationServiceImpl.java | 2
src/main/java/com/mzl/flower/service/film/impl/FilmWorksServiceImpl.java | 32 ++++++----
src/main/java/com/mzl/flower/web/film/FilmWorksController.java | 12 ++++
src/main/java/com/mzl/flower/constant/Constants.java | 2
src/main/java/com/mzl/flower/service/customer/CustomerService.java | 4 +
src/main/java/com/mzl/flower/dto/response/film/FilmLocationVO.java | 2
src/main/resources/mapper/film/FilmWorksMapper.xml | 53 +++++++++++++++++
src/main/java/com/mzl/flower/service/film/impl/FilmCollectsServiceImpl.java | 8 ++
src/main/java/com/mzl/flower/mapper/film/FilmWorksMapper.java | 4 +
src/main/java/com/mzl/flower/service/film/FilmWorksService.java | 2
src/main/java/com/mzl/flower/mapper/film/FilmCollectsMapper.java | 6 ++
14 files changed, 138 insertions(+), 19 deletions(-)
diff --git a/src/main/java/com/mzl/flower/constant/Constants.java b/src/main/java/com/mzl/flower/constant/Constants.java
index f700953..beb7f8d 100644
--- a/src/main/java/com/mzl/flower/constant/Constants.java
+++ b/src/main/java/com/mzl/flower/constant/Constants.java
@@ -811,6 +811,4 @@
-
-
}
diff --git a/src/main/java/com/mzl/flower/dto/request/film/FilmLocationDTO.java b/src/main/java/com/mzl/flower/dto/request/film/FilmLocationDTO.java
index 7f567d7..9946f00 100644
--- a/src/main/java/com/mzl/flower/dto/request/film/FilmLocationDTO.java
+++ b/src/main/java/com/mzl/flower/dto/request/film/FilmLocationDTO.java
@@ -143,4 +143,6 @@
*/
private String updateBy;
+ private String continent;
+
}
diff --git a/src/main/java/com/mzl/flower/dto/response/film/FilmLocationVO.java b/src/main/java/com/mzl/flower/dto/response/film/FilmLocationVO.java
index 3834ad0..e17aee7 100644
--- a/src/main/java/com/mzl/flower/dto/response/film/FilmLocationVO.java
+++ b/src/main/java/com/mzl/flower/dto/response/film/FilmLocationVO.java
@@ -143,4 +143,6 @@
*/
private Integer operationWeight;
+ private String continent;
+
}
diff --git a/src/main/java/com/mzl/flower/entity/film/FilmLocation.java b/src/main/java/com/mzl/flower/entity/film/FilmLocation.java
index 1b7c8a6..3cd3e7d 100644
--- a/src/main/java/com/mzl/flower/entity/film/FilmLocation.java
+++ b/src/main/java/com/mzl/flower/entity/film/FilmLocation.java
@@ -149,4 +149,7 @@
*/
private Integer operationWeight;
+
+ private String continent;
+
}
diff --git a/src/main/java/com/mzl/flower/mapper/film/FilmCollectsMapper.java b/src/main/java/com/mzl/flower/mapper/film/FilmCollectsMapper.java
index a1e32e9..bce905f 100644
--- a/src/main/java/com/mzl/flower/mapper/film/FilmCollectsMapper.java
+++ b/src/main/java/com/mzl/flower/mapper/film/FilmCollectsMapper.java
@@ -1,6 +1,9 @@
package com.mzl.flower.mapper.film;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.mzl.flower.dto.request.film.FilmCollectsQueryDTO;
+import com.mzl.flower.dto.response.film.FilmCollectsVO;
import com.mzl.flower.entity.film.FilmCollects;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@@ -8,6 +11,7 @@
import org.springframework.stereotype.Repository;
import java.time.LocalDate;
+import java.util.List;
/**
* <p>
@@ -30,4 +34,6 @@
@Select("SELECT COUNT(*) FROM film_collects WHERE film_id = #{filmId} AND DATE(create_time) = #{date} and deleted = '0' ")
int countByFilmIdAndDate(Long id, LocalDate yesterday);
+
+ List<FilmCollectsVO> queryPage(@Param("dto")FilmCollectsQueryDTO dto, Page page);
}
diff --git a/src/main/java/com/mzl/flower/mapper/film/FilmWorksMapper.java b/src/main/java/com/mzl/flower/mapper/film/FilmWorksMapper.java
index 3aeff4b..7527f89 100644
--- a/src/main/java/com/mzl/flower/mapper/film/FilmWorksMapper.java
+++ b/src/main/java/com/mzl/flower/mapper/film/FilmWorksMapper.java
@@ -50,4 +50,8 @@
@Select("select * from film_works where deleted = '0' and name_cn = #{nameCn} and type = #{type} and release_year = #{releaseYear} limit 1")
FilmWorks getFilmWorksByName(@Param("nameCn") String nameCn, @Param("type")String type, @Param("releaseYear") String releaseYear);
+
+ List<FilmWorksVO> getFilmWorksCollectList(@Param("dto")FilmWorksQueryDTO dto, Page page);
+
+ List<FilmWorksVO> getFilmWorksLikeList(@Param("dto")FilmWorksQueryDTO dto, Page page);
}
diff --git a/src/main/java/com/mzl/flower/service/customer/CustomerService.java b/src/main/java/com/mzl/flower/service/customer/CustomerService.java
index 91f59f1..5f42395 100644
--- a/src/main/java/com/mzl/flower/service/customer/CustomerService.java
+++ b/src/main/java/com/mzl/flower/service/customer/CustomerService.java
@@ -99,6 +99,8 @@
customerMapper.insert(customer);
} else {//重新修改
customer = customerMapper.selectById(dto.getId());
+ String tempUserId = customer.getUserId();
+ Boolean tempIsMember = customer.getIsMember();
if (customer == null) {
throw new ValidationException("商户信息不存在");
}
@@ -110,6 +112,8 @@
customer.setPartnerId(byPartnerId.getId());
}
customer.update(SecurityUtils.getUserId());
+ customer.setIsMember(tempIsMember);
+ customer.setUserId(tempUserId);
customerMapper.updateById(customer);
}
diff --git a/src/main/java/com/mzl/flower/service/film/FilmWorksService.java b/src/main/java/com/mzl/flower/service/film/FilmWorksService.java
index 5a159b1..af79e26 100644
--- a/src/main/java/com/mzl/flower/service/film/FilmWorksService.java
+++ b/src/main/java/com/mzl/flower/service/film/FilmWorksService.java
@@ -26,6 +26,8 @@
void deleteFilmWorks(String id);
Page<FilmWorksVO> queryPage(FilmWorksQueryDTO filmWorksQueryDTO, Page page);
+ Page<FilmWorksVO> getFilmWorksCollectList(FilmWorksQueryDTO filmWorksQueryDTO, Page page);
+ Page<FilmWorksVO> getFilmWorksLikeList(FilmWorksQueryDTO filmWorksQueryDTO, Page page);
List<FilmWorksVO> getFilmWorksAll();
diff --git a/src/main/java/com/mzl/flower/service/film/impl/FilmCollectsServiceImpl.java b/src/main/java/com/mzl/flower/service/film/impl/FilmCollectsServiceImpl.java
index 5b66fb0..44587ea 100644
--- a/src/main/java/com/mzl/flower/service/film/impl/FilmCollectsServiceImpl.java
+++ b/src/main/java/com/mzl/flower/service/film/impl/FilmCollectsServiceImpl.java
@@ -7,6 +7,7 @@
import com.mzl.flower.dto.request.film.FilmCollectsDTO;
import com.mzl.flower.dto.request.film.FilmCollectsQueryDTO;
import com.mzl.flower.dto.response.film.FilmCollectsVO;
+import com.mzl.flower.dto.response.film.FilmLocationVO;
import com.mzl.flower.entity.film.FilmCollects;
import com.mzl.flower.mapper.film.FilmCollectsMapper;
import com.mzl.flower.service.film.FilmCollectsService;
@@ -14,6 +15,7 @@
import javax.annotation.Resource;
import java.time.LocalDateTime;
+import java.util.List;
/**
* <p>
@@ -77,7 +79,9 @@
}
@Override
- public Page<FilmCollectsVO> queryPage(FilmCollectsQueryDTO filmCollectsQueryDTO, Page page) {
- return null;
+ public Page<FilmCollectsVO> queryPage(FilmCollectsQueryDTO dto, Page page) {
+ List<FilmCollectsVO> list = filmCollectsMapper.queryPage(dto, page);
+ page.setRecords(list);
+ return page;
}
}
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
index 507a3d3..49a67a5 100644
--- a/src/main/java/com/mzl/flower/service/film/impl/FilmLocationServiceImpl.java
+++ b/src/main/java/com/mzl/flower/service/film/impl/FilmLocationServiceImpl.java
@@ -110,10 +110,10 @@
@Override
public Page<FilmLocationVO> queryPage(FilmLocationQueryDTO dto, Page page) {
-
List<FilmLocationVO> list = filmLocationMapper.queryPage(dto, page);
page.setRecords(list);
return page;
+
}
@Override
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
index f777319..881e5eb 100644
--- a/src/main/java/com/mzl/flower/service/film/impl/FilmWorksServiceImpl.java
+++ b/src/main/java/com/mzl/flower/service/film/impl/FilmWorksServiceImpl.java
@@ -143,21 +143,25 @@
dto.setUserId(null);
}
List<FilmWorksVO> list = filmWorksMapper.queryPage(dto,page);
- // 测试前端展示用代码,部署发布不适用
-// list.forEach(l->{
-// if (l.getCoverUrl().contains("doubanio")) {
-// String encodedUrl = null;
-// try {
-// encodedUrl = URLEncoder.encode(l.getCoverUrl(), String.valueOf(StandardCharsets.UTF_8));
-// } catch (UnsupportedEncodingException e) {
-// throw new RuntimeException(e);
-// }
-// l.setCoverUrl("https://images.weserv.nl/?url=" + encodedUrl);
-// }
-// });
page.setRecords(list);
+ return page;
+ }
+
+ @Override
+ public Page<FilmWorksVO> getFilmWorksCollectList(FilmWorksQueryDTO dto, Page page) {
+ dto.setUserId(SecurityUtils.getUserId());
+ List<FilmWorksVO> list = filmWorksMapper.getFilmWorksCollectList(dto, page);
+ page.setRecords(list);
+ return page;
+ }
+
+ @Override
+ public Page<FilmWorksVO> getFilmWorksLikeList(FilmWorksQueryDTO dto, Page page) {
+ dto.setUserId(SecurityUtils.getUserId());
+ List<FilmWorksVO> list = filmWorksMapper.getFilmWorksLikeList(dto, page);
+ page.setRecords(list);
return page;
}
@@ -215,10 +219,10 @@
if (filmWork == null) {
throw new ValidationException("找不到id为" + id + "的作品");
}
- if (Constants.COMMON_PUBLISH_STATUS.pending_create.name().equals(filmWork.getStatus()) || Constants.COMMON_PUBLISH_STATUS.create_cancel.name().equals(filmWork.getStatus()) || Constants.COMMON_PUBLISH_STATUS.create_failed.name().equals(filmWork.getStatus())) {
+ if (Constants.COMMON_PUBLISH_STATUS.pending_create.name().equals(filmWork.getStatus()) || Constants.COMMON_PUBLISH_STATUS.create_cancel.name().equals(filmWork.getStatus()) || Constants.COMMON_PUBLISH_STATUS.rejected.name().equals(filmWork.getStatus()) || Constants.COMMON_PUBLISH_STATUS.create_failed.name().equals(filmWork.getStatus())) {
if (Constants.COMMON_PUBLISH_STATUS.create_cancel.name().equals(filmWork.getStatus())) {
filmWork.setStatus(Constants.COMMON_PUBLISH_STATUS.pending_create.name());
- } else if (Constants.COMMON_PUBLISH_STATUS.create_failed.name().equals(filmWork.getStatus())) {
+ } else if (Constants.COMMON_PUBLISH_STATUS.create_failed.name().equals(filmWork.getStatus()) || Constants.COMMON_PUBLISH_STATUS.rejected.name().equals(filmWork.getStatus()) ) {
filmWork.setStatus(Constants.COMMON_PUBLISH_STATUS.pending_create.name());
} else {
filmWork.setStatus(Constants.COMMON_PUBLISH_STATUS.create_cancel.name());
diff --git a/src/main/java/com/mzl/flower/web/film/FilmWorksController.java b/src/main/java/com/mzl/flower/web/film/FilmWorksController.java
index 39235b4..5449ce4 100644
--- a/src/main/java/com/mzl/flower/web/film/FilmWorksController.java
+++ b/src/main/java/com/mzl/flower/web/film/FilmWorksController.java
@@ -52,6 +52,18 @@
return returnData(R.SUCCESS.getCode(), filmWorksService.queryPage(dto, page));
}
+ @GetMapping("/filmWorks/collect/list")
+ @ApiOperation(value = "个人影视作品收藏列表", httpMethod = "GET")
+ public ResponseEntity<ReturnDataDTO<Page<FilmWorksVO>>> getFilmWorksCollectList(Page page, FilmWorksQueryDTO dto) {
+ return returnData(R.SUCCESS.getCode(), filmWorksService.getFilmWorksCollectList(dto, page));
+ }
+
+ @GetMapping("/filmWorks/like/list")
+ @ApiOperation(value = "个人影视作品点赞列表", httpMethod = "GET")
+ public ResponseEntity<ReturnDataDTO<Page<FilmWorksVO>>> getFilmWorksLikeList(Page page, FilmWorksQueryDTO dto) {
+ return returnData(R.SUCCESS.getCode(), filmWorksService.getFilmWorksLikeList(dto, page));
+ }
+
@GetMapping(value = "/filmWorks/delete")
@ApiOperation(value = "删除影视作品 ", httpMethod = "GET", notes = "ID")
diff --git a/src/main/resources/mapper/film/FilmCollectsMapper.xml b/src/main/resources/mapper/film/FilmCollectsMapper.xml
index bd18a86..5a133ca 100644
--- a/src/main/resources/mapper/film/FilmCollectsMapper.xml
+++ b/src/main/resources/mapper/film/FilmCollectsMapper.xml
@@ -2,4 +2,29 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mzl.flower.mapper.film.FilmCollectsMapper">
+ <select id="queryPage" resultType="com.mzl.flower.dto.response.film.FilmCollectsVO">
+ SELECT
+ t.*
+ FROM
+ film_location t
+ WHERE
+ t.deleted = 0
+ <if test="dto.locationName != null and dto.locationName != ''">
+ AND t.location_name LIKE concat('%', #{dto.locationName},'%')
+ </if>
+ <if test="dto.province != null and dto.province != ''">
+ AND t.province LIKE concat('%', #{dto.province},'%')
+ </if>
+ <if test="dto.city != null and dto.city != ''">
+ AND t.city LIKE concat('%', #{dto.city},'%')
+ </if>
+ <if test="dto.region != null and dto.region != ''">
+ AND t.region LIKE concat('%', #{dto.region},'%')
+ </if>
+ <if test="dto.isEnabled!=null">
+ AND t.is_enabled = #{dto.isEnabled}
+ </if>
+ ORDER BY
+ t.location_weight DESC
+ </select>
</mapper>
diff --git a/src/main/resources/mapper/film/FilmWorksMapper.xml b/src/main/resources/mapper/film/FilmWorksMapper.xml
index fdcdac5..f77600e 100644
--- a/src/main/resources/mapper/film/FilmWorksMapper.xml
+++ b/src/main/resources/mapper/film/FilmWorksMapper.xml
@@ -150,4 +150,57 @@
t.update_time DESC
</select>
+
+ <select id="getFilmWorksCollectList" resultType="com.mzl.flower.dto.response.film.FilmWorksVO">
+ SELECT fw.*,
+ c.name AS nickname,
+ c.cover AS avatar,
+ COALESCE(l.like_count, 0) AS vo_like_count
+ FROM film_works fw
+ JOIN (
+ SELECT DISTINCT film_id
+ FROM film_collects
+ WHERE 1=1
+ AND create_by = #{dto.userId} and status = '1'
+ ) fc ON fw.id = fc.film_id
+ LEFT JOIN
+ t_customer_info c
+ ON
+ fw.create_by = c.user_id
+ LEFT JOIN (
+ SELECT film_id, COUNT(*) AS like_count
+ FROM film_likes
+ WHERE status = 1
+ GROUP BY film_id
+ ) l ON fw.id = l.film_id
+ WHERE fw.deleted = '0'
+ AND fw.`status` = 'published'
+ </select>
+
+ <select id="getFilmWorksLikeList" resultType="com.mzl.flower.dto.response.film.FilmWorksVO">
+ SELECT fw.*,
+ c.name AS nickname,
+ c.cover AS avatar,
+ COALESCE(l.like_count, 0) AS vo_like_count
+ FROM film_works fw
+ JOIN (
+ SELECT DISTINCT film_id
+ FROM film_likes
+ WHERE 1=1
+ AND create_by = #{dto.userId} and status = '1'
+ ) fc ON fw.id = fc.film_id
+ LEFT JOIN
+ t_customer_info c
+ ON
+ fw.create_by = c.user_id
+ LEFT JOIN (
+ SELECT film_id, COUNT(*) AS like_count
+ FROM film_likes
+ WHERE status = 1
+ GROUP BY film_id
+ ) l ON fw.id = l.film_id
+ WHERE fw.deleted = '0'
+ AND fw.`status` = 'published'
+ </select>
+
</mapper>
--
Gitblit v1.9.3