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);
}
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;
}
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;
}
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);
}
Aggregations