Commit 8db12e44 authored by Tu Bach's avatar Tu Bach

tubn campaign execute search change campaign

parent 1401f00d
......@@ -7,7 +7,7 @@ import javax.persistence.*;
import java.util.Date;
@Entity
@Table(name = "VSAUsers")
@Table(name = "AGENTS")
@Getter
@Setter
public class Agents {
......
......@@ -3,10 +3,7 @@ package com.viettel.campaign.model.ccms_full;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.*;
import java.io.Serializable;
@Entity
......@@ -16,6 +13,8 @@ import java.io.Serializable;
public class CampaignAgent implements Serializable {
@Id
@GeneratedValue(generator = "CAMPAIGN_AGENT_SEQ")
@SequenceGenerator(name = "CAMPAIGN_AGENT_SEQ", sequenceName = "CAMPAIGN_AGENT_SEQ", allocationSize = 1)
@Column(name = "CAMPAIGN_AGENT_ID")
private Long campaignAgentId;
@Column(name = "CAMPAIGN_ID")
......
package com.viettel.campaign.repository.acd_full;
import com.viettel.campaign.config.DataSourceQualify;
import com.viettel.campaign.model.acd_full.Agents;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
@Repository
public interface AgentsRepository extends JpaRepository<Agents, String> {
Agents getByAgentId(String agentId);
@Transactional(DataSourceQualify.ACD_FULL)
Agents findByAgentId(String agentId);
}
package com.viettel.campaign.repository.ccms_full;
import com.viettel.campaign.config.DataSourceQualify;
import com.viettel.campaign.model.ccms_full.CampaignAgent;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
@Repository
@Transactional(DataSourceQualify.CCMS_FULL)
public interface CampaignAgentRepository extends JpaRepository<CampaignAgent, Long> {
@Query(value = "SELECT campaign_agent_seq.nextval FROM DUAL", nativeQuery = true)
Long getNextSeqId();
@Modifying
@Query("UPDATE CampaignAgent SET status = :status WHERE agentId = :agentId AND campaignId = :campaignId")
void updateCampaignAgentSetStatus(@Param("agentId") Long agentId, @Param("campaignId") Long campaignId, @Param("status") Integer status);
}
......@@ -31,6 +31,7 @@ import org.springframework.data.domain.Pageable;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
......@@ -323,6 +324,7 @@ public class CampaignExecuteRepositoryImp implements CampaignExecuteRepository {
}
@Override
@Transactional(DataSourceQualify.CCMS_FULL)
public List<CampaignDTO> searchCampaignExecute(CampaignRequestDTO campaignRequestDto, Pageable pageable) {
List<CampaignDTO> result = new ArrayList<>();
StringBuilder expression = new StringBuilder()
......
package com.viettel.campaign.service.impl;
import com.viettel.campaign.config.DataSourceQualify;
import com.viettel.campaign.model.acd_full.Agents;
import com.viettel.campaign.repository.acd_full.AgentsRepository;
import com.viettel.campaign.service.AgentsService;
......@@ -20,6 +21,7 @@ import org.hibernate.type.StringType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.*;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
......@@ -33,22 +35,27 @@ public class AgentsServiceImpl implements AgentsService {
public ResultDTO getAgentsByAgentId(String agentId) {
ResultDTO result = new ResultDTO();
Agents data = agentsRepository.getByAgentId(agentId);
try {
Agents data = agentsRepository.findByAgentId(agentId);
if (data != null) {
result.setErrorCode(Constants.ApiErrorCode.SUCCESS);
result.setDescription("agents data");
result.setData(data);
if (data != null) {
result.setErrorCode(Constants.ApiErrorCode.SUCCESS);
result.setDescription("agents data");
result.setData(data);
} else {
result.setErrorCode(Constants.ApiErrorCode.ERROR);
result.setDescription("agents data null");
} else {
result.setErrorCode(Constants.ApiErrorCode.ERROR);
result.setDescription("agents data null");
}
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
@Override
@Transactional(DataSourceQualify.ACD_FULL)
public ResultDTO getAllAgentsByCompanySiteId(int page, int pageSize, Long companySiteId) {
ResultDTO resultDTO = new ResultDTO();
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
......
......@@ -2,14 +2,10 @@ package com.viettel.campaign.service.impl;
import com.viettel.campaign.config.DataSourceQualify;
import com.viettel.campaign.model.acd_full.Agents;
import com.viettel.campaign.model.ccms_full.CampaignAgent;
import com.viettel.campaign.model.ccms_full.TimeRangeDialMode;
import com.viettel.campaign.model.ccms_full.TimeZoneDialMode;
import com.viettel.campaign.repository.acd_full.AgentsRepository;
import com.viettel.campaign.repository.ccms_full.CampaignExecuteRepository;
import com.viettel.campaign.repository.ccms_full.CampaignRepositoryCustom;
import com.viettel.campaign.repository.ccms_full.TimeRangeDialModeRepository;
import com.viettel.campaign.repository.ccms_full.TimeZoneDialModeRepository;
import com.viettel.campaign.repository.ccms_full.*;
import com.viettel.campaign.service.CampaignExecuteService;
import com.viettel.campaign.utils.BundleUtils;
import com.viettel.campaign.utils.Constants;
......@@ -45,6 +41,8 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
@Autowired
AgentsRepository agentsRepository;
@Autowired
CampaignAgentRepository campaignAgentRepository;
@Autowired
TimeZoneDialModeRepository zoneDialModeRepository;
......@@ -216,7 +214,6 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
//</editor-fold: hungtt>
@Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO searchCampaignExecute(CampaignRequestDTO requestDto) {
ResultDTO result = new ResultDTO();
Map data = new HashMap();
......@@ -229,14 +226,17 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
result.setTotalRow(count);
result.setListData(campaignExecuteRepository.searchCampaignExecute(requestDto, SQLBuilder.buildPageable(requestDto)));
Agents agents = agentsRepository.getByAgentId(requestDto.getAgentId());
Agents agents = agentsRepository.findByAgentId(requestDto.getAgentId());
//TimeZoneDialMode zoneDialMode = zoneDialModeRepository.findDialModeAtCurrent(Long.parseLong(requestDto.getCampaignId()), Long.parseLong(requestDto.getCompanySiteId()));
//TimeRangeDialMode rangeDialMode = rangeDialModeRepository.findDialModeAtCurrent(Long.parseLong(requestDto.getCampaignId()), Long.parseLong(requestDto.getCompanySiteId()));
if (agents.getUserStatus().equalsIgnoreCase("CALLOUT") && agents.getCampaignSystemStatus().equalsIgnoreCase("AVAILABLE")) {
//if (zoneDialMode != null && zoneDialMode.getDialMode().equals(0) || rangeDialMode != null && rangeDialMode.getDialMode().equals(0))
data.put("dialModeManual", "1");
if (agents.getUserStatus() != null && agents.getCampaignSystemStatus() != null) {
if (agents.getUserStatus().equalsIgnoreCase("CALLOUT") && agents.getCampaignSystemStatus().equalsIgnoreCase("AVAILABLE")) {
//if (zoneDialMode != null && zoneDialMode.getDialMode().equals(0) || rangeDialMode != null && rangeDialMode.getDialMode().equals(0))
data.put("dialModeManual", "1");
}
}
result.setData(data);
} else {
result.setErrorCode(Constants.ApiErrorCode.ERROR);
result.setDescription(Constants.ApiErrorDesc.ERROR);
......@@ -250,18 +250,19 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
ResultDTO result = new ResultDTO();
try {
Agents agents = agentsRepository.getByAgentId(requestDto.getAgentId());
Agents agents = agentsRepository.findByAgentId(requestDto.getAgentId());
//TimeZoneDialMode zoneDialMode = zoneDialModeRepository.findDialModeAtCurrent(Long.parseLong(requestDto.getCampaignId()), Long.parseLong(requestDto.getCompanySiteId()));
//TimeRangeDialMode rangeDialMode = rangeDialModeRepository.findDialModeAtCurrent(Long.parseLong(requestDto.getCampaignId()), Long.parseLong(requestDto.getCompanySiteId()));
if (agents.getUserStatus().equalsIgnoreCase("CALLOUT") && agents.getCampaignSystemStatus().equalsIgnoreCase("LOGOUT")) {
//if (zoneDialMode != null && zoneDialMode.getDialMode().equals(0) || rangeDialMode != null && rangeDialMode.getDialMode().equals(0))
// update acd_full.agents table
Agents a = new Agents();
a.setAgentId(requestDto.getAgentId());
a.setCampaignSystemStatus("AVAILABLE");
a.setCurrentCampaignId(Long.parseLong(requestDto.getCampaignId()));
saveAgents(a);
agentsRepository.save(a);
// update ccms_full.campaign_agent table
campaignAgentRepository.updateCampaignAgentSetStatus(Long.parseLong(requestDto.getAgentId()), Long.parseLong(requestDto.getCampaignId()), 1);
}
} catch (Exception e) {
......@@ -271,23 +272,13 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
return result;
}
@Transactional(DataSourceQualify.CCMS_FULL)
public Agents saveAgents(Agents a) {
return agentsRepository.save(a);
}
@Transactional(DataSourceQualify.CCMS_FULL)
public CampaignAgent saveCampaignAgent(CampaignAgent ca) {
return null;
}
@Override
public ResultDTO getCall(CampaignRequestDTO dto) {
ResultDTO result = new ResultDTO();
Map data = new HashMap();
data.put("campaignId", dto.getCampaignId());
Agents agents = agentsRepository.getByAgentId(dto.getAgentId());
Agents agents = agentsRepository.findByAgentId(dto.getAgentId());
TimeZoneDialMode zoneDialMode = zoneDialModeRepository.findDialModeAtCurrent(Long.parseLong(dto.getCampaignId()), Long.parseLong(dto.getCompanySiteId()));
TimeRangeDialMode rangeDialMode = rangeDialModeRepository.findDialModeAtCurrent(Long.parseLong(dto.getCampaignId()), Long.parseLong(dto.getCompanySiteId()));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment