栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java获取日历数据及用mybatis进行保存

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java获取日历数据及用mybatis进行保存

@Configuration
public class RestClientConfig {
    @Bean
    RestTemplate  restTemplate(){
        return new RestTemplate();
    }
}
package com.htf.damp.service.impl;

import com.htf.damp.mapper.HolidayMapper;
import com.htf.damp.model.DayHodilyDetail;
import com.htf.damp.model.MonthHodilyDetail;
import com.htf.damp.model.YearHodilyResponse;
import com.htf.damp.model.po.HolidayPO;
import com.htf.damp.service.HolidayService;
import com.htf.util.CollectionUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;

import java.util.Calendar;
import java.util.List;

@Service
@Slf4j
public class HolidayServiceImpl implements HolidayService {

    @Autowired
    private RestTemplate restTemplate;


    @Autowired
    private HolidayMapper holidayMapper;

    private final static String HOLIDAY_API_URL = "https://www.mxnzp.com/api/holiday/list/year/%s?app_id=fpkvnbgtxxwcjmml&app_secret=eFBocExXRnZySTY4dElTUWxQZWVCQT09";

    @Override
    public String syncHolidayData() {
        Calendar calendar = Calendar.getInstance();

        int year = calendar.get(Calendar.YEAR);

        String holidayApiUrl = String.format(HOLIDAY_API_URL,year);

        YearHodilyResponse responce = restTemplate.getForObject(holidayApiUrl,YearHodilyResponse.class);
        holidayDataMaintain(responce);
        return null;
    }
    public void holidayDataMaintain(YearHodilyResponse response) {
        if (null == response || CollectionUtils.isEmpty(response.getData())) {
            log.warn("未获取到节假日数据或解析节假日数据失败");
            return;
        }

        List dayHodilyDetails;
        for (MonthHodilyDetail monthHodilyDetail : response.getData()) {
            dayHodilyDetails = monthHodilyDetail.getDays();
            if (CollectionUtils.isEmpty(dayHodilyDetails)) {
                continue;
            }

            for (DayHodilyDetail dayHodilyDetail : dayHodilyDetails) {
                log.info("初始化日期={}", dayHodilyDetail.getDate());
                HolidayPO holidayPO = buildHolidayPO(monthHodilyDetail, dayHodilyDetail);
                List existPO = holidayMapper.selectByDate(dayHodilyDetail.getDate());
                if (CollectionUtils.isEmpty(existPO)) {
                    holidayMapper.insert(holidayPO);
                } else {
                    holidayMapper.updateByDate(holidayPO);
                }
            }
        }
    }

    private HolidayPO buildHolidayPO(MonthHodilyDetail monthHodilyDetail, DayHodilyDetail dayHodilyDetail) {
        HolidayPO holidayPO = new HolidayPO();
        holidayPO.setTheDate(dayHodilyDetail.getDate());
        holidayPO.setTheYear(monthHodilyDetail.getYear());
        holidayPO.setTheMonth(monthHodilyDetail.getMonth());
        holidayPO.setDateType(dayHodilyDetail.getType());
        holidayPO.setTypeDesc(dayHodilyDetail.getTypeDes());
        holidayPO.setWeekday(dayHodilyDetail.getWeekDay());
        holidayPO.setDayOfYear(dayHodilyDetail.getDayOfYear());
        holidayPO.setWeekOfYear(dayHodilyDetail.getWeekOfYear());
        return holidayPO;
    }
}
package com.htf.damp.model.po;

import lombok.Data;

@Data
public class HolidayPO extends BasePo{
    private String theDate;
    private String theYear;
    private String theMonth;
    private Integer dateType;
    private String typeDesc;
    private Integer weekday;
    private Integer dayOfYear;
    private Integer weekOfYear;
    private Integer isQuality;
    private String qualityUserId;
    private Integer isPublish;
    private Integer status;
}
@Data
public class YearHodilyResponse {

    private Integer code;
    private String msg;
    private List data;

}
@Data
public class MonthHodilyDetail implements Serializable {

	
	private static final long serialVersionUID = 3451474789401838239L;

	
	private String month;

	
	private String year;

	
	private List days;

}
package com.htf.damp.model;

import java.io.Serializable;
import lombok.Data;

@Data
public class DayHodilyDetail implements Serializable {

	
	private static final long serialVersionUID = 853431153574675841L;

	
	private String date;

	
	private Integer weekDay;

	
	private String yearTips;

	
	private Integer type;

	
	private String typeDes;

	
	private String chineseZodiac;

	
	private String solarTerms;

	
	private String avoid;

	
	private String lunarCalendar;

	
	private String suit;

	
	private Integer dayOfYear;

	
	private Integer weekOfYear;

	
	private String constellation;

}

package com.htf.damp.mapper;

import com.htf.damp.model.po.HolidayPO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.math.BigDecimal;
import java.util.List;

@Mapper
public interface HolidayMapper {
    
    int deleteByPrimaryKey(BigDecimal id);
    
    int insert(HolidayPO record);
    
    int insertSelective(HolidayPO record);
    
    HolidayPO selectByPrimaryKey(BigDecimal id);
    
    int updateByPrimaryKeySelective(HolidayPO record);
    
    int updateByPrimaryKey(HolidayPO record);

    List selectByDate(@Param(value = "theDate") String theDate);

    void updateByDate(HolidayPO holidayPO);

    List selectByDateType(@Param(value = "dateType") Integer theDate);

    @Select("select * from T_DAMP_QUALITY_HOLIDAY where DATE_TYPE != 0")
    List selectNotWeekdays();

}



  
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
  
  
    
    ID, THE_DATE, THE_YEAR, THE_MONTH, DATE_TYPE, TYPE_DESC, WEEKDAY, DAY_OF_YEAR, WEEK_OF_YEAR, 
    IS_QUALITY, QUALITY_USER_ID, IS_PUBLISH, STATUS, CREATE_USER_ID, CREATE_USER_NAME, 
    CREATE_TIME, UPDATE_USER_ID, UPDATE_USER_NAME, UPDATE_TIME, IS_DELETE
  

  
    
    select 
    
    from T_DAMP_QUALITY_HOLIDAY
    where ID = #{id,jdbcType=DECIMAL}
  
  
    
    update T_DAMP_QUALITY_HOLIDAY
    
      
        THE_YEAR = #{theYear,jdbcType=VARCHAR},
      
      
        THE_MONTH = #{theMonth,jdbcType=VARCHAR},
      
      
        DATE_TYPE = #{dateType,jdbcType=DECIMAL},
      
      
        TYPE_DESC = #{typeDesc,jdbcType=VARCHAR},
      
      
        WEEKDAY = #{weekday,jdbcType=DECIMAL},
      
      
        DAY_OF_YEAR = #{dayOfYear,jdbcType=DECIMAL},
      
      
        WEEK_OF_YEAR = #{weekOfYear,jdbcType=DECIMAL},
      
      
        IS_QUALITY = #{isQuality,jdbcType=DECIMAL},
      
      
        QUALITY_USER_ID = #{qualityUserId,jdbcType=VARCHAR},
      
      
        IS_PUBLISH = #{isPublish,jdbcType=DECIMAL},
      
      
        STATUS = #{status,jdbcType=DECIMAL},
      
      
        CREATE_USER_ID = #{createUserId,jdbcType=VARCHAR},
      
      
        CREATE_USER_NAME = #{createUserName,jdbcType=VARCHAR},
      
      
        CREATE_TIME = #{createTime,jdbcType=DECIMAL},
      
      
        UPDATE_USER_ID = #{updateUserId,jdbcType=VARCHAR},
      
      
        UPDATE_USER_NAME = #{updateUserName,jdbcType=VARCHAR},
      
      
        UPDATE_TIME = #{updateTime,jdbcType=DECIMAL},
      
      
        IS_DELETE = #{isDelete,jdbcType=DECIMAL},
      
    
    where THE_DATE = #{theDate,jdbcType=VARCHAR}
  
  
    
    delete from T_DAMP_QUALITY_HOLIDAY
    where ID = #{id,jdbcType=DECIMAL}
  
  
    
    insert into T_DAMP_QUALITY_HOLIDAY (ID, THE_DATE, THE_YEAR,
      THE_MONTH, DATE_TYPE, TYPE_DESC, 
      WEEKDAY, DAY_OF_YEAR, WEEK_OF_YEAR, 
      IS_QUALITY, QUALITY_USER_ID, IS_PUBLISH, 
      STATUS, CREATE_USER_ID, CREATE_USER_NAME, 
      CREATE_TIME, UPDATE_USER_ID, UPDATE_USER_NAME, 
      UPDATE_TIME, IS_DELETE)
    values (#{id,jdbcType=DECIMAL}, #{theDate,jdbcType=VARCHAR}, #{theYear,jdbcType=VARCHAR},
      #{theMonth,jdbcType=VARCHAR}, #{dateType,jdbcType=DECIMAL}, #{typeDesc,jdbcType=VARCHAR},
      #{weekday,jdbcType=DECIMAL}, #{dayOfYear,jdbcType=DECIMAL}, #{weekOfYear,jdbcType=DECIMAL}, 
      #{isQuality,jdbcType=DECIMAL}, #{qualityUserId,jdbcType=VARCHAR}, #{isPublish,jdbcType=DECIMAL},
      #{status,jdbcType=DECIMAL}, #{createUserId,jdbcType=VARCHAR}, #{createUserName,jdbcType=VARCHAR},
      #{createTime,jdbcType=DECIMAL}, #{updateUserId,jdbcType=VARCHAR}, #{updateUserName,jdbcType=VARCHAR},
      #{updateTime,jdbcType=DECIMAL}, #{isDelete,jdbcType=DECIMAL})
  
  
    
    insert into T_DAMP_QUALITY_HOLIDAY
    
      
        ID,
      
      
        THE_DATE,
      
      
        THE_YEAR,
      
      
        THE_MONTH,
      
      
        DATE_TYPE,
      
      
        TYPE_DESC,
      
      
        WEEKDAY,
      
      
        DAY_OF_YEAR,
      
      
        WEEK_OF_YEAR,
      
      
        IS_QUALITY,
      
      
        QUALITY_USER_ID,
      
      
        IS_PUBLISH,
      
      
        STATUS,
      
      
        CREATE_USER_ID,
      
      
        CREATE_USER_NAME,
      
      
        CREATE_TIME,
      
      
        UPDATE_USER_ID,
      
      
        UPDATE_USER_NAME,
      
      
        UPDATE_TIME,
      
      
        IS_DELETE,
      
    
    
      
        #{id,jdbcType=DECIMAL},
      
      
        #{theDate,jdbcType=VARCHAR},
      
      
        #{theYear,jdbcType=VARCHAR},
      
      
        #{theMonth,jdbcType=VARCHAR},
      
      
        #{dateType,jdbcType=DECIMAL},
      
      
        #{typeDesc,jdbcType=VARCHAR},
      
      
        #{weekday,jdbcType=DECIMAL},
      
      
        #{dayOfYear,jdbcType=DECIMAL},
      
      
        #{weekOfYear,jdbcType=DECIMAL},
      
      
        #{isQuality,jdbcType=DECIMAL},
      
      
        #{qualityUserId,jdbcType=VARCHAR},
      
      
        #{isPublish,jdbcType=DECIMAL},
      
      
        #{status,jdbcType=DECIMAL},
      
      
        #{createUserId,jdbcType=VARCHAR},
      
      
        #{createUserName,jdbcType=VARCHAR},
      
      
        #{createTime,jdbcType=DECIMAL},
      
      
        #{updateUserId,jdbcType=VARCHAR},
      
      
        #{updateUserName,jdbcType=VARCHAR},
      
      
        #{updateTime,jdbcType=DECIMAL},
      
      
        #{isDelete,jdbcType=DECIMAL},
      
    
  
  
    
    update T_DAMP_QUALITY_HOLIDAY
    
      
        THE_DATE = #{theDate,jdbcType=VARCHAR},
      
      
        THE_YEAR = #{theYear,jdbcType=VARCHAR},
      
      
        THE_MONTH = #{theMonth,jdbcType=VARCHAR},
      
      
        DATE_TYPE = #{dateType,jdbcType=DECIMAL},
      
      
        TYPE_DESC = #{typeDesc,jdbcType=VARCHAR},
      
      
        WEEKDAY = #{weekday,jdbcType=DECIMAL},
      
      
        DAY_OF_YEAR = #{dayOfYear,jdbcType=DECIMAL},
      
      
        WEEK_OF_YEAR = #{weekOfYear,jdbcType=DECIMAL},
      
      
        IS_QUALITY = #{isQuality,jdbcType=DECIMAL},
      
      
        QUALITY_USER_ID = #{qualityUserId,jdbcType=VARCHAR},
      
      
        IS_PUBLISH = #{isPublish,jdbcType=DECIMAL},
      
      
        STATUS = #{status,jdbcType=DECIMAL},
      
      
        CREATE_USER_ID = #{createUserId,jdbcType=VARCHAR},
      
      
        CREATE_USER_NAME = #{createUserName,jdbcType=VARCHAR},
      
      
        CREATE_TIME = #{createTime,jdbcType=DECIMAL},
      
      
        UPDATE_USER_ID = #{updateUserId,jdbcType=VARCHAR},
      
      
        UPDATE_USER_NAME = #{updateUserName,jdbcType=VARCHAR},
      
      
        UPDATE_TIME = #{updateTime,jdbcType=DECIMAL},
      
      
        IS_DELETE = #{isDelete,jdbcType=DECIMAL},
      
    
    where ID = #{id,jdbcType=DECIMAL}
  
  
    
    update T_DAMP_QUALITY_HOLIDAY
    set THE_DATE = #{theDate,jdbcType=VARCHAR},
      THE_YEAR = #{theYear,jdbcType=VARCHAR},
      THE_MONTH = #{theMonth,jdbcType=VARCHAR},
      DATE_TYPE = #{dateType,jdbcType=DECIMAL},
      TYPE_DESC = #{typeDesc,jdbcType=VARCHAR},
      WEEKDAY = #{weekday,jdbcType=DECIMAL},
      DAY_OF_YEAR = #{dayOfYear,jdbcType=DECIMAL},
      WEEK_OF_YEAR = #{weekOfYear,jdbcType=DECIMAL},
      IS_QUALITY = #{isQuality,jdbcType=DECIMAL},
      QUALITY_USER_ID = #{qualityUserId,jdbcType=VARCHAR},
      IS_PUBLISH = #{isPublish,jdbcType=DECIMAL},
      STATUS = #{status,jdbcType=DECIMAL},
      CREATE_USER_ID = #{createUserId,jdbcType=VARCHAR},
      CREATE_USER_NAME = #{createUserName,jdbcType=VARCHAR},
      CREATE_TIME = #{createTime,jdbcType=DECIMAL},
      UPDATE_USER_ID = #{updateUserId,jdbcType=VARCHAR},
      UPDATE_USER_NAME = #{updateUserName,jdbcType=VARCHAR},
      UPDATE_TIME = #{updateTime,jdbcType=DECIMAL},
      IS_DELETE = #{isDelete,jdbcType=DECIMAL}
    where ID = #{id,jdbcType=DECIMAL}
  

orcal表设计:



-- ----------------------------
-- Table structure for T_DAMP_QUALITY_HOLIDAY
-- ----------------------------
DROP TABLE "HTFUTURES"."T_DAMP_QUALITY_HOLIDAY";
CREATE TABLE "HTFUTURES"."T_DAMP_QUALITY_HOLIDAY" (
  "ID" NVARCHAr2(32) VISIBLE NOT NULL,
  "THE_DATE" NVARCHAr2(10) VISIBLE,
  "THE_YEAR" NVARCHAr2(4) VISIBLE,
  "THE_MONTH" NVARCHAr2(2) VISIBLE,
  "DATE_TYPE" NUMBER(1,0) VISIBLE,
  "TYPE_DESC" NVARCHAr2(50) VISIBLE,
  "WEEKDAY" NUMBER(1,0) VISIBLE,
  "DAY_OF_YEAR" NUMBER(3,0) VISIBLE,
  "WEEK_OF_YEAR" NUMBER(2,0) VISIBLE,
  "IS_QUALITY" NUMBER(1,0) VISIBLE,
  "QUALITY_USER_ID" NVARCHAr2(50) VISIBLE,
  "IS_PUBLISH" NUMBER(1,0) VISIBLE DEFAULT 1,
  "STATUS" NUMBER(1,0) VISIBLE,
  "CREATE_USER_ID" NVARCHAr2(50) VISIBLE,
  "CREATE_USER_NAME" NVARCHAr2(50) VISIBLE,
  "CREATE_TIME" DATE VISIBLE,
  "UPDATE_USER_ID" NVARCHAr2(50) VISIBLE,
  "UPDATE_USER_NAME" NVARCHAr2(50) VISIBLE,
  "UPDATE_TIME" DATE VISIBLE,
  "IS_DELETE" NUMBER(1,0) VISIBLE DEFAULT 1
)
LOGGING
NOCOMPRESS
PCTFREE 10
INITRANS 1
STORAGE (
  INITIAL 163840 
  NEXT 1048576 
  MINEXTENTS 1
  MAXEXTENTS 2147483645
  BUFFER_POOL DEFAULT
)
PARALLEL 1
NOCACHE
DISABLE ROW MOVEMENT
;

-- ----------------------------
-- Primary Key structure for table T_DAMP_QUALITY_HOLIDAY
-- ----------------------------
ALTER TABLE "HTFUTURES"."T_DAMP_QUALITY_HOLIDAY" ADD CONSTRAINT "SYS_C00342809" PRIMARY KEY ("ID");

-- ----------------------------
-- Checks structure for table T_DAMP_QUALITY_HOLIDAY
-- ----------------------------
ALTER TABLE "HTFUTURES"."T_DAMP_QUALITY_HOLIDAY" ADD CONSTRAINT "SYS_C00342808" CHECK ("ID" IS NOT NULL) NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/937612.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号