feat: 后台友情链接管理

This commit is contained in:
xiongxiaoyang
2023-04-14 16:32:05 +08:00
parent 3b0edd8e1f
commit c76df15a7f
20 changed files with 1605 additions and 880 deletions

View File

@ -0,0 +1,135 @@
package com.java2nb.novel.controller;
import com.java2nb.common.config.CacheKey;
import com.java2nb.common.utils.PageBean;
import com.java2nb.common.utils.Query;
import com.java2nb.common.utils.R;
import com.java2nb.novel.domain.FriendLinkDO;
import com.java2nb.novel.service.FriendLinkService;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
* @author xiongxy
* @email 1179705413@qq.com
* @date 2023-04-14 15:12:25
*/
@Controller
@RequestMapping("/novel/friendLink")
public class FriendLinkController {
@Autowired
private FriendLinkService friendLinkService;
@Autowired
private RedisTemplate<Object, Object> redisTemplate;
@GetMapping()
@RequiresPermissions("novel:friendLink:friendLink")
String FriendLink() {
return "novel/friendLink/friendLink";
}
@ApiOperation(value = "获取列表", notes = "获取列表")
@ResponseBody
@GetMapping("/list")
@RequiresPermissions("novel:friendLink:friendLink")
public R list(@RequestParam Map<String, Object> params) {
//查询列表数据
Query query = new Query(params);
List<FriendLinkDO> friendLinkList = friendLinkService.list(query);
int total = friendLinkService.count(query);
PageBean pageBean = new PageBean(friendLinkList, total);
return R.ok().put("data", pageBean);
}
@ApiOperation(value = "新增页面", notes = "新增页面")
@GetMapping("/add")
@RequiresPermissions("novel:friendLink:add")
String add() {
return "novel/friendLink/add";
}
@ApiOperation(value = "修改页面", notes = "修改页面")
@GetMapping("/edit/{id}")
@RequiresPermissions("novel:friendLink:edit")
String edit(@PathVariable("id") Integer id, Model model) {
FriendLinkDO friendLink = friendLinkService.get(id);
model.addAttribute("friendLink", friendLink);
return "novel/friendLink/edit";
}
@ApiOperation(value = "查看页面", notes = "查看页面")
@GetMapping("/detail/{id}")
@RequiresPermissions("novel:friendLink:detail")
String detail(@PathVariable("id") Integer id, Model model) {
FriendLinkDO friendLink = friendLinkService.get(id);
model.addAttribute("friendLink", friendLink);
return "novel/friendLink/detail";
}
/**
* 保存
*/
@ApiOperation(value = "新增", notes = "新增")
@ResponseBody
@PostMapping("/save")
@RequiresPermissions("novel:friendLink:add")
public R save(FriendLinkDO friendLink) {
if (friendLinkService.save(friendLink) > 0) {
redisTemplate.delete(CacheKey.INDEX_LINK_KEY);
return R.ok();
}
return R.error();
}
/**
* 修改
*/
@ApiOperation(value = "修改", notes = "修改")
@ResponseBody
@RequestMapping("/update")
@RequiresPermissions("novel:friendLink:edit")
public R update(FriendLinkDO friendLink) {
friendLinkService.update(friendLink);
redisTemplate.delete(CacheKey.INDEX_LINK_KEY);
return R.ok();
}
/**
* 删除
*/
@ApiOperation(value = "删除", notes = "删除")
@PostMapping("/remove")
@ResponseBody
@RequiresPermissions("novel:friendLink:remove")
public R remove(Integer id) {
if (friendLinkService.remove(id) > 0) {
redisTemplate.delete(CacheKey.INDEX_LINK_KEY);
return R.ok();
}
return R.error();
}
/**
* 删除
*/
@ApiOperation(value = "批量删除", notes = "批量删除")
@PostMapping("/batchRemove")
@ResponseBody
@RequiresPermissions("novel:friendLink:batchRemove")
public R remove(@RequestParam("ids[]") Integer[] ids) {
friendLinkService.batchRemove(ids);
redisTemplate.delete(CacheKey.INDEX_LINK_KEY);
return R.ok();
}
}

View File

@ -0,0 +1,32 @@
package com.java2nb.novel.dao;
import com.java2nb.novel.domain.FriendLinkDO;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Mapper;
/**
*
* @author xiongxy
* @email 1179705413@qq.com
* @date 2023-04-14 15:12:25
*/
@Mapper
public interface FriendLinkDao {
FriendLinkDO get(Integer id);
List<FriendLinkDO> list(Map<String,Object> map);
int count(Map<String,Object> map);
int save(FriendLinkDO friendLink);
int update(FriendLinkDO friendLink);
int remove(Integer id);
int batchRemove(Integer[] ids);
}

View File

@ -0,0 +1,163 @@
package com.java2nb.novel.domain;
import java.io.Serializable;
import java.math.BigDecimal;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.java2nb.common.jsonserializer.LongToStringSerializer;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
*
*
* @author xiongxy
* @email 1179705413@qq.com
* @date 2023-04-14 15:12:25
*/
public class FriendLinkDO implements Serializable {
private static final long serialVersionUID = 1L;
//主键
private Integer id;
//链接名
private String linkName;
//链接url
private String linkUrl;
//排序号
private Integer sort;
//是否开启0不开启1开启
private Integer isOpen;
//创建人id
//java中的long能表示的范围比js中number大,也就意味着部分数值在js中存不下(变成不准确的值)
//所以通过序列化成字符串来解决
@JsonSerialize(using = LongToStringSerializer.class)
private Long createUserId;
//创建时间
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
//更新者用户id
//java中的long能表示的范围比js中number大,也就意味着部分数值在js中存不下(变成不准确的值)
//所以通过序列化成字符串来解决
@JsonSerialize(using = LongToStringSerializer.class)
private Long updateUserId;
//更新时间
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/**
* 设置:主键
*/
public void setId(Integer id) {
this.id = id;
}
/**
* 获取:主键
*/
public Integer getId() {
return id;
}
/**
* 设置:链接名
*/
public void setLinkName(String linkName) {
this.linkName = linkName;
}
/**
* 获取:链接名
*/
public String getLinkName() {
return linkName;
}
/**
* 设置链接url
*/
public void setLinkUrl(String linkUrl) {
this.linkUrl = linkUrl;
}
/**
* 获取链接url
*/
public String getLinkUrl() {
return linkUrl;
}
/**
* 设置:排序号
*/
public void setSort(Integer sort) {
this.sort = sort;
}
/**
* 获取:排序号
*/
public Integer getSort() {
return sort;
}
/**
* 设置是否开启0不开启1开启
*/
public void setIsOpen(Integer isOpen) {
this.isOpen = isOpen;
}
/**
* 获取是否开启0不开启1开启
*/
public Integer getIsOpen() {
return isOpen;
}
/**
* 设置创建人id
*/
public void setCreateUserId(Long createUserId) {
this.createUserId = createUserId;
}
/**
* 获取创建人id
*/
public Long getCreateUserId() {
return createUserId;
}
/**
* 设置:创建时间
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/**
* 获取:创建时间
*/
public Date getCreateTime() {
return createTime;
}
/**
* 设置更新者用户id
*/
public void setUpdateUserId(Long updateUserId) {
this.updateUserId = updateUserId;
}
/**
* 获取更新者用户id
*/
public Long getUpdateUserId() {
return updateUserId;
}
/**
* 设置:更新时间
*/
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
/**
* 获取:更新时间
*/
public Date getUpdateTime() {
return updateTime;
}
}

View File

@ -0,0 +1,30 @@
package com.java2nb.novel.service;
import com.java2nb.novel.domain.FriendLinkDO;
import java.util.List;
import java.util.Map;
/**
*
*
* @author xiongxy
* @email 1179705413@qq.com
* @date 2023-04-14 15:12:25
*/
public interface FriendLinkService {
FriendLinkDO get(Integer id);
List<FriendLinkDO> list(Map<String, Object> map);
int count(Map<String, Object> map);
int save(FriendLinkDO friendLink);
int update(FriendLinkDO friendLink);
int remove(Integer id);
int batchRemove(Integer[] ids);
}

View File

@ -0,0 +1,55 @@
package com.java2nb.novel.service.impl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import com.java2nb.novel.dao.FriendLinkDao;
import com.java2nb.novel.domain.FriendLinkDO;
import com.java2nb.novel.service.FriendLinkService;
@Service
public class FriendLinkServiceImpl implements FriendLinkService {
@Autowired
private FriendLinkDao friendLinkDao;
@Override
public FriendLinkDO get(Integer id){
return friendLinkDao.get(id);
}
@Override
public List<FriendLinkDO> list(Map<String, Object> map){
return friendLinkDao.list(map);
}
@Override
public int count(Map<String, Object> map){
return friendLinkDao.count(map);
}
@Override
public int save(FriendLinkDO friendLink){
return friendLinkDao.save(friendLink);
}
@Override
public int update(FriendLinkDO friendLink){
return friendLinkDao.update(friendLink);
}
@Override
public int remove(Integer id){
return friendLinkDao.remove(id);
}
@Override
public int batchRemove(Integer[] ids){
return friendLinkDao.batchRemove(ids);
}
}