Commit 7a23f053 authored by Phạm Duy Phi's avatar Phạm Duy Phi

phipd commit

parent e440cc13
......@@ -2,7 +2,6 @@ package com.viettel.campaign.repository.ccms_full;
import com.viettel.campaign.config.DataSourceQualify;
import com.viettel.campaign.model.ccms_full.ContactQuestResult;
import com.viettel.campaign.web.dto.ContactQuestResultDTO;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
......@@ -12,5 +11,5 @@ import java.util.List;
@Repository
@Transactional(DataSourceQualify.CCMS_FULL)
public interface ContactQuestResultRepository extends JpaRepository<ContactQuestResult, Long> {
List<ContactQuestResultDTO> findByCompanySiteIdAndCampaignId(Long companySiteId, Long campaignId);
List<ContactQuestResult> findByCompanySiteIdAndCampaignIdAndCustomerId(Long companySiteId, Long campaignId, Long customerId);
}
......@@ -11,6 +11,8 @@ import java.util.List;
public interface CustomerListMappingRepository extends JpaRepository<CustomerListMapping, Long> {
// ----------- customer ------------ //
@Query("select c from CustomerListMapping c where c.customerId in (:p_ids) and c.customerListId =:p_customer_list_id and c.companySiteId=:p_company_site_id")
List<CustomerListMapping> findAllCustomerListMapping(@Param("p_ids") List<Long> p_ids, @Param("p_customer_list_id") Long p_customer_list_id, @Param("p_company_site_id") Long p_company_site_id);
@Modifying
@Query("delete from CustomerListMapping c where c.customerId=:p_customer_id and c.customerListId=:p_customer_list_id and c.companySiteId=:p_company_site_id")
......
......@@ -122,11 +122,7 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
if (!DataUtil.isNullOrEmpty(requestDto.getCampaignCode()) && !DataUtil.isNullOrEmpty(requestDto.getCampaignCode().trim())) {
if(requestDto.getCampaignCode().split(",").length > 1) {
sb.append(" AND a.CAMPAIGN_CODE IN (:p_code) ");
}else {
sb.append(" AND a.CAMPAIGN_CODE LIKE :p_code ");
}
sb.append(" AND a.CAMPAIGN_CODE IN (:p_code) ");
}
if (!DataUtil.isNullOrEmpty(requestDto.getCampaignName())) {
sb.append(" AND UPPER(a.CAMPAIGN_NAME) LIKE :p_name");
......@@ -169,17 +165,8 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
SQLQuery query = session.createSQLQuery(sb.toString());
if (!DataUtil.isNullOrEmpty(requestDto.getCampaignCode()) && !DataUtil.isNullOrEmpty(requestDto.getCampaignCode().trim())) {
if(requestDto.getCampaignCode().split(",").length > 1) {
String[] lstCode = requestDto.getCampaignCode().trim().split(",");
query.setParameterList("p_code", lstCode);
}else {
query.setParameter("p_code", "%" +
requestDto.getCampaignCode().trim().toUpperCase()
.replace("\\", "\\\\")
.replaceAll("%", "\\%")
.replaceAll("_", "\\_")
+ "%");
}
String[] lstCode = requestDto.getCampaignCode().trim().split(",");
query.setParameterList("p_code", lstCode);
}
if (!DataUtil.isNullOrEmpty(requestDto.getCampaignName())) {
......
package com.viettel.campaign.service;
import com.viettel.campaign.model.ccms_full.ContactQuestResult;
import com.viettel.campaign.model.ccms_full.Scenario;
import com.viettel.campaign.web.dto.*;
import com.viettel.econtact.filter.UserSession;
......@@ -28,4 +29,6 @@ public interface ScenarioService {
XSSFWorkbook buildTemplate() throws IOException;
Map<String, Object> readAndValidateCustomer(String path, Long scenarioId, Long campaignId, Long companySiteId) throws IOException;
List<ContactQuestResult> getContactQuestResult(Long companySiteId, Long campaignId, Long customerId);
}
......@@ -70,8 +70,6 @@ public class ScenarioQuestionServiceImpl implements ScenarioQuestionService {
List<ScenarioAnswerDTO> lstAnswers = new ArrayList<>();
List<ScenarioAnswer> lstAnswersToInsert = new ArrayList<>();
try {
if(scenarioQuestionDTO.getQuestion() != null && scenarioQuestionDTO.getQuestion() != "")
scenarioQuestionDTO.setQuestion(scenarioQuestionDTO.getQuestion().trim());
ScenarioQuestion scenarioQuestion = modelMapper.map(scenarioQuestionDTO, ScenarioQuestion.class);
scenarioQuestion.setCreateTime(new Date());
......
......@@ -247,14 +247,14 @@ public class ScenarioServiceImpl implements ScenarioService {
} catch (Exception e) {
logger.error(e.getMessage());
return null;
} finally {
}finally {
//if (workbook != null) workbook.close();
}
}
@Override
@Transactional(DataSourceQualify.CCMS_FULL)
public Map<String, Object> readAndValidateCustomer(String path, Long scenarioId, Long campaignId, Long companySiteId) throws IOException {
public Map<String, Object> readAndValidateCustomer (String path, Long scenarioId, Long campaignId, Long companySiteId) throws IOException{
Locale locale = new Locale("vi", "VN");
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
Map<String, Object> result = new HashMap<>();
......@@ -371,52 +371,18 @@ public class ScenarioServiceImpl implements ScenarioService {
if (rawDataList.get(i)[0] == null || !DataUtil.isNumber(rawDataList.get(i)[0].toString())) {
sb.append(BundleUtils.getLangString("scenario.questionCode.required"));
}
//question type
if (rawDataList.get(i)[1] == null || rawDataList.get(i)[1].toString().trim().equals("")) {
sb.append(BundleUtils.getLangString("scenario.questionType.required"));
}
if (rawDataList.get(i)[1] != null && !rawDataList.get(i)[1].toString().trim().equals("")) {
if (rawDataList.get(i)[1].toString().trim().equals(BundleUtils.getLangString("scenario.template.singleChoice")) ||
rawDataList.get(i)[1].toString().trim().equals(BundleUtils.getLangString("scenario.template.multiChoice")) ||
rawDataList.get(i)[1].toString().trim().equals(BundleUtils.getLangString("scenario.template.text"))
) {
sb = sb;
} else {
sb.append(BundleUtils.getLangString("scenario.questionType.invalid"));
}
}
//
if (rawDataList.get(i)[2] == null || rawDataList.get(i)[2].toString().trim().equals("")) {
sb.append(BundleUtils.getLangString("scenario.question.required"));
}
//required
if (rawDataList.get(i)[5] == null || rawDataList.get(i)[5].toString().trim().equals("")) {
sb.append(BundleUtils.getLangString("scenario.required.required"));
}
if (rawDataList.get(i)[5] != null && !rawDataList.get(i)[5].toString().trim().equals("")) {
if (rawDataList.get(i)[5].toString().trim().equals(BundleUtils.getLangString("scenario.template.yes")) ||
rawDataList.get(i)[5].toString().trim().equals(BundleUtils.getLangString("scenario.template.no"))
) {
sb = sb;
} else {
sb.append(BundleUtils.getLangString("scenario.required.invalid"));
}
}
//
//default
if (rawDataList.get(i)[6] == null || rawDataList.get(i)[6].toString().trim().equals("")) {
sb.append(BundleUtils.getLangString("scenario.default.required"));
}
if (rawDataList.get(i)[6] != null && !rawDataList.get(i)[6].toString().trim().equals("")) {
if (rawDataList.get(i)[6].toString().trim().equals(BundleUtils.getLangString("scenario.template.yes")) ||
rawDataList.get(i)[6].toString().trim().equals(BundleUtils.getLangString("scenario.template.no"))
) {
sb = sb;
} else {
sb.append(BundleUtils.getLangString("scenario.default.invalid"));
}
}
//
}
//validate answer
......@@ -426,20 +392,9 @@ public class ScenarioServiceImpl implements ScenarioService {
if ((rawDataList.get(i)[3] == null || rawDataList.get(i)[3].toString().trim().equals("")) && (!selectedType.equals(BundleUtils.getLangString("scenario.template.text")))) {
sb.append(BundleUtils.getLangString("scenario.answer.required"));
}
//hash input
if (rawDataList.get(i)[4] == null && rawDataList.get(i)[4].toString().trim().equals("")) {
sb.append(BundleUtils.getLangString("scenario.hashInput.required"));
}
if (rawDataList.get(i)[4] != null && !rawDataList.get(i)[4].toString().trim().equals("")) {
if (rawDataList.get(i)[4].toString().trim().equals(BundleUtils.getLangString("scenario.template.yes")) ||
rawDataList.get(i)[4].toString().trim().equals(BundleUtils.getLangString("scenario.template.no"))
) {
sb = sb;
} else {
sb.append(BundleUtils.getLangString("scenario.hashInput.invalid"));
}
}
//
if ((rawDataList.get(i)[7] != null && !rawDataList.get(i)[7].toString().trim().equals(""))) {
if ((rawDataList.get(i)[7].toString().trim().equals(tmpCurrentQuestionCode)) ||
!validateMappingQuestion(rawDataList.get(i)[7].toString().trim(), tmpCurrentQuestionCode, lstImportQuestionCodes))
......@@ -474,7 +429,7 @@ public class ScenarioServiceImpl implements ScenarioService {
ScenarioQuestion question = questionRepository.findScenarioQuestionByCodeAndCompanySiteId(item.getMappingQuestionCode(), item.getCompanySiteId());
if (question != null) {
ScenarioAnswer answerForUpdate = answerRepository.findScenarioAnswerByCode(item.getCode());
if (answerForUpdate != null) {
if(answerForUpdate != null) {
answerForUpdate.setMappingQuestionId(question.getScenarioQuestionId());
answerRepository.save(answerForUpdate);
}
......@@ -499,13 +454,19 @@ public class ScenarioServiceImpl implements ScenarioService {
} catch (Exception ex) {
logger.info(ex.getMessage(), ex);
result.put("message", BundleUtils.getLangString("customer.errorValidate", locale));
} finally {
}finally {
if (workbook != null) workbook.close();
if (fis != null) fis.close();
if(fis != null) fis.close();
}
return result;
}
@Override
@Transactional(DataSourceQualify.CCMS_FULL)
public List<ContactQuestResult> getContactQuestResult(Long companySiteId, Long campaignId, Long customerId) {
return questResultRepository.findByCompanySiteIdAndCampaignIdAndCustomerId(companySiteId, campaignId, customerId);
}
private boolean validateMappingQuestion(String mappingQuestion, String currentQuestionCode, List<String> lstQuestionCode) {
if (mappingQuestion != null && mappingQuestion.equals(currentQuestionCode)) return false;
......
......@@ -76,9 +76,11 @@ public class CustomerController {
@PostMapping("/delete")
@ResponseBody
public ResultDTO deleteCustomer(@RequestBody @Valid CustomerRequestDTO customerRequestDTO) {
ResultDTO result = new ResultDTO();
result = customerService.deleteCustomer(customerRequestDTO);
return result;
ResultDTO resultDTO = new ResultDTO();
if (customerRequestDTO != null) {
resultDTO = customerService.deleteCustomer(customerRequestDTO);
}
return resultDTO;
}
@PostMapping("/deleteIds")
......
package com.viettel.campaign.web.rest;
import com.viettel.campaign.model.ccms_full.ContactQuestResult;
import com.viettel.campaign.model.ccms_full.Scenario;
import com.viettel.campaign.service.ScenarioService;
import com.viettel.campaign.utils.BundleUtils;
......@@ -36,7 +37,7 @@ import java.util.*;
@RestController
@RequestMapping("/ipcc/campaign/scenario")
@CrossOrigin
@CrossOrigin(origins = "*")
public class ScenarioController {
private static final Logger logger = LoggerFactory.getLogger(ScenarioController.class);
......@@ -147,4 +148,9 @@ public class ScenarioController {
return null;
}
@RequestMapping(value = "/getContactQuestResult", method = RequestMethod.GET)
public List<ContactQuestResult> getContactQuestResult(@RequestParam Long companySiteId, @RequestParam Long campaignId, @RequestParam Long customerId) {
return scenarioService.getContactQuestResult(companySiteId, campaignId, customerId);
}
}
......@@ -138,8 +138,3 @@ scenario.mappingQuestion.invalid="Mapping question invalid"
ok="Imported"
error="Error"
scenario.questionType.invalid="Question type invalid"
scenario.required.invalid="Required field invalid"
scenario.default.invalid="Default field invalid"
scenario.hashInput.invalid="Has input field invalid"
......@@ -141,10 +141,6 @@ scenario.mappingQuestion.invalid="Câu hỏi liên kết không hợp lệ"
ok="Thành công"
error="Thất bại"
scenario.questionType.invalid="Loại câu hỏi không hợp lệ"
scenario.required.invalid="Giá trị rường bắt buộc không hợp lệ"
scenario.default.invalid="Giá trị trường mặc định không hợp lệ"
scenario.hashInput.invalid="Giá trị nhập text không hợp lệ"
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