gc-core/src/main/java/com/xzx/gc/entity/SysNews.java
New file @@ -0,0 +1,32 @@ package com.xzx.gc.entity; import lombok.Data; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; @Data @Table(name="xzx_sys_news") public class SysNews { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private long newsId; private String title; private String content; private String createTime; private String createUserId; private String picture; //删除0:未删除,1:删除 private Integer delFlag; //排序 private Integer sort; //状态 1:未发布 2:已发布 private Integer status; } gc-shop/src/main/resources/sql
@@ -63,6 +63,18 @@ ALTER TABLE `xzx_score_order` ADD COLUMN `is_finish` int(11) NULL DEFAULT 2 COMMENT '后台确认提货 1:是 2:否' AFTER `remark`; ALTER TABLE `xzx_sys_news` DROP COLUMN `del_flag`, ADD COLUMN `del_flag` int(1) NULL DEFAULT 0 COMMENT '删除0:未删除,1:删除' AFTER `picture`; ALTER TABLE `xzx_sys_news` ADD COLUMN `sort` int(5) NULL DEFAULT 10 COMMENT '排序' AFTER `del_flag`; ALTER TABLE `xzx_sys_news` ADD COLUMN `status` int(1) NULL DEFAULT 1 COMMENT '状态 1:未发布 2:已发布' AFTER `sort`; gc-sys/src/main/java/com/xzx/gc/system/controller/AdminSysNewsController.java
New file @@ -0,0 +1,120 @@ package com.xzx.gc.system.controller; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import com.xzx.gc.common.constant.CommonEnum; import com.xzx.gc.common.constant.Constants; import com.xzx.gc.common.dto.log.OperationAppLog; import com.xzx.gc.common.request.BaseController; import com.xzx.gc.entity.JhyInfo; import com.xzx.gc.entity.SysNews; import com.xzx.gc.model.JsonResult; import com.xzx.gc.system.dto.*; import com.xzx.gc.system.mapper.SysNewsMapper; import com.xzx.gc.system.service.SysNewsService; import com.xzx.gc.system.vo.SysNewsListVo; import com.xzx.gc.system.vo.ViewSysNewsVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.Date; import java.util.Map; @RestController @Api(tags = {"广播通知"}) @Slf4j public class AdminSysNewsController extends BaseController { @Autowired private SysNewsService sysNewsService; @Resource SysNewsMapper sysNewsMapper; @ApiOperation(value = "广播通知--列表") @ApiResponses( @ApiResponse(code = 200, message = "success", response = SysNewsListVo.class) ) @PostMapping(value = Constants.ADMIN_VIEW_PREFIX + "/sysNews/sysNewsList.json") public JsonResult<Map<String, Object>> sysNewsService(@RequestBody SysNewsListDto sysNewsListDto) { return JsonResult.success(sysNewsService.sysNewsService(sysNewsListDto)); } @PostMapping(Constants.ADMIN_VIEW_PREFIX+"/sysNews/addSysNews.json") @ApiOperation(value = "广播通知--添加", notes = "test: 仅0有正确返回") public JsonResult<String> addSysNews(@RequestBody AddSysNewsDto model, HttpServletRequest request) { model.setCreateUserId(getAdminName(request)); model.setCreateTime(new Date()); sysNewsService.addSysNews(model); OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request)) .methodName(Constants.SCORESHOP_MODUL_NAME).operateAction("广播通知--添加-").build(); mqUtil.sendApp(build); return JsonResult.success("操作成功!"); } @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/sysNews/viewSysNews.json") @ApiResponses({@ApiResponse( code = 200, message = "success", response = ViewSysNewsVo.class)}) @ApiOperation(value="广播通知--查看通知详情", notes="test: 仅0有正确返回") public JsonResult<ViewSysNewsVo> viewSysNews(@RequestBody ViewSysNewsDto viewSysNewsDto) { Long id = viewSysNewsDto.getId(); ViewSysNewsVo viewSysNewsVo = sysNewsService.viewSysNews(id); return JsonResult.success(viewSysNewsVo); } @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/sysNews/updateSysNews.json") @ApiOperation(value="广播通知--更新通知详情", notes="test: 仅0有正确返回") public JsonResult updateSysNews(@RequestBody UpdateSysNewsDto model, HttpServletRequest request) { long id = model.getId(); SysNews sysNews = sysNewsMapper.selectById(id); if(ObjectUtil.isEmpty(sysNews)){ return JsonResult.failMessage("当前记录不存在!"); } sysNewsService.updateSysNews(model); OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request)) .methodName(Constants.SCORESHOP_MODUL_NAME).operateAction("广播通知--更新通知详情-" + id).build(); mqUtil.sendApp(build); return JsonResult.success("操作成功!"); } @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/sysNews/delSysNews.json") @ApiOperation(value="广播通知--删除", notes="test: 仅0有正确返回") public JsonResult delSysNews(@RequestBody DelSysNewsDto model, HttpServletRequest request) { long id = model.getId(); SysNews sysNews = sysNewsMapper.selectById(id); if(ObjectUtil.isEmpty(sysNews)){ return JsonResult.failMessage("当前记录不存在!"); } sysNewsService.delSysNews(model); OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request)) .methodName(Constants.SCORESHOP_MODUL_NAME).operateAction("广播通知--删除-" + id).build(); mqUtil.sendApp(build); return JsonResult.success("操作成功!"); } @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/sysNews/onOffSysNews.json") @ApiOperation(value="广播通知--上下架", notes="test: 仅0有正确返回") public JsonResult onOffSysNews(@RequestBody OnSysNewsDto model, HttpServletRequest request) { long id = model.getId(); SysNews sysNews = sysNewsMapper.selectById(id); if(ObjectUtil.isEmpty(sysNews)){ return JsonResult.failMessage("当前记录不存在!"); } sysNewsService.onOffSysNews(model); OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request)) .methodName(Constants.SCORESHOP_MODUL_NAME).operateAction("广播通知--删除-" + id).build(); mqUtil.sendApp(build); return JsonResult.success("操作成功!"); } } gc-sys/src/main/java/com/xzx/gc/system/dto/AddSysNewsDto.java
New file @@ -0,0 +1,30 @@ package com.xzx.gc.system.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @Data public class AddSysNewsDto { @ApiModelProperty(value = "标题") private String title; @ApiModelProperty(value = "内容") private String content; @ApiModelProperty(value = "排序") private Integer sort; @ApiModelProperty(value = "状态:1:未发布 2:立即发布") private Integer status; @ApiModelProperty(value="创建人") private String createUserId; @ApiModelProperty(value="创建时间") private Date createTime; } gc-sys/src/main/java/com/xzx/gc/system/dto/DelSysNewsDto.java
New file @@ -0,0 +1,10 @@ package com.xzx.gc.system.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class DelSysNewsDto { @ApiModelProperty(value = "Id") private long id; } gc-sys/src/main/java/com/xzx/gc/system/dto/OnSysNewsDto.java
New file @@ -0,0 +1,15 @@ package com.xzx.gc.system.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class OnSysNewsDto { @ApiModelProperty(value = "Id") private long id; @ApiModelProperty(value = "状态 1:未发布 2:已发布") private Integer status; } gc-sys/src/main/java/com/xzx/gc/system/dto/SysNewsListDto.java
New file @@ -0,0 +1,15 @@ package com.xzx.gc.system.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class SysNewsListDto { @ApiModelProperty(value = "第几页", required = true) private int page; @ApiModelProperty(value = "每一页数量", required = true) private int limit; } gc-sys/src/main/java/com/xzx/gc/system/dto/UpdateSysNewsDto.java
New file @@ -0,0 +1,22 @@ package com.xzx.gc.system.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class UpdateSysNewsDto { @ApiModelProperty(value = "Id") private long id; @ApiModelProperty(value = "标题") private String title; @ApiModelProperty(value = "内容") private String content; //排序 @ApiModelProperty(value = "排序") private Integer sort; } gc-sys/src/main/java/com/xzx/gc/system/dto/ViewSysNewsDto.java
New file @@ -0,0 +1,8 @@ package com.xzx.gc.system.dto; import lombok.Data; @Data public class ViewSysNewsDto { private Long id; } gc-sys/src/main/java/com/xzx/gc/system/mapper/SysNewsMapper.java
New file @@ -0,0 +1,24 @@ package com.xzx.gc.system.mapper; import com.xzx.gc.entity.SysNews; import com.xzx.gc.system.dto.SysNewsListDto; import com.xzx.gc.system.vo.SysNewsListVo; import com.xzx.gc.util.GcMapper; import org.apache.ibatis.annotations.Param; import java.util.List; public interface SysNewsMapper extends GcMapper<SysNews> { List<SysNewsListVo> selectSysNewsListVo(SysNewsListDto sysNewsListDto); SysNews selectById(@Param("id")Long id); void updateById(@Param("newsId")long newsId); void updateStatusById(@Param("newsId")long id, @Param("status")Integer status); void updateSysNews(@Param("title")String title, @Param("content")String content, @Param("sort")Integer sort, @Param("newsId")long id); } gc-sys/src/main/java/com/xzx/gc/system/service/SysNewsService.java
New file @@ -0,0 +1,77 @@ package com.xzx.gc.system.service; import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.xzx.gc.entity.SysNews; import com.xzx.gc.system.dto.*; import com.xzx.gc.system.mapper.SysNewsMapper; import com.xzx.gc.system.vo.SysNewsListVo; import com.xzx.gc.system.vo.ViewSysNewsVo; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @Slf4j @Service @Transactional public class SysNewsService { @Resource SysNewsMapper sysNewsMapper; public Map<String, Object> sysNewsService(SysNewsListDto sysNewsListDto) { PageHelper.startPage(sysNewsListDto.getPage(), sysNewsListDto.getLimit()); List<SysNewsListVo> sysNewsListVos = sysNewsMapper.selectSysNewsListVo(sysNewsListDto); PageInfo<SysNewsListVo> pageInfo = new PageInfo<>(sysNewsListVos); Map<String, Object> data = new HashMap<>(); int count = Convert.toInt(pageInfo.getTotal()); data.put("data", sysNewsListVos); data.put("count", count); data.put("code", 0); return data; } public ViewSysNewsVo viewSysNews(Long id) { SysNews sysNews = sysNewsMapper.selectById(id); ViewSysNewsVo viewSysNewsVo = new ViewSysNewsVo(); viewSysNewsVo.setNewsId(id); viewSysNewsVo.setTitle(sysNews.getTitle()); viewSysNewsVo.setContent(sysNews.getContent()); viewSysNewsVo.setSort(sysNews.getSort()); return viewSysNewsVo; } public void updateSysNews(UpdateSysNewsDto model) { sysNewsMapper.updateSysNews(model.getTitle(),model.getContent(),model.getSort(),model.getId()); } public void addSysNews(AddSysNewsDto model) { SysNews sysNews = new SysNews(); sysNews.setCreateTime(DateUtil.format(model.getCreateTime(),"yyyy-MM-dd HH:mm:ss")); sysNews.setCreateUserId(model.getCreateUserId()); sysNews.setStatus(model.getStatus()); sysNews.setSort(model.getSort()); sysNews.setDelFlag(0); sysNews.setTitle(model.getTitle()); sysNews.setContent(model.getContent()); sysNewsMapper.insertSelective(sysNews); } public void delSysNews(DelSysNewsDto model) { sysNewsMapper.updateById(model.getId()); } public void onOffSysNews(OnSysNewsDto model) { sysNewsMapper.updateStatusById(model.getId(),model.getStatus()); } } gc-sys/src/main/java/com/xzx/gc/system/vo/SysNewsListVo.java
New file @@ -0,0 +1,39 @@ package com.xzx.gc.system.vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value = "SysNewsListVo", description = "返回参数类") public class SysNewsListVo { @ApiModelProperty(value = "Id") private long newsId; @ApiModelProperty(value = "标题") private String title; @ApiModelProperty(value = "内容") private String content; @ApiModelProperty(value = "创建时间") private String createTime; @ApiModelProperty(value = "创建人") private String createUserId; //删除0:未删除,1:删除 @ApiModelProperty(value = "删除0:未删除,1:删除") private Integer delFlag; //排序 @ApiModelProperty(value = "排序") private Integer sort; //状态 1:未发布 2:已发布 @ApiModelProperty(value = "状态 1:未发布 2:已发布") private Integer status; } gc-sys/src/main/java/com/xzx/gc/system/vo/ViewSysNewsVo.java
New file @@ -0,0 +1,24 @@ package com.xzx.gc.system.vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value = "ViewSysNewsVo", description = "返回参数类") public class ViewSysNewsVo { @ApiModelProperty(value = "Id") private long newsId; @ApiModelProperty(value = "标题") private String title; @ApiModelProperty(value = "内容") private String content; //排序 @ApiModelProperty(value = "排序") private Integer sort; } gc-sys/src/main/resources/mapper/system/SysNewsMapper.xml
New file @@ -0,0 +1,38 @@ <?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.xzx.gc.system.mapper.SysNewsMapper"> <select id="selectSysNewsListVo" resultType="com.xzx.gc.system.vo.SysNewsListVo"> select * from xzx_sys_news order by sort ASC </select> <select id="selectById" resultType="com.xzx.gc.entity.SysNews"> select * from xzx_sys_news where news_id = #{id} order by sort ASC </select> <update id="updateById" parameterType="java.util.Map"> update xzx_sys_news set del_flag=1 where news_id = #{newsId} </update> <update id="updateStatusById" parameterType="java.util.Map"> update xzx_sys_news set status = #{status} where news_id = #{newsId} </update> <update id="updateSysNews" parameterType="java.util.Map"> update xzx_sys_news set title = #{title}, content = #{content}, sort = #{sort} where news_id = #{newsId} </update> </mapper>