Commit 8b671664 authored by ='s avatar =

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/main/java/com/viettel/campaign/repository/ccms_full/impl/CampaignExecuteRepositoryImp.java
parents 681da34f bd579f71
...@@ -3,7 +3,7 @@ package com.viettel.campaign; ...@@ -3,7 +3,7 @@ package com.viettel.campaign;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication @SpringBootApplication(scanBasePackages={"com.viettel.campaign"})
public class ServiceCampaignApplication { public class ServiceCampaignApplication {
public static void main(String[] args) { public static void main(String[] args) {
......
package com.viettel.campaign.config;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.*;
import org.springframework.core.env.Environment;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import org.springframework.orm.jpa.JpaTransactionManager;
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
import org.springframework.transaction.PlatformTransactionManager;
import javax.sql.DataSource;
import java.util.HashMap;
/**
* @author anhvd_itsol
*/
@Configuration
@PropertySource({ "classpath:application.yml" })
@EnableJpaRepositories(
basePackages = "com.viettel.campaign.repository.acd_full",
entityManagerFactoryRef = "acdFullEntityManager",
transactionManagerRef = DataSourceQualify.ACD_FULL
)
public class ACDFullDatasourceConfig {
@Autowired
private Environment env;
@Bean("datasource2.datasource")
public DataSource dataSource(){
OracleDataSource r = new OracleDataSource();
r.setDriverClassName(env.getProperty("spring.datasource2.driver-class-name"));
r.setPoolName("app.datasource2");
r.setJdbcUrl(env.getProperty("spring.datasource2.url"));
r.setMaximumPoolSize(env.getProperty("spring.datasource2.max_pool_size", Integer.class));
r.setPassword(env.getProperty("spring.datasource2.password"));
r.setUsername(env.getProperty("spring.datasource2.username"));
return r;
}
@Bean
public LocalContainerEntityManagerFactoryBean acdFullEntityManager() {
LocalContainerEntityManagerFactoryBean em2
= new LocalContainerEntityManagerFactoryBean();
em2.setDataSource(dataSource());
em2.setPackagesToScan(
new String[] { "com.viettel.campaign.model.acd_full" });
em2.setPersistenceUnitName(DataSourceQualify.JPA_UNIT_NAME_ACD_FULL); // Important !!
HibernateJpaVendorAdapter vendorAdapter
= new HibernateJpaVendorAdapter();
em2.setJpaVendorAdapter(vendorAdapter);
HashMap<String, Object> properties = new HashMap<>();
properties.put("hibernate.dialect", env.getProperty("spring.jpa.database-platform"));
em2.setJpaPropertyMap(properties);
return em2;
}
@Bean(name = DataSourceQualify.ACD_FULL)
public PlatformTransactionManager acdFullTransactionManager() {
JpaTransactionManager transactionManager
= new JpaTransactionManager();
transactionManager.setEntityManagerFactory(
acdFullEntityManager().getObject());
return transactionManager;
}
@Bean(name = DataSourceQualify.NAMED_JDBC_PARAMETER_TEMPLATE_ACD_FULL)
@DependsOn("datasource2.datasource")
public NamedParameterJdbcTemplate namedParameterJdbcTemplate(@Qualifier("datasource2.datasource") DataSource abcDataSource) {
return new NamedParameterJdbcTemplate(abcDataSource);
}
}
package com.viettel.campaign.config;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.DependsOn;
import org.springframework.context.annotation.PropertySource;
import org.springframework.core.env.Environment;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import org.springframework.orm.jpa.JpaTransactionManager;
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
import org.springframework.transaction.PlatformTransactionManager;
import javax.sql.DataSource;
import java.util.HashMap;
/**
* @author anhvd_itsol
*/
@Configuration
@PropertySource({ "classpath:application.yml" })
@EnableJpaRepositories(
basePackages = "com.viettel.campaign.repository.ccms_full",
entityManagerFactoryRef = "ccmsFullEntityManager",
transactionManagerRef = DataSourceQualify.CCMS_FULL
)
public class CCMSFullDatasourceConfig {
@Autowired
private Environment env;
@Bean("datasource1.datasource")
public DataSource dataSource(){
OracleDataSource r = new OracleDataSource();
r.setDriverClassName(env.getProperty("spring.datasource.driver-class-name"));
r.setPoolName("app.datasource1");
r.setJdbcUrl(env.getProperty("spring.datasource.url"));
r.setMaximumPoolSize(env.getProperty("spring.datasource.max_pool_size", Integer.class));
r.setPassword(env.getProperty("spring.datasource.password"));
r.setUsername(env.getProperty("spring.datasource.username"));
return r;
}
@Bean
public LocalContainerEntityManagerFactoryBean ccmsFullEntityManager() {
LocalContainerEntityManagerFactoryBean em
= new LocalContainerEntityManagerFactoryBean();
em.setDataSource(dataSource());
em.setPackagesToScan(
new String[] { "com.viettel.campaign.model.ccms_full" });
em.setPersistenceUnitName(DataSourceQualify.JPA_UNIT_NAME_CCMS_FULL); // Important !!
HibernateJpaVendorAdapter vendorAdapter
= new HibernateJpaVendorAdapter();
em.setJpaVendorAdapter(vendorAdapter);
HashMap<String, Object> properties = new HashMap<>();
properties.put("hibernate.dialect", env.getProperty("spring.jpa.database-platform"));
em.setJpaPropertyMap(properties);
return em;
}
@Bean(name = DataSourceQualify.CCMS_FULL)
public PlatformTransactionManager ccmsFullTransactionManager() {
JpaTransactionManager transactionManager
= new JpaTransactionManager();
transactionManager.setEntityManagerFactory(
ccmsFullEntityManager().getObject());
return transactionManager;
}
@Bean(name = DataSourceQualify.NAMED_JDBC_PARAMETER_TEMPLATE_CCMS_FULL)
@DependsOn("datasource1.datasource")
public NamedParameterJdbcTemplate namedParameterJdbcTemplate(@Qualifier("datasource1.datasource") DataSource abcDataSource) {
return new NamedParameterJdbcTemplate(abcDataSource);
}
}
package com.viettel.campaign.config;
/**
* @author anhvd_itsol
*/
public class DataSourceQualify {
public static final String CCMS_FULL = "ccmsFullTransactionManager";
public static final String ACD_FULL = "acdFullTransactionManager";
public static final String JPA_UNIT_NAME_CCMS_FULL ="PERSITENCE_UNIT_NAME_1";
public static final String JPA_UNIT_NAME_ACD_FULL ="PERSITENCE_UNIT_NAME_2";
public static final String NAMED_JDBC_PARAMETER_TEMPLATE_CCMS_FULL ="NAMED_JDBC_PARAMETER_TEMPLATE_CCMS_FULL";
public static final String NAMED_JDBC_PARAMETER_TEMPLATE_ACD_FULL ="NAMED_JDBC_PARAMETER_TEMPLATE_ACD_FULL";
}
...@@ -4,6 +4,7 @@ import com.viettel.campaign.job.CampaignJob; ...@@ -4,6 +4,7 @@ import com.viettel.campaign.job.CampaignJob;
import com.viettel.campaign.service.ApParamService; import com.viettel.campaign.service.ApParamService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.TaskScheduler; import org.springframework.scheduling.TaskScheduler;
...@@ -14,6 +15,7 @@ import org.springframework.scheduling.annotation.SchedulingConfigurer; ...@@ -14,6 +15,7 @@ import org.springframework.scheduling.annotation.SchedulingConfigurer;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
import org.springframework.scheduling.config.ScheduledTaskRegistrar; import org.springframework.scheduling.config.ScheduledTaskRegistrar;
import org.springframework.scheduling.support.CronTrigger; import org.springframework.scheduling.support.CronTrigger;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date; import java.util.Date;
import java.util.concurrent.ScheduledFuture; import java.util.concurrent.ScheduledFuture;
...@@ -83,15 +85,15 @@ public class JobConfig implements SchedulingConfigurer { ...@@ -83,15 +85,15 @@ public class JobConfig implements SchedulingConfigurer {
@Override @Override
public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) { public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) {
ThreadPoolTaskScheduler threadPoolTaskScheduler = new ThreadPoolTaskScheduler(); // ThreadPoolTaskScheduler threadPoolTaskScheduler = new ThreadPoolTaskScheduler();
threadPoolTaskScheduler.setPoolSize(10); // threadPoolTaskScheduler.setPoolSize(10);
threadPoolTaskScheduler.setThreadNamePrefix("scheduler-thread"); // threadPoolTaskScheduler.setThreadNamePrefix("scheduler-thread");
threadPoolTaskScheduler.initialize(); // threadPoolTaskScheduler.initialize();
scheduledTaskRegistrar.setTaskScheduler(threadPoolTaskScheduler); // scheduledTaskRegistrar.setTaskScheduler(threadPoolTaskScheduler);
// scheduledTaskRegistrar.addTriggerTask(() -> campaignJob().process(), (TriggerContext triggerContext) -> yourService.getCron()); //// scheduledTaskRegistrar.addTriggerTask(() -> campaignJob().process(), (TriggerContext triggerContext) -> yourService.getCron());
scheduledTaskRegistrar.addTriggerTask(() -> campaignJob().process(), triggerContext -> { // scheduledTaskRegistrar.addTriggerTask(() -> campaignJob().process(), triggerContext -> {
CronTrigger trigger = new CronTrigger("0/5 * * * * ?"); // CronTrigger trigger = new CronTrigger("0/5 * * * * ?");
return trigger.nextExecutionTime(triggerContext); // return trigger.nextExecutionTime(triggerContext);
}); // });
} }
} }
package com.viettel.campaign.config;
import com.zaxxer.hikari.HikariDataSource;
/**
* @author anhvd_itsol
*/
public class OracleDataSource extends HikariDataSource {
public OracleDataSource(){
super.addDataSourceProperty("useSSL", "false");
super.addDataSourceProperty("cachePrepStmts", "true");
super.addDataSourceProperty("prepStmtCacheSize", "256");
super.addDataSourceProperty("allowMultiQueries", "true");
super.addDataSourceProperty("useServerPrepStmts", "false");
super.addDataSourceProperty("useLocalSessionState", "true");
super.addDataSourceProperty("prepStmtCacheSqlLimit", "81920");
super.addDataSourceProperty("nullCatalogMeansCurrent", "true");
super.addDataSourceProperty("rewriteBatchedStatements", "false");
super.addDataSourceProperty("useOldAliasMetadataBehavior", "true");
this.setIdleTimeout(600000); this.setConnectionTimeout(18000); this.setMinimumIdle(0);
this.setMaxLifetime(1800000); this.setInitializationFailTimeout(0);
}
}
package com.viettel.campaign.job; package com.viettel.campaign.job;
import com.viettel.campaign.model.Campaign; import com.viettel.campaign.model.ccms_full.Campaign;
import com.viettel.campaign.model.ProcessConfig; import com.viettel.campaign.model.ccms_full.ProcessConfig;
import com.viettel.campaign.service.CampaignService; import com.viettel.campaign.service.CampaignService;
import com.viettel.campaign.service.ProcessConfigService; import com.viettel.campaign.service.ProcessConfigService;
import com.viettel.campaign.utils.DateTimeUtil; import com.viettel.campaign.utils.DateTimeUtil;
......
package com.viettel.campaign.mapper; package com.viettel.campaign.mapper;
import com.viettel.campaign.web.dto.ApParamDTO; import com.viettel.campaign.web.dto.ApParamDTO;
import com.viettel.campaign.model.ApParam; import com.viettel.campaign.model.ccms_full.ApParam;
public class ApParamMapper extends BaseMapper<ApParam, ApParamDTO> { public class ApParamMapper extends BaseMapper<ApParam, ApParamDTO> {
......
package com.viettel.campaign.mapper; package com.viettel.campaign.mapper;
import com.viettel.campaign.web.dto.CampaignCompleteCodeDTO; import com.viettel.campaign.web.dto.CampaignCompleteCodeDTO;
import com.viettel.campaign.model.CampaignCompleteCode; import com.viettel.campaign.model.ccms_full.CampaignCompleteCode;
public class CampaignCompleteCodeMapper extends BaseMapper<CampaignCompleteCode, CampaignCompleteCodeDTO> { public class CampaignCompleteCodeMapper extends BaseMapper<CampaignCompleteCode, CampaignCompleteCodeDTO> {
......
package com.viettel.campaign.mapper; package com.viettel.campaign.mapper;
import com.viettel.campaign.model.CustomerList; import com.viettel.campaign.model.ccms_full.CustomerList;
import com.viettel.campaign.web.dto.CustomerListDTO; import com.viettel.campaign.web.dto.CustomerListDTO;
public class CustomerListMapper extends BaseMapper<CustomerList, CustomerListDTO> { public class CustomerListMapper extends BaseMapper<CustomerList, CustomerListDTO> {
......
package com.viettel.campaign.mapper; package com.viettel.campaign.mapper;
import com.viettel.campaign.web.dto.CustomerDTO; import com.viettel.campaign.web.dto.CustomerDTO;
import com.viettel.campaign.model.Customer; import com.viettel.campaign.model.ccms_full.Customer;
public class CustomerMapper extends BaseMapper<Customer, CustomerDTO> { public class CustomerMapper extends BaseMapper<Customer, CustomerDTO> {
......
package com.viettel.campaign.model; package com.viettel.campaign.model.ccms_full;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
......
package com.viettel.campaign.model; package com.viettel.campaign.model.ccms_full;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
...@@ -75,6 +75,7 @@ public class Campaign implements Serializable { ...@@ -75,6 +75,7 @@ public class Campaign implements Serializable {
private String dayOfWeek; private String dayOfWeek;
@Column(name = "CURRENT_TIME_MODE") @Column(name = "CURRENT_TIME_MODE")
private Long currentTimeMode; private Long currentTimeMode;
private Long currentTimeModel;
@Column(name = "WRAPUP_TIME_CONNECT") @Column(name = "WRAPUP_TIME_CONNECT")
private Long wrapupTimeConnect; private Long wrapupTimeConnect;
@Column(name = "WRAPUP_TIME_DISCONNECT") @Column(name = "WRAPUP_TIME_DISCONNECT")
......
package com.viettel.campaign.model; package com.viettel.campaign.model.ccms_full;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
......
package com.viettel.campaign.model; package com.viettel.campaign.model.ccms_full;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
......
package com.viettel.campaign.model; package com.viettel.campaign.model.ccms_full;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
......
package com.viettel.campaign.model; package com.viettel.campaign.model.ccms_full;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
......
package com.viettel.campaign.model; package com.viettel.campaign.model.ccms_full;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
......
package com.viettel.campaign.model; package com.viettel.campaign.model.ccms_full;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
......
package com.viettel.campaign.model; package com.viettel.campaign.model.ccms_full;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
......
package com.viettel.campaign.model; package com.viettel.campaign.model.ccms_full;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
......
package com.viettel.campaign.model; package com.viettel.campaign.model.ccms_full;
import lombok.Data; import lombok.Data;
......
package com.viettel.campaign.model; package com.viettel.campaign.model.ccms_full;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
......
package com.viettel.campaign.model; package com.viettel.campaign.model.ccms_full;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
......
package com.viettel.campaign.model; package com.viettel.campaign.model.ccms_full;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
......
package com.viettel.campaign.model; package com.viettel.campaign.model.ccms_full;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
......
package com.viettel.campaign.model; package com.viettel.campaign.model.ccms_full;
import javax.persistence.Entity; import javax.persistence.Entity;
import lombok.Getter; import lombok.Getter;
......
package com.viettel.campaign.repository;
import com.viettel.campaign.model.CampaignCompleteCode;
public interface CampaignCompleteCodeRepositoryCustom {
// CampaignCompleteCode updateStatusById(Long id);
// CampaignCompleteCode findMaxValueCampaignType(Long companySiteId);
}
package com.viettel.campaign.repository; package com.viettel.campaign.repository.ccms_full;
import com.viettel.campaign.model.ApParam; import com.viettel.campaign.model.ccms_full.ApParam;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
......
package com.viettel.campaign.repository; package com.viettel.campaign.repository.ccms_full;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
......
package com.viettel.campaign.repository; package com.viettel.campaign.repository.ccms_full;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
......
package com.viettel.campaign.repository; package com.viettel.campaign.repository.ccms_full;
import com.viettel.campaign.model.CampaignCompleteCode; import com.viettel.campaign.model.ccms_full.CampaignCompleteCode;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
...@@ -12,7 +12,7 @@ import org.springframework.stereotype.Repository; ...@@ -12,7 +12,7 @@ import org.springframework.stereotype.Repository;
import java.util.List; import java.util.List;
@Repository @Repository
public interface CampaignCompleteCodeRepository extends JpaRepository<CampaignCompleteCode, Long>, CampaignCompleteCodeRepositoryCustom { public interface CampaignCompleteCodeRepository extends JpaRepository<CampaignCompleteCode, Long>{
@Query(" select u FROM CampaignCompleteCode u WHERE u.status = 1") @Query(" select u FROM CampaignCompleteCode u WHERE u.status = 1")
Page<CampaignCompleteCode> findAll(Pageable pageable); Page<CampaignCompleteCode> findAll(Pageable pageable);
......
package com.viettel.campaign.repository.ccms_full;
import com.viettel.campaign.model.ccms_full.CampaignCompleteCode;
public interface CampaignCompleteCodeRepositoryCustom {
CampaignCompleteCode updateStatusById(Long id);
CampaignCompleteCode findMaxValueCampaignType(Long companySiteId);
}
package com.viettel.campaign.repository; package com.viettel.campaign.repository.ccms_full;
import com.viettel.campaign.model.CampaignCustomerList; import com.viettel.campaign.model.ccms_full.CampaignCustomerList;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param; import org.springframework.data.repository.query.Param;
......
package com.viettel.campaign.repository; package com.viettel.campaign.repository.ccms_full;
import com.viettel.campaign.model.CampaignCustomer; import com.viettel.campaign.model.ccms_full.CampaignCustomer;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param; import org.springframework.data.repository.query.Param;
......
package com.viettel.campaign.repository; package com.viettel.campaign.repository.ccms_full;
import com.viettel.campaign.web.dto.ApParamDTO; import com.viettel.campaign.web.dto.ApParamDTO;
import com.viettel.campaign.web.dto.ContactCustResultDTO; import com.viettel.campaign.web.dto.ContactCustResultDTO;
......
package com.viettel.campaign.repository; package com.viettel.campaign.repository.ccms_full;
import com.viettel.campaign.model.Campaign; import com.viettel.campaign.model.ccms_full.Campaign;
import com.viettel.campaign.web.dto.CampaignDTO;
import com.viettel.campaign.web.dto.ResultDTO;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param; import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
......
package com.viettel.campaign.repository; package com.viettel.campaign.repository.ccms_full;
import com.viettel.campaign.web.dto.ResultDTO; import com.viettel.campaign.web.dto.ResultDTO;
import com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO; import com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO;
......
package com.viettel.campaign.repository; package com.viettel.campaign.repository.ccms_full;
import com.viettel.campaign.model.CustomerContact; import com.viettel.campaign.model.ccms_full.CustomerContact;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
......
package com.viettel.campaign.repository; package com.viettel.campaign.repository.ccms_full;
import com.viettel.campaign.model.CustomerListMapping; import com.viettel.campaign.model.ccms_full.CustomerListMapping;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
......
package com.viettel.campaign.repository; package com.viettel.campaign.repository.ccms_full;
import com.viettel.campaign.model.CustomerList; import com.viettel.campaign.model.ccms_full.CustomerList;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
...@@ -22,6 +22,6 @@ public interface CustomerListRepository extends JpaRepository<CustomerList, Long ...@@ -22,6 +22,6 @@ public interface CustomerListRepository extends JpaRepository<CustomerList, Long
@Query("update CustomerList c set c.status = 0 where c.customerListId in (:p_ids) and c.companySiteId=:p_company_site_id") @Query("update CustomerList c set c.status = 0 where c.customerListId in (:p_ids) and c.companySiteId=:p_company_site_id")
int deleteCustomerListIds(@Param("p_ids") List<Long> p_ids, @Param("p_company_site_id") Long p_company_site_id); int deleteCustomerListIds(@Param("p_ids") List<Long> p_ids, @Param("p_company_site_id") Long p_company_site_id);
@Query(value = "SELECT * FROM (SELECT c.*, MAX(c.CREATE_AT) OVER() AS LATEST_CREATED FROM CUSTOMER_LIST c) WHERE CREATE_AT = LATEST_CREATED", nativeQuery = true) @Query(value = "SELECT * FROM (SELECT c.*, MAX(c.CREATE_AT) OVER() AS LATEST_CREATED FROM CUSTOMER_LIST c) WHERE CREATE_AT = LATEST_CREATED AND COMPANY_SITE_ID =:p_company_site_id", nativeQuery = true)
CustomerList latestCreated(); CustomerList latestCreated(@Param("p_company_site_id") Long p_company_site_id);
} }
package com.viettel.campaign.repository; package com.viettel.campaign.repository.ccms_full;
import com.viettel.campaign.model.Customer; import com.viettel.campaign.model.ccms_full.Customer;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
......
package com.viettel.campaign.repository; package com.viettel.campaign.repository.ccms_full;
import com.viettel.campaign.model.ProcessConfig; import com.viettel.campaign.model.ccms_full.ProcessConfig;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
......
package com.viettel.campaign.repository; package com.viettel.campaign.repository.ccms_full;
import com.viettel.campaign.model.Ticket; import com.viettel.campaign.model.ccms_full.Ticket;
public interface TicketRepository extends BaseRepository<Ticket>, TicketRepositoryCustom { public interface TicketRepository extends BaseRepository<Ticket>, TicketRepositoryCustom {
} }
package com.viettel.campaign.repository; package com.viettel.campaign.repository.ccms_full;
import com.viettel.campaign.web.dto.TicketDTO; import com.viettel.campaign.web.dto.TicketDTO;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
......
package com.viettel.campaign.repository; package com.viettel.campaign.repository.ccms_full;
import com.viettel.campaign.model.TimeRangeDialMode; import com.viettel.campaign.model.ccms_full.TimeRangeDialMode;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
......
package com.viettel.campaign.repository; package com.viettel.campaign.repository.ccms_full;
import com.viettel.campaign.model.TimeZoneDialMode; import com.viettel.campaign.model.ccms_full.TimeZoneDialMode;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
......
package com.viettel.campaign.repository; package com.viettel.campaign.repository.ccms_full;
import com.viettel.campaign.web.dto.ResultDTO; import com.viettel.campaign.web.dto.ResultDTO;
......
package com.viettel.campaign.repository.impl; package com.viettel.campaign.repository.ccms_full.impl;
import com.viettel.campaign.repository.ApParamRepositoryCustom; import com.viettel.campaign.repository.ccms_full.ApParamRepositoryCustom;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
......
package com.viettel.campaign.repository.impl; package com.viettel.campaign.repository.ccms_full.impl;
import com.viettel.campaign.model.CampaignCompleteCode; import com.viettel.campaign.config.DataSourceQualify;
import com.viettel.campaign.repository.CampaignCompleteCodeRepositoryCustom; import com.viettel.campaign.model.ccms_full.CampaignCompleteCode;
import com.viettel.campaign.web.dto.ResultDTO; import com.viettel.campaign.repository.ccms_full.CampaignCompleteCodeRepositoryCustom;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
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;
@Repository @Repository
public class CampaignCompleteCompleteCodeRepositoryIpml implements CampaignCompleteCodeRepositoryCustom { public class CampaignCompleteCompleteCodeRepositoryIpml implements CampaignCompleteCodeRepositoryCustom {
@Autowired @Autowired
EntityManager entityManager; @PersistenceContext( unitName= DataSourceQualify.JPA_UNIT_NAME_CCMS_FULL)
private EntityManager entityManager;
private Logger log = LoggerFactory.getLogger(CampaignCompleteCompleteCodeRepositoryIpml.class); private Logger log = LoggerFactory.getLogger(CampaignCompleteCompleteCodeRepositoryIpml.class);
@Transactional @Override
// @Transactional(DataSourceQualify.CCMS_FULL)
public CampaignCompleteCode updateStatusById(Long id) { public CampaignCompleteCode updateStatusById(Long id) {
CampaignCompleteCode dto = new CampaignCompleteCode(); CampaignCompleteCode dto = new CampaignCompleteCode();
try { try {
...@@ -32,7 +34,8 @@ public class CampaignCompleteCompleteCodeRepositoryIpml implements CampaignCompl ...@@ -32,7 +34,8 @@ public class CampaignCompleteCompleteCodeRepositoryIpml implements CampaignCompl
return dto; return dto;
} }
@Transactional @Override
// @Transactional(DataSourceQualify.CCMS_FULL)
public CampaignCompleteCode findMaxValueCampaignType(Long companySiteId) { public CampaignCompleteCode findMaxValueCampaignType(Long companySiteId) {
CampaignCompleteCode result = new CampaignCompleteCode(); CampaignCompleteCode result = new CampaignCompleteCode();
try { try {
......
package com.viettel.campaign.repository.impl; package com.viettel.campaign.repository.ccms_full.impl;
import com.viettel.campaign.repository.CampaignRepositoryCustom; import com.viettel.campaign.config.DataSourceQualify;
import com.viettel.campaign.repository.ccms_full.CampaignRepositoryCustom;
import com.viettel.campaign.utils.Constants; import com.viettel.campaign.utils.Constants;
import com.viettel.campaign.utils.DataUtil; import com.viettel.campaign.utils.DataUtil;
import com.viettel.campaign.utils.HibernateUtil; import com.viettel.campaign.utils.HibernateUtil;
...@@ -20,6 +21,7 @@ import org.springframework.data.domain.*; ...@@ -20,6 +21,7 @@ import org.springframework.data.domain.*;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import javax.persistence.EntityManager; import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query; import javax.persistence.Query;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -32,6 +34,7 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom { ...@@ -32,6 +34,7 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
private static final Logger logger = LogManager.getLogger(CampaignRepositoryImpl.class); private static final Logger logger = LogManager.getLogger(CampaignRepositoryImpl.class);
@Autowired @Autowired
@PersistenceContext( unitName= DataSourceQualify.JPA_UNIT_NAME_CCMS_FULL)
EntityManager entityManager; EntityManager entityManager;
@Override @Override
......
package com.viettel.campaign.repository.impl; package com.viettel.campaign.repository.ccms_full.impl;
import com.viettel.campaign.repository.TicketRepositoryCustom; import com.viettel.campaign.config.DataSourceQualify;
import com.viettel.campaign.repository.ccms_full.TicketRepositoryCustom;
import com.viettel.campaign.web.dto.TicketDTO; import com.viettel.campaign.web.dto.TicketDTO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import javax.persistence.EntityManager; import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query; import javax.persistence.Query;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -15,6 +17,7 @@ import java.util.List; ...@@ -15,6 +17,7 @@ import java.util.List;
public class TicketRepositoryImpl implements TicketRepositoryCustom { public class TicketRepositoryImpl implements TicketRepositoryCustom {
@Autowired @Autowired
@PersistenceContext( unitName= DataSourceQualify.JPA_UNIT_NAME_CCMS_FULL)
EntityManager entityManager; EntityManager entityManager;
@Override @Override
......
package com.viettel.campaign.repository.impl; package com.viettel.campaign.repository.ccms_full.impl;
import com.viettel.campaign.repository.UserActionLogRepositoryCustom; import com.viettel.campaign.repository.ccms_full.UserActionLogRepositoryCustom;
import com.viettel.campaign.utils.Constants; import com.viettel.campaign.utils.Constants;
import com.viettel.campaign.utils.HibernateUtil; import com.viettel.campaign.utils.HibernateUtil;
import com.viettel.campaign.utils.SQLBuilder; import com.viettel.campaign.utils.SQLBuilder;
......
...@@ -2,7 +2,7 @@ package com.viettel.campaign.service; ...@@ -2,7 +2,7 @@ package com.viettel.campaign.service;
import com.viettel.campaign.web.dto.ApParamDTO; import com.viettel.campaign.web.dto.ApParamDTO;
import com.viettel.campaign.web.dto.ResultDTO; import com.viettel.campaign.web.dto.ResultDTO;
import com.viettel.campaign.model.ApParam; import com.viettel.campaign.model.ccms_full.ApParam;
import java.util.List; import java.util.List;
......
package com.viettel.campaign.service; package com.viettel.campaign.service;
import com.viettel.campaign.model.Campaign; import com.viettel.campaign.model.ccms_full.Campaign;
import com.viettel.campaign.web.dto.CampaignDTO; import com.viettel.campaign.web.dto.CampaignDTO;
import com.viettel.campaign.web.dto.ResultDTO; import com.viettel.campaign.web.dto.ResultDTO;
import com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO; import com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
......
package com.viettel.campaign.service; package com.viettel.campaign.service;
import com.viettel.campaign.model.CustomerList; import com.viettel.campaign.model.ccms_full.CustomerList;
import com.viettel.campaign.web.dto.CustomerContactDTO; import com.viettel.campaign.web.dto.CustomerContactDTO;
import com.viettel.campaign.web.dto.CustomerDTO; import com.viettel.campaign.web.dto.CustomerDTO;
import com.viettel.campaign.web.dto.CustomerListDTO; import com.viettel.campaign.web.dto.CustomerListDTO;
...@@ -36,11 +36,12 @@ public interface CustomerService { ...@@ -36,11 +36,12 @@ public interface CustomerService {
ResultDTO searchCustomerList(SearchCustomerRequestDTO searchCustomerRequestDTO); ResultDTO searchCustomerList(SearchCustomerRequestDTO searchCustomerRequestDTO);
CustomerList getLatestCreated(); CustomerList getLatestCreated(Long companySiteId);
// ------------ customer contact ------------ // // ------------ customer contact ------------ //
ResultDTO getCustomerContact(CustomerContactDTO customer); ResultDTO getCustomerContact(CustomerContactDTO customer);
// danh sach khach hang cua chien dich // // danh sach khach hang cua chien dich //
ResultDTO searchCustomerListInfoFromCustomerList(int page, int pageSize, String sort, Long campaignId, Long companySiteId); ResultDTO searchCustomerListInfoFromCustomerList(int page, int pageSize, String sort, Long campaignId, Long companySiteId);
......
package com.viettel.campaign.service; package com.viettel.campaign.service;
import com.viettel.campaign.model.ProcessConfig; import com.viettel.campaign.model.ccms_full.ProcessConfig;
import com.viettel.campaign.repository.ProcessConfigRepository; import com.viettel.campaign.repository.ccms_full.ProcessConfigRepository;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
......
package com.viettel.campaign.service.impl; package com.viettel.campaign.service.impl;
import com.viettel.campaign.config.DataSourceQualify;
import com.viettel.campaign.service.ApParamService; import com.viettel.campaign.service.ApParamService;
import com.viettel.campaign.utils.Constants; import com.viettel.campaign.utils.Constants;
import com.viettel.campaign.web.dto.ApParamDTO; import com.viettel.campaign.web.dto.ApParamDTO;
import com.viettel.campaign.web.dto.ResultDTO; import com.viettel.campaign.web.dto.ResultDTO;
import com.viettel.campaign.mapper.ApParamMapper; import com.viettel.campaign.mapper.ApParamMapper;
import com.viettel.campaign.model.ApParam; import com.viettel.campaign.model.ccms_full.ApParam;
import com.viettel.campaign.repository.ApParamRepository; import com.viettel.campaign.repository.ccms_full.ApParamRepository;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort; import org.springframework.data.domain.Sort;
...@@ -14,8 +15,10 @@ import org.springframework.stereotype.Service; ...@@ -14,8 +15,10 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.springframework.transaction.annotation.Transactional;
@Service @Service
public class ApParamServiceImpl implements ApParamService { public class ApParamServiceImpl implements ApParamService {
...@@ -26,11 +29,13 @@ public class ApParamServiceImpl implements ApParamService { ...@@ -26,11 +29,13 @@ public class ApParamServiceImpl implements ApParamService {
private static final Logger logger = LogManager.getLogger(ApParamServiceImpl.class); private static final Logger logger = LogManager.getLogger(ApParamServiceImpl.class);
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public Iterable<ApParam> getAllParams(int page, int pageSize, String sort) { public Iterable<ApParam> getAllParams(int page, int pageSize, String sort) {
return apParamRepository.findAll(PageRequest.of(page, pageSize, Sort.by(sort))); return apParamRepository.findAll(PageRequest.of(page, pageSize, Sort.by(sort)));
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public List<ApParam> getParamByName(int page, int pageSize, String sort, String parName) { public List<ApParam> getParamByName(int page, int pageSize, String sort, String parName) {
List<ApParam> lst = new ArrayList<>(); List<ApParam> lst = new ArrayList<>();
...@@ -41,6 +46,7 @@ public class ApParamServiceImpl implements ApParamService { ...@@ -41,6 +46,7 @@ public class ApParamServiceImpl implements ApParamService {
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO createApParam(ApParamDTO apParamDTO) { public ResultDTO createApParam(ApParamDTO apParamDTO) {
ResultDTO result = new ResultDTO(); ResultDTO result = new ResultDTO();
ApParamMapper apParamMapper = new ApParamMapper(); ApParamMapper apParamMapper = new ApParamMapper();
...@@ -67,6 +73,7 @@ public class ApParamServiceImpl implements ApParamService { ...@@ -67,6 +73,7 @@ public class ApParamServiceImpl implements ApParamService {
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO findParamByParType(String parType) { public ResultDTO findParamByParType(String parType) {
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
try { try {
......
package com.viettel.campaign.service.impl; package com.viettel.campaign.service.impl;
import com.viettel.campaign.config.DataSourceQualify;
import com.viettel.campaign.mapper.CampaignCompleteCodeMapper; import com.viettel.campaign.mapper.CampaignCompleteCodeMapper;
import com.viettel.campaign.model.CampaignCompleteCode; import com.viettel.campaign.model.ccms_full.CampaignCompleteCode;
import com.viettel.campaign.repository.CampaignCompleteCodeRepository; import com.viettel.campaign.repository.ccms_full.CampaignCompleteCodeRepository;
import com.viettel.campaign.service.CampaignCompleteCodeService; import com.viettel.campaign.service.CampaignCompleteCodeService;
import com.viettel.campaign.utils.Constants; import com.viettel.campaign.utils.Constants;
import com.viettel.campaign.utils.DataUtil; import com.viettel.campaign.utils.DataUtil;
...@@ -36,6 +37,7 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ ...@@ -36,6 +37,7 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ
CampaignCompleteCodeRepository completeCodeRepository; CampaignCompleteCodeRepository completeCodeRepository;
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public Map listAllCompleteCode(int page, int pageSize, String sort) { public Map listAllCompleteCode(int page, int pageSize, String sort) {
Map result = new HashMap(); Map result = new HashMap();
Page<CampaignCompleteCode> pg = completeCodeRepository.findAll(PageRequest.of(page, pageSize, Sort.by(sort))); Page<CampaignCompleteCode> pg = completeCodeRepository.findAll(PageRequest.of(page, pageSize, Sort.by(sort)));
...@@ -45,6 +47,7 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ ...@@ -45,6 +47,7 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public Map listCompleteCodeByName(int page, int pageSize, String sort, String name) { public Map listCompleteCodeByName(int page, int pageSize, String sort, String name) {
Map result = new HashMap(); Map result = new HashMap();
List<CampaignCompleteCode> lst = new ArrayList<>(); List<CampaignCompleteCode> lst = new ArrayList<>();
...@@ -60,6 +63,7 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ ...@@ -60,6 +63,7 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO createCompleteCode(CampaignCompleteCodeDTO completeCodeDTO) { public ResultDTO createCompleteCode(CampaignCompleteCodeDTO completeCodeDTO) {
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
CampaignCompleteCodeMapper compCodeMapper = new CampaignCompleteCodeMapper(); CampaignCompleteCodeMapper compCodeMapper = new CampaignCompleteCodeMapper();
...@@ -86,6 +90,7 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ ...@@ -86,6 +90,7 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO updateCompleteCode(CampaignCompleteCodeDTO completeCodeDTO) { public ResultDTO updateCompleteCode(CampaignCompleteCodeDTO completeCodeDTO) {
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
CampaignCompleteCodeMapper compCodeMapper = new CampaignCompleteCodeMapper(); CampaignCompleteCodeMapper compCodeMapper = new CampaignCompleteCodeMapper();
...@@ -112,6 +117,7 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ ...@@ -112,6 +117,7 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO deleteCompleteCode(CampaignCompleteCodeDTO completeCodeDTO) { public ResultDTO deleteCompleteCode(CampaignCompleteCodeDTO completeCodeDTO) {
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
CampaignCompleteCodeMapper compCodeMapper = new CampaignCompleteCodeMapper(); CampaignCompleteCodeMapper compCodeMapper = new CampaignCompleteCodeMapper();
...@@ -136,8 +142,8 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ ...@@ -136,8 +142,8 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ
return resultDTO; return resultDTO;
} }
@Transactional
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO deleteList(List<Long> completeCodeDtos) { public ResultDTO deleteList(List<Long> completeCodeDtos) {
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
try { try {
...@@ -156,6 +162,7 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ ...@@ -156,6 +162,7 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO deleteById(Long id) { public ResultDTO deleteById(Long id) {
ResultDTO result = new ResultDTO(); ResultDTO result = new ResultDTO();
...@@ -172,7 +179,7 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ ...@@ -172,7 +179,7 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ
return result; return result;
} }
// @Override // @Override
// public ResultDTO findMaxValueCampaignCompleteCode(CampaignCompleteCodeDTO completeCodeDTO) { // public ResultDTO findMaxValueCampaignCompleteCode(CampaignCompleteCodeDTO completeCodeDTO) {
// ResultDTO resultDTO = new ResultDTO(); // ResultDTO resultDTO = new ResultDTO();
// CampaignCompleteCodeMapper campaignCompleteCodeMapper = new CampaignCompleteCodeMapper(); // CampaignCompleteCodeMapper campaignCompleteCodeMapper = new CampaignCompleteCodeMapper();
...@@ -203,6 +210,7 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ ...@@ -203,6 +210,7 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ
// } // }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO findMaxValueCampaignCompleteCode(CampaignCompleteCodeDTO completeCodeDTO) { public ResultDTO findMaxValueCampaignCompleteCode(CampaignCompleteCodeDTO completeCodeDTO) {
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
SessionFactory sessionFactory = HibernateUtil.getSessionFactory(); SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
...@@ -252,6 +260,7 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ ...@@ -252,6 +260,7 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO getListStatus(String completeValue, Short completeType, Long companySiteId) { public ResultDTO getListStatus(String completeValue, Short completeType, Long companySiteId) {
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
try { try {
...@@ -268,6 +277,7 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ ...@@ -268,6 +277,7 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO getListStatusWithoutType(String completeValue, Short completeType, Long companySiteId) { public ResultDTO getListStatusWithoutType(String completeValue, Short completeType, Long companySiteId) {
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
try { try {
......
package com.viettel.campaign.service.impl; package com.viettel.campaign.service.impl;
import com.viettel.campaign.repository.CampaignExecuteRepository; import com.viettel.campaign.config.DataSourceQualify;
import com.viettel.campaign.repository.ccms_full.CampaignExecuteRepository;
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;
...@@ -8,7 +9,6 @@ import com.viettel.campaign.web.dto.ApParamDTO; ...@@ -8,7 +9,6 @@ import com.viettel.campaign.web.dto.ApParamDTO;
import com.viettel.campaign.web.dto.ContactCustResultDTO; import com.viettel.campaign.web.dto.ContactCustResultDTO;
import com.viettel.campaign.web.dto.ResultDTO; import com.viettel.campaign.web.dto.ResultDTO;
import com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO; import com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO;
import org.apache.commons.collections4.BagUtils;
import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook;
...@@ -16,8 +16,8 @@ import org.slf4j.Logger; ...@@ -16,8 +16,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.text.DateFormat;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -34,6 +34,7 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService { ...@@ -34,6 +34,7 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
//<editor-fold: hungtt> //<editor-fold: hungtt>
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO getComboBoxStatus(String companySiteId, String completeType) { public ResultDTO getComboBoxStatus(String companySiteId, String completeType) {
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
try { try {
...@@ -48,6 +49,7 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService { ...@@ -48,6 +49,7 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO getComboCampaignType(String companySiteId) { public ResultDTO getComboCampaignType(String companySiteId) {
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
try { try {
...@@ -62,6 +64,7 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService { ...@@ -62,6 +64,7 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO searchInteractiveResult(CampaignRequestDTO dto) { public ResultDTO searchInteractiveResult(CampaignRequestDTO dto) {
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
try { try {
...@@ -73,6 +76,7 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService { ...@@ -73,6 +76,7 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public XSSFWorkbook exportInteractiveResult(CampaignRequestDTO dto) { public XSSFWorkbook exportInteractiveResult(CampaignRequestDTO dto) {
Locale locale = Locale.forLanguageTag("vi"); Locale locale = Locale.forLanguageTag("vi");
List<ContactCustResultDTO> list = campaignExecuteRepository.getExcelInteractiveResult(dto); List<ContactCustResultDTO> list = campaignExecuteRepository.getExcelInteractiveResult(dto);
......
package com.viettel.campaign.service.impl; package com.viettel.campaign.service.impl;
import com.viettel.campaign.model.Campaign; import com.viettel.campaign.config.DataSourceQualify;
import com.viettel.campaign.model.TimeRangeDialMode; import com.viettel.campaign.model.ccms_full.Campaign;
import com.viettel.campaign.model.TimeZoneDialMode; import com.viettel.campaign.model.ccms_full.TimeRangeDialMode;
import com.viettel.campaign.model.ccms_full.TimeZoneDialMode;
//import com.viettel.campaign.model.UserActionLog; //import com.viettel.campaign.model.UserActionLog;
import com.viettel.campaign.repository.CampaignRepository; import com.viettel.campaign.repository.ccms_full.CampaignRepository;
import com.viettel.campaign.repository.TimeRangeDialModeRepository; import com.viettel.campaign.repository.ccms_full.TimeRangeDialModeRepository;
import com.viettel.campaign.repository.TimeZoneDialModeRepository; import com.viettel.campaign.repository.ccms_full.TimeZoneDialModeRepository;
//import com.viettel.campaign.repository.UserActionLogRepository; //import com.viettel.campaign.repository.UserActionLogRepository;
import com.viettel.campaign.repository.UserActionLogRepositoryCustom; import com.viettel.campaign.repository.ccms_full.UserActionLogRepositoryCustom;
import com.viettel.campaign.repository.impl.CampaignRepositoryImpl;
import com.viettel.campaign.service.CampaignService; import com.viettel.campaign.service.CampaignService;
import com.viettel.campaign.utils.Constants; import com.viettel.campaign.utils.Constants;
import com.viettel.campaign.web.dto.*; import com.viettel.campaign.web.dto.*;
...@@ -21,7 +21,6 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -21,7 +21,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
...@@ -31,7 +30,7 @@ import java.util.*; ...@@ -31,7 +30,7 @@ import java.util.*;
@Service @Service
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public class CampaignServiceImpl implements CampaignService { public class CampaignServiceImpl implements CampaignService {
private static final Logger logger = LogManager.getLogger(CampaignRepositoryImpl.class); private static final Logger logger = LogManager.getLogger(CampaignServiceImpl.class);
@Autowired @Autowired
CampaignRepository campaignRepository; CampaignRepository campaignRepository;
...@@ -49,41 +48,49 @@ public class CampaignServiceImpl implements CampaignService { ...@@ -49,41 +48,49 @@ public class CampaignServiceImpl implements CampaignService {
ModelMapper modelMapper; ModelMapper modelMapper;
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO searchCampaignExecute(CampaignRequestDTO requestDto) { public ResultDTO searchCampaignExecute(CampaignRequestDTO requestDto) {
return campaignRepository.searchCampaignExecute(requestDto); return campaignRepository.searchCampaignExecute(requestDto);
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO search(CampaignRequestDTO requestDto) { public ResultDTO search(CampaignRequestDTO requestDto) {
return campaignRepository.search(requestDto); return campaignRepository.search(requestDto);
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO findByCampaignCode(CampaignRequestDTO requestDTO) { public ResultDTO findByCampaignCode(CampaignRequestDTO requestDTO) {
return campaignRepository.findByCampaignCode(requestDTO); return campaignRepository.findByCampaignCode(requestDTO);
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public List<Campaign> findAllCondition(Long companySiteId) { public List<Campaign> findAllCondition(Long companySiteId) {
return campaignRepository.findAllByCompanySiteId(companySiteId); return campaignRepository.findAllByCompanySiteId(companySiteId);
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public List<Campaign> findCampaignByCompanySiteIdAndStartTimeIsLessThanEqualAndStatusIn(Long siteId, Date startTime, List<Long> status) { public List<Campaign> findCampaignByCompanySiteIdAndStartTimeIsLessThanEqualAndStatusIn(Long siteId, Date startTime, List<Long> status) {
return campaignRepository.findCampaignByCompanySiteIdAndStartTimeIsLessThanEqualAndStatusIn(siteId, startTime, status); return campaignRepository.findCampaignByCompanySiteIdAndStartTimeIsLessThanEqualAndStatusIn(siteId, startTime, status);
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public List<Campaign> findCampaignByCompanySiteIdAndEndTimeIsLessThanEqualAndStatusIn(Long siteId, Date endTime, List<Long> status) { public List<Campaign> findCampaignByCompanySiteIdAndEndTimeIsLessThanEqualAndStatusIn(Long siteId, Date endTime, List<Long> status) {
return campaignRepository.findCampaignByCompanySiteIdAndEndTimeIsLessThanEqualAndStatusIn(siteId, endTime, status); return campaignRepository.findCampaignByCompanySiteIdAndEndTimeIsLessThanEqualAndStatusIn(siteId, endTime, status);
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public Campaign updateProcess(Campaign c) { public Campaign updateProcess(Campaign c) {
return campaignRepository.save(c); return campaignRepository.save(c);
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO findByCampaignId(Long campaignId) { public ResultDTO findByCampaignId(Long campaignId) {
ResultDTO result = new ResultDTO(); ResultDTO result = new ResultDTO();
Campaign campaign = campaignRepository.findByCampaignId(campaignId); Campaign campaign = campaignRepository.findByCampaignId(campaignId);
...@@ -101,6 +108,7 @@ public class CampaignServiceImpl implements CampaignService { ...@@ -101,6 +108,7 @@ public class CampaignServiceImpl implements CampaignService {
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO addNewCampaign(CampaignDTO campaignDTO) { public ResultDTO addNewCampaign(CampaignDTO campaignDTO) {
logger.info("=== Start add new campaign "); logger.info("=== Start add new campaign ");
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
...@@ -166,6 +174,7 @@ public class CampaignServiceImpl implements CampaignService { ...@@ -166,6 +174,7 @@ public class CampaignServiceImpl implements CampaignService {
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO findCampaignById(Long campaignId) { public ResultDTO findCampaignById(Long campaignId) {
logger.info("=== Start find campaign by id: " + campaignId); logger.info("=== Start find campaign by id: " + campaignId);
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
...@@ -185,6 +194,7 @@ public class CampaignServiceImpl implements CampaignService { ...@@ -185,6 +194,7 @@ public class CampaignServiceImpl implements CampaignService {
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO changeCampaignStatus(CampaignDTO dto) { public ResultDTO changeCampaignStatus(CampaignDTO dto) {
ResultDTO result = new ResultDTO(); ResultDTO result = new ResultDTO();
try { try {
...@@ -237,6 +247,7 @@ public class CampaignServiceImpl implements CampaignService { ...@@ -237,6 +247,7 @@ public class CampaignServiceImpl implements CampaignService {
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO checkAllowStatusToPrepare(Long campaignId) { public ResultDTO checkAllowStatusToPrepare(Long campaignId) {
return campaignRepository.checkAllowStatusToPrepare(campaignId); return campaignRepository.checkAllowStatusToPrepare(campaignId);
} }
......
package com.viettel.campaign.service.impl; package com.viettel.campaign.service.impl;
import com.viettel.campaign.config.DataSourceQualify;
import com.viettel.campaign.mapper.CustomerListMapper; import com.viettel.campaign.mapper.CustomerListMapper;
import com.viettel.campaign.mapper.CustomerMapper; import com.viettel.campaign.mapper.CustomerMapper;
import com.viettel.campaign.model.Customer; import com.viettel.campaign.model.ccms_full.Customer;
import com.viettel.campaign.model.CustomerContact; import com.viettel.campaign.model.ccms_full.CustomerContact;
import com.viettel.campaign.model.CustomerList; import com.viettel.campaign.model.ccms_full.CustomerList;
import com.viettel.campaign.repository.*; import com.viettel.campaign.repository.ccms_full.*;
import com.viettel.campaign.service.CustomerService; import com.viettel.campaign.service.CustomerService;
import com.viettel.campaign.utils.Constants; import com.viettel.campaign.utils.Constants;
import com.viettel.campaign.utils.DataUtil; import com.viettel.campaign.utils.DataUtil;
...@@ -28,6 +29,7 @@ import org.springframework.stereotype.Service; ...@@ -28,6 +29,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager; import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query; import javax.persistence.Query;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -36,6 +38,7 @@ import java.util.List; ...@@ -36,6 +38,7 @@ import java.util.List;
public class CustomerServiceImpl implements CustomerService { public class CustomerServiceImpl implements CustomerService {
@Autowired @Autowired
@PersistenceContext( unitName= DataSourceQualify.JPA_UNIT_NAME_CCMS_FULL)
EntityManager entityManager; EntityManager entityManager;
@Autowired @Autowired
...@@ -57,6 +60,7 @@ public class CustomerServiceImpl implements CustomerService { ...@@ -57,6 +60,7 @@ public class CustomerServiceImpl implements CustomerService {
CustomerListMappingRepository customerListMappingRepository; CustomerListMappingRepository customerListMappingRepository;
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO getAllCustomer(int page, int pageSize, String sort, long customerListId, long companySiteId) { public ResultDTO getAllCustomer(int page, int pageSize, String sort, long customerListId, long companySiteId) {
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
SessionFactory sessionFactory = HibernateUtil.getSessionFactory(); SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
...@@ -122,6 +126,7 @@ public class CustomerServiceImpl implements CustomerService { ...@@ -122,6 +126,7 @@ public class CustomerServiceImpl implements CustomerService {
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO getCustomerId(Long customerId) { public ResultDTO getCustomerId(Long customerId) {
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
...@@ -140,6 +145,7 @@ public class CustomerServiceImpl implements CustomerService { ...@@ -140,6 +145,7 @@ public class CustomerServiceImpl implements CustomerService {
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO searchAllCustomer(int page, int pageSize, String sort, long customerListId, long companySiteId, String name, String mobileNumber, String email) { public ResultDTO searchAllCustomer(int page, int pageSize, String sort, long customerListId, long companySiteId, String name, String mobileNumber, String email) {
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
SessionFactory sessionFactory = HibernateUtil.getSessionFactory(); SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
...@@ -238,7 +244,7 @@ public class CustomerServiceImpl implements CustomerService { ...@@ -238,7 +244,7 @@ public class CustomerServiceImpl implements CustomerService {
} }
@Override @Override
@Transactional @Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO createCustomer(CustomerDTO customerDTO) { public ResultDTO createCustomer(CustomerDTO customerDTO) {
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
CustomerMapper customerMapper = new CustomerMapper(); CustomerMapper customerMapper = new CustomerMapper();
...@@ -272,8 +278,8 @@ public class CustomerServiceImpl implements CustomerService { ...@@ -272,8 +278,8 @@ public class CustomerServiceImpl implements CustomerService {
return resultDTO; return resultDTO;
} }
@Transactional
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO deleteCustomer(CustomerRequestDTO customerRequestDTO) { public ResultDTO deleteCustomer(CustomerRequestDTO customerRequestDTO) {
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
try { try {
...@@ -295,8 +301,8 @@ public class CustomerServiceImpl implements CustomerService { ...@@ -295,8 +301,8 @@ public class CustomerServiceImpl implements CustomerService {
return resultDTO; return resultDTO;
} }
@Transactional
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO deleteIds(CustomerRequestDTO customerRequestDTO) { public ResultDTO deleteIds(CustomerRequestDTO customerRequestDTO) {
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
try { try {
...@@ -332,6 +338,7 @@ public class CustomerServiceImpl implements CustomerService { ...@@ -332,6 +338,7 @@ public class CustomerServiceImpl implements CustomerService {
// ------------- customer list ----------------- // // ------------- customer list ----------------- //
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO getAllCustomerList(int page, int pageSize, String sort, Long companySiteId) { public ResultDTO getAllCustomerList(int page, int pageSize, String sort, Long companySiteId) {
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
SessionFactory sessionFactory = HibernateUtil.getSessionFactory(); SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
...@@ -396,6 +403,7 @@ public class CustomerServiceImpl implements CustomerService { ...@@ -396,6 +403,7 @@ public class CustomerServiceImpl implements CustomerService {
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO createCustomerList(CustomerListDTO customerListDTO) { public ResultDTO createCustomerList(CustomerListDTO customerListDTO) {
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
CustomerListMapper customerListMapper = new CustomerListMapper(); CustomerListMapper customerListMapper = new CustomerListMapper();
...@@ -426,6 +434,7 @@ public class CustomerServiceImpl implements CustomerService { ...@@ -426,6 +434,7 @@ public class CustomerServiceImpl implements CustomerService {
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO updateCustomerList(CustomerListDTO customerListDTO) { public ResultDTO updateCustomerList(CustomerListDTO customerListDTO) {
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
CustomerListMapper customerListMapper = new CustomerListMapper(); CustomerListMapper customerListMapper = new CustomerListMapper();
...@@ -456,8 +465,8 @@ public class CustomerServiceImpl implements CustomerService { ...@@ -456,8 +465,8 @@ public class CustomerServiceImpl implements CustomerService {
return resultDTO; return resultDTO;
} }
@Transactional
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO deleteCustomerList(CustomerListDTO customerListDTO) { public ResultDTO deleteCustomerList(CustomerListDTO customerListDTO) {
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
...@@ -483,8 +492,8 @@ public class CustomerServiceImpl implements CustomerService { ...@@ -483,8 +492,8 @@ public class CustomerServiceImpl implements CustomerService {
return resultDTO; return resultDTO;
} }
@Transactional
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO deleteCustomerListIds(CustomerRequestDTO customerRequestDTO) { public ResultDTO deleteCustomerListIds(CustomerRequestDTO customerRequestDTO) {
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
try { try {
...@@ -511,6 +520,7 @@ public class CustomerServiceImpl implements CustomerService { ...@@ -511,6 +520,7 @@ public class CustomerServiceImpl implements CustomerService {
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO searchCustomerList(SearchCustomerRequestDTO searchCustomerRequestDTO) { public ResultDTO searchCustomerList(SearchCustomerRequestDTO searchCustomerRequestDTO) {
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
SessionFactory sessionFactory = HibernateUtil.getSessionFactory(); SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
...@@ -602,11 +612,13 @@ public class CustomerServiceImpl implements CustomerService { ...@@ -602,11 +612,13 @@ public class CustomerServiceImpl implements CustomerService {
} }
@Override @Override
public CustomerList getLatestCreated() { @Transactional(DataSourceQualify.CCMS_FULL)
return customerListRepository.latestCreated(); public CustomerList getLatestCreated(Long companySiteId) {
return customerListRepository.latestCreated(companySiteId);
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO getCustomerContact(CustomerContactDTO customer) { public ResultDTO getCustomerContact(CustomerContactDTO customer) {
ResultDTO result = new ResultDTO(); ResultDTO result = new ResultDTO();
...@@ -630,6 +642,7 @@ public class CustomerServiceImpl implements CustomerService { ...@@ -630,6 +642,7 @@ public class CustomerServiceImpl implements CustomerService {
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO getCustomerRecall(Long campaignId, Long customerId) { public ResultDTO getCustomerRecall(Long campaignId, Long customerId) {
ResultDTO result = new ResultDTO(); ResultDTO result = new ResultDTO();
...@@ -652,6 +665,7 @@ public class CustomerServiceImpl implements CustomerService { ...@@ -652,6 +665,7 @@ public class CustomerServiceImpl implements CustomerService {
} }
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO searchCustomerListInfoFromCustomerList(int page, int pageSize, String sort, Long campaignId, Long companySiteId) { public ResultDTO searchCustomerListInfoFromCustomerList(int page, int pageSize, String sort, Long campaignId, Long companySiteId) {
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
try { try {
......
package com.viettel.campaign.service.impl; package com.viettel.campaign.service.impl;
import com.viettel.campaign.repository.TicketRepository; import com.viettel.campaign.config.DataSourceQualify;
import com.viettel.campaign.repository.ccms_full.TicketRepository;
import com.viettel.campaign.service.TicketService; import com.viettel.campaign.service.TicketService;
import com.viettel.campaign.web.dto.TicketDTO; import com.viettel.campaign.web.dto.TicketDTO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort; import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
...@@ -20,6 +22,7 @@ public class TicketServiceImpl implements TicketService { ...@@ -20,6 +22,7 @@ public class TicketServiceImpl implements TicketService {
TicketRepository ticketRepository; TicketRepository ticketRepository;
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL)
public Map getHistory(int page, int pageSize, String sort, String customerId) { public Map getHistory(int page, int pageSize, String sort, String customerId) {
Map result = new HashMap(); Map result = new HashMap();
List<TicketDTO> lst = new ArrayList<>(); List<TicketDTO> lst = new ArrayList<>();
......
package com.viettel.campaign.web.rest; package com.viettel.campaign.web.rest;
import com.viettel.campaign.model.ApParam; import com.viettel.campaign.model.ccms_full.ApParam;
import com.viettel.campaign.service.ApParamService; import com.viettel.campaign.service.ApParamService;
import com.viettel.campaign.service.CampaignExecuteService; import com.viettel.campaign.service.CampaignExecuteService;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
......
...@@ -53,7 +53,7 @@ public class CustomerController { ...@@ -53,7 +53,7 @@ public class CustomerController {
@GetMapping("/searchAllCustomerByParams") @GetMapping("/searchAllCustomerByParams")
@ResponseBody @ResponseBody
public ResponseEntity findAllCustomerName(@RequestParam("page") int page, @RequestParam("pageSize") int pageSize, @RequestParam("sort") String sort, @RequestParam("customerListId") Long customerListId, @RequestParam("companySiteId") Long companySiteId, @RequestParam("name") String name, @RequestParam("mobileNumber") String mobileNumber, @RequestParam("email") String email) { public ResponseEntity findAllCustomerByParams(@RequestParam("page") int page, @RequestParam("pageSize") int pageSize, @RequestParam("sort") String sort, @RequestParam("customerListId") Long customerListId, @RequestParam("companySiteId") Long companySiteId, @RequestParam("name") String name, @RequestParam("mobileNumber") String mobileNumber, @RequestParam("email") String email) {
ResultDTO result = customerService.searchAllCustomer(page, pageSize, sort, customerListId, companySiteId, name, mobileNumber, email); ResultDTO result = customerService.searchAllCustomer(page, pageSize, sort, customerListId, companySiteId, name, mobileNumber, email);
return new ResponseEntity(result, HttpStatus.OK); return new ResponseEntity(result, HttpStatus.OK);
} }
...@@ -166,9 +166,9 @@ public class CustomerController { ...@@ -166,9 +166,9 @@ public class CustomerController {
@GetMapping("/latestCreated") @GetMapping("/latestCreated")
@ResponseBody @ResponseBody
public ResponseEntity getLatestCreated() { public ResponseEntity getLatestCreated(@RequestParam("companySiteId") Long companySiteId) {
ResultDTO result = new ResultDTO(); ResultDTO result = new ResultDTO();
result.setData(customerService.getLatestCreated()); result.setData(customerService.getLatestCreated(companySiteId));
return new ResponseEntity<>(result, HttpStatus.OK); return new ResponseEntity<>(result, HttpStatus.OK);
} }
......
...@@ -8,6 +8,13 @@ spring: ...@@ -8,6 +8,13 @@ spring:
url: jdbc:oracle:thin:@10.60.157.135:1521:vt url: jdbc:oracle:thin:@10.60.157.135:1521:vt
username: CCMS_FULL username: CCMS_FULL
password: CCMS_FULL#123 password: CCMS_FULL#123
max_pool_size: 32
datasource2:
driver-class-name: oracle.jdbc.driver.OracleDriver
url: jdbc:oracle:thin:@10.60.157.135:1521:vt
username: CCMS_FULL
password: CCMS_FULL#123
max_pool_size: 32
jpa: jpa:
database-platform: org.hibernate.dialect.Oracle10gDialect database-platform: org.hibernate.dialect.Oracle10gDialect
show-sql: true show-sql: true
......
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