Commit 6dd7b73d authored by Tu Bach's avatar Tu Bach

Merge branch 'master' into tubn

parents a66d2070 2373c0c4
...@@ -72,8 +72,8 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom { ...@@ -72,8 +72,8 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
sb.append(" a.CAMPAIGN_TYPE campaignType,"); sb.append(" a.CAMPAIGN_TYPE campaignType,");
sb.append(" (SELECT PAR_NAME FROM AP_PARAM WHERE STATUS = 1 AND PAR_TYPE = 'CAMPAIGN_TYPE' AND PAR_VALUE = a.CAMPAIGN_TYPE) campaignTypeName,"); sb.append(" (SELECT PAR_NAME FROM AP_PARAM WHERE STATUS = 1 AND PAR_TYPE = 'CAMPAIGN_TYPE' AND PAR_VALUE = a.CAMPAIGN_TYPE) campaignTypeName,");
sb.append(" a.CHANEL chanel,"); sb.append(" a.CHANEL chanel,");
sb.append(" a.START_TIME startTime,"); sb.append(" (a.START_TIME + (:p_timezone_offset / 60)/24) startTime,");
sb.append(" a.END_TIME endTime,"); sb.append(" (a.END_TIME + (:p_timezone_offset / 60)/24) endTime,");
sb.append(" a.CUSTOMER_NUMBER customerNumber,"); sb.append(" a.CUSTOMER_NUMBER customerNumber,");
sb.append(" a.STATUS status,"); sb.append(" a.STATUS status,");
sb.append(" a.CUSTOMER_NUMBER cusNum,"); sb.append(" a.CUSTOMER_NUMBER cusNum,");
...@@ -175,6 +175,8 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom { ...@@ -175,6 +175,8 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
query.setParameter("p_company_site_id", requestDto.getCompanySiteId()); query.setParameter("p_company_site_id", requestDto.getCompanySiteId());
query.setParameter("p_timezone_offset", requestDto.getTimezoneOffset());
if (!DataUtil.isNullOrEmpty(requestDto.getStatuses())) { if (!DataUtil.isNullOrEmpty(requestDto.getStatuses())) {
String[] statuses = requestDto.getStatuses().split(","); String[] statuses = requestDto.getStatuses().split(",");
query.setParameterList("p_statuses", statuses); query.setParameterList("p_statuses", statuses);
......
...@@ -25,7 +25,7 @@ public interface CampaignService { ...@@ -25,7 +25,7 @@ public interface CampaignService {
Campaign updateProcess(Campaign c); Campaign updateProcess(Campaign c);
ResultDTO findByCampaignId(Long campaignId); ResultDTO findByCampaignId(Long campaignId, Integer offSet);
ResultDTO addNewCampaign(CampaignDTO campaignDTO); ResultDTO addNewCampaign(CampaignDTO campaignDTO);
......
...@@ -20,6 +20,8 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -20,6 +20,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
//import com.viettel.campaign.model.UserActionLog; //import com.viettel.campaign.model.UserActionLog;
...@@ -104,11 +106,13 @@ public class CampaignServiceImpl implements CampaignService { ...@@ -104,11 +106,13 @@ public class CampaignServiceImpl implements CampaignService {
@Override @Override
@Transactional(DataSourceQualify.CCMS_FULL) @Transactional(DataSourceQualify.CCMS_FULL)
public ResultDTO findByCampaignId(Long campaignId) { public ResultDTO findByCampaignId(Long campaignId, Integer offSet) {
ResultDTO result = new ResultDTO(); ResultDTO result = new ResultDTO();
Campaign campaign = campaignRepository.findByCampaignId(campaignId); Campaign campaign = campaignRepository.findByCampaignId(campaignId);
if (campaign != null) { if (campaign != null) {
campaign.setStartTime(DateTimeUtil.addHoursToJavaUtilDate(campaign.getStartTime(), offSet/60) );
campaign.setEndTime(DateTimeUtil.addHoursToJavaUtilDate(campaign.getEndTime(), offSet/60));
result.setErrorCode(Constants.ApiErrorCode.SUCCESS); result.setErrorCode(Constants.ApiErrorCode.SUCCESS);
result.setDescription(Constants.ApiErrorDesc.SUCCESS); result.setDescription(Constants.ApiErrorDesc.SUCCESS);
result.setData(campaign); result.setData(campaign);
...@@ -127,6 +131,9 @@ public class CampaignServiceImpl implements CampaignService { ...@@ -127,6 +131,9 @@ public class CampaignServiceImpl implements CampaignService {
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
campaignDTO.setCampaignName(campaignDTO.getCampaignName().trim()); campaignDTO.setCampaignName(campaignDTO.getCampaignName().trim());
campaignDTO.setContent(campaignDTO.getContent().trim()); campaignDTO.setContent(campaignDTO.getContent().trim());
campaignDTO.setStartTime(TimeZoneUtils.changeTimeZone(campaignDTO.getStartTime(), 0L));
campaignDTO.setEndTime(TimeZoneUtils.changeTimeZone(campaignDTO.getEndTime(), 0L));
campaignDTO.setCreateTime(new Date());
Campaign campaign = modelMapper.map(campaignDTO, Campaign.class); Campaign campaign = modelMapper.map(campaignDTO, Campaign.class);
Long campaignId; Long campaignId;
List<TimeZoneDialModeDTO> timeZoneDialModes = new ArrayList<>(); List<TimeZoneDialModeDTO> timeZoneDialModes = new ArrayList<>();
...@@ -353,7 +360,7 @@ public class CampaignServiceImpl implements CampaignService { ...@@ -353,7 +360,7 @@ public class CampaignServiceImpl implements CampaignService {
entity.setStatus(campaignDTO.getStatus().longValue()); entity.setStatus(campaignDTO.getStatus().longValue());
entity.setUpdateTime(new Date()); entity.setUpdateTime(new Date());
entity.setUpdateBy(campaignDTO.getUpdateBy()); entity.setUpdateBy(campaignDTO.getUpdateBy());
entity.setEndTime(campaignDTO.getEndTime()); entity.setEndTime(TimeZoneUtils.changeTimeZone(campaignDTO.getEndTime(), 0L));
//campaignRepository.save(entity); //campaignRepository.save(entity);
...@@ -391,8 +398,8 @@ public class CampaignServiceImpl implements CampaignService { ...@@ -391,8 +398,8 @@ public class CampaignServiceImpl implements CampaignService {
campaignEntity.setCampaignCode(dto.getCampaignCode()); campaignEntity.setCampaignCode(dto.getCampaignCode());
campaignEntity.setContent(dto.getContent()); campaignEntity.setContent(dto.getContent());
campaignEntity.setCustomerNumber(dto.getCustomerNumber()); campaignEntity.setCustomerNumber(dto.getCustomerNumber());
campaignEntity.setStartTime(dto.getStartTime()); campaignEntity.setStartTime(TimeZoneUtils.changeTimeZone(dto.getStartTime(), 0L));
campaignEntity.setEndTime(dto.getEndTime()); campaignEntity.setEndTime(TimeZoneUtils.changeTimeZone(dto.getEndTime(), 0L));
campaignEntity.setMaxRecall(dto.getMaxRecall()); campaignEntity.setMaxRecall(dto.getMaxRecall());
campaignEntity.setRecallType(dto.getRecallType()); campaignEntity.setRecallType(dto.getRecallType());
campaignEntity.setRecallDuration(dto.getRecallDuration()); campaignEntity.setRecallDuration(dto.getRecallDuration());
......
...@@ -598,7 +598,7 @@ public class CustomerServiceImpl implements CustomerService { ...@@ -598,7 +598,7 @@ public class CustomerServiceImpl implements CustomerService {
} else if (validateNumberOnly(rawDataList.get(i)[headerMap.get(BundleUtils.getLangString("customer.mainPhone", locale).split("#")[0])].toString().trim())) { } else if (validateNumberOnly(rawDataList.get(i)[headerMap.get(BundleUtils.getLangString("customer.mainPhone", locale).split("#")[0])].toString().trim())) {
sb.append(validateExistPhone(rawDataList.get(i)[headerMap.get(BundleUtils.getLangString("customer.mainPhone", locale).split("#")[0])].toString().trim(), locale, true)); sb.append(validateExistPhone(rawDataList.get(i)[headerMap.get(BundleUtils.getLangString("customer.mainPhone", locale).split("#")[0])].toString().trim(), locale, true));
} else { } else {
sb.append(BundleUtils.getLangString("customer.onlyNumber", locale)); // sb.append(BundleUtils.getLangString("customer.onlyNumber", locale));
} }
} }
if (rawDataList.get(i).length > headerMap.get(BundleUtils.getLangString("customer.secondPhone", locale).split("#")[0]) && (rawDataList.get(i)[headerMap.get(BundleUtils.getLangString("customer.secondPhone", locale).split("#")[0])] == null || rawDataList.get(i)[headerMap.get(BundleUtils.getLangString("customer.secondPhone", locale).split("#")[0])].toString().trim().equals(""))) { if (rawDataList.get(i).length > headerMap.get(BundleUtils.getLangString("customer.secondPhone", locale).split("#")[0]) && (rawDataList.get(i)[headerMap.get(BundleUtils.getLangString("customer.secondPhone", locale).split("#")[0])] == null || rawDataList.get(i)[headerMap.get(BundleUtils.getLangString("customer.secondPhone", locale).split("#")[0])].toString().trim().equals(""))) {
...@@ -610,7 +610,7 @@ public class CustomerServiceImpl implements CustomerService { ...@@ -610,7 +610,7 @@ public class CustomerServiceImpl implements CustomerService {
} else if (validateNumberOnly(rawDataList.get(i)[headerMap.get(BundleUtils.getLangString("customer.secondPhone", locale).split("#")[0])].toString().trim())) { } else if (validateNumberOnly(rawDataList.get(i)[headerMap.get(BundleUtils.getLangString("customer.secondPhone", locale).split("#")[0])].toString().trim())) {
sb.append(validateExistPhone(rawDataList.get(i)[headerMap.get(BundleUtils.getLangString("customer.secondPhone", locale).split("#")[0])].toString(), locale, false)); sb.append(validateExistPhone(rawDataList.get(i)[headerMap.get(BundleUtils.getLangString("customer.secondPhone", locale).split("#")[0])].toString(), locale, false));
} else { } else {
sb.append(BundleUtils.getLangString("customer.onlyNumber", locale)); // sb.append(BundleUtils.getLangString("customer.onlyNumber", locale));
} }
} }
if (rawDataList.get(i).length > headerMap.get(BundleUtils.getLangString("customer.email", locale).split("#")[0]) if (rawDataList.get(i).length > headerMap.get(BundleUtils.getLangString("customer.email", locale).split("#")[0])
......
...@@ -2,11 +2,13 @@ package com.viettel.campaign.utils; ...@@ -2,11 +2,13 @@ package com.viettel.campaign.utils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.logging.log4j.util.Strings; import org.apache.logging.log4j.util.Strings;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat; import org.joda.time.format.DateTimeFormat;
import org.quartz.CronExpression; import org.quartz.CronExpression;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.TimeZone; import java.util.TimeZone;
import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicReference;
...@@ -126,4 +128,11 @@ public final class DateTimeUtil { ...@@ -126,4 +128,11 @@ public final class DateTimeUtil {
return isOk; return isOk;
} }
public static Date addHoursToJavaUtilDate(Date date, int hours) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.HOUR_OF_DAY, hours);
return calendar.getTime();
}
} }
...@@ -149,6 +149,11 @@ public class TimeZoneUtils { ...@@ -149,6 +149,11 @@ public class TimeZoneUtils {
System.out.println(changeTimeZone(date, 0l)); System.out.println(changeTimeZone(date, 0l));
System.out.println(getZone(0l)); System.out.println(getZone(0l));
TimeZone tzClient = TimeZoneUtils.getZoneMinutes((long) 420);
System.out.println(tzClient);
} }
} }
...@@ -51,8 +51,8 @@ public class CampaignController { ...@@ -51,8 +51,8 @@ public class CampaignController {
@GetMapping("/findByCampaignId") @GetMapping("/findByCampaignId")
@ResponseBody @ResponseBody
public ResponseEntity findByCampaignId(@RequestParam("campaignId") Long campaignId) { public ResponseEntity findByCampaignId(@RequestParam("campaignId") Long campaignId, @RequestParam("offSet") Integer offSet) {
ResultDTO result = campaignService.findByCampaignId(campaignId); ResultDTO result = campaignService.findByCampaignId(campaignId, offSet);
return new ResponseEntity<>(result, HttpStatus.OK); 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