Commit 7a345766 authored by Tu Bach's avatar Tu Bach

tubn campaign execute manual update

parent 5e2067f7
...@@ -7,20 +7,20 @@ import com.viettel.campaign.repository.ccms_full.TimeZoneDialModeRepository; ...@@ -7,20 +7,20 @@ import com.viettel.campaign.repository.ccms_full.TimeZoneDialModeRepository;
import com.viettel.campaign.utils.Constants; import com.viettel.campaign.utils.Constants;
import com.viettel.campaign.utils.DataUtil; import com.viettel.campaign.utils.DataUtil;
import com.viettel.campaign.utils.HibernateUtil; import com.viettel.campaign.utils.HibernateUtil;
import com.viettel.campaign.utils.SQLBuilder;
import com.viettel.campaign.web.dto.*; import com.viettel.campaign.web.dto.*;
import com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO; import com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO;
import org.hibernate.SQLQuery; import org.hibernate.SQLQuery;
import org.hibernate.Session; import org.hibernate.Session;
import org.hibernate.SessionFactory; import org.hibernate.SessionFactory;
import org.hibernate.transform.Transformers; import org.hibernate.transform.Transformers;
import org.hibernate.type.*; import org.hibernate.type.DateType;
import org.hibernate.type.IntegerType;
import org.hibernate.type.LongType;
import org.hibernate.type.StringType;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.jdbc.core.BeanPropertyRowMapper; import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
...@@ -109,7 +109,6 @@ public class CampaignExecuteRepositoryImp implements CampaignExecuteRepository { ...@@ -109,7 +109,6 @@ public class CampaignExecuteRepositoryImp implements CampaignExecuteRepository {
Session session = sessionFactory.openSession(); Session session = sessionFactory.openSession();
session.beginTransaction(); session.beginTransaction();
try { try {
// String sql = SQLBuilder.getSqlQueryById(Constants.SQL_MODULES.MODULE_EXECUTE, "get-execute-interactive");
StringBuilder sql = new StringBuilder(); StringBuilder sql = new StringBuilder();
sql.append("with campaign_type_list as ("); sql.append("with campaign_type_list as (");
......
package com.viettel.campaign.service; package com.viettel.campaign.service;
import com.viettel.campaign.web.dto.CampaignCustomerDTO; import com.viettel.campaign.web.dto.*;
import com.viettel.campaign.web.dto.ContactCustResultDTO;
import com.viettel.campaign.web.dto.ReceiveCustLogDTO;
import com.viettel.campaign.web.dto.ResultDTO;
import com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO; import com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -36,10 +33,16 @@ public interface CampaignExecuteService { ...@@ -36,10 +33,16 @@ public interface CampaignExecuteService {
ResultDTO getCallLog(ReceiveCustLogDTO dto); ResultDTO getCallLog(ReceiveCustLogDTO dto);
ResultDTO getCallStatus(CampaignRequestDTO dto);
ResultDTO getAgentLogout(CampaignRequestDTO dto); ResultDTO getAgentLogout(CampaignRequestDTO dto);
ResultDTO callCustomer(ContactCustResultDTO dto); ResultDTO callCustomer(ContactCustResultDTO dto);
ResultDTO recallCustomer(ContactCustResultDTO dto);
ResultDTO callCustomerEnd(ContactCustResultDTO dto);
ResultDTO countRecallCustomer(Long companySiteId, Long agentId); ResultDTO countRecallCustomer(Long companySiteId, Long agentId);
ResultDTO getCustomerRecall(Long campaignId, Long customerId); ResultDTO getCustomerRecall(Long campaignId, Long customerId);
......
...@@ -481,6 +481,24 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService { ...@@ -481,6 +481,24 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
return result; return result;
} }
@Override
public ResultDTO getCallStatus(CampaignRequestDTO dto) {
ResultDTO result = new ResultDTO();
Random r = new Random();
String[] arr = {"ACCEPT", "REJECT", "MISSING"};
if (dto != null) {
result.setErrorCode(Constants.ApiErrorCode.SUCCESS);
result.setDescription(Constants.ApiErrorDesc.SUCCESS);
result.setData(arr[r.nextInt(arr.length)]);
} else {
result.setErrorCode(Constants.ApiErrorCode.ERROR);
result.setDescription(Constants.ApiErrorDesc.ERROR);
}
return result;
}
@Override @Override
public ResultDTO getAgentLogout(CampaignRequestDTO dto) { public ResultDTO getAgentLogout(CampaignRequestDTO dto) {
ResultDTO result = new ResultDTO(); ResultDTO result = new ResultDTO();
...@@ -519,6 +537,47 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService { ...@@ -519,6 +537,47 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
return result; return result;
} }
@Override
public ResultDTO recallCustomer(ContactCustResultDTO dto) {
ResultDTO result = new ResultDTO();
try {
ccResultRepository.deleteById(dto.getContactCustResultId());
ContactCustResult ccr = ccResultRepository.save(modelMapper.map(dto, ContactCustResult.class));
result.setErrorCode(Constants.ApiErrorCode.SUCCESS);
result.setDescription(Constants.ApiErrorDesc.SUCCESS);
result.setData(ccr);
} catch (Exception e) {
e.printStackTrace();
result.setErrorCode(Constants.ApiErrorCode.ERROR);
result.setDescription(Constants.ApiErrorDesc.ERROR);
}
return result;
}
@Override
public ResultDTO callCustomerEnd(ContactCustResultDTO dto) {
ResultDTO result = new ResultDTO();
ContactCustResult ccr = new ContactCustResult();
try {
ccr = ccResultRepository.getOne(dto.getContactCustResultId());
result.setErrorCode(Constants.ApiErrorCode.SUCCESS);
result.setDescription(Constants.ApiErrorDesc.SUCCESS);
result.setData(ccr);
} catch (Exception e) {
e.printStackTrace();
result.setErrorCode(Constants.ApiErrorCode.ERROR);
result.setDescription(Constants.ApiErrorDesc.ERROR);
}
return result;
}
@Override @Override
public ResultDTO updateCustomerResult(ContactCustResultDTO dto) { public ResultDTO updateCustomerResult(ContactCustResultDTO dto) {
ResultDTO result = new ResultDTO(); ResultDTO result = new ResultDTO();
...@@ -564,8 +623,10 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService { ...@@ -564,8 +623,10 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
@Transactional(DataSourceQualify.CCMS_FULL) @Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO getCustomerRecall(Long campaignId, Long customerId) { public ResultDTO getCustomerRecall(Long campaignId, Long customerId) {
Long count = campaignCustomerRepository.getCustomerRecall(campaignId, customerId);
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
Long count = campaignCustomerRepository.getCustomerRecall(campaignId, customerId);
if (count != null) { if (count != null) {
resultDTO.setErrorCode(Constants.ApiErrorCode.SUCCESS); resultDTO.setErrorCode(Constants.ApiErrorCode.SUCCESS);
resultDTO.setDescription(Constants.ApiErrorDesc.SUCCESS); resultDTO.setDescription(Constants.ApiErrorDesc.SUCCESS);
......
...@@ -41,16 +41,6 @@ public class CampaignController { ...@@ -41,16 +41,6 @@ public class CampaignController {
@Autowired @Autowired
CampaignService campaignService; CampaignService campaignService;
@Autowired
CampaignExecuteService campaignExecuteService;
@PostMapping("/callCustomer")
@ResponseBody
public ResponseEntity<ResultDTO> callCustomer(@RequestBody ContactCustResultDTO requestDto) {
ResultDTO result = campaignExecuteService.callCustomer(requestDto);
return new ResponseEntity<>(result, HttpStatus.OK);
}
@RequestMapping(value = "/search", method = RequestMethod.POST) @RequestMapping(value = "/search", method = RequestMethod.POST)
public ResponseEntity<ResultDTO> search(@RequestBody CampaignRequestDTO requestDto) { public ResponseEntity<ResultDTO> search(@RequestBody CampaignRequestDTO requestDto) {
ResultDTO result = campaignService.search(requestDto); ResultDTO result = campaignService.search(requestDto);
...@@ -166,13 +156,6 @@ public class CampaignController { ...@@ -166,13 +156,6 @@ public class CampaignController {
return new ResponseEntity<>(resultDTO, HttpStatus.OK); return new ResponseEntity<>(resultDTO, HttpStatus.OK);
} }
@GetMapping("/getCustomerRecall")
@ResponseBody
public ResponseEntity getCustomerRecall(@RequestParam("campaignId") Long campaignId, @RequestParam("customerId") Long customerId) {
ResultDTO result = campaignExecuteService.getCustomerRecall(campaignId, customerId);
return new ResponseEntity<>(result, HttpStatus.OK);
}
@PostMapping("/getCampaignCustomerList") @PostMapping("/getCampaignCustomerList")
@ResponseBody @ResponseBody
public ResponseEntity getCampaignCustomerList(@RequestBody CampaignRequestDTO campaignRequestDTO) { public ResponseEntity getCampaignCustomerList(@RequestBody CampaignRequestDTO campaignRequestDTO) {
...@@ -244,13 +227,6 @@ public class CampaignController { ...@@ -244,13 +227,6 @@ public class CampaignController {
return new ResponseEntity<>(result, HttpStatus.OK); return new ResponseEntity<>(result, HttpStatus.OK);
} }
@GetMapping("/getCustomerInfor")
@ResponseBody
public ResponseEntity getCustomerInfor(@RequestParam("companySiteId") Long companySiteId, @RequestParam("customerId") Long customerId, @RequestParam("campaignId") Long campaignId) {
ResultDTO result = campaignExecuteService.getCustomerInfor(companySiteId, customerId, campaignId);
return new ResponseEntity<>(result, HttpStatus.OK);
}
@RequestMapping(value = "/import-file", method = RequestMethod.POST) @RequestMapping(value = "/import-file", method = RequestMethod.POST)
public ResponseEntity<?> importFile(@RequestParam("file") MultipartFile file, public ResponseEntity<?> importFile(@RequestParam("file") MultipartFile file,
@RequestHeader("X-Auth-Token") String authToken) { @RequestHeader("X-Auth-Token") String authToken) {
......
package com.viettel.campaign.web.rest; package com.viettel.campaign.web.rest;
import com.viettel.campaign.service.CampaignExecuteService; import com.viettel.campaign.service.CampaignExecuteService;
import com.viettel.campaign.web.dto.CampaignCustomerDTO; import com.viettel.campaign.web.dto.*;
import com.viettel.campaign.web.dto.ReceiveCustLogDTO;
import com.viettel.campaign.web.dto.ResultDTO;
import com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO; import com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.slf4j.Logger; import org.slf4j.Logger;
...@@ -67,6 +65,13 @@ public class CampaignExecuteController { ...@@ -67,6 +65,13 @@ public class CampaignExecuteController {
return new ResponseEntity<>(result, HttpStatus.OK); return new ResponseEntity<>(result, HttpStatus.OK);
} }
@PostMapping("/getCallStatus")
@ResponseBody
public ResponseEntity<ResultDTO> getCallStatus(@RequestBody CampaignRequestDTO requestDto) {
ResultDTO result = campaignExecuteService.getCallStatus(requestDto);
return new ResponseEntity<>(result, HttpStatus.OK);
}
@GetMapping("/countRecallCustomer") @GetMapping("/countRecallCustomer")
@ResponseBody @ResponseBody
public ResponseEntity countRecallCustomer(@RequestParam("companySiteId") Long companySiteId, @RequestParam("agentId") Long agentId) { public ResponseEntity countRecallCustomer(@RequestParam("companySiteId") Long companySiteId, @RequestParam("agentId") Long agentId) {
...@@ -126,4 +131,32 @@ public class CampaignExecuteController { ...@@ -126,4 +131,32 @@ public class CampaignExecuteController {
ResultDTO result = campaignExecuteService.getCustomerInfor(companySiteId, customerId, campaignId); ResultDTO result = campaignExecuteService.getCustomerInfor(companySiteId, customerId, campaignId);
return new ResponseEntity<>(result, HttpStatus.OK); return new ResponseEntity<>(result, HttpStatus.OK);
} }
@PostMapping("/callCustomer")
@ResponseBody
public ResponseEntity<ResultDTO> callCustomer(@RequestBody ContactCustResultDTO requestDto) {
ResultDTO result = campaignExecuteService.callCustomer(requestDto);
return new ResponseEntity<>(result, HttpStatus.OK);
}
@PostMapping("/recallCustomer")
@ResponseBody
public ResponseEntity<ResultDTO> recallCustomer(@RequestBody ContactCustResultDTO requestDto) {
ResultDTO result = campaignExecuteService.recallCustomer(requestDto);
return new ResponseEntity<>(result, HttpStatus.OK);
}
@PostMapping("/callCustomerEnd")
@ResponseBody
public ResponseEntity<ResultDTO> callCustomerEnd(@RequestBody ContactCustResultDTO requestDto) {
ResultDTO result = campaignExecuteService.callCustomerEnd(requestDto);
return new ResponseEntity<>(result, HttpStatus.OK);
}
@GetMapping("/getCustomerRecall")
@ResponseBody
public ResponseEntity getCustomerRecall(@RequestParam("campaignId") Long campaignId, @RequestParam("customerId") Long customerId) {
ResultDTO result = campaignExecuteService.getCustomerRecall(campaignId, customerId);
return new ResponseEntity<>(result, HttpStatus.OK);
}
} }
server: server:
port: 9999 port: 1111
spring: spring:
application: application:
name: campaign name: campaign
......
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