farm模块-用户完善
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
package cn.iocoder.yudao.module.system.dal.dataobject.user;
|
||||
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 人员管理 DO
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@TableName("farm_personnel_management")
|
||||
@KeySequence("farm_personnel_management_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PersonnelManagementDO extends BaseDO {
|
||||
|
||||
/**
|
||||
* 人员id
|
||||
*/
|
||||
@TableId(type = IdType.INPUT)
|
||||
private String id;
|
||||
/**
|
||||
* 用户姓名
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 所属部门
|
||||
*/
|
||||
private String department;
|
||||
/**
|
||||
* 电话号
|
||||
*/
|
||||
private String phone;
|
||||
/**
|
||||
* 角色id用,隔开
|
||||
*/
|
||||
private String role;
|
||||
/**
|
||||
* 头像(数据库存储为逗号分隔的字符串)
|
||||
*/
|
||||
@TableField(value = "picture")
|
||||
private String picture;
|
||||
|
||||
/**
|
||||
* 头像集合(业务层使用)
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private List<String> pictureList;
|
||||
|
||||
/**
|
||||
* 0=启用,1=停用
|
||||
*/
|
||||
private Integer accountStatus;
|
||||
/**
|
||||
* 基地id
|
||||
*/
|
||||
private String baseId;
|
||||
/**
|
||||
* 基地
|
||||
*/
|
||||
private String baseName;
|
||||
/**
|
||||
* 地块ID
|
||||
*/
|
||||
private String plotId;
|
||||
/**
|
||||
* 地块
|
||||
*/
|
||||
private String plotName;
|
||||
|
||||
private String tenantId;
|
||||
|
||||
}
|
||||
@@ -5,6 +5,7 @@ import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserPageReqVO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.user.PersonnelManagementDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
package cn.iocoder.yudao.module.system.dal.mysql.user;
|
||||
|
||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.user.PersonnelManagementDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface PersonnelManagementMapper extends BaseMapperX<PersonnelManagementDO> {
|
||||
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.system.service.user;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
||||
@@ -22,8 +23,10 @@ import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserSaveReqV
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.dept.UserPostDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.user.PersonnelManagementDO;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.dept.UserPostMapper;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.user.AdminUserMapper;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.user.PersonnelManagementMapper;
|
||||
import cn.iocoder.yudao.module.system.service.dept.DeptService;
|
||||
import cn.iocoder.yudao.module.system.service.dept.PostService;
|
||||
import cn.iocoder.yudao.module.system.service.permission.PermissionService;
|
||||
@@ -82,6 +85,9 @@ public class AdminUserServiceImpl implements AdminUserService {
|
||||
@Resource
|
||||
private ConfigApi configApi;
|
||||
|
||||
@Resource
|
||||
private PersonnelManagementMapper personnelManagementMapper;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@LogRecord(type = SYSTEM_USER_TYPE, subType = SYSTEM_USER_CREATE_SUB_TYPE, bizNo = "{{#user.id}}",
|
||||
@@ -110,6 +116,26 @@ public class AdminUserServiceImpl implements AdminUserService {
|
||||
|
||||
// 3. 记录操作日志上下文
|
||||
LogRecordContext.putVariable("user", user);
|
||||
PersonnelManagementDO userDo = new PersonnelManagementDO();
|
||||
userDo.setName(user.getNickname());
|
||||
userDo.setPhone(user.getMobile());
|
||||
userDo.setDepartment(user.getDeptId().toString());
|
||||
userDo.setTenantId(user.getTenantId().toString());
|
||||
userDo.setPicture(user.getAvatar());
|
||||
userDo.setAccountStatus(0);
|
||||
List<UserPostDO> userPostDOS = convertList(user.getPostIds(),
|
||||
postId -> new UserPostDO().setUserId(user.getId()).setPostId(postId));
|
||||
String roles = "";
|
||||
for (UserPostDO up : userPostDOS) {
|
||||
if (roles.length() > 0) {
|
||||
roles += "," + up.getPostId();
|
||||
} else {
|
||||
roles = up.getPostId().toString();
|
||||
}
|
||||
}
|
||||
userDo.setRole(roles);
|
||||
userDo.setId(IdUtil.fastUUID());
|
||||
personnelManagementMapper.insert(userDo);
|
||||
return user.getId();
|
||||
}
|
||||
|
||||
@@ -355,7 +381,7 @@ public class AdminUserServiceImpl implements AdminUserService {
|
||||
}
|
||||
|
||||
private AdminUserDO validateUserForCreateOrUpdate(Long id, String username, String mobile, String email,
|
||||
Long deptId, Set<Long> postIds) {
|
||||
Long deptId, Set<Long> postIds) {
|
||||
// 关闭数据权限,避免因为没有数据权限,查询不到数据,进而导致唯一校验不正确
|
||||
return DataPermissionUtils.executeIgnore(() -> {
|
||||
// 校验用户存在
|
||||
@@ -442,6 +468,7 @@ public class AdminUserServiceImpl implements AdminUserService {
|
||||
|
||||
/**
|
||||
* 校验旧密码
|
||||
*
|
||||
* @param id 用户 id
|
||||
* @param oldPassword 旧密码
|
||||
*/
|
||||
@@ -476,7 +503,7 @@ public class AdminUserServiceImpl implements AdminUserService {
|
||||
// 2.1.1 校验字段是否符合要求
|
||||
try {
|
||||
ValidationUtils.validate(BeanUtils.toBean(importUser, UserSaveReqVO.class).setPassword(initPassword));
|
||||
} catch (ConstraintViolationException ex){
|
||||
} catch (ConstraintViolationException ex) {
|
||||
respVO.getFailureUsernames().put(importUser.getUsername(), ex.getMessage());
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user