Commit 8a79acf3 authored by ='s avatar =

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/main/java/com/viettel/campaign/web/rest/controller/CampaignController.java
parents 6da9b64d 2acfee33
......@@ -12,18 +12,23 @@ import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface CampaignCompleteCodeRepository extends JpaRepository<CampaignCompleteCode, Long> {
@Query(" select u FROM CampaignCompleteCode u WHERE u.status = 1")
Page<CampaignCompleteCode> findAll(Pageable pageable);
// Page<CampaignCompleteCode> findAllByStatus(String status, Pageable pageable);
@Query("FROM CampaignCompleteCode WHERE completeName LIKE concat('%', :name, '%') ")
List<CampaignCompleteCode> findByName(@Param("name") String name, Pageable pageable);
List<CampaignCompleteCode> findByCompleteNameContains(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);
// @Query(value="SELECT max(completeValue) FROM CampaignCompleteCode WHERE companySiteId = :companySiteId GROUP BY companySiteId")
// Short findByMaxCompanySiteId(Long companySiteId);
List<CampaignCompleteCode> findCampaignCompleteCodesByCompanySiteId(Long companySiteId);
// List<CampaignCompleteCode> findByCampaignIdContainsAndChanel(Long campaignId, String chanel);
}
......@@ -5,4 +5,6 @@ import com.viettel.campaign.web.dto.ResultDTO;
public interface CampaignCompleteCodeRepositoryCustom {
ResultDTO updateStatusById(Long id);
ResultDTO findMaxValueCampaignType(Long companySiteId);
}
package com.viettel.campaign.repository.impl;
import com.viettel.campaign.model.CampaignCompleteCode;
import com.viettel.campaign.repository.CampaignCompleteCodeRepository;
import com.viettel.campaign.utils.HibernateUtil;
import com.viettel.campaign.utils.SQLBuilder;
import com.viettel.campaign.web.dto.CampaignCompleteCodeDTO;
import com.viettel.campaign.web.dto.ResultDTO;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.transform.Transformers;
import org.hibernate.type.LongType;
import org.hibernate.type.ShortType;
import org.hibernate.type.StringType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Example;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityManager;
import java.util.List;
import java.util.Optional;
public class CampaignCompleteCodeRepositoryIpml implements CampaignCompleteCodeRepository {
@Autowired
EntityManager entityManager;
CampaignCompleteCodeRepository campaignCompleteCodeRepository;
private Logger log = LoggerFactory.getLogger(CampaignCompleteCodeRepositoryIpml.class);
@Override
public Page<CampaignCompleteCode> findAll(Pageable pageable) {
// Page<CampaignCompleteCode>
// try {
//
// } catch (Exception e) {
//
// }
return null;
}
@Override
public List<CampaignCompleteCode> findByName(String name, Pageable pageable) {
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session session = sessionFactory.openSession();
session.beginTransaction();
List<CampaignCompleteCode> resultList = null;
try {
StringBuilder sql = new StringBuilder(SQLBuilder.getSqlQueryById(SQLBuilder.SQL_MODULE_CAMPAIGN_STATUS_MNG, "search-campaign-status-by-params"));
SQLQuery query = session.createSQLQuery(sql.toString());
query.setParameter(":p_name", name);
// add SCalar
query.addScalar("campaignId", new LongType());
query.addScalar("completeValue", new StringType());
query.addScalar("completeName", new StringType());
query.addScalar("completeType", new StringType());
query.addScalar("chanel", new ShortType());
query.addScalar("description", new StringType());
query.addScalar("status", new ShortType());
query.addScalar("chanel", new LongType());
query.setResultTransformer(Transformers.aliasToBean(CampaignCompleteCodeDTO.class));
resultList = query.list();
} catch (Exception e) {
session.close();
log.error(e.getMessage(), e);
}
return resultList;
}
@Override
public List<CampaignCompleteCode> findByCompleteNameContains(String name, Pageable pageable) {
return campaignCompleteCodeRepository.findByCompleteNameContains(name, pageable);
}
@Override
public int deleteds(List<Long> ids) {
return 0;
}
@Override
public List<CampaignCompleteCode> findAll() {
return campaignCompleteCodeRepository.findAll();
}
@Override
public List<CampaignCompleteCode> findAll(Sort sort) {
return campaignCompleteCodeRepository.findAll();
}
@Override
public List<CampaignCompleteCode> findAllById(Iterable<Long> iterable) {
return null;
}
@Override
public long count() {
return 0;
}
@Override
@Transactional
public void deleteById(Long id) {
ResultDTO result = new ResultDTO();
try {
// update Status = 0 cho cái ID truyền vào
CampaignCompleteCode entity = entityManager.find(CampaignCompleteCode.class, id);
// set giá trị Status = 0 --> tương đương với inactive
entity.setStatus(new Short("0"));
entityManager.merge(entity);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
}
@Override
public void delete(CampaignCompleteCode campaignCompleteCode) {
}
@Override
public void deleteAll(Iterable<? extends CampaignCompleteCode> iterable) {
}
@Override
public void deleteAll() {
}
@Override
public <S extends CampaignCompleteCode> S save(S s) {
return null;
}
@Override
public <S extends CampaignCompleteCode> List<S> saveAll(Iterable<S> iterable) {
return null;
}
@Override
public Optional<CampaignCompleteCode> findById(Long aLong) {
return Optional.empty();
}
@Override
public boolean existsById(Long aLong) {
return false;
}
@Override
public void flush() {
}
@Override
public <S extends CampaignCompleteCode> S saveAndFlush(S s) {
return null;
}
@Override
public void deleteInBatch(Iterable<CampaignCompleteCode> iterable) {
}
@Override
public void deleteAllInBatch() {
}
@Override
public CampaignCompleteCode getOne(Long aLong) {
return null;
}
@Override
public <S extends CampaignCompleteCode> Optional<S> findOne(Example<S> example) {
return Optional.empty();
}
@Override
public <S extends CampaignCompleteCode> List<S> findAll(Example<S> example) {
return null;
}
@Override
public <S extends CampaignCompleteCode> List<S> findAll(Example<S> example, Sort sort) {
return null;
}
@Override
public <S extends CampaignCompleteCode> Page<S> findAll(Example<S> example, Pageable pageable) {
return null;
}
@Override
public <S extends CampaignCompleteCode> long count(Example<S> example) {
return 0;
}
@Override
public <S extends CampaignCompleteCode> boolean exists(Example<S> example) {
return false;
}
}
......@@ -38,4 +38,19 @@ public class CampaignCompleteCompleteCodeRepositoryIpml implements CampaignCompl
}
return dto;
}
@Override
@Transactional
public ResultDTO findMaxValueCampaignType(Long companySiteId) {
ResultDTO result = new ResultDTO();
try{
result.setErrorCode("00");
}
catch(Exception e){
log.error(e.getMessage(), e);
result.setErrorCode("01");
result.setDescription(e.getMessage());
}
return null;
}
}
......@@ -22,4 +22,6 @@ public interface CampaignCompleteCodeService {
ResultDTO deleteById(Long id);
ResultDTO findMaxValueCampaignCompleteCode(CampaignCompleteCodeDTO completeCodeDTO);
}
......@@ -17,5 +17,7 @@ public interface CampaignService {
Map countRecallCustomer(Long companySiteId, Long agentId);
ResultDTO findCampaignById(Long campaignId);
ResultDTO changeCampaignStatus(CampaignDTO dto);
}
......@@ -7,8 +7,12 @@ import com.viettel.campaign.web.dto.ResultDTO;
import com.viettel.campaign.mapper.CampaignCompleteCodeMapper;
import com.viettel.campaign.model.CampaignCompleteCode;
import com.viettel.campaign.repository.CampaignCompleteCodeRepository;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
......@@ -20,6 +24,8 @@ import java.util.*;
@Service
public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeService {
protected Logger logger = LoggerFactory.getLogger(CampaignCompleteCodeServiceImpl.class);
@Autowired
CampaignCompleteCodeRepository completeCodeRepository;
......@@ -123,21 +129,20 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ
return resultDTO;
}
@Transactional
@Override
public ResultDTO deleteList(List<Long> completeCodeDtos) {
ResultDTO resultDTO = new ResultDTO();
try {
completeCodeRepository.deleteds(completeCodeDtos);
resultDTO.setErrorCode(Constants.ApiErrorCode.SUCCESS);
resultDTO.setDescription(Constants.ApiErrorDesc.SUCCESS);
// 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;
}
} catch (Exception e) {
resultDTO.setErrorCode("-1");
return resultDTO;
}
// }
resultDTO.setErrorCode("0");
......@@ -158,6 +163,54 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ
return result;
}
result.setErrorCode("0");
return result;
return result;
}
@Override
public ResultDTO findMaxValueCampaignCompleteCode(CampaignCompleteCodeDTO completeCodeDTO) {
ResultDTO resultDTO = new ResultDTO();
try {
short maxValue = 0;
List<CampaignCompleteCode> list = completeCodeRepository.findCampaignCompleteCodesByCompanySiteId(completeCodeDTO.getCompanySiteId());
for (int i = 0; i<list.size();i++) {
if (list.get(i).getCompleteValue() != null && !list.get(i).getCompleteValue().equals("")) {
if (maxValue < Short.parseShort(list.get(i).getCompleteValue())) {
maxValue = Short.parseShort(list.get(i).getCompleteValue());
}
}
}
maxValue+= 1;
resultDTO.setData(maxValue);
resultDTO.setErrorCode(Constants.ApiErrorCode.SUCCESS);
resultDTO.setDescription(Constants.ApiErrorDesc.SUCCESS);
} catch (Exception e) {
resultDTO.setErrorCode(Constants.ApiErrorCode.ERROR);
resultDTO.setDescription(e.getMessage());
}
return resultDTO;
}
// @Override
// public ResultDTO findMaxValueCampaignCompleteCode(CampaignCompleteCodeDTO completeCodeDTO) {
// ResultDTO result = new ResultDTO();
// CampaignCompleteCodeMapper campaignCompleteCodeMapper = new CampaignCompleteCodeMapper();
// CampaignCompleteCode campaignCompleteCode = new CampaignCompleteCode();
// try{
// short resultmaxValue = completeCodeRepository.findByMaxCompanySiteId(completeCodeDTO.getCompanySiteId());
// campaignCompleteCode.setCompleteValue(String.valueOf(resultmaxValue + 1));
//// if (resultmaxValue < 4) {
//// resultmaxValue =4;
//// }
// result.setData(resultmaxValue);
// result.setErrorCode(Constants.Status.ACTIVE_STR);
// result.setDescription(Constants.Status.ACTIVE_STR);
// }
// catch (Exception e){
// logger.error(e.getMessage(), e);
// result.setErrorCode("-1");
// return result;
// }
// result.setErrorCode("0");
// return result;
// }
}
......@@ -22,7 +22,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityNotFoundException;
import java.util.*;
@Service
......@@ -59,6 +58,7 @@ public class CampaignServiceImpl implements CampaignService {
@Override
public ResultDTO addNewCampaign(CampaignDTO campaignDTO) {
logger.info("=== Start add new campaign ");
ResultDTO resultDTO = new ResultDTO();
Campaign campaign = modelMapper.map(campaignDTO, Campaign.class);
Long campaignId;
......@@ -91,12 +91,12 @@ public class CampaignServiceImpl implements CampaignService {
timeZoneDialModeRepository.saveAll(lstTimeZoneModeToInser);
}
resultDTO.setErrorCode(Constants.ApiErrorCode.SUCCESS);
resultDTO.setErrorCode(Constants.ApiErrorDesc.SUCCESS);
resultDTO.setDescription(Constants.ApiErrorDesc.SUCCESS);
resultDTO.setData(campaignResult);
} catch (Exception ex) {
logger.error(ex.getMessage(), ex);
resultDTO.setErrorCode(Constants.ApiErrorCode.ERROR);
resultDTO.setErrorCode(Constants.ApiErrorDesc.ERROR);
resultDTO.setDescription(Constants.ApiErrorDesc.ERROR);
}
return resultDTO;
}
......@@ -120,6 +120,25 @@ public class CampaignServiceImpl implements CampaignService {
return result;
}
@Override
public ResultDTO findCampaignById(Long campaignId) {
logger.info("=== Start find campaign by id: " + campaignId);
ResultDTO resultDTO = new ResultDTO();
try {
Campaign campaign = campaignRepository.findById(campaignId).orElse(null);
if (campaign != null) {
resultDTO.setErrorCode(Constants.ApiErrorCode.SUCCESS);
resultDTO.setDescription(Constants.ApiErrorDesc.SUCCESS);
resultDTO.setData(campaign);
}
} catch (Exception ex) {
logger.error(ex.getMessage(), ex);
resultDTO.setErrorCode(Constants.ApiErrorCode.ERROR);
resultDTO.setDescription(Constants.ApiErrorDesc.ERROR);
}
return resultDTO;
}
@Override
public ResultDTO changeCampaignStatus(CampaignDTO dto) {
ResultDTO result = new ResultDTO();
......@@ -138,6 +157,7 @@ public class CampaignServiceImpl implements CampaignService {
result.setDescription("Entity not found");
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
result.setErrorCode(Constants.ApiErrorCode.ERROR);
result.setDescription(e.getMessage());
}
......
......@@ -15,7 +15,7 @@ import javax.validation.Valid;
import java.util.List;
import java.util.Map;
@Controller
@RestController
@RequestMapping("/ipcc/completeCode")
@CrossOrigin(origins = "*")
public class CampaignCompleteCodeController {
......@@ -84,7 +84,6 @@ public class CampaignCompleteCodeController {
ResultDTO resultDTO = completeCodeService.deleteList(completeCodeDtos);
return new ResponseEntity<>(resultDTO, HttpStatus.OK);
}
@CrossOrigin(origins = "*")
@PostMapping("/deleteById")
@ResponseBody
public ResultDTO deleteById(@RequestParam("id") Long id){
......@@ -93,5 +92,13 @@ public class CampaignCompleteCodeController {
return resultDTO;
}
@CrossOrigin(origins = "*")
@PostMapping("/getMaxValue")
@ResponseBody
public ResultDTO findMaxValueCampaignType(@RequestBody CampaignCompleteCodeDTO completeCodeDTO){
return completeCodeService.findMaxValueCampaignCompleteCode(completeCodeDTO);
}
}
DELETE FROM CAMPAIGN_COMPLETE_CODE WHERE CAMPAIGN_ID IN (0,1)
select *from CAMPAIGN_COMPLETE_CODE
select *from CAMPAIGN_COMPLETE_CODE where STATUS = 1;
......@@ -15,3 +15,4 @@ LEFT JOIN AP_PARAM c ON a.CAMPAIGN_TYPE = to_char(c.AP_PARAM_ID);
SELECT max(COMPLETE_VALUE) ,COMPANY_SITE_ID from CAMPAIGN_COMPLETE_CODE where COMPANY_SITE_ID = : p_site_id GROUP BY COMPANY_SITE_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