Commit c85abdcb authored by đinh thị đầm's avatar đinh thị đầm
parents 19861c0d 2ae0ae71
package com.viettel.campaign.repository.ccms_full;
import com.viettel.campaign.web.dto.request_dto.CampaignCustomerListColumnRequestDTO;
import java.util.List;
public interface CampaignCustomerListColumnRepositoryCustom {
List<CampaignCustomerListColumnRequestDTO> getCustomerInfor(Long companySiteId, Long customerId, Long campaignId);
}
package com.viettel.campaign.repository.ccms_full.impl;
import com.viettel.campaign.repository.ccms_full.CampaignCustomerListColumnRepositoryCustom;
import com.viettel.campaign.utils.Constants;
import com.viettel.campaign.utils.HibernateUtil;
import com.viettel.campaign.web.dto.ResultDTO;
import com.viettel.campaign.web.dto.request_dto.CampaignCustomerListColumnRequestDTO;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.transform.Transformers;
import org.hibernate.type.DateType;
import org.hibernate.type.LongType;
import org.hibernate.type.ShortType;
import org.hibernate.type.StringType;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import java.util.List;
@Repository
public class CampaignCustomerListColumnRepositoryImpl implements CampaignCustomerListColumnRepositoryCustom {
@Override
public List<CampaignCustomerListColumnRequestDTO> getCustomerInfor(Long companySiteId, Long customerId, Long campaignId) {
ResultDTO result = new ResultDTO();
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
List<CampaignCustomerListColumnRequestDTO> data = new ArrayList<>();
Session session = sessionFactory.openSession();
session.beginTransaction();
try {
StringBuilder sb = new StringBuilder();
sb.append("SELECT");
sb.append(" a.CUSTOMIZE_FIELD_TITLE customizeFieldTitle,");
sb.append(" b.VALUE_TEXT valueText,");
sb.append(" b.VALUE_NUMBER valueNumber,");
sb.append(" b.VALUE_DATE valueDate,");
sb.append(" b.VALUE_CHECKBOX valueCheckbox,");
sb.append(" c.TYPE type,");
sb.append(" d.NAME valueCombobox");
sb.append(" FROM CAMPAIGN_CUSTOMERLIST_COLUMN a");
sb.append(" JOIN CUSTOMIZE_FIELD_OBJECT b");
sb.append(" ON a.CUSTOMIZE_FIELD_ID = b.CUSTOMIZE_FIELDS_ID");
sb.append(" JOIN CUSTOMIZE_FIELDS c");
sb.append(" ON a.CUSTOMIZE_FIELD_ID = c.CUSTOMIZE_FIELD_ID");
sb.append(" LEFT JOIN CUSTOMIZE_FIELD_OPTION_VALUE d");
sb.append(" ON b.FIELD_OPTION_VALUE_ID = d.FIELD_OPTION_VALUE_ID");
sb.append(" WHERE 1 = 1");
sb.append(" AND b.FUNCTION_CODE = 'CUSTOMER'");
sb.append(" AND a.COMPANY_SITE_ID = :p_company_site_id");
sb.append(" AND b.OBJECT_ID = :p_customer_id");
sb.append(" AND a.CAMPAIGN_ID = :p_campaign_id");
SQLQuery query = session.createSQLQuery(sb.toString());
query.setParameter("p_company_site_id", companySiteId);
query.setParameter("p_customer_id", customerId);
query.setParameter("p_campaign_id", campaignId);
query.addScalar("customizeFieldTitle", new StringType());
query.addScalar("valueText", new StringType());
query.addScalar("valueNumber", new LongType());
query.addScalar("valueDate", new DateType());
query.addScalar("valueCheckbox", new ShortType());
query.addScalar("type", new StringType());
query.addScalar("valueCombobox", new StringType());
query.setResultTransformer(Transformers.aliasToBean(CampaignCustomerListColumnRequestDTO.class));
data = query.list();
} catch (Exception e) {
result.setErrorCode(Constants.ApiErrorCode.ERROR);
result.setDescription(Constants.ApiErrorDesc.ERROR);
} finally {
session.close();
}
return data;
}
}
......@@ -43,4 +43,6 @@ public interface CampaignExecuteService {
ResultDTO countRecallCustomer(Long companySiteId, Long agentId);
ResultDTO getCustomerRecall(Long campaignId, Long customerId);
ResultDTO getCustomerInfor(Long companySiteId, Long customerId, Long campaignId);
}
......@@ -221,7 +221,13 @@ public class AgentsServiceImpl implements AgentsService {
try {
if (campaignAgentDTO != null) {
// insert
campaignAgent = campaignAgentMapper.toPersistenceBean(campaignAgentDTO);
campaignAgent.setAgentId(campaignAgentDTO.getAgentId());
campaignAgent.setStatus(0);
campaignAgent.setReSchedule(0L);
campaignAgent.setFilterType((short) 0);
campaignAgent.setCompanySiteId(campaignAgentDTO.getCompanySiteId());
campaignAgent.setCampaignId(campaignAgentDTO.getCampaignId());
campaignAgentRepository.save(campaignAgent);
resultDTO.setErrorCode(Constants.ApiErrorCode.SUCCESS);
......
......@@ -8,11 +8,9 @@ import com.viettel.campaign.model.ccms_full.ReceiveCustLog;
import com.viettel.campaign.repository.acd_full.AgentsRepository;
import com.viettel.campaign.repository.ccms_full.*;
import com.viettel.campaign.service.CampaignExecuteService;
import com.viettel.campaign.utils.BundleUtils;
import com.viettel.campaign.utils.Constants;
import com.viettel.campaign.utils.RedisUtil;
import com.viettel.campaign.utils.SQLBuilder;
import com.viettel.campaign.utils.*;
import com.viettel.campaign.web.dto.*;
import com.viettel.campaign.web.dto.request_dto.CampaignCustomerListColumnRequestDTO;
import com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO;
import com.viettel.econtact.filter.UserSession;
import org.apache.poi.ss.usermodel.*;
......@@ -64,6 +62,9 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
@Autowired
TimeRangeDialModeRepository rangeDialModeRepository;
@Autowired
CampaignCustomerListColumnRepositoryCustom campaignCustomerListColumnRepositoryCustom;
//<editor-fold: hungtt>
@Override
@Transactional(DataSourceQualify.CCMS_FULL)
......@@ -576,4 +577,26 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
return resultDTO;
}
@Override
public ResultDTO getCustomerInfor(Long companySiteId, Long customerId, Long campaignId) {
ResultDTO resultDTO = new ResultDTO();
if (DataUtil.isNullOrZero(companySiteId)) {
resultDTO.setErrorCode(Constants.ApiErrorCode.ERROR);
resultDTO.setDescription(Constants.ApiErrorDesc.ERROR);
return resultDTO;
}
try {
List<CampaignCustomerListColumnRequestDTO> data = campaignCustomerListColumnRepositoryCustom.getCustomerInfor(companySiteId, customerId, campaignId);
resultDTO.setErrorCode(Constants.ApiErrorCode.SUCCESS);
resultDTO.setDescription(Constants.ApiErrorDesc.SUCCESS);
resultDTO.setData(data);
} catch (Exception e) {
resultDTO.setErrorCode(Constants.ApiErrorCode.ERROR);
resultDTO.setDescription(Constants.ApiErrorDesc.ERROR);
}
return resultDTO;
}
}
package com.viettel.campaign.web.dto.request_dto;
import lombok.Getter;
import lombok.Setter;
import java.util.Date;
@Getter
@Setter
public class CampaignCustomerListColumnRequestDTO {
private String customizeFieldTitle;
private String valueText;
private Long valueNumber;
private Date valueDate;
private Short valueCheckbox;
private String type;
private String valueCombobox;
}
......@@ -311,6 +311,13 @@ public class CampaignController {
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)
public ResponseEntity<?> importFile(@RequestParam("file") MultipartFile file,
@RequestHeader("X-Auth-Token") String authToken) {
......
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