Done ticket GEPAFINBE-3

This commit is contained in:
harish
2024-08-14 15:31:00 +05:30
parent 2773dfa034
commit e09f61f918
51 changed files with 2107 additions and 70 deletions

View File

@@ -0,0 +1,109 @@
package net.gepafin.tendermanagement.dao;
import net.gepafin.tendermanagement.config.Translator;
import net.gepafin.tendermanagement.constants.GepafinConstant;
import net.gepafin.tendermanagement.entities.RegionEntity;
import net.gepafin.tendermanagement.entities.RoleEntity;
import net.gepafin.tendermanagement.model.request.RegionReq;
import net.gepafin.tendermanagement.model.request.RoleReq;
import net.gepafin.tendermanagement.model.response.RegionResponseBean;
import net.gepafin.tendermanagement.model.request.UpdateRegionReq;
import net.gepafin.tendermanagement.model.response.RoleResponseBean;
import net.gepafin.tendermanagement.repositories.RegionRepository;
import net.gepafin.tendermanagement.util.Utils;
import net.gepafin.tendermanagement.web.rest.api.errors.ResourceNotFoundException;
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
import java.util.stream.Collectors;
import static net.gepafin.tendermanagement.util.ObjectUtils.setIfUpdated;
@Repository
public class RegionDao {
@Autowired
private RegionRepository regionRepository;
public RegionResponseBean createRegion(RegionReq regionReq) {
RegionEntity regionEntity = convertRegionRequestToRegionEntity(regionReq);
regionRepository.save(regionEntity);
return convertRegionEntityToRegionResponse(regionEntity);
}
private RegionEntity convertRegionRequestToRegionEntity(RegionReq regionReq) {
RegionEntity regionEntity = new RegionEntity();
regionEntity.setCountry(regionReq.getCountry());
regionEntity.setDescription(regionReq.getDescription());
regionEntity.setGdp(regionReq.getGdp());
regionEntity.setRegionName(regionReq.getRegionName());
regionEntity.setAreaSize(regionReq.getAreaSize());
regionEntity.setPopulation(regionReq.getPopulation());
regionEntity.setEnvironmentalScore(regionReq.getEnvironmentalScore());
regionEntity.setStatus(regionReq.getStatus());
regionEntity.setHealthcareAccess(regionReq.getHealthcareAccess());
regionEntity.setInfrastructureScore(regionReq.getInfrastructureScore());
regionEntity.setPriorityArea(regionReq.getPriorityArea());
regionEntity.setUnemploymentRate(regionReq.getUnemploymentRate());
regionEntity.setEducationLevel(regionReq.getEducationLevel());
return regionEntity;
}
private RegionResponseBean convertRegionEntityToRegionResponse(RegionEntity regionEntity) {
RegionResponseBean regionResponseBean = new RegionResponseBean();
regionResponseBean.setId(regionEntity.getId());
regionResponseBean.setCreatedDate(regionEntity.getCreatedDate());
regionResponseBean.setUpdatedDate(regionEntity.getUpdatedDate());
regionResponseBean.setCountry(regionEntity.getCountry());
regionResponseBean.setDescription(regionEntity.getDescription());
regionResponseBean.setGdp(regionEntity.getGdp());
regionResponseBean.setRegionName(regionEntity.getRegionName());
regionResponseBean.setAreaSize(regionEntity.getAreaSize());
regionResponseBean.setPopulation(regionEntity.getPopulation());
regionResponseBean.setEnvironmentalScore(regionEntity.getEnvironmentalScore());
regionResponseBean.setStatus(regionEntity.getStatus());
regionResponseBean.setHealthcareAccess(regionEntity.getHealthcareAccess());
regionResponseBean.setInfrastructureScore(regionEntity.getInfrastructureScore());
regionResponseBean.setPriorityArea(regionEntity.getPriorityArea());
regionResponseBean.setUnemploymentRate(regionEntity.getUnemploymentRate());
regionResponseBean.setEducationLevel(regionEntity.getEducationLevel());
return regionResponseBean;
}
public RegionResponseBean updateRegion(Long id, RegionReq regionReq) {
RegionEntity existingRegion = getRegionById(id);
setIfUpdated(existingRegion::getRegionName, existingRegion::setRegionName, regionReq.getRegionName());
setIfUpdated(existingRegion::getDescription, existingRegion::setDescription, regionReq.getDescription());
setIfUpdated(existingRegion::getCountry, existingRegion::setCountry, regionReq.getCountry());
setIfUpdated(existingRegion::getStatus, existingRegion::setStatus, regionReq.getStatus());
setIfUpdated(existingRegion::getPriorityArea, existingRegion::setPriorityArea, regionReq.getPriorityArea());
setIfUpdated(existingRegion::getPopulation, existingRegion::setPopulation, regionReq.getPopulation());
setIfUpdated(existingRegion::getAreaSize, existingRegion::setAreaSize, regionReq.getAreaSize());
setIfUpdated(existingRegion::getGdp, existingRegion::setGdp, regionReq.getGdp());
setIfUpdated(existingRegion::getUnemploymentRate, existingRegion::setUnemploymentRate, regionReq.getUnemploymentRate());
setIfUpdated(existingRegion::getInfrastructureScore, existingRegion::setInfrastructureScore, regionReq.getInfrastructureScore() );
setIfUpdated(existingRegion::getEducationLevel, existingRegion::setEducationLevel, regionReq.getEducationLevel());
setIfUpdated(existingRegion::getHealthcareAccess, existingRegion::setHealthcareAccess, regionReq.getHealthcareAccess());
setIfUpdated(existingRegion::getEnvironmentalScore, existingRegion::setEnvironmentalScore, regionReq.getEnvironmentalScore());
regionRepository.save(existingRegion);
return Utils.convertObject(existingRegion, RegionResponseBean.class);
}
public RegionEntity getRegionById(Long id) {
return regionRepository.findById(id)
.orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND, Translator.toLocale(GepafinConstant.REGION_NOT_FOUND_MSG)));
}
public void deleteById(Long id) {
regionRepository.findById(id)
.orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND, Translator.toLocale(GepafinConstant.REGION_NOT_FOUND_MSG)));
regionRepository.deleteById(id);
}
public List<RegionResponseBean> getAllRegions()
{
return regionRepository.findAll()
.stream()
.map(regionEntity -> Utils.convertObject(regionEntity, RegionResponseBean.class))
.collect(Collectors.toList());
}
}

View File

@@ -0,0 +1,80 @@
package net.gepafin.tendermanagement.dao;
import net.gepafin.tendermanagement.config.Translator;
import net.gepafin.tendermanagement.constants.GepafinConstant;
import net.gepafin.tendermanagement.entities.RoleEntity;
import net.gepafin.tendermanagement.model.request.RoleReq;
import net.gepafin.tendermanagement.model.response.RoleResponseBean;
import net.gepafin.tendermanagement.repositories.RoleRepository;
import net.gepafin.tendermanagement.service.RegionService;
import net.gepafin.tendermanagement.util.Utils;
import net.gepafin.tendermanagement.web.rest.api.errors.ResourceNotFoundException;
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.stream.Collectors;
import static net.gepafin.tendermanagement.util.ObjectUtils.setIfUpdated;
@Component
public class RoleDao {
@Autowired
private RoleRepository roleRepository;
@Autowired
private RegionService regionService;
public RoleResponseBean createRole(RoleReq roleReq) {
RoleEntity roleEntity = convertRoleRequestToRoleEntity(roleReq);
roleEntity = roleRepository.save(roleEntity);
return convertRoleEntityToRoleResponse(roleEntity);
}
private RoleEntity convertRoleRequestToRoleEntity(RoleReq roleReq) {
RoleEntity roleEntity = new RoleEntity();
roleEntity.setRoleName(roleReq.getRoleName());
roleEntity.setPermissions(roleReq.getPermissions());
roleEntity.setDescription(roleEntity.getDescription());
roleEntity.setRegion(regionService.getRegionById(roleReq.getRegionId()));
return roleEntity;
}
private RoleResponseBean convertRoleEntityToRoleResponse(RoleEntity roleEntity) {
RoleResponseBean roleResponseBean=new RoleResponseBean();
roleResponseBean.setId(roleEntity.getId());
roleResponseBean.setCreatedDate(roleEntity.getCreatedDate());
roleResponseBean.setUpdatedDate(roleEntity.getUpdatedDate());
roleResponseBean.setRoleName(roleEntity.getRoleName());
roleResponseBean.setDescription(roleEntity.getDescription());
roleResponseBean.setPermissions(roleEntity.getPermissions());
roleResponseBean.setRegion(roleEntity.getRegion());
return roleResponseBean;
}
public RoleResponseBean updateRole(Long id, RoleReq roleReq) {
RoleEntity existingUserRole = getRoleById(id);
setIfUpdated(existingUserRole::getRoleName, existingUserRole::setRoleName, roleReq.getRoleName());
setIfUpdated(existingUserRole::getDescription, existingUserRole::setDescription, roleReq.getDescription());
setIfUpdated(existingUserRole::getPermissions, existingUserRole::setPermissions, roleReq.getPermissions());
roleRepository.save(existingUserRole);
return Utils.convertObject(existingUserRole, RoleResponseBean.class);
}
public RoleEntity getRoleById(Long id) {
return roleRepository.findById(id)
.orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND, Translator.toLocale(GepafinConstant.ROLE_NOT_FOUND)));
}
public void deleteById(Long id) {
roleRepository.findById(id)
.orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND,Translator.toLocale(GepafinConstant.ROLE_NOT_FOUND)));
roleRepository.deleteById(id);
}
public List<RoleResponseBean> getAllRoles() {
return roleRepository.findAll()
.stream()
.map(roleEntity -> Utils.convertObject(roleEntity, RoleResponseBean.class))
.collect(Collectors.toList());
}
}

View File

@@ -0,0 +1,99 @@
package net.gepafin.tendermanagement.dao;
import net.gepafin.tendermanagement.config.Translator;
import net.gepafin.tendermanagement.constants.GepafinConstant;
import net.gepafin.tendermanagement.entities.RoleEntity;
import net.gepafin.tendermanagement.entities.UserEntity;
import net.gepafin.tendermanagement.model.request.UpdateUserReq;
import net.gepafin.tendermanagement.model.request.UserReq;
import net.gepafin.tendermanagement.model.response.UserResponseBean;
import net.gepafin.tendermanagement.repositories.UserRepository;
import net.gepafin.tendermanagement.service.RoleService;
import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException;
import net.gepafin.tendermanagement.web.rest.api.errors.ResourceNotFoundException;
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import static net.gepafin.tendermanagement.util.ObjectUtils.setIfUpdated;
@Repository
public class UserDao {
@Autowired
private UserRepository userRepository;
@Autowired
private RoleService roleService;
public UserResponseBean createUser(UserReq userReq) {
if (!userReq.getPassword().equals(userReq.getConfPassword())) {
throw new CustomValidationException(Status.VALIDATION_ERROR,Translator.toLocale(GepafinConstant.PASSWORD_DOESNT_MATCH));
}
UserEntity userEntity = convertUserRequestToUserEntity(userReq);
userEntity = userRepository.save(userEntity);
return convertUserEntityToUserResponse(userEntity);
}
public UserResponseBean updateUser(Long userId, UpdateUserReq userReq) {
UserEntity userEntity = userRepository.findById(userId)
.orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND, Translator.toLocale(GepafinConstant.REGION_NOT_FOUND_MSG)));
setIfUpdated(userEntity::getStatus, userEntity::setStatus, userReq.getStatus());
setIfUpdated(userEntity::getFirstName, userEntity::setFirstName, userReq.getFirstName());
setIfUpdated(userEntity::getLastName, userEntity::setLastName, userReq.getLastName());
setIfUpdated(userEntity::getOrganization, userEntity::setOrganization, userReq.getOrganization());
setIfUpdated(userEntity::getAddress, userEntity::setAddress, userReq.getAddress());
setIfUpdated(userEntity::getPhoneNumber, userEntity::setPhoneNumber, userReq.getPhoneNumber());
if (userReq.getRoleId() != null) {
RoleEntity roleEntity = roleService.getRoleById(userReq.getRoleId());
setIfUpdated(userEntity::getRoleEntity, userEntity::setRoleEntity, roleEntity);
}
userEntity = userRepository.save(userEntity);
return convertUserEntityToUserResponse(userEntity);
}
private UserEntity convertUserRequestToUserEntity(UserReq userReq) {
UserEntity userEntity = new UserEntity();
userEntity.setPassword(userReq.getPassword());
userEntity.setEmail(userReq.getEmail());
userEntity.setFirstName(userReq.getFirstName());
userEntity.setStatus(userReq.getStatus());
userEntity.setLastName(userReq.getLastName());
userEntity.setOrganization(userReq.getOrganization());
userEntity.setAddress(userReq.getAddress());
userEntity.setPhoneNumber(userReq.getPhoneNumber());
userEntity.setRoleEntity(roleService.getRoleById(userReq.getRoleId()));
return userEntity;
}
private UserResponseBean convertUserEntityToUserResponse(UserEntity userEntity) {
UserResponseBean userResponseBean = new UserResponseBean();
userResponseBean.setId(userEntity.getId());
userResponseBean.setCreatedDate(userEntity.getCreatedDate());
userResponseBean.setUpdatedDate(userEntity.getUpdatedDate());
userResponseBean.setId(userEntity.getId());
userResponseBean.setEmail(userEntity.getEmail());
userResponseBean.setFirstName(userEntity.getFirstName());
userResponseBean.setLastName(userEntity.getLastName());
userResponseBean.setPhoneNumber(userEntity.getPhoneNumber());
userResponseBean.setOrganization(userEntity.getOrganization());
userResponseBean.setAddress(userEntity.getAddress());
userResponseBean.setCity(userEntity.getCity());
userResponseBean.setCountry(userEntity.getCountry());
userResponseBean.setStatus(userEntity.getStatus());
userResponseBean.setRole(userEntity.getRoleEntity());
userResponseBean.setLastLogin(userEntity.getLastLogin());
return userResponseBean;
}
public UserResponseBean getUserById(Long id) {
UserEntity userEntity = userRepository.findById(id)
.orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND,Translator.toLocale(GepafinConstant.USER_NOT_FOUND_MSG)));
return convertUserEntityToUserResponse(userEntity);
}
public void deleteUser(Long id) {
userRepository.findById(id)
.orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND,Translator.toLocale(GepafinConstant.USER_NOT_FOUND_MSG)));
userRepository.deleteById(id);
}
}