Commit e90898c1 by 吴博 Committed by guiq

feat: [1007192] 【新增】 Rays码配置支持自定义外链

parent 35c0f1e8
package com.pcloud.book.group.biz;
import com.pcloud.book.group.entity.ResourcePageOuterLink;
import com.pcloud.common.page.PageBeanNew;
import java.util.List;
/**
* (ResourcePageOuterLink)表服务接口
*
* @author wubo
* @since 2022-05-17 14:14:08
*/
public interface ResourcePageOuterLinkBiz {
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
ResourcePageOuterLink getById(Long id);
/**
* 分页查询
*/
PageBeanNew getList(Integer currentPage, Integer numPerPage);
/**
* 新增数据
*
* @param resourcePageOuterLink 实例对象
* @return 主键
*/
Long insert(ResourcePageOuterLink resourcePageOuterLink);
/**
* 修改数据
*
* @param resourcePageOuterLink 实例对象
*/
void update(ResourcePageOuterLink resourcePageOuterLink);
/**
* 通过主键删除数据
*
* @param id 主键
* @return 是否成功
*/
void deleteById(Long id);
/**
* 通过主键软删除数据
*
* @param id 主键
* @return 是否成功
*/
void softDeleteById(Long id);
/**
* 批量新增
* @param addOuterLink
*/
void batchInsert(List<ResourcePageOuterLink> addOuterLink);
/**
* 批量获取
* @param resourcePageOuterLinkIds
* @return
*/
List<ResourcePageOuterLink> selectList(List<Long> resourcePageOuterLinkIds);
}
package com.pcloud.book.group.biz.impl;
import cn.hutool.core.collection.CollUtil;
import com.pcloud.book.group.entity.ResourcePageOuterLink;
import com.pcloud.book.group.dao.ResourcePageOuterLinkDao;
import com.pcloud.book.group.biz.ResourcePageOuterLinkBiz;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.page.PageBeanNew;
import com.pcloud.common.page.PageParam;
import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.NumberUtil;
import org.apache.regexp.RE;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* (ResourcePageOuterLink)表服务实现类
*
* @author wubo
* @since 2022-05-17 14:14:08
*/
@Service("resourcePageOuterLinkBiz")
public class ResourcePageOuterLinkBizImpl implements ResourcePageOuterLinkBiz {
private static final Logger LOGGER = LoggerFactory.getLogger(ResourcePageOuterLinkBizImpl.class);
@Autowired
private ResourcePageOuterLinkDao resourcePageOuterLinkDao;
@Override
@ParamLog("通过ID查询单条数据")
public ResourcePageOuterLink getById(Long id) {
return resourcePageOuterLinkDao.getById(id);
}
@Override
@ParamLog("查询多条数据")
public PageBeanNew getList(Integer currentPage, Integer numPerPage) {
PageBeanNew pageBeanNew = resourcePageOuterLinkDao.listPageNew(new PageParam(currentPage, numPerPage), null, "getList");
List recordList = pageBeanNew.getRecordList();
if (ListUtils.isEmpty(recordList)){
return pageBeanNew;
}
// 加载其它数据
return pageBeanNew;
}
@Override
@ParamLog("新增")
public Long insert(ResourcePageOuterLink resourcePageOuterLink) {
resourcePageOuterLinkDao.insert(resourcePageOuterLink);
return resourcePageOuterLink.getId();
}
@Override
@ParamLog("修改")
public void update(ResourcePageOuterLink resourcePageOuterLink) {
if(resourcePageOuterLink == null || !NumberUtil.isNumber(resourcePageOuterLink.getId())){
throw BizException.PARAM_IS_NULL;
}
resourcePageOuterLinkDao.update(resourcePageOuterLink);
}
@Override
@ParamLog("删除")
public void deleteById(Long id) {
resourcePageOuterLinkDao.deleteById(id);
}
@Override
@ParamLog("软删除")
public void softDeleteById(Long id) {
resourcePageOuterLinkDao.softDeleteById(id);
}
@Override
public void batchInsert(List<ResourcePageOuterLink> addOuterLink) {
resourcePageOuterLinkDao.insert(addOuterLink);
}
@Override
public List<ResourcePageOuterLink> selectList(List<Long> resourcePageOuterLinkIds) {
if (CollUtil.isEmpty(resourcePageOuterLinkIds)) {
return new ArrayList<>();
}
List<ResourcePageOuterLink> resourcePageOuterLinks = resourcePageOuterLinkDao.selectList(resourcePageOuterLinkIds);
return resourcePageOuterLinks;
}
}
......@@ -33,7 +33,8 @@ public class ResourcePageConstants {
ServeTypeEnum.GROUP_ACTIVITY.getValue(), ServeTypeEnum.THIRD_RESOURCE.getValue(), ServeTypeEnum.NO_SERVE.value}),
RAYS_TOOL(7,"RAYS工具",new String[]{ServeTypeEnum.APP.getValue()}),
MEMBER_ACTIVITY(8,"平台会员活动", new String[]{ServeTypeEnum.MEMBER_ACTIVITY.getValue()}),
CHANNEL_SHOP(9,"运营商城", new String[]{ServeTypeEnum.SHOP.getValue()});
CHANNEL_SHOP(9,"运营商城", new String[]{ServeTypeEnum.SHOP.getValue()}),
OUTER_LINK(10,"外链",new String[]{ServeTypeEnum.OUTER_LINK.getValue()});
private Integer code;
private String name;
......@@ -89,7 +90,8 @@ public class ResourcePageConstants {
MEMBER_ACTIVITY("MEMBER_ACTIVITY","平台会员活动"),
NO_SERVE("NO_SERVE","无服务"),
SHOP("SHOP","运营商城"),
RESOURCE("RESOURCE","素材");
RESOURCE("RESOURCE","素材"),
OUTER_LINK("OUTER_LINK","外链");
private String value;
......
package com.pcloud.book.group.dao;
import com.pcloud.book.group.entity.ResourcePageOuterLink;
import com.pcloud.common.core.dao.BaseDao;
import java.util.List;
/**
* (ResourcePageOuterLink)表数据库访问层
*
* @author wubo
* @since 2022-05-17 14:14:07
*/
public interface ResourcePageOuterLinkDao extends BaseDao<ResourcePageOuterLink> {
int softDeleteById(Long id);
List<ResourcePageOuterLink> selectList(List<Long> resourcePageOuterLinkIds);
}
package com.pcloud.book.group.dao.impl;
import com.pcloud.book.group.entity.ResourcePageOuterLink;
import com.pcloud.book.group.dao.ResourcePageOuterLinkDao;
import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Repository;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* (ResourcePageOuterLink)表数据库访问层
*
* @author wubo
* @since 2022-05-17 14:14:07
*/
@Repository("resourcePageOuterLinkDaoImpl")
public class ResourcePageOuterLinkDaoImpl extends BaseDaoImpl<ResourcePageOuterLink> implements ResourcePageOuterLinkDao {
public int softDeleteById(Long id) {
return getSessionTemplate().update(getStatement("softDeleteById"), id);
}
@Override
public List<ResourcePageOuterLink> selectList(List<Long> resourcePageOuterLinkIds) {
return getSessionTemplate().selectList(getStatement("selectList"), resourcePageOuterLinkIds);
}
}
package com.pcloud.book.group.entity;
import java.util.Date;
import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.pcloud.common.entity.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* (ResourcePageOuterLink)实体类
*
* @author wubo
* @since 2022-05-17 14:14:00
*/
@Data
public class ResourcePageOuterLink extends BaseEntity {
private static final long serialVersionUID = -76290868156645860L;
@ApiModelProperty("主键ID")
private Long id;
@ApiModelProperty("1哔哩哔哩 2抖音 3 小红书 4 快手")
private Long originId;
@ApiModelProperty("标题")
private String title;
@ApiModelProperty("描述")
private String description;
@ApiModelProperty("跳转链接")
private String jumpUrl;
@ApiModelProperty("创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;
@ApiModelProperty("更新时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date updateTime;
@ApiModelProperty("删除状态 ")
private Integer isDelete;
@ApiModelProperty("配置页组件id")
private Long resourceColumnId;
}
package com.pcloud.book.group.facade;
import com.pcloud.book.group.entity.ResourcePageOuterLink;
import com.pcloud.book.group.biz.ResourcePageOuterLinkBiz;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.permission.PermissionException;
import com.pcloud.common.utils.SessionUtil;
import org.springframework.web.bind.annotation.*;
import org.springframework.beans.factory.annotation.Autowired;
import io.swagger.annotations.ApiOperation;
/**
* (ResourcePageOuterLink)表控制层
*
* @author wubo
* @since 2022-05-17 14:14:08
*/
@RestController("resourcePageOuterLinkFacade")
@RequestMapping("resourcePageOuterLink")
public class ResourcePageOuterLinkFacade {
@Autowired
private ResourcePageOuterLinkBiz resourcePageOuterLinkBiz;
@ApiOperation("通过主键查询单条数据")
@GetMapping("getById")
public ResponseDto<?> getById(@RequestHeader("token") String token, @RequestParam Long id) throws BizException, PermissionException {
SessionUtil.getToken4Redis(token);
return new ResponseDto<>(resourcePageOuterLinkBiz.getById(id));
}
@ApiOperation("分页查询")
@GetMapping("getList")
public ResponseDto<?> getList(@RequestHeader("token") String token,
@RequestParam(value = "currentPage", defaultValue = "0") Integer currentPage,
@RequestParam(value = "numPerPage", defaultValue = "10") Integer numPerPage)
throws BizException, PermissionException {
SessionUtil.getToken4Redis(token);
return new ResponseDto<>(resourcePageOuterLinkBiz.getList(currentPage, numPerPage));
}
@ApiOperation("新增")
@PostMapping("insert")
public ResponseDto<?> insert(@RequestHeader("token") String token, @RequestBody ResourcePageOuterLink resourcePageOuterLink)
throws BizException, PermissionException {
SessionUtil.getToken4Redis(token);
return new ResponseDto<>(resourcePageOuterLinkBiz.insert(resourcePageOuterLink));
}
@ApiOperation("更新")
@PostMapping("update")
public ResponseDto<?> update(@RequestHeader("token") String token,@RequestBody ResourcePageOuterLink resourcePageOuterLink) throws BizException, PermissionException {
SessionUtil.getToken4Redis(token);
resourcePageOuterLinkBiz.update(resourcePageOuterLink);
return new ResponseDto<>();
}
@ApiOperation("删除")
@GetMapping("deleteById")
public ResponseDto<?> deleteById(@RequestHeader("token") String token, @RequestParam Long id) throws BizException, PermissionException {
SessionUtil.getToken4Redis(token);
if (null == id) {
throw BizException.PARAM_DELETION;
}
resourcePageOuterLinkBiz.deleteById(id);
return new ResponseDto<>();
}
@ApiOperation("软删除")
@GetMapping("softDeleteById")
public ResponseDto<?> softDeleteById(@RequestHeader("token") String token, @RequestParam Long id) throws BizException, PermissionException {
SessionUtil.getToken4Redis(token);
if (null == id) {
throw BizException.PARAM_DELETION;
}
resourcePageOuterLinkBiz.softDeleteById(id);
return new ResponseDto<>();
}
}
......@@ -4,6 +4,7 @@ import com.pcloud.book.applet.dto.AppletOuterBooklistDTO;
import com.pcloud.book.applet.dto.GroupActivity4AppletDTO;
import com.pcloud.book.applet.entity.AppletThirdResources;
import com.pcloud.book.book.vo.response.BookQrcodeWxworkResponseVO;
import com.pcloud.book.group.entity.ResourcePageOuterLink;
import com.pcloud.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -92,6 +93,8 @@ public class ResourcePageItemVO extends BaseDto{
private AppletThirdResources appletThirdResources;
@ApiModelProperty("企业微信群")
private BookQrcodeWxworkResponseVO bookQrcodeWxworkResponseVO;
@ApiModelProperty("外链")
private ResourcePageOuterLink resourcePageOuterLink;
private Long sceneId;
......
<?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.group.dao.impl.ResourcePageOuterLinkDaoImpl">
<resultMap id="BaseResultMap" type="com.pcloud.book.group.entity.ResourcePageOuterLink">
<id column="id" property="id" jdbcType="BIGINT"/>
<result column="origin_id" property="originId" jdbcType="BIGINT"/>
<result column="title" property="title" jdbcType="VARCHAR"/>
<result column="description" property="description" jdbcType="VARCHAR"/>
<result column="jump_url" property="jumpUrl" jdbcType="VARCHAR"/>
<result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/>
<result column="is_delete" property="isDelete" jdbcType="INTEGER"/>
<result column="resource_column_id" property="resourceColumnId" jdbcType="BIGINT"/>
</resultMap>
<sql id="Base_Column_List">
id, origin_id, title, description, jump_url, create_time, update_time, is_delete, resource_column_id
</sql>
<select id="getById" resultMap="BaseResultMap">
SELECT
<include refid="Base_Column_List"/>
FROM resource_page_outer_link
WHERE id = #{id}
</select>
<select id="getList" resultMap="BaseResultMap">
SELECT
<include refid="Base_Column_List"/>
FROM resource_page_outer_link
</select>
<insert id="insert" keyProperty="id" useGeneratedKeys="true">
INSERT INTO resource_page_outer_link(
origin_id,
title,
description,
jump_url,
create_time,
update_time,
is_delete,
resource_column_id
) VALUES (
#{originId, jdbcType=BIGINT},
#{title, jdbcType=VARCHAR},
#{description, jdbcType=VARCHAR},
#{jumpUrl, jdbcType=VARCHAR},
#{createTime, jdbcType=TIMESTAMP},
#{updateTime, jdbcType=TIMESTAMP},
#{isDelete, jdbcType=INTEGER},
#{resourceColumnId, jdbcType=BIGINT}
)
</insert>
<insert id="batchInsert" keyProperty="id" useGeneratedKeys="true">
INSERT INTO resource_page_outer_link (
origin_id,
title,
description,
jump_url,
create_time,
update_time,
is_delete,
resource_column_id
) VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.originId, jdbcType=BIGINT},
#{item.title, jdbcType=VARCHAR},
#{item.description, jdbcType=VARCHAR},
#{item.jumpUrl, jdbcType=VARCHAR},
now(),
now(),
0,
#{item.resourceColumnId, jdbcType=BIGINT}
)
</foreach>
</insert>
<!--通过主键修改数据-->
<update id="update">
UPDATE resource_page_outer_link
<set>
<if test="originId != null">
origin_id = #{originId},
</if>
<if test="title != null and title != ''">
title = #{title},
</if>
<if test="description != null and description != ''">
description = #{description},
</if>
<if test="jumpUrl != null and jumpUrl != ''">
jump_url = #{jumpUrl},
</if>
<if test="createTime != null">
create_time = #{createTime},
</if>
<if test="updateTime != null">
update_time = #{updateTime},
</if>
<if test="isDelete != null">
is_delete = #{isDelete},
</if>
<if test="resourceColumnId != null">
resource_column_id = #{resourceColumnId},
</if>
</set>
WHERE id = #{id}
</update>
<!--通过主键删除-->
<delete id="deleteById">
DELETE FROM resource_page_outer_link where id = #{id}
</delete>
<!--通过主键软删除-->
<delete id="softDeleteById">
update resource_page_outer_link set is_delete = 1, update_time = now() where id = #{id}
</delete>
<select id="selectList" parameterType="list" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
FROM
resource_page_outer_link
where
id in
<foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</select>
</mapper>
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