14 changed files with 321 additions and 7 deletions
@ -0,0 +1,34 @@ |
|||
package com.yxt.yythmall.api.appletnotice; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import lombok.Data; |
|||
|
|||
import java.util.Date; |
|||
import java.util.UUID; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2023/12/8 9:10 |
|||
*/ |
|||
@Data |
|||
public class AppletNotice { |
|||
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 isEnable; |
|||
private String title; |
|||
private String content; |
|||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
|||
private Date startDate; |
|||
@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8") |
|||
private Date endDate; |
|||
private String sort; |
|||
@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8") |
|||
private Date releaseTime;//发布时间
|
|||
private String publisher;//发布人
|
|||
private String isShow; |
|||
|
|||
|
|||
} |
@ -0,0 +1,32 @@ |
|||
package com.yxt.yythmall.api.appletnotice; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import com.yxt.common.core.dto.Dto; |
|||
import lombok.Data; |
|||
|
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2023/12/8 9:11 |
|||
*/ |
|||
@Data |
|||
public class AppletNoticeDto 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 isEnable; |
|||
private String title;//标题
|
|||
private String content;//内容
|
|||
|
|||
private String startDate;//开始时间
|
|||
|
|||
private String endDate;//结束时间
|
|||
private String sort;//排序
|
|||
|
|||
private String releaseTime;//发布时间
|
|||
private String publisher;//发布人
|
|||
private String isShow; |
|||
} |
@ -0,0 +1,16 @@ |
|||
package com.yxt.yythmall.api.appletnotice; |
|||
|
|||
import com.yxt.common.core.query.Query; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2023/12/8 9:11 |
|||
*/ |
|||
@Data |
|||
public class AppletNoticeQuery implements Query { |
|||
private String startDate; //开始时间
|
|||
private String endDate; //结束时间
|
|||
private String countNumber; //总数
|
|||
private String name; |
|||
} |
@ -0,0 +1,32 @@ |
|||
package com.yxt.yythmall.api.appletnotice; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import com.yxt.common.core.vo.Vo; |
|||
import lombok.Data; |
|||
|
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2023/12/8 9:11 |
|||
*/ |
|||
@Data |
|||
public class AppletNoticeVo 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 isEnable; |
|||
private String title;//标题
|
|||
private String content;//内容
|
|||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
|||
private Date startDate;//开始时间
|
|||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
|||
private Date endDate;//结束时间
|
|||
private String sort;//排序
|
|||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
|||
private Date releaseTime;//发布时间
|
|||
private String publisher;//发布人
|
|||
private String isShow; |
|||
} |
@ -0,0 +1,24 @@ |
|||
package com.yxt.yythmall.biz.appletnotice; |
|||
|
|||
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.appletnotice.AppletNotice; |
|||
import com.yxt.yythmall.api.appletnotice.AppletNoticeVo; |
|||
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 AppletNoticeMapper extends BaseMapper<AppletNotice> { |
|||
|
|||
IPage<AppletNoticeVo> pageList(IPage<AppletNotice> page, @Param(Constants.WRAPPER) QueryWrapper<AppletNotice> qw); |
|||
|
|||
List<AppletNoticeVo> 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.appletnotice.AppletNoticeMapper"> |
|||
<!-- <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.appletnotice; |
|||
|
|||
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.appletnotice.AppletNoticeDto; |
|||
import com.yxt.yythmall.api.appletnotice.AppletNoticeQuery; |
|||
import com.yxt.yythmall.api.appletnotice.AppletNoticeVo; |
|||
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("appletnotice") |
|||
public class AppletNoticeRest { |
|||
@Autowired |
|||
AppletNoticeService NoticeService; |
|||
|
|||
|
|||
@ApiOperation("分页列表") |
|||
@PostMapping("/pageList") |
|||
public ResultBean<PagerVo<AppletNoticeVo>> pageList(@RequestBody PagerQuery<AppletNoticeQuery> pq){ |
|||
return NoticeService.pageList(pq); |
|||
} |
|||
@ApiOperation("修改或保存") |
|||
@PostMapping("/saveOrUpdate") |
|||
public ResultBean saveOrUpdate(@RequestBody AppletNoticeDto 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,81 @@ |
|||
package com.yxt.yythmall.biz.appletnotice; |
|||
|
|||
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.appletnotice.AppletNotice; |
|||
import com.yxt.yythmall.api.appletnotice.AppletNoticeDto; |
|||
import com.yxt.yythmall.api.appletnotice.AppletNoticeQuery; |
|||
import com.yxt.yythmall.api.appletnotice.AppletNoticeVo; |
|||
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 AppletNoticeService extends MybatisBaseService<AppletNoticeMapper, AppletNotice> { |
|||
|
|||
public ResultBean<PagerVo<AppletNoticeVo>> pageList(PagerQuery<AppletNoticeQuery> pq) { |
|||
ResultBean rb = new ResultBean(); |
|||
AppletNoticeQuery query = pq.getParams(); |
|||
|
|||
|
|||
IPage<AppletNotice> page = PagerUtil.queryToPage(pq); |
|||
QueryWrapper<AppletNotice> qw = new QueryWrapper<>(); |
|||
if (StringUtils.isNotBlank(query.getCountNumber())) { |
|||
qw.like("title", query.getName()); |
|||
} |
|||
IPage<AppletNoticeVo> pagging = baseMapper.pageList(page, qw); |
|||
PagerVo<AppletNoticeVo> p = PagerUtil.pageToVo(pagging, null); |
|||
return rb.success().setData(p); |
|||
} |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public ResultBean saveOrUpdate(AppletNoticeDto dto) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
if (StringUtils.isNotBlank(dto.getSid())) { |
|||
AppletNotice notice = fetchBySid(dto.getSid()); |
|||
BeanUtil.copyProperties(dto, notice, "id", "sid"); |
|||
notice.setCreateTime(new DateTime()); |
|||
baseMapper.updateById(notice); |
|||
} else { |
|||
AppletNotice notice = new AppletNotice(); |
|||
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(); |
|||
AppletNotice entity = fetchBySid(sid); |
|||
return rb.success().setData(entity); |
|||
} |
|||
public ResultBean isDisplayed(String sid,String state) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
AppletNotice entity = fetchBySid(sid); |
|||
entity.setIsShow(state); |
|||
baseMapper.updateById(entity); |
|||
return rb.success().setData("成功"); |
|||
} |
|||
public ResultBean getNotice() { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
|||
List<AppletNoticeVo> noticeVos= baseMapper.getNotices(sdf.format(new Date())); |
|||
return rb.success().setData(noticeVos); |
|||
} |
|||
|
|||
} |
Loading…
Reference in new issue