Commit 52b3bc98 authored by Vu Duy Anh's avatar Vu Duy Anh

anhvd commit TimeRangedial + TimeZoneDial

parent 499eb4dc
...@@ -208,5 +208,6 @@ ...@@ -208,5 +208,6 @@
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.9.8" level="project" /> <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.9.8" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.9.8" level="project" /> <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.9.8" level="project" />
<orderEntry type="library" name="Maven: joda-time:joda-time:2.9.9" level="project" /> <orderEntry type="library" name="Maven: joda-time:joda-time:2.9.9" level="project" />
<orderEntry type="library" name="Maven: org.modelmapper:modelmapper:2.3.2" level="project" />
</component> </component>
</module> </module>
\ No newline at end of file
...@@ -183,6 +183,12 @@ ...@@ -183,6 +183,12 @@
<groupId>joda-time</groupId> <groupId>joda-time</groupId>
<artifactId>joda-time</artifactId> <artifactId>joda-time</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.modelmapper</groupId>
<artifactId>modelmapper</artifactId>
<version>2.3.2</version>
</dependency>
</dependencies> </dependencies>
<dependencyManagement> <dependencyManagement>
......
package com.viettel.campaign.config;
import org.modelmapper.ModelMapper;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @author anhvd_itsol
*/
@Configuration
public class ModelMapperConfig {
@Bean
public ModelMapper modelMapper() {
return new ModelMapper();
}
}
package com.viettel.campaign.model;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
/**
* @author anhvd_itsol
*/
@Entity
@Table(name = "TIME_RANGE_DIAL_MODE")
@Getter
@Setter
public class TimeRangeDialMode implements Serializable {
@Id
@NotNull
@Basic(optional = false)
@Column(name = "TIME_RANGE_DIAL_MODE_ID")
private Long timeRangeDialModeId;
@Column(name = "COMPANY_SITE_ID")
private Long companySiteId;
@Temporal(TemporalType.DATE)
@Column(name = "START_TIME")
private Date startTime;
@Column(name = "CAMPAIGN_ID")
private Long campaignId;
@Column(name = "DIAL_MODE")
private Short dialMode;
@Column(name = "USER_ID")
private Long userId;
}
package com.viettel.campaign.model;
import javax.persistence.Entity;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @author anhvd_itsol
*/
@Entity
@Table(name = "TIME_ZONE_DIAL_MODE")
@Getter
@Setter
public class TimeZoneDialMode implements Serializable{
@Id
@NotNull
@Basic(optional = false)
@Column(name = "TIME_ZONE_DIAL_MODE_ID")
private Long timeRangeDialModeId;
@Column(name = "COMPANY_SITE_ID")
private Long companySiteId;
@Column(name = "HOUR")
private String hour;
@Column(name = "MINUTE")
private String minute;
@Column(name = "CAMPAIGN_ID")
private Long campaignId;
@Column(name = "DIAL_MODE")
private Short dialMode;
@Column(name = "USER_ID")
private Long userId;
}
...@@ -21,7 +21,6 @@ import org.springframework.stereotype.Repository; ...@@ -21,7 +21,6 @@ import org.springframework.stereotype.Repository;
import javax.persistence.EntityManager; import javax.persistence.EntityManager;
import javax.persistence.Query; import javax.persistence.Query;
import javax.xml.crypto.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
......
package com.viettel.campaign.service; package com.viettel.campaign.service;
import com.viettel.campaign.web.dto.CampaignDTO;
import com.viettel.campaign.web.dto.ResultDTO; import com.viettel.campaign.web.dto.ResultDTO;
import com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO; import com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO;
...@@ -9,5 +10,8 @@ public interface CampaignService { ...@@ -9,5 +10,8 @@ public interface CampaignService {
Map searchCampaignExecute(int page, int pageSize, String sort, String agentId); Map searchCampaignExecute(int page, int pageSize, String sort, String agentId);
ResultDTO search(CampaignRequestDTO requestDto); ResultDTO search(CampaignRequestDTO requestDto);
ResultDTO findByCampaignCode(CampaignRequestDTO requestDTO); ResultDTO findByCampaignCode(CampaignRequestDTO requestDTO);
ResultDTO addNewCampaign(CampaignDTO campaignDTO);
} }
package com.viettel.campaign.service.impl; package com.viettel.campaign.service.impl;
import com.viettel.campaign.model.Campaign;
import com.viettel.campaign.repository.CampaignRepository; import com.viettel.campaign.repository.CampaignRepository;
import com.viettel.campaign.repository.impl.CampaignRepositoryImpl;
import com.viettel.campaign.service.CampaignService; import com.viettel.campaign.service.CampaignService;
import com.viettel.campaign.utils.Constants;
import com.viettel.campaign.web.dto.CampaignDTO; import com.viettel.campaign.web.dto.CampaignDTO;
import com.viettel.campaign.web.dto.ResultDTO; import com.viettel.campaign.web.dto.ResultDTO;
import com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO; 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.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort; import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@Service @Service
@Transactional(rollbackFor = Exception.class)
public class CampaignServiceImpl implements CampaignService { public class CampaignServiceImpl implements CampaignService {
private static final Logger logger = LogManager.getLogger(CampaignRepositoryImpl.class);
@Autowired @Autowired
CampaignRepository campaignRepository; CampaignRepository campaignRepository;
@Autowired
ModelMapper modelMapper;
@Override @Override
public Map searchCampaignExecute(int page, int pageSize, String sort, String agentId) { public Map searchCampaignExecute(int page, int pageSize, String sort, String agentId) {
Map result = new HashMap(); Map result = new HashMap();
...@@ -44,4 +57,23 @@ public class CampaignServiceImpl implements CampaignService { ...@@ -44,4 +57,23 @@ public class CampaignServiceImpl implements CampaignService {
public ResultDTO findByCampaignCode(CampaignRequestDTO requestDTO) { public ResultDTO findByCampaignCode(CampaignRequestDTO requestDTO) {
return campaignRepository.findByCampaignCode(requestDTO); return campaignRepository.findByCampaignCode(requestDTO);
} }
@Override
public ResultDTO addNewCampaign(CampaignDTO campaignDTO) {
ResultDTO resultDTO = new ResultDTO();
Campaign campaign = modelMapper.map(campaignDTO, Campaign.class);
try {
campaign = campaignRepository.save(campaign);
//insert sub tables
resultDTO.setErrorCode(Constants.ApiErrorCode.SUCCESS);
resultDTO.setErrorCode(Constants.ApiErrorDesc.SUCCESS);
resultDTO.setData(campaign);
} catch (Exception ex) {
logger.error(ex.getMessage(), ex);
resultDTO.setErrorCode(Constants.ApiErrorCode.ERROR);
resultDTO.setErrorCode(Constants.ApiErrorDesc.ERROR);
}
return resultDTO;
}
} }
...@@ -58,4 +58,6 @@ public class CampaignDTO extends BaseDTO { ...@@ -58,4 +58,6 @@ public class CampaignDTO extends BaseDTO {
private Long numOfNotJoinedCus; private Long numOfNotJoinedCus;
private Long numOfLockCus; private Long numOfLockCus;
private String campaignTypeName; private String campaignTypeName;
} }
package com.viettel.campaign.web.dto;
import lombok.Getter;
import lombok.Setter;
import java.util.Date;
/**
* @author anhvd_itsol
*/
@Getter
@Setter
public class TimeRangeDialModeDTO {
private Long timeRangeDialModeId;
private Long companySiteId;
private Date startTime;
private Long campaignId;
private Short dialMode;
private Long userId;
}
package com.viettel.campaign.web.dto;
import lombok.Getter;
import lombok.Setter;
/**
* @author anhvd_itsol
*/
@Getter
@Setter
public class TimeZoneDialModeDTO {
private Long timeRangeDialModeId;
private Long companySiteId;
private String hour;
private String minute;
private Long campaignId;
private Short dialMode;
private Long userId;
}
...@@ -39,4 +39,9 @@ public class CampaignController { ...@@ -39,4 +39,9 @@ public class CampaignController {
return campaignService.findByCampaignCode(dto); return campaignService.findByCampaignCode(dto);
} }
@RequestMapping(method = RequestMethod.POST)
public ResultDTO addNewCampaign(@RequestBody CampaignRequestDTO dto) {
return campaignService.findByCampaignCode(dto);
}
} }
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