Search in sources :

Example 16 with User

use of org.mx.comps.rbac.dal.entity.User in project main by JohnPeng739.

the class TestUser method testEditUser.

public static void testEditUser(GeneralDictAccessor service, UserManageService userService) {
    UserManageService.UserInfo userInfo = UserManageService.UserInfo.valueOf("josh", "", "peng", User.Sex.MALE, "", -1, "", "", true, "original desc.");
    User josh = userService.saveUser(userInfo);
    joshId = josh.getId();
    assertNotNull(josh);
    assertNotNull(josh.getId());
    assertEquals(service.count(User.class), 3);
    userInfo = UserManageService.UserInfo.valueOf(josh.getFirstName(), josh.getMiddleName(), josh.getLastName(), josh.getSex(), josh.getId(), -1, "", "", false, "new desc.");
    josh = userService.saveUser(userInfo);
    assertNotNull(josh);
    assertNotNull(josh.getId());
    assertEquals(service.count(User.class), 2);
    assertEquals(josh.getDesc(), "new desc.");
    assertEquals(service.count(User.class, true), 2);
    assertEquals(service.count(User.class, false), 3);
    userInfo = UserManageService.UserInfo.valueOf(josh.getFirstName(), josh.getMiddleName(), josh.getLastName(), josh.getSex(), josh.getId(), -1, "", "", true, josh.getDesc());
    userService.saveUser(userInfo);
    assertEquals(service.count(User.class), 3);
    assertEquals(service.count(User.class, true), 3);
    assertEquals(service.count(User.class, false), 3);
}
Also used : User(org.mx.comps.rbac.dal.entity.User) UserManageService(org.mx.comps.rbac.service.UserManageService)

Example 17 with User

use of org.mx.comps.rbac.dal.entity.User in project main by JohnPeng739.

the class DepartmentManageServiceCommonImpl method saveDepartment.

/**
 * {@inheritDoc}
 *
 * @see DepartmentManageService#saveDepartment(DepartInfo)
 */
@Override
public Department saveDepartment(DepartInfo departInfo) {
    if (departInfo == null) {
        throw new UserInterfaceSystemErrorException(UserInterfaceSystemErrorException.SystemErrors.SYSTEM_ILLEGAL_PARAM);
    }
    String id = departInfo.getId();
    Department department;
    if (!StringUtils.isBlank(id)) {
        department = accessor.getById(id, Department.class);
        if (department == null) {
            throw new UserInterfaceRbacErrorException(UserInterfaceRbacErrorException.RbacErrors.DEPARTMENT_NOT_FOUND);
        }
    } else {
        department = EntityFactory.createEntity(Department.class);
    }
    department.setCode(departInfo.getCode());
    department.setName(departInfo.getName());
    department.setDesc(departInfo.getDesc());
    if (StringUtils.isBlank(departInfo.getManagerId())) {
        department.setManager(null);
    } else {
        User manager = accessor.getById(departInfo.getManagerId(), User.class);
        if (manager == null) {
            throw new UserInterfaceRbacErrorException(UserInterfaceRbacErrorException.RbacErrors.USER_NOT_FOUND);
        }
        department.setManager(manager);
    }
    if (department.getEmployees() != null && !department.getEmployees().isEmpty()) {
        department.getEmployees().clear();
    }
    if (departInfo.getEmployeeIds() != null) {
        for (String employeeId : departInfo.getEmployeeIds()) {
            User employee = accessor.getById(employeeId, User.class);
            if (employee == null) {
                throw new UserInterfaceRbacErrorException(UserInterfaceRbacErrorException.RbacErrors.USER_NOT_FOUND);
            }
            department.getEmployees().add(employee);
        }
    }
    department.setValid(departInfo.isValid());
    department = this.save(department);
    if (operateLogService != null) {
        operateLogService.writeLog(String.format("保存部门[code=%s, name=%s]信息成功。", departInfo.getCode(), departInfo.getName()));
    }
    return department;
}
Also used : Department(org.mx.comps.rbac.dal.entity.Department) UserInterfaceRbacErrorException(org.mx.comps.rbac.error.UserInterfaceRbacErrorException) User(org.mx.comps.rbac.dal.entity.User) UserInterfaceSystemErrorException(org.mx.error.UserInterfaceSystemErrorException)

Example 18 with User

use of org.mx.comps.rbac.dal.entity.User in project main by JohnPeng739.

the class DepartmentManageServiceImpl method save.

/**
 * {@inheritDoc}
 *
 * @see DepartmentManageServiceCommonImpl#save(Department)
 */
@Override
protected Department save(Department department) {
    Set<User> oldEmployees = new HashSet<>();
    if (!StringUtils.isBlank(department.getId())) {
        oldEmployees.addAll(accessor.getById(department.getId(), Department.class).getEmployees());
    }
    department = accessor.save(department, false);
    Set<User> employees = department.getEmployees();
    for (User user : employees) {
        if (oldEmployees.contains(user)) {
            oldEmployees.remove(user);
            continue;
        } else {
            user.setDepartment(department);
            accessor.save(user, false);
        }
    }
    for (User user : oldEmployees) {
        if (department.equals(user.getDepartment())) {
            // 如果用户原来的部门是当前部门,则应该将其部门清空。
            user.setDepartment(null);
            accessor.save(user, false);
        }
    }
    return department;
}
Also used : User(org.mx.comps.rbac.dal.entity.User) HashSet(java.util.HashSet)

Example 19 with User

use of org.mx.comps.rbac.dal.entity.User in project main by JohnPeng739.

the class TestLogicalTransactServiceImpl method saveUser.

@Transactional
private void saveUser() {
    User user = EntityFactory.createEntity(User.class);
    user.setFirstName("john");
    user.setLastName("peng");
    user.setSex(User.Sex.FEMALE);
    user.setDesc("description");
    user.setStation("manager");
    super.save(user);
}
Also used : User(org.mx.comps.rbac.dal.entity.User) Transactional(org.springframework.transaction.annotation.Transactional)

Aggregations

User (org.mx.comps.rbac.dal.entity.User)19 UserInterfaceSystemErrorException (org.mx.error.UserInterfaceSystemErrorException)9 UserInterfaceRbacErrorException (org.mx.comps.rbac.error.UserInterfaceRbacErrorException)6 AuthenticateAround (org.mx.comps.jwt.AuthenticateAround)5 Account (org.mx.comps.rbac.dal.entity.Account)5 UserVO (org.mx.comps.rbac.rest.vo.UserVO)5 UserManageService (org.mx.comps.rbac.service.UserManageService)5 UserInterfaceException (org.mx.error.UserInterfaceException)5 PaginationDataVO (org.mx.service.rest.vo.PaginationDataVO)5 Department (org.mx.comps.rbac.dal.entity.Department)4 DataVO (org.mx.service.rest.vo.DataVO)4 Test (org.junit.Test)3 AccountManageService (org.mx.comps.rbac.service.AccountManageService)3 GeneralDictAccessor (org.mx.dal.service.GeneralDictAccessor)3 ParseException (java.text.ParseException)2 DepartmentManageService (org.mx.comps.rbac.service.DepartmentManageService)2 NoSuchAlgorithmException (java.security.NoSuchAlgorithmException)1 SimpleDateFormat (java.text.SimpleDateFormat)1 Date (java.util.Date)1 HashSet (java.util.HashSet)1