Commit 6893fb8c authored by Tu Bach's avatar Tu Bach

tubn campaign execute interactive

parent 8890ea24
......@@ -18,9 +18,9 @@ public interface CampaignExecuteRepository {
List<ApParamDTO> getComboCampaignType(String companySiteId);
ResultDTO getInteractiveResult(CampaignRequestDTO dto);
List<ContactCustResultDTO> getInteractiveResult(CampaignRequestDTO dto, Pageable pageable);
List<ContactCusResDTO> getExcelInteractiveResult(CampaignRequestDTO dto);
List<ContactCustResultDTO> getExcelInteractiveResult(CampaignRequestDTO dto);
List<ContactCustResultDTO> getContactCustById(CampaignRequestDTO dto);
//</editor-fold: hungtt>
......
......@@ -2,6 +2,7 @@ package com.viettel.campaign.service;
import com.viettel.campaign.web.dto.*;
import com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO;
import com.viettel.econtact.filter.UserSession;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.stereotype.Service;
......@@ -37,7 +38,7 @@ public interface CampaignExecuteService {
ResultDTO getAgentLogout(CampaignRequestDTO dto);
ResultDTO callCustomer(ContactCustResultDTO dto);
ResultDTO callCustomer(ContactCustResultDTO dto, UserSession userSession);
ResultDTO recallCustomer(ContactCustResultDTO dto);
......
......@@ -20,6 +20,7 @@ import org.modelmapper.ModelMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -100,11 +101,19 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
@Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO searchInteractiveResult(CampaignRequestDTO dto) {
ResultDTO resultDTO = new ResultDTO();
try {
resultDTO = campaignExecuteRepository.getInteractiveResult(dto);
List<ContactCustResultDTO> list = campaignExecuteRepository.getInteractiveResult(dto, SQLBuilder.buildPageable(dto));
resultDTO.setListData(list);
resultDTO.setTotalRow(campaignExecuteRepository.getInteractiveResult(dto, null).size());
resultDTO.setErrorCode(Constants.ApiErrorCode.SUCCESS);
resultDTO.setDescription(Constants.ApiErrorDesc.SUCCESS);
} catch (Exception e) {
logger.error(e.getMessage(), e);
resultDTO.setErrorCode(Constants.ApiErrorCode.ERROR);
resultDTO.setDescription(Constants.ApiErrorDesc.ERROR);
}
return resultDTO;
}
......@@ -112,7 +121,7 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
@Transactional(DataSourceQualify.CCMS_FULL)
public XSSFWorkbook exportInteractiveResult(CampaignRequestDTO dto) {
Locale locale = Locale.forLanguageTag("vi");
List<ContactCusResDTO> list = campaignExecuteRepository.getExcelInteractiveResult(dto);
List<ContactCustResultDTO> list = campaignExecuteRepository.getExcelInteractiveResult(dto);
XSSFWorkbook workbook = new XSSFWorkbook();
Sheet sheet;
......@@ -519,7 +528,7 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
}
@Override
public ResultDTO callCustomer(ContactCustResultDTO dto) {
public ResultDTO callCustomer(ContactCustResultDTO dto, UserSession userSession) {
ResultDTO result = new ResultDTO();
try {
......
package com.viettel.campaign.web.dto;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
//import java.io.Serializable;
import java.util.Date;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class ContactCusResDTO {
private Long contactCustResultId;
private String campaignCode;
private String campaignName;
private String userName;
private String phoneNumber;
private String customerName;
private Date startCall;
private Date createTime;
private String contactStatus;
private String surveyStatus;
private String status;
private String recordStatus;
private Long callTime;
private Boolean enableEdit;
private Integer totalRow;
}
......@@ -14,7 +14,7 @@ public class ContactCustResultDTO extends BaseDTO {
private Long contactCustResultId;
private Long companySiteId;
private Short callStatus;
private Short contactStatus;
private String contactStatus;
private Short status;
private Integer satisfaction;
private String description;
......@@ -53,4 +53,6 @@ public class ContactCustResultDTO extends BaseDTO {
private String userName;
private String surveyStatus;
private Boolean enableEdit;
private Integer totalRow;
}
package com.viettel.campaign.web.rest;
import com.viettel.campaign.service.CampaignExecuteService;
import com.viettel.campaign.utils.RedisUtil;
import com.viettel.campaign.web.dto.*;
import com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO;
import com.viettel.econtact.filter.UserSession;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -134,8 +136,10 @@ public class CampaignExecuteController {
@PostMapping("/callCustomer")
@ResponseBody
public ResponseEntity<ResultDTO> callCustomer(@RequestBody ContactCustResultDTO requestDto) {
ResultDTO result = campaignExecuteService.callCustomer(requestDto);
public ResponseEntity<ResultDTO> callCustomer(@RequestBody ContactCustResultDTO requestDto, HttpServletRequest request) {
String xAuthToken = request.getHeader("X-Auth-Token");
UserSession userSession = (UserSession) RedisUtil.getInstance().get(xAuthToken);
ResultDTO result = campaignExecuteService.callCustomer(requestDto, userSession);
return new ResponseEntity<>(result, HttpStatus.OK);
}
......
server:
port: 1111
port: 9999
spring:
application:
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