Files
nas-service/src/main/java/com/yutou/nas/Controllers/JellyfinController.java
2022-11-04 18:13:29 +08:00

89 lines
3.1 KiB
Java

package com.yutou.nas.Controllers;
import com.alibaba.fastjson2.JSONObject;
import com.yutou.nas.utils.*;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.io.File;
@Controller
public class JellyfinController {
@RequestMapping("/jellyfin/addItem")
@ResponseBody
public String addItem(String Name, String Date) {
if (!StringUtils.isEmpty(Name) && !StringUtils.isEmpty(Date)) {
QQBotManager.getInstance().sendMessage(734332887L, " 新增:" + Name);
AppTools.exec("/home/yutou/public/servier/tinyMediaManager/tinyMediaManager tvshow -u --scrapeUnscraped", null, false, true);
new JellyfinAPIManager().refresh();
}
return "ok";
}
@ResponseBody
@RequestMapping("/jellyfin/updateMeta")
public String updateMeta() {
AppTools.exec("/home/yutou/public/servier/tinyMediaManager/tinyMediaManager tvshow -u --scrapeUnscraped", null, false, true);
new JellyfinAPIManager().refresh();
return "ok";
}
@ResponseBody
@RequestMapping("/jellyfin/setAppVersion")
public String setAppVersion(String version){
RedisTools.set("jellyfin_app_version",version);
return "";
}
@ResponseBody
@RequestMapping("/jellyfin/setTvAppVersion")
public String setTvAppVersion(String version){
RedisTools.set("jellyfin_tv_version",version);
return "";
}
@ResponseBody
@RequestMapping("/jellyfin/updateApp.do")
public JSONObject updateApp(String version){
JSONObject json=new JSONObject();
String appVersion=RedisTools.get("jellyfin_app_version");
if(appVersion==null){
json.put("code",0);
}else{
File dir=new File("web"+File.separator+"apk"+File.separator+"jellyfin"+File.separator);
buildDownloadJson(json, appVersion, dir);
}
return json;
}
private void buildDownloadJson(JSONObject json, String appVersion, File dir) {
json.put("code",0);
if(dir.exists()){
for (File file : dir.listFiles()) {
if(file.getName().endsWith(".apk")){
json.put("code",1);
JSONObject data=new JSONObject();
data.put("version",appVersion);
data.put("url","http://nas.cnmglz.com:9999/apk"+file.getAbsolutePath().replace(new File("web"+File.separator+"apk"+File.separator).getAbsolutePath(),""));
json.put("data",data);
break;
}
}
}
}
@ResponseBody
@RequestMapping("/jellyfin/updateTvApp.do")
public JSONObject updateTvApp(String version){
JSONObject json=new JSONObject();
String appVersion=RedisTools.get("jellyfin_tv_version");
if(appVersion==null){
json.put("code",0);
}else{
File dir=new File("web"+File.separator+"apk"+File.separator+"jellyfinTv"+File.separator);
buildDownloadJson(json, appVersion, dir);
}
return json;
}
}