Commit b1e902ae authored by Tu Bach's avatar Tu Bach

tubn commit update campaign execute

parent 787e4ca1
...@@ -6,9 +6,11 @@ import org.springframework.data.domain.Pageable; ...@@ -6,9 +6,11 @@ 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;
import org.springframework.data.repository.query.Param; import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import java.util.List; import java.util.List;
@Repository
public interface ApParamRepository extends JpaRepository<ApParam, Long>, ApParamRepositoryCustom { public interface ApParamRepository extends JpaRepository<ApParam, Long>, ApParamRepositoryCustom {
Page<ApParam> findAll(Pageable pageable); Page<ApParam> findAll(Pageable pageable);
......
package com.viettel.campaign.repository; package com.viettel.campaign.repository;
import com.viettel.campaign.model.ApParam; import com.viettel.campaign.model.ApParam;
import org.springframework.stereotype.Repository;
import java.util.List; import java.util.List;
@Repository
public interface ApParamRepositoryCustom { public interface ApParamRepositoryCustom {
} }
...@@ -6,9 +6,11 @@ import org.springframework.data.domain.Pageable; ...@@ -6,9 +6,11 @@ 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;
import org.springframework.data.repository.query.Param; import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import java.util.List; import java.util.List;
@Repository
public interface CampaignCompleteCodeRepository extends JpaRepository<CampaignCompleteCode, Long> { public interface CampaignCompleteCodeRepository extends JpaRepository<CampaignCompleteCode, Long> {
Page<CampaignCompleteCode> findAll(Pageable pageable); Page<CampaignCompleteCode> findAll(Pageable pageable);
......
...@@ -4,9 +4,11 @@ import com.viettel.campaign.web.dto.CampaignDTO; ...@@ -4,9 +4,11 @@ import com.viettel.campaign.web.dto.CampaignDTO;
import com.viettel.campaign.dto.request_dto.CampaignRequestDTO; import com.viettel.campaign.dto.request_dto.CampaignRequestDTO;
import com.viettel.campaign.web.dto.ResultDTO; import com.viettel.campaign.web.dto.ResultDTO;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Repository;
import java.util.List; import java.util.List;
@Repository
public interface CampaignRepositoryCustom { public interface CampaignRepositoryCustom {
List<CampaignDTO> searchCampaignExecute(String agentId, Pageable pageable); List<CampaignDTO> searchCampaignExecute(String agentId, Pageable pageable);
ResultDTO search(CampaignRequestDTO requestDto); ResultDTO search(CampaignRequestDTO requestDto);
......
...@@ -5,9 +5,11 @@ import org.springframework.data.domain.Page; ...@@ -5,9 +5,11 @@ 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;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import java.util.List; import java.util.List;
@Repository
public interface CustomerRepository extends JpaRepository<Customer, Long> { public interface CustomerRepository extends JpaRepository<Customer, Long> {
Page<Customer> findAll(Pageable pageable); Page<Customer> findAll(Pageable pageable);
......
...@@ -18,6 +18,7 @@ import javax.persistence.EntityManager; ...@@ -18,6 +18,7 @@ import javax.persistence.EntityManager;
import javax.persistence.Query; import javax.persistence.Query;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
@Repository @Repository
...@@ -30,16 +31,23 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom { ...@@ -30,16 +31,23 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
public List<CampaignDTO> searchCampaignExecute(String agentId, Pageable pageable) { public List<CampaignDTO> searchCampaignExecute(String agentId, Pageable pageable) {
List<CampaignDTO> lst = new ArrayList<>(); List<CampaignDTO> lst = new ArrayList<>();
String expression = new StringBuilder() String expression = new StringBuilder()
.append(" SELECT C.CAMPAIGN_ID, C.CAMPAIGN_NAME, C.STATUS ") .append(" SELECT C.CAMPAIGN_ID, C.CAMPAIGN_NAME, C.CONTENT, C.START_TIME, C.END_TIME, C.STATUS ")
//.append(" SELECT CAMPAIGN_COMPLETE_CODE_ID AS CAMPAIGN_ID, COMPLETE_NAME AS CAMPAIGN_NAME, DESCRIPTION AS CONTENT, UPDATE_BY AS START_TIME, UPDATE_BY AS END_TIME, STATUS ")
.append(" FROM CAMPAIGN C ") .append(" FROM CAMPAIGN C ")
.append(" INNER JOIN CAMPAIGN_AGENT CA ON C.CAMPAIGN_ID = CA.CAMPAIGN_ID ") .append(" INNER JOIN CAMPAIGN_AGENT CA ON C.CAMPAIGN_ID = CA.CAMPAIGN_ID ")
.append(" WHERE 1 = 1 ") .append(" WHERE 1 = 1 ")
.append(" AND CA.AGENT_ID = :pAgentId ") //.append(" AND CA.AGENT_ID = :pAgentId ")
.append(" AND C.STATUS IN (2,3) ") .append(" AND C.STATUS IN (2,3) ")
.toString(); .toString();
try {
Query query = entityManager.createNativeQuery(expression); Query query = entityManager.createNativeQuery(expression);
query.setParameter("pAgentId", agentId); //query.setParameter("pAgentId", agentId);
if (pageable != null) {
query.setFirstResult(pageable.getPageNumber() * pageable.getPageSize());
query.setMaxResults(pageable.getPageSize());
}
List<Object[]> data = query.getResultList(); List<Object[]> data = query.getResultList();
...@@ -47,11 +55,19 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom { ...@@ -47,11 +55,19 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
CampaignDTO item = new CampaignDTO(); CampaignDTO item = new CampaignDTO();
item.setCampaignId((BigDecimal) obj[0]); item.setCampaignId((BigDecimal) obj[0]);
item.setCampaignName((String) obj[1]); item.setCampaignName((String) obj[1]);
item.setStatus((BigDecimal) obj[0]); item.setContent((String) obj[2]);
item.setStartTime((Date) obj[3]);
item.setEndTime((Date) obj[4]);
item.setStatus((BigDecimal) obj[5]);
lst.add(item); lst.add(item);
} }
return lst;
} catch (Exception e) {
e.printStackTrace();
}
return lst; return lst;
} }
......
package com.viettel.campaign.service; package com.viettel.campaign.service;
import com.viettel.campaign.dto.ResultDTO;
import com.viettel.campaign.dto.request_dto.CampaignRequestDTO; import com.viettel.campaign.dto.request_dto.CampaignRequestDTO;
import com.viettel.campaign.model.Campaign; import com.viettel.campaign.web.dto.ResultDTO;
import org.springframework.data.domain.Page;
import java.util.Map; import java.util.Map;
......
package com.viettel.campaign.service.impl; package com.viettel.campaign.service.impl;
<<<<<<< HEAD:src/main/java/com/viettel/campaign/service/CampaignServiceImpl.java
import com.viettel.campaign.repository.CampaignRepository; import com.viettel.campaign.repository.CampaignRepository;
import com.viettel.campaign.web.dto.CampaignDTO; 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.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.service.CampaignService;
import com.viettel.campaign.web.dto.ResultDTO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort; import org.springframework.data.domain.Sort;
...@@ -24,18 +19,18 @@ import java.util.Map; ...@@ -24,18 +19,18 @@ import java.util.Map;
@Service @Service
public class CampaignServiceImpl implements CampaignService { public class CampaignServiceImpl implements CampaignService {
@Autowired(required=true) @Autowired
CampaignRepository campaignRepository; CampaignRepository campaignRepository;
@Override @Override
public Map searchCampaignExecute(int page, int pageSize, String sort, String agentId) { public Map searchCampaignExecute(int page, int pageSize, String sort, String agentId) {
Map result = new HashMap(); Map result = new HashMap();
List<CampaignDTO> lst = new ArrayList<>();
Pageable pageable = PageRequest.of(page, pageSize, Sort.by(sort)); 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); result.put("data", lst);
return result; return result;
......
package com.viettel.campaign.web.rest.controller; 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.dto.request_dto.CampaignRequestDTO;
import com.viettel.campaign.model.Campaign;
import com.viettel.campaign.service.CampaignService; import com.viettel.campaign.service.CampaignService;
import com.viettel.campaign.web.dto.ResultDTO;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; 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.web.bind.annotation.*;
import org.springframework.data.domain.Page;
import java.util.Map; import java.util.Map;
......
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