fix:新增csdn用户crud

上级 6041f44d
......@@ -29,9 +29,6 @@ import javax.annotation.Resource;
@RequestMapping("algorithmicProblem")
public class AlgorithmicProblemController {
/**
* 服务对象
*/
@Resource
private AlgorithmicProblemService algorithmicProblemService;
......
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<CsdnUserInfo> pageParm = new Page<>();
pageParm.setCurrent(page);
pageParm.setSize(pageSize);
QueryWrapper<CsdnUserInfo> 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<CsdnUserInfo> 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<CsdnUserInfo> 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<CsdnUserInfo> wrapper = new QueryWrapper<>();
wrapper.eq("id", id);
return Result.ok(this.csdnUserInfoService.update(csdnUserInfo, wrapper));
}
}
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<CsdnUserInfoDTO> {
/**
* 主键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<CsdnUserInfoDTO, CsdnUserInfo> {
Converter INSTANCE = Mappers.getMapper(Converter.class);
}
}
\ No newline at end of file
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;
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册