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