package com.nq.controller.backend; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; import com.google.common.collect.Maps; import com.nq.common.ServerResponse; import com.nq.pojo.SiteAdmin; import com.nq.service.IFileUploadService; import com.nq.service.ISiteAdminService; import com.nq.utils.PropertiesUtil; import java.io.File; import java.io.IOException; import java.time.LocalDate; import java.util.Map; import java.util.UUID; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; @Controller @RequestMapping({"/admin/"}) public class AdminController { private static final Logger log = LoggerFactory.getLogger(AdminController.class); @Autowired ISiteAdminService iSiteAdminService; @Autowired IFileUploadService iFileUploadService; //分页查询管理设置 所有管理列表数据及模糊查询 @RequestMapping({"list.do"}) @ResponseBody public ServerResponse list(@RequestParam(value = "adminName", required = false) String adminName, @RequestParam(value = "adminPhone", required = false) String adminPhone, @RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize, HttpServletRequest request) { return this.iSiteAdminService.listByAdmin(adminName, adminPhone, request, pageNum, pageSize); } //修改管理员状态 锁定管理员/解锁管理员 @RequestMapping({"updateLock.do"}) @ResponseBody public ServerResponse updateLock(Integer adminId) { return this.iSiteAdminService.updateLock(adminId); } //管理设置 添加管理员 @RequestMapping({"add.do"}) @ResponseBody public ServerResponse add(SiteAdmin siteAdmin) { return this.iSiteAdminService.add(siteAdmin); } //管理设置 修改管理员密码 @RequestMapping({"update.do"}) @ResponseBody public ServerResponse update(SiteAdmin siteAdmin) { return this.iSiteAdminService.update(siteAdmin); } //查询首页 资金情况、持仓情况、盈亏信息、提现情况、股票信息、代理信息 @RequestMapping({"count.do"}) @ResponseBody public ServerResponse count() { return this.iSiteAdminService.count(); } //处理图片上传 @RequestMapping({"upload.do"}) @ResponseBody public ServerResponse upload(HttpSession session, @RequestParam(value = "upload_file", required = false) MultipartFile file, HttpServletRequest request) { // 兼容c端组件上传原理 String fileType = file.getOriginalFilename(); if (StrUtil.isEmpty(fileType) || fileType.contains("blob")) { fileType = "blob.png"; } String fileName = file.getOriginalFilename(); String fileExtentionName = fileName.substring(fileName.lastIndexOf(".") + 1); // 生成唯一的文件名 String id = UUID.randomUUID().toString(); String path = LocalDate.now() + "/" + id + "." + fileExtentionName; // 确保目标文件夹存在 File targetDir = new File(PropertiesUtil.getProperty("loca.images.dir") + "/" + LocalDate.now()); if (!targetDir.exists()) { targetDir.mkdirs(); } // 构建本地文件路径 File localFile = new File(targetDir, id + "." + fileExtentionName); // 打印上传路径 log.info("LocalFileUploadService uploadFile localFilePath: {}", localFile.getAbsolutePath()); try { // 将文件保存到本地 file.transferTo(localFile); } catch (IOException e) { log.error("LocalFileUploadService uploadFile IOException", e.getMessage(), e); } String url = PropertiesUtil.getProperty("ftp.server.http.prefix") + path; // 返回相对路径 return ServerResponse.createBySuccess(url); } //删除管理员 @RequestMapping({"deleteAdmin.do"}) @ResponseBody public ServerResponse deleteAdmin(Integer adminId) { return this.iSiteAdminService.deleteAdmin(adminId); } }