Files
bflows-bandi-be/src/main/java/net/gepafin/tendermanagement/service/impl/CallServiceImpl.java
2024-11-13 13:08:48 +05:30

107 lines
4.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.model.request.CreateCallRequestStep1;
import net.gepafin.tendermanagement.model.request.CreateCallRequestStep2;
import net.gepafin.tendermanagement.model.request.UpdateCallRequestStep1;
import net.gepafin.tendermanagement.model.response.CallDetailsResponseBean;
import net.gepafin.tendermanagement.model.response.CallResponse;
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(call, updateCallRequest, user);
}
@Override
@Transactional(readOnly = true)
public CallResponse getCallById(HttpServletRequest request, Long callId) {
UserEntity user = validator.validateUser(request);
CallEntity call = validator.validateUserWithCall(user, callId);
return callDao.getCallById(user,call);
}
@Override
@Transactional(readOnly = true)
public List<CallDetailsResponseBean> getAllCalls(HttpServletRequest request) {
UserEntity user = validator.validateUser(request);
return callDao.getAllCalls(user);
}
@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);
}
}