fix(novel-admin): 友情链接URL格式校验

This commit is contained in:
xiongxiaoyang 2023-12-29 18:54:53 +08:00
parent f77792aa3c
commit d6093d8182
4 changed files with 163 additions and 150 deletions

View File

@ -12,6 +12,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
@ -83,7 +84,7 @@ public class FriendLinkController {
@ResponseBody @ResponseBody
@PostMapping("/save") @PostMapping("/save")
@RequiresPermissions("novel:friendLink:add") @RequiresPermissions("novel:friendLink:add")
public R save(FriendLinkDO friendLink) { public R save(@Validated FriendLinkDO friendLink) {
if (friendLinkService.save(friendLink) > 0) { if (friendLinkService.save(friendLink) > 0) {
redisTemplate.delete(CacheKey.INDEX_LINK_KEY); redisTemplate.delete(CacheKey.INDEX_LINK_KEY);
return R.ok(); return R.ok();
@ -98,7 +99,7 @@ public class FriendLinkController {
@ResponseBody @ResponseBody
@RequestMapping("/update") @RequestMapping("/update")
@RequiresPermissions("novel:friendLink:edit") @RequiresPermissions("novel:friendLink:edit")
public R update(FriendLinkDO friendLink) { public R update(@Validated FriendLinkDO friendLink) {
friendLinkService.update(friendLink); friendLinkService.update(friendLink);
redisTemplate.delete(CacheKey.INDEX_LINK_KEY); redisTemplate.delete(CacheKey.INDEX_LINK_KEY);
return R.ok(); return R.ok();

View File

@ -1,27 +1,21 @@
package com.java2nb.novel.domain; package com.java2nb.novel.domain;
import java.io.Serializable;
import java.math.BigDecimal;
import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.java2nb.common.jsonserializer.LongToStringSerializer; import com.java2nb.common.jsonserializer.LongToStringSerializer;
import org.hibernate.validator.constraints.URL;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date; import java.util.Date;
/** /**
*
*
* @author xiongxy * @author xiongxy
* @email 1179705413@qq.com * @email 1179705413@qq.com
* @date 2023-04-14 15:12:25 * @date 2023-04-14 15:12:25
*/ */
public class FriendLinkDO implements Serializable { public class FriendLinkDO implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ -30,6 +24,7 @@ public class FriendLinkDO implements Serializable {
//链接名 //链接名
private String linkName; private String linkName;
//链接url //链接url
@URL
private String linkUrl; private String linkUrl;
//排序号 //排序号
private Integer sort; private Integer sort;
@ -58,102 +53,119 @@ public class FriendLinkDO implements Serializable {
public void setId(Integer id) { public void setId(Integer id) {
this.id = id; this.id = id;
} }
/** /**
* 获取主键 * 获取主键
*/ */
public Integer getId() { public Integer getId() {
return id; return id;
} }
/** /**
* 设置链接名 * 设置链接名
*/ */
public void setLinkName(String linkName) { public void setLinkName(String linkName) {
this.linkName = linkName; this.linkName = linkName;
} }
/** /**
* 获取链接名 * 获取链接名
*/ */
public String getLinkName() { public String getLinkName() {
return linkName; return linkName;
} }
/** /**
* 设置链接url * 设置链接url
*/ */
public void setLinkUrl(String linkUrl) { public void setLinkUrl(String linkUrl) {
this.linkUrl = linkUrl; this.linkUrl = linkUrl;
} }
/** /**
* 获取链接url * 获取链接url
*/ */
public String getLinkUrl() { public String getLinkUrl() {
return linkUrl; return linkUrl;
} }
/** /**
* 设置排序号 * 设置排序号
*/ */
public void setSort(Integer sort) { public void setSort(Integer sort) {
this.sort = sort; this.sort = sort;
} }
/** /**
* 获取排序号 * 获取排序号
*/ */
public Integer getSort() { public Integer getSort() {
return sort; return sort;
} }
/** /**
* 设置是否开启0不开启1开启 * 设置是否开启0不开启1开启
*/ */
public void setIsOpen(Integer isOpen) { public void setIsOpen(Integer isOpen) {
this.isOpen = isOpen; this.isOpen = isOpen;
} }
/** /**
* 获取是否开启0不开启1开启 * 获取是否开启0不开启1开启
*/ */
public Integer getIsOpen() { public Integer getIsOpen() {
return isOpen; return isOpen;
} }
/** /**
* 设置创建人id * 设置创建人id
*/ */
public void setCreateUserId(Long createUserId) { public void setCreateUserId(Long createUserId) {
this.createUserId = createUserId; this.createUserId = createUserId;
} }
/** /**
* 获取创建人id * 获取创建人id
*/ */
public Long getCreateUserId() { public Long getCreateUserId() {
return createUserId; return createUserId;
} }
/** /**
* 设置创建时间 * 设置创建时间
*/ */
public void setCreateTime(Date createTime) { public void setCreateTime(Date createTime) {
this.createTime = createTime; this.createTime = createTime;
} }
/** /**
* 获取创建时间 * 获取创建时间
*/ */
public Date getCreateTime() { public Date getCreateTime() {
return createTime; return createTime;
} }
/** /**
* 设置更新者用户id * 设置更新者用户id
*/ */
public void setUpdateUserId(Long updateUserId) { public void setUpdateUserId(Long updateUserId) {
this.updateUserId = updateUserId; this.updateUserId = updateUserId;
} }
/** /**
* 获取更新者用户id * 获取更新者用户id
*/ */
public Long getUpdateUserId() { public Long getUpdateUserId() {
return updateUserId; return updateUserId;
} }
/** /**
* 设置更新时间 * 设置更新时间
*/ */
public void setUpdateTime(Date updateTime) { public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime; this.updateTime = updateTime;
} }
/** /**
* 获取更新时间 * 获取更新时间
*/ */

View File

@ -23,7 +23,7 @@
<div class="col-sm-8"> <div class="col-sm-8">
<input id="linkUrl" name="linkUrl" <input id="linkUrl" name="linkUrl"
class="form-control" class="form-control"
type="text" required> type="url" required>
</div> </div>
</div> </div>

View File

@ -26,7 +26,7 @@
<input id="linkUrl" name="linkUrl" <input id="linkUrl" name="linkUrl"
th:value="${friendLink.linkUrl}" th:value="${friendLink.linkUrl}"
class="form-control" class="form-control"
type="text" required> type="url" required>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">