Commit 6753a6d6 authored by Vu Duy Anh's avatar Vu Duy Anh

anhvd commit

parents 10a29044 d583b4ea
package com.viettel.campaign.filter;
import com.viettel.campaign.utils.RedisUtil;
import com.viettel.econtact.filter.UserSession;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Component;
......
package com.viettel.campaign.filter;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
/**
* @author hanv_itsol
* @project service-campaign
*/
@Getter
@Setter
public class UserSession implements Serializable {
String authToken;
String ownserId;
String accountId;
Long userId;
String userName;
String role;
Long siteId;
Long companySiteId;
Long expTime;
}
......@@ -7,8 +7,8 @@ import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
@Repository
@Transactional(DataSourceQualify.ACD_FULL)
public interface AgentsRepository extends JpaRepository<Agents, String> {
@Transactional(DataSourceQualify.ACD_FULL)
Agents findByAgentId(String agentId);
}
......@@ -21,8 +21,6 @@ public interface ApParamRepository extends JpaRepository<ApParam, Long>, ApParam
@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'")
List<ApParam> findAllParam();
@Query(value = "FROM ApParam WHERE status = 1 AND parType = :parType")
List<ApParam> findAllParam(@Param("parType") String parType);
}
package com.viettel.campaign.repository.ccms_full;
import com.viettel.campaign.config.DataSourceQualify;
import com.viettel.campaign.model.ccms_full.CampaignCustomer;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Transactional(DataSourceQualify.CCMS_FULL)
public interface CampaignCustomerRepository extends JpaRepository<CampaignCustomer, Long> {
@Query(value = "SELECT COUNT(*) " +
"FROM CAMPAIGN_CUSTOMER CC JOIN CAMPAIGN_COMPLETE_CODE CCC ON CC.CAMPAIGN_ID = CCC.CAMPAIGN_ID " +
"WHERE CC.STATUS = 3 AND CC.CAMPAIGN_ID = :campaignId AND CC.CUSTOMER_ID = :customerId AND CCC.IS_RECALL = 1 AND CCC.STATUS = 1 ",
nativeQuery = true)
Long getCustomerRecall(@Param("campaignId") Long campaignId, @Param("customerId") Long customerId);
@Query(value = "SELECT cc.customer_id \n" +
"FROM campaign_customer cc LEFT JOIN receive_cust_log cl ON cc.customer_id = cl.customer_id\n" +
"WHERE cc.campaign_id = :campaignId \n" +
" AND cc.agent_id = :agentId \n" +
" AND cc.in_campaign_status = 1 \n" +
" AND cl.customer_id IS NULL \n" +
" AND EXISTS(SELECT 1 \n" +
" FROM campaign_complete_code ccc \n" +
" WHERE cc.status = ccc.complete_value \n" +
" AND ccc.status = 1 \n" +
" AND ccc.is_recall = 1 \n" +
" AND ccc.complete_type = 2 \n" +
" AND ccc.company_site_id = :companySiteId) \n" +
" AND cc.recall_time <= SYSDATE\n" +
" AND cc.recall_time + interval :apParam MINUTE >= SYSDATE", nativeQuery = true)
List<CampaignCustomer> getCustomerRecallDate(@Param("campaignId") Long campaignId, @Param("agentId") Long agentId, @Param("companySiteId") Long companySiteId, @Param("apParam") String apParam);
}
......@@ -16,7 +16,7 @@ public interface ApParamService {
ResultDTO findParamByParType(String parType);
List<ApParam>findAllParam();
List<ApParam>findAllParam(String parType);
}
......@@ -90,7 +90,7 @@ public class ApParamServiceImpl implements ApParamService {
return resultDTO;
}
public List<ApParam> findAllParam() {
return apParamRepository.findAllParam();
public List<ApParam> findAllParam(String parType) {
return apParamRepository.findAllParam(parType);
}
}
......@@ -2,6 +2,7 @@ package com.viettel.campaign.service.impl;
import com.viettel.campaign.config.DataSourceQualify;
import com.viettel.campaign.model.acd_full.Agents;
import com.viettel.campaign.model.ccms_full.CampaignCustomer;
import com.viettel.campaign.model.ccms_full.TimeRangeDialMode;
import com.viettel.campaign.model.ccms_full.TimeZoneDialMode;
import com.viettel.campaign.repository.acd_full.AgentsRepository;
......@@ -38,6 +39,9 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
@Autowired
CampaignExecuteRepository campaignExecuteRepository;
@Autowired
CampaignCustomerRepository campaignCustomerRepository;
@Autowired
AgentsRepository agentsRepository;
......@@ -276,12 +280,25 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
@Override
public ResultDTO getCall(CampaignRequestDTO dto) {
ResultDTO result = new ResultDTO();
Map data = new HashMap();
data.put("campaignId", dto.getCampaignId());
Agents agents = agentsRepository.findByAgentId(dto.getAgentId());
TimeZoneDialMode zoneDialMode = zoneDialModeRepository.findDialModeAtCurrent(Long.parseLong(dto.getCampaignId()), Long.parseLong(dto.getCompanySiteId()));
TimeRangeDialMode rangeDialMode = rangeDialModeRepository.findDialModeAtCurrent(Long.parseLong(dto.getCampaignId()), Long.parseLong(dto.getCompanySiteId()));
//Agents agents = agentsRepository.findByAgentId(dto.getAgentId());
//TimeZoneDialMode zoneDialMode = zoneDialModeRepository.findDialModeAtCurrent(Long.parseLong(dto.getCampaignId()), Long.parseLong(dto.getCompanySiteId()));
//TimeRangeDialMode rangeDialMode = rangeDialModeRepository.findDialModeAtCurrent(Long.parseLong(dto.getCampaignId()), Long.parseLong(dto.getCompanySiteId()));
List<CampaignCustomer> lst = null;//campaignCustomerRepository.getCustomerRecallDate(dto.getCampaignId(), dto.getAgentId(), dto.getCompanySiteId(), );
if (lst != null) {
result.setErrorCode(Constants.ApiErrorCode.SUCCESS);
result.setDescription(Constants.ApiErrorDesc.SUCCESS);
//result.setTotalRow(count);
//result.setListData(campaignExecuteRepository.searchCampaignExecute(requestDto, SQLBuilder.buildPageable(requestDto)));
//result.setData(data);
} else {
result.setErrorCode(Constants.ApiErrorCode.ERROR);
result.setDescription(Constants.ApiErrorDesc.ERROR);
}
return result;
}
......
package com.viettel.campaign.utils;
import org.apache.commons.lang3.SerializationUtils;
import org.apache.log4j.Logger;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.HostAndPort;
......@@ -86,7 +87,7 @@ public class RedisUtil {
// Jedis jedis = null;
try {
JedisCluster jedis = getRedis();
jedis.set(key.getBytes(), org.springframework.util.SerializationUtils.serialize(value));
jedis.set(key.getBytes(), SerializationUtils.serialize(value));
jedis.expire(key.getBytes(), 60); // exprire
} catch (Exception ex) {
logger.error(ex.getMessage(), ex);
......@@ -104,7 +105,7 @@ public class RedisUtil {
JedisCluster jedis = getRedis();
byte[] value = jedis.get(key.getBytes());
if (value != null && value.length > 0) {
object = (Object) org.springframework.util.SerializationUtils.deserialize(value);
object = SerializationUtils.deserialize(value);
}
} catch (Exception ex) {
logger.error(ex.getMessage(), ex);
......
......@@ -58,8 +58,8 @@ public class ApParamController {
@GetMapping(path = "/findAllParam")
@ResponseBody
public ResponseEntity findAllParam() {
List<ApParam> findAll = apParamService.findAllParam();
public ResponseEntity findAllParam(@RequestParam("parType") String parType) {
List<ApParam> findAll = apParamService.findAllParam(parType);
if(findAll.isEmpty()) {
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
......
package com.viettel.econtact.filter;
import java.io.Serializable;
/**
* @author hanv_itsol
* @project service-campaign
*/
public class UserSession implements Serializable{
String authToken;
String ownserId;
String accountId;
Long userId;
String userName;
String role;
Long siteId;
Long companySiteId;
long expTime;
public String getAuthToken() {
return authToken;
}
public void setAuthToken(String authToken) {
this.authToken = authToken;
}
public String getOwnserId() {
return ownserId;
}
public void setOwnserId(String ownserId) {
this.ownserId = ownserId;
}
public String getAccountId() {
return accountId;
}
public void setAccountId(String accountId) {
this.accountId = accountId;
}
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getRole() {
return role;
}
public void setRole(String role) {
this.role = role;
}
public Long getSiteId() {
return siteId;
}
public void setSiteId(Long siteId) {
this.siteId = siteId;
}
public Long getCompanySiteId() {
return companySiteId;
}
public void setCompanySiteId(Long companySiteId) {
this.companySiteId = companySiteId;
}
public long getExpTime() {
return expTime;
}
public void setExpTime(long expTime) {
this.expTime = expTime;
}
}
/**
* @project campaign
* @author hanv_itsol
*/
package com.viettel.econtact;
\ No newline at end of file
......@@ -23,14 +23,14 @@ spring:
ddl-auto: none
naming:
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
kafka:
consumer:
bootstrap-servers: 192.168.1.201:9092
group-id: group_id
auto-offset-reset: earliest
key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
producer:
bootstrap-servers: 192.168.1.201:9092
key-serializer: org.apache.kafka.common.serialization.StringSerializer
value-serializer: org.apache.kafka.common.serialization.StringSerializer
# kafka:
# consumer:
# bootstrap-servers: 192.168.1.201:9092
# group-id: group_id
# auto-offset-reset: earliest
# key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
# value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
# producer:
# bootstrap-servers: 192.168.1.201:9092
# key-serializer: org.apache.kafka.common.serialization.StringSerializer
# value-serializer: org.apache.kafka.common.serialization.StringSerializer
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