Commit ae0b0d94 authored by Tu Bach's avatar Tu Bach

Merge branch 'tubn'

# Conflicts:
#	src/main/java/com/viettel/campaign/repository/CampaignRepositoryCustom.java
#	src/main/java/com/viettel/campaign/repository/CampaignRepositoryImpl.java
#	src/main/java/com/viettel/campaign/service/impl/CampaignServiceImpl.java
#	src/main/java/com/viettel/campaign/web/rest/controller/CampaignController.java
parents 975685ae b1e902ae
......@@ -93,6 +93,8 @@
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc7</artifactId>
<!-- <scope>system</scope>-->
<!-- <systemPath>${project.basedir}/lib/ojdbc7.jar</systemPath>-->
<version>1.0</version>
</dependency>
<dependency>
......
package com.viettel.campaign.dto.request_dto;
import com.viettel.campaign.web.dto.BaseDTO;
import lombok.Getter;
import lombok.Setter;
......@@ -12,10 +13,7 @@ import java.util.Date;
@Getter
@Setter
public class CampaignRequestDTO {
int pageSize;
int page;
String sort;
public class CampaignRequestDTO extends BaseDTO {
String campaignCode;
String campaignName;
Short status;
......
......@@ -6,9 +6,11 @@ import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface ApParamRepository extends JpaRepository<ApParam, Long>, ApParamRepositoryCustom {
Page<ApParam> findAll(Pageable pageable);
......
package com.viettel.campaign.repository;
import com.viettel.campaign.model.ApParam;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface ApParamRepositoryCustom {
}
......@@ -6,9 +6,11 @@ import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface CampaignCompleteCodeRepository extends JpaRepository<CampaignCompleteCode, Long> {
Page<CampaignCompleteCode> findAll(Pageable pageable);
......
package com.viettel.campaign.repository;
import com.viettel.campaign.web.dto.CampaignDTO;
import com.viettel.campaign.dto.CampaignDTO;
import com.viettel.campaign.dto.ResultDTO;
import com.viettel.campaign.dto.request_dto.CampaignRequestDTO;
import com.viettel.campaign.model.Campaign;
import org.springframework.data.domain.Page;
import com.viettel.campaign.web.dto.CampaignDTO;
import com.viettel.campaign.web.dto.ResultDTO;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface CampaignRepositoryCustom {
List<CampaignDTO> searchCampaignExecute(String agentId, Pageable pageable);
ResultDTO search(CampaignRequestDTO requestDto);
}
package com.viettel.campaign.repository;
import com.viettel.campaign.web.dto.CampaignDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
@Autowired
EntityManager entityManager;
@Override
public List<CampaignDTO> searchCampaignExecute(String agentId, Pageable pageable) {
List<CampaignDTO> lst = new ArrayList<>();
String expression = new StringBuilder()
//.append(" SELECT C.CODECAMPAIGN_ID, C.CAMPAIGN_NAME, C.CONTENT, C.START_TIME, C.END_TIME, C.STATUS ")
.append(" SELECT CAMPAIGN_ID, COMPLETE_NAME AS CAMPAIGN_NAME, DESCRIPTION AS CONTENT, UPDATE_BY AS START_TIME, UPDATE_BY AS END_TIME, STATUS ")
.append(" FROM CAMPAIGN_COMPLETE_CODE C ")
//.append(" INNER JOIN CAMPAIGN_AGENT CA ON C.CAMPAIGN_ID = CA.CAMPAIGN_ID ")
//.append(" WHERE 1 = 1 ")
//.append(" AND CA.AGENT_ID = :pAgentId ")
//.append(" AND C.STATUS IN (2,3) ")
.toString();
Query query = entityManager.createNativeQuery(expression);
//query.setParameter("pAgentId", agentId);
List<Object[]> data = query.getResultList();
for (Object[] obj : data) {
CampaignDTO item = new CampaignDTO();
item.setCampaignId((BigDecimal) obj[0]);
item.setCampaignName((String)obj[1]);
item.setContent((String)obj[2]);
item.setStartTime((Date)obj[3]);
item.setEndTime((Date)obj[4]);
item.setStatus((BigDecimal) obj[5]);
lst.add(item);
}
return lst;
}
}
......@@ -5,9 +5,11 @@ import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface CustomerRepository extends JpaRepository<Customer, Long> {
Page<Customer> findAll(Pageable pageable);
......
package com.viettel.campaign.repository;
package com.viettel.campaign.repository.impl;
import com.viettel.campaign.model.ApParam;
import com.viettel.campaign.repository.ApParamRepositoryCustom;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
......
package com.viettel.campaign.service;
import com.viettel.campaign.dto.ResultDTO;
import com.viettel.campaign.dto.request_dto.CampaignRequestDTO;
import com.viettel.campaign.model.Campaign;
import org.springframework.data.domain.Page;
import com.viettel.campaign.web.dto.ResultDTO;
import java.util.Map;
......
package com.viettel.campaign.service;
package com.viettel.campaign.service.impl;
import com.viettel.campaign.service.ApParamService;
import com.viettel.campaign.web.dto.ApParamDTO;
import com.viettel.campaign.web.dto.ResultDTO;
import com.viettel.campaign.mapper.ApParamMapper;
......
package com.viettel.campaign.service;
package com.viettel.campaign.service.impl;
import com.viettel.campaign.service.CampaignCompleteCodeService;
import com.viettel.campaign.web.dto.CampaignCompleteCodeDTO;
import com.viettel.campaign.web.dto.ResultDTO;
import com.viettel.campaign.mapper.CampaignCompleteCodeMapper;
......
package com.viettel.campaign.service.impl;
import com.viettel.campaign.repository.CampaignRepository;
import com.viettel.campaign.web.dto.CampaignDTO;
import com.viettel.campaign.dto.CampaignDTO;
import com.viettel.campaign.dto.ResultDTO;
import com.viettel.campaign.dto.request_dto.CampaignRequestDTO;
import com.viettel.campaign.model.Campaign;
import com.viettel.campaign.repository.CampaignRepository;
import com.viettel.campaign.service.CampaignService;
import com.viettel.campaign.web.dto.CampaignDTO;
import com.viettel.campaign.web.dto.ResultDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -23,18 +18,18 @@ import java.util.Map;
@Service
public class CampaignServiceImpl implements CampaignService {
@Autowired(required=true)
@Autowired
CampaignRepository campaignRepository;
@Override
public Map searchCampaignExecute(int page, int pageSize, String sort, String agentId) {
Map result = new HashMap();
List<CampaignDTO> lst = new ArrayList<>();
Pageable pageable = PageRequest.of(page, pageSize, Sort.by(sort));
lst = campaignRepository.searchCampaignExecute(agentId, pageable);
List<CampaignDTO> lst = campaignRepository.searchCampaignExecute(agentId, pageable);
List<CampaignDTO> count = campaignRepository.searchCampaignExecute(agentId, null);
result.put("totalItem", lst.size());
result.put("totalItem", count.size());
result.put("data", lst);
return result;
......
package com.viettel.campaign.service;
package com.viettel.campaign.service.impl;
import com.viettel.campaign.service.CustomerService;
import com.viettel.campaign.web.dto.CustomerDTO;
import com.viettel.campaign.web.dto.ResultDTO;
import com.viettel.campaign.mapper.CustomerMapper;
......
package com.viettel.campaign.utils;
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
/**
* @author anhvd_itsol
*/
public class HibernateUtil {
private static SessionFactory sessionFactory = buildSessionFactory();
private static SessionFactory buildSessionFactory()
{
try
{
if (sessionFactory == null)
{
Configuration configuration = new Configuration().configure(HibernateUtil.class.getResource("/hibernate.cfg.xml"));
StandardServiceRegistryBuilder serviceRegistryBuilder = new StandardServiceRegistryBuilder();
serviceRegistryBuilder.applySettings(configuration.getProperties());
ServiceRegistry serviceRegistry = serviceRegistryBuilder.build();
sessionFactory = configuration.buildSessionFactory(serviceRegistry);
}
return sessionFactory;
} catch (Throwable ex)
{
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory()
{
return sessionFactory;
}
public static void shutdown()
{
getSessionFactory().close();
}
}
......@@ -10,4 +10,7 @@ import java.io.Serializable;
public class BaseDTO implements Serializable {
protected String keySet;
protected int pageSize;
protected int page;
protected String sort;
}
package com.viettel.campaign.web.rest.controller;
import com.viettel.campaign.dto.ResultDTO;
import com.viettel.campaign.dto.request_dto.CampaignRequestDTO;
import com.viettel.campaign.model.Campaign;
import com.viettel.campaign.service.CampaignService;
import com.viettel.campaign.web.dto.ResultDTO;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.*;
import org.springframework.data.domain.Page;
import java.util.Map;
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="hibernate.connection.url">jdbc:oracle:thin:@10.60.157.135:1521:vt</property>
<property name="hibernate.connection.username">CCMS_FULL</property>
<property name="hibernate.connection.password">CCMS_FULL#123</property>
<property name="hibernate.connection.pool_size">64</property>
<property name="hibernate.current_session_context_class">thread</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>
</session-factory>
</hibernate-configuration>
SELECT
CAMPAIGN_ID campaignId,
CAMPAIGN_CODE campaignCode,
CAMPAIGN_NAME campaignName,
CAMPAIGN_TYPE campaignType,
......@@ -9,24 +10,3 @@ SELECT
STATUS status
FROM CAMPAIGN
WHERE 1 = 1
AND (:p_code IS NULL OR (:p_code IS NOT NULL AND UPPER(CAMPAIGN_CODE) LIKE :p_code ))
AND (:p_name IS NULL OR (:p_name IS NOT NULL AND UPPER(CAMPAIGN_NAME) LIKE :p_name ))
AND (:p_status IS NULL OR (:p_status IS NOT NULL AND STATUS = :status))
AND ((:p_frDateFr IS NULL AND :p_frDateTo IS NULL)
OR ((:p_frDateFr IS NOT NULL AND :p_frDateTo IS NOT NULL) AND
(trunc(START_TIME) BETWEEN TO_DATE(:p_frDateFr, 'YYYYMMDD') AND TO_DATE(:p_frDateTo, 'YYYYMMDD')))
OR ((:p_frDateFr IS NOT NULL AND :p_frDateTo IS NULL)
AND (trunc(START_TIME) >= TO_DATE(:p_frDateFr, 'YYYYMMDD')))
OR ((:p_frDateFr IS NULL AND :p_frDateTo IS NOT NULL)
AND (trunc(START_TIME) <= TO_DATE(:p_frDateTo, 'YYYYMMDD')))
)
AND ((:p_toDateFr IS NULL AND :p_toDateTo IS NULL)
OR ((:p_toDateFr IS NOT NULL AND :p_toDateTo IS NOT NULL) AND
(trunc(END_TIME) BETWEEN TO_DATE(:p_toDateFr, 'YYYYMMDD') AND TO_DATE(:p_toDateTo, 'YYYYMMDD')))
OR ((:p_toDateFr IS NOT NULL AND :p_toDateTo IS NULL)
AND (trunc(END_TIME) >= TO_DATE(:p_toDateFr, 'YYYYMMDD')))
OR ((:p_toDateFr IS NULL AND :p_toDateTo IS NOT NULL)
AND (trunc(END_TIME) <= TO_DATE(:p_toDateTo, 'YYYYMMDD')))
)
AND (:p_type IS NULL OR (:p_type IS NOT NULL AND CAMPAIGN_TYPE = :p_type))
AND (:p_chanel IS NULL OR (:p_chanel IS NOT NULl AND CHANEL = :p_chanel))
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