Commit 338033d7 authored by đinh thị đầm's avatar đinh thị đầm

searchCustomize

parent ce797e37
...@@ -86,6 +86,6 @@ public interface CustomerService { ...@@ -86,6 +86,6 @@ public interface CustomerService {
//// List<CustomizeFields> searchCustomize(); //// List<CustomizeFields> searchCustomize();
ResultDTO listCustomizeFields(CustomizeFieldsDTO customizeFields); ResultDTO listCustomizeFields(CustomizeFieldsDTO customizeFields);
ResultDTO searchCustomizeFields(int page, int pageSize, long companySiteId, long campaignId, CustomerQueryDTO customerQueryDTO); ResultDTO searchCustomizeFields(CampaignCustomerDTO campaignCustomerDTO);
} }
...@@ -1761,44 +1761,6 @@ public class CustomerServiceImpl implements CustomerService { ...@@ -1761,44 +1761,6 @@ public class CustomerServiceImpl implements CustomerService {
lstCustomizeFields.add(datafill); lstCustomizeFields.add(datafill);
} }
// try {
// stringBuilder.append(" with column_name_temp as (");
// stringBuilder.append(" select 'CUSTOMER_ID customerId' , from user_tab_columns, dual");
// stringBuilder.append(" union all");
// stringBuilder.append(" select 'CUSTOMER_NAME customerName' , from user_tab_columns, dual");
// stringBuilder.append(" union all");
// stringBuilder.append(" select 'CUSTOMER_TYPE customerType' , from user_tab_columns, dual");
// stringBuilder.append(" union all");
// stringBuilder.append(" select 'NAME name' , from user_tab_columns, dual");
// stringBuilder.append(" union all");
// stringBuilder.append(" select 'CURRENT_ADDRESS currentAddress', from user_tab_columns, dual");
// stringBuilder.append(" union all");
// stringBuilder.append(" select 'PLACE_OF_BIRTH placeOfBirth', from user_tab_columns, dual");
// stringBuilder.append(" union all");
// stringBuilder.append(" select 'DATE_OF_BIRTH dateOfBirth', from user_tab_columns, dual");
// stringBuilder.append(" union all");
// stringBuilder.append(" select 'MOBILE_NUMBER mobileNumber', from user_tab_columns, dual");
// stringBuilder.append(" union all");
// stringBuilder.append(" select 'EMAIL email', from user_tab_columns, dual");
// stringBuilder.append(" union all");
// stringBuilder.append(" select 'USERNAME username', from user_tab_columns, dual");
// stringBuilder.append(" union all");
// stringBuilder.append(" select 'CUSTOMER_TYPE customerType', from user_tab_columns, dual");
// stringBuilder.append(" where table_name = 'CUSTOMER'");
// stringBuilder.append(" )");
//
// stringBuilder.append(" select * from column_name_temp");
// stringBuilder.append(" union all");
// stringBuilder.append(" select title columnName, 0 isFix ");
// stringBuilder.append(" from customize_fields, dual");
// stringBuilder.append(" where function_code = 'CUSTOMER'");
// stringBuilder.append(" and site_id = :p_company_site_id");
// stringBuilder.append(" and STATUS = 1");
// stringBuilder.append(" and active = 1 ");
// params.put("p_company_site_id", customizeFields.getSiteId());
// params.put("p_customer_id", customizeFields.getCustomerId());
// LOGGER.info("SQL statement: " + stringBuilder);
// list = namedParameterJdbcTemplate.query(stringBuilder.toString(), params, BeanPropertyRowMapper.newInstance(CustomizeFielObjectDTO.class));
resultDTO.setErrorCode(Constants.ApiErrorCode.SUCCESS); resultDTO.setErrorCode(Constants.ApiErrorCode.SUCCESS);
resultDTO.setDescription(Constants.ApiErrorDesc.SUCCESS); resultDTO.setDescription(Constants.ApiErrorDesc.SUCCESS);
resultDTO.setListData(lstCustomizeFields); resultDTO.setListData(lstCustomizeFields);
...@@ -1812,19 +1774,21 @@ public class CustomerServiceImpl implements CustomerService { ...@@ -1812,19 +1774,21 @@ public class CustomerServiceImpl implements CustomerService {
} }
@Override @Override
public ResultDTO searchCustomizeFields(int page, int pageSize, long SiteId, long campaignId, CustomerQueryDTO customerQueryDTO) { @Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO searchCustomizeFields(CampaignCustomerDTO campaignCustomerDTO) {
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
SessionFactory sessionFactory = HibernateUtil.getSessionFactory(); SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session session = sessionFactory.openSession(); Session session = sessionFactory.openSession();
session.beginTransaction(); session.beginTransaction();
if (DataUtil.isNullOrZero(SiteId)) { // if (DataUtil.isNullOrZero(customizeFieldsDTO.getSiteId())) {
resultDTO.setErrorCode(Constants.ApiErrorCode.ERROR); // resultDTO.setErrorCode(Constants.ApiErrorCode.ERROR);
resultDTO.setDescription(Constants.ApiErrorDesc.ERROR); // resultDTO.setDescription(Constants.ApiErrorDesc.ERROR);
return resultDTO; // return resultDTO;
} // }
try { try {
...@@ -1841,90 +1805,65 @@ public class CustomerServiceImpl implements CustomerService { ...@@ -1841,90 +1805,65 @@ public class CustomerServiceImpl implements CustomerService {
sb.append(" C.CUSTOMER_TYPE customerType,"); sb.append(" C.CUSTOMER_TYPE customerType,");
sb.append(" C.COMPANY_NAME companyName,"); sb.append(" C.COMPANY_NAME companyName,");
sb.append(" C.PLACE_OF_BIRTH placeOfBirth,"); sb.append(" C.PLACE_OF_BIRTH placeOfBirth,");
sb.append(" C.CUSTOMER_TYPE customerType,");
sb.append(" C.EMAIL email,"); sb.append(" C.EMAIL email,");
sb.append(" C.USERNAME username,");
sb.append(" C.NAME name,");
sb.append(" C.MOBILE_NUMBER mobileNumber,"); sb.append(" C.MOBILE_NUMBER mobileNumber,");
sb.append(" C.STATUS status,"); sb.append(" C.STATUS status,");
sb.append(" C.SITE_ID siteId,"); sb.append(" C.SITE_ID siteId,");
sb.append(" CF.FUNCTION_CODE functionCode,"); sb.append(" CF.FUNCTION_CODE functionCode,");
sb.append(" CFO.ACTIVE active,"); sb.append(" CF.ACTIVE active,");
sb.append(" CFO.*"); sb.append(" CFO.*");
sb.append("FROM CUSTOMER C"); sb.append(" FROM CUSTOMER C");
sb.append(" INNER JOIN CUSTOMIZE_FIELD_OBJECT CFO ON C.CUSTOMER_ID = CFO.OBJECT_ID"); sb.append(" INNER JOIN CUSTOMIZE_FIELD_OBJECT CFO ON C.CUSTOMER_ID = CFO.OBJECT_ID");
sb.append(" INNER JOIN CUSTOMIZE_FIELDS CF ON CF.CUSTOMIZE_FIELD_ID = CFO.CUSTOMIZE_FIELDS_ID\n" + sb.append(" INNER JOIN CUSTOMIZE_FIELDS CF ON CF.CUSTOMIZE_FIELD_ID = CFO.CUSTOMIZE_FIELDS_ID\n" +
"WHERE 1 = 1"); " WHERE 1 = 1");
sb.append(" and CFO.STATUS = 1"); sb.append(" and CFO.STATUS = 1");
sb.append(" and active = 1 "); sb.append(" and active = 1 ");
sb.append(" and CF.FUNCTION_CODE = 'CUSTOMER' "); sb.append(" and CF.FUNCTION_CODE = 'CUSTOMER' ");
List<CustomerQueryDTO> queryCustomer = new ArrayList<>();
for (int i = 0; i < queryCustomer.size(); i++) {
sb.append(queryCustomer.get(i).getJoin() + " " + for (int i = 0; i < campaignCustomerDTO.getListQuery().size(); i++) {
queryCustomer.get(i).getOperator() + " " + queryCustomer.get(i).getField() + " " + queryCustomer.get(i).getCondition());
}
sb.append( campaignCustomerDTO.getListQuery().get(i).getJoin() + " "
+ campaignCustomerDTO.getListQuery().get(i).getField() + " "
+ campaignCustomerDTO.getListQuery().get(i).getOperator() + " "
+ campaignCustomerDTO.getListQuery().get(i).getCondition());
}
SQLQuery query = session.createSQLQuery(sb.toString()); SQLQuery query = session.createSQLQuery(sb.toString());
query.addScalar("customerId", new LongType());
// query.setParameter("p_company_site_id", companySiteId);
// query.setParameter("p_customer_list_id", customerListId);
//
// if (!DataUtil.isNullOrEmpty(name)) {
// query.setParameter("p_name", "%" +
// name.replace("\\", "\\\\")
// .replaceAll("%", "\\%")
// .replaceAll("_", "\\_")
// + "%");
// }
//
// if (!DataUtil.isNullOrEmpty(mobileNumber)) {
// query.setParameter("p_mobile_number", "%" +
// mobileNumber.replace("\\", "\\\\")
// .replaceAll("%", "\\%")
// .replaceAll("_", "\\_")
// + "%");
// }
//
// if (!DataUtil.isNullOrEmpty(email)) {
// query.setParameter("p_email", "%" +
// email.replace("\\", "\\\\")
// .replaceAll("%", "\\%")
// .replaceAll("_", "\\_")
// + "%");
// }
query.addScalar("customerID", new LongType());
query.addScalar("name", new StringType());
query.addScalar("username", new StringType());
query.addScalar("name", new StringType()); query.addScalar("name", new StringType());
query.addScalar("description", new StringType()); query.addScalar("userName", new StringType());
query.addScalar("companyName", new StringType()); query.addScalar("companyName", new StringType());
query.addScalar("customerType", new StringType()); query.addScalar("customerType", new LongType());
query.addScalar("currentAddress", new StringType()); query.addScalar("currentAddress", new StringType());
query.addScalar("mobileNumber", new StringType()); query.addScalar("mobileNumber", new StringType());
query.addScalar("email", new StringType()); query.addScalar("email", new StringType());
query.addScalar("placeOfBirth",new StringType());
query.addScalar("dateOfBirth", new DateType());
query.addScalar("status", new ShortType());
query.addScalar("siteId",new LongType());
query.addScalar("active",new StringType());
query.setResultTransformer(Transformers.aliasToBean(CustomizeRequestDTo.class)); query.setResultTransformer(Transformers.aliasToBean(CampaignCustomerDTO.class));
int count = 0; int count = 0;
List<CustomerCustomDTO> dtoList = query.list(); List<CampaignCustomerDTO> dtoList = query.list();
if (dtoList.size() > 0) { if (dtoList.size() > 0) {
count = query.list().size(); count = query.list().size();
} }
Pageable pageable = PageRequest.of(page, pageSize); Pageable pageable = PageRequest.of( campaignCustomerDTO.getPage(), campaignCustomerDTO.getPageSize());
if (pageable != null) { if (pageable != null) {
query.setFirstResult(pageable.getPageNumber() * pageable.getPageSize()); query.setFirstResult(pageable.getPageNumber() * pageable.getPageSize());
query.setMaxResults(pageable.getPageSize()); query.setMaxResults(pageable.getPageSize());
} }
List<CustomerCustomDTO> data = query.list(); List<CampaignCustomerDTO> data = query.list();
Page<CustomerCustomDTO> dataPage = new PageImpl<>(data, pageable, count); Page<CampaignCustomerDTO> dataPage = new PageImpl<>(data, pageable, count);
resultDTO.setData(dataPage); resultDTO.setData(dataPage);
resultDTO.setErrorCode(Constants.ApiErrorCode.SUCCESS); resultDTO.setErrorCode(Constants.ApiErrorCode.SUCCESS);
resultDTO.setDescription(Constants.ApiErrorDesc.SUCCESS); resultDTO.setDescription(Constants.ApiErrorDesc.SUCCESS);
} catch (Exception e) { } catch (Exception e) {
LOGGER.error(e.getMessage(), e);
resultDTO.setErrorCode(Constants.ApiErrorCode.ERROR); resultDTO.setErrorCode(Constants.ApiErrorCode.ERROR);
resultDTO.setDescription(Constants.ApiErrorDesc.ERROR); resultDTO.setDescription(Constants.ApiErrorDesc.ERROR);
} finally { } finally {
......
package com.viettel.campaign.web.dto; package com.viettel.campaign.web.dto;
import com.viettel.campaign.web.dto.request_dto.CustomerQueryDTO;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import java.util.Date; import java.util.Date;
import java.util.List;
@Getter @Getter
@Setter @Setter
...@@ -27,4 +29,7 @@ public class CampaignCustomerDTO extends BaseDTO{ ...@@ -27,4 +29,7 @@ public class CampaignCustomerDTO extends BaseDTO{
private Long companySiteId; private Long companySiteId;
private Long complainId; private Long complainId;
private String lstCustomerId; private String lstCustomerId;
private List<CustomerQueryDTO> listQuery;
} }
package com.viettel.campaign.web.dto; package com.viettel.campaign.web.dto;
import com.viettel.campaign.web.dto.request_dto.CustomerQueryDTO;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import java.util.Date; import java.util.Date;
import java.util.List;
@Getter @Getter
@Setter @Setter
...@@ -29,4 +31,5 @@ public class CustomizeFieldsDTO extends BaseDTO { ...@@ -29,4 +31,5 @@ public class CustomizeFieldsDTO extends BaseDTO {
private Long min; private Long min;
private Long max; private Long max;
private Long active; private Long active;
} }
...@@ -11,4 +11,5 @@ public class CustomerQueryDTO extends BaseDTO { ...@@ -11,4 +11,5 @@ public class CustomerQueryDTO extends BaseDTO {
String field; String field;
String operator; String operator;
String condition; String condition;
} }
...@@ -12,6 +12,7 @@ import com.viettel.campaign.utils.Config; ...@@ -12,6 +12,7 @@ import com.viettel.campaign.utils.Config;
import com.viettel.campaign.utils.Constants; import com.viettel.campaign.utils.Constants;
import com.viettel.campaign.utils.RedisUtil; 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.CustomerQueryDTO;
import com.viettel.campaign.web.dto.request_dto.CustomerRequestDTO; import com.viettel.campaign.web.dto.request_dto.CustomerRequestDTO;
import com.viettel.campaign.web.dto.request_dto.CustomizeRequestDTo; import com.viettel.campaign.web.dto.request_dto.CustomizeRequestDTo;
import com.viettel.campaign.web.dto.request_dto.SearchCustomerRequestDTO; import com.viettel.campaign.web.dto.request_dto.SearchCustomerRequestDTO;
...@@ -308,4 +309,13 @@ public class CustomerController { ...@@ -308,4 +309,13 @@ public class CustomerController {
ResultDTO resultDTO = customerService.listCustomizeFields(customizeRequestDTo); ResultDTO resultDTO = customerService.listCustomizeFields(customizeRequestDTo);
return new ResponseEntity<>(resultDTO, HttpStatus.OK); return new ResponseEntity<>(resultDTO, HttpStatus.OK);
} }
@PostMapping("/searchCustomizeFields")
@ResponseBody
public ResponseEntity searchCustomizeFields(@RequestBody CampaignCustomerDTO campaignCustomerDTO ) {
ResultDTO result = customerService.searchCustomizeFields(campaignCustomerDTO);
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