Commit 4b34df8c authored by đinh thị đầm's avatar đinh thị đầm
parents 3c182010 da873df4
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="ExternalSystem" externalSystem="Maven" />
<component name="FacetManager"> <component name="FacetManager">
<facet type="Spring" name="Spring"> <facet type="Spring" name="Spring">
<configuration /> <configuration />
......
package com.viettel.campaign.model;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import javax.xml.bind.annotation.XmlRootElement;
@Entity
@Table(name = "TICKET")
@XmlRootElement
@Getter
@Setter
public class Ticket implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(generator="ticket_seq")
@SequenceGenerator(name="ticket_seq",sequenceName="ticket_seq", allocationSize=1)
@Basic(optional = false)
@NotNull
@Column(name = "TICKET_ID")
private Long ticketId;
@Column(name = "SOURCE_ID")
private Long sourceId;
@Column(name = "CHANEL_ID")
private Long chanelId;
@Column(name = "CREATE_DATE")
@Temporal(TemporalType.TIMESTAMP)
private Date createDate;
@Size(max = 200)
@Column(name = "REF_ID")
private String refId;
@Column(name = "CUSTOMER_ID")
private Long customerId;
@Column(name = "TICKET_STATUS")
private Short ticketStatus;
@Column(name = "RESPONSE_STATUS")
private Long responseStatus;
@Column(name = "PRIORITY_ID")
private Short priorityId;
@Column(name = "RESOLVE_SLA")
@Temporal(TemporalType.TIMESTAMP)
private Date resolveSla;
@Column(name = "FIRST_RESPONE_SLA")
@Temporal(TemporalType.TIMESTAMP)
private Date firstResponeSla;
@Size(max = 400)
@Column(name = "AGENT_PROCESS")
private String agentProcess;
@Size(max = 400)
@Column(name = "AGENT_ASSIGN")
private String agentAssign;
@Column(name = "FIRST_RESPONE_DATE")
@Temporal(TemporalType.TIMESTAMP)
private Date firstResponeDate;
@Column(name = "RESOLVE_DATE")
@Temporal(TemporalType.TIMESTAMP)
private Date resolveDate;
@Column(name = "ASSIGN_DATE")
@Temporal(TemporalType.TIMESTAMP)
private Date assignDate;
@Column(name = "SECOND_RESPONE_DATE")
@Temporal(TemporalType.TIMESTAMP)
private Date secondResponeDate;
@Size(max = 20)
@Column(name = "AGENT_ID")
private String agentId;
@Size(max = 20)
@Column(name = "AGENT_ASSIGN_ID")
private String agentAssignId;
@Column(name = "TICKET_SLA_ID")
private Long ticketSlaId;
@Column(name = "SITE_ID")
private Long siteId;
@Column(name = "REQUEST_DATE")
@Temporal(TemporalType.TIMESTAMP)
private Date requestDate;
@Column(name = "LAST_REQUEST_DATE")
@Temporal(TemporalType.TIMESTAMP)
private Date lastRequestDate;
@Column(name = "TICKET_TYPE_ID")
private Long ticketTypeId;
@Column(name = "SECOND_RESPONE_SLA")
@Temporal(TemporalType.TIMESTAMP)
private Date secondResponeSla;
@Column(name = "COOPERATE_ID")
private Long cooperateId;
@Column(name = "POST_TYPE_ID")
private Long postTypeId;
@Column(name = "USER_READ")
private String userRead;
@Column(name = "POST_CUSTOMER")
private Long postCustomer;
@Column(name = "REASON")
private String reason;
@Column(name = "PROCESS")
private String process;
@Column(name = "LAST_UPDATE_TIME")
@Temporal(TemporalType.TIMESTAMP)
private Date lastUpdateTime;
@Column(name = "SLA_DATE")
@Temporal(TemporalType.TIMESTAMP)
private Date slaDate;
@Column(name = "SLA_PROCESS_DATE")
@Temporal(TemporalType.TIMESTAMP)
private Date slaProcessDate;
@Column(name = "SLA_COOPERATE_DATE")
@Temporal(TemporalType.TIMESTAMP)
private Date slaCooperateDate;
@Column(name = "SLA_PROCESS_CONFIG")
private Long slaProcessConfig;
@Column(name = "SLA_COOPERATE_CONFIG")
private Long slaCooperateConfig;
// @Column(name = "COMPANY_SITE_ID")
// private Long companySiteId;
@Column(name = "REOPEN_DATE")
private Date reopenDate;
@Column(name = "COMPANY_SITE_ID")
private Long companyId;
@Column(name = "ASSIGN_TYPE")
private Long assignType;
//bo sung ignored va close reason
@Column(name = "IGNORED")
private Long ignored;
@Column(name = "REASON_CAT_ITEM_ID")
private Long reasonCatItemId;
@Column(name = "PROBLEM_CAT_ITEM_ID")
private Long problemCatItemId;
@Column(name = "VIEW_TYPE")
private Long viewType;
@Column(name = "SUBJECT")
private String subject;
@Column(name = "CLASSIFY_REQUIRE_ID")
private Long classifyRequireId;
@Column(name = "AGENT_RECEIVE")
private String agentReceive;
@Lob
@Column(name = "CONTENT_RECEIVE")
private String contentReceive;
}
package com.viettel.campaign.model;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
@Entity
@Table(name = "TICKET_CAT_STATUS")
@Getter
@Setter
public class TicketCatStatus implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(generator="ticket_cat_status_seq")
@SequenceGenerator(name="ticket_cat_status_seq",sequenceName="ticket_cat_status_seq", allocationSize=1)
@Basic(optional = false)
@NotNull
@Column(name = "STATUS_ID")
private Long statusId;
@Size(max = 100)
@Column(name = "STATUS_NAME")
private String statusName;
@Size(max = 50)
@Column(name = "STATUS_CODE")
private String statusCode;
@Size(max = 100)
@Column(name = "CREATE_BY")
private String createBy;
@Column(name = "CREATE_TIME")
@Temporal(TemporalType.TIMESTAMP)
private Date createTime;
@Column(name = "COMPANY_ID")
private Long companyId;
@Column(name = "ACTIVE")
private Short active;
}
...@@ -18,8 +18,10 @@ public interface ApParamRepository extends JpaRepository<ApParam, Long>, ApParam ...@@ -18,8 +18,10 @@ public interface ApParamRepository extends JpaRepository<ApParam, Long>, ApParam
@Query(value = "SELECT p FROM ApParam p WHERE parName LIKE concat('%', :parName, '%') ") @Query(value = "SELECT p FROM ApParam p WHERE parName LIKE concat('%', :parName, '%') ")
List<ApParam> findParamByName(@Param("parName") String parName, Pageable pageable); List<ApParam> findParamByName(@Param("parName") String parName, Pageable pageable);
@Query(value = "SELECT p FROM ApParam p WHERE status = 1 AND parType LIKE concat('%', :parType, '%') ")
List<ApParam> findParamByParType(@Param("parType") String parType);
@Query(value = "select a from ApParam a WHERE status = 1 AND parType = 'CAMPAIGN_TYPE'") @Query(value = "select a from ApParam a WHERE status = 1 AND parType = 'CAMPAIGN_TYPE'")
List<ApParam> findAllParam(); List<ApParam> findAllParam();
} }
package com.viettel.campaign.repository;
import com.viettel.campaign.model.Ticket;
public interface TicketRepository extends BaseRepository<Ticket>, TicketRepositoryCustom {
}
package com.viettel.campaign.repository;
import com.viettel.campaign.web.dto.TicketDTO;
import org.springframework.data.domain.Pageable;
import java.util.List;
public interface TicketRepositoryCustom {
List<TicketDTO> getHistory(String customerId, Pageable pageable);
}
...@@ -8,6 +8,8 @@ import com.viettel.campaign.utils.SQLBuilder; ...@@ -8,6 +8,8 @@ import com.viettel.campaign.utils.SQLBuilder;
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.hibernate.SQLQuery; import org.hibernate.SQLQuery;
import org.hibernate.Session; import org.hibernate.Session;
import org.hibernate.SessionFactory; import org.hibernate.SessionFactory;
...@@ -19,6 +21,7 @@ import org.springframework.stereotype.Repository; ...@@ -19,6 +21,7 @@ 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;
...@@ -26,6 +29,7 @@ import java.util.List; ...@@ -26,6 +29,7 @@ import java.util.List;
@Repository @Repository
public class CampaignRepositoryImpl implements CampaignRepositoryCustom { public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
private static final Logger logger = LogManager.getLogger(CampaignRepositoryImpl.class);
@Autowired @Autowired
EntityManager entityManager; EntityManager entityManager;
...@@ -61,7 +65,7 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom { ...@@ -61,7 +65,7 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
item.setContent((String) obj[2]); item.setContent((String) obj[2]);
item.setStartTime((Date) obj[3]); item.setStartTime((Date) obj[3]);
item.setEndTime((Date) obj[4]); item.setEndTime((Date) obj[4]);
item.setStatus((Short) obj[5]); item.setStatus(((BigDecimal) obj[5]).shortValueExact());
lst.add(item); lst.add(item);
} }
...@@ -76,6 +80,8 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom { ...@@ -76,6 +80,8 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
@Override @Override
public ResultDTO search(CampaignRequestDTO requestDto) { public ResultDTO search(CampaignRequestDTO requestDto) {
logger.info("Start search campaign::");
ResultDTO result = new ResultDTO(); ResultDTO result = new ResultDTO();
SessionFactory sessionFactory = HibernateUtil.getSessionFactory(); SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
...@@ -117,10 +123,10 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom { ...@@ -117,10 +123,10 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
if (!DataUtil.isNullOrZero(requestDto.getNumOfCusTo())) { if (!DataUtil.isNullOrZero(requestDto.getNumOfCusTo())) {
sqlStr.append(" AND a.CUSTOMER_NUMBER <= :p_cusNumTo"); sqlStr.append(" AND a.CUSTOMER_NUMBER <= :p_cusNumTo");
} }
if (requestDto.getType() != null) { if (!DataUtil.isNullOrEmpty(requestDto.getTypes())) {
sqlStr.append(" AND a.CAMPAIGN_TYPE = :p_type"); sqlStr.append(" AND a.CAMPAIGN_TYPE IN (:p_type)");
} }
if (requestDto.getChanel() != null && requestDto.getChanel() > 0) { if (requestDto.getChanel() != null && !DataUtil.isNullOrZero(requestDto.getChanel())) {
sqlStr.append(" AND a.CHANEL = :p_chanel"); sqlStr.append(" AND a.CHANEL = :p_chanel");
} }
if (!DataUtil.isNullOrZero(requestDto.getNumOfCusFr())) { if (!DataUtil.isNullOrZero(requestDto.getNumOfCusFr())) {
...@@ -164,10 +170,11 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom { ...@@ -164,10 +170,11 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
if (!DataUtil.isNullOrEmpty(requestDto.getToDateTo())) { if (!DataUtil.isNullOrEmpty(requestDto.getToDateTo())) {
query.setParameter("p_toDateTo", requestDto.getToDateTo()); query.setParameter("p_toDateTo", requestDto.getToDateTo());
} }
if (requestDto.getType() != null) { if (!DataUtil.isNullOrEmpty(requestDto.getTypes())) {
query.setParameter("p_type", requestDto.getType()); String[] types = requestDto.getTypes().split(",");
query.setParameterList("p_type", types);
} }
if (requestDto.getChanel() != null && requestDto.getChanel() > 0) { if (requestDto.getChanel() != null && !DataUtil.isNullOrZero(requestDto.getChanel())) {
query.setParameter("p_chanel", requestDto.getChanel()); query.setParameter("p_chanel", requestDto.getChanel());
} }
if (!DataUtil.isNullOrZero(requestDto.getNumOfCusFr())) { if (!DataUtil.isNullOrZero(requestDto.getNumOfCusFr())) {
...@@ -181,6 +188,7 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom { ...@@ -181,6 +188,7 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
query.addScalar("campaignCode", new StringType()); query.addScalar("campaignCode", new StringType());
query.addScalar("campaignName", new StringType()); query.addScalar("campaignName", new StringType());
query.addScalar("campaignType", new StringType()); query.addScalar("campaignType", new StringType());
query.addScalar("campaignTypeName", new StringType());
query.addScalar("chanel", new ShortType()); query.addScalar("chanel", new ShortType());
query.addScalar("startTime", new DateType()); query.addScalar("startTime", new DateType());
query.addScalar("endTime", new DateType()); query.addScalar("endTime", new DateType());
...@@ -206,18 +214,19 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom { ...@@ -206,18 +214,19 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
result.setData(dataPage); result.setData(dataPage);
result.setErrorCode(Constants.ApiErrorCode.SUCCESS); result.setErrorCode(Constants.ApiErrorCode.SUCCESS);
result.setDescription(Constants.ApiErrorDesc.SUCCESS); result.setDescription(Constants.ApiErrorDesc.SUCCESS);
session.close();
return result;
} catch (Exception ex) { } catch (Exception ex) {
session.close();
}
result.setErrorCode(Constants.ApiErrorCode.ERROR); result.setErrorCode(Constants.ApiErrorCode.ERROR);
result.setDescription(Constants.ApiErrorDesc.ERROR); result.setDescription(Constants.ApiErrorDesc.ERROR);
logger.error(ex.getMessage(), ex);
} finally {
session.close();
}
return result; return result;
} }
@Override @Override
public ResultDTO findByCampaignCode(CampaignRequestDTO requestDto) { public ResultDTO findByCampaignCode(CampaignRequestDTO requestDto) {
logger.info("Start search campaign by code::");
ResultDTO result = new ResultDTO(); ResultDTO result = new ResultDTO();
SessionFactory sessionFactory = HibernateUtil.getSessionFactory(); SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
...@@ -276,14 +285,13 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom { ...@@ -276,14 +285,13 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
result.setData(dataPage); result.setData(dataPage);
result.setErrorCode(Constants.ApiErrorCode.SUCCESS); result.setErrorCode(Constants.ApiErrorCode.SUCCESS);
result.setDescription(Constants.ApiErrorDesc.SUCCESS); result.setDescription(Constants.ApiErrorDesc.SUCCESS);
session.close();
return result;
}catch (Exception ex) { }catch (Exception ex) {
session.close(); logger.error(ex.getMessage(), ex);
}
result.setErrorCode(Constants.ApiErrorCode.ERROR); result.setErrorCode(Constants.ApiErrorCode.ERROR);
result.setDescription(Constants.ApiErrorDesc.ERROR); result.setDescription(Constants.ApiErrorDesc.ERROR);
} finally {
session.close();
}
return result; return result;
} }
......
package com.viettel.campaign.repository.impl;
import com.viettel.campaign.repository.TicketRepositoryCustom;
import com.viettel.campaign.web.dto.TicketDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class TicketRepositoryImpl implements TicketRepositoryCustom {
@Autowired
EntityManager entityManager;
@Override
public List<TicketDTO> getHistory(String customerId, Pageable pageable) {
List<TicketDTO> lst = new ArrayList<>();
String expression = new StringBuilder()
.append(" SELECT T.TICKET_ID, T.CREATE_DATE, T.SUBJECT, TCS.STATUS_NAME, T.RESOLVE_DATE ")
.append(" FROM TICKET T ")
.append(" INNER JOIN TICKET_CAT_STATUS TCS ON T.TICKET_STATUS = TCS.STATUS_ID ")
.append(" WHERE 1 = 1 ")
.append(" AND T.CUSTOMER_ID = :pCustomerId ")
.toString();
try {
Query query = entityManager.createNativeQuery(expression);
query.setParameter("pCustomerId", customerId);
if (pageable != null) {
query.setFirstResult(pageable.getPageNumber() * pageable.getPageSize());
query.setMaxResults(pageable.getPageSize());
}
List<Object[]> data = query.getResultList();
for (Object[] obj : data) {
TicketDTO item = new TicketDTO();
item.setTicketId(((BigDecimal) obj[0]).longValueExact());
item.setCreateDate((Date) obj[1]);
item.setSubject((String) obj[2]);
item.setStatusName((String) obj[3]);
item.setResolveDate((Date) obj[4]);
lst.add(item);
}
return lst;
} catch (Exception e) {
e.printStackTrace();
}
return lst;
}
}
...@@ -13,9 +13,8 @@ public interface ApParamService { ...@@ -13,9 +13,8 @@ public interface ApParamService {
List<ApParam> getParamByName(int page, int pageSize, String sort, String parName); List<ApParam> getParamByName(int page, int pageSize, String sort, String parName);
ResultDTO createApParam(ApParamDTO apParamDTO); ResultDTO createApParam(ApParamDTO apParamDTO);
List<ApParam>findAllParam();
ResultDTO findParamByParType(String parType);
List<ApParam>findAllParam();
} }
package com.viettel.campaign.service;
import java.util.Map;
public interface TicketService {
Map getHistory(int page, int pageSize, String sort, String customerId);
}
package com.viettel.campaign.service.impl; package com.viettel.campaign.service.impl;
import com.viettel.campaign.service.ApParamService; import com.viettel.campaign.service.ApParamService;
import com.viettel.campaign.utils.Constants;
import com.viettel.campaign.web.dto.ApParamDTO; import com.viettel.campaign.web.dto.ApParamDTO;
import com.viettel.campaign.web.dto.ResultDTO; import com.viettel.campaign.web.dto.ResultDTO;
import com.viettel.campaign.mapper.ApParamMapper; import com.viettel.campaign.mapper.ApParamMapper;
...@@ -13,6 +14,8 @@ import org.springframework.stereotype.Service; ...@@ -13,6 +14,8 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@Service @Service
public class ApParamServiceImpl implements ApParamService { public class ApParamServiceImpl implements ApParamService {
...@@ -20,6 +23,10 @@ public class ApParamServiceImpl implements ApParamService { ...@@ -20,6 +23,10 @@ public class ApParamServiceImpl implements ApParamService {
@Autowired @Autowired
ApParamRepository apParamRepository; ApParamRepository apParamRepository;
private static final Logger logger = LogManager.getLogger(ApParamServiceImpl.class);
@Override @Override
public Iterable<ApParam> getAllParams(int page, int pageSize, String sort) { public Iterable<ApParam> getAllParams(int page, int pageSize, String sort) {
return apParamRepository.findAll(PageRequest.of(page, pageSize, Sort.by(sort))); return apParamRepository.findAll(PageRequest.of(page, pageSize, Sort.by(sort)));
...@@ -54,13 +61,30 @@ public class ApParamServiceImpl implements ApParamService { ...@@ -54,13 +61,30 @@ public class ApParamServiceImpl implements ApParamService {
result.setData(apparam); result.setData(apparam);
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); // e.printStackTrace();
logger.error(e.getMessage(), e);
} }
return null; return null;
} }
@Override @Override
public ResultDTO findParamByParType(String parType) {
ResultDTO resultDTO = new ResultDTO();
try {
List<ApParam> lst = apParamRepository.findParamByParType(parType);
resultDTO.setErrorCode(Constants.ApiErrorCode.SUCCESS);
resultDTO.setDescription(Constants.ApiErrorDesc.SUCCESS);
resultDTO.setData(lst);
logger.info("find params by type: " + resultDTO.getErrorCode());
} catch (Exception ex) {
logger.error(ex.getMessage(), ex);
resultDTO.setErrorCode(Constants.ApiErrorCode.ERROR);
resultDTO.setDescription(Constants.ApiErrorDesc.ERROR);
}
return resultDTO;
}
public List<ApParam> findAllParam() { public List<ApParam> findAllParam() {
return apParamRepository.findAllParam(); return apParamRepository.findAllParam();
} }
......
package com.viettel.campaign.service.impl;
import com.viettel.campaign.repository.TicketRepository;
import com.viettel.campaign.service.TicketService;
import com.viettel.campaign.web.dto.TicketDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class TicketServiceImpl implements TicketService {
@Autowired
TicketRepository ticketRepository;
@Override
public Map getHistory(int page, int pageSize, String sort, String customerId) {
Map result = new HashMap();
List<TicketDTO> lst = new ArrayList<>();
lst = ticketRepository.getHistory(customerId, PageRequest.of(page, pageSize, Sort.by(sort)));
result.put("totalItem", lst.size());
result.put("tickets", lst);
return result;
}
}
...@@ -266,4 +266,8 @@ public class DataUtil { ...@@ -266,4 +266,8 @@ public class DataUtil {
} }
return input; return input;
} }
public static boolean isNullOrZero(Short value) {
return (value == null || value.equals(Short.parseShort("0")));
}
} }
...@@ -57,4 +57,5 @@ public class CampaignDTO extends BaseDTO { ...@@ -57,4 +57,5 @@ public class CampaignDTO extends BaseDTO {
private Long numOfJoinedCus; private Long numOfJoinedCus;
private Long numOfNotJoinedCus; private Long numOfNotJoinedCus;
private Long numOfLockCus; private Long numOfLockCus;
private String campaignTypeName;
} }
package com.viettel.campaign.web.dto;
import lombok.Getter;
import lombok.Setter;
import java.util.Date;
@Getter
@Setter
public class TicketDTO extends BaseDTO {
private Long ticketId;
private Long sourceId;
private Date createDate;
private String refId;
private Long customerId;
private Short ticketStatus;
private Short responseStatus;
private Short priorityId;
private Date resolveSla;
private Date firstResponeSla;
private String agentProcess;
private Date firstResponeDate;
private Date resolveDate;
private Date assignDate;
private Date secondResponeDate;
private String agentId;
private Long ticketSlaId;
private Long companyId;
private Long siteId;
private Date requestDate;
private Date lastRequestDate;
private Long ticketTypeId;
private Long ticketTypeTemp;
private Date secondResponeSla;
private Long cooperateId;
private String subject;
private String customerName;
private String sourceName;
private Long chanelId;
private int overDue;
private String fromDate;
private String toDate;
private String customerCode;
private String agentAssignId;
private String agentAssign;
private String userLogin;
private Long readed;
private String emailFrom;
private String ticketTypeName;
private Short ticketStatusTemp;
private Short priorityTemp;
private Long postTypeId;
private String postTypeName;
private Long postCustomer;
private Long agentAssignType;
private String reason;
private String process;
private Long agentSiteId;
private String agentRole;
private String agentAssignTemp;
private String agentAssignIdTemp;
private Long siteAssignIdTemp;
private Long siteAssign;
private Double dateDiff;
private String fromUser;
private Long sendType;
private String content;
private Date createDateDetail;
private String toUser;
private String postContent;
private Date postTime;
private String link;
private Long numLike;
private Long numShare;
private Long numView;
private Double timeResponse;
private String name;
private String lastReflect;
private String statusName;
private String priorityName;
private String siteName;
private int maxRow;
private String channelName;
private String sendTypeName;
private Date fromDateValue;
private Date toDateValue;
}
...@@ -24,4 +24,5 @@ public class CampaignRequestDTO extends BaseDTO { ...@@ -24,4 +24,5 @@ public class CampaignRequestDTO extends BaseDTO {
Short type; Short type;
Short chanel; Short chanel;
String companySiteId; String companySiteId;
String types;
} }
...@@ -40,9 +40,15 @@ public class ApParamController { ...@@ -40,9 +40,15 @@ public class ApParamController {
return new ResponseEntity(lst, HttpStatus.OK); return new ResponseEntity(lst, HttpStatus.OK);
} }
@RequestMapping(path = "/findParamByParType", method = RequestMethod.GET)
public ResponseEntity findParamByParType(@RequestParam String parType) {
return new ResponseEntity<>(apParamService.findParamByParType(parType), HttpStatus.OK);
}
@GetMapping(path = "/findAllParam") @GetMapping(path = "/findAllParam")
@ResponseBody @ResponseBody
public ResponseEntity findAllParam(){ public ResponseEntity findAllParam() {
List<ApParam> findAll = apParamService.findAllParam(); List<ApParam> findAll = apParamService.findAllParam();
if(findAll.isEmpty()) { if(findAll.isEmpty()) {
return new ResponseEntity<>(HttpStatus.NO_CONTENT); return new ResponseEntity<>(HttpStatus.NO_CONTENT);
...@@ -50,3 +56,4 @@ public class ApParamController { ...@@ -50,3 +56,4 @@ public class ApParamController {
return new ResponseEntity(findAll, HttpStatus.OK); return new ResponseEntity(findAll, HttpStatus.OK);
} }
} }
package com.viettel.campaign.web.rest;
import com.viettel.campaign.service.TicketService;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
@RestController
@RequestMapping("/ipcc/ticket")
@CrossOrigin
public class TicketController {
private static final Logger LOGGER = Logger.getLogger(TicketController.class);
@Autowired
TicketService ticketService;
@GetMapping("/getHistory")
@ResponseBody
public ResponseEntity searchCampaignExecute(@RequestParam("page") int page, @RequestParam("pageSize") int pageSize, @RequestParam("sort") String sort, @RequestParam("customerId") String customerId) {
Map result = ticketService.getHistory(page, pageSize, sort, customerId);
return new ResponseEntity<>(result, HttpStatus.OK);
}
}
...@@ -3,6 +3,7 @@ SELECT ...@@ -3,6 +3,7 @@ SELECT
a.CAMPAIGN_CODE campaignCode, a.CAMPAIGN_CODE campaignCode,
a.CAMPAIGN_NAME campaignName, a.CAMPAIGN_NAME campaignName,
a.CAMPAIGN_TYPE campaignType, a.CAMPAIGN_TYPE campaignType,
(SELECT PAR_NAME FROM AP_PARAM WHERE STATUS = 1 AND PAR_TYPE = 'CAMPAIGN_TYPE' AND PAR_VALUE = a.CAMPAIGN_TYPE) campaignTypeName,
a.CHANEL chanel, a.CHANEL chanel,
a.START_TIME startTime, a.START_TIME startTime,
a.END_TIME endTime, a.END_TIME endTime,
......
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