✨ 作品集功能
This commit is contained in:
parent
686cbb925e
commit
27db7a83f7
35
src/main/java/com/rymcu/vertical/dto/PortfolioDTO.java
Normal file
35
src/main/java/com/rymcu/vertical/dto/PortfolioDTO.java
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
package com.rymcu.vertical.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author ronger
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class PortfolioDTO {
|
||||||
|
|
||||||
|
private Integer idPortfolio;
|
||||||
|
/** 作品集头像 */
|
||||||
|
private String headImgUrl;
|
||||||
|
/** 作品集作者 */
|
||||||
|
private Integer portfolioAuthorId;
|
||||||
|
/** 作品集作者 */
|
||||||
|
private String portfolioAuthorName;
|
||||||
|
/** 作品集作者头像 */
|
||||||
|
private String portfolioAuthorAvatarUrl;
|
||||||
|
/** 作品集名称 */
|
||||||
|
private String name;
|
||||||
|
/** 作品集介绍 */
|
||||||
|
private String description;
|
||||||
|
/** 更新时间 */
|
||||||
|
private Date updatedTime;
|
||||||
|
/** 过去时长 */
|
||||||
|
private String timeAgo;
|
||||||
|
|
||||||
|
private Author portfolioAuthor;
|
||||||
|
|
||||||
|
private Integer articleNumber;
|
||||||
|
|
||||||
|
}
|
@ -111,4 +111,11 @@ public interface ArticleMapper extends Mapper<Article> {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
Integer deleteUnusedArticleTag(@Param("idArticleTag") Integer idArticleTag);
|
Integer deleteUnusedArticleTag(@Param("idArticleTag") Integer idArticleTag);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询作品集下文章
|
||||||
|
* @param idPortfolio
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<ArticleDTO> selectArticlesByIdPortfolio(@Param("idPortfolio") Integer idPortfolio);
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,34 @@
|
|||||||
package com.rymcu.vertical.mapper;
|
package com.rymcu.vertical.mapper;
|
||||||
|
|
||||||
import com.rymcu.vertical.core.mapper.Mapper;
|
import com.rymcu.vertical.core.mapper.Mapper;
|
||||||
|
import com.rymcu.vertical.dto.PortfolioDTO;
|
||||||
import com.rymcu.vertical.entity.Portfolio;
|
import com.rymcu.vertical.entity.Portfolio;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author ronger
|
* @author ronger
|
||||||
*/
|
*/
|
||||||
public interface PortfolioMapper extends Mapper<Portfolio> {
|
public interface PortfolioMapper extends Mapper<Portfolio> {
|
||||||
|
/**
|
||||||
|
* 查询用户作品集
|
||||||
|
* @param idUser
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<PortfolioDTO> selectUserPortfoliosByIdUser(@Param("idUser") Integer idUser);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询作品集
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
PortfolioDTO selectPortfolioDTOById(@Param("id") Integer id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 统计作品集下文章数
|
||||||
|
* @param idPortfolio
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Integer selectCountArticleNumber(@Param("idPortfolio") Integer idPortfolio);
|
||||||
}
|
}
|
||||||
|
@ -78,13 +78,22 @@ public interface ArticleService extends Service<Article> {
|
|||||||
/**
|
/**
|
||||||
* 获取分享链接数据
|
* 获取分享链接数据
|
||||||
* @param id
|
* @param id
|
||||||
|
* @throws BaseApiException
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
Map share(Integer id) throws BaseApiException;
|
Map share(Integer id) throws BaseApiException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询草稿文章类别
|
* 查询草稿文章类别
|
||||||
|
* @throws BaseApiException
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<ArticleDTO> findDrafts() throws BaseApiException;
|
List<ArticleDTO> findDrafts() throws BaseApiException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询作品集下文章
|
||||||
|
* @param idPortfolio
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<ArticleDTO> findArticlesByIdPortfolio(Integer idPortfolio);
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,36 @@
|
|||||||
package com.rymcu.vertical.service;
|
package com.rymcu.vertical.service;
|
||||||
|
|
||||||
import com.rymcu.vertical.core.service.Service;
|
import com.rymcu.vertical.core.service.Service;
|
||||||
|
import com.rymcu.vertical.dto.PortfolioDTO;
|
||||||
|
import com.rymcu.vertical.dto.UserDTO;
|
||||||
import com.rymcu.vertical.entity.Portfolio;
|
import com.rymcu.vertical.entity.Portfolio;
|
||||||
|
import com.rymcu.vertical.web.api.exception.BaseApiException;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author ronger
|
* @author ronger
|
||||||
*/
|
*/
|
||||||
public interface PortfolioService extends Service<Portfolio> {
|
public interface PortfolioService extends Service<Portfolio> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询用户作品集
|
||||||
|
* @param userDTO
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<PortfolioDTO> findUserPortfoliosByUser(UserDTO userDTO);
|
||||||
|
|
||||||
|
/** 查询作品集
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
PortfolioDTO findPortfolioDTOById(Integer id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保持/更新作品集
|
||||||
|
* @param portfolio
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Portfolio postPortfolio(Portfolio portfolio) throws BaseApiException;
|
||||||
}
|
}
|
||||||
|
@ -263,6 +263,15 @@ public class ArticleServiceImpl extends AbstractService<Article> implements Arti
|
|||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<ArticleDTO> findArticlesByIdPortfolio(Integer idPortfolio) {
|
||||||
|
List<ArticleDTO> list = articleMapper.selectArticlesByIdPortfolio(idPortfolio);
|
||||||
|
list.forEach(article->{
|
||||||
|
genArticle(article,0);
|
||||||
|
});
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
private ArticleDTO genArticle(ArticleDTO article, Integer type) {
|
private ArticleDTO genArticle(ArticleDTO article, Integer type) {
|
||||||
Author author = userService.selectAuthor(article.getArticleAuthorId());
|
Author author = userService.selectAuthor(article.getArticleAuthorId());
|
||||||
article.setArticleAuthor(author);
|
article.setArticleAuthor(author);
|
||||||
|
@ -1,12 +1,23 @@
|
|||||||
package com.rymcu.vertical.service.impl;
|
package com.rymcu.vertical.service.impl;
|
||||||
|
|
||||||
import com.rymcu.vertical.core.service.AbstractService;
|
import com.rymcu.vertical.core.service.AbstractService;
|
||||||
|
import com.rymcu.vertical.dto.Author;
|
||||||
|
import com.rymcu.vertical.dto.PortfolioDTO;
|
||||||
|
import com.rymcu.vertical.dto.UserDTO;
|
||||||
import com.rymcu.vertical.entity.Portfolio;
|
import com.rymcu.vertical.entity.Portfolio;
|
||||||
|
import com.rymcu.vertical.entity.User;
|
||||||
import com.rymcu.vertical.mapper.PortfolioMapper;
|
import com.rymcu.vertical.mapper.PortfolioMapper;
|
||||||
import com.rymcu.vertical.service.PortfolioService;
|
import com.rymcu.vertical.service.PortfolioService;
|
||||||
|
import com.rymcu.vertical.service.UserService;
|
||||||
|
import com.rymcu.vertical.util.UserUtils;
|
||||||
|
import com.rymcu.vertical.web.api.exception.BaseApiException;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author ronger
|
* @author ronger
|
||||||
@ -16,5 +27,52 @@ public class PortfolioServiceImpl extends AbstractService<Portfolio> implements
|
|||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private PortfolioMapper portfolioMapper;
|
private PortfolioMapper portfolioMapper;
|
||||||
|
@Resource
|
||||||
|
private UserService userService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<PortfolioDTO> findUserPortfoliosByUser(UserDTO userDTO) {
|
||||||
|
List<PortfolioDTO> list = portfolioMapper.selectUserPortfoliosByIdUser(userDTO.getIdUser());
|
||||||
|
Author author = new Author();
|
||||||
|
author.setIdUser(userDTO.getIdUser());
|
||||||
|
author.setUserAvatarURL(userDTO.getAvatarUrl());
|
||||||
|
author.setUserNickname(userDTO.getNickname());
|
||||||
|
list.forEach(portfolioDTO -> {
|
||||||
|
genPortfolioAuthor(portfolioDTO,author);
|
||||||
|
});
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PortfolioDTO findPortfolioDTOById(Integer id) {
|
||||||
|
PortfolioDTO portfolio = portfolioMapper.selectPortfolioDTOById(id);
|
||||||
|
Author author = userService.selectAuthor(portfolio.getPortfolioAuthorId());
|
||||||
|
genPortfolioAuthor(portfolio,author);
|
||||||
|
Integer articleNumber = portfolioMapper.selectCountArticleNumber(portfolio.getIdPortfolio());
|
||||||
|
portfolio.setArticleNumber(articleNumber);
|
||||||
|
return portfolio;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Portfolio postPortfolio(Portfolio portfolio) throws BaseApiException {
|
||||||
|
User user = UserUtils.getWxCurrentUser();
|
||||||
|
if (portfolio.getIdPortfolio() == null || portfolio.getIdPortfolio() == 0) {
|
||||||
|
portfolio.setPortfolioAuthorId(user.getIdUser());
|
||||||
|
portfolio.setCreatedTime(new Date());
|
||||||
|
portfolio.setUpdatedTime(portfolio.getCreatedTime());
|
||||||
|
portfolioMapper.insertSelective(portfolio);
|
||||||
|
} else {
|
||||||
|
portfolio.setUpdatedTime(new Date());
|
||||||
|
portfolioMapper.updateByPrimaryKeySelective(portfolio);
|
||||||
|
}
|
||||||
|
return portfolio;
|
||||||
|
}
|
||||||
|
|
||||||
|
private PortfolioDTO genPortfolioAuthor(PortfolioDTO portfolioDTO, Author author) {
|
||||||
|
portfolioDTO.setPortfolioAuthorAvatarUrl(author.getUserAvatarURL());
|
||||||
|
portfolioDTO.setPortfolioAuthorName(author.getUserNickname());
|
||||||
|
portfolioDTO.setPortfolioAuthorId(author.getIdUser());
|
||||||
|
portfolioDTO.setPortfolioAuthor(author);
|
||||||
|
return portfolioDTO;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -107,7 +107,7 @@ public class TagServiceImpl extends AbstractService<Tag> implements TagService {
|
|||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public Map saveTag(Tag tag) {
|
public Map saveTag(Tag tag) {
|
||||||
Integer result = 0;
|
Integer result;
|
||||||
|
|
||||||
Map map = new HashMap(1);
|
Map map = new HashMap(1);
|
||||||
if (tag.getIdTag() == null) {
|
if (tag.getIdTag() == null) {
|
||||||
|
@ -6,13 +6,11 @@ import com.rymcu.vertical.core.result.GlobalResult;
|
|||||||
import com.rymcu.vertical.core.result.GlobalResultGenerator;
|
import com.rymcu.vertical.core.result.GlobalResultGenerator;
|
||||||
import com.rymcu.vertical.core.result.GlobalResultMessage;
|
import com.rymcu.vertical.core.result.GlobalResultMessage;
|
||||||
import com.rymcu.vertical.core.service.log.annotation.VisitLogger;
|
import com.rymcu.vertical.core.service.log.annotation.VisitLogger;
|
||||||
import com.rymcu.vertical.dto.ArticleDTO;
|
import com.rymcu.vertical.dto.*;
|
||||||
import com.rymcu.vertical.dto.ForgetPasswordDTO;
|
|
||||||
import com.rymcu.vertical.dto.TokenUser;
|
|
||||||
import com.rymcu.vertical.dto.UserRegisterInfoDTO;
|
|
||||||
import com.rymcu.vertical.entity.User;
|
import com.rymcu.vertical.entity.User;
|
||||||
import com.rymcu.vertical.service.ArticleService;
|
import com.rymcu.vertical.service.ArticleService;
|
||||||
import com.rymcu.vertical.service.JavaMailService;
|
import com.rymcu.vertical.service.JavaMailService;
|
||||||
|
import com.rymcu.vertical.service.PortfolioService;
|
||||||
import com.rymcu.vertical.service.UserService;
|
import com.rymcu.vertical.service.UserService;
|
||||||
import com.rymcu.vertical.util.UserUtils;
|
import com.rymcu.vertical.util.UserUtils;
|
||||||
import com.rymcu.vertical.util.Utils;
|
import com.rymcu.vertical.util.Utils;
|
||||||
@ -38,6 +36,8 @@ public class CommonApiController {
|
|||||||
private UserService userService;
|
private UserService userService;
|
||||||
@Resource
|
@Resource
|
||||||
private ArticleService articleService;
|
private ArticleService articleService;
|
||||||
|
@Resource
|
||||||
|
private PortfolioService portfolioService;
|
||||||
|
|
||||||
@ApiOperation(value = "获取邮件验证码")
|
@ApiOperation(value = "获取邮件验证码")
|
||||||
@GetMapping("/get-email-code")
|
@GetMapping("/get-email-code")
|
||||||
@ -120,4 +120,22 @@ public class CommonApiController {
|
|||||||
Map map = userService.forgetPassword(forgetPassword.getCode(), forgetPassword.getPassword());
|
Map map = userService.forgetPassword(forgetPassword.getCode(), forgetPassword.getPassword());
|
||||||
return GlobalResultGenerator.genSuccessResult(map);
|
return GlobalResultGenerator.genSuccessResult(map);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/portfolio/{id}")
|
||||||
|
@VisitLogger
|
||||||
|
public GlobalResult<Map<String, Object>> portfolio(@PathVariable Integer id){
|
||||||
|
PortfolioDTO portfolioDTO = portfolioService.findPortfolioDTOById(id);
|
||||||
|
Map<String, Object> map = new HashMap<>(1);
|
||||||
|
map.put("portfolio", portfolioDTO);
|
||||||
|
return GlobalResultGenerator.genSuccessResult(map);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/portfolio/{id}/articles")
|
||||||
|
public GlobalResult articles(@RequestParam(defaultValue = "0") Integer page, @RequestParam(defaultValue = "10") Integer rows, @PathVariable Integer id) {
|
||||||
|
PageHelper.startPage(page, rows);
|
||||||
|
List<ArticleDTO> list = articleService.findArticlesByIdPortfolio(id);
|
||||||
|
PageInfo<ArticleDTO> pageInfo = new PageInfo(list);
|
||||||
|
Map map = Utils.getArticlesGlobalResult(pageInfo);
|
||||||
|
return GlobalResultGenerator.genSuccessResult(map);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,45 @@
|
|||||||
|
package com.rymcu.vertical.web.api.portfolio;
|
||||||
|
|
||||||
|
import com.rymcu.vertical.core.result.GlobalResult;
|
||||||
|
import com.rymcu.vertical.core.result.GlobalResultGenerator;
|
||||||
|
import com.rymcu.vertical.dto.PortfolioDTO;
|
||||||
|
import com.rymcu.vertical.entity.Portfolio;
|
||||||
|
import com.rymcu.vertical.service.PortfolioService;
|
||||||
|
import com.rymcu.vertical.web.api.exception.BaseApiException;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author ronger
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/api/v1/portfolio")
|
||||||
|
public class PortfolioController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private PortfolioService portfolioService;
|
||||||
|
|
||||||
|
@GetMapping("/detail/{id}")
|
||||||
|
public GlobalResult detail(@PathVariable Integer id) {
|
||||||
|
PortfolioDTO portfolio = portfolioService.findPortfolioDTOById(id);
|
||||||
|
Map map = new HashMap<>(1);
|
||||||
|
map.put("portfolio", portfolio);
|
||||||
|
return GlobalResultGenerator.genSuccessResult(map);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/post")
|
||||||
|
public GlobalResult add(@RequestBody Portfolio portfolio) throws BaseApiException {
|
||||||
|
portfolio = portfolioService.postPortfolio(portfolio);
|
||||||
|
return GlobalResultGenerator.genSuccessResult(portfolio);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PutMapping("/post")
|
||||||
|
public GlobalResult update(@RequestBody Portfolio portfolio) throws BaseApiException {
|
||||||
|
portfolio = portfolioService.postPortfolio(portfolio);
|
||||||
|
return GlobalResultGenerator.genSuccessResult(portfolio);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -5,13 +5,16 @@ import com.github.pagehelper.PageInfo;
|
|||||||
import com.rymcu.vertical.core.result.GlobalResult;
|
import com.rymcu.vertical.core.result.GlobalResult;
|
||||||
import com.rymcu.vertical.core.result.GlobalResultGenerator;
|
import com.rymcu.vertical.core.result.GlobalResultGenerator;
|
||||||
import com.rymcu.vertical.dto.ArticleDTO;
|
import com.rymcu.vertical.dto.ArticleDTO;
|
||||||
|
import com.rymcu.vertical.dto.PortfolioDTO;
|
||||||
import com.rymcu.vertical.dto.UserDTO;
|
import com.rymcu.vertical.dto.UserDTO;
|
||||||
import com.rymcu.vertical.service.ArticleService;
|
import com.rymcu.vertical.service.ArticleService;
|
||||||
|
import com.rymcu.vertical.service.PortfolioService;
|
||||||
import com.rymcu.vertical.service.UserService;
|
import com.rymcu.vertical.service.UserService;
|
||||||
import com.rymcu.vertical.util.Utils;
|
import com.rymcu.vertical.util.Utils;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@ -26,6 +29,8 @@ public class UserController {
|
|||||||
private UserService userService;
|
private UserService userService;
|
||||||
@Resource
|
@Resource
|
||||||
private ArticleService articleService;
|
private ArticleService articleService;
|
||||||
|
@Resource
|
||||||
|
private PortfolioService portfolioService;
|
||||||
|
|
||||||
@GetMapping("/{nickname}")
|
@GetMapping("/{nickname}")
|
||||||
public GlobalResult detail(@PathVariable String nickname){
|
public GlobalResult detail(@PathVariable String nickname){
|
||||||
@ -46,4 +51,20 @@ public class UserController {
|
|||||||
return GlobalResultGenerator.genSuccessResult(map);
|
return GlobalResultGenerator.genSuccessResult(map);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/{nickname}/portfolios")
|
||||||
|
public GlobalResult userPortfolios(@RequestParam(defaultValue = "0") Integer page, @RequestParam(defaultValue = "12") Integer rows, @PathVariable String nickname){
|
||||||
|
UserDTO userDTO = userService.findUserDTOByNickname(nickname);
|
||||||
|
if (userDTO == null){
|
||||||
|
return GlobalResultGenerator.genErrorResult("用户不存在!");
|
||||||
|
}
|
||||||
|
PageHelper.startPage(page, rows);
|
||||||
|
List<PortfolioDTO> list = portfolioService.findUserPortfoliosByUser(userDTO);
|
||||||
|
PageInfo<PortfolioDTO> pageInfo = new PageInfo(list);
|
||||||
|
Map map = new HashMap(2);
|
||||||
|
map.put("portfolios", list);
|
||||||
|
Map pagination = Utils.getPagination(pageInfo);
|
||||||
|
map.put("pagination", pagination);
|
||||||
|
return GlobalResultGenerator.genSuccessResult(map);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -101,4 +101,8 @@
|
|||||||
<select id="selectDrafts" resultMap="DTOResultMap">
|
<select id="selectDrafts" resultMap="DTOResultMap">
|
||||||
select art.*,su.nickname,su.avatar_url from vertical_article art left join vertical_user su on art.article_author_id = su.id where article_status = '1' and art.article_author_id = #{idUser} order by updated_time desc
|
select art.*,su.nickname,su.avatar_url from vertical_article art left join vertical_user su on art.article_author_id = su.id where article_status = '1' and art.article_author_id = #{idUser} order by updated_time desc
|
||||||
</select>
|
</select>
|
||||||
|
<select id="selectArticlesByIdPortfolio" resultMap="DTOResultMap">
|
||||||
|
select art.*,su.nickname,su.avatar_url from vertical_article art left join vertical_user su on art.article_author_id = su.id where art.article_status = 0
|
||||||
|
and art.id in (select id_vertical_article from vertical_portfolio_article where id_vertical_portfolio = #{idPortfolio}) order by updated_time desc
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
@ -10,4 +10,21 @@
|
|||||||
<result column="created_time" property="createdTime"></result>
|
<result column="created_time" property="createdTime"></result>
|
||||||
<result column="updated_time" property="updatedTime"></result>
|
<result column="updated_time" property="updatedTime"></result>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
<resultMap id="DTOResultMap" type="com.rymcu.vertical.dto.PortfolioDTO">
|
||||||
|
<result column="id" property="idPortfolio"></result>
|
||||||
|
<result column="head_img_url" property="headImgUrl"></result>
|
||||||
|
<result column="name" property="name"></result>
|
||||||
|
<result column="portfolio_author_id" property="portfolioAuthorId"></result>
|
||||||
|
<result column="description" property="description"></result>
|
||||||
|
<result column="updated_time" property="updatedTime"></result>
|
||||||
|
</resultMap>
|
||||||
|
<select id="selectUserPortfoliosByIdUser" resultMap="DTOResultMap">
|
||||||
|
select id, head_img_url, name, portfolio_author_id, description, updated_time from vertical_portfolio where portfolio_author_id = #{idUser}
|
||||||
|
</select>
|
||||||
|
<select id="selectPortfolioDTOById" resultMap="DTOResultMap">
|
||||||
|
select id, head_img_url, name, portfolio_author_id, description, updated_time from vertical_portfolio where id = #{id}
|
||||||
|
</select>
|
||||||
|
<select id="selectCountArticleNumber" resultType="java.lang.Integer">
|
||||||
|
select count(*) from vertical_portfolio_article where id_vertical_portfolio = #{idPortfolio}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
Loading…
x
Reference in New Issue
Block a user