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.*; ...@@ -7,7 +7,7 @@ import javax.persistence.*;
import java.util.Date; import java.util.Date;
@Entity @Entity
@Table(name = "VSAUsers") @Table(name = "AGENTS")
@Getter @Getter
@Setter @Setter
public class Agents { public class Agents {
......
...@@ -3,10 +3,7 @@ package com.viettel.campaign.model.ccms_full; ...@@ -3,10 +3,7 @@ package com.viettel.campaign.model.ccms_full;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import javax.persistence.Column; import javax.persistence.*;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable; import java.io.Serializable;
@Entity @Entity
...@@ -16,6 +13,8 @@ import java.io.Serializable; ...@@ -16,6 +13,8 @@ import java.io.Serializable;
public class CampaignAgent implements Serializable { public class CampaignAgent implements Serializable {
@Id @Id
@GeneratedValue(generator = "CAMPAIGN_AGENT_SEQ")
@SequenceGenerator(name = "CAMPAIGN_AGENT_SEQ", sequenceName = "CAMPAIGN_AGENT_SEQ", allocationSize = 1)
@Column(name = "CAMPAIGN_AGENT_ID") @Column(name = "CAMPAIGN_AGENT_ID")
private Long campaignAgentId; private Long campaignAgentId;
@Column(name = "CAMPAIGN_ID") @Column(name = "CAMPAIGN_ID")
......
package com.viettel.campaign.repository.acd_full; package com.viettel.campaign.repository.acd_full;
import com.viettel.campaign.config.DataSourceQualify;
import com.viettel.campaign.model.acd_full.Agents; import com.viettel.campaign.model.acd_full.Agents;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
@Repository @Repository
public interface AgentsRepository extends JpaRepository<Agents, String> { 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; ...@@ -31,6 +31,7 @@ import org.springframework.data.domain.Pageable;
import org.springframework.jdbc.core.BeanPropertyRowMapper; import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager; import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext; import javax.persistence.PersistenceContext;
...@@ -323,6 +324,7 @@ public class CampaignExecuteRepositoryImp implements CampaignExecuteRepository { ...@@ -323,6 +324,7 @@ public class CampaignExecuteRepositoryImp implements CampaignExecuteRepository {
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public List<CampaignDTO> searchCampaignExecute(CampaignRequestDTO campaignRequestDto, Pageable pageable) { public List<CampaignDTO> searchCampaignExecute(CampaignRequestDTO campaignRequestDto, Pageable pageable) {
List<CampaignDTO> result = new ArrayList<>(); List<CampaignDTO> result = new ArrayList<>();
StringBuilder expression = new StringBuilder() StringBuilder expression = new StringBuilder()
......
package com.viettel.campaign.service.impl; 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.acd_full.Agents;
import com.viettel.campaign.repository.acd_full.AgentsRepository; import com.viettel.campaign.repository.acd_full.AgentsRepository;
import com.viettel.campaign.service.AgentsService; import com.viettel.campaign.service.AgentsService;
...@@ -20,6 +21,7 @@ import org.hibernate.type.StringType; ...@@ -20,6 +21,7 @@ import org.hibernate.type.StringType;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.*; import org.springframework.data.domain.*;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List; import java.util.List;
...@@ -33,7 +35,8 @@ public class AgentsServiceImpl implements AgentsService { ...@@ -33,7 +35,8 @@ public class AgentsServiceImpl implements AgentsService {
public ResultDTO getAgentsByAgentId(String agentId) { public ResultDTO getAgentsByAgentId(String agentId) {
ResultDTO result = new ResultDTO(); ResultDTO result = new ResultDTO();
Agents data = agentsRepository.getByAgentId(agentId); try {
Agents data = agentsRepository.findByAgentId(agentId);
if (data != null) { if (data != null) {
result.setErrorCode(Constants.ApiErrorCode.SUCCESS); result.setErrorCode(Constants.ApiErrorCode.SUCCESS);
...@@ -44,11 +47,15 @@ public class AgentsServiceImpl implements AgentsService { ...@@ -44,11 +47,15 @@ public class AgentsServiceImpl implements AgentsService {
result.setErrorCode(Constants.ApiErrorCode.ERROR); result.setErrorCode(Constants.ApiErrorCode.ERROR);
result.setDescription("agents data null"); result.setDescription("agents data null");
} }
} catch (Exception e) {
e.printStackTrace();
}
return result; return result;
} }
@Override @Override
@Transactional(DataSourceQualify.ACD_FULL)
public ResultDTO getAllAgentsByCompanySiteId(int page, int pageSize, Long companySiteId) { public ResultDTO getAllAgentsByCompanySiteId(int page, int pageSize, Long companySiteId) {
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
SessionFactory sessionFactory = HibernateUtil.getSessionFactory(); SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
......
...@@ -2,14 +2,10 @@ package com.viettel.campaign.service.impl; ...@@ -2,14 +2,10 @@ package com.viettel.campaign.service.impl;
import com.viettel.campaign.config.DataSourceQualify; import com.viettel.campaign.config.DataSourceQualify;
import com.viettel.campaign.model.acd_full.Agents; 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.TimeRangeDialMode;
import com.viettel.campaign.model.ccms_full.TimeZoneDialMode; import com.viettel.campaign.model.ccms_full.TimeZoneDialMode;
import com.viettel.campaign.repository.acd_full.AgentsRepository; import com.viettel.campaign.repository.acd_full.AgentsRepository;
import com.viettel.campaign.repository.ccms_full.CampaignExecuteRepository; import com.viettel.campaign.repository.ccms_full.*;
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.service.CampaignExecuteService; import com.viettel.campaign.service.CampaignExecuteService;
import com.viettel.campaign.utils.BundleUtils; import com.viettel.campaign.utils.BundleUtils;
import com.viettel.campaign.utils.Constants; import com.viettel.campaign.utils.Constants;
...@@ -45,6 +41,8 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService { ...@@ -45,6 +41,8 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
@Autowired @Autowired
AgentsRepository agentsRepository; AgentsRepository agentsRepository;
@Autowired
CampaignAgentRepository campaignAgentRepository;
@Autowired @Autowired
TimeZoneDialModeRepository zoneDialModeRepository; TimeZoneDialModeRepository zoneDialModeRepository;
...@@ -216,7 +214,6 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService { ...@@ -216,7 +214,6 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
//</editor-fold: hungtt> //</editor-fold: hungtt>
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO searchCampaignExecute(CampaignRequestDTO requestDto) { public ResultDTO searchCampaignExecute(CampaignRequestDTO requestDto) {
ResultDTO result = new ResultDTO(); ResultDTO result = new ResultDTO();
Map data = new HashMap(); Map data = new HashMap();
...@@ -229,14 +226,17 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService { ...@@ -229,14 +226,17 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
result.setTotalRow(count); result.setTotalRow(count);
result.setListData(campaignExecuteRepository.searchCampaignExecute(requestDto, SQLBuilder.buildPageable(requestDto))); 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())); //TimeZoneDialMode zoneDialMode = zoneDialModeRepository.findDialModeAtCurrent(Long.parseLong(requestDto.getCampaignId()), Long.parseLong(requestDto.getCompanySiteId()));
//TimeRangeDialMode rangeDialMode = rangeDialModeRepository.findDialModeAtCurrent(Long.parseLong(requestDto.getCampaignId()), Long.parseLong(requestDto.getCompanySiteId())); //TimeRangeDialMode rangeDialMode = rangeDialModeRepository.findDialModeAtCurrent(Long.parseLong(requestDto.getCampaignId()), Long.parseLong(requestDto.getCompanySiteId()));
if (agents.getUserStatus() != null && agents.getCampaignSystemStatus() != null) {
if (agents.getUserStatus().equalsIgnoreCase("CALLOUT") && agents.getCampaignSystemStatus().equalsIgnoreCase("AVAILABLE")) { if (agents.getUserStatus().equalsIgnoreCase("CALLOUT") && agents.getCampaignSystemStatus().equalsIgnoreCase("AVAILABLE")) {
//if (zoneDialMode != null && zoneDialMode.getDialMode().equals(0) || rangeDialMode != null && rangeDialMode.getDialMode().equals(0)) //if (zoneDialMode != null && zoneDialMode.getDialMode().equals(0) || rangeDialMode != null && rangeDialMode.getDialMode().equals(0))
data.put("dialModeManual", "1"); data.put("dialModeManual", "1");
} }
}
result.setData(data);
} else { } else {
result.setErrorCode(Constants.ApiErrorCode.ERROR); result.setErrorCode(Constants.ApiErrorCode.ERROR);
result.setDescription(Constants.ApiErrorDesc.ERROR); result.setDescription(Constants.ApiErrorDesc.ERROR);
...@@ -250,18 +250,19 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService { ...@@ -250,18 +250,19 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
ResultDTO result = new ResultDTO(); ResultDTO result = new ResultDTO();
try { 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())); //TimeZoneDialMode zoneDialMode = zoneDialModeRepository.findDialModeAtCurrent(Long.parseLong(requestDto.getCampaignId()), Long.parseLong(requestDto.getCompanySiteId()));
//TimeRangeDialMode rangeDialMode = rangeDialModeRepository.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 (agents.getUserStatus().equalsIgnoreCase("CALLOUT") && agents.getCampaignSystemStatus().equalsIgnoreCase("LOGOUT")) {
//if (zoneDialMode != null && zoneDialMode.getDialMode().equals(0) || rangeDialMode != null && rangeDialMode.getDialMode().equals(0)) //if (zoneDialMode != null && zoneDialMode.getDialMode().equals(0) || rangeDialMode != null && rangeDialMode.getDialMode().equals(0))
// update acd_full.agents table
Agents a = new Agents(); Agents a = new Agents();
a.setAgentId(requestDto.getAgentId()); a.setAgentId(requestDto.getAgentId());
a.setCampaignSystemStatus("AVAILABLE"); a.setCampaignSystemStatus("AVAILABLE");
a.setCurrentCampaignId(Long.parseLong(requestDto.getCampaignId())); 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) { } catch (Exception e) {
...@@ -271,23 +272,13 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService { ...@@ -271,23 +272,13 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
return result; 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 @Override
public ResultDTO getCall(CampaignRequestDTO dto) { public ResultDTO getCall(CampaignRequestDTO dto) {
ResultDTO result = new ResultDTO(); ResultDTO result = new ResultDTO();
Map data = new HashMap(); Map data = new HashMap();
data.put("campaignId", dto.getCampaignId()); 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())); TimeZoneDialMode zoneDialMode = zoneDialModeRepository.findDialModeAtCurrent(Long.parseLong(dto.getCampaignId()), Long.parseLong(dto.getCompanySiteId()));
TimeRangeDialMode rangeDialMode = rangeDialModeRepository.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