Commit 10a29044 authored by Vu Duy Anh's avatar Vu Duy Anh

anhvd commit change

parent 433be62c
package com.viettel.campaign.model.ccms_full;
import lombok.Getter;
import lombok.Setter;
import org.springframework.stereotype.Component;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
/**
* @author anhvd_itsol
*/
@Entity
@Table(name = "CAMPAIGN_LOG")
@Getter
@Setter
public class CampaignLog implements Serializable {
@Id
@NotNull
@GeneratedValue(generator = "CAMPAIGN_LOG_SEQ")
@SequenceGenerator(name = "CAMPAIGN_LOG_SEQ", sequenceName = "CAMPAIGN_LOG_SEQ", allocationSize = 1)
@Basic(optional = false)
@Column(name = "CAMPAIGN_LOG_ID")
private Long campaignLogId;
@Column(name = "COMPANY_SITE_ID")
private Long companySiteId;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "CREATE_TIME")
private Date createTime;
@Column(name = "AGENT_ID")
private Long agentId;
@Column(name = "TABLE_NAME")
private String tableName;
@Column(name = "COLUMN_NAME")
private String columnName;
@Column(name = "PRE_VALUE")
private String preValue;
@Column(name = "POST_VALUE")
private String postValue;
@Column(name = "DESCRIPTION")
private String description;
@Column(name = "CAMPAIGN_ID")
private Long campaignId;
@Column(name = "CUSTOMER_ID")
private Long customerId;
}
package com.viettel.campaign.repository.ccms_full;
import com.viettel.campaign.model.ccms_full.CampaignLog;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
/**
* @author anhvd_itsol
*/
@Repository
public interface CampaignLogRepository extends JpaRepository<CampaignLog, Long> {
}
......@@ -18,4 +18,7 @@ public interface ScenarioQuestionRepository extends JpaRepository<ScenarioQuesti
@Query(value="SELECT MAX(orderIndex) FROM ScenarioQuestion WHERE scenarioId = :scenarioId AND campaignId = :campaignId AND companySiteId = :companySiteId AND status = 1")
Long getMaxOrderId(@Param("scenarioId") Long scenarioId, @Param("campaignId") Long campaignId, @Param("companySiteId") Long companySiteId);
@Query(value = "SELECT COUNT(1) FROM ScenarioQuestion WHERE code = :code AND scenarioId = :scenarioId AND campaignId = :campaignId AND companySiteId = :companySiteId AND status = 1")
Integer countDuplicateQuestionCode(@Param("code") String code, @Param("scenarioId") Long scenarioId, @Param("campaignId") Long campaignId, @Param("companySiteId") Long companySiteId);
}
package com.viettel.campaign.service;
import com.viettel.campaign.service.impl.CampaignLogServiceImpl;
/**
* @author anhvd_itsol
*/
public interface CampaignLogService {
}
......@@ -13,4 +13,6 @@ public interface ScenarioQuestionService {
ResultDTO add(ScenarioQuestionDTO scenarioQuestionDTO);
Long getMaxOrderId(Long scenarioId, Long campaignId, Long companySiteId);
Integer countDuplicateQuestionCode(String code, Long scenarioId, Long campaignId, Long companySiteId);
}
package com.viettel.campaign.service.impl;
import com.viettel.campaign.service.CampaignLogService;
import org.springframework.stereotype.Service;
/**
* @author anhvd_itsol
*/
@Service
public class CampaignLogServiceImpl implements CampaignLogService {
}
package com.viettel.campaign.service.impl;
import com.viettel.campaign.config.DataSourceQualify;
import com.viettel.campaign.model.ccms_full.CampaignLog;
import com.viettel.campaign.model.ccms_full.Scenario;
import com.viettel.campaign.model.ccms_full.ScenarioQuestion;
import com.viettel.campaign.repository.ccms_full.CampaignLogRepository;
import com.viettel.campaign.repository.ccms_full.ScenarioQuestionRepository;
import com.viettel.campaign.service.ScenarioQuestionService;
import com.viettel.campaign.utils.Constants;
......@@ -15,6 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
/**
......@@ -22,12 +25,16 @@ import java.util.List;
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class ScenarioQuestionServiceImpl implements ScenarioQuestionService {
private static final Logger logger = LogManager.getLogger(ScenarioQuestionServiceImpl.class);
@Autowired
ScenarioQuestionRepository scenarioQuestionRepository;
@Autowired
CampaignLogRepository campaignLogRepository;
@Autowired
ModelMapper modelMapper;
......@@ -54,7 +61,22 @@ public class ScenarioQuestionServiceImpl implements ScenarioQuestionService {
ResultDTO resultDTO = new ResultDTO();
try {
ScenarioQuestion scenarioQuestion = modelMapper.map(scenarioQuestionDTO, ScenarioQuestion.class);
scenarioQuestion.setCreateTime(new Date());
scenarioQuestion.setStatus((short) 1);
scenarioQuestionRepository.save(scenarioQuestion);
CampaignLog campaignLog = new CampaignLog();
campaignLog.setCompanySiteId(scenarioQuestion.getCompanySiteId());
campaignLog.setCreateTime(new Date());
campaignLog.setAgentId(null);
campaignLog.setTableName("SCENARIO_QUESTION");
campaignLog.setColumnName(null);
campaignLog.setPreValue(null);
campaignLog.setPostValue(null);
campaignLog.setDescription("Them moi cau hoi rieng le");
campaignLog.setCampaignId(scenarioQuestion.getCampaignId());
campaignLog.setCustomerId(scenarioQuestion.getScenarioQuestionId());
campaignLogRepository.save(campaignLog);
resultDTO.setData(scenarioQuestion);
resultDTO.setErrorCode(Constants.ApiErrorCode.SUCCESS);
resultDTO.setDescription(Constants.ApiErrorDesc.SUCCESS);
......@@ -63,7 +85,7 @@ public class ScenarioQuestionServiceImpl implements ScenarioQuestionService {
resultDTO.setErrorCode(Constants.ApiErrorCode.ERROR);
resultDTO.setDescription(Constants.ApiErrorDesc.ERROR);
}
return null;
return resultDTO;
}
@Override
......@@ -76,4 +98,15 @@ public class ScenarioQuestionServiceImpl implements ScenarioQuestionService {
}
return null;
}
@Override
@Transactional(DataSourceQualify.CCMS_FULL)
public Integer countDuplicateQuestionCode(String code, Long scenarioId, Long campaignId, Long companySiteId) {
try {
return scenarioQuestionRepository.countDuplicateQuestionCode(code, scenarioId, campaignId, companySiteId);
}catch (Exception ex) {
logger.error(ex.getMessage(), ex);
}
return null;
}
}
package com.viettel.campaign.web.dto;
import lombok.Getter;
import lombok.Setter;
import java.util.Date;
/**
* @author anhvd_itsol
*/
@Getter
@Setter
public class CampaignLogDTO {
private Long campaignLogId;
private Long companySiteId;
private Date createTime;
private Long agentId;
private String tableName;
private String columnName;
private String preValue;
private String posValue;
private String description;
private Long campaignId;
private Long customerId;
}
......@@ -28,7 +28,7 @@ public class ScenarioQuestionController {
}
@RequestMapping(method = RequestMethod.POST)
public ResponseEntity<ResultDTO> add(ScenarioQuestionDTO scenarioQuestionDTO) {
public ResponseEntity<ResultDTO> add(@RequestBody ScenarioQuestionDTO scenarioQuestionDTO) {
ResultDTO resultDTO = scenarioQuestionService.add(scenarioQuestionDTO);
return new ResponseEntity<>(resultDTO, HttpStatus.OK);
}
......@@ -38,4 +38,9 @@ public class ScenarioQuestionController {
{
return scenarioQuestionService.getMaxOrderId(scenarioId, campaignId, companySiteId);
}
@RequestMapping(value = "/count-duplicate-question-code", method = RequestMethod.GET)
public Integer countDuplicateQuestionCode(@RequestParam String code, @RequestParam Long scenarioId, @RequestParam Long campaignId, @RequestParam Long companySiteId) {
return scenarioQuestionService.countDuplicateQuestionCode(code, scenarioId, campaignId, companySiteId);
}
}
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