Files
Tbed/src/main/java/cn/hellohao/controller/AdminRootController.java
T
2021-10-22 19:08:08 +08:00

295 lines
10 KiB
Java

package cn.hellohao.controller;
import cn.hellohao.pojo.*;
import cn.hellohao.service.*;
import cn.hellohao.service.impl.*;
import cn.hellohao.utils.GetCurrentSource;
import cn.hellohao.utils.Print;
import cn.hellohao.utils.StringUtils;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.HashMap;
import java.util.List;
@Controller
@RequestMapping("/admin/root")
public class AdminRootController {
@Autowired
private NOSImageupload nOSImageupload;
@Autowired
private ConfigService configService;
@Autowired
private KeysService keysService;
@Autowired
private UserService userService;
@Autowired
private EmailConfigService emailConfigService;
@Autowired
private UploadConfigService uploadConfigService;
@Autowired
private NoticeService noticeService;
@Autowired
private SysConfigService sysConfigService;
@Autowired
private GroupService groupService;
@Value("${systemupdate}")
private String systemupdate;
@RequestMapping(value = "/touser")
public String touser() {
return "admin/user";
}
@RequestMapping(value = "tostorage")
public String tostorage(HttpSession session, Model model, HttpServletRequest request) {
User u = (User) session.getAttribute("user");
Group group = GetCurrentSource.GetSource(u.getId());
Keys key= keysService.selectKeys(group.getKeyid());
//Boolean b = StringUtils.doNull(Sourcekey,key);
Integer StorageType = 0;
if(key.getStorageType()!=5){
model.addAttribute("AccessKey", key.getAccessKey());
model.addAttribute("AccessSecret", key.getAccessSecret());
model.addAttribute("Endpoint", key.getEndpoint());
model.addAttribute("Bucketname", key.getBucketname());
model.addAttribute("RequestAddress", key.getRequestAddress());
model.addAttribute("StorageType", key.getStorageType());
if(key.getStorageType()==4){
model.addAttribute("Endpoint2", key.getEndpoint());
}else{
model.addAttribute("Endpoint2", 0);
}
}else{
model.addAttribute("StorageType", 5);
model.addAttribute("Endpoint2", 0);
}
return "admin/storageconfig";
}
@PostMapping("/getkey")
@ResponseBody
public String getkey(Integer storageType) {
JSONArray jsonArray = new JSONArray();
Keys key = keysService.selectKeys(storageType);
jsonArray.add(key);
return jsonArray.toString();
}
@PostMapping("/getkeyourceype")
@ResponseBody
public Integer getkeyourceype(HttpSession session) {
User u = (User) session.getAttribute("user");
Group group = GetCurrentSource.GetSource(u.getId());
Keys key = keysService.selectKeys(group.getKeyid());
Integer ret = 0;
return ret;
}
@PostMapping("/updatekey")
@ResponseBody
public String updatekey(Keys key) {
JSONArray jsonArray = new JSONArray();
Config config = new Config();
config.setSourcekey(key.getStorageType());
Integer val = configService.setSourceype(config);
Integer ret = -2;
if(key.getStorageType()==1){
ret =nOSImageupload.Initialize(key);
}else if (key.getStorageType()==2){
ret = OSSImageupload.Initialize(key);
}else if(key.getStorageType()==3 ){
ret = USSImageupload.Initialize(key);
}else if(key.getStorageType()==4){
ret = KODOImageupload.Initialize(key);
}else if(key.getStorageType()==6){
ret = COSImageupload.Initialize(key);
}else if(key.getStorageType()==7){
ret = FTPImageupload.Initialize(key);
}else if(key.getStorageType()==8){
ret = UFileImageupload.Initialize(key);
}
else{
Print.Normal("为获取到存储参数,或者使用存储源是本地的。");
}
if(ret>0){
ret = keysService.updateKey(key);
}
//-1 对象存储有参数为空,初始化失败
//0,保存失败
//1 正确
jsonArray.add(ret);
return jsonArray.toString();
}
@PostMapping("/deleuser")
@ResponseBody
public String deleuser(HttpSession session, Integer id) {
JSONArray jsonArray = new JSONArray();
User u = (User) session.getAttribute("user");
if(u.getId()==id){
jsonArray.add("-1");
}else{
Integer ret = userService.deleuser(id);
jsonArray.add(ret);
}
return jsonArray.toString();
}
@RequestMapping(value = "/emailconfig")
public String emailconfig(Model model) {
EmailConfig emailConfig = emailConfigService.getemail();
model.addAttribute("emailConfig",emailConfig);
return "admin/emailconfig";
}
@PostMapping("/updateemail")
@ResponseBody
public Integer updateemail(HttpSession session,String emails, String emailkey, String emailurl, String port, String emailname, Integer using ) {
EmailConfig emailConfig = new EmailConfig();
emailConfig.setEmailname(emailname);
emailConfig.setEmails(emails);
emailConfig.setEmailkey(emailkey);
emailConfig.setEmailurl(emailurl);
emailConfig.setPort(port);
emailConfig.setUsing(using);
Integer ret = emailConfigService.updateemail(emailConfig);
return ret;
}
@PostMapping("/updateconfig")
@ResponseBody
public Integer updateconfig(Config config ) {
Integer ret = configService.setSourceype(config);
return ret;
}
//修改上传配置
@PostMapping("/scconfig")
@ResponseBody
public Integer scconfig(UploadConfig updateConfig) {
Integer ret = uploadConfigService.setUpdateConfig(updateConfig);
return ret;
}
@PostMapping("/setisok")
@ResponseBody
public String setisok(HttpSession session, User user) {
JSONArray jsonArray = new JSONArray();
User u = (User) session.getAttribute("user");
if(u.getId()==user.getId()){
jsonArray.add(-2);
}else{
Integer ret = userService.setisok(user);
jsonArray.add(ret);
}
return jsonArray.toString();
}
@PostMapping("/setmemory")
@ResponseBody
public String setmemory(HttpSession session, User user) {
Integer ret = userService.setmemory(user);
JSONArray jsonArray = new JSONArray();
jsonArray.add(ret);
return jsonArray.toString();
}
@PostMapping("/setstate")
@ResponseBody
public Integer setstate(HttpSession session, SysConfig sysConfig) {
Integer ret =-1;
ret = sysConfigService.setstate(sysConfig);
return ret;
}
@RequestMapping(value = "/modifyuser")
public String modifyuser(Model model,String uid,Integer id) {
User user = userService.getUsersMail(uid);
model.addAttribute("memory",user.getMemory());
model.addAttribute("groupid",user.getGroupid());
model.addAttribute("uid",uid);
model.addAttribute("id",id);
return "admin/modifyuser";
}
@PostMapping("/settstoragetype")
@ResponseBody
public Integer settstoragetype(Integer storagetype) {
Config config = new Config();
config.setSourcekey(storagetype);
Integer val = configService.setSourceype(config);
return val;
}
@RequestMapping("/about")
public String about(HttpSession session,Model model ) {
//Integer ret = uploadConfigService.setUpdateConfig(updateConfig);
User u = (User) session.getAttribute("user");
model.addAttribute("level",u.getLevel());
model.addAttribute("systemupdate",systemupdate);
return "admin/about";
}
@PostMapping("/sysupdate")
@ResponseBody
public Integer sysupdate(String dates) {
HashMap<String, Object> paramMap = new HashMap<>();
String urls ="http://tc.hellohao.cn/systemupdate";
paramMap.put("dates",dates);
String result= HttpUtil.post(urls, paramMap);
return Integer.parseInt( result );
}
@PostMapping("/tocheck")
@ResponseBody
public JSONObject tocheck() {
JSONObject jsonObject = new JSONObject();
List<Keys> keylist = keysService.getKeys();
for (Keys key : keylist) {
if(key.getStorageType()!=0 && key.getStorageType()!=null){
int ret =0;
if(key.getStorageType()==1){
ret =NOSImageupload.Initialize(key);
jsonObject.put(key.getStorageType().toString(),ret);
}else if (key.getStorageType()==2){
ret =OSSImageupload.Initialize(key);
jsonObject.put(key.getStorageType().toString(),ret);
}else if(key.getStorageType()==3){
ret = USSImageupload.Initialize(key);
jsonObject.put(key.getStorageType().toString(),ret);
}else if(key.getStorageType()==4){
ret = KODOImageupload.Initialize(key);
jsonObject.put(key.getStorageType().toString(),ret);
}else if(key.getStorageType()==6){
ret = COSImageupload.Initialize(key);
jsonObject.put(key.getStorageType().toString(),ret);
}else if(key.getStorageType()==7){
ret = FTPImageupload.Initialize(key);
jsonObject.put(key.getStorageType().toString(),ret);
}else if(key.getStorageType()==8){
ret = UFileImageupload.Initialize(key);
jsonObject.put(key.getStorageType().toString(),ret);
}
}
}
jsonObject.put("5",1);
return jsonObject;
}
}