Jelajahi Sumber

添加删除记录的接口

tianboguang 3 tahun lalu
induk
melakukan
263689e825

+ 13 - 0
src/main/java/com/fdage/followheartplay/controller/SceneController.java

@@ -37,6 +37,19 @@ public class SceneController {
     /**
      * 查询场景信息
      * @param token
+     * @param sceneIds 场景码集合
+     * @return
+     */
+    @PostMapping("/order/deletes")
+    public ResultData getOrders(@RequestHeader String token, String sceneIds){
+        String username = JwtUtil.getUsername(token);
+        sceneService.deleteBuyRecords("17324327132",sceneIds);
+        return ResultData.ok();
+    }
+
+    /**
+     * 查询场景信息
+     * @param token
      * @param sceneId
      * @return
      */

+ 10 - 0
src/main/java/com/fdage/followheartplay/entity/SceneEntity.java

@@ -18,6 +18,8 @@ public class SceneEntity extends BaseEntity{
     private String sceneCoverUrl;
     @Column(name = "scene_data")
     private String sceneData;
+    @Column(name = "scene_detail_url")
+    private String sceneDetailUrl;
 
     public Long getId() {
         return id;
@@ -49,4 +51,12 @@ public class SceneEntity extends BaseEntity{
     public void setSceneData(String sceneData) {
         this.sceneData = sceneData;
     }
+
+    public String getSceneDetailUrl() {
+        return sceneDetailUrl;
+    }
+
+    public void setSceneDetailUrl(String sceneDetailUrl) {
+        this.sceneDetailUrl = sceneDetailUrl;
+    }
 }

+ 10 - 1
src/main/java/com/fdage/followheartplay/repository/SceneBuyRecordRepository.java

@@ -1,11 +1,20 @@
 package com.fdage.followheartplay.repository;
 
 import com.fdage.followheartplay.entity.SceneBuyRecordEntity;
-import com.fdage.followheartplay.entity.SceneEntity;
 import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Modifying;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
 
 @Repository
 public interface SceneBuyRecordRepository extends JpaRepository<SceneBuyRecordEntity,Long> {
 
+    @Transactional
+    @Modifying
+    @Query(nativeQuery = true, value = "update scene_buy_record_entity sbr set sbr.tb_status = :tbStatus where sbr.user_name =:username and sbr.scene_id in (:sceneIds)")
+    void updateTbStatus(@Param("username") String username, @Param("sceneIds") List<Long> sceneIds, @Param("tbStatus") int tbStatus);
 }

+ 6 - 3
src/main/java/com/fdage/followheartplay/repository/SceneRepository.java

@@ -12,15 +12,18 @@ import java.util.List;
 @Repository
 public interface SceneRepository extends JpaRepository<SceneEntity,Long> {
 
-    @Query(nativeQuery = true, value = "select c.id,c.scene_name sceneName,scene_cover_url sceneCoverUrl,scene_data sceneData,bre.user_name userName from scene_entity c " +
+    @Query(nativeQuery = true, value = "select c.id,c.scene_name sceneName,scene_cover_url sceneCoverUrl,scene_data sceneData,bre.user_name userName," +
+            "scene_detail_url sceneDetailUrl from scene_entity c " +
             "left join scene_buy_record_entity bre on c.id = bre.scene_id and bre.user_name = :userName and bre.tb_status=0 where c.tb_status = 0")
     List<SceneDto> findAllBuyRecordByUserIdAndType(@Param("userName")String userName);
 
-    @Query(nativeQuery = true,value = "select c.id, c.scene_name sceneName, scene_cover_url sceneCoverUrl, scene_data sceneData,bre.user_name userName from scene_entity c" +
+    @Query(nativeQuery = true,value = "select c.id, c.scene_name sceneName, scene_cover_url sceneCoverUrl, scene_data sceneData,bre.user_name userName," +
+            "scene_detail_url sceneDetailUrl from scene_entity c" +
             " left join scene_buy_record_entity bre on c.id = bre.scene_id and bre.user_name = :userName and bre.tb_status=0 where bre.id is null and c.tb_status = 0")
     List<SceneDto> findAllUnBuyRecordByUserIdAndType(@Param("userName")String userName);
 
-    @Query(nativeQuery = true,value = "select c.id, c.scene_name sceneName, scene_cover_url sceneCoverUrl, scene_data sceneData,bre.user_name userName from scene_entity c" +
+    @Query(nativeQuery = true,value = "select c.id, c.scene_name sceneName, scene_cover_url sceneCoverUrl, scene_data sceneData,bre.user_name userName," +
+            " scene_detail_url sceneDetailUrl from scene_entity c" +
             " left join scene_buy_record_entity bre on c.id = bre.scene_id and bre.user_name = :userName and bre.tb_status=0 where bre.id is not null and c.tb_status = 0")
     List<SceneDto> findAllBuiedRecordByUserIdAndType(@Param("userName")String userName);
 }

+ 9 - 2
src/main/java/com/fdage/followheartplay/service/SceneService.java

@@ -2,16 +2,16 @@ package com.fdage.followheartplay.service;
 
 import com.fdage.followheartplay.dto.SceneDto;
 import com.fdage.followheartplay.entity.SceneBuyRecordEntity;
-import com.fdage.followheartplay.entity.SceneEntity;
 import com.fdage.followheartplay.repository.SceneBuyRecordRepository;
 import com.fdage.followheartplay.repository.SceneRepository;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
 
+import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
-import java.util.Optional;
+import java.util.stream.Collectors;
 
 @Service
 public class SceneService {
@@ -45,4 +45,11 @@ public class SceneService {
         entity.setTbStatus(0);
         repository.save(entity);
     }
+
+    public void deleteBuyRecords(String username, String sceneIds) {
+        if(ObjectUtils.isEmpty(sceneIds)){
+            return;
+        }
+        repository.updateTbStatus(username, Arrays.stream(sceneIds.split(",")).map(Long::valueOf).collect(Collectors.toList()), 1);
+    }
 }