Pārlūkot izejas kodu

update user related apis

tags/Baseline_30082024_BACKEND_UAT
MSI\derek pirms 1 gada
vecāks
revīzija
a2415e07be
3 mainītis faili ar 46 papildinājumiem un 2 dzēšanām
  1. +1
    -0
      src/main/java/com/ffii/tsms/modules/user/entity/UserRepository.java
  2. +44
    -1
      src/main/java/com/ffii/tsms/modules/user/service/UserService.java
  3. +1
    -1
      src/main/java/com/ffii/tsms/modules/user/web/UserController.java

+ 1
- 0
src/main/java/com/ffii/tsms/modules/user/entity/UserRepository.java Parādīt failu

@@ -10,6 +10,7 @@ import com.ffii.core.support.AbstractRepository;
public interface UserRepository extends AbstractRepository<User, Long> {

List<User> findByName(@Param("name") String name);
List<User> findAllByAndDeletedFalse();

Optional<User> findByUsernameAndDeletedFalse(String username);
}

+ 44
- 1
src/main/java/com/ffii/tsms/modules/user/service/UserService.java Parādīt failu

@@ -7,8 +7,10 @@ import java.util.Locale;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.Date;
import java.util.stream.Collectors;

import com.ffii.tsms.modules.common.service.AuditLogService;
import org.apache.commons.lang3.LocaleUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
@@ -35,6 +37,9 @@ import com.ffii.tsms.modules.user.req.NewUserReq;
import com.ffii.tsms.modules.user.req.SearchUserReq;
import com.ffii.tsms.modules.user.req.UpdateUserReq;
import com.ffii.tsms.modules.user.service.pojo.UserRecord;
import jakarta.persistence.Table;
import com.ffii.core.utils.JsonUtils;
import com.ffii.tsms.modules.common.SecurityUtils;

import jakarta.mail.internet.InternetAddress;

@@ -63,7 +68,8 @@ public class UserService extends AbstractBaseEntityService<User, Long, UserRepos

@Autowired
UserRepository userRepository;

@Autowired
private AuditLogService auditLogService;
public UserService(JdbcDao jdbcDao, UserRepository userRepository) {
super(jdbcDao, userRepository);
}
@@ -85,6 +91,43 @@ public class UserService extends AbstractBaseEntityService<User, Long, UserRepos
return userRepository.findByUsernameAndDeletedFalse(username);
}

public Map<String, Object> softDelete(User user) {

// =====GET OLD AUDIT LOG=====//
String tableName = user.getClass().getAnnotation(Table.class).name();
StringBuilder sql = new StringBuilder("SELECT * FROM " + tableName + " WHERE id = :id");
String oldValueJson = null;
String newValueJson = null;

StringBuilder sql2 = new StringBuilder("SELECT authId FROM user_authority WHERE userId = :id");

StringBuilder sql3 = new StringBuilder("SELECT groupId FROM user_group WHERE userId = :id");

if (user.getId() != null && user.getId() > 0) {
Map<String, Object> input = Map.of("id", user.getId());
Map<String, Object> logData = jdbcDao.queryForMap(sql.toString(), input)
.orElseThrow(NotFoundException::new);
logData.put("user_auth", jdbcDao.queryForList(sql2.toString(), input).toArray());
logData.put("user_group", jdbcDao.queryForList(sql3.toString(), input).toArray());
oldValueJson = JsonUtils.toJsonString(logData);
}
// =====GET OLD AUDIT LOG=====//
this.markDelete(user);

// =====GET NEW AUDIT LOG=====//
auditLogService.save(
tableName,
user.getId(),
SecurityUtils.getUser().isPresent() ? SecurityUtils.getUser().get().getId() : null,
new Date(),
oldValueJson,
newValueJson);
// =====GET NEW AUDIT LOG=====//

return Map.of(
"id", user.getId());
}

// @Transactional(rollbackFor = Exception.class)
public List<UserRecord> search(SearchUserReq req) {
StringBuilder sql = new StringBuilder("SELECT"


+ 1
- 1
src/main/java/com/ffii/tsms/modules/user/web/UserController.java Parādīt failu

@@ -87,7 +87,7 @@ public class UserController{
@ResponseStatus(HttpStatus.NO_CONTENT)
@PreAuthorize("hasAuthority('MAINTAIN_USER')")
public void delete(@PathVariable long id) {
userService.markDelete(userService.find(id).orElseThrow(NotFoundException::new));
userService.softDelete(userService.find(id).orElseThrow(NotFoundException::new));
}

// @Operation(summary = "new user")


Notiek ielāde…
Atcelt
Saglabāt