| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247 |
- package com.trs.ggzyexchange.schedul;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.fasterxml.jackson.core.JsonProcessingException;
- import com.trs.ggzyexchange.entity.*;
- import com.trs.ggzyexchange.enums.ClassIfy;
- import com.trs.ggzyexchange.enums.JobLock;
- import com.trs.ggzyexchange.service.*;
- import com.trs.ggzyexchange.utils.TenderDetailsVoUtils;
- import org.apache.commons.lang3.ObjectUtils;
- import org.quartz.Job;
- import org.quartz.JobExecutionContext;
- import org.quartz.JobExecutionException;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Component;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- /**
- * <p>
- * 成交结果公告 前端控制器
- * </p>
- *
- * @author trs
- * @since 2023-02-24
- */
- @Component
- public class ZrzyJyzbBidwinNoticeSchedul implements Job {
- private Logger logger = LoggerFactory.getLogger(ZrzyJyzbBidwinNoticeSchedul.class);
- @Autowired
- private ZrzyJyzbBidwinNoticeService zrzyJyzbBidwinNoticeService;
- @Autowired
- private GcNoticeandfileService gcNoticeandfileService;
- @Autowired
- private TenderDetailsVoService tenderDetailsVoService;
- @Autowired
- private ScheduledTashService scheduledTashService;
- @Autowired
- private AreaPlatformService areaPlatformService;
- @Autowired
- private ZrzyJyzbNoticeService zrzyJyzbNoticeService;
- public void queryPageListUpdateEs() throws JsonProcessingException {
- //查询当前在定时任务表当中的时间
- QueryWrapper<ScheduledTash> scheduledTashQueryWrapper = new QueryWrapper<ScheduledTash>();
- scheduledTashQueryWrapper.eq("table_name_value","zrzy_jyzb_bidwin_notice");
- Page<ScheduledTash> pageScheduledTash = new Page<ScheduledTash>(1, 1);
- Page<ScheduledTash> page = scheduledTashService.page(pageScheduledTash, scheduledTashQueryWrapper);
- List<ScheduledTash> records = page.getRecords();
- ScheduledTash scheduledTash = null;
- if(records.size() > 0){
- scheduledTash = records.get(0);
- }
- Long time = null;
- if(ObjectUtils.isEmpty(scheduledTash)){
- try {
- //查询表gcNoticeandfile表当中的最新时间
- time = zrzyJyzbBidwinNoticeService.maxDataTimeStamp();
- ScheduledTash scheduledTashTash = new ScheduledTash();
- scheduledTashTash.setTime(0L);
- time = 0L;
- scheduledTashTash.setTableNameValue("zrzy_jyzb_bidwin_notice");
- scheduledTashTash.setUpdateTime(new Date());
- scheduledTashTash.setCreateTime(new Date());
- scheduledTashService.saveOrUpdate(scheduledTashTash,scheduledTashQueryWrapper);
- }catch (Exception e){
- e.printStackTrace();
- }
- }else {
- time = scheduledTash.getTime();
- }
- try {
- //查询表gcNoticeandfile表当中的最新时间
- Long newTime = zrzyJyzbBidwinNoticeService.maxDataTimeStamp();
- ScheduledTash scheduledTashTash = new ScheduledTash();
- scheduledTashTash.setTime(newTime);
- scheduledTashTash.setTableNameValue("zrzy_jyzb_bidwin_notice");
- scheduledTashTash.setUpdateTime(new Date());
- scheduledTashService.saveOrUpdate(scheduledTashTash,scheduledTashQueryWrapper);
- }catch (Exception e){
- e.printStackTrace();
- }
- if(!ObjectUtils.isEmpty(time)){
- QueryWrapper<ZrzyJyzbBidwinNotice> gcPerformanceQueryWrapper = new QueryWrapper<ZrzyJyzbBidwinNotice>();
- gcPerformanceQueryWrapper.gt("DATA_TIMESTAMP",time);
- int count = zrzyJyzbBidwinNoticeService.count(gcPerformanceQueryWrapper);
- Integer pageSize = 1000;
- Integer pageNum = (int)Math.ceil((double)count/pageSize);
- for(int i = 1; i <= pageNum;i++){
- List<TenderDetailsVo> tenderDetailsVoListAll = getTenderDetailsVoListAll(i, pageSize,time);
- gcNoticeandfileService.parseTenderDetailsVo(tenderDetailsVoListAll);
- }
- }
- }
- public List<TenderDetailsVo> getTenderDetailsVoListAll(Integer pageNo,Integer pageSize,Long time){
- QueryWrapper<ZrzyJyzbBidwinNotice> gcPerformanceQueryWrapper = new QueryWrapper<ZrzyJyzbBidwinNotice>();
- gcPerformanceQueryWrapper.gt("ISSUE_TIME",time);
- Page<ZrzyJyzbBidwinNotice> page = new Page<ZrzyJyzbBidwinNotice>(pageNo, pageSize);
- Page<ZrzyJyzbBidwinNotice> page1 = zrzyJyzbBidwinNoticeService.page(page,gcPerformanceQueryWrapper);
- List<ZrzyJyzbBidwinNotice> records = page1.getRecords();
- List<TenderDetailsVo> tenderDetailsVos = new ArrayList<TenderDetailsVo>();
- for (ZrzyJyzbBidwinNotice record : records) {
- TenderDetailsVo tenderDetailsVo = new TenderDetailsVo();
- String projectCode = record.getProjectCode();
- if(!ObjectUtils.isEmpty(projectCode)){
- tenderDetailsVo.setProjectCode(projectCode);
- }
- String noticeName = record.getNoticeNane();
- if(!ObjectUtils.isEmpty(noticeName)){
- tenderDetailsVo.setNoticeName(noticeName);
- }
- String projectName = record.getProjectName();
- if(!ObjectUtils.isEmpty(projectName)){
- tenderDetailsVo.setProjectName(projectName);
- }
- String unifiedDealCode = record.getUnifiedDealCode();
- if(!ObjectUtils.isEmpty(unifiedDealCode)){
- tenderDetailsVo.setTenderProjectCode(unifiedDealCode);
- }
- String noticeContent = record.getNoticeContent();
- if(!ObjectUtils.isEmpty(noticeContent)){
- tenderDetailsVo.setNoticeContent(noticeContent);
- }
- Long getIssueTime = record.getIssueTime();
- if(!ObjectUtils.isEmpty(getIssueTime)){
- tenderDetailsVo.setNoticeSendTime(getIssueTime.toString());
- tenderDetailsVo.setDocGetStartTime(getIssueTime.toString());
- }
- String projectCode1 = record.getProjectCode();
- if (!ObjectUtils.isEmpty(projectCode1)) {
- String regionCode = getRegionCode(projectCode1);
- if(!ObjectUtils.isEmpty(regionCode)){
- tenderDetailsVo.setRegionCode(regionCode);
- }
- }
- Long dealTime = record.getDataTimestamp();
- if(!ObjectUtils.isEmpty(dealTime)){
- tenderDetailsVo.setDocGetEndTime(dealTime.toString());
- }
- String sourceDataKey = record.getSourceDataKey();
- if(!ObjectUtils.isEmpty(sourceDataKey)){
- tenderDetailsVo.setSourceDataKey(sourceDataKey+getIssueTime);
- }
- String dataSourceCode = record.getSourceDataCode();
- if(!ObjectUtils.isEmpty(dataSourceCode)){
- tenderDetailsVo.setDataSourceCode(dataSourceCode);
- }
- tenderDetailsVos.add(tenderDetailsVo);
- }
- for (TenderDetailsVo record : tenderDetailsVos) {
- try {
- record.setNoticeTypeCode(ClassIfy.TRANSACTION_PARCEL.getCode());
- record.setNoticeTypeName(ClassIfy.TRANSACTION_PARCEL.getName());
- record.setTransactionTypeCode(ClassIfy.NATURAL_RESOURCES.getCode());
- record.setTransactionTypeName(ClassIfy.NATURAL_RESOURCES.getName());
- record = tenderDetailsVoService.getTenderDetailsVoAllOrther(record);
- try {
- String regionCode = record.getRegionCode();
- AreaPlatform areaPlatformByRegionCode = areaPlatformService.getAreaPlatformByRegionCode(regionCode);
- if(!ObjectUtils.isEmpty(areaPlatformByRegionCode)){
- record.setPlatformCode(areaPlatformByRegionCode.getPlatformCode());
- record.setPlatformName(areaPlatformByRegionCode.getRegionName());
- }
- }catch (Exception e){
- e.printStackTrace();
- }
- TenderDetailsVoUtils.isNull(record);
- }catch (Exception e){
- e.printStackTrace();
- }
- }
- return tenderDetailsVos;
- }
- @Override
- public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
- try {
- if(JobLock.zrzyJyzbBidwinNoticeFlag){
- JobLock.zrzyJyzbBidwinNoticeFlag = false;
- logger.info("执行ZrzyCkqBidwinnotice", new SimpleDateFormat().format(new Date()));
- try {
- queryPageListUpdateEs();
- } catch (Exception e) {
- e.printStackTrace();
- }
- JobLock.zrzyJyzbBidwinNoticeFlag = true;
- }else{
- logger.info("不执行zrzyJyzbBidwinNotice", new SimpleDateFormat().format(new Date()));
- }
- }catch (Exception e){
- e.printStackTrace();
- JobLock.zrzyJyzbBidwinNoticeFlag = true;
- }
- }
- public void execute() throws JobExecutionException {
- try {
- if(JobLock.zrzyJyzbBidwinNoticeFlag){
- JobLock.zrzyJyzbBidwinNoticeFlag = false;
- logger.info("执行zrzyJyzbBidwinNotice", new SimpleDateFormat().format(new Date()));
- try {
- queryPageListUpdateEs();
- } catch (Exception e) {
- e.printStackTrace();
- }
- JobLock.zrzyJyzbBidwinNoticeFlag = true;
- }else{
- logger.info("不执行zrzyJyzbBidwinNotice", new SimpleDateFormat().format(new Date()));
- }
- }catch (Exception e){
- e.printStackTrace();
- JobLock.zrzyJyzbBidwinNoticeFlag = true;
- }
- }
- public String getRegionCode(String projectCode){
- String zone = null;
- if(!ObjectUtils.isEmpty(projectCode)){
- QueryWrapper<ZrzyJyzbNotice> zrzyJyzbNoticeQueryWrapper = new QueryWrapper<ZrzyJyzbNotice>();
- zrzyJyzbNoticeQueryWrapper.gt("PROJECT_CODE",projectCode);
- Page<ZrzyJyzbNotice> page = new Page<ZrzyJyzbNotice>(1, 1);
- Page<ZrzyJyzbNotice> page1 = zrzyJyzbNoticeService.page(page,zrzyJyzbNoticeQueryWrapper);
- List<ZrzyJyzbNotice> records = page1.getRecords();
- if(!ObjectUtils.isEmpty(records)){
- if(records.size() >= 1){
- ZrzyJyzbNotice zrzyJyzbNotice = records.get(0);
- zone = zrzyJyzbNotice.getZone();
- }
- }
- }
- return zone;
- }
- }
|