重构版功能实现

This commit is contained in:
tiansh
2021-10-27 18:55:28 +08:00
parent 29b8575560
commit 3a03c965e1
20 changed files with 409 additions and 467 deletions
-5
View File
@@ -172,11 +172,6 @@
</dependency>
<!-- 对象存储依赖-->
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>7.1.0</version>
</dependency>
<dependency>
<groupId>com.netease.cloud</groupId>
<artifactId>nos-sdk-java-publiccloud</artifactId>
@@ -68,7 +68,6 @@ public class AdminController {
Imgreview isImgreviewOK = imgreviewService.selectByusing(1);//查询有没有启动鉴别功能
//普通用户
String ok = "false";
jsonObject.put("myToken","这个去掉");
jsonObject.put("myImgTotal", imgService.countimg(user.getId())); //我的图片数
jsonObject.put("myAlbumTitle", albumService.selectAlbumCount(user.getId()));//我的画廊数量
//计算自己的百分比 已用量/分配量
@@ -101,9 +100,9 @@ public class AdminController {
}else{
Long temp = imgService.getusermemory(0)==null?0:imgService.getusermemory(0);
jsonObject.put("UsedMemory", (temp == null ? 0 : SetFiles.readableFileSize(temp)));//访客已用大小
if(Integer.valueOf(uploadConfig.getVisitormemory())==0){
if(Long.valueOf(uploadConfig.getVisitormemory())==0){
jsonObject.put("VisitorProportion",100.00);//游客用量%占比
}else if(Integer.valueOf(uploadConfig.getVisitormemory())==-1){
}else if(Long.valueOf(uploadConfig.getVisitormemory())==-1){
jsonObject.put("VisitorProportion",0);//游客用量%占比
jsonObject.put("VisitorMemory", "无限");//访客共大小
}else{
@@ -118,7 +117,6 @@ public class AdminController {
}
}
jsonObject.put("ok", ok);
//Config config = configService.getSourceype();
msg.setData(jsonObject);
return msg;
}
@@ -204,7 +202,6 @@ public class AdminController {
@ResponseBody
public String getwebconfig(HttpSession session) {
JSONObject jsonObject = new JSONObject();
//Config config = configService.getSourceype();
UploadConfig uploadConfig = uploadConfigService.getUpdateConfig();
User u = (User) session.getAttribute("user");
Imgreview imgreview = imgreviewService.selectByPrimaryKey(1);
@@ -306,6 +303,15 @@ public class AdminController {
return msg;
}
@PostMapping("/getStorage")//new 获取当前一共有多少种存储源 这是种类
@ResponseBody
public Msg getStorage() {
Msg msg = new Msg();
List<Keys> storage = keysService.getStorage();
msg.setData(storage);
return msg;
}
@PostMapping("/getStorageName")//new 获取当前一共有多少个存储源 这是总个数
@ResponseBody
public Msg getStorageName() {
@@ -474,33 +480,6 @@ public class AdminController {
@GetMapping(value = "/images/{id}")
@ResponseBody
public Images selectByFy(@PathVariable("id") Integer id) {
return imgService.selectByPrimaryKey(id);
}
@RequestMapping("/delAlbum")
@ResponseBody
public Integer delAlbum(String albumkey){
Integer ret = albumServiceI.delete(albumkey);
return ret;
}
@RequestMapping("/delAlbumAll")
@ResponseBody
public Integer delAlbumAll( @RequestParam("albumkeyArr[]") String[] albumkeyArr ){
Integer ret = albumServiceI.deleteAll(albumkeyArr);
return ret;
}
//工具函数
private static String getChinaes(int v){
String ch = "";
@@ -5,8 +5,10 @@ import cn.hellohao.service.*;
import cn.hellohao.service.impl.*;
import cn.hellohao.utils.GetCurrentSource;
import cn.hellohao.utils.Print;
import cn.hellohao.utils.SetFiles;
import cn.hellohao.utils.StringUtils;
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;
@@ -49,11 +51,8 @@ public class AdminRootController {
private SysConfigService sysConfigService;
@Autowired
private GroupService groupService;
@Value("${systemupdate}")
private String systemupdate;
@Autowired
private ImgService imgService;
@PostMapping(value = "/getUserList")//new selectusertable
@@ -74,7 +73,6 @@ public class AdminRootController {
}
@PostMapping(value = "/updateUserInfo")//new
@ResponseBody
public Msg updateUserInfo(@RequestParam(value = "data", defaultValue = "") String data) {
@@ -88,6 +86,11 @@ public class AdminRootController {
Integer memory = jsonObj.getInteger("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);
@@ -169,166 +172,169 @@ public class AdminRootController {
return msg;
}
@PostMapping("/deleuser")
@PostMapping("/getKeysList") //new
@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();
public Msg getKeysList() {
Msg msg = new Msg();
List<Keys> list = keysService.getKeys();
msg.setData(list);
return msg;
}
@RequestMapping(value = "/emailconfig")
public String emailconfig(Model model) {
EmailConfig emailConfig = emailConfigService.getemail();
model.addAttribute("emailConfig",emailConfig);
return "admin/emailconfig";
}
@PostMapping("/updateemail")
//获取当前所有的存储策略信息
@PostMapping("/LoadInfo")//new
@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;
}
public Msg LoadInfo(@RequestParam(value = "data", defaultValue = "") String data) {
Msg msg = new Msg();
try {
JSONObject jsonData = JSONObject.parseObject(data);
Integer keyId = jsonData.getInteger("keyId");
@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 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 = FTPImageupload.Initialize(key);
}else if(key.getStorageType()==8){
ret = UFileImageupload.Initialize(key);
}
jsonObject.put("5",1);
return jsonObject;
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") //new
@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);
Msg msg = keysService.updateKey(keys);
return msg;
}
@PostMapping("/getStorageById")//new
@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") //new upload配置表的相关设置
@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();
Config config = configService.getSourceype();
SysConfig sysConfig = sysConfigService.getstate();
//把字节换算一下,页面上显示M
// filesizetourists = (filesizetourists*1024*1024) ,filesizeuser=(filesizeuser*1024*1024)
// visitormemory=(visitormemory*1024*1024),usermemory=(usermemory*1024*1024)
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",config);
jsonObject.put("sysConfig",sysConfig);
msg.setData(jsonObject);
} catch (Exception e) {
e.printStackTrace();
msg.setCode("110500");
msg.setInfo("操作失败");
}
return msg;
}
@PostMapping("/updateConfig")//new
@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);
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);
configService.setSourceype(config);
sysConfigService.setstate(sysConfig);
msg.setInfo("配置保存成功");
}catch (Exception e){
e.printStackTrace();
msg.setInfo("操作出现异常");
msg.setCode("500");
}
return msg;
}
}
@@ -182,70 +182,4 @@ public class AlbumController {
@RequestMapping("/TOALBUM{key}N")
public String selectByFy(@PathVariable("key") String key, Model model) {
Album album = new Album();
album.setAlbumkey("TOALBUM"+key+"N");
Album a = albumServiceImpl.selectAlbum(album);
Config config = configService.getSourceype();
model.addAttribute("webname",config.getWebname());
model.addAttribute("domain",config.getDomain());
model.addAttribute("ico",config.getWebfavicons());
if(a!=null){
model.addAttribute("obj",a);
model.addAttribute("album",1);
if(a.getPassword()!=null && !a.getPassword().equals("")){
model.addAttribute("passType","1");
}else{
model.addAttribute("passType","0");
}
}else{
model.addAttribute("album",0);
}
return "album/album_new";
}
@PostMapping("/getAlbumList")
@ResponseBody
public Msg getAlbumList(String albumkey,String password){
Msg msg = new Msg();
Album album = new Album();
album.setAlbumkey(albumkey);
Album a = albumServiceImpl.selectAlbum(album);
if(a==null){
msg.setCode("404");
msg.setInfo("画廊地址不存在");
return msg;
}
Config config = configService.getSourceype();
JSONObject jsonObject = new JSONObject();
if(a!=null){
if(a.getPassword()==null){
List<Images> imagesList = imgAndAlbumService.selectImgForAlbumkey(albumkey);
msg.setCode("200");
jsonObject.put("imagesList",imagesList);
}else{
if(a.getPassword().equals(password)){
List<Images> imagesList = imgAndAlbumService.selectImgForAlbumkey(albumkey);
msg.setCode("200");
jsonObject.put("imagesList",imagesList);
}else{
msg.setCode("403");
msg.setInfo("画廊密码错误");
}
}
jsonObject.put("titlename",a.getAlbumtitle());
}
jsonObject.put("webname",config.getWebname());
msg.setData(jsonObject);
return msg;
}
@RequestMapping("/addalbum_new")
public String addalbum2() {
return "album/album_new";
}
}
@@ -2,12 +2,14 @@ package cn.hellohao.controller;
import cn.hellohao.pojo.Code;
import cn.hellohao.pojo.Config;
import cn.hellohao.pojo.Msg;
import cn.hellohao.pojo.User;
import cn.hellohao.service.CodeService;
import cn.hellohao.service.KeysService;
import cn.hellohao.service.UserService;
import cn.hellohao.service.impl.ImgServiceImpl;
import cn.hutool.crypto.SecureUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
@@ -32,66 +34,80 @@ public class CodeController {
private CodeService codeService;
@RequestMapping(value = "/tocode")
public String tocode() {
return "admin/code";
}
@RequestMapping(value = "/selectcodelist")
@RequestMapping(value = "/selectCodeList")//new
@ResponseBody
public Map<String, Object> selectcodel(HttpSession session, @RequestParam(required = false, defaultValue = "1") int page,
@RequestParam(required = false) int limit) {
User u = (User) session.getAttribute("user");
PageHelper.startPage(page, limit);
public Map<String, Object> selectCodeList(@RequestParam(value = "data", defaultValue = "") String data) {
Map<String, Object> map = new HashMap<String, Object>();
JSONObject jsonObj = JSONObject.parseObject(data);
Integer pageNum = jsonObj.getInteger("pageNum");
Integer pageSize = jsonObj.getInteger("pageSize");
PageHelper.startPage(pageNum, pageSize);
List<Code> codes = null;
if (u.getLevel() > 1) {
try {
codes = codeService.selectCode(null);
// 使用pageInfo包装查询
PageInfo<Code> rolePageInfo = new PageInfo<>(codes);
Map<String, Object> map = new HashMap<String, Object>();
map.put("code", 0);
map.put("msg", "");
map.put("code", 200);
map.put("info", "");
map.put("count", rolePageInfo.getTotal());
map.put("data", rolePageInfo.getList());
return map;
} else {
return null;
} catch (Exception e) {
e.printStackTrace();
map.put("code", 500);
map.put("info", "获取数据异常");
}
return map;
}
@RequestMapping("/deletecodes")
@RequestMapping("/deleteCodes")//new
@ResponseBody
public Integer deletecodes(HttpSession session, @RequestParam("arr[]") String[] arr){
public Msg deletecodes(@RequestParam(value = "data", defaultValue = "") String data){
final Msg msg = new Msg();
JSONObject jsonObj = JSONObject.parseObject(data);
JSONArray arr = jsonObj.getJSONArray("arr");
Integer v = 0;
User u = (User) session.getAttribute("user");
for (int i = 0; i < arr.length; i++) {
v = codeService.deleteCode(arr[i]);
try {
for (int i = 0; i < arr.size(); i++) {
codeService.deleteCode(arr.getJSONObject(i).getString("code"));
v++;
}
msg.setInfo("已成功删除"+v+"个扩容码");
} catch (Exception e) {
e.printStackTrace();
msg.setCode("110500");
msg.setInfo("删除过程中发生现错误,已成功删除"+v+"");
}
return v;
}
@RequestMapping("/deletecode")
@ResponseBody
public Integer deletecode(String code){
Integer v = codeService.deleteCode(code);
return v;
return msg;
}
@RequestMapping("/addcode")
@RequestMapping("/addCode")//new
@ResponseBody
public Integer addcode(Integer value,Integer counts){
public Msg addcode(@RequestParam(value = "data", defaultValue = "") String data){
final Msg msg = new Msg();
JSONObject jsonObj = JSONObject.parseObject(data);
Long value = jsonObj.getLong("memory");
Long count = jsonObj.getLong("count");
if(value<=0 || value>1048576 || count<=0 || count>1000){
msg.setInfo("数据格式错误,请正确输入");
return msg;
}
Integer val = 0;
Code code = new Code();
for (int i= 0;i<counts;i++) {
for (int i= 0;i<count;i++) {
java.text.DateFormat format1 = new java.text.SimpleDateFormat("hhmmss");
Integer number = (int)(Math.random()*100000)+1;
String uuid = UUID.randomUUID().toString().replace("-", "").toLowerCase().substring(0,5);
code.setValue(value);
code.setValue(Long.toString(value*1024*1024));
code.setCode(SecureUtil.sha256(number+format1.format(new Date())+uuid));
codeService.addCode(code);
val = 1;
val++;
}
return val;
msg.setInfo("已成功生成"+val+"个扩容码");
return msg;
}
}
@@ -92,6 +92,25 @@ public class GroupController {
return msg;
}
@PostMapping("/updateGroup")//new
@ResponseBody
public Msg updategroup(@RequestParam(value = "data", defaultValue = "") String data) {
JSONObject jsonObject = JSONObject.parseObject(data);
Group group = new Group();
group.setId(jsonObject.getInteger("id"));
if(jsonObject.getInteger("id")==1){
group.setGroupname("默认群组");
group.setUsertype(0);
}else{
group.setGroupname(jsonObject.getString("groupname"));
group.setUsertype(jsonObject.getInteger("usertype"));
}
group.setKeyid(jsonObject.getInteger("keyid"));
group.setCompress(jsonObject.getBoolean("compress")?1:0);
Msg msg = groupService.setgroup(group);
return msg;
}
@PostMapping(value = "/deleGroup")//new
@ResponseBody
@@ -8,7 +8,6 @@ import cn.hellohao.utils.*;
import cn.hellohao.utils.verifyCode.IVerifyCodeGen;
import cn.hellohao.utils.verifyCode.SimpleCharVerifyCodeGenImpl;
import cn.hellohao.utils.verifyCode.VerifyCode;
import cn.hutool.core.util.IdUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.apache.shiro.SecurityUtils;
@@ -31,7 +30,6 @@ import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.awt.image.BufferedImage;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.*;
@Controller
@@ -112,14 +110,8 @@ public class IndexController {
}
@RequestMapping("/sentence")
@ResponseBody
public String sentence(HttpSession session, Integer id) {
JSONArray jsonArray = new JSONArray();
String text = Sentence.getURLContent();
jsonArray.add(text);
return jsonArray.toString();
}
@RequestMapping(value = "/getUploadInfo")//new
@@ -151,7 +143,7 @@ public class IndexController {
@RequestMapping("/checkStatus")
@ResponseBody
public Msg checkStatus( HttpSession httpSession,HttpServletRequest request) {
public Msg checkStatus(HttpServletRequest request) {
Msg msg = new Msg();
String token = request.getHeader("Authorization");
if(token != null) {
@@ -254,149 +246,8 @@ public class IndexController {
}
}
@GetMapping(value = "/images/{id}")
@ResponseBody
public Images selectByFy(@PathVariable("id") Integer id) {
return imgService.selectByPrimaryKey(id);
}
@RequestMapping("/{key1}/TOIMG{key2}N.{key3}")
public ResponseEntity<Object> selectByFyOne(final HttpServletRequest request,
HttpServletResponse response,
@PathVariable("key1") String key1, @PathVariable("key2") String key2,
@PathVariable("key3") String key3, Model model){
MediaType mediaType =null;
File file = new File(File.separator+"HellohaoData"+File.separator+key1+"/TOIMG"+key2+"N."+key3);
if (!file.exists()) {
try {
response.sendRedirect("/404");
} catch (IOException e) {
e.printStackTrace();
return ResponseEntity.status(HttpStatus.NOT_FOUND).body("<h1>404 FILE NOT FOUND</h1>");
}
}
if(key3.equals("png")){
mediaType = MediaType.IMAGE_PNG;
}else if(key3.equals("gif")){
mediaType = MediaType.IMAGE_GIF;
}else{
mediaType = MediaType.IMAGE_JPEG;
}
HttpHeaders headers = new HttpHeaders();
headers.add("Cache-Control", "no-cache, no-store, must-revalidate");
// headers.setContentDispositionFormData("attachment", URLUtil.encode(file.getName()));
headers.add("Pragma", "no-cache");
headers.add("Expires", "0");
headers.add("Last-Modified", new Date().toString());
headers.add("ETag", String.valueOf(System.currentTimeMillis()));
return ResponseEntity
.ok()
.headers(headers)
.contentLength(file.length())
.contentType(mediaType)
.body(new FileSystemResource(file));
//return "forward:/links/"+key1+"/TOIMG"+key2+"N."+key3;
}
// @RequestMapping("/{key1:\\d+}/{key2}/{key3}/TOIMG{key4}N.{key5}")
public void selectByFy2(HttpServletRequest request, HttpServletResponse response,
@PathVariable("key1") String key1,@PathVariable("key2") String key2,
@PathVariable("key3") String key3,@PathVariable("key4") String key4,
@PathVariable("key5") String key5,Model model) {
String head = "jpg";
if(key5.equals("jpg")||key5.equals("jpeg")){
head = "jpeg";
}else if(key5.equals("png")){
head = "png";
}else if(key5.equals("bmp")){
head = "bmp";
}else if(key5.equals("gif")){
head = "gif";
}else{
head = key5;
}
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
response.setContentType("image/"+head);
//InputStream is= null;
BufferedImage bi=null;
try {
//is = new FileInputStream(new File(File.separator+"HellohaoData"+File.separator+key1+"/"+key2+"/"+key3+"/TOIMG"+key4+"N."+key5));
bi= ImageIO.read(new File(File.separator+"HellohaoData"+File.separator+key1+"/"+key2+"/"+key3+"/TOIMG"+key4+"N."+key5));
//is.close();
//将图片输出给浏览器
BufferedImage image = (bi) ;
OutputStream os = response.getOutputStream();
ImageIO.write(image, head, os);
} catch (Exception e) {
Print.warning("寻找本地文件出错:"+e.getMessage());
e.printStackTrace();
try {
response.sendRedirect("/404");
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
@GetMapping("/{key1:\\d+}/{key2}/{key3}/TOIMG{key4}N.{key5}")
@ResponseBody
public ResponseEntity<Object> selectByFyTow(final HttpServletRequest request,
HttpServletResponse response,
@PathVariable("key1") String key1,
@PathVariable("key2") String key2,
@PathVariable("key3") String key3,
@PathVariable("key4") String key4,
@PathVariable("key5") String key5) {
MediaType mediaType =null;
File file = new File(File.separator+"HellohaoData"+File.separator+key1+"/"+key2+"/"+key3+"/TOIMG"+key4+"N."+key5);
if (!file.exists()) {
try {
response.sendRedirect("/404");
} catch (IOException e) {
e.printStackTrace();
return ResponseEntity.status(HttpStatus.NOT_FOUND).body("<h1>404 FILE NOT FOUND</h1>");
}
}
if(key5.equals("png")){
mediaType = MediaType.IMAGE_PNG;
}else if(key5.equals("gif")){
mediaType = MediaType.IMAGE_GIF;
}else{
mediaType = MediaType.IMAGE_JPEG;
}
HttpHeaders headers = new HttpHeaders();
headers.add("Cache-Control", "no-cache, no-store, must-revalidate");
// headers.setContentDispositionFormData("attachment", URLUtil.encode(file.getName()));
headers.add("Pragma", "no-cache");
headers.add("Expires", "0");
headers.add("Last-Modified", new Date().toString());
headers.add("ETag", String.valueOf(System.currentTimeMillis()));
return ResponseEntity
.ok()
.headers(headers)
.contentLength(file.length())
.contentType(mediaType)
.body(new FileSystemResource(file));
}
private Integer yzupdate(){
Calendar cal = Calendar.getInstance();
int y=cal.get(Calendar.YEAR);
int m=cal.get(Calendar.MONTH);
int d=cal.get(Calendar.DATE);
//int h=cal.get(Calendar.HOUR_OF_DAY);
//int mm=cal.get(Calendar.MINUTE);
return y+m+d+999;
}
@RequestMapping("/err")
public String err() {
return "err";
}
}
@@ -30,6 +30,8 @@ public interface ImgMapper {
Long getusermemory(@Param("userid") Integer userid);
Long getsourcememory(@Param("source") Integer source);
Integer md5Count(@Param("md5key") String md5key);
Images selectImgUrlByMD5(@Param("md5key") String md5key);
@@ -12,6 +12,7 @@ public interface KeysMapper {
//查询密钥
Keys selectKeys(@Param("id") Integer id);
List<Keys> getStorageName();
List<Keys> getStorage();
//修改key
Integer updateKey(Keys key);
List<Keys> getKeys();
+4 -4
View File
@@ -7,13 +7,13 @@ package cn.hellohao.pojo;
*/
public class Code {
private Integer id;
private Integer value;
private String value;
private String code;
public Code() {
}
public Code(Integer id, Integer value, String code) {
public Code(Integer id, String value, String code) {
this.id = id;
this.value = value;
this.code = code;
@@ -27,11 +27,11 @@ public class Code {
this.id = id;
}
public Integer getValue() {
public String getValue() {
return value;
}
public void setValue(Integer value) {
public void setValue(String value) {
this.value = value;
}
@@ -12,12 +12,16 @@ public class UploadConfig {
private String visitormemory;
private String usermemory;
private String blacklist;
private Integer userclose;
public UploadConfig() {
}
public UploadConfig(String suffix, String filesizetourists, String filesizeuser, Integer imgcounttourists, Integer imgcountuser, Integer urltype, Integer isupdate, Integer api, String visitormemory, String usermemory, String blacklist) {
public UploadConfig(String suffix, String filesizetourists, String filesizeuser, Integer imgcounttourists,
Integer imgcountuser, Integer urltype, Integer isupdate, Integer api, String visitormemory,
String usermemory, String blacklist,Integer userclose) {
this.suffix = suffix;
this.filesizetourists = filesizetourists;
this.filesizeuser = filesizeuser;
@@ -29,6 +33,7 @@ public class UploadConfig {
this.visitormemory = visitormemory;
this.usermemory = usermemory;
this.blacklist = blacklist;
this.userclose = userclose;
}
public String getSuffix() {
@@ -118,4 +123,12 @@ public class UploadConfig {
public void setBlacklist(String blacklist) {
this.blacklist = blacklist;
}
public Integer getUserclose() {
return userclose;
}
public void setUserclose(Integer userclose) {
this.userclose = userclose;
}
}
@@ -18,6 +18,6 @@ public interface GroupService {
Msg addgroup(Group group);
Integer GetCountFroUserType(Integer usertype);
Msg delegroup(Integer id);
Integer setgroup(Group group);
Msg setgroup(Group group);
Group getGroupFroUserType(Integer usertype);
}
@@ -31,6 +31,8 @@ public interface ImgService {
Long getusermemory(Integer userid);
Long getsourcememory(Integer source);
Integer md5Count(String md5key);
Images selectImgUrlByMD5(String md5key);
@@ -2,6 +2,7 @@ package cn.hellohao.service;
import cn.hellohao.pojo.Keys;
import cn.hellohao.pojo.Msg;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -11,7 +12,8 @@ public interface KeysService {
//查询密钥
Keys selectKeys(Integer id);
List<Keys> getStorageName();
List<Keys> getStorage();
//修改key
Integer updateKey(Keys key);
Msg updateKey(Keys key);
List<Keys> getKeys();
}
@@ -83,8 +83,37 @@ public class GroupServiceImpl implements GroupService {
}
@Override
public Integer setgroup(Group group) {
return groupMapper.setgroup(group);
public Msg setgroup(Group group) {
Msg msg = new Msg();
if(group.getUsertype()!=0){
Group groupFroUserType = groupMapper.getGroupFroUserType(group.getUsertype());
if(groupFroUserType!=null){
if(groupFroUserType.getUsertype()==group.getUsertype()){
if(groupFroUserType.getId()==group.getId()){
groupMapper.setgroup(group);
msg.setInfo("修改成功");
}else{
msg.setCode("110401");
msg.setInfo("分配的该用户组已存在。请勿重复分配。");
}
}else{
if(groupMapper.GetCountFroUserType(group.getUsertype())>0){
msg.setCode("110401");
msg.setInfo("分配的该用户组已存在。请勿重复分配。");
}else{
groupMapper.setgroup(group);
msg.setInfo("修改成功");
}
}
}else{
groupMapper.setgroup(group);
msg.setInfo("修改成功");
}
}else{
groupMapper.setgroup(group);
msg.setInfo("修改成功");
}
return msg;
}
@Override
@@ -205,6 +205,11 @@ public class ImgServiceImpl implements ImgService {
return imgMapper.getusermemory(userid);
}
@Override
public Long getsourcememory(Integer source) {
return imgMapper.getsourcememory(source);
}
@Override
public Integer md5Count(String md5key) {
return imgMapper.md5Count(md5key);
@@ -1,5 +1,7 @@
package cn.hellohao.service.impl;
import cn.hellohao.pojo.Msg;
import cn.hellohao.utils.Print;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -15,6 +17,22 @@ public class KeysServiceImpl implements KeysService {
@Autowired
private KeysMapper keysMapper;
@Autowired
private NOSImageupload nOSImageupload;
@Autowired
private OSSImageupload ossImageupload;
@Autowired
private USSImageupload ussImageupload;
@Autowired
private KODOImageupload kodoImageupload;
@Autowired
private COSImageupload cosImageupload;
@Autowired
private FTPImageupload ftpImageupload;
@Autowired
private UFileImageupload uFileImageupload;
@Override
public Keys selectKeys(Integer id) {
// TODO Auto-generated method stub
@@ -24,10 +42,52 @@ public class KeysServiceImpl implements KeysService {
public List<Keys> getStorageName() {
return keysMapper.getStorageName();
}
@Override
public Integer updateKey(Keys key) {
// TODO Auto-generated method stub
return keysMapper.updateKey(key);
public List<Keys> getStorage() {
return keysMapper.getStorage();
}
@Override
public Msg updateKey(Keys key) {
Msg msg = new Msg();
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()==5){
ret = 1;
}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){
keysMapper.updateKey(key);
msg.setInfo("保存成功");
}else{
if(key.getStorageType()==5){
keysMapper.updateKey(key);
msg.setInfo("保存成功");
}else{
msg.setCode("4002");
msg.setInfo("对象存储初始化失败,请检查参数是否正确");
}
}
return msg;
}
@Override
@@ -65,11 +65,15 @@ public class SetFiles {
if (fileS < 1024) {
fileSizeString = df.format((double) fileS) + "B";
} else if (fileS < 1048576) {
fileSizeString = df.format((double) fileS / 1024) + "K";
fileSizeString = df.format((double) fileS / 1024) + "KB";
} else if (fileS < 1073741824) {
fileSizeString = df.format((double) fileS / 1048576) + "M";
fileSizeString = df.format((double) fileS / 1048576) + "MB";
} else {
fileSizeString = df.format((double) fileS / 1073741824) + "G";
if(fileS < 1099511627776L){
fileSizeString = df.format((double) fileS / 1073741824) + "GB";
}else{
fileSizeString = df.format((double) fileS / 1099511627776L) + "TB";
}
}
return fileSizeString;
}
+5
View File
@@ -109,6 +109,11 @@
SELECT sum(sizes) as sizes FROM `imgdata` where userid = #{userid}
</select>
<!-- 获取指定对象存储的已用空间 -->
<select id="getsourcememory" parameterType="integer" resultType="long">
SELECT sum(sizes) as sizes FROM `imgdata` where source = #{source}
</select>
<select id="md5Count" resultType="integer">
select count(*) from imgdata
<where>
+20 -1
View File
@@ -16,6 +16,24 @@
<select id="getStorageName" resultType="cn.hellohao.pojo.Keys">
select id,keyname,storageType from `keys`
</select>
<!-- 查询对象存储有多少种-->
<select id="getStorage" resultType="cn.hellohao.pojo.Keys">
SELECT id,storageType,
CASE WHEN storageType=1 THEN '网易云'
WHEN storageType=2 THEN '阿里云'
WHEN storageType=3 THEN '又拍云'
WHEN storageType=4 THEN '七牛云'
WHEN storageType=5 THEN '本地'
WHEN storageType=6 THEN '腾讯云'
WHEN storageType=7 THEN 'FTP'
WHEN storageType=8 THEN 'UFile'
ELSE '未知' END AS storageName,
keyname
FROM `keys` GROUP BY storageType
</select>
<!-- 查询对象存储key-->
<select id="getKeys" parameterType="integer" resultType="cn.hellohao.pojo.Keys">
SELECT
@@ -30,7 +48,8 @@
AccessSecret = #{AccessSecret},
Endpoint = #{Endpoint},
Bucketname = #{Bucketname},
RequestAddress = #{RequestAddress}
RequestAddress = #{RequestAddress},
keyname = #{keyname}
WHERE
storageType = #{storageType}
</update>