From dad081905c3267d14e74c139fddcb7a5f731415f Mon Sep 17 00:00:00 2001
From: huangzj <826100833@qq.com>
Date: Thu, 10 Aug 2023 18:50:58 +0800
Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=A4=B4=E5=83=8F=E6=9B=B4?=
=?UTF-8?q?=E6=96=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../com/njcn/system/enums/DicDataEnum.java | 2 ++
.../njcn/system/pojo/param/DictTreeParam.java | 4 +--
.../system/controller/UserLogController.java | 3 +-
.../njcn/user/pojo/param/UserInfoParm.java | 31 ++++++++++++++++
pqs-user/user-boot/pom.xml | 12 +++++++
.../njcn/user/controller/UserController.java | 36 +++++++++++++++++++
.../com/njcn/user/service/IUserService.java | 7 ++++
.../user/service/impl/UserServiceImpl.java | 25 +++++++++++++
8 files changed, 117 insertions(+), 3 deletions(-)
create mode 100644 pqs-user/user-api/src/main/java/com/njcn/user/pojo/param/UserInfoParm.java
diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataEnum.java b/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataEnum.java
index 21e08ac12..76b863f23 100644
--- a/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataEnum.java
+++ b/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataEnum.java
@@ -468,6 +468,8 @@ public enum DicDataEnum {
USER_MANUAL("使用手册","User_Manual"),
USER_AGREEMENT("用户协议","User_Agreement"),
COMPANY_PROFILE("公司简介","Company_Profile"),
+ PERSONAL_INFOR_PROTECT("个人信息保护政策","Personal_Infor_Protect"),
+
/**
* app设备事件类型权限转移,数据恢复
*/
diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/DictTreeParam.java b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/DictTreeParam.java
index 2de9a54ec..369d1d14e 100644
--- a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/DictTreeParam.java
+++ b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/param/DictTreeParam.java
@@ -31,24 +31,24 @@ public class DictTreeParam {
* 名称
*/
@ApiModelProperty(value = "名称")
+ @NotBlank(message = ValidMessage.NAME_NOT_BLANK)
private String name;
/**
* 编码
*/
@TableField(value = "编码")
+ @NotBlank(message = ValidMessage.CODE_NOT_BLANK)
private String code;
/**
* 排序
*/
- @TableField(value = "sort")
private Integer sort;
/**
* 描述
*/
- @TableField(value = "remark")
private String remark;
diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/controller/UserLogController.java b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/UserLogController.java
index d80a2a3ba..c95d34d58 100644
--- a/pqs-system/system-boot/src/main/java/com/njcn/system/controller/UserLogController.java
+++ b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/UserLogController.java
@@ -25,6 +25,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
+import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -70,7 +71,7 @@ public class UserLogController extends BaseController {
ServerInfo.CS_REPORT_BOOT,
ServerInfo.CS_EVENT_BOOT,
ServerInfo.CS_WARN_BOOT,
- ServerInfo.CS_SYSTEM_BOOT)).orderByDesc(UserLog::getCreateTime).last("limit 100").list();
+ ServerInfo.CS_SYSTEM_BOOT).collect(Collectors.toList())).orderByDesc(UserLog::getCreateTime).last("limit 100").list();
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
}
}
diff --git a/pqs-user/user-api/src/main/java/com/njcn/user/pojo/param/UserInfoParm.java b/pqs-user/user-api/src/main/java/com/njcn/user/pojo/param/UserInfoParm.java
new file mode 100644
index 000000000..f39440bc6
--- /dev/null
+++ b/pqs-user/user-api/src/main/java/com/njcn/user/pojo/param/UserInfoParm.java
@@ -0,0 +1,31 @@
+package com.njcn.user.pojo.param;
+
+import com.njcn.common.pojo.constant.PatternRegex;
+import com.njcn.user.pojo.constant.UserValidMessage;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Pattern;
+
+/**
+ * Description:
+ * Date: 2023/8/10 15:36【需求编号】
+ *
+ * @author clam
+ * @version V1.0.0
+ */
+@Data
+public class UserInfoParm {
+
+// @ApiModelProperty("用户表Id")
+// @NotNull(message = UserValidMessage.ID_NOT_BLANK)
+// private String id;
+
+ @ApiModelProperty("移动端用户头像")
+ private String headSculpture;
+
+ @ApiModelProperty("用户名")
+ private String name;
+}
diff --git a/pqs-user/user-boot/pom.xml b/pqs-user/user-boot/pom.xml
index 18b38781d..ea47e0536 100644
--- a/pqs-user/user-boot/pom.xml
+++ b/pqs-user/user-boot/pom.xml
@@ -55,6 +55,18 @@
aliyun-java-sdk-core
4.1.0
+
+ com.njcn
+ minioss-springboot-starter
+ 1.0.0
+ compile
+
+
+ com.njcn
+ common-oss
+ 1.0.0
+ compile
+
diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/controller/UserController.java b/pqs-user/user-boot/src/main/java/com/njcn/user/controller/UserController.java
index 7d272a7b8..db9d5c4f8 100644
--- a/pqs-user/user-boot/src/main/java/com/njcn/user/controller/UserController.java
+++ b/pqs-user/user-boot/src/main/java/com/njcn/user/controller/UserController.java
@@ -15,10 +15,12 @@ import com.njcn.common.utils.HttpResultUtil;
import com.njcn.common.utils.LogUtil;
import com.njcn.common.utils.sm.DesUtils;
import com.njcn.common.utils.sm.Sm2;
+import com.njcn.minioss.bo.MinIoUploadResDTO;
import com.njcn.poi.util.PoiUtil;
import com.njcn.redis.utils.RedisUtil;
import com.njcn.user.enums.UserResponseEnum;
import com.njcn.user.pojo.dto.UserDTO;
+import com.njcn.user.pojo.param.UserInfoParm;
import com.njcn.user.pojo.param.UserParam;
import com.njcn.user.pojo.param.UserPasswordParam;
import com.njcn.user.pojo.po.User;
@@ -34,6 +36,7 @@ import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.HttpServletRequest;
@@ -171,6 +174,39 @@ public class UserController extends BaseController {
}
}
+ @OperateInfo(info = LogEnum.SYSTEM_COMMON, operateType = OperateType.UPDATE)
+ @PutMapping("/updateAppUser")
+ @ApiOperation("修改用户头像,昵称")
+ @ApiImplicitParam(name = "userInfoParm", value = "修改用户", required = true)
+ public HttpResult update(@RequestBody @Validated UserInfoParm userInfoParm) {
+ String methodDescribe = getMethodDescribe("update");
+ LogUtil.njcnDebug(log, "{},用户数据为:{}", methodDescribe, userInfoParm);
+ boolean result = userService.updateAppUser(userInfoParm);
+ if (result) {
+ return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
+ } else {
+ return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, false, methodDescribe);
+ }
+ }
+
+ @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPLOAD)
+ @PostMapping("/uploadImage")
+ @ApiOperation("上传头像")
+ public HttpResult uploadImage( MultipartFile issuesFile){
+ String methodDescribe = getMethodDescribe("uploadImage");
+ String filePath = userService.uploadImage(issuesFile);
+ return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,new MinIoUploadResDTO(issuesFile.getOriginalFilename(),filePath), methodDescribe);
+ }
+ @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPLOAD)
+ @PostMapping("/getUrl")
+ @ApiOperation("获取头像url")
+ public HttpResult getUrl(@RequestParam("headSculpture") String headSculpture){
+ String methodDescribe = getMethodDescribe("getUrl");
+ String url = userService.getUrl(headSculpture);
+ return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,url, methodDescribe);
+ }
+
+
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
@PostMapping("/list")
@ApiOperation("列表分页")
diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/service/IUserService.java b/pqs-user/user-boot/src/main/java/com/njcn/user/service/IUserService.java
index 2b9d05976..b254de63e 100644
--- a/pqs-user/user-boot/src/main/java/com/njcn/user/service/IUserService.java
+++ b/pqs-user/user-boot/src/main/java/com/njcn/user/service/IUserService.java
@@ -3,11 +3,13 @@ package com.njcn.user.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.common.pojo.response.HttpResult;
+import com.njcn.user.pojo.param.UserInfoParm;
import com.njcn.user.pojo.param.UserParam;
import com.njcn.user.pojo.po.User;
import com.njcn.user.pojo.dto.UserDTO;
import com.njcn.user.pojo.vo.UserVO;
import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
@@ -178,4 +180,9 @@ public interface IUserService extends IService {
List getUserListByDeptId(String deptId);
+ boolean updateAppUser(UserInfoParm userInfoParm);
+
+ String uploadImage(MultipartFile issuesFile);
+
+ String getUrl(String headSculpture);
}
diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/UserServiceImpl.java b/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/UserServiceImpl.java
index 615d92233..d2ced519b 100644
--- a/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/UserServiceImpl.java
+++ b/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/UserServiceImpl.java
@@ -22,6 +22,8 @@ import com.njcn.common.utils.sm.Sm4Utils;
import com.njcn.db.constant.DbConstant;
import com.njcn.device.pq.api.PqsTerminalLogsClient;
import com.njcn.device.pq.pojo.po.PqsTerminalLogs;
+import com.njcn.oss.constant.OssPath;
+import com.njcn.oss.utils.FileStorageUtil;
import com.njcn.poi.excel.ExcelUtil;
import com.njcn.poi.pojo.bo.BaseLineProExcelBody;
import com.njcn.system.api.AreaFeignClient;
@@ -37,6 +39,7 @@ import com.njcn.user.pojo.constant.UserState;
import com.njcn.user.pojo.constant.UserType;
import com.njcn.user.pojo.dto.UserDTO;
import com.njcn.user.pojo.dto.excel.UserExcel;
+import com.njcn.user.pojo.param.UserInfoParm;
import com.njcn.user.pojo.param.UserParam;
import com.njcn.user.pojo.po.*;
import com.njcn.user.pojo.vo.UserVO;
@@ -47,6 +50,7 @@ import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
import javax.validation.constraints.NotNull;
import java.io.File;
@@ -86,6 +90,7 @@ public class UserServiceImpl extends ServiceImpl implements IU
// private final PqsTerminalLogsClient pqsTerminalLogsClient;
private final AreaFeignClient areaFeignClient;
+ private final FileStorageUtil fileStorageUtil;
@Override
public UserDTO getUserByName(String loginName) {
@@ -484,6 +489,26 @@ public class UserServiceImpl extends ServiceImpl implements IU
return this.list(new LambdaQueryWrapper().in(User::getDeptId,deptIds).select(User::getId,User::getName,User::getLoginName));
}
+ @Override
+ public boolean updateAppUser(UserInfoParm userInfoParm) {
+ boolean update = this.lambdaUpdate().eq(User::getId, RequestUtil.getUserIndex()).
+ set(StringUtils.isNotBlank(userInfoParm.getName()), User::getName, userInfoParm.getName()).
+ set(StringUtils.isNotBlank(userInfoParm.getHeadSculpture()), User::getHeadSculpture, userInfoParm.getHeadSculpture()).update();
+ return update;
+ }
+
+ @Override
+ public String uploadImage(MultipartFile issuesFile) {
+
+ return fileStorageUtil.uploadMultipart(issuesFile, OssPath.RESOURCEDATA);
+
+ }
+
+ @Override
+ public String getUrl(String headSculpture) {
+ return fileStorageUtil.getFileUrl(headSculpture);
+ }
+
/**
* 根据登录名查询用户
*