1/31
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
package com.yxt.yythmall.api.cannotreservedictionary;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author wangpengfei
|
||||
* @date 2023/11/21 15:06
|
||||
*/
|
||||
@ApiModel(value = "不能预约时间字典", description = "不能预约时间字典")
|
||||
@TableName("cannot_reserve_dictionary")
|
||||
@Data
|
||||
public class CannotReserveDictionary {
|
||||
private String id;
|
||||
private String sid = UUID.randomUUID().toString();
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date createTime;
|
||||
private String remarks;
|
||||
private String unavailableTime;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.yxt.yythmall.api.cannotreservedictionary;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.yxt.common.core.dto.Dto;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author wangpengfei
|
||||
* @date 2023/11/21 15:13
|
||||
*/
|
||||
@ApiModel(value = "不能预约时间字典 数据传输对象", description = "不能预约时间字典 数据传输对象")
|
||||
@Data
|
||||
public class CannotReserveDictionaryDto implements Dto {
|
||||
private String id;
|
||||
private String sid ;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date createTime;
|
||||
private String remarks;
|
||||
private String unavailableTime;
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.yxt.yythmall.api.cannotreservedictionary;
|
||||
|
||||
import com.yxt.common.core.query.Query;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author wangpengfei
|
||||
* @date 2023/11/21 15:31
|
||||
*/
|
||||
@ApiModel(value = "不能预约时间字典 查询条件", description = "不能预约时间字典 查询条件")
|
||||
@Data
|
||||
public class CannotReserveDictionaryQuery implements Query {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.yxt.yythmall.api.cannotreservedictionary;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.yxt.common.core.vo.Vo;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author wangpengfei
|
||||
* @date 2023/11/21 15:12
|
||||
*/
|
||||
@Data
|
||||
@ApiModel(value = "不能预约时间字典 视图数据对象", description = "不能预约时间字典 视图数据对象")
|
||||
@NoArgsConstructor
|
||||
public class CannotReserveDictionaryVo implements Vo {
|
||||
private String id;
|
||||
private String sid ;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date createTime;
|
||||
private String remarks;
|
||||
private String unavailableTime;
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.yxt.yythmall.biz.cannotreservedictionary;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.yxt.yythmall.api.cannotreservedictionary.CannotReserveDictionary;
|
||||
import com.yxt.yythmall.api.cannotreservedictionary.CannotReserveDictionaryVo;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author wangpengfei
|
||||
* @date 2023/11/23 10:36
|
||||
*/
|
||||
@Mapper
|
||||
public interface CannotReserveDictionaryMapper extends BaseMapper<CannotReserveDictionary> {
|
||||
|
||||
IPage<CannotReserveDictionaryVo> pageList(IPage<CannotReserveDictionary> page, @Param(Constants.WRAPPER) QueryWrapper<CannotReserveDictionary> qw);
|
||||
|
||||
List<CannotReserveDictionaryVo> getNotices (@Param("now") String now);
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.yythmall.biz.cannotreservedictionary.CannotReserveDictionaryMapper">
|
||||
<!-- <where> ${ew.sqlSegment} </where>-->
|
||||
<!-- ${ew.customSqlSegment} -->
|
||||
|
||||
<select id="pageList" resultType="com.yxt.yythmall.api.appletnotice.AppletNoticeVo">
|
||||
select
|
||||
*
|
||||
from applet_notice
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
<select id="getNotices" resultType="com.yxt.yythmall.api.appletnotice.AppletNoticeVo">
|
||||
select
|
||||
*
|
||||
from applet_notice
|
||||
<where>
|
||||
isShow !=2
|
||||
and date_format (startDate,'%Y-%m-%d') >= date_format(#{now},'%Y-%m-%d')
|
||||
and date_format (endDate,'%Y-%m-%d') <= date_format(#{now},'%Y-%m-%d')
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,51 @@
|
||||
package com.yxt.yythmall.biz.cannotreservedictionary;
|
||||
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.yythmall.api.cannotreservedictionary.CannotReserveDictionaryDto;
|
||||
import com.yxt.yythmall.api.cannotreservedictionary.CannotReserveDictionaryQuery;
|
||||
import com.yxt.yythmall.api.cannotreservedictionary.CannotReserveDictionaryVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* @author wangpengfei
|
||||
* @date 2023/11/23 10:35
|
||||
*/
|
||||
@Api(tags = "公告记录表")
|
||||
@RestController
|
||||
@RequestMapping("CannotReserveDictionary")
|
||||
public class CannotReserveDictionaryRest {
|
||||
@Autowired
|
||||
CannotReserveDictionaryService NoticeService;
|
||||
|
||||
|
||||
@ApiOperation("分页列表")
|
||||
@PostMapping("/pageList")
|
||||
public ResultBean<PagerVo<CannotReserveDictionaryVo>> pageList(@RequestBody PagerQuery<CannotReserveDictionaryQuery> pq){
|
||||
return NoticeService.pageList(pq);
|
||||
}
|
||||
@ApiOperation("修改或保存")
|
||||
@PostMapping("/saveOrUpdate")
|
||||
public ResultBean saveOrUpdate(@RequestBody CannotReserveDictionaryDto dto){
|
||||
return NoticeService.saveOrUpdate(dto);
|
||||
}
|
||||
@ApiOperation("初始化")
|
||||
@GetMapping("/noticeInit/{sid}")
|
||||
public ResultBean noticeInit(@PathVariable("sid")String sid){
|
||||
return NoticeService.noticeInit(sid);
|
||||
}
|
||||
@ApiOperation("是否显示")
|
||||
@GetMapping("/isDisplayed/{sid}/{state}")
|
||||
public ResultBean isDisplayed(@PathVariable("sid")String sid,@PathVariable("state")String state){
|
||||
return NoticeService.isDisplayed(sid,state);
|
||||
}
|
||||
@ApiOperation("是否显示")
|
||||
@GetMapping("/getNotice")
|
||||
public ResultBean getNotice(){
|
||||
return NoticeService.getNotice();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
package com.yxt.yythmall.biz.cannotreservedictionary;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
import com.yxt.common.base.utils.StringUtils;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.yythmall.api.cannotreservedictionary.CannotReserveDictionary;
|
||||
import com.yxt.yythmall.api.cannotreservedictionary.CannotReserveDictionaryDto;
|
||||
import com.yxt.yythmall.api.cannotreservedictionary.CannotReserveDictionaryQuery;
|
||||
import com.yxt.yythmall.api.cannotreservedictionary.CannotReserveDictionaryVo;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author wangpengfei
|
||||
* @date 2023/11/23 10:36
|
||||
*/
|
||||
@Service
|
||||
public class CannotReserveDictionaryService extends MybatisBaseService<CannotReserveDictionaryMapper, CannotReserveDictionary> {
|
||||
|
||||
public ResultBean<PagerVo<CannotReserveDictionaryVo>> pageList(PagerQuery<CannotReserveDictionaryQuery> pq) {
|
||||
ResultBean rb = new ResultBean();
|
||||
CannotReserveDictionaryQuery query = pq.getParams();
|
||||
IPage<CannotReserveDictionary> page = PagerUtil.queryToPage(pq);
|
||||
QueryWrapper<CannotReserveDictionary> qw = new QueryWrapper<>();
|
||||
IPage<CannotReserveDictionaryVo> pagging = baseMapper.pageList(page, qw);
|
||||
PagerVo<CannotReserveDictionaryVo> p = PagerUtil.pageToVo(pagging, null);
|
||||
return rb.success().setData(p);
|
||||
}
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public ResultBean saveOrUpdate(CannotReserveDictionaryDto dto) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
if (StringUtils.isNotBlank(dto.getSid())) {
|
||||
CannotReserveDictionary notice = fetchBySid(dto.getSid());
|
||||
BeanUtil.copyProperties(dto, notice, "id", "sid");
|
||||
notice.setCreateTime(new DateTime());
|
||||
baseMapper.updateById(notice);
|
||||
} else {
|
||||
CannotReserveDictionary notice = new CannotReserveDictionary();
|
||||
BeanUtil.copyProperties(dto, notice, "id", "sid");
|
||||
notice.setCreateTime(new DateTime());
|
||||
baseMapper.insert(notice);
|
||||
}
|
||||
return rb.success().setData("成功");
|
||||
}
|
||||
|
||||
public ResultBean noticeInit(String sid) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
CannotReserveDictionary entity = fetchBySid(sid);
|
||||
return rb.success().setData(entity);
|
||||
}
|
||||
public ResultBean isDisplayed(String sid,String state) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
CannotReserveDictionary entity = fetchBySid(sid);
|
||||
baseMapper.updateById(entity);
|
||||
return rb.success().setData("成功");
|
||||
}
|
||||
public ResultBean getNotice() {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
List<CannotReserveDictionaryVo> noticeVos= baseMapper.getNotices(sdf.format(new Date()));
|
||||
return rb.success().setData(noticeVos);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -2,6 +2,9 @@ package com.yxt.yythmall.biz.scheduled;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||
import com.yxt.yythmall.api.cannotreservedictionary.CannotReserveDictionary;
|
||||
import com.yxt.yythmall.api.cannotreservedictionary.CannotReserveDictionaryDto;
|
||||
import com.yxt.yythmall.api.empcard.EmpCard;
|
||||
import com.yxt.yythmall.api.empcardgift.EmpCardGift;
|
||||
import com.yxt.yythmall.api.empcardgift.EmpCardGiftVo;
|
||||
@@ -10,6 +13,7 @@ import com.yxt.yythmall.api.lpkgiftcard.LpkGiftCard;
|
||||
import com.yxt.yythmall.api.lpkreserveorder.LpkReserveOrderVo;
|
||||
import com.yxt.yythmall.api.vegecallerreservedetails.VegeCellarReserveDetails;
|
||||
import com.yxt.yythmall.api.vegecallerreserveorder.VegeCellarReserveOrder;
|
||||
import com.yxt.yythmall.biz.cannotreservedictionary.CannotReserveDictionaryService;
|
||||
import com.yxt.yythmall.biz.empcard.EmpCardMapper;
|
||||
import com.yxt.yythmall.biz.empcardgift.EmpCardGiftMapper;
|
||||
import com.yxt.yythmall.biz.lpkgiftbag.LpkGiftBagService;
|
||||
@@ -22,9 +26,14 @@ import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.DayOfWeek;
|
||||
import java.time.LocalDate;
|
||||
import java.time.Period;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author wangpengfei
|
||||
@@ -46,6 +55,9 @@ public class scheduledRest {
|
||||
VegeCellarReserveOrderService vegeCellarReserveOrderService;
|
||||
@Autowired
|
||||
VegeCellarReserveDetailsService vegeCellarReserveDetailsService;
|
||||
@Autowired
|
||||
CannotReserveDictionaryService cannotReserveDictionaryService;
|
||||
|
||||
@Scheduled(cron = "0 0 1 * * ? ")
|
||||
// @Scheduled(cron = "0 * * * * ? ")
|
||||
public void updateIsItInvalid() {
|
||||
@@ -202,4 +214,40 @@ public class scheduledRest {
|
||||
}
|
||||
vegeCellarReserveOrderService.updateBatchById(vegeCellarReserveOrders);
|
||||
}
|
||||
@Scheduled(cron = "0 0 0 1 1 ? ")
|
||||
// @Scheduled(cron = "0 * * * * ? ")
|
||||
public void cannotReserve(){
|
||||
Date date =new Date();
|
||||
SimpleDateFormat sdf1 =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
String nowDate =sdf1.format(date);
|
||||
String endDate= sdf1.format(DateUtil.offsetMonth(date,12));
|
||||
LocalDate now = DateUtil.parse(nowDate).toSqlDate().toLocalDate();
|
||||
LocalDate endD = DateUtil.parse(endDate).toSqlDate().toLocalDate();
|
||||
List<CannotReserveDictionary> reserveDictionaries=new ArrayList<>();
|
||||
// 第一个星期六
|
||||
LocalDate saturday = now.with(DayOfWeek.SATURDAY);
|
||||
do {
|
||||
CannotReserveDictionary e=new CannotReserveDictionary();
|
||||
e.setUnavailableTime(saturday.toString());
|
||||
reserveDictionaries.add(e);
|
||||
// 迭代一个星期
|
||||
saturday = saturday.plus(Period.ofDays(7));
|
||||
} while (saturday.compareTo(endD) < 1);
|
||||
// 第一个星期天
|
||||
LocalDate sunday = now.with(DayOfWeek.SUNDAY);
|
||||
do {
|
||||
CannotReserveDictionary e=new CannotReserveDictionary();
|
||||
e.setUnavailableTime(sunday.toString());
|
||||
reserveDictionaries.add(e);
|
||||
// 迭代一个星期
|
||||
sunday = sunday.plus(Period.ofDays(7));
|
||||
} while (sunday.compareTo(endD) < 1);
|
||||
String nextYear = DateUtil.offsetMonth(new Date(), 12).toString();
|
||||
int y = DateUtil.year(DateUtil.parse(nextYear));
|
||||
CannotReserveDictionary e=new CannotReserveDictionary();
|
||||
e.setUnavailableTime(String.valueOf(y) + "-01-01");
|
||||
reserveDictionaries.add(e);
|
||||
reserveDictionaries = reserveDictionaries.stream().sorted(Comparator.comparing(CannotReserveDictionary::getUnavailableTime)).collect(Collectors.toList());
|
||||
cannotReserveDictionaryService.saveBatch(reserveDictionaries);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user