Commit 5e4b9b45 authored by Tu Bach's avatar Tu Bach

tubn campaing execute manual update

parent 34ea2d6c
package com.viettel.campaign.repository;
import com.viettel.campaign.model.CampaignCustomer;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
public interface CampaignCustomerRepository extends JpaRepository<CampaignCustomer, Long> {
@Query(value = "SELECT COUNT(*) " +
"FROM CAMPAIGN_CUSTOMER CC JOIN CAMPAIGN_COMPLETE_CODE CCC ON CC.CAMPAIGN_ID = CCC.CAMPAIGN_ID " +
"WHERE CC.STATUS = 3 AND CC.CAMPAIGN_ID = :campaignId AND CC.CUSTOMER_ID = :customerId AND CCC.IS_RECALL = 1 AND CCC.STATUS = 1 ",
nativeQuery = true)
Long getCustomerRecall(@Param("campaignId") Long campaignId, @Param("customerId") Long customerId);
}
......@@ -16,4 +16,6 @@ public interface CampaignRepository extends JpaRepository<Campaign, Long>, Campa
" AND cc.recallTime <= sysdate " +
" AND cc.agentId = :pAgentId")
Long countRecallCustomer(@Param("pCompanySiteId") Long pCompanySiteId, @Param("pAgentId") Long pAgentId);
Campaign findByCampaignId(Long campaignId);
}
package com.viettel.campaign.repository;
import com.viettel.campaign.model.CustomerContact;
import org.springframework.data.domain.Pageable;
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 CustomerContactRepository extends JpaRepository<CustomerContact, Long> {
List<CustomerContact> findByCustomerIdAndAndContactTypeAndContact(Long customerId, Short contactType, String contact);
@Query("FROM CustomerContact WHERE status = 1 AND customerId = :customerId AND contactType = :contactType AND (contact IS NULL OR UPPER(contact) LIKE UPPER(concat('%', :contact, '%')))")
List<CustomerContact> findByCustomerIdAndAndContactTypeAndContact(@Param("customerId") Long customerId, @Param("contactType") Short contactType, @Param("contact") String contact, Pageable pageable);
}
......@@ -41,7 +41,7 @@ public class TicketRepositoryImpl implements TicketRepositoryCustom {
for (Object[] obj : data) {
TicketDTO item = new TicketDTO();
item.setTicketId(((Long)obj[0]));
item.setTicketId(((BigDecimal) obj[0]).longValueExact());
item.setCreateDate((Date) obj[1]);
item.setSubject((String) obj[2]);
item.setStatusName((String) obj[3]);
......
......@@ -13,6 +13,8 @@ public interface CampaignService {
ResultDTO findByCampaignCode(CampaignRequestDTO requestDTO);
ResultDTO findByCampaignId(Long campaignId);
ResultDTO addNewCampaign(CampaignDTO campaignDTO);
Map countRecallCustomer(Long companySiteId, Long agentId);
......
package com.viettel.campaign.service;
import com.viettel.campaign.web.dto.CustomerContactDTO;
import com.viettel.campaign.web.dto.CustomerDTO;
import com.viettel.campaign.web.dto.CustomerListDTO;
import com.viettel.campaign.web.dto.ResultDTO;
......@@ -40,5 +41,11 @@ public interface CustomerService {
// ------------ customer contact ------------ //
ResultDTO getCustomerContact(Long customerId, Short contactType, String contact);
ResultDTO getCustomerContact(CustomerContactDTO customer);
// ------------ customer ------------ //
ResultDTO getCustomerRecall(Long campaignId, Long customerId);
}
......@@ -12,7 +12,6 @@ import com.viettel.campaign.web.dto.ResultDTO;
import com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.modelmapper.ModelMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -50,6 +49,23 @@ public class CampaignServiceImpl implements CampaignService {
return campaignRepository.findByCampaignCode(requestDTO);
}
@Override
public ResultDTO findByCampaignId(Long campaignId) {
ResultDTO result = new ResultDTO();
Campaign campaign = campaignRepository.findByCampaignId(campaignId);
if (campaign != null) {
result.setErrorCode(Constants.ApiErrorCode.SUCCESS);
result.setErrorCode(Constants.ApiErrorDesc.SUCCESS);
result.setData(campaign);
} else {
result.setErrorCode(Constants.ApiErrorCode.ERROR);
result.setErrorCode(Constants.ApiErrorDesc.ERROR);
}
return result;
}
@Override
public ResultDTO addNewCampaign(CampaignDTO campaignDTO) {
ResultDTO resultDTO = new ResultDTO();
......@@ -58,14 +74,14 @@ public class CampaignServiceImpl implements CampaignService {
try {
campaign = campaignRepository.save(campaign);
//insert sub tables
if(campaignDTO.getCurrentTimeMode().equals(1)){
if (campaignDTO.getCurrentTimeMode().equals(1)) {
timeZoneDialMode.setCompanySiteId(campaignDTO.getCompanySiteId());
timeZoneDialMode.setCampaignId(campaign.getCampaignId());
// timeZoneDialMode.setHour(campaignDTO.getT);
timeZoneDialModeRepository.save(timeZoneDialMode);
}
if(campaignDTO.getCurrentTimeMode().equals(2)) {
if (campaignDTO.getCurrentTimeMode().equals(2)) {
}
resultDTO.setErrorCode(Constants.ApiErrorCode.SUCCESS);
......
package com.viettel.campaign.service.impl;
import com.viettel.campaign.mapper.CustomerListMapper;
import com.viettel.campaign.mapper.CustomerMapper;
import com.viettel.campaign.model.Customer;
import com.viettel.campaign.model.CustomerContact;
import com.viettel.campaign.model.CustomerList;
import com.viettel.campaign.repository.*;
import com.viettel.campaign.service.CustomerService;
import com.viettel.campaign.utils.Constants;
import com.viettel.campaign.utils.DataUtil;
import com.viettel.campaign.utils.HibernateUtil;
import com.viettel.campaign.utils.SQLBuilder;
import com.viettel.campaign.web.dto.CustomerContactDTO;
import com.viettel.campaign.web.dto.CustomerDTO;
import com.viettel.campaign.web.dto.CustomerListDTO;
import com.viettel.campaign.web.dto.ResultDTO;
import com.viettel.campaign.mapper.CustomerMapper;
import com.viettel.campaign.model.Customer;
import com.viettel.campaign.utils.DataUtil;
import com.viettel.campaign.web.dto.request_dto.CampaignCustomerRequestDTO;
import com.viettel.campaign.web.dto.request_dto.DeleteCustomerRequestDTO;
import org.hibernate.SQLQuery;
......@@ -51,6 +52,9 @@ public class CustomerServiceImpl implements CustomerService {
@Autowired
CampaignCustomerListRepository campaignCustomerListRepository;
@Autowired
CampaignCustomerRepository campaignCustomerRepository;
@Autowired
CustomerListMappingRepository customerListMappingRepository;
......@@ -403,20 +407,47 @@ public class CustomerServiceImpl implements CustomerService {
}
@Override
public ResultDTO getCustomerContact(Long customerId, Short contactType, String contact) {
public ResultDTO getCustomerContact(CustomerContactDTO customer) {
ResultDTO result = new ResultDTO();
List<CustomerContact> customer = customerContactRepository.findByCustomerIdAndAndContactTypeAndContact(customerId, contactType, contact);
try {
List<CustomerContact> data = customerContactRepository.findByCustomerIdAndAndContactTypeAndContact(customer.getCustomerId(), customer.getContactType(), customer.getContact(), SQLBuilder.buildPageable(customer));
if (customer != null) {
result.setErrorCode(Constants.ApiErrorCode.SUCCESS);
result.setDescription("customer contact data");
result.setListData(customer);
result.setListData(data);
result.setTotalRow(customerContactRepository.findByCustomerIdAndAndContactTypeAndContact(customer.getCustomerId(), customer.getContactType(), customer.getContact(), null).size());
} else {
result.setErrorCode(Constants.ApiErrorCode.ERROR);
result.setDescription("customer contact data null");
}
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
@Override
public ResultDTO getCustomerRecall(Long campaignId, Long customerId) {
ResultDTO result = new ResultDTO();
try {
Long data = campaignCustomerRepository.getCustomerRecall(campaignId, customerId);
if (data != null) {
result.setErrorCode(Constants.ApiErrorCode.SUCCESS);
result.setDescription("campaign customer data");
result.setData(data);
} else {
result.setErrorCode(Constants.ApiErrorCode.ERROR);
result.setDescription("campaign customer data null");
}
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
}
......@@ -7,7 +7,7 @@ import java.util.Date;
@Getter
@Setter
public class CustomerContactDTO {
public class CustomerContactDTO extends BaseDTO {
private Long contactId;
private Long customerId;
private Short contactType;
......
......@@ -5,6 +5,7 @@ import com.viettel.campaign.web.dto.ResultDTO;
import com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.sleuth.instrument.reactor.ReactorSleuth;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
......@@ -21,7 +22,7 @@ public class CampaignController {
@Autowired
CampaignService campaignService;
@RequestMapping("/searchCampaignExecute")
@PostMapping("/searchCampaignExecute")
@ResponseBody
public ResponseEntity<ResultDTO> searchCampaignExecute(@RequestBody CampaignRequestDTO requestDto) {
ResultDTO result = campaignService.searchCampaignExecute(requestDto);
......@@ -50,4 +51,11 @@ public class CampaignController {
Map result = campaignService.countRecallCustomer(companySiteId, agentId);
return new ResponseEntity<>(result, HttpStatus.OK);
}
@GetMapping("/findByCampaignId")
@ResponseBody
public ResponseEntity findByCampaignId(@RequestParam("campaignId") Long campaignId) {
ResultDTO result = campaignService.findByCampaignId(campaignId);
return new ResponseEntity<>(result, HttpStatus.OK);
}
}
package com.viettel.campaign.web.rest.controller;
import com.viettel.campaign.web.dto.CustomerContactDTO;
import com.viettel.campaign.web.dto.CustomerDTO;
import com.viettel.campaign.web.dto.CustomerListDTO;
import com.viettel.campaign.web.dto.ResultDTO;
......@@ -154,10 +155,17 @@ public class CustomerController {
return new ResponseEntity<>(result, HttpStatus.OK);
}
@GetMapping("/findCustomerContact")
@PostMapping("/findCustomerContact")
@ResponseBody
public ResponseEntity<ResultDTO> findAllCustomerContact(@RequestParam("customerId") Long customerId, @RequestParam("contactType") Short contactType, @RequestParam("contact") String contact) {
ResultDTO result = customerService.getCustomerContact(customerId, contactType, contact);
public ResponseEntity<ResultDTO> findAllCustomerContact(@RequestBody CustomerContactDTO customerContactDTO) {
ResultDTO result = customerService.getCustomerContact(customerContactDTO);
return new ResponseEntity(result, HttpStatus.OK);
}
@GetMapping("/getCustomerRecall")
@ResponseBody
public ResponseEntity<ResultDTO> getCustomerRecall(@RequestParam("campaignId") Long campaignId, @RequestParam("customerId") Long customerId) {
ResultDTO result = customerService.getCustomerRecall(campaignId, customerId);
return new ResponseEntity(result, 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