diff --git a/server/like-common/src/main/java/com/mdd/common/entity/AppFriend.java b/server/like-common/src/main/java/com/mdd/common/entity/AppFriend.java new file mode 100644 index 0000000..ba9a5a5 --- /dev/null +++ b/server/like-common/src/main/java/com/mdd/common/entity/AppFriend.java @@ -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; + +} \ No newline at end of file diff --git a/server/like-common/src/main/java/com/mdd/common/mapper/AppFriendMapper.java b/server/like-common/src/main/java/com/mdd/common/mapper/AppFriendMapper.java new file mode 100644 index 0000000..88e02f2 --- /dev/null +++ b/server/like-common/src/main/java/com/mdd/common/mapper/AppFriendMapper.java @@ -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 { +} diff --git a/server/like-front/src/main/java/com/mdd/front/controller/AppFriendController.java b/server/like-front/src/main/java/com/mdd/front/controller/AppFriendController.java new file mode 100644 index 0000000..779842b --- /dev/null +++ b/server/like-front/src/main/java/com/mdd/front/controller/AppFriendController.java @@ -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> list(@Validated PageValidate pageValidate, + @Validated AppFriendSearchValidate searchValidate) { + PageResult list = iAppFriendService.list(pageValidate, searchValidate); + return AjaxResult.success(list); + } + + @GetMapping("/detail") + @ApiOperation(value="用户好友信息详情") + public AjaxResult detail(@Validated @IDMust() @RequestParam("id") Integer id) { + AppFriendDetailVo detail = iAppFriendService.detail(id); + return AjaxResult.success(detail); + } + + @Log(title = "用户好友信息新增") + @PostMapping("/add") + @ApiOperation(value="用户好友信息新增") + public AjaxResult add(@Validated @RequestBody AppFriendCreateValidate createValidate) { + iAppFriendService.add(createValidate); + return AjaxResult.success(); + } + + @Log(title = "用户好友信息编辑") + @PostMapping("/edit") + @ApiOperation(value="用户好友信息编辑") + public AjaxResult edit(@Validated @RequestBody AppFriendUpdateValidate updateValidate) { + iAppFriendService.edit(updateValidate); + return AjaxResult.success(); + } + + @Log(title = "用户好友信息删除") + @PostMapping("/del") + @ApiOperation(value="用户好友信息删除") + public AjaxResult del(@Validated @RequestBody IdValidate idValidate) { + iAppFriendService.del(idValidate.getId()); + return AjaxResult.success(); + } + +} diff --git a/server/like-front/src/main/java/com/mdd/front/service/IAppFriendService.java b/server/like-front/src/main/java/com/mdd/front/service/IAppFriendService.java new file mode 100644 index 0000000..5782ef8 --- /dev/null +++ b/server/like-front/src/main/java/com/mdd/front/service/IAppFriendService.java @@ -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 + */ + PageResult 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); + +} diff --git a/server/like-front/src/main/java/com/mdd/front/service/impl/AppFriendServiceImpl.java b/server/like-front/src/main/java/com/mdd/front/service/impl/AppFriendServiceImpl.java new file mode 100644 index 0000000..a019d2b --- /dev/null +++ b/server/like-front/src/main/java/com/mdd/front/service/impl/AppFriendServiceImpl.java @@ -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 + */ + @Override + public PageResult list(PageValidate pageValidate, AppFriendSearchValidate searchValidate) { + Integer page = pageValidate.getPageNo(); + Integer limit = pageValidate.getPageSize(); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.orderByDesc("id"); + + appFriendMapper.setSearch(queryWrapper, searchValidate, new String[]{ + "=:userId@user_id:int", + "=:friendId@friend_id:int", + }); + + IPage iPage = appFriendMapper.selectPage(new Page<>(page, limit), queryWrapper); + + List 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() + .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() + .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() + .eq("id", id) + .last("limit 1")); + + Assert.notNull(model, "数据不存在!"); + + appFriendMapper.delete(new QueryWrapper().eq("id", id)); + } + +} diff --git a/server/like-front/src/main/java/com/mdd/front/validate/AppFriendCreateValidate.java b/server/like-front/src/main/java/com/mdd/front/validate/AppFriendCreateValidate.java new file mode 100644 index 0000000..a83adeb --- /dev/null +++ b/server/like-front/src/main/java/com/mdd/front/validate/AppFriendCreateValidate.java @@ -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; + +} diff --git a/server/like-front/src/main/java/com/mdd/front/validate/AppFriendSearchValidate.java b/server/like-front/src/main/java/com/mdd/front/validate/AppFriendSearchValidate.java new file mode 100644 index 0000000..1831dc5 --- /dev/null +++ b/server/like-front/src/main/java/com/mdd/front/validate/AppFriendSearchValidate.java @@ -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; + +} diff --git a/server/like-front/src/main/java/com/mdd/front/validate/AppFriendUpdateValidate.java b/server/like-front/src/main/java/com/mdd/front/validate/AppFriendUpdateValidate.java new file mode 100644 index 0000000..fbb8fd0 --- /dev/null +++ b/server/like-front/src/main/java/com/mdd/front/validate/AppFriendUpdateValidate.java @@ -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; + +} diff --git a/server/like-front/src/main/java/com/mdd/front/vo/AppFriendDetailVo.java b/server/like-front/src/main/java/com/mdd/front/vo/AppFriendDetailVo.java new file mode 100644 index 0000000..8c2968b --- /dev/null +++ b/server/like-front/src/main/java/com/mdd/front/vo/AppFriendDetailVo.java @@ -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; + + +} diff --git a/server/like-front/src/main/java/com/mdd/front/vo/AppFriendListedVo.java b/server/like-front/src/main/java/com/mdd/front/vo/AppFriendListedVo.java new file mode 100644 index 0000000..9b9f456 --- /dev/null +++ b/server/like-front/src/main/java/com/mdd/front/vo/AppFriendListedVo.java @@ -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; + + +}