Browse Source

文件上传后台配置

master
La123123 4 weeks ago
parent
commit
ec1415c778
  1. 11
      im-platform/src/main/java/com/bx/implatform/controller/FileController.java
  2. 17
      im-platform/src/main/java/com/bx/implatform/controller/LoginController.java
  3. 5
      im-platform/src/main/java/com/bx/implatform/entity/ImAgent.java
  4. 2
      im-platform/src/main/java/com/bx/implatform/service/ImAgentService.java
  5. 33
      im-platform/src/main/java/com/bx/implatform/service/impl/ImAgentServiceImpl.java
  6. 3254
      im-uniapp/pages/chat/chat-box.vue

11
im-platform/src/main/java/com/bx/implatform/controller/FileController.java

@ -1,8 +1,10 @@
package com.bx.implatform.controller;
import com.bx.implatform.enums.ResultCode;
import com.bx.implatform.result.Result;
import com.bx.implatform.result.ResultUtils;
import com.bx.implatform.service.FileService;
import com.bx.implatform.service.ImAgentService;
import com.bx.implatform.vo.UploadImageVO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
@ -22,6 +24,8 @@ public class FileController {
private final FileService fileService;
private final ImAgentService agentService;
@Operation(summary = "上传图片", description = "上传图片,上传后返回原图和缩略图的url")
@PostMapping("/image/upload")
public Result<UploadImageVO> uploadImage(@RequestParam("file") MultipartFile file,
@ -30,8 +34,13 @@ public class FileController {
}
@Operation(summary = "上传文件", description = "上传文件,上传后返回文件url")
//@PostMapping("/file/upload")
@PostMapping("/file/upload")
public Result<String> uploadFile(@RequestParam("file") MultipartFile file) {
if (!agentService.ifOpenFile()) {
return ResultUtils.error(ResultCode.XSS_PARAM_ERROR);
}
return ResultUtils.success(fileService.uploadFile(file), Strings.EMPTY);
}

17
im-platform/src/main/java/com/bx/implatform/controller/LoginController.java

@ -1,10 +1,12 @@
package com.bx.implatform.controller;
import cn.hutool.json.JSONObject;
import com.bx.implatform.dto.LoginDTO;
import com.bx.implatform.dto.ModifyPwdDTO;
import com.bx.implatform.dto.RegisterDTO;
import com.bx.implatform.result.Result;
import com.bx.implatform.result.ResultUtils;
import com.bx.implatform.service.ImAgentService;
import com.bx.implatform.service.UserService;
import com.bx.implatform.vo.LoginVO;
import com.github.xiaoymin.knife4j.annotations.Ignore;
@ -21,6 +23,8 @@ public class LoginController {
private final UserService userService;
private final ImAgentService agentService;
@PostMapping("/login")
@Operation(summary = "用户登录", description = "用户登录")
public Result<LoginVO> login(@Valid @RequestBody LoginDTO dto) {
@ -56,4 +60,17 @@ public class LoginController {
return ResultUtils.success();
}
@PostMapping("/getSetting")
@Operation(summary = "获取配置", description = "用户注册")
public Result register() {
JSONObject jsonObject = new JSONObject();
if(agentService.ifOpenFile()){
jsonObject.set("isFileOpen", 1);
}else{
jsonObject.set("isFileOpen", 0);
}
return ResultUtils.success(jsonObject);
}
}

5
im-platform/src/main/java/com/bx/implatform/entity/ImAgent.java

@ -60,4 +60,9 @@ public class ImAgent {
* 客服人数上限
*/
private Long maxCustomer;
/**
* 是否开启文件上传
*/
private int isFileOpen;
}

2
im-platform/src/main/java/com/bx/implatform/service/ImAgentService.java

@ -11,4 +11,6 @@ public interface ImAgentService extends IService<ImAgent> {
* @return 如果套餐过期返回true否则返回false
*/
boolean isPackageExpire(String uniqueToken);
boolean ifOpenFile();
}

33
im-platform/src/main/java/com/bx/implatform/service/impl/ImAgentServiceImpl.java

@ -1,10 +1,14 @@
package com.bx.implatform.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.bx.implatform.entity.ImAgent;
import com.bx.implatform.entity.User;
import com.bx.implatform.mapper.ImAgentMapper;
import com.bx.implatform.mapper.UserMapper;
import com.bx.implatform.service.ImAgentService;
import com.bx.implatform.session.SessionContext;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@ -18,6 +22,8 @@ public class ImAgentServiceImpl extends ServiceImpl<ImAgentMapper, ImAgent> impl
private final ImAgentMapper baseMapper;
private final UserMapper userMapper;
@Override
public boolean isPackageExpire(String uniqueToken) {
LambdaQueryWrapper <ImAgent> queryWrapper = new LambdaQueryWrapper<>();
@ -35,4 +41,31 @@ public class ImAgentServiceImpl extends ServiceImpl<ImAgentMapper, ImAgent> impl
//过期
return expireTime.before(new Date());
}
@Override
public boolean ifOpenFile() {
Long userId = SessionContext.getSession().getUserId();
if(userId == null) {
return false;
}
User user = userMapper.selectById(userId);
if(user == null || ObjectUtil.isEmpty(user)){
return false;
}
String token = user.getUniqueToken();
if(token == null || ObjectUtil.isEmpty(token)){
return false;
}
ImAgent imAgent = baseMapper.selectOne(new LambdaQueryWrapper<ImAgent>().eq(ImAgent::getUniqueToken, token));
if(imAgent == null || ObjectUtil.isEmpty(imAgent)) {
return false;
}
int isFileOpen = imAgent.getIsFileOpen();
return isFileOpen == 1;
}
}

3254
im-uniapp/pages/chat/chat-box.vue

File diff suppressed because it is too large
Loading…
Cancel
Save