From abb95641d27f36df61d7c2c6a6e9f225b2c3d233 Mon Sep 17 00:00:00 2001 From: chen <1251790704@qq.com> Date: Fri, 26 Aug 2022 18:26:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=96=87=E4=BB=B6=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iasf/controller/SiteController.java | 93 +++++++++++++++++++ .../iasf/controller/SysFilesController.java | 33 ++++++- .../iasf/controller/UserController.java | 22 ++++- .../java/com/huoran/iasf/entity/Site.java | 45 +++++++++ .../com/huoran/iasf/mapper/SiteMapper.java | 16 ++++ .../com/huoran/iasf/mapper/xml/SiteMapper.xml | 5 + .../huoran/iasf/mapper/xml/SysUserMapper.xml | 4 +- .../com/huoran/iasf/service/SiteService.java | 16 ++++ .../huoran/iasf/service/SysFilesService.java | 4 +- .../iasf/service/impl/SiteServiceImpl.java | 20 ++++ .../service/impl/SysFilesServiceImpl.java | 61 ++++++++++-- .../iasf/service/impl/UserServiceImpl.java | 38 +------- .../com/huoran/iasf/vo/UEditorResultVO.java | 34 +++++++ .../com/huoran/iasf/vo/resp/UserListResp.java | 3 + 14 files changed, 342 insertions(+), 52 deletions(-) create mode 100644 src/main/java/com/huoran/iasf/controller/SiteController.java create mode 100644 src/main/java/com/huoran/iasf/entity/Site.java create mode 100644 src/main/java/com/huoran/iasf/mapper/SiteMapper.java create mode 100644 src/main/java/com/huoran/iasf/mapper/xml/SiteMapper.xml create mode 100644 src/main/java/com/huoran/iasf/service/SiteService.java create mode 100644 src/main/java/com/huoran/iasf/service/impl/SiteServiceImpl.java create mode 100644 src/main/java/com/huoran/iasf/vo/UEditorResultVO.java diff --git a/src/main/java/com/huoran/iasf/controller/SiteController.java b/src/main/java/com/huoran/iasf/controller/SiteController.java new file mode 100644 index 0000000..1c02372 --- /dev/null +++ b/src/main/java/com/huoran/iasf/controller/SiteController.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; + +/** + *

+ * 站点管理 前端控制器 + *

+ * + * @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(). + 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 queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("domain_name", site.getDomainName()); + queryWrapper.last(" and id != " + site.getId()); + List 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 queryWrapper = Wrappers.lambdaQuery(); + if (!StringUtils.isEmpty(site.getSiteName())) { + queryWrapper.like(Site::getSiteName, site.getSiteName()); + } + IPage iPage = siteService.page(site.getQueryPage(),queryWrapper); + return R.success(iPage); + } +} + diff --git a/src/main/java/com/huoran/iasf/controller/SysFilesController.java b/src/main/java/com/huoran/iasf/controller/SysFilesController.java index 8b2f4d3..e7d58d5 100644 --- a/src/main/java/com/huoran/iasf/controller/SysFilesController.java +++ b/src/main/java/com/huoran/iasf/controller/SysFilesController.java @@ -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()); } diff --git a/src/main/java/com/huoran/iasf/controller/UserController.java b/src/main/java/com/huoran/iasf/controller/UserController.java index 9d30870..23960ad 100644 --- a/src/main/java/com/huoran/iasf/controller/UserController.java +++ b/src/main/java/com/huoran/iasf/controller/UserController.java @@ -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.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.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.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.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) { diff --git a/src/main/java/com/huoran/iasf/entity/Site.java b/src/main/java/com/huoran/iasf/entity/Site.java new file mode 100644 index 0000000..ba8d8a1 --- /dev/null +++ b/src/main/java/com/huoran/iasf/entity/Site.java @@ -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; + +/** + *

+ * 站点管理 + *

+ * + * @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; + + +} diff --git a/src/main/java/com/huoran/iasf/mapper/SiteMapper.java b/src/main/java/com/huoran/iasf/mapper/SiteMapper.java new file mode 100644 index 0000000..81f935e --- /dev/null +++ b/src/main/java/com/huoran/iasf/mapper/SiteMapper.java @@ -0,0 +1,16 @@ +package com.huoran.iasf.mapper; + +import com.huoran.iasf.entity.Site; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 站点管理 Mapper 接口 + *

+ * + * @author cheney + * @since 2022-08-24 + */ +public interface SiteMapper extends BaseMapper { + +} diff --git a/src/main/java/com/huoran/iasf/mapper/xml/SiteMapper.xml b/src/main/java/com/huoran/iasf/mapper/xml/SiteMapper.xml new file mode 100644 index 0000000..450e622 --- /dev/null +++ b/src/main/java/com/huoran/iasf/mapper/xml/SiteMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/java/com/huoran/iasf/mapper/xml/SysUserMapper.xml b/src/main/java/com/huoran/iasf/mapper/xml/SysUserMapper.xml index bbe95ac..e5920a4 100644 --- a/src/main/java/com/huoran/iasf/mapper/xml/SysUserMapper.xml +++ b/src/main/java/com/huoran/iasf/mapper/xml/SysUserMapper.xml @@ -56,7 +56,8 @@ sys_user s where s.deleted = 1 - 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} '%') GROUP BY s.id @@ -75,6 +76,7 @@