来源标签增删改查

This commit is contained in:
zzpay 2024-12-17 16:53:58 +08:00
parent c7641d2b25
commit 4ed2b30801
5 changed files with 201 additions and 11 deletions

View File

@ -2,13 +2,17 @@ package com.jinrui.reference.admin.controller;
import com.jinrui.reference.admin.model.entity.AdminUser; import com.jinrui.reference.admin.model.entity.AdminUser;
import com.jinrui.reference.admin.service.AdminJwtService; import com.jinrui.reference.admin.service.AdminJwtService;
import com.jinrui.reference.core.model.dto.news.SaveTagsDTO;
import com.jinrui.reference.core.model.vo.PageObject; import com.jinrui.reference.core.model.vo.PageObject;
import com.jinrui.reference.core.model.vo.ResultObject;
import com.jinrui.reference.core.model.vo.tag.TagVO; import com.jinrui.reference.core.model.vo.tag.TagVO;
import com.jinrui.reference.core.service.TagService; import com.jinrui.reference.core.service.TagService;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
@ -90,6 +94,95 @@ public class TagController {
return queryTag(token, 1L, false, keyword, null, page, size, orderBy, direction); return queryTag(token, 1L, false, keyword, null, page, size, orderBy, direction);
} }
/**
* 创建来源标签
*
* @param token
* @param name
* @return
*/
@PostMapping("/source/create")
public ResultObject<Void> sourceCreate(@RequestHeader("auth-token") String token,
@RequestBody SaveTagsDTO saveTagsDTO
) {
AdminUser adminUser = AdminJwtService.parseToken(token);
if (adminUser == null) {
log.warn("解析token {}拿不到AdminUser对象!", token);
return ResultObject.failed("登陆Token有误请联系系统管理员!");
}
if (!adminUser.isActive()) {
log.warn("当前用户已被封禁! id = {}", adminUser.getId());
return ResultObject.failed("当前用户已被封禁!请联系系统管理员!");
}
return tagService.sourceCreate(saveTagsDTO.getName());
}
/**
* 编辑来源标签
*
* @param token
* @param name
* @return
*/
@PostMapping("/source/update")
public ResultObject<Void> sourceUpdate(@RequestHeader("auth-token") String token,
@RequestBody SaveTagsDTO saveTagsDTO
) {
AdminUser adminUser = AdminJwtService.parseToken(token);
if (adminUser == null) {
log.warn("解析token {}拿不到AdminUser对象!", token);
return ResultObject.failed("登陆Token有误请联系系统管理员!");
}
if (!adminUser.isActive()) {
log.warn("当前用户已被封禁! id = {}", adminUser.getId());
return ResultObject.failed("当前用户已被封禁!请联系系统管理员!");
}
return tagService.sourceUpdate(saveTagsDTO.getName(), saveTagsDTO.getId());
}
/**
* 删除来源标签
*
* @param token
* @return
*/
@PostMapping("/source/delete")
public ResultObject<Void> sourceDetele(@RequestHeader("auth-token") String token,
@RequestBody SaveTagsDTO saveTagsDTO
) {
AdminUser adminUser = AdminJwtService.parseToken(token);
if (adminUser == null) {
log.warn("解析token {}拿不到AdminUser对象!", token);
return ResultObject.failed("登陆Token有误请联系系统管理员!");
}
if (!adminUser.isActive()) {
log.warn("当前用户已被封禁! id = {}", adminUser.getId());
return ResultObject.failed("当前用户已被封禁!请联系系统管理员!");
}
return tagService.sourceDelete(saveTagsDTO.getId());
}
/**
* 查询diy标签
*
* @param token
* @param parent
* @param needChildren
* @param keyword
* @param page
* @param size
* @param orderBy
* @param direction
* @return
*/
@GetMapping("/diy") @GetMapping("/diy")
public PageObject<TagVO> queryDiy(@RequestHeader("auth-token") String token, public PageObject<TagVO> queryDiy(@RequestHeader("auth-token") String token,
@RequestParam(value = "parent", required = false) Long parent, @RequestParam(value = "parent", required = false) Long parent,

View File

@ -19,16 +19,16 @@ spring:
datasource: datasource:
type: com.zaxxer.hikari.HikariDataSource type: com.zaxxer.hikari.HikariDataSource
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://192.168.0.142:3306/reference?autoReconnect=true&useUnicode=true&useSSL=false&allowMultiQueries=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai # url: jdbc:mysql://192.168.0.142:3306/reference?autoReconnect=true&useUnicode=true&useSSL=false&allowMultiQueries=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
username: financial_prod # username: financial_prod
password: mmTFncqmDal5HLRGY0BV # password: mmTFncqmDal5HLRGY0BV
# url: jdbc:mysql://121.37.185.246:3306/reference?autoReconnect=true&useUnicode=true&useSSL=false&allowMultiQueries=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai url: jdbc:mysql://121.37.185.246:3306/reference?autoReconnect=true&useUnicode=true&useSSL=false&allowMultiQueries=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
# username: root username: root
# password: Xgf_8000 password: Xgf_8000
redis: redis:
host: 192.168.0.172 # host: 192.168.0.172
port: 6379
password: Xgf_redis
# host: 123.60.153.169
# port: 6379 # port: 6379
# password: Xgf_redis # password: Xgf_redis
host: 123.60.153.169
port: 6379
password: Xgf_redis

View File

@ -46,6 +46,15 @@ public interface TagMapper {
@Insert("insert into news_tag_rel(news_id, tag_id) values (#{newsId}, #{tagId})") @Insert("insert into news_tag_rel(news_id, tag_id) values (#{newsId}, #{tagId})")
void saveNewsTagRel(@Param("newsId") Long newsId, @Param("tagId") Long tagId); void saveNewsTagRel(@Param("newsId") Long newsId, @Param("tagId") Long tagId);
@Insert("insert into tag(parent_id, name, create_time, update_time) values (#{parentId},#{name}, now(), now())")
void saveTag(@Param("parentId") Long parentId, @Param("name") String name);
@Insert("update tag set name=#{name}, update_time=now() where id=#{id}")
void updateTag(@Param("id") Long id, @Param("name") String name);
@Delete("delete from tag where id = #{id}")
void deleteTag(@Param("id") Long id);
@Results({ @Results({
@Result(column = "id", property = "id", id = true), @Result(column = "id", property = "id", id = true),
@Result(column = "parent_id", property = "parentId"), @Result(column = "parent_id", property = "parentId"),
@ -66,7 +75,7 @@ public interface TagMapper {
"and id &lt;&gt; #{exclude}" + "and id &lt;&gt; #{exclude}" +
"</if>" + "</if>" +
"</where>" + "</where>" +
"order by concat('`', #{orderBy}, '`') " + "order by tag.${orderBy} " +
"<if test=\"'desc'.equals(direction)\">" + "<if test=\"'desc'.equals(direction)\">" +
"desc" + "desc" +
"</if>" + "</if>" +

View File

@ -0,0 +1,23 @@
package com.jinrui.reference.core.model.dto.news;
@SuppressWarnings("unused")
public class SaveTagsDTO {
private Long id;
private String name;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

View File

@ -5,11 +5,13 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.jinrui.reference.core.mapper.TagMapper; import com.jinrui.reference.core.mapper.TagMapper;
import com.jinrui.reference.core.model.entity.Tag; import com.jinrui.reference.core.model.entity.Tag;
import com.jinrui.reference.core.model.vo.PageObject; import com.jinrui.reference.core.model.vo.PageObject;
import com.jinrui.reference.core.model.vo.ResultObject;
import com.jinrui.reference.core.model.vo.tag.TagVO; import com.jinrui.reference.core.model.vo.tag.TagVO;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -41,6 +43,19 @@ public class TagService {
*/ */
public PageObject<TagVO> queryTag(Long parent, boolean needChildren, String keyword, public PageObject<TagVO> queryTag(Long parent, boolean needChildren, String keyword,
Long exclude, int page, int size, String orderBy, String direction) { Long exclude, int page, int size, String orderBy, String direction) {
if (StringUtils.hasText(orderBy)) {
switch (orderBy) {
case "updateTime": {
orderBy = "update_time";
break;
}
case "createTime": {
orderBy = "create_time";
break;
}
}
}
List<Tag> tags; List<Tag> tags;
try { try {
tags = tagMapper.queryTag(parent, keyword, exclude, orderBy, direction); tags = tagMapper.queryTag(parent, keyword, exclude, orderBy, direction);
@ -91,4 +106,54 @@ public class TagService {
return resultPage; return resultPage;
} }
/**
* 创建来源标签
*
* @param name
* @return
*/
public ResultObject<Void> sourceCreate( String name) {
/**
* 目前来源标签写死为1
* id=1的初始化的时候就是来源标签
*/
tagMapper.saveTag(1L, name);
return ResultObject.success();
}
/**
* 编辑来源标签
*
* @param name
* @return
*/
public ResultObject<Void> sourceUpdate( String name, Long id) {
/**
* 目前来源标签写死为1
* id=1的初始化的时候就是来源标签
*/
tagMapper.updateTag(id, name);
return ResultObject.success();
}
/**
* 删除来源标签
*
* @param id
* @return
*/
public ResultObject<Void> sourceDelete(Long id) {
/**
* 目前来源标签写死为1
* id=1的初始化的时候就是来源标签
*/
tagMapper.deleteTag(id);
return ResultObject.success();
}
} }