linhw 2024-05-15 13:31:22 +08:00
parent f43025e169
commit 0a860465fa
10 changed files with 456 additions and 0 deletions

View File

@ -0,0 +1,36 @@
package com.mdd.common.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
@ApiModel("用户好友信息实体")
public class AppFriend implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value="id", type= IdType.AUTO)
@ApiModelProperty(value = "主键")
private Integer id;
@ApiModelProperty(value = "用户id")
private Integer userId;
@ApiModelProperty(value = "朋友id")
private Integer friendId;
@ApiModelProperty(value = "创建时间")
private Long createTime;
@ApiModelProperty(value = "更新时间")
private Long updateTime;
@ApiModelProperty(value = "删除时间")
private Long deleteTime;
}

View File

@ -0,0 +1,13 @@
package com.mdd.common.mapper;
import com.mdd.common.core.basics.IBaseMapper;
import com.mdd.common.entity.AppFriend;
import org.apache.ibatis.annotations.Mapper;
/**
* Mapper
* @author LikeAdmin
*/
@Mapper
public interface AppFriendMapper extends IBaseMapper<AppFriend> {
}

View File

@ -0,0 +1,69 @@
package com.mdd.front.controller;
import com.mdd.front.aop.Log;
import com.mdd.front.service.IAppFriendService;
import com.mdd.front.validate.common.IdValidate;
import com.mdd.front.validate.AppFriendCreateValidate;
import com.mdd.front.validate.AppFriendUpdateValidate;
import com.mdd.front.validate.AppFriendSearchValidate;
import com.mdd.front.validate.common.PageValidate;
import com.mdd.front.vo.AppFriendListedVo;
import com.mdd.front.vo.AppFriendDetailVo;
import com.mdd.common.core.AjaxResult;
import com.mdd.common.core.PageResult;
import com.mdd.common.validator.annotation.IDMust;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@RestController
@RequestMapping("api/friend")
@Api(tags = "用户好友信息管理")
public class AppFriendController {
@Resource
IAppFriendService iAppFriendService;
@GetMapping("/list")
@ApiOperation(value="用户好友信息列表")
public AjaxResult<PageResult<AppFriendListedVo>> list(@Validated PageValidate pageValidate,
@Validated AppFriendSearchValidate searchValidate) {
PageResult<AppFriendListedVo> list = iAppFriendService.list(pageValidate, searchValidate);
return AjaxResult.success(list);
}
@GetMapping("/detail")
@ApiOperation(value="用户好友信息详情")
public AjaxResult<AppFriendDetailVo> detail(@Validated @IDMust() @RequestParam("id") Integer id) {
AppFriendDetailVo detail = iAppFriendService.detail(id);
return AjaxResult.success(detail);
}
@Log(title = "用户好友信息新增")
@PostMapping("/add")
@ApiOperation(value="用户好友信息新增")
public AjaxResult<Object> add(@Validated @RequestBody AppFriendCreateValidate createValidate) {
iAppFriendService.add(createValidate);
return AjaxResult.success();
}
@Log(title = "用户好友信息编辑")
@PostMapping("/edit")
@ApiOperation(value="用户好友信息编辑")
public AjaxResult<Object> edit(@Validated @RequestBody AppFriendUpdateValidate updateValidate) {
iAppFriendService.edit(updateValidate);
return AjaxResult.success();
}
@Log(title = "用户好友信息删除")
@PostMapping("/del")
@ApiOperation(value="用户好友信息删除")
public AjaxResult<Object> del(@Validated @RequestBody IdValidate idValidate) {
iAppFriendService.del(idValidate.getId());
return AjaxResult.success();
}
}

View File

@ -0,0 +1,60 @@
package com.mdd.front.service;
import com.mdd.front.validate.common.PageValidate;
import com.mdd.front.validate.AppFriendCreateValidate;
import com.mdd.front.validate.AppFriendUpdateValidate;
import com.mdd.front.validate.AppFriendSearchValidate;
import com.mdd.front.vo.AppFriendListedVo;
import com.mdd.front.vo.AppFriendDetailVo;
import com.mdd.common.core.PageResult;
/**
*
* @author LikeAdmin
*/
public interface IAppFriendService {
/**
*
*
* @author LikeAdmin
* @param pageValidate
* @param searchValidate
* @return PageResult<AppFriendListedVo>
*/
PageResult<AppFriendListedVo> list(PageValidate pageValidate, AppFriendSearchValidate searchValidate);
/**
*
*
* @author LikeAdmin
* @param id ID
* @return AppFriendDetailVo
*/
AppFriendDetailVo detail(Integer id);
/**
*
*
* @author LikeAdmin
* @param createValidate
*/
void add(AppFriendCreateValidate createValidate);
/**
*
*
* @author LikeAdmin
* @param updateValidate
*/
void edit(AppFriendUpdateValidate updateValidate);
/**
*
*
* @author LikeAdmin
* @param id ID
*/
void del(Integer id);
}

View File

@ -0,0 +1,147 @@
package com.mdd.front.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mdd.common.core.PageResult;
import com.mdd.common.entity.AppFriend;
import com.mdd.common.mapper.AppFriendMapper;
import com.mdd.common.util.TimeUtils;
import com.mdd.front.service.IAppFriendService;
import com.mdd.front.validate.AppFriendCreateValidate;
import com.mdd.front.validate.AppFriendSearchValidate;
import com.mdd.front.validate.AppFriendUpdateValidate;
import com.mdd.front.validate.common.PageValidate;
import com.mdd.front.vo.AppFriendDetailVo;
import com.mdd.front.vo.AppFriendListedVo;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import javax.annotation.Resource;
import java.util.LinkedList;
import java.util.List;
/**
*
* @author LikeAdmin
*/
@Service
public class AppFriendServiceImpl implements IAppFriendService {
@Resource
AppFriendMapper appFriendMapper;
/**
*
*
* @author LikeAdmin
* @param pageValidate
* @param searchValidate
* @return PageResult<AppFriendListedVo>
*/
@Override
public PageResult<AppFriendListedVo> list(PageValidate pageValidate, AppFriendSearchValidate searchValidate) {
Integer page = pageValidate.getPageNo();
Integer limit = pageValidate.getPageSize();
QueryWrapper<AppFriend> queryWrapper = new QueryWrapper<>();
queryWrapper.orderByDesc("id");
appFriendMapper.setSearch(queryWrapper, searchValidate, new String[]{
"=:userId@user_id:int",
"=:friendId@friend_id:int",
});
IPage<AppFriend> iPage = appFriendMapper.selectPage(new Page<>(page, limit), queryWrapper);
List<AppFriendListedVo> list = new LinkedList<>();
for(AppFriend item : iPage.getRecords()) {
AppFriendListedVo vo = new AppFriendListedVo();
BeanUtils.copyProperties(item, vo);
vo.setCreateTime(TimeUtils.timestampToDate(item.getCreateTime()));
vo.setUpdateTime(TimeUtils.timestampToDate(item.getUpdateTime()));
list.add(vo);
}
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list);
}
/**
*
*
* @author LikeAdmin
* @param id
* @return AppFriend
*/
@Override
public AppFriendDetailVo detail(Integer id) {
AppFriend model = appFriendMapper.selectOne(
new QueryWrapper<AppFriend>()
.eq("id", id)
.last("limit 1"));
Assert.notNull(model, "数据不存在");
AppFriendDetailVo vo = new AppFriendDetailVo();
BeanUtils.copyProperties(model, vo);
return vo;
}
/**
*
*
* @author LikeAdmin
* @param createValidate
*/
@Override
public void add(AppFriendCreateValidate createValidate) {
AppFriend model = new AppFriend();
model.setUserId(createValidate.getUserId());
model.setFriendId(createValidate.getFriendId());
model.setCreateTime(System.currentTimeMillis() / 1000);
model.setUpdateTime(System.currentTimeMillis() / 1000);
appFriendMapper.insert(model);
}
/**
*
*
* @author LikeAdmin
* @param updateValidate
*/
@Override
public void edit(AppFriendUpdateValidate updateValidate) {
AppFriend model = appFriendMapper.selectOne(
new QueryWrapper<AppFriend>()
.eq("id", updateValidate.getId())
.last("limit 1"));
Assert.notNull(model, "数据不存在!");
model.setId(updateValidate.getId());
model.setUserId(updateValidate.getUserId());
model.setFriendId(updateValidate.getFriendId());
model.setUpdateTime(System.currentTimeMillis() / 1000);
appFriendMapper.updateById(model);
}
/**
*
*
* @author LikeAdmin
* @param id ID
*/
@Override
public void del(Integer id) {
AppFriend model = appFriendMapper.selectOne(
new QueryWrapper<AppFriend>()
.eq("id", id)
.last("limit 1"));
Assert.notNull(model, "数据不存在!");
appFriendMapper.delete(new QueryWrapper<AppFriend>().eq("id", id));
}
}

View File

@ -0,0 +1,23 @@
package com.mdd.front.validate;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import javax.validation.constraints.*;
@Data
@ApiModel("用户好友信息创建参数")
public class AppFriendCreateValidate implements Serializable {
private static final long serialVersionUID = 1L;
@NotNull(message = "userId参数缺失")
@ApiModelProperty(value = "用户id")
private Integer userId;
@NotNull(message = "friendId参数缺失")
@ApiModelProperty(value = "朋友id")
private Integer friendId;
}

View File

@ -0,0 +1,20 @@
package com.mdd.front.validate;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
@ApiModel("用户好友信息搜素参数")
public class AppFriendSearchValidate implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "用户id")
private Integer userId;
@ApiModelProperty(value = "朋友id")
private Integer friendId;
}

View File

@ -0,0 +1,32 @@
package com.mdd.front.validate;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import javax.validation.constraints.*;
import com.mdd.common.validator.annotation.IDMust;
/**
*
* @author LikeAdmin
*/
@Data
@ApiModel("用户好友信息更新参数")
public class AppFriendUpdateValidate implements Serializable {
private static final long serialVersionUID = 1L;
@IDMust(message = "id参数必传且需大于0")
@ApiModelProperty(value = "主键")
private Integer id;
@NotNull(message = "userId参数缺失")
@ApiModelProperty(value = "用户id")
private Integer userId;
@NotNull(message = "friendId参数缺失")
@ApiModelProperty(value = "朋友id")
private Integer friendId;
}

View File

@ -0,0 +1,25 @@
package com.mdd.front.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
@ApiModel("用户好友信息详情Vo")
public class AppFriendDetailVo implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "主键")
private Integer id;
@ApiModelProperty(value = "用户id")
private Integer userId;
@ApiModelProperty(value = "朋友id")
private Integer friendId;
}

View File

@ -0,0 +1,31 @@
package com.mdd.front.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
@ApiModel("用户好友信息列表Vo")
public class AppFriendListedVo implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "主键")
private Integer id;
@ApiModelProperty(value = "用户id")
private Integer userId;
@ApiModelProperty(value = "朋友id")
private Integer friendId;
@ApiModelProperty(value = "创建时间")
private String createTime;
@ApiModelProperty(value = "更新时间")
private String updateTime;
}