Commit ef615878 authored by Tu Bach's avatar Tu Bach

campaign

parent 0d34e99c
package com.viettel.campaign.controller;
import com.viettel.campaign.service.CampaignService;
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.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.Map;
@Controller
@RequestMapping("/ipcc/campaign")
public class CampaignController {
private static final Logger LOGGER = Logger.getLogger(CustomerController.class);
@Autowired
CampaignService campaignService;
@GetMapping("/findAll")
@ResponseBody
public ResponseEntity findAllCustomer(@RequestParam("page") int page, @RequestParam("pageSize") int pageSize, @RequestParam("sort") String sort, @RequestParam("agentId") String agentId) {
Map result = campaignService.searchCampaignExecute(page, pageSize, sort, agentId);
return new ResponseEntity<>(result, HttpStatus.OK);
}
}
......@@ -5,5 +5,5 @@ import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface CampaignRepository extends JpaRepository<Campaign, Long> {
public interface CampaignRepository extends JpaRepository<Campaign, Long>, CampaignRepositoryCustom {
}
package com.viettel.campaign.repository;
import com.viettel.campaign.dto.CampaignDTO;
import com.viettel.campaign.model.Campaign;
import org.springframework.data.domain.Pageable;
import java.util.List;
public interface CampaignRepositoryCustom {
List<CampaignDTO> searchCampaignExecute(String agentId);
List<CampaignDTO> searchCampaignExecute(String agentId, Pageable pageable);
}
......@@ -3,6 +3,7 @@ package com.viettel.campaign.repository;
import com.viettel.campaign.dto.CampaignDTO;
import com.viettel.campaign.model.Campaign;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import javax.persistence.EntityManager;
import javax.persistence.Query;
......@@ -15,7 +16,7 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
EntityManager entityManager;
@Override
public List<CampaignDTO> searchCampaignExecute(String agentId) {
public List<CampaignDTO> searchCampaignExecute(String agentId, Pageable pageable) {
List<CampaignDTO> lst = new ArrayList<>();
String expression = new StringBuilder()
.append(" SELECT C.CAMPAIGN_ID, C.CAMPAIGN_NAME, C.STATUS ")
......
package com.viettel.campaign.service;
import org.springframework.stereotype.Service;
import java.util.Map;
@Service
public interface CampaignService {
Map searchCampaignExecute(int page, int pageSize, String sort, String agentId);
}
package com.viettel.campaign.service;
import com.viettel.campaign.dto.CampaignDTO;
import com.viettel.campaign.repository.CampaignRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class CampaignServiceImpl implements CampaignService {
@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);
result.put("totalItem", lst.size());
result.put("customers", lst);
return result;
}
}
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