添加文件列表查询条件

master
chen 3 years ago
parent 37bd21ccfc
commit abb95641d2
  1. 93
      src/main/java/com/huoran/iasf/controller/SiteController.java
  2. 33
      src/main/java/com/huoran/iasf/controller/SysFilesController.java
  3. 22
      src/main/java/com/huoran/iasf/controller/UserController.java
  4. 45
      src/main/java/com/huoran/iasf/entity/Site.java
  5. 16
      src/main/java/com/huoran/iasf/mapper/SiteMapper.java
  6. 5
      src/main/java/com/huoran/iasf/mapper/xml/SiteMapper.xml
  7. 4
      src/main/java/com/huoran/iasf/mapper/xml/SysUserMapper.xml
  8. 16
      src/main/java/com/huoran/iasf/service/SiteService.java
  9. 4
      src/main/java/com/huoran/iasf/service/SysFilesService.java
  10. 20
      src/main/java/com/huoran/iasf/service/impl/SiteServiceImpl.java
  11. 61
      src/main/java/com/huoran/iasf/service/impl/SysFilesServiceImpl.java
  12. 38
      src/main/java/com/huoran/iasf/service/impl/UserServiceImpl.java
  13. 34
      src/main/java/com/huoran/iasf/vo/UEditorResultVO.java
  14. 3
      src/main/java/com/huoran/iasf/vo/resp/UserListResp.java

@ -0,0 +1,93 @@
package com.huoran.iasf.controller;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.huoran.iasf.common.aop.annotation.LogAnnotation;
import com.huoran.iasf.common.utils.R;
import com.huoran.iasf.entity.Site;
import com.huoran.iasf.service.SiteService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* <p>
* 站点管理 前端控制器
* </p>
*
* @author cheney
* @since 2022-08-24
*/
@RestController
@RequestMapping("/sys/site")
@Api(tags = "站点管理")
public class SiteController {
@Autowired
private SiteService siteService;
@PostMapping("/add")
@ApiOperation(value = "新增站点")
@LogAnnotation(title = "站点管理", action = "新增站点")
@RequiresPermissions("sys:site:add")
public R addUserGroup(@RequestBody Site site) {
Site one = siteService.getOne(new QueryWrapper<Site>().
eq("site_name", site.getSiteName()));
if (ObjectUtil.isNotNull(one)){
R.fail("站点已存在");
}
siteService.save(site);
return R.success();
}
@DeleteMapping("/delete/{id}")
@ApiOperation(value = "删除站点")
@LogAnnotation(title = "站点管理", action = "删除站点")
@RequiresPermissions("sys:site:deleted")
public R deleted(@PathVariable("id") Integer id) {
siteService.removeById(id);
return R.success();
}
@PutMapping("/update")
@ApiOperation(value = "更新站点")
@LogAnnotation(title = "站点管理", action = "更新站点")
@RequiresPermissions("sys:site:update")
public R updateUserGroup(@RequestBody Site site) {
if (StringUtils.isEmpty(site.getId())) {
return R.fail("id不能为空");
}
QueryWrapper<Site> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("domain_name", site.getDomainName());
queryWrapper.last(" and id != " + site.getId());
List<Site> groups = siteService.list(queryWrapper);
if (ObjectUtil.isNotNull(groups) && groups.size()>0){
R.fail("域名已存在");
}
siteService.updateById(site);
return R.success();
}
@PostMapping("/list")
@ApiOperation(value = "站点列表")
@LogAnnotation(title = "站点管理", action = "获取所有站点")
@RequiresPermissions("sys:site:list")
public R getUserGroupAll(@RequestBody Site site) {
LambdaQueryWrapper<Site> queryWrapper = Wrappers.lambdaQuery();
if (!StringUtils.isEmpty(site.getSiteName())) {
queryWrapper.like(Site::getSiteName, site.getSiteName());
}
IPage<Site> iPage = siteService.page(site.getQueryPage(),queryWrapper);
return R.success(iPage);
}
}

@ -1,16 +1,17 @@
package com.huoran.iasf.controller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.huoran.iasf.common.utils.R;
import com.huoran.iasf.entity.SysFilesEntity;
import com.huoran.iasf.service.SysFilesService;
import com.huoran.iasf.vo.UEditorResultVO;
import com.huoran.iasf.vo.req.FileParameters;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.shiro.authz.annotation.Logical;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
@ -19,6 +20,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
@ -36,13 +38,30 @@ public class SysFilesController {
@Resource
private SysFilesService sysFilesService;
@ApiOperation(value = "上传文件前获取配置文件")
@GetMapping("/upload")
public String upload(@RequestParam(required = false) String action,HttpServletResponse response) throws IOException {
// response.sendRedirect("static/ueditor/config.json");
// return "redirect:static/ueditor/config.json";
// 将获取的json数据封装一层,然后在给返回
JSONObject result = new JSONObject();
result.put("imageActionName", "upload");
result.put("imageFieldName", "file");
return result.toJSONString();
}
@ApiOperation(value = "新增")
@PostMapping("/upload")
@RequiresPermissions(value = {"sysFiles:add", "sysContent:update", "sysContent:add"}, logical = Logical.OR)
public R add(@RequestParam(value = "file") MultipartFile file, FileParameters fileParameters) {
// @RequiresPermissions(value = {"sysFiles:add", "sysContent:update", "sysContent:add"}, logical = Logical.OR)
public UEditorResultVO add(
@RequestParam(required = false) String action,
@RequestParam(value = "file") MultipartFile file, FileParameters fileParameters) {
//判断文件是否空
if (file == null || file.getOriginalFilename() == null || "".equalsIgnoreCase(file.getOriginalFilename().trim())) {
return R.fail("文件为空");
UEditorResultVO uEditorResult = new UEditorResultVO();
uEditorResult.setState("error");
return uEditorResult;
}
return sysFilesService.saveFile(file,fileParameters);
}
@ -75,6 +94,12 @@ public class SysFilesController {
if (!StringUtils.isEmpty(sysFiles.getFileName())) {
queryWrapper.like(SysFilesEntity::getFileName, sysFiles.getFileName());
}
if (!StringUtils.isEmpty(sysFiles.getUploader())) {
queryWrapper.like(SysFilesEntity::getUploader, sysFiles.getUploader());
}
if (!StringUtils.isEmpty(sysFiles.getQuote())) {
queryWrapper.like(SysFilesEntity::getQuote, sysFiles.getQuote());
}
if (!StringUtils.isEmpty(sysFiles.getType())) {
queryWrapper.eq(SysFilesEntity::getType, sysFiles.getType());
}

@ -103,7 +103,6 @@ public class UserController {
@GetMapping("/checkJobNumber")
@ApiOperation(value = "工号验证")
// @LogAnnotation(title = "用户管理", action = "工号验证")
public R checkJobNumber(@RequestParam String jobNumber) {
SysUser sysUser = userService.getOne(Wrappers.<SysUser>lambdaQuery().eq(SysUser::getJobNumber, jobNumber));
if (sysUser != null) {
@ -114,7 +113,6 @@ public class UserController {
@GetMapping("/checkUsername")
@ApiOperation(value = "账号验证")
// @LogAnnotation(title = "用户管理", action = "工号验证")
public R checkUsername(@RequestParam String userName) {
SysUser sysUser = userService.getOne(Wrappers.<SysUser>lambdaQuery().eq(SysUser::getUsername, userName));
if (sysUser != null) {
@ -123,6 +121,26 @@ public class UserController {
return R.success();
}
@GetMapping("/checkEmail")
@ApiOperation(value = "邮箱验证")
public R checkEmail(@RequestParam String email) {
SysUser sysUser = userService.getOne(Wrappers.<SysUser>lambdaQuery().eq(SysUser::getEmail, email));
if (sysUser != null) {
R.fail("邮箱已存在,请勿重复添加!");
}
return R.success();
}
@GetMapping("/checkPhone")
@ApiOperation(value = "手机验证")
public R checkPhone(@RequestParam String phone) {
SysUser sysUser = userService.getOne(Wrappers.<SysUser>lambdaQuery().eq(SysUser::getPhone, phone));
if (sysUser != null) {
R.fail("手机号已存在,请勿重复添加!");
}
return R.success();
}
@ApiOperation(value = "密码重置", notes = "密码重置")
@GetMapping("/resetPwd")
public R resetPwd(@RequestParam("userId") String userId) {

@ -0,0 +1,45 @@
package com.huoran.iasf.entity;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* 站点管理
* </p>
*
* @author cheney
* @since 2022-08-24
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("sys_site")
@ApiModel(value="Site对象", description="站点管理")
public class Site extends BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "主键")
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty(value = "站点名称")
private String siteName;
@ApiModelProperty(value = "域名")
private String domainName;
@TableField(fill = FieldFill.INSERT)
private Date createTime;
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
}

@ -0,0 +1,16 @@
package com.huoran.iasf.mapper;
import com.huoran.iasf.entity.Site;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 站点管理 Mapper 接口
* </p>
*
* @author cheney
* @since 2022-08-24
*/
public interface SiteMapper extends BaseMapper<Site> {
}

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.huoran.iasf.mapper.SiteMapper">
</mapper>

@ -56,7 +56,8 @@
sys_user s
where s.deleted = 1
<if test="req.keyWord != '' and req.keyWord != null">
AND CONCAT(s.username LIKE '%' #{req.keyWord} '%' or s.real_name LIKE '%' #{req.keyWord} '%')
AND CONCAT(s.username LIKE '%' #{req.keyWord} '%' or s.real_name LIKE '%' #{req.keyWord} '%'
or s.job_number LIKE '%' #{req.keyWord} '%'or s.phone LIKE '%' #{req.keyWord} '%')
</if>
GROUP BY
s.id
@ -75,6 +76,7 @@
<select id="detailInfo" resultType="com.huoran.iasf.vo.resp.UserListResp">
SELECT
s.id,
s.sex,
s.real_name,
s.STATUS,
s.job_number,

@ -0,0 +1,16 @@
package com.huoran.iasf.service;
import com.huoran.iasf.entity.Site;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 站点管理 服务类
* </p>
*
* @author cheney
* @since 2022-08-24
*/
public interface SiteService extends IService<Site> {
}

@ -1,8 +1,8 @@
package com.huoran.iasf.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.huoran.iasf.common.utils.R;
import com.huoran.iasf.entity.SysFilesEntity;
import com.huoran.iasf.vo.UEditorResultVO;
import com.huoran.iasf.vo.req.FileParameters;
import org.springframework.web.multipart.MultipartFile;
@ -19,7 +19,7 @@ import java.util.List;
*/
public interface SysFilesService extends IService<SysFilesEntity> {
R saveFile(MultipartFile file, FileParameters fileParameters);
UEditorResultVO saveFile(MultipartFile file, FileParameters fileParameters);
void removeByIdsAndFiles(List<String> ids);

@ -0,0 +1,20 @@
package com.huoran.iasf.service.impl;
import com.huoran.iasf.entity.Site;
import com.huoran.iasf.mapper.SiteMapper;
import com.huoran.iasf.service.SiteService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 站点管理 服务实现类
* </p>
*
* @author cheney
* @since 2022-08-24
*/
@Service
public class SiteServiceImpl extends ServiceImpl<SiteMapper, Site> implements SiteService {
}

@ -8,10 +8,10 @@ import com.huoran.iasf.common.config.FileUploadProperties;
import com.huoran.iasf.common.exception.BusinessException;
import com.huoran.iasf.common.exception.code.BaseResponseCode;
import com.huoran.iasf.common.utils.DateUtils;
import com.huoran.iasf.common.utils.R;
import com.huoran.iasf.entity.SysFilesEntity;
import com.huoran.iasf.mapper.SysFilesMapper;
import com.huoran.iasf.service.SysFilesService;
import com.huoran.iasf.vo.UEditorResultVO;
import com.huoran.iasf.vo.req.FileParameters;
import org.apache.commons.io.FileUtils;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
@ -26,8 +26,13 @@ import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.URLEncoder;
import java.util.*;
import java.util.Date;
import java.util.Enumeration;
import java.util.List;
import java.util.UUID;
import java.util.regex.Pattern;
/**
@ -45,7 +50,7 @@ public class SysFilesServiceImpl extends ServiceImpl<SysFilesMapper, SysFilesEnt
private FileUploadProperties fileUploadProperties;
@Override
public R saveFile(MultipartFile file, FileParameters fileParameters) {
public UEditorResultVO saveFile(MultipartFile file, FileParameters fileParameters) {
if (ObjectUtil.isEmpty(file) || file.getSize() <= 0) {
throw new BusinessException(BaseResponseCode.UPLOAD_EMPTY);
}
@ -85,18 +90,60 @@ public class SysFilesServiceImpl extends ServiceImpl<SysFilesMapper, SysFilesEnt
sysFilesEntity.setSite(fileParameters.getSite());
sysFilesEntity.setType(fileCheck(suffixName));
this.save(sysFilesEntity);
// String hostAddress = InetAddress.getLocalHost().getHostAddress();
String hostAddress = getLocalHostExactAddress().getHostAddress();
// String url = fileUploadProperties.getUrl() + "/preview" + "/" + sysFilesEntity.getId();
String url = "http://" + getRemoteIP() + fileUploadProperties.getUrl() + sysFilesEntity.getId();
String url = "http://" + hostAddress + fileUploadProperties.getUrl() + sysFilesEntity.getId();
sysFilesEntity.setUrl(url);
this.updateById(sysFilesEntity);
Map<String, String> resultMap = new HashMap<>();
resultMap.put("url", url);
return R.success(resultMap);
UEditorResultVO uEditorResult = new UEditorResultVO();
uEditorResult.setState("SUCCESS");
uEditorResult.setUrl(url);
uEditorResult.setTitle(fileNameNew);
uEditorResult.setOriginal(fileName);
return uEditorResult;
// return R.success(resultMap);
} catch (Exception e) {
throw new BusinessException(BaseResponseCode.UPLOAD_FAILED);
}
}
public static InetAddress getLocalHostExactAddress() {
try {
InetAddress candidateAddress = null;
Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();
while (networkInterfaces.hasMoreElements()) {
NetworkInterface iface = networkInterfaces.nextElement();
// 该网卡接口下的ip会有多个,也需要一个个的遍历,找到自己所需要的
for (Enumeration<InetAddress> inetAddrs = iface.getInetAddresses(); inetAddrs.hasMoreElements(); ) {
InetAddress inetAddr = inetAddrs.nextElement();
// 排除loopback回环类型地址(不管是IPv4还是IPv6 只要是回环地址都会返回true)
if (!inetAddr.isLoopbackAddress()) {
if (inetAddr.isSiteLocalAddress()) {
// 如果是site-local地址,就是它了 就是我们要找的
// ~~~~~~~~~~~~~绝大部分情况下都会在此处返回你的ip地址值~~~~~~~~~~~~~
return inetAddr;
}
// 若不是site-local地址 那就记录下该地址当作候选
if (candidateAddress == null) {
candidateAddress = inetAddr;
}
}
}
}
// 如果出去loopback回环地之外无其它地址了,那就回退到原始方案吧
return candidateAddress == null ? InetAddress.getLocalHost() : candidateAddress;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 获取请求ip地址
* @throws Exception Exception

@ -136,6 +136,7 @@ public class UserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impleme
String token = httpSessionService.createTokenAndUser(sysUser, roleService.getRoleNames(sysUser.getId()), permissionService.getPermissionsByUserId(sysUser.getId()));
respVO.setAccessToken(token);
respVO.setPermissionList(menus);
respVO.setUsername(sysUser.getRealName());
return respVO;
}
@ -198,6 +199,7 @@ public class UserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impleme
UserDept userDept = new UserDept();
userDept.setUserId(vo.getId());
userDept.setDeptId(deptId);
userDeptMapper.insert(userDept);
}
}
@ -254,38 +256,6 @@ public class UserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impleme
@Override
public R pageInfo(UserListReq userListReq) {
/*LambdaQueryWrapper<SysUser> queryWrapper = Wrappers.lambdaQuery();
if (!StringUtils.isEmpty(vo.getUsername())) {
queryWrapper.like(SysUser::getUsername, vo.getUsername());
}
*//* if (!StringUtils.isEmpty(vo.getStartTime())) {
queryWrapper.gt(SysUser::getCreateTime, vo.getStartTime());
}
if (!StringUtils.isEmpty(vo.getEndTime())) {
queryWrapper.lt(SysUser::getCreateTime, vo.getEndTime());
}*//*
*//* if (!StringUtils.isEmpty(vo.getNickName())) {
queryWrapper.like(SysUser::getNickName, vo.getNickName());
}*//*
if (null != vo.getStatus()) {
queryWrapper.eq(SysUser::getStatus, vo.getStatus());
}
// if (!StringUtils.isEmpty(vo.getDeptNo())) {
// LambdaQueryWrapper<SysDept> queryWrapperDept = Wrappers.lambdaQuery();
// queryWrapperDept.select(SysDept::getId).like(SysDept::getRelationCode, vo.getDeptNo());
// List<Object> list = sysDeptMapper.selectObjs(queryWrapperDept);
// queryWrapper.in(SysUser::getDeptId, list);
// }
queryWrapper.orderByDesc(SysUser::getCreateTime);
IPage<SysUser> iPage = sysUserMapper.selectPage(vo.getQueryPage(), queryWrapper);
if (!CollectionUtils.isEmpty(iPage.getRecords())) {
for (SysUser sysUser : iPage.getRecords()) {
*//*SysDept sysDept = sysDeptMapper.selectById(sysUser.getDeptId());
if (sysDept != null) {
sysUser.setDeptName(sysDept.getName());
}*//*
}
}*/
//查询未加入部门的员工,部门id一定清空
if (userListReq.getType()==2){
userListReq.setDeptArchitectureId(null);
@ -332,10 +302,6 @@ public class UserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impleme
if (sysUser == null) {
throw new BusinessException(BaseResponseCode.DATA_ERROR);
}
/* if ("test".equals(env) && "guest".equals(sysUser.getUsername())) {
throw new BusinessException("演示环境禁止修改演示账号密码");
}*/
if (!PasswordUtils.matches(sysUser.getSalt(), vo.getOldPwd(), sysUser.getPassword())) {
throw new BusinessException(BaseResponseCode.OLD_PASSWORD_ERROR);
}

@ -0,0 +1,34 @@
package com.huoran.iasf.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author chen
* @DATE 2022/8/25 11:37
* @Version 1.0
*/
@Data
public class UEditorResultVO {
/**
* 上传结果
*/
@ApiModelProperty(value = "上传结果")
private String state;
/**
* 原图名称
*/
@ApiModelProperty(value = "原图名称")
private String original;
/**
* 保存名称
*/
@ApiModelProperty(value = "保存名称")
private String title;
/**
* 文件路径
*/
@ApiModelProperty(value = "文件路径")
private String url;
}

@ -26,6 +26,9 @@ public class UserListResp {
@ApiModelProperty(value = "用户组id")
private String groupId;
@ApiModelProperty(value = "性别(1.男 2.女)")
private Integer sex;
@ApiModelProperty(value = "用户组名称")
private String groupName;

Loading…
Cancel
Save