From adbedb77aecbecadbb770b8e7784b1b28536af25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E8=8B=B1=E6=9D=B0?= <327782001@qq.com> Date: Wed, 25 Oct 2023 14:30:33 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E6=96=B0=E5=A2=9Ecsdn=E7=94=A8=E6=88=B7cru?= =?UTF-8?q?d?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AlgorithmicProblemController.java | 3 - .../controller/CsdnUserController.java | 132 ++++++++++++++++++ .../entity/dto/CsdnUserInfoDTO.java | 61 ++++++++ .../entity/query/CsdnUserInfoQuery.java | 35 +++++ 4 files changed, 228 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/kwan/springbootkwan/controller/CsdnUserController.java create mode 100644 src/main/java/com/kwan/springbootkwan/entity/dto/CsdnUserInfoDTO.java create mode 100644 src/main/java/com/kwan/springbootkwan/entity/query/CsdnUserInfoQuery.java diff --git a/src/main/java/com/kwan/springbootkwan/controller/AlgorithmicProblemController.java b/src/main/java/com/kwan/springbootkwan/controller/AlgorithmicProblemController.java index bc879c7..b5f3d77 100644 --- a/src/main/java/com/kwan/springbootkwan/controller/AlgorithmicProblemController.java +++ b/src/main/java/com/kwan/springbootkwan/controller/AlgorithmicProblemController.java @@ -29,9 +29,6 @@ import javax.annotation.Resource; @RequestMapping("algorithmicProblem") public class AlgorithmicProblemController { - /** - * 服务对象 - */ @Resource private AlgorithmicProblemService algorithmicProblemService; diff --git a/src/main/java/com/kwan/springbootkwan/controller/CsdnUserController.java b/src/main/java/com/kwan/springbootkwan/controller/CsdnUserController.java new file mode 100644 index 0000000..265d7f6 --- /dev/null +++ b/src/main/java/com/kwan/springbootkwan/controller/CsdnUserController.java @@ -0,0 +1,132 @@ +package com.kwan.springbootkwan.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.kwan.springbootkwan.entity.CsdnUserInfo; +import com.kwan.springbootkwan.entity.Result; +import com.kwan.springbootkwan.entity.dto.CsdnUserInfoDTO; +import com.kwan.springbootkwan.entity.query.CsdnUserInfoQuery; +import com.kwan.springbootkwan.service.CsdnUserInfoService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +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.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +@Slf4j +@RestController +@RequestMapping("/csdn/user") +public class CsdnUserController { + + + @Autowired + private CsdnUserInfoService csdnUserInfoService; + + /** + * 分页查询所有数据 + * + * @return 所有数据 + */ + @GetMapping("/page") + public Result selectAll(@RequestParam Integer page + , @RequestParam Integer pageSize + , @RequestParam String userName + , @RequestParam String nickName) { + Page pageParm = new Page<>(); + pageParm.setCurrent(page); + pageParm.setSize(pageSize); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.orderByDesc("user_weight"); + wrapper.eq("is_delete", 0); + if (StringUtils.isNotEmpty(userName)) { + wrapper.eq("user_name", userName); + } + if (StringUtils.isNotEmpty(nickName)) { + wrapper.like("nick_name", nickName); + } + return Result.ok(CsdnUserInfoDTO.Converter.INSTANCE.from(this.csdnUserInfoService.page(pageParm, wrapper))); + } + + + /** + * 新增用户 + * + * @return 所有数据 + */ + @PostMapping("/add") + public Result add(@RequestBody CsdnUserInfoQuery addInfo) { + final String userName = addInfo.getUserName(); + final Integer addType = addInfo.getAddType(); + if (StringUtils.isEmpty(userName)) { + return Result.error("名字不能为空"); + } + //批量添加 + if (addType == 1) { + final String[] split = userName.split("\n"); + for (String str : split) { + str = str.trim(); + if (StringUtils.isEmpty(str)) { + continue; + } + CsdnUserInfo csdnUserInfo = new CsdnUserInfo(); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("user_name", str); + wrapper.eq("is_delete", 0); + final CsdnUserInfo one = this.csdnUserInfoService.getOne(wrapper); + if (one == null) { + BeanUtils.copyProperties(addInfo, csdnUserInfo); + csdnUserInfo.setUserName(str); + this.csdnUserInfoService.save(csdnUserInfo); + } + } + } else { + CsdnUserInfo csdnUserInfo = new CsdnUserInfo(); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("user_name", userName); + wrapper.eq("is_delete", 0); + final CsdnUserInfo one = this.csdnUserInfoService.getOne(wrapper); + if (one == null) { + BeanUtils.copyProperties(addInfo, csdnUserInfo); + this.csdnUserInfoService.save(csdnUserInfo); + return Result.ok(); + } else { + return Result.error("该用户已存在"); + } + } + return Result.ok(); + } + + /** + * 更新用户 + * + * @param query + * @return + */ + @PostMapping("/update") + public Result update(@RequestBody CsdnUserInfoQuery query) { + CsdnUserInfo csdnUserInfo = new CsdnUserInfo(); + BeanUtils.copyProperties(query, csdnUserInfo); + return Result.ok(this.csdnUserInfoService.updateById(csdnUserInfo)); + } + + /** + * 删除用户 + * + * @param id + * @return + */ + @GetMapping("/delete") + public Result delete(@RequestParam("id") Integer id) { + CsdnUserInfo csdnUserInfo = new CsdnUserInfo(); + csdnUserInfo.setIsDelete(1); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("id", id); + return Result.ok(this.csdnUserInfoService.update(csdnUserInfo, wrapper)); + } + +} diff --git a/src/main/java/com/kwan/springbootkwan/entity/dto/CsdnUserInfoDTO.java b/src/main/java/com/kwan/springbootkwan/entity/dto/CsdnUserInfoDTO.java new file mode 100644 index 0000000..bb43da9 --- /dev/null +++ b/src/main/java/com/kwan/springbootkwan/entity/dto/CsdnUserInfoDTO.java @@ -0,0 +1,61 @@ +package com.kwan.springbootkwan.entity.dto; + +import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.kwan.springbootkwan.entity.CsdnUserInfo; +import com.kwan.springbootkwan.mapstruct.FromConverter; +import lombok.Data; +import org.mapstruct.Mapper; +import org.mapstruct.ReportingPolicy; +import org.mapstruct.factory.Mappers; + +import java.util.Date; + + +@Data +public class CsdnUserInfoDTO extends Model { + /** + * 主键id + */ + private Integer id; + /** + * 用户code + */ + private String userName; + /** + * CSDN用户名称 + */ + private String nickName; + /** + * 点赞状态 + */ + private Integer likeStatus; + /** + * 收藏状态 + */ + private Integer collectStatus; + /** + * 评论状态 + */ + private Integer commentStatus; + /** + * 用户权重 + */ + private Integer userWeight; + /** + * 文章类型 + */ + private String articleType; + /** + * 创建时间 + */ + private Date createTime; + /** + * 逻辑删除,0未删除,1已删除 + */ + private Integer isDelete; + + @Mapper(unmappedTargetPolicy = ReportingPolicy.IGNORE) + public interface Converter extends FromConverter { + Converter INSTANCE = Mappers.getMapper(Converter.class); + } +} \ No newline at end of file diff --git a/src/main/java/com/kwan/springbootkwan/entity/query/CsdnUserInfoQuery.java b/src/main/java/com/kwan/springbootkwan/entity/query/CsdnUserInfoQuery.java new file mode 100644 index 0000000..bba790e --- /dev/null +++ b/src/main/java/com/kwan/springbootkwan/entity/query/CsdnUserInfoQuery.java @@ -0,0 +1,35 @@ +package com.kwan.springbootkwan.entity.query; + +import lombok.Data; + +@Data +public class CsdnUserInfoQuery { + /** + * 用户code + */ + private String userName; + /** + * CSDN用户名称 + */ + private String nickName; + /** + * 点赞状态 + */ + private Integer likeStatus = 0; + /** + * 收藏状态 + */ + private Integer collectStatus = 0; + /** + * 评论状态 + */ + private Integer commentStatus = 0; + /** + * 用户权重 + */ + private Integer userWeight; + /** + * 添加类型 + */ + private Integer addType; +} -- GitLab