当前位置: 首页 > news >正文

保定手机网站建设东大桥做网站的公司

保定手机网站建设,东大桥做网站的公司,网站备案的要求是什么样的,中国航天空间站最新消息文章目录 一、建表:activity_holiday_info二、java代码1、ActivitityHolidayController.java2、ActivityHolidayInfoService.java3、ActivityHolidayInfoServiceImpl.java 三、测试效果 有些场景需要计算数据非工作日的情况#xff0c;eg#xff1a;统计每个人每月工作日签到… 文章目录 一、建表:activity_holiday_info二、java代码1、ActivitityHolidayController.java2、ActivityHolidayInfoService.java3、ActivityHolidayInfoServiceImpl.java 三、测试效果 有些场景需要计算数据非工作日的情况eg统计每个人每月工作日签到情况等就需要去除法定节假日和工作日可以新建一个表用来存储和维护这些非工作日。 一、建表:activity_holiday_info CREATE TABLE activity_holiday_info (holiday_id int NOT NULL AUTO_INCREMENT,holiday_name varchar(20) DEFAULT NULL COMMENT 节假日名称,holiday_time date DEFAULT NULL COMMENT 节假日时间,remark varchar(50) DEFAULT NULL COMMENT 备注,PRIMARY KEY (holiday_id) ) ENGINEInnoDB COMMENT节假日; 二、java代码 可以先按照年月初始化周末数据入库 initHolidays按照年份查询已录入系统的非工作日给前端标记在日历中回显展示供运营人员查看和修改 queryHolidays。特殊节假日带官方发布该年份后人工从前端日历控件去修改维护 mergeHolidays。 1、ActivitityHolidayController.java /*** author qy* 非工作日维护*/ RestController RequestMapping(/holidays) Slf4j Api(tags 非工作日维护) public class ActivitityHolidayController {Autowiredprivate ActivityHolidayInfoService activityHolidayInfoService;/*** 非工作日维护周六周日按年份需初始化特殊、节假日页面维护*/ApiOperation(value 按年份初始化周末)GetMapping(value /{year}/initDate)ApiImplicitParams({ApiImplicitParam(name year, dataType String, paramType path)})public ResultBoolean initHolidays(PathVariable String year) {activityHolidayInfoService.initHolidays(year);return Result.success(Boolean.TRUE);}/*** 查询已录入系统的非工作日给前端标记在日历中展示。*/ApiOperation(value 查询已录入系统的非工作日)GetMapping(value /{year}/list)ApiImplicitParams({ApiImplicitParam(name year, dataType String, paramType path)})public ResultListActivityHolidayInfo 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 ResultBoolean mergeHolidays(RequestBody ListActivityHolidayInfo holidayInfos, PathVariable String year) {activityHolidayInfoService.mergeHolidays(holidayInfos, year);return Result.success(Boolean.TRUE);} }2、ActivityHolidayInfoService.java public interface ActivityHolidayInfoService extends IServiceActivityHolidayInfo {/*** 初始化当年周六、周末*/void initHolidays(String year);/*** 查询已录入系统的非工作日*/ListActivityHolidayInfo queryHolidays(String year);/*** 更新该年份的非工作日*/void mergeHolidays(ListActivityHolidayInfo holidayInfos, String year); } 3、ActivityHolidayInfoServiceImpl.java Service public class ActivityHolidayInfoServiceImpl extends ServiceImplActivityHolidayInfoMapper, ActivityHolidayInfo implements ActivityHolidayInfoService {/*** 查询改年份已录入系统的非工作日*/Overridepublic ListActivityHolidayInfo queryHolidays(String year) {QueryWrapperActivityHolidayInfo queryWrapper new QueryWrapper();queryWrapper.lambda().likeRight(ActivityHolidayInfo::getHolidayTime, year);return baseMapper.selectList(queryWrapper);}/*** 更新该年份的非工作日*/Overridepublic void mergeHolidays(ListActivityHolidayInfo holidayInfos, String year) {remove(new QueryWrapperActivityHolidayInfo().lambda().likeRight(ActivityHolidayInfo::getHolidayTime, year));saveBatch(holidayInfos);}// 根据年份和月份获取当月的所有日期public static ListString getDayByMonth(int month, String year) {ListString data new ArrayList();try {Calendar c Calendar.getInstance();// 获取当前的年份// int year c.get(Calendar.YEAR);// 获取本月的总天数int dayCount c.getActualMaximum(Calendar.DAY_OF_MONTH);// 定义时间格式SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd);// 开始日期为当前年月拼接1号Date startDate sdf.parse(year - month -01);// 结束日期为当前年月拼接该月最大天数Date endDate sdf.parse(year - month - dayCount);// 设置calendar的开始日期c.setTime(startDate);// 当前时间小于等于设定的结束时间while (c.getTime().compareTo(endDate) 0) {String time sdf.format(c.getTime());data.add(time);// 当前日期加1c.add(Calendar.DATE, 1);}} catch (ParseException e) {e.printStackTrace();}return data;}/*** 初始化当年周六、周末*/Overridepublic void initHolidays(String year) {try {// 拿到当年中的所有日期ListString 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);ListActivityHolidayInfo activityHolidayInfo new ArrayList();// 添加当年所有日期数据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)) {//先删除该年份数据remove(new QueryWrapperActivityHolidayInfo().lambda().likeRight(ActivityHolidayInfo::getHolidayTime, year));//再批量插入saveBatch(activityHolidayInfo);}} catch (Exception e) {log.error(日期初始化错误);e.printStackTrace();}} }三、测试效果 postman请求http://x.x.x.x:8080/holidays/年份/initDate 数据库情况
http://www.w-s-a.com/news/169257/

相关文章:

  • 网站排名 优帮云小规模公司简介怎么写
  • 那个做头像的网站好选择手机网站建设
  • 设计一个网站花多少时间做视频网站适合用什么服务器
  • asp网站开发环境订单系统单页面网站怎么做
  • 山东网站建设都有那些企业推广策略
  • 网站开发文档是什么概念衣服销售网站建设规划书范文
  • 中国建筑装饰网官网企业网站设计优化公司
  • 南海建设工程交易中心网站c2c交易平台有哪些?
  • 有没有专业做网站架构图的软件番禺建设网站哪个好
  • 建立网站第一步整站seo优化公司
  • php网站开发文章管理系统wordpress 评论 顶踩 心 插件
  • 网站做百度收录的意义html网页设计代码作业代码
  • 网站推广怎么做 知乎衡水做网站开发的
  • 重庆忠县网站建设报价网页构建
  • 怎么自己做单页网站怎么在阿里做网站
  • 公司网站重新备案做电商没几个能赚钱的
  • 网站开发我们都能解决怎样做网站吸引客户
  • 网站首页图片切换代码wordpress minfy
  • 什么程序做网站收录好企业搭建网站的必要性
  • 建设网站主题建站必须要域名吗
  • 网站建设海报设计购物平台网站建设框架
  • 湖北在线网站建设建一个网站迈年
  • 上班自己花钱做的网站网站首页的动态怎么做
  • 台州网站建设哪家便宜沧州最新消息今天
  • 建设网站 请示 报告wordpress会员制
  • 青岛建网站人做网站怎么赚钱广告
  • 网站建设哪家好公司跨境电商展会2023
  • 设计大神云集的网站是南通市 网站设计
  • 心理咨询网站模板企业画册封面设计
  • 做网站 南京网站建设的重难点分析