From d6093d8182362422370d7eaf6c53afde9ee45215 Mon Sep 17 00:00:00 2001
From: xiongxiaoyang <1179705413@qq.com>
Date: Fri, 29 Dec 2023 18:54:53 +0800
Subject: [PATCH] =?UTF-8?q?fix(novel-admin):=20=E5=8F=8B=E6=83=85=E9=93=BE?=
 =?UTF-8?q?=E6=8E=A5URL=E6=A0=BC=E5=BC=8F=E6=A0=A1=E9=AA=8C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../controller/FriendLinkController.java      |   5 +-
 .../java2nb/novel/domain/FriendLinkDO.java    | 304 +++++++++---------
 .../templates/novel/friendLink/add.html       |   2 +-
 .../templates/novel/friendLink/edit.html      |   2 +-
 4 files changed, 163 insertions(+), 150 deletions(-)

diff --git a/novel-admin/src/main/java/com/java2nb/novel/controller/FriendLinkController.java b/novel-admin/src/main/java/com/java2nb/novel/controller/FriendLinkController.java
index a26a40a..dd86893 100644
--- a/novel-admin/src/main/java/com/java2nb/novel/controller/FriendLinkController.java
+++ b/novel-admin/src/main/java/com/java2nb/novel/controller/FriendLinkController.java
@@ -12,6 +12,7 @@ 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.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
@@ -83,7 +84,7 @@ public class FriendLinkController {
     @ResponseBody
     @PostMapping("/save")
     @RequiresPermissions("novel:friendLink:add")
-    public R save(FriendLinkDO friendLink) {
+    public R save(@Validated FriendLinkDO friendLink) {
         if (friendLinkService.save(friendLink) > 0) {
             redisTemplate.delete(CacheKey.INDEX_LINK_KEY);
             return R.ok();
@@ -98,7 +99,7 @@ public class FriendLinkController {
     @ResponseBody
     @RequestMapping("/update")
     @RequiresPermissions("novel:friendLink:edit")
-    public R update(FriendLinkDO friendLink) {
+    public R update(@Validated FriendLinkDO friendLink) {
         friendLinkService.update(friendLink);
         redisTemplate.delete(CacheKey.INDEX_LINK_KEY);
         return R.ok();
diff --git a/novel-admin/src/main/java/com/java2nb/novel/domain/FriendLinkDO.java b/novel-admin/src/main/java/com/java2nb/novel/domain/FriendLinkDO.java
index b0b9d73..d026566 100644
--- a/novel-admin/src/main/java/com/java2nb/novel/domain/FriendLinkDO.java
+++ b/novel-admin/src/main/java/com/java2nb/novel/domain/FriendLinkDO.java
@@ -1,163 +1,175 @@
 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.hibernate.validator.constraints.URL;
 import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
 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;
+    private static final long serialVersionUID = 1L;
 
-	/**
-	 * 设置:主键
-	 */
-	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;
-	}
+
+    //主键
+    private Integer id;
+    //链接名
+    private String linkName;
+    //链接url
+    @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;
+    }
 }
diff --git a/novel-admin/src/main/resources/templates/novel/friendLink/add.html b/novel-admin/src/main/resources/templates/novel/friendLink/add.html
index 66e3d11..10096e1 100644
--- a/novel-admin/src/main/resources/templates/novel/friendLink/add.html
+++ b/novel-admin/src/main/resources/templates/novel/friendLink/add.html
@@ -23,7 +23,7 @@
                             <div class="col-sm-8">
                                 <input id="linkUrl" name="linkUrl"
                                        class="form-control"
-                                       type="text" required>
+                                       type="url" required>
 
                             </div>
                         </div>
diff --git a/novel-admin/src/main/resources/templates/novel/friendLink/edit.html b/novel-admin/src/main/resources/templates/novel/friendLink/edit.html
index cef908d..f04ff49 100644
--- a/novel-admin/src/main/resources/templates/novel/friendLink/edit.html
+++ b/novel-admin/src/main/resources/templates/novel/friendLink/edit.html
@@ -26,7 +26,7 @@
                                 <input id="linkUrl" name="linkUrl"
                                        th:value="${friendLink.linkUrl}"
                                        class="form-control"
-                                       type="text" required>
+                                       type="url" required>
                             </div>
                         </div>
                         <div class="form-group">