mirror of
https://github.com/Hello-hao/Tbed.git
synced 2024-04-21 12:32:10 +00:00
447 lines
18 KiB
Java
447 lines
18 KiB
Java
package cn.hellohao.controller;
|
|
|
|
import cn.hellohao.pojo.*;
|
|
import cn.hellohao.service.*;
|
|
import cn.hellohao.service.impl.*;
|
|
import cn.hellohao.utils.NewSendEmail;
|
|
import cn.hellohao.utils.Print;
|
|
import cn.hellohao.utils.SetFiles;
|
|
import cn.hutool.http.HttpUtil;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSONArray;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.github.pagehelper.PageHelper;
|
|
import com.github.pagehelper.PageInfo;
|
|
import org.apache.shiro.SecurityUtils;
|
|
import org.apache.shiro.subject.Subject;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Controller;
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
|
|
import java.net.HttpURLConnection;
|
|
import java.net.URL;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
|
|
@Controller
|
|
@RequestMapping("/admin/root")
|
|
public class AdminRootController {
|
|
@Autowired
|
|
private ConfdataService confdataService;
|
|
@Autowired
|
|
private KeysService keysService;
|
|
@Autowired
|
|
private UserService userService;
|
|
@Autowired
|
|
private EmailConfigService emailConfigService;
|
|
@Autowired
|
|
private UploadConfigService uploadConfigService;
|
|
@Autowired
|
|
private SysConfigService sysConfigService;
|
|
@Autowired
|
|
private ImgService imgService;
|
|
@Autowired
|
|
private ImgreviewService imgreviewService;
|
|
@Autowired
|
|
private AppClientService appClientService;
|
|
|
|
|
|
@PostMapping(value = "/getUserList")
|
|
@ResponseBody
|
|
public Msg getUserList(@RequestParam(value = "data", defaultValue = "") String data) {
|
|
Msg msg = new Msg();
|
|
try{
|
|
JSONObject jsonObj = JSONObject.parseObject(data);
|
|
Integer pageNum = jsonObj.getInteger("pageNum");
|
|
Integer pageSize = jsonObj.getInteger("pageSize");
|
|
String queryText = jsonObj.getString("queryText");
|
|
PageHelper.startPage(pageNum, pageSize);
|
|
List<User> users = userService.getuserlist(queryText);
|
|
PageInfo<User> rolePageInfo = new PageInfo<>(users);
|
|
msg.setData(rolePageInfo);
|
|
}catch (Exception e){
|
|
msg.setCode("500");
|
|
}
|
|
return msg;
|
|
}
|
|
|
|
|
|
@PostMapping(value = "/updateUserInfo")
|
|
@ResponseBody
|
|
public Msg updateUserInfo(@RequestParam(value = "data", defaultValue = "") String data) {
|
|
final Msg msg = new Msg();
|
|
try {
|
|
Subject subject = SecurityUtils.getSubject();
|
|
User u = (User) subject.getPrincipal();
|
|
JSONObject jsonObj = JSONObject.parseObject(data);
|
|
Integer id = jsonObj.getInteger("id");
|
|
String email = jsonObj.getString("email");
|
|
Long memory = jsonObj.getLong("memory");
|
|
Integer groupid = jsonObj.getInteger("groupid");
|
|
Integer isok = jsonObj.getInteger("isok");
|
|
if (memory < 0 || memory > 1048576L) {
|
|
msg.setCode("500");
|
|
msg.setInfo("容量不得超过1048576");
|
|
return msg;
|
|
}
|
|
final User user = new User();
|
|
final User user2 = new User();
|
|
user2.setId(id);
|
|
User userInfo = userService.getUsers(user2);
|
|
user.setId(id);
|
|
user.setEmail(email);
|
|
user.setMemory(Long.toString(memory * 1024 * 1024));
|
|
user.setGroupid(groupid);
|
|
if (userInfo.getLevel() == 1) {
|
|
user.setIsok(isok == 1 ? 1 : -1);
|
|
}
|
|
userService.changeUser(user);
|
|
msg.setInfo("修改成功");
|
|
} catch (Exception e) {
|
|
msg.setCode("500");
|
|
msg.setInfo("修改失败");
|
|
e.printStackTrace();
|
|
}
|
|
return msg;
|
|
}
|
|
|
|
|
|
@PostMapping("/disableUser")
|
|
@ResponseBody
|
|
public Msg disableUser(@RequestParam(value = "data", defaultValue = "") String data) {
|
|
Msg msg = new Msg();
|
|
try {
|
|
JSONObject jsonObj = JSONObject.parseObject(data);
|
|
JSONArray userIdList = jsonObj.getJSONArray("arr");
|
|
for (int i = 0; i < userIdList.size(); i++) {
|
|
User u = new User();
|
|
u.setId(userIdList.getInteger(i));
|
|
User u2 = userService.getUsers(u);
|
|
if (u2.getLevel() == 1) {
|
|
User user = new User();
|
|
user.setId(userIdList.getInteger(i));
|
|
user.setIsok(-1);
|
|
userService.changeUser(user);
|
|
}
|
|
|
|
}
|
|
msg.setInfo("所选用户已被禁用");
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
msg.setInfo("系统错误");
|
|
msg.setCode("500");
|
|
}
|
|
return msg;
|
|
}
|
|
|
|
@PostMapping("/deleUser")
|
|
@ResponseBody
|
|
public Msg deleuser(@RequestParam(value = "data", defaultValue = "") String data) {
|
|
Msg msg = new Msg();
|
|
try {
|
|
JSONObject jsonObj = JSONObject.parseObject(data);
|
|
JSONArray userIdList = jsonObj.getJSONArray("arr");
|
|
boolean b = false;
|
|
for (int i = 0; i < userIdList.size(); i++) {
|
|
User u = new User();
|
|
u.setId(userIdList.getInteger(i));
|
|
User user = userService.getUsers(u);
|
|
if (user.getLevel() == 1) {
|
|
userService.deleuser(userIdList.getInteger(i));
|
|
} else {
|
|
b = true;
|
|
}
|
|
}
|
|
if (b && userIdList.size() == 1) {
|
|
msg.setInfo("管理员账户不可删除");
|
|
} else {
|
|
msg.setInfo("用户已删除成功");
|
|
}
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
msg.setInfo("系统错误");
|
|
msg.setCode("500");
|
|
}
|
|
return msg;
|
|
}
|
|
|
|
@PostMapping("/getKeysList")
|
|
@ResponseBody
|
|
public Msg getKeysList() {
|
|
Msg msg = new Msg();
|
|
List<Keys> list = keysService.getKeys();
|
|
msg.setData(list);
|
|
return msg;
|
|
}
|
|
|
|
@PostMapping("/LoadInfo")
|
|
@ResponseBody
|
|
public Msg LoadInfo(@RequestParam(value = "data", defaultValue = "") String data) {
|
|
Msg msg = new Msg();
|
|
try {
|
|
JSONObject jsonData = JSONObject.parseObject(data);
|
|
Integer keyId = jsonData.getInteger("keyId");
|
|
JSONObject jsonObject = new JSONObject();
|
|
jsonObject.put("id", keyId);
|
|
Keys key = keysService.selectKeys(keyId);
|
|
Integer ret = 0;
|
|
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 = FtpServiceImpl.Initialize(key);
|
|
} else if (key.getStorageType() == 8) {
|
|
ret = S3Imageupload.Initialize(key);
|
|
}
|
|
Long l = imgService.getsourcememory(keyId);
|
|
jsonObject.put("isok", ret);
|
|
jsonObject.put("storagetype", key.getStorageType());
|
|
if (l == null) {
|
|
jsonObject.put("usedCapacity", 0);
|
|
} else {
|
|
jsonObject.put("usedCapacity", SetFiles.readableFileSize(l));
|
|
}
|
|
msg.setData(jsonObject);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
msg.setCode("500");
|
|
}
|
|
return msg;
|
|
}
|
|
|
|
|
|
@PostMapping("/updateStorage")
|
|
@ResponseBody
|
|
public Msg updateStorage(@RequestParam(value = "data", defaultValue = "") String data) {
|
|
JSONObject jsonObj = JSONObject.parseObject(data);
|
|
// Integer id = jsonObj.getInteger("id");
|
|
// String AccessKey = jsonObj.getString("AccessKey");
|
|
// String AccessSecret = jsonObj.getString("AccessSecret");
|
|
// String Endpoint = jsonObj.getString("Endpoint");
|
|
// String Bucketname = jsonObj.getString("Bucketname");
|
|
// String RequestAddress = jsonObj.getString("RequestAddress");
|
|
// Integer storageType = jsonObj.getInteger("storageType");
|
|
// String keyname = jsonObj.getString("keyname");
|
|
// Keys keys = new Keys();
|
|
// keys.setId(id);
|
|
// keys.setAccessKey(AccessKey);
|
|
// keys.setAccessSecret(AccessSecret);
|
|
// keys.setEndpoint(Endpoint);
|
|
// keys.setBucketname(Bucketname);
|
|
// keys.setRequestAddress(RequestAddress);
|
|
// keys.setStorageType(storageType);
|
|
// keys.setKeyname(keyname);
|
|
Keys keys = JSON.toJavaObject(jsonObj,Keys.class);
|
|
Msg msg = keysService.updateKey(keys);
|
|
return msg;
|
|
}
|
|
|
|
@PostMapping("/getStorageById")
|
|
@ResponseBody
|
|
public Msg getselectkey(@RequestParam(value = "data", defaultValue = "") String data) {
|
|
Msg msg = new Msg();
|
|
JSONObject jsonObj = JSONObject.parseObject(data);
|
|
Integer keyid = jsonObj.getInteger("id");
|
|
Keys keys = keysService.selectKeys(keyid);
|
|
msg.setData(keys);
|
|
return msg;
|
|
}
|
|
|
|
@PostMapping("/getSettingConfig")
|
|
@ResponseBody
|
|
public Msg getSettingConfig(@RequestParam(value = "data", defaultValue = "") String data) {
|
|
final Msg msg = new Msg();
|
|
final JSONObject jsonObject = new JSONObject();
|
|
Subject subject = SecurityUtils.getSubject();
|
|
User u = (User) subject.getPrincipal();
|
|
try {
|
|
UploadConfig uploadConfig = uploadConfigService.getUpdateConfig();
|
|
final Confdata confdata = confdataService.selectConfdata("config");
|
|
SysConfig sysConfig = sysConfigService.getstate();
|
|
AppClient appClientData = appClientService.getAppClientData("app");
|
|
uploadConfig.setUsermemory(Long.toString(Long.valueOf(uploadConfig.getUsermemory()) / 1024 / 1024));
|
|
uploadConfig.setVisitormemory(Long.toString(Long.valueOf(uploadConfig.getVisitormemory()) / 1024 / 1024));
|
|
uploadConfig.setFilesizetourists(Long.toString(Long.valueOf(uploadConfig.getFilesizetourists()) / 1024 / 1024));
|
|
uploadConfig.setFilesizeuser(Long.toString(Long.valueOf(uploadConfig.getFilesizeuser()) / 1024 / 1024));
|
|
jsonObject.put("uploadConfig", uploadConfig);
|
|
jsonObject.put("config", JSONObject.parseObject(confdata.getJsondata()));
|
|
jsonObject.put("sysConfig", sysConfig);
|
|
jsonObject.put("appClient", appClientData);
|
|
msg.setData(jsonObject);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
msg.setCode("110500");
|
|
msg.setInfo("操作失败");
|
|
}
|
|
return msg;
|
|
}
|
|
|
|
|
|
@PostMapping("/updateConfig")
|
|
@ResponseBody
|
|
public Msg updateConfig(@RequestParam(value = "data", defaultValue = "") String data) {
|
|
Msg msg = new Msg();
|
|
try {
|
|
JSONObject jsonObject = JSONObject.parseObject(data);
|
|
UploadConfig uploadConfig = JSON.toJavaObject((JSON) jsonObject.get("uploadConfig"), UploadConfig.class);
|
|
String vm = uploadConfig.getVisitormemory();
|
|
if ((Long.valueOf(vm) < -1) || Long.valueOf(vm) > 104857600 || Long.valueOf(uploadConfig.getFilesizetourists()) < 0 || Long.valueOf(uploadConfig.getFilesizetourists()) > 5120
|
|
|| Long.valueOf(uploadConfig.getUsermemory()) < 0 || Long.valueOf(uploadConfig.getUsermemory()) > 1048576
|
|
|| Long.valueOf(uploadConfig.getFilesizeuser()) < 0 || Long.valueOf(uploadConfig.getFilesizeuser()) > 5120) {
|
|
msg.setInfo("你输入的值不正确");
|
|
msg.setCode("500");
|
|
return msg;
|
|
}
|
|
// Config config = JSON.toJavaObject((JSON) jsonObject.get("config"), Config.class);
|
|
SysConfig sysConfig = JSON.toJavaObject((JSON) jsonObject.get("sysConfig"), SysConfig.class);
|
|
AppClient appClient = JSON.toJavaObject((JSON) jsonObject.get("appClient"), AppClient.class);
|
|
if (Integer.valueOf(vm) == -1) {
|
|
uploadConfig.setVisitormemory("-1");
|
|
} else {
|
|
uploadConfig.setVisitormemory(Long.toString(Long.valueOf(uploadConfig.getVisitormemory()) * 1024 * 1024));
|
|
}
|
|
uploadConfig.setFilesizetourists(Long.toString(Long.valueOf(uploadConfig.getFilesizetourists()) * 1024 * 1024));
|
|
uploadConfig.setUsermemory(Long.toString(Long.valueOf(uploadConfig.getUsermemory()) * 1024 * 1024));
|
|
uploadConfig.setFilesizeuser(Long.toString(Long.valueOf(uploadConfig.getFilesizeuser()) * 1024 * 1024));
|
|
uploadConfigService.setUpdateConfig(uploadConfig);
|
|
Confdata confdata = new Confdata();
|
|
confdata.setKey("config");
|
|
confdata.setJsondata(jsonObject.getJSONObject("config").toJSONString());
|
|
confdataService.updateConfdata(confdata);
|
|
sysConfigService.setstate(sysConfig);
|
|
if (!appClient.getIsuse().equals("on")) {
|
|
appClient.setIsuse("off");
|
|
}
|
|
appClientService.editAppClientData(appClient);
|
|
msg.setInfo("配置保存成功");
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
msg.setInfo("操作出现异常");
|
|
msg.setCode("500");
|
|
}
|
|
return msg;
|
|
}
|
|
|
|
|
|
@PostMapping(value = "/getOrderConfig")
|
|
@ResponseBody
|
|
public Msg emailconfig() {
|
|
final Msg msg = new Msg();
|
|
EmailConfig emailConfig = null;
|
|
Imgreview imgreview = null;
|
|
try {
|
|
final JSONObject jsonObject = new JSONObject();
|
|
emailConfig = emailConfigService.getemail();
|
|
imgreview = imgreviewService.selectByPrimaryKey(1);
|
|
jsonObject.put("emailConfig", emailConfig);
|
|
jsonObject.put("imgreview", imgreview);
|
|
msg.setData(jsonObject);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
msg.setCode("110500");
|
|
msg.setInfo("获取相关配置信息失败");
|
|
}
|
|
return msg;
|
|
}
|
|
|
|
|
|
@PostMapping("/updateEmailConfig")
|
|
@ResponseBody
|
|
public Msg updateemail(@RequestParam(value = "data", defaultValue = "") String data) {
|
|
final Msg msg = new Msg();
|
|
try {
|
|
JSONObject jsonObj = JSONObject.parseObject(data);
|
|
EmailConfig emailConfig = JSON.toJavaObject(jsonObj, EmailConfig.class);
|
|
if (null == emailConfig.getId() || null == emailConfig.getEmailname() || null == emailConfig.getEmailurl() || null == emailConfig.getEmails()
|
|
|| null == emailConfig.getEmailkey() || null == emailConfig.getPort() || null == emailConfig.getUsing()
|
|
|| emailConfig.getEmailname().equals("") || emailConfig.getEmailurl().equals("") || emailConfig.getEmails().equals("")
|
|
|| emailConfig.getEmailkey().equals("") || emailConfig.getPort().equals("")) {
|
|
msg.setCode("110400");
|
|
msg.setInfo("各参数不能为空");
|
|
return msg;
|
|
}
|
|
emailConfigService.updateemail(emailConfig);
|
|
msg.setInfo("保存成功");
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
msg.setCode("110500");
|
|
msg.setInfo("保存过程出现错误");
|
|
}
|
|
return msg;
|
|
}
|
|
|
|
@PostMapping("/mailTest")
|
|
@ResponseBody
|
|
public Msg mailTest(@RequestParam(value = "data", defaultValue = "") String data) {
|
|
Msg msg = new Msg();
|
|
JSONObject jsonObj = JSONObject.parseObject(data);
|
|
String tomail = jsonObj.getString("tomail");
|
|
EmailConfig emailConfig = JSON.toJavaObject(jsonObj, EmailConfig.class);
|
|
if (null == emailConfig.getEmails() || null == emailConfig.getEmailkey() || null == emailConfig.getEmailurl()
|
|
|| null == emailConfig.getPort() || null == emailConfig.getEmailname() || null == tomail) {
|
|
msg.setCode("110400");
|
|
msg.setInfo("邮箱配置参数不能为空");
|
|
} else {
|
|
msg = NewSendEmail.sendTestEmail(emailConfig, tomail);
|
|
}
|
|
return msg;
|
|
}
|
|
|
|
@PostMapping("/sysVersion")
|
|
@ResponseBody
|
|
public Msg sysupdate(@RequestParam(value = "data", defaultValue = "") String data) {
|
|
final Msg msg = new Msg();
|
|
JSONObject jsonObj = JSONObject.parseObject(data);
|
|
String dates = jsonObj.getString("dates");
|
|
HashMap<String, Object> paramMap = new HashMap<>();
|
|
String urls = "http://check.hellohao.cn:8090/getNoticeText";
|
|
JSONObject jsonObject =null;
|
|
try {
|
|
URL u = new URL(urls);
|
|
HttpURLConnection uConnection = (HttpURLConnection) u.openConnection();
|
|
uConnection.connect();
|
|
if(uConnection.getResponseCode()==200){
|
|
jsonObject =JSONObject.parseObject(HttpUtil.get(urls));
|
|
String openv = jsonObject.getString("openv");
|
|
String opentext = jsonObject.getString("opentext");
|
|
JSONObject versionJson = new JSONObject();
|
|
if(Double.valueOf(openv)>Double.valueOf(dates)){
|
|
versionJson.put("code","110200");
|
|
versionJson.put("newVersion",openv);
|
|
versionJson.put("versionMsg",opentext);
|
|
msg.setCode("110200");
|
|
msg.setData(versionJson);
|
|
}else{
|
|
versionJson.put("code","110300");
|
|
versionJson.put("newVersion",openv);
|
|
versionJson.put("versionMsg","当前已是最新版本");
|
|
msg.setCode("110300");
|
|
msg.setData(versionJson);
|
|
}
|
|
}else{
|
|
msg.setCode("110500");
|
|
msg.setData("未获取到更新状态");
|
|
}
|
|
uConnection.disconnect();
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
Print.warning("connect failed");
|
|
msg.setCode("110500");
|
|
msg.setData("未获取到更新状态");
|
|
}
|
|
return msg;
|
|
}
|
|
|
|
|
|
}
|