瀏覽代碼

展示页添加音频列表

wuweihao 4 年之前
父節點
當前提交
e439e96d1c

+ 3 - 0
gis_domain/src/main/java/com/gis/domain/po/SceneAudioEntity.java

@@ -34,4 +34,7 @@ public class SceneAudioEntity extends BaseEntity implements Serializable {
     @ApiModelProperty(value = "音频原文件名")
     private String fileName;
 
+    @ApiModelProperty(value = "每个类型只有一个是显示的, 默认:0, 初始:1")
+    private String isIndex;
+
 }

+ 5 - 1
gis_mapper/src/main/java/com/gis/mapper/SceneAudioMapper.java

@@ -3,13 +3,17 @@ package com.gis.mapper;
 
 import com.gis.domain.po.SceneAudioEntity;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
+
 
 @Component
 @Mapper
 public interface SceneAudioMapper extends IBaseMapper<SceneAudioEntity, Long> {
 
 
-
+    @Select("select * from tb_scene_audio where rec_status = 'A' and is_index = 1 limit 3")
+    List<SceneAudioEntity> getAudioIndex();
 }

+ 4 - 0
gis_service/src/main/java/com/gis/service/IBaseService.java

@@ -36,6 +36,10 @@ public interface IBaseService<T, ID extends Serializable> {
 
     public abstract List<T> findAll();
 
+    public abstract List<T> findAll(String orderBy);
+
+    public abstract List<T> findAllDesc(String orderBy);
+
     public abstract PageInfo<T> findAll(int pageNum, int pageSize);
 
     public abstract PageInfo<T> findAll(int pageNum, int pageSize, String orderBy);

+ 4 - 0
gis_service/src/main/java/com/gis/service/SceneAudioService.java

@@ -19,4 +19,8 @@ public interface SceneAudioService extends IBaseService<SceneAudioEntity, Long>
     Result saveEntity(SceneAudioDto param);
 
     Result upload(MultipartFile file, String type);
+
+    Result getAudioIndex();
+
+    Result<SceneAudioEntity> webList();
 }

+ 16 - 0
gis_service/src/main/java/com/gis/service/impl/IBaseServiceImpl.java

@@ -68,6 +68,22 @@ public abstract class IBaseServiceImpl<T extends BaseEntity, ID extends Serializ
         return getBaseMapper().selectByCondition(condition);
     }
 
+    @Override
+    public List<T> findAllDesc(String orderBy){
+        Condition condition = new Condition(entityClass);
+        condition.createCriteria().andEqualTo("recStatus", "A");
+        condition.orderBy(orderBy).desc();
+        return getBaseMapper().selectByCondition(condition);
+    }
+
+    @Override
+    public List<T> findAll(String orderBy){
+        Condition condition = new Condition(entityClass);
+        condition.createCriteria().andEqualTo("recStatus", "A");
+        condition.orderBy(orderBy);
+        return getBaseMapper().selectByCondition(condition);
+    }
+
     /**
      * 根据主键字符串进行查询,类中只有存在一个带有@Id注解的字段
      *

+ 42 - 1
gis_service/src/main/java/com/gis/service/impl/SceneAudioServiceImpl.java

@@ -23,8 +23,10 @@ import tk.mybatis.mapper.entity.Condition;
 
 import java.io.File;
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.List;
 
 
 /**
@@ -50,6 +52,7 @@ public class SceneAudioServiceImpl extends IBaseServiceImpl<SceneAudioEntity, Lo
         if (StringUtils.isNotBlank(searchKey)) {
             condition.and().orLike("name", "%" + searchKey + "%");
         }
+        condition.and().andEqualTo("recStatus", "A");
         String startTime = param.getStartTime();
         String endTime = param.getEndTime();
         if (StringUtils.isNotBlank(startTime) ) {
@@ -75,7 +78,14 @@ public class SceneAudioServiceImpl extends IBaseServiceImpl<SceneAudioEntity, Lo
             if (entity == null) {
                 return Result.failure("对象id不存在");
             }
-
+            String audio = entity.getAudio();
+            // 音频更新,重新生成二维码。 把旧文件删除
+            if (!audio.equals(param.getAudio())) {
+                FileUtil.del(configConstant.serverBasePath + audio);
+                FileUtil.del(configConstant.serverBasePath + entity.getQrCode());
+                entity.setQrCode(createQrCode(param.getAudio()));
+                log.info("二维码已更新");
+            }
             BeanUtils.copyProperties(param, entity);
             entity.setUpdateTime(new Date());
             this.update(entity);
@@ -98,6 +108,7 @@ public class SceneAudioServiceImpl extends IBaseServiceImpl<SceneAudioEntity, Lo
         String url = middlePath + time + ".jpg";
         String savePath = configConstant.serverBasePath + url;
         QrCodeUtil.generate(domian, 200, 200, new File(savePath));
+        log.info("二维码创建完成: {}", savePath);
         return url;
     }
 
@@ -133,5 +144,35 @@ public class SceneAudioServiceImpl extends IBaseServiceImpl<SceneAudioEntity, Lo
         return null;
     }
 
+    @Override
+    public Result getAudioIndex() {
+        List<SceneAudioEntity> list = entityMapper.getAudioIndex();
+        return Result.success(list);
+    }
+
+    @Override
+    public Result<SceneAudioEntity> webList() {
+        List<SceneAudioEntity> list1 = new ArrayList<>();
+        List<SceneAudioEntity> list2 = new ArrayList<>();
+        List<SceneAudioEntity> list3 = new ArrayList<>();
+        String  orderBy = "updateTime";
+        List<SceneAudioEntity> all = this.findAllDesc(orderBy);
+        for (SceneAudioEntity entity : all) {
+            if (1 == entity.getType()) {
+                list1.add(entity);
+            } else if (2 == entity.getType()) {
+                list2.add(entity);
+            } else {
+                list3.add(entity);
+            }
+        }
+        HashMap<String, Object> result = new HashMap<>();
+        result.put("1", list1);
+        result.put("2", list2);
+        result.put("3", list3);
+
+        return Result.success(result);
+    }
+
 
 }

+ 18 - 1
gis_web/src/main/java/com/gis/web/controller/WebController.java

@@ -19,7 +19,6 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
-import tk.mybatis.mapper.entity.Condition;
 
 import javax.validation.Valid;
 import java.util.*;
@@ -46,6 +45,9 @@ public class WebController extends BaseController {
     @Autowired
     private FodderService fodderService;
 
+    @Autowired
+    SceneAudioService sceneAudioService;
+
 
 
     @ApiOperation("文物库")
@@ -143,5 +145,20 @@ public class WebController extends BaseController {
     }
 
 
+    @ApiOperation("场景音频-展区初始音频")
+    @GetMapping("getAudioIndex")
+    public Result getAudioIndex() {
+        return sceneAudioService.getAudioIndex();
+    }
+
+
+    @ApiOperation("场景音频-列表")
+    @GetMapping("audio/list")
+    public Result<SceneAudioEntity> audioList() {
+        return sceneAudioService.webList();
+    }
+
+
+
 
 }