gc-core/src/main/java/com/xzx/gc/entity/SysPopup.java
New file @@ -0,0 +1,48 @@ 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_popup") public class SysPopup { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; //广告区域 1:首页2:其他 private Integer area; //广告名称 private String name; //弹窗人群:1:新用戶 2:老用戶 private Integer aims; //弹窗规则:1:每日首次登录 2:每次登录 private Integer rules; //是否跳转 1:是 2:否 private Integer isOut; //内容链接 private String outText; //开始日期 private String startTime; //结束日期 private String endTime; //上传图片 private String img; //是否上架 1:是2:否 private Integer state; } gc-sys/src/main/java/com/xzx/gc/system/controller/AdminBannerController.java
@@ -11,6 +11,7 @@ import com.xzx.gc.system.mapper.BannerMapper; import com.xzx.gc.system.service.BannerService; import com.xzx.gc.system.vo.SysBannerListVo; import com.xzx.gc.system.vo.SysPopupListVo; import com.xzx.gc.system.vo.ViewSysBannerVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -38,6 +39,80 @@ @Resource BannerMapper bannerMapper; @ApiOperation(value = "首页弹窗--列表") @ApiResponses( @ApiResponse(code = 200, message = "success", response = SysPopupListVo.class) ) @PostMapping(value = Constants.ADMIN_VIEW_PREFIX + "/sysPopup/sysPopupList.json") public JsonResult<Map<String, Object>> sysPopupList(@RequestBody SysPopupListDto sysPopupListDto) { return JsonResult.success(bannerService.sysPopupList(sysPopupListDto)); } @PostMapping(Constants.ADMIN_VIEW_PREFIX+"/sysPopup/addSysPopup.json") @ApiOperation(value = "首页弹窗--添加", notes = "test: 仅0有正确返回") public JsonResult<String> addSysPopup(@RequestBody AddSysPopupDto model, HttpServletRequest request) { bannerService.addSysPopup(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 + "/sysPopup/viewSysPopup.json") @ApiResponses({@ApiResponse( code = 200, message = "success", response = SysPopupListVo.class)}) @ApiOperation(value="首页弹窗--查看详情", notes="test: 仅0有正确返回") public JsonResult<SysPopupListVo> viewSysPopup(@RequestBody ViewSysPopupDto viewSysPopupDto) { Long id = viewSysPopupDto.getId(); SysPopupListVo sysPopupListVo = bannerMapper.selectSysPopupById(id); return JsonResult.success(sysPopupListVo); } @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/sysPopup/updateSysPopup.json") @ApiOperation(value="首页弹窗--更新详情", notes="test: 仅0有正确返回") public JsonResult updateSysPopup(@RequestBody UpdateSysPopupDto model, HttpServletRequest request) { long id = model.getId(); SysPopupListVo sysPopupListVo = bannerMapper.selectSysPopupById(id); if(ObjectUtil.isEmpty(sysPopupListVo)){ return JsonResult.failMessage("当前记录不存在!"); } bannerService.updateSysPopup(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 + "/sysPopup/delSysPopup.json") @ApiOperation(value="首页弹窗--删除", notes="test: 仅0有正确返回") public JsonResult delSysPopup(@RequestBody DelSysPopupDto model, HttpServletRequest request) { long id = model.getId(); SysPopupListVo sysPopupListVo = bannerMapper.selectSysPopupById(id); if(ObjectUtil.isEmpty(sysPopupListVo)){ return JsonResult.failMessage("当前记录不存在!"); } bannerService.delSysPopup(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 + "/sysPopup/onOffSysPopup.json") @ApiOperation(value="首页弹窗--上下架", notes="test: 仅0有正确返回") public JsonResult onOffSysPopup(@RequestBody OnSysPopupDto model, HttpServletRequest request) { long id = model.getId(); SysPopupListVo sysPopupListVo = bannerMapper.selectSysPopupById(id); if(ObjectUtil.isEmpty(sysPopupListVo)){ return JsonResult.failMessage("当前记录不存在!"); } bannerService.onOffSysPopup(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("操作成功!"); } @ApiOperation(value = "轮播图--列表") @ApiResponses( @ApiResponse(code = 200, message = "success", response = SysBannerListVo.class) gc-sys/src/main/java/com/xzx/gc/system/controller/ApiBannerNewsController.java
@@ -5,12 +5,10 @@ import com.xzx.gc.system.dto.ApiBannerListDto; import com.xzx.gc.system.dto.ApiNewsInfoDto; import com.xzx.gc.system.dto.ApiNewsListDto; import com.xzx.gc.system.dto.ApiSysPopupDto; import com.xzx.gc.system.service.BannerService; import com.xzx.gc.system.service.SysNewsService; import com.xzx.gc.system.vo.ApiBannerListVo; import com.xzx.gc.system.vo.ApiNewsInfoVo; import com.xzx.gc.system.vo.ApiNewsListVo; import com.xzx.gc.system.vo.SysBannerListVo; import com.xzx.gc.system.vo.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; @@ -64,4 +62,14 @@ apiNewsInfoDto.setUserId(getUserId(request)); return JsonResult.success(sysNewsService.newsInfo(apiNewsInfoDto)); } @ApiOperation("首页弹窗详情") @ApiResponses({ @ApiResponse(code = 200, message = "success", response = ApiSysPopupVo.class) }) @PostMapping(value = "/news/newsInfo") public JsonResult<ApiSysPopupVo> sysPopupInfo(@RequestBody ApiSysPopupDto apiSysPopupDto, HttpServletRequest request) { apiSysPopupDto.setUserId(getUserId(request)); return JsonResult.success(sysNewsService.sysPopupInfo(apiSysPopupDto)); } } gc-sys/src/main/java/com/xzx/gc/system/dto/AddSysPopupDto.java
New file @@ -0,0 +1,48 @@ package com.xzx.gc.system.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class AddSysPopupDto { //广告区域 @ApiModelProperty(value = "广告区域") private Integer area; //广告名称 @ApiModelProperty(value = "广告名称") private String name; //弹窗人群:1:新用戶 2:老用戶 @ApiModelProperty(value = "弹窗人群:1:新用戶 2:老用戶") private Integer aims; //弹窗规则:1:每日首次登录 2:每次登录 @ApiModelProperty(value = "弹窗规则:1:每日首次登录 2:每次登录") private Integer rules; //是否跳转 1:是 2:否 @ApiModelProperty(value = "是否跳转 1:是 2:否") private Integer isOut; //内容链接 @ApiModelProperty(value = "内容链接") private String outText; //开始日期 @ApiModelProperty(value = "开始日期") private String startTime; //结束日期 @ApiModelProperty(value = "结束日期") private String endTime; //上传图片 @ApiModelProperty(value = "上传图片") private String img; //是否上架 1:是2:否 @ApiModelProperty(value = "是否上架 1:是2:否") private Integer state; } gc-sys/src/main/java/com/xzx/gc/system/dto/ApiSysPopupDto.java
New file @@ -0,0 +1,11 @@ package com.xzx.gc.system.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class ApiSysPopupDto { @ApiModelProperty(hidden = true) private String userId; } gc-sys/src/main/java/com/xzx/gc/system/dto/DelSysPopupDto.java
New file @@ -0,0 +1,10 @@ package com.xzx.gc.system.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class DelSysPopupDto { @ApiModelProperty(value = "Id") private long id; } gc-sys/src/main/java/com/xzx/gc/system/dto/OnSysPopupDto.java
New file @@ -0,0 +1,14 @@ package com.xzx.gc.system.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class OnSysPopupDto { @ApiModelProperty(value = "Id") private long id; @ApiModelProperty(value = "状态 1:未发布 2:已发布") private Integer status; } gc-sys/src/main/java/com/xzx/gc/system/dto/SysPopupListDto.java
New file @@ -0,0 +1,14 @@ package com.xzx.gc.system.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class SysPopupListDto { @ApiModelProperty(value = "第几页", required = true) private int page; @ApiModelProperty(value = "每一页数量", required = true) private int limit; } gc-sys/src/main/java/com/xzx/gc/system/dto/UpdateSysPopupDto.java
New file @@ -0,0 +1,52 @@ package com.xzx.gc.system.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class UpdateSysPopupDto { @ApiModelProperty(value = "Id") private Long id; //广告区域 @ApiModelProperty(value = "广告区域") private Integer area; //广告名称 @ApiModelProperty(value = "广告名称") private String name; //弹窗人群:1:新用戶 2:老用戶 @ApiModelProperty(value = "弹窗人群:1:新用戶 2:老用戶") private Integer aims; //弹窗规则:1:每日首次登录 2:每次登录 @ApiModelProperty(value = "弹窗规则:1:每日首次登录 2:每次登录") private Integer rules; //是否跳转 1:是 2:否 @ApiModelProperty(value = "是否跳转 1:是 2:否") private Integer isOut; //内容链接 @ApiModelProperty(value = "内容链接") private String outText; //开始日期 @ApiModelProperty(value = "开始日期") private String startTime; //结束日期 @ApiModelProperty(value = "结束日期") private String endTime; //上传图片 @ApiModelProperty(value = "上传图片") private String img; //是否上架 1:是2:否 @ApiModelProperty(value = "是否上架 1:是2:否") private Integer state; } gc-sys/src/main/java/com/xzx/gc/system/dto/ViewSysPopupDto.java
New file @@ -0,0 +1,8 @@ package com.xzx.gc.system.dto; import lombok.Data; @Data public class ViewSysPopupDto { private Long id; } gc-sys/src/main/java/com/xzx/gc/system/mapper/BannerMapper.java
@@ -4,8 +4,10 @@ import com.xzx.gc.model.admin.BannerModel; import com.xzx.gc.model.system.ConfigInfoVo; import com.xzx.gc.system.dto.SysBannerListDto; import com.xzx.gc.system.dto.SysPopupListDto; import com.xzx.gc.system.vo.ApiBannerListVo; import com.xzx.gc.system.vo.SysBannerListVo; import com.xzx.gc.system.vo.SysPopupListVo; import com.xzx.gc.system.vo.ViewSysBannerVo; import com.xzx.gc.util.GcMapper; import org.apache.ibatis.annotations.Param; @@ -59,5 +61,15 @@ void updateStatusById(@Param("id")long id, @Param("status")Integer status); List<ApiBannerListVo> selectBannerList(); List<SysPopupListVo> selectSysPopup(SysPopupListDto sysPopupListDto); SysPopupListVo selectSysPopupById(@Param("id")Long id); void updateSysPopupById(@Param("id")Long id,@Param("area")Integer area, @Param("name")String name, @Param("aims")Integer aims, @Param("rules")Integer rules, @Param("isOut")Integer isOut, @Param("outText")String outText, @Param("startTime")String startTime, @Param("endTime")String endTime, @Param("img")String img); void updateSysPopupStatusById(@Param("id")long id, @Param("state")Integer state); } gc-sys/src/main/java/com/xzx/gc/system/mapper/SysNewsMapper.java
@@ -5,6 +5,7 @@ import com.xzx.gc.system.dto.SysNewsListDto; import com.xzx.gc.system.vo.ApiNewsInfoVo; import com.xzx.gc.system.vo.ApiNewsListVo; import com.xzx.gc.system.vo.ApiSysPopupVo; import com.xzx.gc.system.vo.SysNewsListVo; import com.xzx.gc.util.GcMapper; import org.apache.ibatis.annotations.Param; @@ -27,4 +28,6 @@ List<ApiNewsListVo> selectSysNews(); ApiNewsInfoVo selectSysNewsInfo(@Param("record")ApiNewsInfoDto apiNewsInfoDto); ApiSysPopupVo selectSysPopupInfo(@Param("format")String format); } gc-sys/src/main/java/com/xzx/gc/system/mapper/SysPopupMapper.java
New file @@ -0,0 +1,11 @@ package com.xzx.gc.system.mapper; import com.xzx.gc.entity.SysPopup; import com.xzx.gc.system.vo.SysPopupListVo; import com.xzx.gc.util.GcMapper; import org.springframework.stereotype.Repository; @Repository public interface SysPopupMapper extends GcMapper<SysPopup> { } gc-sys/src/main/java/com/xzx/gc/system/service/BannerService.java
@@ -7,14 +7,13 @@ import com.xzx.gc.entity.BannerInfo; import com.xzx.gc.entity.CityPartner; import com.xzx.gc.entity.CoreUser; import com.xzx.gc.entity.SysPopup; import com.xzx.gc.model.JsonResult; import com.xzx.gc.model.admin.BannerModel; import com.xzx.gc.system.dto.*; import com.xzx.gc.system.mapper.BannerMapper; import com.xzx.gc.system.vo.ApiBannerListVo; import com.xzx.gc.system.vo.SysBannerListVo; import com.xzx.gc.system.vo.SysNewsListVo; import com.xzx.gc.system.vo.ViewSysBannerVo; import com.xzx.gc.system.mapper.SysPopupMapper; import com.xzx.gc.system.vo.*; import com.xzx.gc.util.SessionUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -33,6 +32,9 @@ @Autowired private BannerMapper bannerMapper; @Autowired private SysPopupMapper sysPopupMapper; @Autowired private SessionUtil sessionUtil; @@ -159,4 +161,60 @@ public List<ApiBannerListVo> bannerList(ApiBannerListDto apiBannerListDto) { return bannerMapper.selectBannerList(); } public Map<String, Object> sysPopupList(SysPopupListDto sysPopupListDto) { PageHelper.startPage(sysPopupListDto.getPage(), sysPopupListDto.getLimit()); List<SysPopupListVo> sysPopupListVos = bannerMapper.selectSysPopup(sysPopupListDto); PageInfo<SysPopupListVo> pageInfo = new PageInfo<>(sysPopupListVos); Map<String, Object> data = new HashMap<>(); int count = Convert.toInt(pageInfo.getTotal()); data.put("data", sysPopupListVos); data.put("count", count); data.put("code", 0); return data; } public void addSysPopup(AddSysPopupDto model) { SysPopup sysPopup = new SysPopup(); sysPopup.setArea(model.getArea()); sysPopup.setName(model.getName()); sysPopup.setAims(model.getAims()); sysPopup.setRules(model.getRules()); sysPopup.setIsOut(model.getIsOut()); sysPopup.setOutText(model.getOutText()); sysPopup.setStartTime(model.getStartTime()); sysPopup.setEndTime(model.getEndTime()); sysPopup.setImg(model.getImg()); sysPopup.setState(2); sysPopupMapper.insertSelective(sysPopup); } public SysPopupListVo viewSysPopup(Long id) { return bannerMapper.selectSysPopupById(id); } public void updateSysPopup(UpdateSysPopupDto model) { bannerMapper.updateSysPopupById( model.getId(), model.getArea(), model.getName(), model.getAims(), model.getRules(), model.getIsOut(), model.getOutText(), model.getStartTime(), model.getEndTime(), model.getImg() ); } public void delSysPopup(DelSysPopupDto model) { sysPopupMapper.deleteByPrimaryKey(model.getId()); } public void onOffSysPopup(OnSysPopupDto model) { bannerMapper.updateSysPopupStatusById(model.getId(),model.getStatus()); } } gc-sys/src/main/java/com/xzx/gc/system/service/SysNewsService.java
@@ -7,10 +7,7 @@ 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.ApiNewsInfoVo; import com.xzx.gc.system.vo.ApiNewsListVo; import com.xzx.gc.system.vo.SysNewsListVo; import com.xzx.gc.system.vo.ViewSysNewsVo; import com.xzx.gc.system.vo.*; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -84,4 +81,9 @@ public ApiNewsInfoVo newsInfo(ApiNewsInfoDto apiNewsInfoDto) { return sysNewsMapper.selectSysNewsInfo(apiNewsInfoDto); } public ApiSysPopupVo sysPopupInfo(ApiSysPopupDto apiSysPopupDto) { String format = DateUtil.format(DateUtil.date(), "yyyy-MM-dd HH:mm:ss"); return sysNewsMapper.selectSysPopupInfo(format); } } gc-sys/src/main/java/com/xzx/gc/system/vo/ApiSysPopupVo.java
New file @@ -0,0 +1,50 @@ package com.xzx.gc.system.vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value = "ApiSysPopupVo", description = "返回参数类") public class ApiSysPopupVo { //广告区域 @ApiModelProperty(value = "广告区域") private Integer area; //广告名称 @ApiModelProperty(value = "广告名称") private String name; //弹窗人群:1:新用戶 2:老用戶 @ApiModelProperty(value = "弹窗人群:1:新用戶 2:老用戶") private Integer aims; //弹窗规则:1:每日首次登录 2:每次登录 @ApiModelProperty(value = "弹窗规则:1:每日首次登录 2:每次登录") private Integer rules; //是否跳转 1:是 2:否 @ApiModelProperty(value = "是否跳转 1:是 2:否") private Integer isOut; //内容链接 @ApiModelProperty(value = "内容链接") private String outText; //开始日期 @ApiModelProperty(value = "开始日期") private String startTime; //结束日期 @ApiModelProperty(value = "结束日期") private String endTime; //上传图片 @ApiModelProperty(value = "上传图片") private String img; //是否上架 1:是2:否 @ApiModelProperty(value = "是否上架 1:是2:否") private Integer state; } gc-sys/src/main/java/com/xzx/gc/system/vo/SysPopupListVo.java
New file @@ -0,0 +1,54 @@ package com.xzx.gc.system.vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel(value = "SysPopupListVo", description = "返回参数类") public class SysPopupListVo { @ApiModelProperty(value = "Id") private Long id; //广告区域 @ApiModelProperty(value = "广告区域") private Integer area; //广告名称 @ApiModelProperty(value = "广告名称") private String name; //弹窗人群:1:新用戶 2:老用戶 @ApiModelProperty(value = "弹窗人群:1:新用戶 2:老用戶") private Integer aims; //弹窗规则:1:每日首次登录 2:每次登录 @ApiModelProperty(value = "弹窗规则:1:每日首次登录 2:每次登录") private Integer rules; //是否跳转 1:是 2:否 @ApiModelProperty(value = "是否跳转 1:是 2:否") private Integer isOut; //内容链接 @ApiModelProperty(value = "内容链接") private String outText; //开始日期 @ApiModelProperty(value = "开始日期") private String startTime; //结束日期 @ApiModelProperty(value = "结束日期") private String endTime; //上传图片 @ApiModelProperty(value = "上传图片") private String img; //是否上架 1:是2:否 @ApiModelProperty(value = "是否上架 1:是2:否") private Integer state; } gc-sys/src/main/resources/mapper/system/BannerMapper.xml
@@ -130,4 +130,39 @@ where del_flag = 0 and status = 2 order by sort ASC </select> <select id="selectSysPopup" resultType="com.xzx.gc.system.vo.SysPopupListVo"> select * from xzx_sys_popup order by id desc </select> <select id="selectSysPopupById" resultType="com.xzx.gc.system.vo.SysPopupListVo"> select * from xzx_sys_popup where id = #{id} </select> <update id="updateSysPopupById" parameterType="java.util.Map"> update xzx_sys_popup set area = #{area}, name = #{name}, aims = #{aims}, rules = #{rules}, is_out = #{isOut}, out_text = #{outText}, start_time = #{startTime}, end_time = #{endTime}, img = #{img} where id = #{id} </update> <update id="updateSysPopupStatusById" parameterType="java.util.Map"> update xzx_sys_popup set state = #{state} where id = #{id} </update> </mapper> gc-sys/src/main/resources/mapper/system/SysNewsMapper.xml
@@ -48,4 +48,12 @@ </select> <select id="selectSysPopupInfo" resultType="com.xzx.gc.system.vo.ApiSysPopupVo"> select * from xzx_sys_popup where end_time >= #{format} and and start_time <= #{format} </select> </mapper>