国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

湛江免費(fèi)建站模板短視頻剪輯培訓(xùn)班多少錢

湛江免費(fèi)建站模板,短視頻剪輯培訓(xùn)班多少錢,做網(wǎng)站可以賺錢嗎,大學(xué)生網(wǎng)頁設(shè)計實(shí)訓(xùn)報告文章目錄 一、建表:activity_holiday_info二、java代碼1、ActivitityHolidayController.java2、ActivityHolidayInfoService.java3、ActivityHolidayInfoServiceImpl.java 三、測試效果 有些場景需要計算數(shù)據(jù)非工作日的情況,eg:統(tǒng)計每個人每月工作日簽到…

文章目錄

  • 一、建表:activity_holiday_info
  • 二、java代碼
    • 1、ActivitityHolidayController.java
    • 2、ActivityHolidayInfoService.java
    • 3、ActivityHolidayInfoServiceImpl.java
  • 三、測試效果

有些場景需要計算數(shù)據(jù)非工作日的情況,eg:統(tǒng)計每個人每月工作日簽到情況等,就需要去除法定節(jié)假日和工作日,可以新建一個表用來存儲和維護(hù)這些非工作日。

一、建表:activity_holiday_info

CREATE TABLE `activity_holiday_info` (`holiday_id` int NOT NULL AUTO_INCREMENT,`holiday_name` varchar(20) DEFAULT NULL COMMENT '節(jié)假日名稱',`holiday_time` date DEFAULT NULL COMMENT '節(jié)假日時間',`remark` varchar(50) DEFAULT NULL COMMENT '備注',PRIMARY KEY (`holiday_id`)
) ENGINE=InnoDB  COMMENT='節(jié)假日';

二、java代碼

  • 可以先按照年月初始化周末數(shù)據(jù)入庫 initHolidays();
  • 按照年份查詢已錄入系統(tǒng)的非工作日給前端,標(biāo)記在日歷📅中回顯展示,供運(yùn)營人員查看和修改 queryHolidays()。
  • 特殊節(jié)假日帶官方發(fā)布該年份后,人工從前端日歷控件去修改維護(hù) mergeHolidays()。

1、ActivitityHolidayController.java

/*** @author qy* 非工作日維護(hù)*/
@RestController
@RequestMapping("/holidays")
@Slf4j
@Api(tags = "非工作日維護(hù)")
public class ActivitityHolidayController {@Autowiredprivate ActivityHolidayInfoService activityHolidayInfoService;/*** 非工作日維護(hù),周六周日按年份需初始化,特殊、節(jié)假日頁面維護(hù)*/@ApiOperation(value = "按年份初始化周末")@GetMapping(value = "/{year}/initDate")@ApiImplicitParams({@ApiImplicitParam(name = "year", dataType = "String", paramType = "path")})public Result<Boolean> initHolidays(@PathVariable String year) {activityHolidayInfoService.initHolidays(year);return Result.success(Boolean.TRUE);}/*** 查詢已錄入系統(tǒng)的非工作日給前端,標(biāo)記在日歷📅中展示。*/@ApiOperation(value = "查詢已錄入系統(tǒng)的非工作日")@GetMapping(value = "/{year}/list")@ApiImplicitParams({@ApiImplicitParam(name = "year", dataType = "String", paramType = "path")})public Result<List<ActivityHolidayInfo>> queryHolidays(@PathVariable String year) {return Result.success(activityHolidayInfoService.queryHolidays(year));}/*** 更新該年份的非工作日()*/@ApiOperation(value = "更新該年份的非工作日")@PutMapping(value = "/{year}/list")@ApiImplicitParams({@ApiImplicitParam(name = "year", dataType = "String", paramType = "path")})public Result<Boolean> mergeHolidays(@RequestBody List<ActivityHolidayInfo> holidayInfos, @PathVariable String year) {activityHolidayInfoService.mergeHolidays(holidayInfos, year);return Result.success(Boolean.TRUE);}
}

2、ActivityHolidayInfoService.java

public interface ActivityHolidayInfoService extends IService<ActivityHolidayInfo> {/*** 初始化當(dāng)年周六、周末*/void initHolidays(String year);/*** 查詢已錄入系統(tǒng)的非工作日*/List<ActivityHolidayInfo> queryHolidays(String year);/*** 更新該年份的非工作日*/void mergeHolidays(List<ActivityHolidayInfo> holidayInfos, String year);
}

3、ActivityHolidayInfoServiceImpl.java


@Service
public class ActivityHolidayInfoServiceImpl extends ServiceImpl<ActivityHolidayInfoMapper, ActivityHolidayInfo> implements ActivityHolidayInfoService {/*** 查詢改年份已錄入系統(tǒng)的非工作日*/@Overridepublic List<ActivityHolidayInfo> queryHolidays(String year) {QueryWrapper<ActivityHolidayInfo> queryWrapper = new QueryWrapper<>();queryWrapper.lambda().likeRight(ActivityHolidayInfo::getHolidayTime, year);return baseMapper.selectList(queryWrapper);}/*** 更新該年份的非工作日*/@Overridepublic void mergeHolidays(List<ActivityHolidayInfo> holidayInfos, String year) {remove(new QueryWrapper<ActivityHolidayInfo>().lambda().likeRight(ActivityHolidayInfo::getHolidayTime, year));saveBatch(holidayInfos);}// 根據(jù)年份和月份獲取當(dāng)月的所有日期public static List<String> getDayByMonth(int month, String year) {List<String> data = new ArrayList<>();try {Calendar c = Calendar.getInstance();// 獲取當(dāng)前的年份// int year = c.get(Calendar.YEAR);// 獲取本月的總天數(shù)int dayCount = c.getActualMaximum(Calendar.DAY_OF_MONTH);// 定義時間格式SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");// 開始日期為當(dāng)前年月拼接1號Date startDate = sdf.parse(year + "-" + month + "-01");// 結(jié)束日期為當(dāng)前年月拼接該月最大天數(shù)Date endDate = sdf.parse(year + "-" + month + "-" + dayCount);// 設(shè)置calendar的開始日期c.setTime(startDate);// 當(dāng)前時間小于等于設(shè)定的結(jié)束時間while (c.getTime().compareTo(endDate) <= 0) {String time = sdf.format(c.getTime());data.add(time);// 當(dāng)前日期加1c.add(Calendar.DATE, 1);}} catch (ParseException e) {e.printStackTrace();}return data;}/*** 初始化當(dāng)年周六、周末*/@Overridepublic   void initHolidays(String year) {try {// 拿到當(dāng)年中的所有日期List<String> dateList = new ArrayList<>();for (int i = 1; i <= 12; i++) {dateList.addAll(getDayByMonth(i, year));}dateList = dateList.stream().distinct().collect(Collectors.toList());// set 日期SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");List<ActivityHolidayInfo> activityHolidayInfo = new ArrayList<>();// 添加當(dāng)年所有日期數(shù)據(jù)for (String date : dateList) {ActivityHolidayInfo serviceDate = new ActivityHolidayInfo();Calendar calendar = Calendar.getInstance();calendar.setTime(simpleDateFormat.parse(date));// index 值為 7 時 是周六  值為 1 時是末, 美國周六是一周的最后一天,周日是一周的最后一天int index = calendar.get(Calendar.DAY_OF_WEEK);if (index == 7) {serviceDate.setHolidayName("周六");serviceDate.setRemark("周末");serviceDate.setHolidayTime(simpleDateFormat.parse(date));activityHolidayInfo.add(serviceDate);} else if (index == 1) {serviceDate.setHolidayName("周日");serviceDate.setRemark("周末");serviceDate.setHolidayTime(simpleDateFormat.parse(date));activityHolidayInfo.add(serviceDate);}}if (!CollectionUtils.isEmpty(activityHolidayInfo)) {//先刪除該年份數(shù)據(jù)remove(new QueryWrapper<ActivityHolidayInfo>().lambda().likeRight(ActivityHolidayInfo::getHolidayTime, year));//再批量插入saveBatch(activityHolidayInfo);}} catch (Exception e) {log.error("日期初始化錯誤");e.printStackTrace();}}
}

三、測試效果

postman請求:http://x.x.x.x:8080/holidays/年份/initDate

數(shù)據(jù)庫情況:

在這里插入圖片描述

http://m.aloenet.com.cn/news/32623.html

相關(guān)文章:

  • 剛建的網(wǎng)站百度搜不到聯(lián)合早報 即時消息
  • 推廣網(wǎng)站怎么建設(shè)和維護(hù)seo資訊
  • 產(chǎn)品外包裝設(shè)計網(wǎng)站直通車關(guān)鍵詞優(yōu)化
  • 鄭州天梯網(wǎng)站制作seo研究協(xié)會
  • wordpress左邊欄網(wǎng)頁seo優(yōu)化
  • 哪家公司建網(wǎng)站好推廣代理平臺
  • 開州快速建網(wǎng)站江蘇網(wǎng)頁定制
  • 外包做網(wǎng)站賺錢么讓手機(jī)變流暢的軟件下載
  • 網(wǎng)站站內(nèi)消息設(shè)計方案優(yōu)化大師官方
  • 個人網(wǎng)站建站指南營銷策劃書模板
  • 網(wǎng)站創(chuàng)建時間查詢怎樣推廣app別人才愿意下載
  • 網(wǎng)站建設(shè)banner內(nèi)部優(yōu)化
  • 做國外百科知識網(wǎng)站百度代理查詢
  • 網(wǎng)站動態(tài)海報效果怎么做的寧波seo搜索引擎優(yōu)化公司
  • 做網(wǎng)頁賺錢seo排名優(yōu)化方式
  • 淘寶購物券網(wǎng)站怎么做童程童美少兒編程怎樣收費(fèi)
  • 哪里有網(wǎng)站建設(shè)多少錢百度問一問付費(fèi)咨詢
  • 西寧網(wǎng)站建設(shè)嘉薦君博lseo優(yōu)化的主要內(nèi)容
  • wap歌詞廊坊seo推廣
  • 服務(wù)器 網(wǎng)站 app網(wǎng)絡(luò)營銷的收獲與體會
  • 汽車做網(wǎng)站廣州網(wǎng)站建設(shè)推薦
  • 順的做網(wǎng)站便宜嗎seo主要優(yōu)化
  • wordpress 添加錨點(diǎn)seo服務(wù)外包客服
  • 怎樣更新網(wǎng)站內(nèi)容網(wǎng)絡(luò)營銷五種方法
  • wordpress播客主題濰坊seo招聘
  • 前端基礎(chǔ)知識谷歌官方seo入門指南
  • 醫(yī)院的網(wǎng)站關(guān)鍵詞定位一般是什么seo優(yōu)化團(tuán)隊(duì)
  • 合肥大型網(wǎng)站sem是指什么
  • 更換網(wǎng)站模板比優(yōu)化更好的詞是
  • 網(wǎng)站開發(fā)的形式是app營銷