120 lines
5.0 KiB
Java
120 lines
5.0 KiB
Java
package net.gepafin.tendermanagement.service.impl;
|
|
|
|
import jakarta.servlet.http.HttpServletRequest;
|
|
import net.gepafin.tendermanagement.dao.CallDao;
|
|
import net.gepafin.tendermanagement.entities.CallEntity;
|
|
import net.gepafin.tendermanagement.entities.UserEntity;
|
|
import net.gepafin.tendermanagement.enums.CallStatusEnum;
|
|
import net.gepafin.tendermanagement.enums.EvaluationVersionEnum;
|
|
import net.gepafin.tendermanagement.model.request.*;
|
|
import net.gepafin.tendermanagement.model.response.CallDetailsResponseBean;
|
|
import net.gepafin.tendermanagement.model.response.CallResponse;
|
|
import net.gepafin.tendermanagement.model.response.PageableResponseBean;
|
|
import net.gepafin.tendermanagement.service.CallService;
|
|
import net.gepafin.tendermanagement.util.Validator;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
import java.util.List;
|
|
|
|
|
|
@Service
|
|
public class CallServiceImpl implements CallService {
|
|
|
|
@Autowired
|
|
private CallDao callDao;
|
|
|
|
@Autowired
|
|
private Validator validator;
|
|
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public CallResponse createCallStep1(HttpServletRequest request, CreateCallRequestStep1 createCallRequest) {
|
|
UserEntity user = validator.validateUser(request);
|
|
return callDao.createCallStep1(createCallRequest, user);
|
|
}
|
|
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public CallResponse createCallStep2(HttpServletRequest request, Long callId, CreateCallRequestStep2 createCallRequest) {
|
|
UserEntity user = validator.validateUser(request);
|
|
CallEntity call = validator.validateUserWithCall(user, callId);
|
|
return callDao.createCallStep2(call, createCallRequest, user);
|
|
}
|
|
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public CallResponse updateCallStep1(HttpServletRequest request, Long callId,
|
|
UpdateCallRequestStep1 updateCallRequest) {
|
|
UserEntity user = validator.validateUser(request);
|
|
CallEntity call = validator.validateUserWithCall(user, callId);
|
|
return callDao.updateCallStep1(request,call, updateCallRequest, user);
|
|
}
|
|
@Override
|
|
@Transactional(readOnly = true)
|
|
public CallResponse getCallById(HttpServletRequest request, Long callId,Long companyId) {
|
|
UserEntity user = validator.validateUser(request);
|
|
CallEntity call = validator.validateUserWithCall(user, callId);
|
|
return callDao.getCallById(request,user,call,companyId);
|
|
}
|
|
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public List<CallDetailsResponseBean> getAllCalls(HttpServletRequest request,Long companyId,Boolean onlyPreferredCall,Boolean onlyConfidiCall) {
|
|
UserEntity user = validator.validateUser(request);
|
|
return callDao.getAllCalls(request,user,companyId,onlyPreferredCall,onlyConfidiCall);
|
|
|
|
}
|
|
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public CallResponse validateCallData(HttpServletRequest request, Long callId) {
|
|
UserEntity user = validator.validateUser(request);
|
|
CallEntity call = validator.validateUserWithCall(user, callId);
|
|
return callDao.validateCallData(call);
|
|
}
|
|
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public CallResponse updateCallStatus(HttpServletRequest request, Long callId, CallStatusEnum statusReq) {
|
|
UserEntity user = validator.validateUser(request);
|
|
CallEntity call = validator.validateUserWithCall(user, callId);
|
|
return callDao.updateCallStatus(call, statusReq);
|
|
|
|
}
|
|
|
|
@Override
|
|
public CallEntity validateCall(Long callId) {
|
|
return callDao.validateCall(callId);
|
|
}
|
|
|
|
@Override
|
|
public CallEntity validatePublishedCall(Long callId, Long hubId) {
|
|
return callDao.validatePublishedCall(callId, hubId);
|
|
}
|
|
|
|
@Override
|
|
@Transactional(readOnly = true)
|
|
public byte[] downloadCallDocumentsAsZip(HttpServletRequest request, Long callId) {
|
|
UserEntity user = validator.validateUser(request);
|
|
validator.validateUserWithCall(user, callId);
|
|
return callDao.downloadCallDocumentsAsZip(callId);
|
|
}
|
|
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public PageableResponseBean<List<CallDetailsResponseBean>> getAllCallsByPagination(HttpServletRequest request,Long companyId , Boolean onlyPreferredCall,Boolean onlyConfidiCall, CallPageableRequestBean callPageableRequestBean) {
|
|
UserEntity user = validator.validateUser(request);
|
|
return callDao.getAllCallsByPagination(request,user,companyId,onlyPreferredCall,onlyConfidiCall,callPageableRequestBean);
|
|
}
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public CallResponse createCallStep2EvaluationV2(HttpServletRequest request, Long callId, CreateCallRequestStep2EvaluationV2 createCallRequest) {
|
|
UserEntity user = validator.validateUser(request);
|
|
CallEntity call = validator.validateUserWithCall(user, callId);
|
|
return callDao.createCallStep2EvaluationV2(call, createCallRequest, user);
|
|
}
|
|
}
|