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