Commit 248e5ca3 authored by Vu Duy Anh's avatar Vu Duy Anh

anhvd commit change

parent 95438a14
package com.viettel.campaign.repository;
import com.viettel.campaign.web.dto.ResultDTO;
import com.viettel.campaign.web.dto.UserActionLogDTO;
/**
* @author anhvd_itsol
*/
public interface UserActionLogRepositoryCustom {
ResultDTO insertToUserActionLog(UserActionLogDTO userActionLogDTO);
}
package com.viettel.campaign.repository.impl;
import com.viettel.campaign.repository.UserActionLogRepositoryCustom;
import com.viettel.campaign.utils.Constants;
import com.viettel.campaign.utils.HibernateUtil;
import com.viettel.campaign.utils.SQLBuilder;
import com.viettel.campaign.web.dto.ResultDTO;
import com.viettel.campaign.web.dto.UserActionLogDTO;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
/**
* @author anhvd_itsol
*/
@Repository
@Transactional
public class UserActionLogRepositoryImpl implements UserActionLogRepositoryCustom {
private static final Logger logger = LogManager.getLogger(CampaignRepositoryImpl.class);
@Override
public ResultDTO insertToUserActionLog(UserActionLogDTO userActionLogDTO) {
logger.info("Start search campaign::");
ResultDTO result = new ResultDTO();
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
Session session = sessionFactory.openSession();
session.beginTransaction();
try{
StringBuilder sqlStr = new StringBuilder();
sqlStr.append(SQLBuilder.getSqlQueryById(SQLBuilder.SQL_MODULE_CAMPAIGN_MNG, "insert-to-user-action-log"));
SQLQuery query = session.createSQLQuery(sqlStr.toString());
query.setParameter("par_agentId", userActionLogDTO.getAgentId() == null ? "" : userActionLogDTO.getAgentId());
query.setParameter("par_companySiteId", userActionLogDTO.getCompanySiteId());
query.setParameter("par_sessionId", userActionLogDTO.getSessionId());
query.setParameter("par_startTime", userActionLogDTO.getStartTime());
query.setParameter("par_actionType", userActionLogDTO.getActionType());
query.setParameter("par_objectId", userActionLogDTO.getObjectId());
query.executeUpdate();
result.setErrorCode(Constants.ApiErrorCode.SUCCESS);
result.setDescription(Constants.ApiErrorDesc.SUCCESS);
}catch (Exception ex) {
logger.error(ex.getMessage(), ex);
result.setErrorCode(Constants.ApiErrorCode.ERROR);
result.setDescription(Constants.ApiErrorDesc.ERROR);
}finally {
session.close();
}
return result;
}
}
package com.viettel.campaign.service;
/**
* @author anhvd_itsol
*/
public interface UserActionLogService {
}
......@@ -3,16 +3,16 @@ package com.viettel.campaign.service.impl;
import com.viettel.campaign.model.Campaign;
import com.viettel.campaign.model.TimeRangeDialMode;
import com.viettel.campaign.model.TimeZoneDialMode;
//import com.viettel.campaign.model.UserActionLog;
import com.viettel.campaign.repository.CampaignRepository;
import com.viettel.campaign.repository.TimeRangeDialModeRepository;
import com.viettel.campaign.repository.TimeZoneDialModeRepository;
//import com.viettel.campaign.repository.UserActionLogRepository;
import com.viettel.campaign.repository.UserActionLogRepositoryCustom;
import com.viettel.campaign.repository.impl.CampaignRepositoryImpl;
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.ResultDTO;
import com.viettel.campaign.web.dto.TimeRangeDialModeDTO;
import com.viettel.campaign.web.dto.TimeZoneDialModeDTO;
import com.viettel.campaign.web.dto.*;
import com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
......@@ -38,6 +38,9 @@ public class CampaignServiceImpl implements CampaignService {
@Autowired
TimeRangeDialModeRepository timeRangeDialModeRepository;
@Autowired
UserActionLogRepositoryCustom userActionLogRepository;
@Autowired
ModelMapper modelMapper;
......@@ -149,6 +152,28 @@ public class CampaignServiceImpl implements CampaignService {
entity.setUpdateTime(new Date());
entity.setUpdateBy(dto.getUpdateBy());
campaignRepository.save(entity);
UserActionLogDTO userActionLog = new UserActionLogDTO();
userActionLog.setAgentId(null);
userActionLog.setSessionId(dto.getSessionId());
userActionLog.setCompanySiteId(dto.getCompanySiteId());
userActionLog.setDescription(null);
userActionLog.setStartTime(new Date());
userActionLog.setEndTime(null);
userActionLog.setObjectId(entity.getCampaignId());
if(dto.getStatus().equals((short) -1)) {
userActionLog.setActionType((short) 2);
}
else if(dto.getStatus().equals((short) 5)) {
userActionLog.setActionType((short) 7);
}
else if(dto.getStatus().equals((short) 4)) {
userActionLog.setActionType((short) 4);
}
else if(dto.getStatus().equals((short) 3)) {
userActionLog.setActionType((short) 5);
}
userActionLogRepository.insertToUserActionLog(userActionLog);
result.setData(entity);
result.setDescription(Constants.ApiErrorDesc.SUCCESS);
result.setErrorCode(Constants.ApiErrorCode.SUCCESS);
......
package com.viettel.campaign.service.impl;
import com.viettel.campaign.service.UserActionLogService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* @author anhvd_itsol
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class UserActionLogServiceImpl implements UserActionLogService {
}
......@@ -64,4 +64,5 @@ public class CampaignDTO extends BaseDTO {
private List<TimeRangeDialModeDTO> lstTimeRange;
private List<TimeZoneDialModeDTO> lstTimeZone;
private Short agentStatus;
private String sessionId;
}
package com.viettel.campaign.web.dto;
import lombok.Getter;
import lombok.Setter;
import java.util.Date;
/**
* @author anhvd_itsol
*/
@Getter
@Setter
public class UserActionLogDTO {
private Long agentId; //userId
private Long companySiteId;
private String sessionId;
private Date startTime;
private Date endTime;
private Short actionType;
private String description;
private Long objectId; //campaignId
}
......@@ -12,6 +12,8 @@ import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.Map;
@RestController
......@@ -70,8 +72,9 @@ public class CampaignController {
return new ResponseEntity<>(resultDTO, HttpStatus.OK);
}
@PostMapping("/changeCampaignStatus")
public ResultDTO changeCampaignStatus(@RequestBody CampaignDTO dto) {
@RequestMapping(value = "/changeCampaignStatus", method = RequestMethod.PUT)
public ResultDTO changeCampaignStatus(@RequestBody CampaignDTO dto, HttpServletRequest request) {
dto.setSessionId(request.getSession().getId());
return campaignService.changeCampaignStatus(dto);
}
}
INSERT INTO "CCMS_FULL"."USER_ACTION_LOG" (
AGENT_ID,
COMPANY_SITE_ID,
SESSION_ID,
START_TIME,
END_TIME,
ACTION_TYPE,
DESCRIPTION,
OBJECT_ID)
VALUES (
:par_agentId,
:par_companySiteId,
:par_sessionId,
:par_startTime,
null,
:par_actionType,
null,
:par_objectId)
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