Commit ccf4a809 by 田超

Merge branch 'feature/1003753' into 'master'

feat: [1003753] 编辑端图书封面通用选择配置

See merge request rays/pcloud-book!1013
parents 804ab042 441fc151
package com.pcloud.book.book.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.pcloud.common.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
@EqualsAndHashCode(callSuper = true)
@Data
public class BookCoverDTO extends BaseEntity {
private String coverId;
private String coverImg;
private Long templetId;
private String templetName;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createdTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date updateTime;
}
package com.pcloud.book.book.biz;
import com.pcloud.book.book.dto.BookCoverDTO;
import com.pcloud.common.page.PageBeanNew;
/**
* 图书封面业务接口
*/
public interface BookCoverBiz {
/**
*查询封面
*/
PageBeanNew<BookCoverDTO> getCoverByTempletId(Long templetId, Integer currentPage, Integer perpageNumber);
/**
* 新增封面
*/
BookCoverDTO addCover(Long templetId, String url);
/**
* 删除封面
*/
void deleteCoverById(String coverId);
/**
* 修改封面
*/
void updateCover(Long templetId, String coverImg, String coverId);
// /**
// * 查询一个封面
// */
// BookCoverDTO selectByTempletIdAndCoverImg(Long templetId,String coverImg);
}
package com.pcloud.book.book.biz.impl;
import com.pcloud.book.book.dto.BookCoverDTO;
import com.pcloud.common.page.PageBeanNew;
/**
* 图书封面业务接口
*/
public interface BookCoverBiz {
/**
*查询封面
*/
PageBeanNew<BookCoverDTO> getCoverByTempletId(Long templetId, Integer currentPage, Integer perpageNumber);
/**
* 新增封面
*/
BookCoverDTO addCover(Long templetId, String url);
/**
* 删除封面
*/
void deleteCoverById(String coverId);
/**
* 修改封面
*/
void updateCover(Long templetId, String coverImg, String coverId);
// /**
// * 查询一个封面
// */
// BookCoverDTO selectByTempletIdAndCoverImg(Long templetId,String coverImg);
}
package com.pcloud.book.book.dao;
import com.pcloud.book.book.dto.BookCoverDTO;
import com.pcloud.common.core.dao.BaseDao;
import java.util.List;
/**
* 书籍封面持久层接口
*/
public interface BookCoverDao extends BaseDao<BookCoverDTO> {
List<BookCoverDTO> selectAllCover();
List<BookCoverDTO> selectByTempletId(Long TempletId);
BookCoverDTO selectById(String coverId);
BookCoverDTO selectByTempletIdAndCoverImg(Long templetId, String coverId);
void deleteById(String coverId);
void updateCover(BookCoverDTO bookCoverDTO);
}
package com.pcloud.book.book.dao.impl;
import cn.hutool.core.map.MapUtil;
import com.pcloud.book.book.dao.BookCoverDao;
import com.pcloud.book.book.dto.BookCoverDTO;
import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.List;
@Component("bookCoverDao")
public class BookCoverDaoImpl extends BaseDaoImpl<BookCoverDTO> implements BookCoverDao {
@Override
public List<BookCoverDTO> selectAllCover() {
return super.getSessionTemplate().selectList("selectAllCover");
}
@Override
public List<BookCoverDTO> selectByTempletId(Long TempletId) {
return super.getSessionTemplate().selectList("selectByTempletId", MapUtil.of("TempletId", TempletId));
}
@Override
public BookCoverDTO selectById(String coverId) {
return super.sqlSessionTemplate.selectOne(getStatement("selectById"), coverId);
}
@Override
public BookCoverDTO selectByTempletIdAndCoverImg(Long templetId, String coverId) {
HashMap<String, Object> paramMap = new HashMap<>();
paramMap.put("templetId",templetId);
paramMap.put("coverId",coverId);
return super.getSqlSession().selectOne(getStatement("selectByTempletIdAndCoverImg"), paramMap);
}
@Override
public void deleteById(String coverId) {
getSqlSession().delete(getStatement("deleteById"), coverId);
}
@Override
public void updateCover(BookCoverDTO bookCoverDTO) {
super.getSqlSession().update(this.getStatement("updateCover"),bookCoverDTO);
}
}
package com.pcloud.book.book.facade;
import com.pcloud.book.book.biz.BookCoverBiz;
import com.pcloud.book.book.dto.BookCoverDTO;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.utils.SessionUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController("bookCover")
@RequestMapping("/bookCover")
@Api(description = "图书封面服务")
public class BookCoverFacade {
@Autowired
private BookCoverBiz bookCoverBiz;
@ApiOperation(value = "根据分类ID获取封面", httpMethod = "GET")
@ApiImplicitParams({@ApiImplicitParam(name = "templetId", value = "分类ID", dataType = "long", paramType = "query"),
@ApiImplicitParam(name = "currentPage", value = "当前页号", dataType = "Integer", paramType = "query"),
@ApiImplicitParam(name = "numPerPage", value = "每页显示数目", dataType = "Integer", paramType = "query")})
@RequestMapping(value = "/getCoverByTempletId", method = RequestMethod.GET)
public ResponseDto<PageBeanNew<BookCoverDTO>> getCoverByTempletId(
@RequestHeader("token") String token,
@RequestParam(value = "templetId", required = false) Long templetId,
@RequestParam(value = "currentPage") Integer currentPage,
@RequestParam(value = "numPerPage") Integer numPerPage) {
SessionUtil.getVlaue(token, SessionUtil.USER_ID);
return new ResponseDto<>(bookCoverBiz.getCoverByTempletId(templetId, currentPage, numPerPage));
}
@ApiOperation("添加封面")
@RequestMapping("insert", method = RequestMethod.GET)
public ResponseDto<BookCoverDTO> insert(@RequestHeader("token") String token,
@RequestParam(value = "templetId", required = false) Long templetId,
@RequestParam(value = "coverImg") String coverImg) {
SessionUtil.getToken4Redis(token);
return new ResponseDto<>(bookCoverBiz.addCover(templetId, coverImg));
}
@ApiOperation("删除封面")
@RequestMapping(value = "delete", method = RequestMethod.GET)
public ResponseDto<?> delete(@RequestHeader("token") String token,
@RequestParam(value = "coverId") String coverId) {
SessionUtil.getToken4Redis(token);
bookCoverBiz.deleteCoverById(coverId);
return new ResponseDto<>();
}
@ApiOperation("更新封面")
@RequestMapping("update", method = RequestMethod.GET)
public ResponseDto<?> update(@RequestHeader("token") String token,
@RequestParam(value = "templetId") Long templetId,
@RequestParam(value = "coverId") String coverId,
@RequestParam(value = "coverImg") String coverImg) {
SessionUtil.getToken4Redis(token);
bookCoverBiz.updateCover(templetId, coverImg,coverId);
return new ResponseDto<>();
}
}
<?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.pcloud.book.book.dao.impl.BookCoverDaoImpl">
<resultMap id="BaseResultMap" type="com.pcloud.book.book.dto.BookCoverDTO">
<id column="COVER_ID" property="coverId" jdbcType="BIGINT" />
<result column="TEMPLET_ID" property="templetId" jdbcType="BIGINT" />
<result column="TEMPLET_NAME" property="templetName" jdbcType="VARCHAR" />
<result column="COVER_IMG" property="coverImg" jdbcType="VARCHAR" />
<result column="CREATED_Time" property="createdTime" jdbcType="TIMESTAMP" />
<result column="UPDATE_TIME" property="updateTime" jdbcType="TIMESTAMP" />
</resultMap>
<select id="selectAllCover" resultMap="BaseResultMap">
select
COVER_ID,TEMPLET_ID,TEMPLET_NAME,COVER_IMG,UPDATE_TIME,CREATED_Time
from
book_cover
</select>
<select id="selectByTempletId" parameterType="map" resultMap="BaseResultMap">
select
COVER_ID,TEMPLET_ID,TEMPLET_NAME,COVER_IMG,UPDATE_TIME,CREATED_Time
from
book_cover
<if test="templetId != null" >
where TEMPLET_ID = #{templetId}
</if>
</select>
<insert id="insert" parameterType="com.pcloud.book.book.dto.BookCoverDTO" useGeneratedKeys="true" keyProperty="COVER_ID" >
insert into
book_cover (COVER_ID,TEMPLET_ID,TEMPLET_NAME,COVER_IMG,CREATED_Time,UPDATE_TIME)
values
(#{coverId,jdbcType=BIGINT}, #{templetId,jdbcType=BIGINT}, #{templetName,jdbcType=VARCHAR},
#{coverImg,jdbcType=VARCHAR}, now(), #{updateTime,jdbcType=TIMESTAMP})
</insert>
<select id="selectById" resultMap="BaseResultMap">
SELECT
COVER_ID,TEMPLET_ID,TEMPLET_NAME,COVER_IMG,UPDATE_TIME,CREATED_Time
FROM
book_cover
WHERE
COVER_ID = #{coverId}
</select>
<select id="selectByTempletIdAndCoverImg" parameterType="map" resultMap="BaseResultMap" >
SELECT
COVER_ID,TEMPLET_ID,TEMPLET_NAME,COVER_IMG,UPDATE_TIME,CREATED_Time
FROM
book_cover
WHERE
COVER_ID = #{coverId}
AND
TEMPLET_ID = #{templetId}
</select>
<delete id="deleteById" parameterType="string" >
delete from
book_cover
where
COVER_ID=#{coverId}
</delete>
<update id="updateCover" parameterType="com.pcloud.book.book.dto.BookCoverDTO" flushCache="true">
UPDATE book_cover
SET
TEMPLET_ID = #{templetId,jdbcType=VARCHAR},
COVER_IMG = #{coverImg,jdbcType=VARCHAR},
UPDATE_TIME = now()
WHERE
COVER_ID=#{coverId}
</update>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment