Commit 661ba580 authored by Tu Bach's avatar Tu Bach

Merge branch 'master' of https://git.myitsol.com/hanv/service-campaign

# Conflicts:
#	src/main/java/com/viettel/campaign/repository/impl/CampaignRepositoryImpl.java
parents a980081a 5887ee65
This diff is collapsed.
...@@ -17,7 +17,7 @@ public class CampaignJob { ...@@ -17,7 +17,7 @@ public class CampaignJob {
// @Scheduled(fixedRate = 6000) // @Scheduled(fixedRate = 6000)
// @Transactional( propagation = Propagation.REQUIRED) // @Transactional( propagation = Propagation.REQUIRED)
// public void process() { public void process() {
// log.info("processing job2 ..."+ dateFormat.format(new Date())); // log.info("processing job2 ..."+ dateFormat.format(new Date()));
// } }
} }
...@@ -112,4 +112,5 @@ public class Campaign implements Serializable { ...@@ -112,4 +112,5 @@ public class Campaign implements Serializable {
private Integer timeWaitAgent; private Integer timeWaitAgent;
@Column(name = "QUEST_INDEX") @Column(name = "QUEST_INDEX")
private BigDecimal questIndex; private BigDecimal questIndex;
} }
...@@ -44,6 +44,7 @@ public class CampaignCompleteCode implements Serializable { ...@@ -44,6 +44,7 @@ public class CampaignCompleteCode implements Serializable {
@Column(name = "CREATE_AT") @Column(name = "CREATE_AT")
@Temporal(TemporalType.TIMESTAMP) @Temporal(TemporalType.TIMESTAMP)
private Date createAt; private Date createAt;
@Transient
@Column(name = "CAMPAIGN_TYPE") @Column(name = "CAMPAIGN_TYPE")
private String campaignType; private String campaignType;
@Column(name = "IS_FINISH") @Column(name = "IS_FINISH")
......
package com.viettel.campaign.model;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
@Entity
@Table(name = "CAMPAIGN_CUSTOMERLIST")
@Getter
@Setter
public class CampaignCustomerList {
@Id
@GeneratedValue(generator = "campaign_customerlist_seq")
@SequenceGenerator(name = "campaign_customerlist_seq", sequenceName = "campaign_customerlist_seq", allocationSize = 1)
@Basic(optional = false)
@NotNull
@Column(name = "CAMPAIGN_CUSTOMERLIST_ID")
private Long campaignCustomerListId;
@Column(name = "CAMPAIGN_ID")
private Long campaignId;
@Column(name = "CUSTOMER_LIST_ID")
private Long customerListId;
@Column(name = "CUSTOMER_NUMBER")
private Long customerNumber;
@Column(name = "FILTER_TYPE")
private Short filterType;
@Column(name = "COMPANY_SITE_ID")
private Long companySiteId;
@Column(name = "AGENT_FILTER_STATUS")
private Short agentFilterStatus;
}
...@@ -17,4 +17,9 @@ public interface ApParamRepository extends JpaRepository<ApParam, Long>, ApParam ...@@ -17,4 +17,9 @@ public interface ApParamRepository extends JpaRepository<ApParam, Long>, ApParam
@Query(value = "SELECT p FROM ApParam p WHERE parName LIKE concat('%', :parName, '%') ") @Query(value = "SELECT p FROM ApParam p WHERE parName LIKE concat('%', :parName, '%') ")
List<ApParam> findParamByName(@Param("parName") String parName, Pageable pageable); List<ApParam> findParamByName(@Param("parName") String parName, Pageable pageable);
@Query(value = "select a from ApParam a WHERE status = 1 AND parType = 'CAMPAIGN_TYPE'")
List<ApParam> findAllParam();
} }
...@@ -4,19 +4,25 @@ import com.viettel.campaign.model.CampaignCompleteCode; ...@@ -4,19 +4,25 @@ import com.viettel.campaign.model.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;
import org.springframework.data.jpa.repository.Modifying;
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.util.List; import java.util.List;
@Repository @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);
@Query("FROM CampaignCompleteCode WHERE completeName LIKE concat('%', :name, '%') ") @Query("FROM CampaignCompleteCode WHERE completeName LIKE concat('%', :name, '%') ")
List<CampaignCompleteCode> findByName(@Param("name") String Name, Pageable pageable); List<CampaignCompleteCode> findByName(@Param("name") String name, Pageable pageable);
List<CampaignCompleteCode> findByCompleteNameContains(String name, Pageable pageable);
@Modifying
@Query("delete from CampaignCompleteCode c where c.campaignCompleteCodeId in (:ids)")
int deleteds(@Param("ids") List<Long> ids);
List<CampaignCompleteCode> findByCompleteNameContains(String Name, Pageable pageable);
} }
package com.viettel.campaign.repository;
import com.viettel.campaign.model.CampaignCustomerList;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
public interface CampaignCustomerListRepository extends JpaRepository<CampaignCustomerList, Long> {
@Query("select count (c.campaignId) from CampaignCustomerList c where c.customerListId=:customerListId")
Long campaignCount(@Param("customerListId") long customerListId);
@Query("select count (c.campaignId) from CampaignCustomerList c where c.customerListId in (:ids)")
Long campaignIdsCount(@Param("ids") List<Long> ids);
}
...@@ -13,4 +13,5 @@ public interface CampaignRepositoryCustom { ...@@ -13,4 +13,5 @@ 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);
ResultDTO findByCampaignCode(CampaignRequestDTO requestDTO);
} }
package com.viettel.campaign.repository; package com.viettel.campaign.repository;
import com.viettel.campaign.model.CustomerList; import com.viettel.campaign.model.CustomerList;
import com.viettel.campaign.web.dto.ResultDTO; 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.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
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 java.util.Date;
import java.util.List; import java.util.List;
public interface CustomerListRepository extends JpaRepository<CustomerList, Long> { public interface CustomerListRepository extends JpaRepository<CustomerList, Long> {
CustomerList findCustomerListByCustomerListId(long customerListId); CustomerList findCustomerListByCustomerListId(long customerListId);
@Query("delete from CustomerList c where c.customerListId in :ids") CustomerList findByCustomerListCode(String customerListCode);
ResultDTO deleteIds(@Param("ids") List<Long> ids);
@Modifying
@Query("delete from CustomerList c where c.customerListId in (:ids)")
int deleteIds(@Param("ids") List<Long> ids);
@Query("select c from CustomerList c where c.customerListCode=:customerListCode or c.customerListName=:customerListName or c.createAt >:dateFrom and c.createAt <:dateTo or c.createAt=:dateFrom or c.createAt=:dateTo")
Page<CustomerList> searchCustomerList(@Param("customerListCode") String customerListCode, @Param("customerListName") String customerListName, @Param("dateFrom") Date dateFrom, @Param("dateTo") Date dateTo, Pageable pageable);
} }
...@@ -20,12 +20,14 @@ import org.springframework.data.domain.Example; ...@@ -20,12 +20,14 @@ import org.springframework.data.domain.Example;
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.domain.Sort; import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Repository;
import javax.persistence.EntityManager; import javax.persistence.EntityManager;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
public class CampaignCompleteCodeRepositoryIpml implements CampaignCompleteCodeRepository { public class CampaignCompleteCodeRepositoryIpml implements CampaignCompleteCodeRepository {
@Autowired @Autowired
EntityManager entityManager; EntityManager entityManager;
...@@ -35,12 +37,17 @@ public class CampaignCompleteCodeRepositoryIpml implements CampaignCompleteCodeR ...@@ -35,12 +37,17 @@ public class CampaignCompleteCodeRepositoryIpml implements CampaignCompleteCodeR
@Override @Override
public Page<CampaignCompleteCode> findAll(Pageable pageable) { public Page<CampaignCompleteCode> findAll(Pageable pageable) {
return campaignCompleteCodeRepository.findAll(pageable); // Page<CampaignCompleteCode>
// try {
//
// } catch (Exception e) {
//
// }
return null;
} }
@Override @Override
public List<CampaignCompleteCode> findByName(String name, Pageable pageable) { public List<CampaignCompleteCode> findByName(String name, Pageable pageable) {
// return campaignCompleteCodeRepository.findByName(name , pageable);
SessionFactory sessionFactory = HibernateUtil.getSessionFactory(); SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session session = sessionFactory.openSession(); Session session = sessionFactory.openSession();
...@@ -49,11 +56,11 @@ public class CampaignCompleteCodeRepositoryIpml implements CampaignCompleteCodeR ...@@ -49,11 +56,11 @@ public class CampaignCompleteCodeRepositoryIpml implements CampaignCompleteCodeR
List<CampaignCompleteCode> resultList = null; List<CampaignCompleteCode> resultList = null;
try { try {
StringBuilder sql = new StringBuilder(SQLBuilder.getSqlQueryById(SQLBuilder.SQL_MODULE_CAMPAIGN_STATUS_MNG, "search-campaign-status-by-params")); StringBuilder sql = new StringBuilder(SQLBuilder.getSqlQueryById(SQLBuilder.SQL_MODULE_CAMPAIGN_STATUS_MNG, "search-campaign-status-by-params"));
SQLQuery query = session.createSQLQuery(sql.toString()); SQLQuery query = session.createSQLQuery(sql.toString());
query.setParameter(":p_name", name); query.setParameter(":p_name", name);
// add SCalar // add SCalar
query.addScalar("campaignId", new LongType()); query.addScalar("campaignId", new LongType());
query.addScalar("completeValue", new StringType()); query.addScalar("completeValue", new StringType());
...@@ -76,10 +83,13 @@ public class CampaignCompleteCodeRepositoryIpml implements CampaignCompleteCodeR ...@@ -76,10 +83,13 @@ public class CampaignCompleteCodeRepositoryIpml implements CampaignCompleteCodeR
} }
@Override @Override
public List<CampaignCompleteCode> findByCompleteNameContains(String Name, Pageable pageable) { public List<CampaignCompleteCode> findByCompleteNameContains(String name, Pageable pageable) {
// List<CampaignCompleteCodeDTO> lst = new ArrayList<>(); return campaignCompleteCodeRepository.findByCompleteNameContains(name, pageable);
// return lst; }
return null;
@Override
public int deleteds(List<Long> ids) {
return 0;
} }
@Override @Override
......
...@@ -82,11 +82,16 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom { ...@@ -82,11 +82,16 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
Session session = sessionFactory.openSession(); Session session = sessionFactory.openSession();
session.beginTransaction(); session.beginTransaction();
if(DataUtil.isNullOrEmpty(requestDto.getCompanySiteId())) {
result.setErrorCode(Constants.ApiErrorCode.ERROR);
result.setDescription(Constants.ApiErrorDesc.ERROR);
return result;
}
try { try {
StringBuilder sqlStr = new StringBuilder(); StringBuilder sqlStr = new StringBuilder();
sqlStr.append(SQLBuilder.getSqlQueryById(SQLBuilder.SQL_MODULE_CAMPAIGN_MNG, "search-campaign-by-params")); sqlStr.append(SQLBuilder.getSqlQueryById(SQLBuilder.SQL_MODULE_CAMPAIGN_MNG, "search-campaign-by-params"));
if (!DataUtil.isNullOrEmpty(requestDto.getCampaignCode())) { if (!DataUtil.isNullOrEmpty(requestDto.getCampaignCode())) {
sqlStr.append(" AND UPPER(a.CAMPAIGN_CODE) LIKE :p_code"); sqlStr.append(" AND a.CAMPAIGN_CODE IN (:p_code) ");
} }
if (!DataUtil.isNullOrEmpty(requestDto.getCampaignName())) { if (!DataUtil.isNullOrEmpty(requestDto.getCampaignName())) {
sqlStr.append(" AND UPPER(a.CAMPAIGN_NAME) LIKE :p_name"); sqlStr.append(" AND UPPER(a.CAMPAIGN_NAME) LIKE :p_name");
...@@ -97,11 +102,11 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom { ...@@ -97,11 +102,11 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
if (!DataUtil.isNullOrEmpty(requestDto.getFromDateFr())) { if (!DataUtil.isNullOrEmpty(requestDto.getFromDateFr())) {
sqlStr.append(" AND TO_DATE(a.START_TIME, 'DD/MM/YYYY') >= :p_frDateFr"); sqlStr.append(" AND TO_DATE(a.START_TIME, 'DD/MM/YYYY') >= :p_frDateFr");
} }
if (!DataUtil.isNullOrEmpty(requestDto.getFromDateTo())) {
sqlStr.append(" AND TO_DATE(a.START_TIME, 'DD/MM/YYYY') <= :p_frDateTo");
}
if (!DataUtil.isNullOrEmpty(requestDto.getToDateFr())) { if (!DataUtil.isNullOrEmpty(requestDto.getToDateFr())) {
sqlStr.append(" AND TO_DATE(a.END_TIME, 'DD/MM/YYYY') >= :p_toDateFr"); sqlStr.append(" AND TO_DATE(a.START_TIME, 'DD/MM/YYYY') <= :p_toDateFr");
}
if (!DataUtil.isNullOrEmpty(requestDto.getFromDateTo())) {
sqlStr.append(" AND TO_DATE(a.END_TIME, 'DD/MM/YYYY') >= :p_frDateTo");
} }
if (!DataUtil.isNullOrEmpty(requestDto.getToDateTo())) { if (!DataUtil.isNullOrEmpty(requestDto.getToDateTo())) {
sqlStr.append(" AND TO_DATE(a.END_TIME, 'DD/MM/YYYY') <= :p_toDateTo"); sqlStr.append(" AND TO_DATE(a.END_TIME, 'DD/MM/YYYY') <= :p_toDateTo");
...@@ -129,12 +134,8 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom { ...@@ -129,12 +134,8 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
SQLQuery query = session.createSQLQuery(sqlStr.toString()); SQLQuery query = session.createSQLQuery(sqlStr.toString());
if (!DataUtil.isNullOrEmpty(requestDto.getCampaignCode())) { if (!DataUtil.isNullOrEmpty(requestDto.getCampaignCode())) {
query.setParameter("p_code", "%" + String[] lstCode = requestDto.getCampaignCode().split(",");
requestDto.getCampaignCode().toUpperCase() query.setParameterList("p_code", lstCode);
.replace("\\", "\\\\")
.replaceAll("%", "\\\\%")
.replaceAll("_", "\\\\_")
+ "%");
} }
if (!DataUtil.isNullOrEmpty(requestDto.getCampaignName())) { if (!DataUtil.isNullOrEmpty(requestDto.getCampaignName())) {
...@@ -146,6 +147,8 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom { ...@@ -146,6 +147,8 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
+ "%"); + "%");
} }
query.setParameter("p_company_site_id", requestDto.getCompanySiteId());
if (requestDto.getStatus() != null && requestDto.getStatus() > 0) { if (requestDto.getStatus() != null && requestDto.getStatus() > 0) {
query.setParameter("p_status", requestDto.getStatus()); query.setParameter("p_status", requestDto.getStatus());
} }
...@@ -213,6 +216,77 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom { ...@@ -213,6 +216,77 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
return result; return result;
} }
@Override
public ResultDTO findByCampaignCode(CampaignRequestDTO requestDto) {
ResultDTO result = new ResultDTO();
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session session = sessionFactory.openSession();
session.beginTransaction();
if(DataUtil.isNullOrEmpty(requestDto.getCompanySiteId())) {
result.setErrorCode(Constants.ApiErrorCode.ERROR);
result.setDescription(Constants.ApiErrorDesc.ERROR);
return result;
}
try {
StringBuilder sqlStr = new StringBuilder();
sqlStr.append(" SELECT CAMPAIGN_ID campaignId, " +
" CAMPAIGN_CODE campaignCode, " +
" CAMPAIGN_NAME campaignName, " +
" START_TIME startTime," +
" END_TIME endTime, " +
" STATUS status " +
" FROM CAMPAIGN" +
" WHERE COMPANY_SITE_ID = :p_company_site_id AND STATUS <> -1 ");
if(!DataUtil.isNullOrEmpty(requestDto.getCampaignCode())) {
sqlStr.append(" AND CAMPAIGN_CODE LIKE :p_code ");
}
sqlStr.append(" ORDER BY START_TIME DESC ");
SQLQuery query = session.createSQLQuery(sqlStr.toString());
query.setParameter("p_company_site_id", requestDto.getCompanySiteId());
if(!DataUtil.isNullOrEmpty(requestDto.getCampaignCode())) {
query.setParameter("p_code", "%" +
requestDto.getCampaignCode().toUpperCase()
.replace("\\", "\\\\")
.replaceAll("%", "\\\\%")
.replaceAll("_", "\\\\_")
+ "%");
}
query.addScalar("campaignId", new BigDecimalType());
query.addScalar("campaignCode", new StringType());
query.addScalar("campaignName", new StringType());
query.addScalar("startTime", new DateType());
query.addScalar("endTime", new DateType());
query.addScalar("status", new ShortType());
query.setResultTransformer(Transformers.aliasToBean(CampaignDTO.class));
int count = 0;
List<CampaignDTO> list = query.list();
if (list.size() > 0) {
count = query.list().size();
}
Pageable pageable = buildPageable(requestDto);
if (pageable != null) {
query.setFirstResult(pageable.getPageNumber() * pageable.getPageSize());
query.setMaxResults(pageable.getPageSize());
}
List<CampaignDTO> data = query.list();
Page<CampaignDTO> dataPage = new PageImpl<>(data, pageable, count);
result.setData(dataPage);
result.setErrorCode(Constants.ApiErrorCode.SUCCESS);
result.setDescription(Constants.ApiErrorDesc.SUCCESS);
session.close();
return result;
}catch (Exception ex) {
session.close();
}
result.setErrorCode(Constants.ApiErrorCode.ERROR);
result.setDescription(Constants.ApiErrorDesc.ERROR);
return result;
}
private Pageable buildPageable(CampaignRequestDTO obj) { private Pageable buildPageable(CampaignRequestDTO obj) {
Pageable pageable = null; Pageable pageable = null;
if (DataUtil.isNullOrEmpty(obj.getSort())) { if (DataUtil.isNullOrEmpty(obj.getSort())) {
......
...@@ -13,4 +13,9 @@ public interface ApParamService { ...@@ -13,4 +13,9 @@ public interface ApParamService {
List<ApParam> getParamByName(int page, int pageSize, String sort, String parName); List<ApParam> getParamByName(int page, int pageSize, String sort, String parName);
ResultDTO createApParam(ApParamDTO apParamDTO); ResultDTO createApParam(ApParamDTO apParamDTO);
List<ApParam>findAllParam();
} }
...@@ -3,6 +3,7 @@ package com.viettel.campaign.service; ...@@ -3,6 +3,7 @@ package com.viettel.campaign.service;
import com.viettel.campaign.web.dto.CampaignCompleteCodeDTO; import com.viettel.campaign.web.dto.CampaignCompleteCodeDTO;
import com.viettel.campaign.web.dto.ResultDTO; import com.viettel.campaign.web.dto.ResultDTO;
import java.util.List;
import java.util.Map; import java.util.Map;
public interface CampaignCompleteCodeService { public interface CampaignCompleteCodeService {
...@@ -16,4 +17,7 @@ public interface CampaignCompleteCodeService { ...@@ -16,4 +17,7 @@ public interface CampaignCompleteCodeService {
ResultDTO updateCompleteCode(CampaignCompleteCodeDTO completeCodeDTO); ResultDTO updateCompleteCode(CampaignCompleteCodeDTO completeCodeDTO);
ResultDTO deleteCompleteCode(CampaignCompleteCodeDTO completeCodeDTO); ResultDTO deleteCompleteCode(CampaignCompleteCodeDTO completeCodeDTO);
ResultDTO deleteList(List<Long> completeCodeDtos);
} }
...@@ -9,4 +9,5 @@ public interface CampaignService { ...@@ -9,4 +9,5 @@ public interface CampaignService {
Map searchCampaignExecute(int page, int pageSize, String sort, String agentId); Map searchCampaignExecute(int page, int pageSize, String sort, String agentId);
ResultDTO search(CampaignRequestDTO requestDto); ResultDTO search(CampaignRequestDTO requestDto);
ResultDTO findByCampaignCode(CampaignRequestDTO requestDTO);
} }
...@@ -3,6 +3,7 @@ package com.viettel.campaign.service; ...@@ -3,6 +3,7 @@ package com.viettel.campaign.service;
import com.viettel.campaign.web.dto.CustomerListDTO; import com.viettel.campaign.web.dto.CustomerListDTO;
import com.viettel.campaign.web.dto.ResultDTO; import com.viettel.campaign.web.dto.ResultDTO;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -17,4 +18,6 @@ public interface CustomerListService { ...@@ -17,4 +18,6 @@ public interface CustomerListService {
ResultDTO deleteCustomerList(CustomerListDTO customerListDTO); ResultDTO deleteCustomerList(CustomerListDTO customerListDTO);
ResultDTO deleteIds(List<Long> ids); ResultDTO deleteIds(List<Long> ids);
Map searchCustomerList(String customerListCode, String customerListName, Date dateFrom, Date dateTo, int page, int pageSize, String sort);
} }
...@@ -34,6 +34,7 @@ public class ApParamServiceImpl implements ApParamService { ...@@ -34,6 +34,7 @@ public class ApParamServiceImpl implements ApParamService {
return lst; return lst;
} }
@Override @Override
public ResultDTO createApParam(ApParamDTO apParamDTO) { public ResultDTO createApParam(ApParamDTO apParamDTO) {
ResultDTO result = new ResultDTO(); ResultDTO result = new ResultDTO();
...@@ -58,4 +59,9 @@ public class ApParamServiceImpl implements ApParamService { ...@@ -58,4 +59,9 @@ public class ApParamServiceImpl implements ApParamService {
return null; return null;
} }
@Override
public List<ApParam> findAllParam() {
return apParamRepository.findAllParam();
}
} }
package com.viettel.campaign.service.impl; package com.viettel.campaign.service;
import com.viettel.campaign.service.CampaignCompleteCodeService; import com.viettel.campaign.utils.Constants;
import com.viettel.campaign.web.dto.CampaignCompleteCodeDTO; import com.viettel.campaign.web.dto.CampaignCompleteCodeDTO;
import com.viettel.campaign.web.dto.ResultDTO; import com.viettel.campaign.web.dto.ResultDTO;
import com.viettel.campaign.mapper.CampaignCompleteCodeMapper; import com.viettel.campaign.mapper.CampaignCompleteCodeMapper;
import com.viettel.campaign.model.CampaignCompleteCode; import com.viettel.campaign.model.CampaignCompleteCode;
import com.viettel.campaign.repository.CampaignCompleteCodeRepository; import com.viettel.campaign.repository.CampaignCompleteCodeRepository;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
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.*; import java.util.*;
...@@ -118,6 +120,26 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ ...@@ -118,6 +120,26 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ
e.printStackTrace(); e.printStackTrace();
} }
return resultDTO;
}
@Transactional
@Override
public ResultDTO deleteList(List<Long> completeCodeDtos) {
ResultDTO resultDTO = new ResultDTO();
// for (int i = 0; i < completeCodeDtos.size(); i++) {
try {
completeCodeRepository.deleteds(completeCodeDtos);
resultDTO.setErrorCode(Constants.ApiErrorCode.SUCCESS);
resultDTO.setDescription(Constants.ApiErrorDesc.SUCCESS);
} catch (Exception e) {
resultDTO.setErrorCode("-1");
return resultDTO;
}
// }
resultDTO.setErrorCode("0");
return resultDTO; return resultDTO;
} }
} }
package com.viettel.campaign.service.impl; package com.viettel.campaign.service.impl;
import com.viettel.campaign.model.Campaign;
import com.viettel.campaign.repository.CampaignRepository; import com.viettel.campaign.repository.CampaignRepository;
import com.viettel.campaign.service.CampaignService; import com.viettel.campaign.service.CampaignService;
import com.viettel.campaign.web.dto.CampaignDTO; import com.viettel.campaign.web.dto.CampaignDTO;
...@@ -39,4 +40,9 @@ public class CampaignServiceImpl implements CampaignService { ...@@ -39,4 +40,9 @@ public class CampaignServiceImpl implements CampaignService {
public ResultDTO search(CampaignRequestDTO requestDto) { public ResultDTO search(CampaignRequestDTO requestDto) {
return campaignRepository.search(requestDto); return campaignRepository.search(requestDto);
} }
@Override
public ResultDTO findByCampaignCode(CampaignRequestDTO requestDTO) {
return campaignRepository.findByCampaignCode(requestDTO);
}
} }
package com.viettel.campaign.service; package com.viettel.campaign.service.impl;
import com.viettel.campaign.mapper.CustomerListMapper; import com.viettel.campaign.mapper.CustomerListMapper;
import com.viettel.campaign.model.CustomerList; import com.viettel.campaign.model.CustomerList;
import com.viettel.campaign.repository.CampaignCustomerListRepository;
import com.viettel.campaign.repository.CustomerListRepository; import com.viettel.campaign.repository.CustomerListRepository;
import com.viettel.campaign.service.CustomerListService;
import com.viettel.campaign.utils.Constants; import com.viettel.campaign.utils.Constants;
import com.viettel.campaign.utils.DataUtil;
import com.viettel.campaign.web.dto.CustomerListDTO; import com.viettel.campaign.web.dto.CustomerListDTO;
import com.viettel.campaign.web.dto.ResultDTO; import com.viettel.campaign.web.dto.ResultDTO;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
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.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;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager; import javax.persistence.EntityManager;
import java.util.*; import java.util.*;
...@@ -25,6 +31,11 @@ public class CustomerListServiceImpl implements CustomerListService { ...@@ -25,6 +31,11 @@ public class CustomerListServiceImpl implements CustomerListService {
@Autowired @Autowired
CustomerListRepository customerListRepository; CustomerListRepository customerListRepository;
@Autowired
CampaignCustomerListRepository campaignCustomerListRepository;
private Logger logger = LogManager.getLogger(CustomerListServiceImpl.class);
@Override @Override
public Map getCustomerList(int page, int pageSize, String sort) { public Map getCustomerList(int page, int pageSize, String sort) {
Map result = new HashMap(); Map result = new HashMap();
...@@ -45,10 +56,11 @@ public class CustomerListServiceImpl implements CustomerListService { ...@@ -45,10 +56,11 @@ public class CustomerListServiceImpl implements CustomerListService {
CustomerListMapper customerListMapper = new CustomerListMapper(); CustomerListMapper customerListMapper = new CustomerListMapper();
Date today = new Date(); Date today = new Date();
CustomerList customerList = new CustomerList(); CustomerList customerList = new CustomerList();
try { try {
if (customerListDTO != null) { if (customerListDTO != null) {
// insert // insert
CustomerList findCustomer = customerListRepository.findByCustomerListCode(customerListDTO.getCustomerListCode());
if (findCustomer == null) {
customerList = customerListMapper.toPersistenceBean(customerListDTO); customerList = customerListMapper.toPersistenceBean(customerListDTO);
customerListRepository.save(customerList); customerListRepository.save(customerList);
...@@ -58,6 +70,10 @@ public class CustomerListServiceImpl implements CustomerListService { ...@@ -58,6 +70,10 @@ public class CustomerListServiceImpl implements CustomerListService {
resultDTO.setErrorCode(Constants.ApiErrorCode.ERROR); resultDTO.setErrorCode(Constants.ApiErrorCode.ERROR);
resultDTO.setDescription(Constants.ApiErrorDesc.ERROR); resultDTO.setDescription(Constants.ApiErrorDesc.ERROR);
} }
} else {
resultDTO.setErrorCode(Constants.ApiErrorCode.ERROR);
resultDTO.setDescription(Constants.ApiErrorDesc.ERROR);
}
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
...@@ -97,10 +113,10 @@ public class CustomerListServiceImpl implements CustomerListService { ...@@ -97,10 +113,10 @@ public class CustomerListServiceImpl implements CustomerListService {
CustomerListMapper customerListMapper = new CustomerListMapper(); CustomerListMapper customerListMapper = new CustomerListMapper();
Date today = new Date(); Date today = new Date();
CustomerList customerList = new CustomerList(); CustomerList customerList = new CustomerList();
try { try {
if (customerListDTO != null) { if (customerListDTO != null) {
// delete // delete
if (DataUtil.isNullOrZero(campaignCustomerListRepository.campaignCount(customerListDTO.getCustomerListId()))) {
customerListRepository.deleteById(customerListDTO.getCustomerListId()); customerListRepository.deleteById(customerListDTO.getCustomerListId());
resultDTO.setErrorCode(Constants.ApiErrorCode.SUCCESS); resultDTO.setErrorCode(Constants.ApiErrorCode.SUCCESS);
...@@ -109,6 +125,11 @@ public class CustomerListServiceImpl implements CustomerListService { ...@@ -109,6 +125,11 @@ public class CustomerListServiceImpl implements CustomerListService {
resultDTO.setErrorCode(Constants.ApiErrorCode.ERROR); resultDTO.setErrorCode(Constants.ApiErrorCode.ERROR);
resultDTO.setDescription(Constants.ApiErrorDesc.ERROR); resultDTO.setDescription(Constants.ApiErrorDesc.ERROR);
} }
} else {
resultDTO.setErrorCode(Constants.ApiErrorCode.ERROR);
resultDTO.setDescription(Constants.ApiErrorDesc.ERROR);
}
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
...@@ -116,11 +137,13 @@ public class CustomerListServiceImpl implements CustomerListService { ...@@ -116,11 +137,13 @@ public class CustomerListServiceImpl implements CustomerListService {
return resultDTO; return resultDTO;
} }
@Transactional
@Override @Override
public ResultDTO deleteIds(List<Long> ids) { public ResultDTO deleteIds(List<Long> ids) {
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
try { try {
if (ids != null) { if (ids != null) {
if (DataUtil.isNullOrZero(campaignCustomerListRepository.campaignIdsCount(ids))) {
customerListRepository.deleteIds(ids); customerListRepository.deleteIds(ids);
resultDTO.setErrorCode(Constants.ApiErrorCode.SUCCESS); resultDTO.setErrorCode(Constants.ApiErrorCode.SUCCESS);
resultDTO.setDescription(Constants.ApiErrorDesc.SUCCESS); resultDTO.setDescription(Constants.ApiErrorDesc.SUCCESS);
...@@ -128,9 +151,27 @@ public class CustomerListServiceImpl implements CustomerListService { ...@@ -128,9 +151,27 @@ public class CustomerListServiceImpl implements CustomerListService {
resultDTO.setErrorCode(Constants.ApiErrorCode.ERROR); resultDTO.setErrorCode(Constants.ApiErrorCode.ERROR);
resultDTO.setDescription(Constants.ApiErrorDesc.ERROR); resultDTO.setDescription(Constants.ApiErrorDesc.ERROR);
} }
} else {
resultDTO.setErrorCode(Constants.ApiErrorCode.ERROR);
resultDTO.setDescription(Constants.ApiErrorDesc.ERROR);
}
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
return null; return resultDTO;
}
@Override
public Map searchCustomerList(String customerListCode, String customerListName, Date dateFrom, Date dateTo, int page, int pageSize, String sort) {
Map result = new HashMap();
List<CustomerList> list = new ArrayList<>();
Pageable pageable = PageRequest.of(page, pageSize, Sort.by(sort));
Page<CustomerList> pc = customerListRepository.searchCustomerList(customerListCode, customerListName, dateFrom, dateTo, pageable);
result.put("totalItem", pc.getTotalElements());
result.put("searchList", pc.iterator());
return result;
} }
} }
...@@ -17,4 +17,18 @@ public class Constants { ...@@ -17,4 +17,18 @@ public class Constants {
String xls = "xls"; String xls = "xls";
String xlsx = "xlsx"; String xlsx = "xlsx";
} }
public interface Status {
Long ACTIVE = 1L;
Long INACTIVE = 0L;
String ACTIVE_STR = "Hoạt động";
String INACTIVE_STR = "Không hoạt động";
}
public interface TypeStatus {
Long ACTIVE = 1L;
Long INACTIVE = 0L;
String ACTIVE_STR = "Trang thai ket noi(Khong thanh cong)";
String INACTIVE_STR = "Trang thai khao sat";
}
} }
...@@ -4,8 +4,6 @@ import com.viettel.campaign.web.dto.BaseDTO; ...@@ -4,8 +4,6 @@ import com.viettel.campaign.web.dto.BaseDTO;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import java.util.Date;
/** /**
* @author anhvd_itsol * @author anhvd_itsol
*/ */
...@@ -25,4 +23,5 @@ public class CampaignRequestDTO extends BaseDTO { ...@@ -25,4 +23,5 @@ public class CampaignRequestDTO extends BaseDTO {
Long numOfCusTo; Long numOfCusTo;
Short type; Short type;
Short chanel; Short chanel;
String companySiteId;
} }
...@@ -13,6 +13,7 @@ import java.util.List; ...@@ -13,6 +13,7 @@ import java.util.List;
@Controller @Controller
@RequestMapping("/ipcc/apParam") @RequestMapping("/ipcc/apParam")
@CrossOrigin(origins = "*")
public class ApParamController { public class ApParamController {
private static final Logger LOGGER = Logger.getLogger(CustomerController.class); private static final Logger LOGGER = Logger.getLogger(CustomerController.class);
...@@ -39,4 +40,13 @@ public class ApParamController { ...@@ -39,4 +40,13 @@ public class ApParamController {
return new ResponseEntity(lst, HttpStatus.OK); return new ResponseEntity(lst, HttpStatus.OK);
} }
@GetMapping(path = "/findAllParam")
@ResponseBody
public ResponseEntity findAllParam(){
List<ApParam> findAll = apParamService.findAllParam();
if(findAll.isEmpty()) {
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
return new ResponseEntity(findAll, HttpStatus.OK);
}
} }
...@@ -11,6 +11,7 @@ import org.springframework.stereotype.Controller; ...@@ -11,6 +11,7 @@ import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.List;
import java.util.Map; import java.util.Map;
@Controller @Controller
...@@ -81,4 +82,11 @@ public class CampaignCompleteCodeController { ...@@ -81,4 +82,11 @@ public class CampaignCompleteCodeController {
result = completeCodeService.deleteCompleteCode(completeCodeDTO); result = completeCodeService.deleteCompleteCode(completeCodeDTO);
return result; return result;
} }
@PostMapping("/listDelete")
@ResponseBody
public ResponseEntity<ResultDTO> deleteList(@RequestBody @Valid List<Long>completeCodeDtos ){
ResultDTO resultDTO = completeCodeService.deleteList(completeCodeDtos);
return new ResponseEntity<>(resultDTO, HttpStatus.OK);
}
} }
package com.viettel.campaign.web.rest; package com.viettel.campaign.web.rest;
import com.viettel.campaign.model.CustomerList;
import com.viettel.campaign.service.CustomerListService; import com.viettel.campaign.service.CustomerListService;
import com.viettel.campaign.web.dto.CustomerListDTO; import com.viettel.campaign.web.dto.CustomerListDTO;
import com.viettel.campaign.web.dto.ResultDTO; import com.viettel.campaign.web.dto.ResultDTO;
...@@ -11,7 +10,7 @@ import org.springframework.stereotype.Controller; ...@@ -11,7 +10,7 @@ import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.ArrayList; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -52,7 +51,7 @@ public class CustomerListController { ...@@ -52,7 +51,7 @@ public class CustomerListController {
@PutMapping("/update") @PutMapping("/update")
@ResponseBody @ResponseBody
public ResultDTO updateCompleteCode(@RequestBody @Valid CustomerListDTO customerListDTO) { public ResultDTO updateCustomerList(@RequestBody @Valid CustomerListDTO customerListDTO) {
ResultDTO result = new ResultDTO(); ResultDTO result = new ResultDTO();
//LogUtil logUtil = new LogUtil(); //LogUtil logUtil = new LogUtil();
//logUtil.initKpiLog("createCust"); //logUtil.initKpiLog("createCust");
...@@ -71,7 +70,7 @@ public class CustomerListController { ...@@ -71,7 +70,7 @@ public class CustomerListController {
@PostMapping("/delete") @PostMapping("/delete")
@ResponseBody @ResponseBody
public ResultDTO deleteCompleteCode(@RequestBody @Valid CustomerListDTO customerListDTO) { public ResultDTO deleteCustomerList(@RequestBody @Valid CustomerListDTO customerListDTO) {
ResultDTO result = new ResultDTO(); ResultDTO result = new ResultDTO();
result = customerListService.deleteCustomerList(customerListDTO); result = customerListService.deleteCustomerList(customerListDTO);
return result; return result;
...@@ -79,13 +78,16 @@ public class CustomerListController { ...@@ -79,13 +78,16 @@ public class CustomerListController {
@PostMapping("/ids") @PostMapping("/ids")
@ResponseBody @ResponseBody
public ResultDTO deleteIds(@RequestBody @Valid List<CustomerListDTO> customerListDTOList) { public ResultDTO deleteIds(@RequestBody @Valid List<Long> ids) {
List<Long> ids = new ArrayList<>();
ResultDTO result = new ResultDTO(); ResultDTO result = new ResultDTO();
for (CustomerListDTO customerList: customerListDTOList) {
ids.add(customerList.getCustomerListId());
}
result = customerListService.deleteIds(ids); result = customerListService.deleteIds(ids);
return result; return result;
} }
@GetMapping("/search")
@ResponseBody
public ResponseEntity searchCustomerList(@RequestParam("customerListCode") String customerListCode, @RequestParam("customerListName") String customerListName, @RequestParam("dateFrom") Date dateFrom, @RequestParam("dateTo") Date dateTo, @RequestParam("page") int page, @RequestParam("pageSize") int pageSize, @RequestParam("sort") String sort) {
Map result = customerListService.searchCustomerList(customerListCode, customerListName, dateFrom, dateTo, page, pageSize, sort);
return new ResponseEntity<>(result, HttpStatus.OK);
}
} }
...@@ -34,4 +34,9 @@ public class CampaignController { ...@@ -34,4 +34,9 @@ public class CampaignController {
return new ResponseEntity<>(result, HttpStatus.OK); return new ResponseEntity<>(result, HttpStatus.OK);
} }
@RequestMapping(value = "/findByCampaignCode", method = RequestMethod.POST)
public ResultDTO findByCampaignCode(@RequestBody CampaignRequestDTO dto) {
return campaignService.findByCampaignCode(dto);
}
} }
...@@ -30,3 +30,5 @@ LEFT JOIN (SELECT cc.campaign_id, count(*) AS SLKHDoNotCall_Khoa ...@@ -30,3 +30,5 @@ LEFT JOIN (SELECT cc.campaign_id, count(*) AS SLKHDoNotCall_Khoa
GROUP BY cc.CAMPAIGN_ID) d GROUP BY cc.CAMPAIGN_ID) d
ON d.CAMPAIGN_ID = a.CAMPAIGN_ID ON d.CAMPAIGN_ID = a.CAMPAIGN_ID
WHERE 1 = 1 WHERE 1 = 1
AND COMPANY_SITE_ID = :p_company_site_id
AND a.STATUS <> -1
SELECT PAR_NAME,AP_PARAM_ID, PAR_TYPE FROM AP_PARAM a WHERE STATUS= 1 AND PAR_TYPE = 'CAMPAIGN_TYPE'
DELETE FROM CAMPAIGN_COMPLETE_CODE WHERE CAMPAIGN_ID IN (0,1)
select *from CAMPAIGN_COMPLETE_CODE
SELECT
a.CAMPAIGN_ID campaignId,
a.COMPLETE_VALUE completeValue,
a.COMPLETE_NAME completeName,
a.COMPLETE_TYPE completeType,
-- a.CAMPAIGN_TYPE campaignType,
c.PAR_NAME campaignType,
b.CHANEL chanel,
a.DESCRIPTION description,
a.STATUS status
FROM CAMPAIGN_COMPLETE_CODE a
LEFT JOIN CAMPAIGN b ON a.CAMPAIGN_ID = b.CAMPAIGN_ID
LEFT JOIN AP_PARAM c ON a.CAMPAIGN_TYPE = to_char(c.AP_PARAM_ID)
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