feat: 代码生成器生成subject_liked模块基础代码

This commit is contained in:
2024-03-08 13:54:28 +08:00
parent dfe75eec5a
commit f613d757c0
71 changed files with 3293 additions and 0 deletions

View File

@@ -0,0 +1,115 @@
package com.landaiqing.subject.application.controller;
import com.alibaba.fastjson.JSON;
import com.google.common.base.Preconditions;
import com.landaiqing.subject.application.convert.SubjectLikedDTOConverter;
import com.landaiqing.subject.application.dto.SubjectLikedDTO;
import com.landaiqing.subject.common.entity.Result;
import com.landaiqing.subject.domain.entity.SubjectLikedBO;
import com.landaiqing.subject.domain.service.SubjectLikedDomainService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* 题目点赞表 controller
*
* @author landaiqing
* @since 2024-03-08 13:44:59
*/
@RestController
@RequestMapping("/subjectLiked/")
@Slf4j
public class SubjectLikedController {
@Resource
private SubjectLikedDomainService subjectLikedDomainService;
/**
* 新增题目点赞表
*/
@RequestMapping("add")
public Result<Boolean> add(@RequestBody SubjectLikedDTO subjectLikedDTO) {
try {
if (log.isInfoEnabled()) {
log.info("SubjectLikedController.add.dto:{}", JSON.toJSONString(subjectLikedDTO));
}
Preconditions.checkNotNull(subjectLikedDTO.getId(), "不能为空");
Preconditions.checkNotNull(subjectLikedDTO.getSubjectId(), "不能为空");
Preconditions.checkNotNull(subjectLikedDTO.getLikeUserId(), "不能为空");
Preconditions.checkNotNull(subjectLikedDTO.getStatus(), "不能为空");
Preconditions.checkNotNull(subjectLikedDTO.getCreatedBy(), "创建人不能为空");
Preconditions.checkNotNull(subjectLikedDTO.getCreatedTime(), "创建时间不能为空");
Preconditions.checkNotNull(subjectLikedDTO.getUpdateBy(), "更新人不能为空");
Preconditions.checkNotNull(subjectLikedDTO.getUpdateTime(), "更新时间不能为空");
Preconditions.checkNotNull(subjectLikedDTO.getIsDeleted(), "不能为空");
SubjectLikedBO SubjectLikedBO = SubjectLikedDTOConverter.INSTANCE.convertDTOToBO(subjectLikedDTO);
return Result.ok(subjectLikedDomainService.add(SubjectLikedBO));
} catch (Exception e) {
log.error("SubjectLikedController.register.error:{}", e.getMessage(), e);
return Result.fail("新增题目点赞表失败");
}
}
/**
* 修改题目点赞表
*/
@RequestMapping("update")
public Result<Boolean> update(@RequestBody SubjectLikedDTO subjectLikedDTO) {
try {
if (log.isInfoEnabled()) {
log.info("SubjectLikedController.update.dto:{}", JSON.toJSONString(subjectLikedDTO));
}
Preconditions.checkNotNull(subjectLikedDTO.getId(), "不能为空");
Preconditions.checkNotNull(subjectLikedDTO.getSubjectId(), "不能为空");
Preconditions.checkNotNull(subjectLikedDTO.getLikeUserId(), "不能为空");
Preconditions.checkNotNull(subjectLikedDTO.getStatus(), "不能为空");
Preconditions.checkNotNull(subjectLikedDTO.getCreatedBy(), "创建人不能为空");
Preconditions.checkNotNull(subjectLikedDTO.getCreatedTime(), "创建时间不能为空");
Preconditions.checkNotNull(subjectLikedDTO.getUpdateBy(), "更新人不能为空");
Preconditions.checkNotNull(subjectLikedDTO.getUpdateTime(), "更新时间不能为空");
Preconditions.checkNotNull(subjectLikedDTO.getIsDeleted(), "不能为空");
SubjectLikedBO subjectLikedBO = SubjectLikedDTOConverter.INSTANCE.convertDTOToBO(subjectLikedDTO);
return Result.ok(subjectLikedDomainService.update(subjectLikedBO));
} catch (Exception e) {
log.error("SubjectLikedController.update.error:{}", e.getMessage(), e);
return Result.fail("更新题目点赞表信息失败");
}
}
/**
* 删除题目点赞表
*/
@RequestMapping("delete")
public Result<Boolean> delete(@RequestBody SubjectLikedDTO subjectLikedDTO) {
try {
if (log.isInfoEnabled()) {
log.info("SubjectLikedController.delete.dto:{}", JSON.toJSONString(subjectLikedDTO));
}
Preconditions.checkNotNull(subjectLikedDTO.getId(), "不能为空");
Preconditions.checkNotNull(subjectLikedDTO.getSubjectId(), "不能为空");
Preconditions.checkNotNull(subjectLikedDTO.getLikeUserId(), "不能为空");
Preconditions.checkNotNull(subjectLikedDTO.getStatus(), "不能为空");
Preconditions.checkNotNull(subjectLikedDTO.getCreatedBy(), "创建人不能为空");
Preconditions.checkNotNull(subjectLikedDTO.getCreatedTime(), "创建时间不能为空");
Preconditions.checkNotNull(subjectLikedDTO.getUpdateBy(), "更新人不能为空");
Preconditions.checkNotNull(subjectLikedDTO.getUpdateTime(), "更新时间不能为空");
Preconditions.checkNotNull(subjectLikedDTO.getIsDeleted(), "不能为空");
SubjectLikedBO subjectLikedBO = SubjectLikedDTOConverter.INSTANCE.convertDTOToBO(subjectLikedDTO);
return Result.ok(subjectLikedDomainService.delete(subjectLikedBO));
} catch (Exception e) {
log.error("SubjectLikedController.delete.error:{}", e.getMessage(), e);
return Result.fail("删除题目点赞表信息失败");
}
}
}

View File

@@ -0,0 +1,21 @@
package com.landaiqing.subject.application.convert;
import com.landaiqing.subject.application.dto.SubjectLikedDTO;
import com.landaiqing.subject.domain.entity.SubjectLikedBO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
/**
* 题目点赞表 dto转换器
*
* @author landaiqing
* @since 2024-03-08 13:44:59
*/
@Mapper
public interface SubjectLikedDTOConverter {
SubjectLikedDTOConverter INSTANCE = Mappers.getMapper(SubjectLikedDTOConverter.class);
SubjectLikedBO convertDTOToBO(SubjectLikedDTO subjectLikedDTO);
}

View File

@@ -0,0 +1,63 @@
package com.landaiqing.subject.application.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 题目点赞表 dto
*
* @author landaiqing
* @since 2024-03-08 13:44:59
*/
@Data
public class SubjectLikedDTO implements Serializable {
/**
*
*/
private Long id;
/**
*
*/
private Long subjectId;
/**
*
*/
private String likeUserId;
/**
*
*/
private Integer status;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updateBy;
/**
* 更新时间
*/
private Date updateTime;
/**
*
*/
private Integer isDeleted;
}

View File

@@ -0,0 +1,21 @@
package com.landaiqing.subject.domain.convert;
import com.landaiqing.subject.domain.entity.SubjectLikedBO;
import com.landaiqing.subject.infra.basic.entity.SubjectLiked;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
/**
* 题目点赞表 bo转换器
*
* @author landaiqing
* @since 2024-03-08 13:44:59
*/
@Mapper
public interface SubjectLikedBOConverter {
SubjectLikedBOConverter INSTANCE = Mappers.getMapper(SubjectLikedBOConverter.class);
SubjectLiked convertBOToEntity(SubjectLikedBO subjectLikedBO);
}

View File

@@ -0,0 +1,63 @@
package com.landaiqing.subject.domain.entity;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 题目点赞表 bo
*
* @author landaiqing
* @since 2024-03-08 13:44:59
*/
@Data
public class SubjectLikedBO implements Serializable {
/**
*
*/
private Long id;
/**
*
*/
private Long subjectId;
/**
*
*/
private String likeUserId;
/**
*
*/
private Integer status;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updateBy;
/**
* 更新时间
*/
private Date updateTime;
/**
*
*/
private Integer isDeleted;
}

View File

@@ -0,0 +1,29 @@
package com.landaiqing.subject.domain.service;
import com.landaiqing.subject.domain.entity.SubjectLikedBO;
/**
* 题目点赞表 领域service
*
* @author landaiqing
* @since 2024-03-08 13:44:59
*/
public interface SubjectLikedDomainService {
/**
* 添加 题目点赞表 信息
*/
Boolean add(SubjectLikedBO subjectLikedBO);
/**
* 更新 题目点赞表 信息
*/
Boolean update(SubjectLikedBO subjectLikedBO);
/**
* 删除 题目点赞表 信息
*/
Boolean delete(SubjectLikedBO subjectLikedBO);
}

View File

@@ -0,0 +1,48 @@
package com.landaiqing.subject.domain.service.impl;
import com.landaiqing.subject.common.enums.IsDeletedFlagEnum;
import com.landaiqing.subject.domain.convert.SubjectLikedBOConverter;
import com.landaiqing.subject.domain.entity.SubjectLikedBO;
import com.landaiqing.subject.domain.service.SubjectLikedDomainService;
import com.landaiqing.subject.infra.basic.entity.SubjectLiked;
import com.landaiqing.subject.infra.basic.service.SubjectLikedService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 题目点赞表 领域service实现了
*
* @author landaiqing
* @since 2024-03-08 13:44:59
*/
@Service
@Slf4j
public class SubjectLikedDomainServiceImpl implements SubjectLikedDomainService {
@Resource
private SubjectLikedService subjectLikedService;
@Override
public Boolean add(SubjectLikedBO subjectLikedBO) {
SubjectLiked subjectLiked = SubjectLikedBOConverter.INSTANCE.convertBOToEntity(subjectLikedBO);
subjectLiked.setIsDeleted(IsDeletedFlagEnum.UN_DELETED.getCode());
return subjectLikedService.insert(subjectLiked) > 0;
}
@Override
public Boolean update(SubjectLikedBO subjectLikedBO) {
SubjectLiked subjectLiked = SubjectLikedBOConverter.INSTANCE.convertBOToEntity(subjectLikedBO);
return subjectLikedService.update(subjectLiked) > 0;
}
@Override
public Boolean delete(SubjectLikedBO subjectLikedBO) {
SubjectLiked subjectLiked = new SubjectLiked();
subjectLiked.setId(subjectLikedBO.getId());
subjectLiked.setIsDeleted(IsDeletedFlagEnum.DELETED.getCode());
return subjectLikedService.update(subjectLiked) > 0;
}
}

View File

@@ -0,0 +1,77 @@
package com.landaiqing.subject.infra.basic.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 题目点赞表 实体类
*
* @author landaiqing
* @since 2024-03-08 13:44:59
*/
@Data
@TableName("subject_liked")
public class SubjectLiked implements Serializable {
/**
*
*/
@TableId(value = "`id`", type = IdType.AUTO)
private Long id;
/**
*
*/
@TableField("`subject_id`")
private Long subjectId;
/**
*
*/
@TableField("`like_user_id`")
private String likeUserId;
/**
*
*/
@TableField("`status`")
private Integer status;
/**
* 创建人
*/
@TableField("`created_by`")
private String createdBy;
/**
* 创建时间
*/
@TableField("`created_time`")
private Date createdTime;
/**
* 更新人
*/
@TableField("`update_by`")
private String updateBy;
/**
* 更新时间
*/
@TableField("`update_time`")
private Date updateTime;
/**
*
*/
@TableField("`is_deleted`")
private Integer isDeleted;
}

View File

@@ -0,0 +1,17 @@
package com.landaiqing.subject.infra.basic.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.landaiqing.subject.infra.basic.entity.SubjectLiked;
import org.springframework.stereotype.Repository;
/**
* 题目点赞表 表数据库访问层
*
* @author landaiqing
* @since 2024-03-08 13:44:59
*/
@Repository
public interface SubjectLikedDao extends BaseMapper<SubjectLiked> {
}

View File

@@ -0,0 +1,51 @@
package com.landaiqing.subject.infra.basic.service;
import com.landaiqing.subject.infra.basic.entity.SubjectLiked;
/**
* 题目点赞表 表服务接口
*
* @author landaiqing
* @since 2024-03-08 13:44:59
*/
public interface SubjectLikedService {
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
SubjectLiked queryById(Long id);
/**
* 新增数据
*
* @param subjectLiked 实例对象
* @return 实例对象
*/
int insert(SubjectLiked subjectLiked);
/**
* 修改数据
*
* @param subjectLiked 实例对象
* @return 实例对象
*/
int update(SubjectLiked subjectLiked);
/**
* 通过主键删除数据
*
* @param id 主键
* @return 是否成功
*/
boolean deleteById(Long id);
/**
* 根据条件查询角色
*/
SubjectLiked queryByCondition(SubjectLiked subjectLiked);
}

View File

@@ -0,0 +1,93 @@
package com.landaiqing.subject.infra.basic.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.landaiqing.subject.infra.basic.entity.SubjectLiked;
import com.landaiqing.subject.infra.basic.mapper.SubjectLikedDao;
import com.landaiqing.subject.infra.basic.service.SubjectLikedService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Objects;
/**
* 题目点赞表 表服务实现类
*
* @author landaiqing
* @since 2024-03-08 13:44:59
*/
@Service("SubjectLikedService")
public class SubjectLikedServiceImpl implements SubjectLikedService {
@Resource
private SubjectLikedDao subjectLikedDao;
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
@Override
public SubjectLiked queryById(Long id) {
return this.subjectLikedDao.selectById(id);
}
/**
* 新增数据
*
* @param subjectLiked 实例对象
* @return 实例对象
*/
@Override
public int insert(SubjectLiked subjectLiked) {
return this.subjectLikedDao.insert(subjectLiked);
}
/**
* 修改数据
*
* @param subjectLiked 实例对象
* @return 实例对象
*/
@Override
public int update(SubjectLiked subjectLiked) {
return this.subjectLikedDao.updateById(subjectLiked);
}
/**
* 通过主键删除数据
*
* @param id 主键
* @return 是否成功
*/
@Override
public boolean deleteById(Long id) {
return this.subjectLikedDao.deleteById(id) > 0;
}
/**
* 条件查询
*
* @param subjectLiked 条件
* @return 实例对象
*/
@Override
public SubjectLiked queryByCondition(SubjectLiked subjectLiked) {
LambdaQueryWrapper<SubjectLiked> queryWrapper = Wrappers.<SubjectLiked>lambdaQuery()
.eq(Objects.nonNull(subjectLiked.getId()), SubjectLiked::getId, subjectLiked.getId())
.eq(Objects.nonNull(subjectLiked.getSubjectId()), SubjectLiked::getSubjectId, subjectLiked.getSubjectId())
.eq(Objects.nonNull(subjectLiked.getLikeUserId()), SubjectLiked::getLikeUserId, subjectLiked.getLikeUserId())
.eq(Objects.nonNull(subjectLiked.getStatus()), SubjectLiked::getStatus, subjectLiked.getStatus())
.eq(Objects.nonNull(subjectLiked.getCreatedBy()), SubjectLiked::getCreatedBy, subjectLiked.getCreatedBy())
.eq(Objects.nonNull(subjectLiked.getCreatedTime()), SubjectLiked::getCreatedTime, subjectLiked.getCreatedTime())
.eq(Objects.nonNull(subjectLiked.getUpdateBy()), SubjectLiked::getUpdateBy, subjectLiked.getUpdateBy())
.eq(Objects.nonNull(subjectLiked.getUpdateTime()), SubjectLiked::getUpdateTime, subjectLiked.getUpdateTime())
.eq(Objects.nonNull(subjectLiked.getIsDeleted()), SubjectLiked::getIsDeleted, subjectLiked.getIsDeleted())
;
return subjectLikedDao.selectOne(queryWrapper);
}
}

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.landaiqing.subject.infra.basic.mapper.SubjectLikedDao">
<resultMap id="BaseResultMap" type="com.landaiqing.subject.infra.basic.entity.SubjectLiked">
<id column="id" jdbcType="BIGINT" property="id"/>
<result column="subject_id" jdbcType="BIGINT" property="subjectId"/>
<result column="like_user_id" jdbcType="VARCHAR" property="likeUserId"/>
<result column="status" jdbcType="INTEGER" property="status"/>
<result column="created_by" jdbcType="VARCHAR" property="createdBy"/>
<result column="created_time" jdbcType="TIMESTAMP" property="createdTime"/>
<result column="update_by" jdbcType="VARCHAR" property="updateBy"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
<result column="is_deleted" jdbcType="INTEGER" property="isDeleted"/>
</resultMap>
</mapper>