Quellcode durchsuchen

添加删除音乐

zhj vor 2 Jahren
Ursprung
Commit
dc2ffc6118

+ 2 - 0
src/main/java/com/welampiot/common/InterfaceResultEnum.java

@@ -179,6 +179,8 @@ public enum InterfaceResultEnum {
     LACK_REMARK_ERROR("0368","请填写备注","Please fill in remarks","Пожалуйста, заполните заявление"),
     LACK_FACTOR_ERROR("0369","请填写厂家","Please fill in manufacturer","Пожалуйста, заполните это для производителя"),
     DEV_ADDRESS_UNIQUE_ERROR("0370","设备地址重复","Device address duplication","Повторение адреса оборудования"),
+    FILE_DELETE_FAIL("0371","文件删除失败","File deletion failure","Удаление файла не удалось"),
+    FILE_NO_EXIST_ERROR("0372","文件不存在","File does not exist","Документов не существует"),
     ;
     private String code;
     private String msgCn;

+ 52 - 1
src/main/java/com/welampiot/controller/BroadcastController.java

@@ -5,7 +5,6 @@ import com.alibaba.fastjson.JSONObject;
 import com.welampiot.common.BaseResult;
 import com.welampiot.common.InterfaceResultEnum;
 import com.welampiot.configuration.BroadcastConfig;
-import com.welampiot.dao.BroadcastProListDao;
 import com.welampiot.dto.*;
 import com.welampiot.service.*;
 import com.welampiot.utils.BroadcastUtil;
@@ -23,6 +22,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletRequest;
+import java.io.File;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -277,6 +277,57 @@ public class BroadcastController {
         broadcastItemVO1.setTotal(total);
         return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,broadcastItemVO1);
     }
+
+    /**
+     * 添加音乐
+     * @param vo 音乐地址名称
+     * @return 添加音乐
+     */
+    @RequestMapping(value = "/proSave", method = RequestMethod.POST)
+    public BaseResult<?> proSave(BroadcastProListVO vo) {
+        if (vo.getVersion() == null) vo.setVersion(0);
+        Integer version = vo.getVersion();
+        String username = vo.getUsername();
+        String name = vo.getName();
+        String url = vo.getUrl();
+        if (url.isEmpty()) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
+        if (name.trim().isEmpty()) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
+        if (username.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
+        UserDTO userDTO = userService.queryUserIdByUsername(username);
+        if (userDTO == null) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
+        BroadcastProListDTO broadcastProListDTO = new BroadcastProListDTO();
+        broadcastProListDTO.setName(name);
+        broadcastProListDTO.setUserId(userDTO.getId());
+        broadcastProListDTO.setUrl(url);
+        broadcastProListService.addBroadcastMusic(broadcastProListDTO);
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
+    }
+
+    /**
+     * 删除音乐
+     * @param vo 音乐id
+     * @return 删除音乐
+     */
+    @RequestMapping(value = "/proDel", method = RequestMethod.POST)
+    public BaseResult<?> proDel(BroadcastProListVO vo) {
+        if (vo.getVersion() == null) vo.setVersion(0);
+        Integer version = vo.getVersion();
+        Integer id = vo.getId();
+        if (id == null) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
+        BroadcastProListDTO oneById = broadcastProListService.getOneById(id);
+        String url = oneById.getUrl();
+        File file = new File(url);
+        if (file.exists()) {
+            if (!file.delete()) { // 文件删除失败
+                return toolUtils.response(InterfaceResultEnum.FILE_DELETE_FAIL,version);
+            }
+        } else { // 文件不存在
+            return toolUtils.response(InterfaceResultEnum.FILE_NO_EXIST_ERROR,version);
+        }
+        broadcastProListService.deleteBroadcastProListDate(id);
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
+    }
+
     /**
      * 调节设备音量
      * @param request

+ 2 - 0
src/main/java/com/welampiot/dao/BroadcastProListDao.java

@@ -5,4 +5,6 @@ import org.apache.ibatis.annotations.Param;
 
 public interface BroadcastProListDao {
     BroadcastProListDTO getOneById(@Param("id")int id);
+    void addBroadcastMusic(BroadcastProListDTO dto);
+    void deleteBroadcastProListDate(@Param("id") Integer id);
 }

+ 2 - 2
src/main/java/com/welampiot/service/BroadcastProListService.java

@@ -1,9 +1,9 @@
 package com.welampiot.service;
 
-import com.welampiot.dao.BroadcastProListDao;
 import com.welampiot.dto.BroadcastProListDTO;
-import org.apache.ibatis.annotations.Param;
 
 public interface BroadcastProListService {
     BroadcastProListDTO getOneById(int id);
+    void addBroadcastMusic(BroadcastProListDTO dto);
+    void deleteBroadcastProListDate(Integer id);
 }

+ 10 - 0
src/main/java/com/welampiot/service/impl/BroadcastProListServiceImpl.java

@@ -15,4 +15,14 @@ public class BroadcastProListServiceImpl implements BroadcastProListService {
     public BroadcastProListDTO getOneById(int id) {
         return broadcastProListDao.getOneById(id);
     }
+
+    @Override
+    public void addBroadcastMusic(BroadcastProListDTO dto) {
+        broadcastProListDao.addBroadcastMusic(dto);
+    }
+
+    @Override
+    public void deleteBroadcastProListDate(Integer id) {
+        broadcastProListDao.deleteBroadcastProListDate(id);
+    }
 }

+ 4 - 0
src/main/java/com/welampiot/vo/BroadcastProListVO.java

@@ -26,6 +26,10 @@ public class BroadcastProListVO implements Serializable {
     /** 音乐文件地址 **/
     private String url;
 
+    private Integer version;
+
+    private String username;
+
     private List<BroadcastProListDTO> list;
 
     private static final long serialVersionUID = 1L;

+ 12 - 0
src/main/resources/mapper/BroadcastProListMapper.xml

@@ -6,4 +6,16 @@
         from broadcast_pro_list
         where id = #{id}
     </select>
+
+    <insert id="addBroadcastMusic" parameterType="BroadcastProListDTO" keyProperty="id" useGeneratedKeys="true">
+        INSERT INTO broadcast_pro_list(`name`, url, userId)
+        VALUES (#{name},#{url},#{userId})
+    </insert>
+
+    <delete id="deleteBroadcastProListDate">
+        delete
+        from broadcast_pro_list
+        where id = #{id};
+    </delete>
+
 </mapper>