Commit 38ec4254 authored by ='s avatar =

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/main/java/com/viettel/campaign/service/impl/CustomerServiceImpl.java
parents e0c3f068 09ab6b28
...@@ -32,25 +32,25 @@ public class CorsFilter implements Filter { ...@@ -32,25 +32,25 @@ public class CorsFilter implements Filter {
chain.doFilter(req, response); chain.doFilter(req, response);
// if ("OPTIONS".equalsIgnoreCase(request.getMethod())) { if ("OPTIONS".equalsIgnoreCase(request.getMethod())) {
// chain.doFilter(req, resp); chain.doFilter(req, resp);
// return; return;
// } }
// if ("/".equals(request.getRequestURI())) { if ("/".equals(request.getRequestURI())) {
// chain.doFilter(req, resp); chain.doFilter(req, resp);
// return; return;
// } }
// String xAuthToken = request.getHeader("X-Auth-Token"); String xAuthToken = request.getHeader("X-Auth-Token");
// if (xAuthToken == null || "".equals(xAuthToken)) { if (xAuthToken == null || "".equals(xAuthToken)) {
// response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "The token is null."); response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "The token is null.");
// return; return;
// } }
// Object obj = RedisUtil.getInstance().get(xAuthToken); Object obj = RedisUtil.getInstance().get(xAuthToken);
// if (obj instanceof UserSession) { if (obj instanceof UserSession) {
// chain.doFilter(req, resp); chain.doFilter(req, resp);
// } else { } else {
// response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "The token is invalid."); response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "The token is invalid.");
// } }
} }
@Override @Override
......
...@@ -18,9 +18,9 @@ public interface CampaignExecuteRepository { ...@@ -18,9 +18,9 @@ public interface CampaignExecuteRepository {
List<ApParamDTO> getComboCampaignType(String companySiteId); 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); List<ContactCustResultDTO> getContactCustById(CampaignRequestDTO dto);
//</editor-fold: hungtt> //</editor-fold: hungtt>
......
package com.viettel.campaign.repository.ccms_full; package com.viettel.campaign.repository.ccms_full;
import com.viettel.campaign.config.DataSourceQualify;
import com.viettel.campaign.model.ccms_full.CustomizeFields; import com.viettel.campaign.model.ccms_full.CustomizeFields;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
import java.util.List; import java.util.List;
@Repository @Repository
@Transactional(DataSourceQualify.CCMS_FULL)
public interface CustomizeFieldsRepository extends JpaRepository<CustomizeFields, Long> { public interface CustomizeFieldsRepository extends JpaRepository<CustomizeFields, Long> {
List<CustomizeFields> findCustomizeFieldsByFunctionCodeEqualsAndStatusAndActiveAndSiteId(String functionCode, Long status, Long active, Long siteId); List<CustomizeFields> findCustomizeFieldsByFunctionCodeEqualsAndStatusAndActiveAndSiteId(String functionCode, Long status, Long active, Long siteId);
List<CustomizeFields> findByFunctionCodeAndActiveAndStatusAndSiteId(String functionCode, Long active, Long status, Long siteId);
} }
...@@ -2,6 +2,7 @@ package com.viettel.campaign.service; ...@@ -2,6 +2,7 @@ package com.viettel.campaign.service;
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 com.viettel.econtact.filter.UserSession;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -37,7 +38,7 @@ public interface CampaignExecuteService { ...@@ -37,7 +38,7 @@ public interface CampaignExecuteService {
ResultDTO getAgentLogout(CampaignRequestDTO dto); ResultDTO getAgentLogout(CampaignRequestDTO dto);
ResultDTO callCustomer(ContactCustResultDTO dto); ResultDTO callCustomer(ContactCustResultDTO dto, UserSession userSession);
ResultDTO recallCustomer(ContactCustResultDTO dto); ResultDTO recallCustomer(ContactCustResultDTO dto);
......
...@@ -71,6 +71,7 @@ public interface CustomerService { ...@@ -71,6 +71,7 @@ public interface CustomerService {
ResultDTO getCustomerRecall(Long campaignId, Long customerId); ResultDTO getCustomerRecall(Long campaignId, Long customerId);
List<Customer> findAllByCondition(Long siteId, Date endTime); List<Customer> findAllByCondition(Long siteId, Date endTime);
Customer update(Customer c); Customer update(Customer c);
List<CustomizeFields> getDynamicHeader(Long companySiteId); List<CustomizeFields> getDynamicHeader(Long companySiteId);
...@@ -80,10 +81,15 @@ public interface CustomerService { ...@@ -80,10 +81,15 @@ public interface CustomerService {
Map<String, Object> readAndValidateCustomer(String path, List<CustomizeFields> headerDTOS, UserSession userSession, Long customerListId); Map<String, Object> readAndValidateCustomer(String path, List<CustomizeFields> headerDTOS, UserSession userSession, Long customerListId);
List<CustomizeFieldObject> getCustomizeField(Long customerId); List<CustomizeFieldObject> getCustomizeField(Long customerId);
List<Customer> searchByQuery(String queryString); List<Customer> searchByQuery(String queryString);
Long countByQuery(String queryString); Long countByQuery(String queryString);
// Map<String, CustomizeRequestDTo> searchCustomer();
// Map<String, CustomizeRequestDTo> searchCustomer();
//// List<CustomizeFields> searchCustomize(); //// List<CustomizeFields> searchCustomize();
ResultDTO listCustomizeFields(CustomizeRequestDTo customizeFields); ResultDTO listCustomizeFields(CustomizeFieldsDTO customizeFields);
ResultDTO searchCustomizeFields(int page, int pageSize, long companySiteId,long campaignId,CustomerQueryDTO customerQueryDTO );
ResultDTO searchCustomizeFields(int page, int pageSize, long companySiteId, long campaignId, CustomerQueryDTO customerQueryDTO);
} }
...@@ -20,6 +20,7 @@ import org.modelmapper.ModelMapper; ...@@ -20,6 +20,7 @@ import org.modelmapper.ModelMapper;
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.data.domain.PageRequest;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -100,11 +101,19 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService { ...@@ -100,11 +101,19 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
@Transactional(DataSourceQualify.CCMS_FULL) @Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO searchInteractiveResult(CampaignRequestDTO dto) { public ResultDTO searchInteractiveResult(CampaignRequestDTO dto) {
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
try { 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) { } catch (Exception e) {
logger.error(e.getMessage(), e); logger.error(e.getMessage(), e);
resultDTO.setErrorCode(Constants.ApiErrorCode.ERROR);
resultDTO.setDescription(Constants.ApiErrorDesc.ERROR);
} }
return resultDTO; return resultDTO;
} }
...@@ -112,7 +121,7 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService { ...@@ -112,7 +121,7 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
@Transactional(DataSourceQualify.CCMS_FULL) @Transactional(DataSourceQualify.CCMS_FULL)
public XSSFWorkbook exportInteractiveResult(CampaignRequestDTO dto) { public XSSFWorkbook exportInteractiveResult(CampaignRequestDTO dto) {
Locale locale = Locale.forLanguageTag("vi"); Locale locale = Locale.forLanguageTag("vi");
List<ContactCusResDTO> list = campaignExecuteRepository.getExcelInteractiveResult(dto); List<ContactCustResultDTO> list = campaignExecuteRepository.getExcelInteractiveResult(dto);
XSSFWorkbook workbook = new XSSFWorkbook(); XSSFWorkbook workbook = new XSSFWorkbook();
Sheet sheet; Sheet sheet;
...@@ -519,7 +528,7 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService { ...@@ -519,7 +528,7 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
} }
@Override @Override
public ResultDTO callCustomer(ContactCustResultDTO dto) { public ResultDTO callCustomer(ContactCustResultDTO dto, UserSession userSession) {
ResultDTO result = new ResultDTO(); ResultDTO result = new ResultDTO();
try { 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 { ...@@ -14,7 +14,7 @@ public class ContactCustResultDTO extends BaseDTO {
private Long contactCustResultId; private Long contactCustResultId;
private Long companySiteId; private Long companySiteId;
private Short callStatus; private Short callStatus;
private Short contactStatus; private String contactStatus;
private Short status; private Short status;
private Integer satisfaction; private Integer satisfaction;
private String description; private String description;
...@@ -53,4 +53,6 @@ public class ContactCustResultDTO extends BaseDTO { ...@@ -53,4 +53,6 @@ public class ContactCustResultDTO extends BaseDTO {
private String userName; private String userName;
private String surveyStatus; private String surveyStatus;
private Boolean enableEdit; private Boolean enableEdit;
private Integer totalRow;
} }
package com.viettel.campaign.web.dto;
import lombok.Getter;
import lombok.Setter;
import java.util.Date;
@Getter
@Setter
public class CustomizeFieldsDTO extends BaseDTO {
private Long customizeFieldId;
private Long siteId;
private String functionCode;
private String createBy;
private Date createDate;
private String updateBy;
private Date updateDate;
private Long status;
private String type;
private String title;
private String placeholder;
private String description;
private Long position;
private Long required;
private Long fieldOptionsId;
private String regexpForValidation;
private Long maxLength;
private Long minLength;
private Long min;
private Long max;
private Long active;
}
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.utils.RedisUtil;
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 com.viettel.econtact.filter.UserSession;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -134,8 +136,10 @@ public class CampaignExecuteController { ...@@ -134,8 +136,10 @@ public class CampaignExecuteController {
@PostMapping("/callCustomer") @PostMapping("/callCustomer")
@ResponseBody @ResponseBody
public ResponseEntity<ResultDTO> callCustomer(@RequestBody ContactCustResultDTO requestDto) { public ResponseEntity<ResultDTO> callCustomer(@RequestBody ContactCustResultDTO requestDto, HttpServletRequest request) {
ResultDTO result = campaignExecuteService.callCustomer(requestDto); 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); return new ResponseEntity<>(result, HttpStatus.OK);
} }
......
...@@ -318,7 +318,7 @@ public class CustomerController { ...@@ -318,7 +318,7 @@ public class CustomerController {
} }
@PostMapping("/getCustomizeFields") @PostMapping("/getCustomizeFields")
@ResponseBody @ResponseBody
public ResponseEntity<?> getListFieldsToShow(@RequestBody CustomizeRequestDTo customizeRequestDTo) { public ResponseEntity<?> getListCustomer(@RequestBody CustomizeFieldsDTO customizeRequestDTo) {
ResultDTO resultDTO = customerService.listCustomizeFields(customizeRequestDTo); ResultDTO resultDTO = customerService.listCustomizeFields(customizeRequestDTo);
return new ResponseEntity<>(resultDTO, HttpStatus.OK); return new ResponseEntity<>(resultDTO, HttpStatus.OK);
} }
......
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