Commit c98051b7 authored by đinh thị đầm's avatar đinh thị đầm

AUTO INCREMENT Field

parent d3c87fdf
...@@ -23,7 +23,7 @@ public interface CampaignCompleteCodeRepository extends JpaRepository<CampaignCo ...@@ -23,7 +23,7 @@ public interface CampaignCompleteCodeRepository extends JpaRepository<CampaignCo
List<CampaignCompleteCode>findByCompleteNameContains(String name, Pageable pageable); List<CampaignCompleteCode>findByCompleteNameContains(String name, Pageable pageable);
@Modifying @Modifying
@Query("delete from CampaignCompleteCode c where c.campaignCompleteCodeId in (:ids)") @Query("update CampaignCompleteCode c set c.status = 0 where c.campaignCompleteCodeId in (:ids)")
int deleteds(@Param("ids") List<Long> ids); int deleteds(@Param("ids") List<Long> ids);
@Query(value="SELECT max(completeValue) FROM CampaignCompleteCode WHERE companySiteId = :companySiteId GROUP BY companySiteId") @Query(value="SELECT max(completeValue) FROM CampaignCompleteCode WHERE companySiteId = :companySiteId GROUP BY companySiteId")
......
...@@ -2,23 +2,28 @@ package com.viettel.campaign.service.impl; ...@@ -2,23 +2,28 @@ package com.viettel.campaign.service.impl;
import com.viettel.campaign.service.CampaignCompleteCodeService; import com.viettel.campaign.service.CampaignCompleteCodeService;
import com.viettel.campaign.utils.Constants; import com.viettel.campaign.utils.Constants;
import com.viettel.campaign.utils.DataUtil;
import com.viettel.campaign.utils.HibernateUtil; import com.viettel.campaign.utils.HibernateUtil;
import com.viettel.campaign.utils.SQLBuilder;
import com.viettel.campaign.web.dto.CampaignCompleteCodeDTO; import com.viettel.campaign.web.dto.CampaignCompleteCodeDTO;
import com.viettel.campaign.web.dto.ResultDTO; import com.viettel.campaign.web.dto.ResultDTO;
import com.viettel.campaign.mapper.CampaignCompleteCodeMapper; import com.viettel.campaign.mapper.CampaignCompleteCodeMapper;
import com.viettel.campaign.model.CampaignCompleteCode; import com.viettel.campaign.model.CampaignCompleteCode;
import com.viettel.campaign.repository.CampaignCompleteCodeRepository; import com.viettel.campaign.repository.CampaignCompleteCodeRepository;
import org.hibernate.SQLQuery;
import org.hibernate.Session; import org.hibernate.Session;
import org.hibernate.SessionFactory; import org.hibernate.SessionFactory;
import org.hibernate.transform.Transformers;
import org.hibernate.type.LongType;
import org.hibernate.type.ShortType;
import org.hibernate.type.StringType;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.ComponentScan;
import org.springframework.data.domain.Page; import org.springframework.data.domain.*;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -201,22 +206,51 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ ...@@ -201,22 +206,51 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ
@Override @Override
public ResultDTO findMaxValueCampaignCompleteCode(CampaignCompleteCodeDTO completeCodeDTO) { public ResultDTO findMaxValueCampaignCompleteCode(CampaignCompleteCodeDTO completeCodeDTO) {
ResultDTO result = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
CampaignCompleteCodeMapper campaignCompleteCodeMapper = new CampaignCompleteCodeMapper(); SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
CampaignCompleteCode campaignCompleteCode = new CampaignCompleteCode();
try{ Session session = sessionFactory.openSession();
short resultValue = completeCodeRepository.findByMaxCompanySiteId(completeCodeDTO.getCompanySiteId()); session.beginTransaction();
campaignCompleteCode.setCompleteValue(String.valueOf(resultValue + 1));
result.setData(resultValue); if (DataUtil.isNullOrZero(completeCodeDTO.getCompanySiteId())) {
result.setErrorCode(Constants.Status.ACTIVE_STR); resultDTO.setErrorCode(Constants.ApiErrorCode.ERROR);
result.setDescription(Constants.Status.ACTIVE_STR); resultDTO.setDescription(Constants.ApiErrorDesc.ERROR);
return resultDTO;
}
try {
StringBuilder sqlStrBuilder = new StringBuilder();
sqlStrBuilder.append(SQLBuilder.getSqlQueryById(SQLBuilder.SQL_MODULE_CAMPAIGN_STATUS_MNG, "get-max-value-completevalue"));
SQLQuery query = session.createSQLQuery(sqlStrBuilder.toString());
query.setParameter("p_site_id", completeCodeDTO.getCompanySiteId());
query.addScalar("completeValue", new StringType());
query.addScalar("companySiteId", new LongType());
query.setResultTransformer(Transformers.aliasToBean(CampaignCompleteCodeDTO.class));
List<CampaignCompleteCodeDTO> data = query.list();
if (data != null && data.size() > 0) {
int tmp = 4;
String completeValue = data.get(0).getCompleteValue();
if (completeValue != null && !completeValue.trim().equals("")) {
tmp = Integer.parseInt(completeValue) + 1;
} }
catch (Exception e){ resultDTO.setData(tmp);
} else {
resultDTO.setData(null);
}
resultDTO.setErrorCode(Constants.ApiErrorCode.SUCCESS);
resultDTO.setDescription(Constants.ApiErrorDesc.SUCCESS);
} catch (Exception e) {
resultDTO.setErrorCode(Constants.ApiErrorCode.ERROR);
resultDTO.setDescription(Constants.ApiErrorDesc.ERROR);
logger.error(e.getMessage(), e); logger.error(e.getMessage(), e);
result.setErrorCode("-1"); } finally {
return result; session.close();
return resultDTO;
} }
result.setErrorCode("0");
return result;
} }
} }
SELECT max(COMPLETE_VALUE) completeValue, COMPANY_SITE_ID companySiteId from CAMPAIGN_COMPLETE_CODE where COMPANY_SITE_ID = :p_site_id GROUP BY COMPANY_SITE_ID
...@@ -12,7 +12,7 @@ SELECT ...@@ -12,7 +12,7 @@ SELECT
FROM CAMPAIGN_COMPLETE_CODE a FROM CAMPAIGN_COMPLETE_CODE a
LEFT JOIN CAMPAIGN b ON a.CAMPAIGN_ID = b.CAMPAIGN_ID LEFT JOIN CAMPAIGN b ON a.CAMPAIGN_ID = b.CAMPAIGN_ID
LEFT JOIN AP_PARAM c ON a.CAMPAIGN_TYPE = to_char(c.AP_PARAM_ID); LEFT JOIN AP_PARAM c ON a.CAMPAIGN_TYPE = to_char(c.AP_PARAM_ID);
SELECT max(COMPLETE_VALUE) ,COMPANY_SITE_ID from CAMPAIGN_COMPLETE_CODE where COMPANY_SITE_ID = : p_site_id GROUP BY COMPANY_SITE_ID
......
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