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 cn.hutool.core.date.DateUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
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.empcard.EmpCard;
|
||||||
import com.yxt.yythmall.api.empcardgift.EmpCardGift;
|
import com.yxt.yythmall.api.empcardgift.EmpCardGift;
|
||||||
import com.yxt.yythmall.api.empcardgift.EmpCardGiftVo;
|
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.lpkreserveorder.LpkReserveOrderVo;
|
||||||
import com.yxt.yythmall.api.vegecallerreservedetails.VegeCellarReserveDetails;
|
import com.yxt.yythmall.api.vegecallerreservedetails.VegeCellarReserveDetails;
|
||||||
import com.yxt.yythmall.api.vegecallerreserveorder.VegeCellarReserveOrder;
|
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.empcard.EmpCardMapper;
|
||||||
import com.yxt.yythmall.biz.empcardgift.EmpCardGiftMapper;
|
import com.yxt.yythmall.biz.empcardgift.EmpCardGiftMapper;
|
||||||
import com.yxt.yythmall.biz.lpkgiftbag.LpkGiftBagService;
|
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 org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.time.DayOfWeek;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.Period;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Comparator;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author wangpengfei
|
* @author wangpengfei
|
||||||
@@ -46,6 +55,9 @@ public class scheduledRest {
|
|||||||
VegeCellarReserveOrderService vegeCellarReserveOrderService;
|
VegeCellarReserveOrderService vegeCellarReserveOrderService;
|
||||||
@Autowired
|
@Autowired
|
||||||
VegeCellarReserveDetailsService vegeCellarReserveDetailsService;
|
VegeCellarReserveDetailsService vegeCellarReserveDetailsService;
|
||||||
|
@Autowired
|
||||||
|
CannotReserveDictionaryService cannotReserveDictionaryService;
|
||||||
|
|
||||||
@Scheduled(cron = "0 0 1 * * ? ")
|
@Scheduled(cron = "0 0 1 * * ? ")
|
||||||
// @Scheduled(cron = "0 * * * * ? ")
|
// @Scheduled(cron = "0 * * * * ? ")
|
||||||
public void updateIsItInvalid() {
|
public void updateIsItInvalid() {
|
||||||
@@ -202,4 +214,40 @@ public class scheduledRest {
|
|||||||
}
|
}
|
||||||
vegeCellarReserveOrderService.updateBatchById(vegeCellarReserveOrders);
|
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