diff --git a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvCommentDao.java b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvCommentDao.java
new file mode 100644
index 0000000..65b4a09
--- /dev/null
+++ b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvCommentDao.java
@@ -0,0 +1,36 @@
+package com.heyu.api.data.dao.vv;
+/**
+*
+* 评论表 服务类
+*
+*
+* @author quyixiao
+* @since 2025-08-25
+*/
+import com.heyu.api.data.entity.vv.VvCommentEntity;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+@Mapper
+public interface VvCommentDao extends BaseMapper {
+
+
+ VvCommentEntity selectVvCommentById(@Param("id")Long id);
+
+
+ Long insertVvComment(VvCommentEntity vvComment);
+
+
+ Long insertOrUpdateVvComment(VvCommentEntity vvComment);
+
+
+ int updateVvCommentById(VvCommentEntity vvComment);
+
+
+ int updateCoverVvCommentById(VvCommentEntity vvComment);
+
+
+ int deleteVvCommentById(@Param("id")Long id);
+
+
+}
\ No newline at end of file
diff --git a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvCommentDetailDao.java b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvCommentDetailDao.java
new file mode 100644
index 0000000..6d76b67
--- /dev/null
+++ b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvCommentDetailDao.java
@@ -0,0 +1,36 @@
+package com.heyu.api.data.dao.vv;
+/**
+*
+* 评论详情表 服务类
+*
+*
+* @author quyixiao
+* @since 2025-08-25
+*/
+import com.heyu.api.data.entity.vv.VvCommentDetailEntity;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+@Mapper
+public interface VvCommentDetailDao extends BaseMapper {
+
+
+ VvCommentDetailEntity selectVvCommentDetailById(@Param("id")Long id);
+
+
+ Long insertVvCommentDetail(VvCommentDetailEntity vvCommentDetail);
+
+
+ Long insertOrUpdateVvCommentDetail(VvCommentDetailEntity vvCommentDetail);
+
+
+ int updateVvCommentDetailById(VvCommentDetailEntity vvCommentDetail);
+
+
+ int updateCoverVvCommentDetailById(VvCommentDetailEntity vvCommentDetail);
+
+
+ int deleteVvCommentDetailById(@Param("id")Long id);
+
+
+}
\ No newline at end of file
diff --git a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvResourceDao.java b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvResourceDao.java
new file mode 100644
index 0000000..9f122a5
--- /dev/null
+++ b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvResourceDao.java
@@ -0,0 +1,56 @@
+package com.heyu.api.data.dao.vv;
+/**
+ *
+ * 资源库 服务类
+ *
+ *
+ * @author quyixiao
+ * @since 2025-08-25
+ */
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.heyu.api.data.entity.vv.VvResourceEntity;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.lz.mybatis.plugin.annotations.GE;
+import com.lz.mybatis.plugin.annotations.IF;
+import com.lz.mybatis.plugin.annotations.LE;
+import com.lz.mybatis.plugin.annotations.OrderBy;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface VvResourceDao extends BaseMapper {
+
+
+ VvResourceEntity selectVvResourceById(@Param("id") Long id);
+
+
+ Long insertVvResource(VvResourceEntity vvResource);
+
+
+ Long insertOrUpdateVvResource(VvResourceEntity vvResource);
+
+
+ int updateVvResourceById(VvResourceEntity vvResource);
+
+
+ int updateCoverVvResourceById(VvResourceEntity vvResource);
+
+
+ int deleteVvResourceById(@Param("id") Long id);
+
+
+ @OrderBy(VvResourceEntity.id_)
+ List selectByCondition(IPage page,
+ @IF String name ,
+ @IF String type,
+ @IF String status,
+ @IF @GE Long minCreateTimestamp,
+ @IF @LE Long maxCreateTimestamp,
+ @IF @OrderBy(VvResourceEntity.create_timestamp) String createTimestampSort
+
+ );
+
+}
\ No newline at end of file
diff --git a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvCommentDetailEntity.java b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvCommentDetailEntity.java
new file mode 100644
index 0000000..234b623
--- /dev/null
+++ b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvCommentDetailEntity.java
@@ -0,0 +1,163 @@
+package com.heyu.api.data.entity.vv;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.lz.mybatis.plugin.annotations.AS;
+
+import java.math.BigDecimal;
+import java.util.Date;import java.util.Date;
+/**
+*评论详情表
+* @author quyixiao
+* @since 2025-08-25
+*/
+
+@Data
+@TableName("vv_comment_detail")
+public class VvCommentDetailEntity implements java.io.Serializable {
+private static final long serialVersionUID = 1L;
+
+ public final static String CLASS_NAME ="com.heyu.api.data.entity.vv.VvCommentDetailEntity:";
+
+ public final static String all = CLASS_NAME + "*";
+ public final static String id_ = CLASS_NAME + "id"; //
+ public final static String is_delete = CLASS_NAME + "is_delete"; // 是否删除:0 否 1 删除
+ public final static String create_time = CLASS_NAME + "create_time"; // 创建时间
+ public final static String modify_time = CLASS_NAME + "modify_time"; // 修改时间
+ public final static String comment_url = CLASS_NAME + "comment_url"; // 评论url
+ public final static String comment_id = CLASS_NAME + "comment_id"; // 评论id
+ public final static String type_ = CLASS_NAME + "type"; // image or video
+ //
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+ //是否删除:0 否 1 删除
+ private Integer isDelete;
+ //创建时间
+ private Date createTime;
+ //修改时间
+ private Date modifyTime;
+ //评论url
+ private String commentUrl;
+ //评论id
+ private Long commentId;
+ //image or video
+ private String type;
+ /**
+ *
+ * @return
+ */
+ public Long getId() {
+ return id;
+ }
+ /**
+ *
+ * @param id
+ */
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ /**
+ * 是否删除:0 否 1 删除
+ * @return
+ */
+ public Integer getIsDelete() {
+ return isDelete;
+ }
+ /**
+ * 是否删除:0 否 1 删除
+ * @param isDelete
+ */
+ public void setIsDelete(Integer isDelete) {
+ this.isDelete = isDelete;
+ }
+
+ /**
+ * 创建时间
+ * @return
+ */
+ public Date getCreateTime() {
+ return createTime;
+ }
+ /**
+ * 创建时间
+ * @param createTime
+ */
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+
+ /**
+ * 修改时间
+ * @return
+ */
+ public Date getModifyTime() {
+ return modifyTime;
+ }
+ /**
+ * 修改时间
+ * @param modifyTime
+ */
+ public void setModifyTime(Date modifyTime) {
+ this.modifyTime = modifyTime;
+ }
+
+ /**
+ * 评论url
+ * @return
+ */
+ public String getCommentUrl() {
+ return commentUrl;
+ }
+ /**
+ * 评论url
+ * @param commentUrl
+ */
+ public void setCommentUrl(String commentUrl) {
+ this.commentUrl = commentUrl;
+ }
+
+ /**
+ * 评论id
+ * @return
+ */
+ public Long getCommentId() {
+ return commentId;
+ }
+ /**
+ * 评论id
+ * @param commentId
+ */
+ public void setCommentId(Long commentId) {
+ this.commentId = commentId;
+ }
+
+ /**
+ * image or video
+ * @return
+ */
+ public String getType() {
+ return type;
+ }
+ /**
+ * image or video
+ * @param type
+ */
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ @Override
+ public String toString() {
+ return "VvCommentDetailEntity{" +
+ ",id=" + id +
+ ",isDelete=" + isDelete +
+ ",createTime=" + createTime +
+ ",modifyTime=" + modifyTime +
+ ",commentUrl=" + commentUrl +
+ ",commentId=" + commentId +
+ ",type=" + type +
+ "}";
+ }
+}
\ No newline at end of file
diff --git a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvCommentEntity.java b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvCommentEntity.java
new file mode 100644
index 0000000..b6f3f5c
--- /dev/null
+++ b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvCommentEntity.java
@@ -0,0 +1,239 @@
+package com.heyu.api.data.entity.vv;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.lz.mybatis.plugin.annotations.AS;
+
+import java.math.BigDecimal;
+import java.util.Date;import java.util.Date;
+/**
+*评论表
+* @author quyixiao
+* @since 2025-08-25
+*/
+
+@Data
+@TableName("vv_comment")
+public class VvCommentEntity implements java.io.Serializable {
+private static final long serialVersionUID = 1L;
+
+ public final static String CLASS_NAME ="com.heyu.api.data.entity.vv.VvCommentEntity:";
+
+ public final static String all = CLASS_NAME + "*";
+ public final static String id_ = CLASS_NAME + "id"; //
+ public final static String is_delete = CLASS_NAME + "is_delete"; // 是否删除:0 否 1 删除
+ public final static String create_time = CLASS_NAME + "create_time"; // 创建时间
+ public final static String modify_time = CLASS_NAME + "modify_time"; // 修改时间
+ public final static String content_ = CLASS_NAME + "content"; // 评论的内容
+ public final static String trade_order_id = CLASS_NAME + "trade_order_id"; // 订单id
+ public final static String sku_id = CLASS_NAME + "sku_id"; // sku_id
+ public final static String product_id = CLASS_NAME + "product_id"; // 商品id
+ public final static String product_title = CLASS_NAME + "product_title"; // 商品标题
+ public final static String sku_info = CLASS_NAME + "sku_info"; // sku信息
+ public final static String status_ = CLASS_NAME + "status"; // 待审批 wait_approval 待审批, approval_pass,审批通过 , approval_not_pass 审批未通过
+ //
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+ //是否删除:0 否 1 删除
+ private Integer isDelete;
+ //创建时间
+ private Date createTime;
+ //修改时间
+ private Date modifyTime;
+ //评论的内容
+ private String content;
+ //订单id
+ private Long tradeOrderId;
+ //sku_id
+ private Long skuId;
+ //商品id
+ private Long productId;
+ //商品标题
+ private String productTitle;
+ //sku信息
+ private String skuInfo;
+ //待审批 wait_approval 待审批, approval_pass,审批通过 , approval_not_pass 审批未通过
+ private String status;
+ /**
+ *
+ * @return
+ */
+ public Long getId() {
+ return id;
+ }
+ /**
+ *
+ * @param id
+ */
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ /**
+ * 是否删除:0 否 1 删除
+ * @return
+ */
+ public Integer getIsDelete() {
+ return isDelete;
+ }
+ /**
+ * 是否删除:0 否 1 删除
+ * @param isDelete
+ */
+ public void setIsDelete(Integer isDelete) {
+ this.isDelete = isDelete;
+ }
+
+ /**
+ * 创建时间
+ * @return
+ */
+ public Date getCreateTime() {
+ return createTime;
+ }
+ /**
+ * 创建时间
+ * @param createTime
+ */
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+
+ /**
+ * 修改时间
+ * @return
+ */
+ public Date getModifyTime() {
+ return modifyTime;
+ }
+ /**
+ * 修改时间
+ * @param modifyTime
+ */
+ public void setModifyTime(Date modifyTime) {
+ this.modifyTime = modifyTime;
+ }
+
+ /**
+ * 评论的内容
+ * @return
+ */
+ public String getContent() {
+ return content;
+ }
+ /**
+ * 评论的内容
+ * @param content
+ */
+ public void setContent(String content) {
+ this.content = content;
+ }
+
+ /**
+ * 订单id
+ * @return
+ */
+ public Long getTradeOrderId() {
+ return tradeOrderId;
+ }
+ /**
+ * 订单id
+ * @param tradeOrderId
+ */
+ public void setTradeOrderId(Long tradeOrderId) {
+ this.tradeOrderId = tradeOrderId;
+ }
+
+ /**
+ * sku_id
+ * @return
+ */
+ public Long getSkuId() {
+ return skuId;
+ }
+ /**
+ * sku_id
+ * @param skuId
+ */
+ public void setSkuId(Long skuId) {
+ this.skuId = skuId;
+ }
+
+ /**
+ * 商品id
+ * @return
+ */
+ public Long getProductId() {
+ return productId;
+ }
+ /**
+ * 商品id
+ * @param productId
+ */
+ public void setProductId(Long productId) {
+ this.productId = productId;
+ }
+
+ /**
+ * 商品标题
+ * @return
+ */
+ public String getProductTitle() {
+ return productTitle;
+ }
+ /**
+ * 商品标题
+ * @param productTitle
+ */
+ public void setProductTitle(String productTitle) {
+ this.productTitle = productTitle;
+ }
+
+ /**
+ * sku信息
+ * @return
+ */
+ public String getSkuInfo() {
+ return skuInfo;
+ }
+ /**
+ * sku信息
+ * @param skuInfo
+ */
+ public void setSkuInfo(String skuInfo) {
+ this.skuInfo = skuInfo;
+ }
+
+ /**
+ * 待审批 wait_approval 待审批, approval_pass,审批通过 , approval_not_pass 审批未通过
+ * @return
+ */
+ public String getStatus() {
+ return status;
+ }
+ /**
+ * 待审批 wait_approval 待审批, approval_pass,审批通过 , approval_not_pass 审批未通过
+ * @param status
+ */
+ public void setStatus(String status) {
+ this.status = status;
+ }
+
+ @Override
+ public String toString() {
+ return "VvCommentEntity{" +
+ ",id=" + id +
+ ",isDelete=" + isDelete +
+ ",createTime=" + createTime +
+ ",modifyTime=" + modifyTime +
+ ",content=" + content +
+ ",tradeOrderId=" + tradeOrderId +
+ ",skuId=" + skuId +
+ ",productId=" + productId +
+ ",productTitle=" + productTitle +
+ ",skuInfo=" + skuInfo +
+ ",status=" + status +
+ "}";
+ }
+}
\ No newline at end of file
diff --git a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvResourceEntity.java b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvResourceEntity.java
new file mode 100644
index 0000000..d7a0547
--- /dev/null
+++ b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvResourceEntity.java
@@ -0,0 +1,201 @@
+package com.heyu.api.data.entity.vv;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.lz.mybatis.plugin.annotations.AS;
+
+import java.math.BigDecimal;
+import java.util.Date;import java.util.Date;
+/**
+*资源库
+* @author quyixiao
+* @since 2025-08-25
+*/
+
+@Data
+@TableName("vv_resource")
+public class VvResourceEntity implements java.io.Serializable {
+private static final long serialVersionUID = 1L;
+
+ public final static String CLASS_NAME ="com.heyu.api.data.entity.vv.VvResourceEntity:";
+
+ public final static String all = CLASS_NAME + "*";
+ public final static String id_ = CLASS_NAME + "id"; //
+ public final static String is_delete = CLASS_NAME + "is_delete"; // 是否删除:0 否 1 删除
+ public final static String create_time = CLASS_NAME + "create_time"; // 创建时间
+ public final static String modify_time = CLASS_NAME + "modify_time"; // 修改时间
+ public final static String resource_url = CLASS_NAME + "resource_url"; // 资源链接
+ public final static String type_ = CLASS_NAME + "type"; // 图片或视频, image , video
+ public final static String status_ = CLASS_NAME + "status"; // 状态,online 在线状态 ,delete ,删除状态
+ public final static String create_timestamp = CLASS_NAME + "create_timestamp"; // 创建时间
+ public final static String name_ = CLASS_NAME + "name"; // 资源名称
+ //
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+ //是否删除:0 否 1 删除
+ private Integer isDelete;
+ //创建时间
+ private Date createTime;
+ //修改时间
+ private Date modifyTime;
+ //资源链接
+ private String resourceUrl;
+ //图片或视频, image , video
+ private String type;
+ //状态,online 在线状态 ,delete ,删除状态
+ private String status;
+ //创建时间
+ private Long createTimestamp;
+ //资源名称
+ private String name;
+ /**
+ *
+ * @return
+ */
+ public Long getId() {
+ return id;
+ }
+ /**
+ *
+ * @param id
+ */
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ /**
+ * 是否删除:0 否 1 删除
+ * @return
+ */
+ public Integer getIsDelete() {
+ return isDelete;
+ }
+ /**
+ * 是否删除:0 否 1 删除
+ * @param isDelete
+ */
+ public void setIsDelete(Integer isDelete) {
+ this.isDelete = isDelete;
+ }
+
+ /**
+ * 创建时间
+ * @return
+ */
+ public Date getCreateTime() {
+ return createTime;
+ }
+ /**
+ * 创建时间
+ * @param createTime
+ */
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+
+ /**
+ * 修改时间
+ * @return
+ */
+ public Date getModifyTime() {
+ return modifyTime;
+ }
+ /**
+ * 修改时间
+ * @param modifyTime
+ */
+ public void setModifyTime(Date modifyTime) {
+ this.modifyTime = modifyTime;
+ }
+
+ /**
+ * 资源链接
+ * @return
+ */
+ public String getResourceUrl() {
+ return resourceUrl;
+ }
+ /**
+ * 资源链接
+ * @param resourceUrl
+ */
+ public void setResourceUrl(String resourceUrl) {
+ this.resourceUrl = resourceUrl;
+ }
+
+ /**
+ * 图片或视频, image , video
+ * @return
+ */
+ public String getType() {
+ return type;
+ }
+ /**
+ * 图片或视频, image , video
+ * @param type
+ */
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ /**
+ * 状态,online 在线状态 ,delete ,删除状态
+ * @return
+ */
+ public String getStatus() {
+ return status;
+ }
+ /**
+ * 状态,online 在线状态 ,delete ,删除状态
+ * @param status
+ */
+ public void setStatus(String status) {
+ this.status = status;
+ }
+
+ /**
+ * 创建时间
+ * @return
+ */
+ public Long getCreateTimestamp() {
+ return createTimestamp;
+ }
+ /**
+ * 创建时间
+ * @param createTimestamp
+ */
+ public void setCreateTimestamp(Long createTimestamp) {
+ this.createTimestamp = createTimestamp;
+ }
+
+ /**
+ * 资源名称
+ * @return
+ */
+ public String getName() {
+ return name;
+ }
+ /**
+ * 资源名称
+ * @param name
+ */
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String toString() {
+ return "VvResourceEntity{" +
+ ",id=" + id +
+ ",isDelete=" + isDelete +
+ ",createTime=" + createTime +
+ ",modifyTime=" + modifyTime +
+ ",resourceUrl=" + resourceUrl +
+ ",type=" + type +
+ ",status=" + status +
+ ",createTimestamp=" + createTimestamp +
+ ",name=" + name +
+ "}";
+ }
+}
\ No newline at end of file
diff --git a/api-mapper/src/main/java/com/heyu/api/data/service/impl/vv/VvCommentDetailServiceImpl.java b/api-mapper/src/main/java/com/heyu/api/data/service/impl/vv/VvCommentDetailServiceImpl.java
new file mode 100644
index 0000000..98772b5
--- /dev/null
+++ b/api-mapper/src/main/java/com/heyu/api/data/service/impl/vv/VvCommentDetailServiceImpl.java
@@ -0,0 +1,68 @@
+package com.heyu.api.data.service.impl.vv;
+/**
+*
+* 评论详情表 服务类
+*
+*
+* @author quyixiao
+* @since 2025-08-25
+*/
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.heyu.api.data.dao.vv.VvCommentDetailDao;
+import com.heyu.api.data.entity.vv.VvCommentDetailEntity;
+import com.heyu.api.data.service.vv.VvCommentDetailService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+@Service
+public class VvCommentDetailServiceImpl extends ServiceImpl implements VvCommentDetailService {
+
+
+ @Autowired
+ private VvCommentDetailDao vvCommentDetailDao;
+
+
+
+ @Override
+ public VvCommentDetailEntity selectVvCommentDetailById(Long id){
+ return vvCommentDetailDao.selectVvCommentDetailById(id);
+ }
+
+
+
+ @Override
+ public Long insertVvCommentDetail(VvCommentDetailEntity vvCommentDetail){
+ return vvCommentDetailDao.insertVvCommentDetail(vvCommentDetail);
+ }
+
+
+
+ @Override
+ public Long insertOrUpdateVvCommentDetail(VvCommentDetailEntity vvCommentDetail){
+ return vvCommentDetailDao.insertOrUpdateVvCommentDetail(vvCommentDetail);
+ }
+
+
+
+ @Override
+ public int updateVvCommentDetailById(VvCommentDetailEntity vvCommentDetail){
+ return vvCommentDetailDao.updateVvCommentDetailById(vvCommentDetail);
+ }
+
+
+
+ @Override
+ public int updateCoverVvCommentDetailById(VvCommentDetailEntity vvCommentDetail){
+ return vvCommentDetailDao.updateCoverVvCommentDetailById(vvCommentDetail);
+ }
+
+
+
+ @Override
+ public int deleteVvCommentDetailById(Long id){
+ return vvCommentDetailDao.deleteVvCommentDetailById(id);
+ }
+
+
+
+}
diff --git a/api-mapper/src/main/java/com/heyu/api/data/service/impl/vv/VvCommentServiceImpl.java b/api-mapper/src/main/java/com/heyu/api/data/service/impl/vv/VvCommentServiceImpl.java
new file mode 100644
index 0000000..0203c11
--- /dev/null
+++ b/api-mapper/src/main/java/com/heyu/api/data/service/impl/vv/VvCommentServiceImpl.java
@@ -0,0 +1,68 @@
+package com.heyu.api.data.service.impl.vv;
+/**
+*
+* 评论表 服务类
+*
+*
+* @author quyixiao
+* @since 2025-08-25
+*/
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.heyu.api.data.dao.vv.VvCommentDao;
+import com.heyu.api.data.entity.vv.VvCommentEntity;
+import com.heyu.api.data.service.vv.VvCommentService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+@Service
+public class VvCommentServiceImpl extends ServiceImpl implements VvCommentService {
+
+
+ @Autowired
+ private VvCommentDao vvCommentDao;
+
+
+
+ @Override
+ public VvCommentEntity selectVvCommentById(Long id){
+ return vvCommentDao.selectVvCommentById(id);
+ }
+
+
+
+ @Override
+ public Long insertVvComment(VvCommentEntity vvComment){
+ return vvCommentDao.insertVvComment(vvComment);
+ }
+
+
+
+ @Override
+ public Long insertOrUpdateVvComment(VvCommentEntity vvComment){
+ return vvCommentDao.insertOrUpdateVvComment(vvComment);
+ }
+
+
+
+ @Override
+ public int updateVvCommentById(VvCommentEntity vvComment){
+ return vvCommentDao.updateVvCommentById(vvComment);
+ }
+
+
+
+ @Override
+ public int updateCoverVvCommentById(VvCommentEntity vvComment){
+ return vvCommentDao.updateCoverVvCommentById(vvComment);
+ }
+
+
+
+ @Override
+ public int deleteVvCommentById(Long id){
+ return vvCommentDao.deleteVvCommentById(id);
+ }
+
+
+
+}
diff --git a/api-mapper/src/main/java/com/heyu/api/data/service/impl/vv/VvResourceServiceImpl.java b/api-mapper/src/main/java/com/heyu/api/data/service/impl/vv/VvResourceServiceImpl.java
new file mode 100644
index 0000000..9a8eacb
--- /dev/null
+++ b/api-mapper/src/main/java/com/heyu/api/data/service/impl/vv/VvResourceServiceImpl.java
@@ -0,0 +1,68 @@
+package com.heyu.api.data.service.impl.vv;
+/**
+*
+* 资源库 服务类
+*
+*
+* @author quyixiao
+* @since 2025-08-25
+*/
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.heyu.api.data.dao.vv.VvResourceDao;
+import com.heyu.api.data.entity.vv.VvResourceEntity;
+import com.heyu.api.data.service.vv.VvResourceService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+@Service
+public class VvResourceServiceImpl extends ServiceImpl implements VvResourceService {
+
+
+ @Autowired
+ private VvResourceDao vvResourceDao;
+
+
+
+ @Override
+ public VvResourceEntity selectVvResourceById(Long id){
+ return vvResourceDao.selectVvResourceById(id);
+ }
+
+
+
+ @Override
+ public Long insertVvResource(VvResourceEntity vvResource){
+ return vvResourceDao.insertVvResource(vvResource);
+ }
+
+
+
+ @Override
+ public Long insertOrUpdateVvResource(VvResourceEntity vvResource){
+ return vvResourceDao.insertOrUpdateVvResource(vvResource);
+ }
+
+
+
+ @Override
+ public int updateVvResourceById(VvResourceEntity vvResource){
+ return vvResourceDao.updateVvResourceById(vvResource);
+ }
+
+
+
+ @Override
+ public int updateCoverVvResourceById(VvResourceEntity vvResource){
+ return vvResourceDao.updateCoverVvResourceById(vvResource);
+ }
+
+
+
+ @Override
+ public int deleteVvResourceById(Long id){
+ return vvResourceDao.deleteVvResourceById(id);
+ }
+
+
+
+}
diff --git a/api-mapper/src/main/java/com/heyu/api/data/service/vv/VvCommentDetailService.java b/api-mapper/src/main/java/com/heyu/api/data/service/vv/VvCommentDetailService.java
new file mode 100644
index 0000000..8089d07
--- /dev/null
+++ b/api-mapper/src/main/java/com/heyu/api/data/service/vv/VvCommentDetailService.java
@@ -0,0 +1,34 @@
+package com.heyu.api.data.service.vv;
+/**
+*
+* 评论详情表 服务类
+*
+*
+* @author quyixiao
+* @since 2025-08-25
+*/
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.heyu.api.data.entity.vv.VvCommentDetailEntity;
+public interface VvCommentDetailService extends IService {
+
+
+
+ VvCommentDetailEntity selectVvCommentDetailById(Long id);
+
+
+ Long insertVvCommentDetail(VvCommentDetailEntity vvCommentDetail);
+
+
+ Long insertOrUpdateVvCommentDetail(VvCommentDetailEntity vvCommentDetail);
+
+
+ int updateVvCommentDetailById(VvCommentDetailEntity vvCommentDetail);
+
+
+ int updateCoverVvCommentDetailById(VvCommentDetailEntity vvCommentDetail);
+
+
+ int deleteVvCommentDetailById(Long id);
+
+
+}
\ No newline at end of file
diff --git a/api-mapper/src/main/java/com/heyu/api/data/service/vv/VvCommentService.java b/api-mapper/src/main/java/com/heyu/api/data/service/vv/VvCommentService.java
new file mode 100644
index 0000000..315921c
--- /dev/null
+++ b/api-mapper/src/main/java/com/heyu/api/data/service/vv/VvCommentService.java
@@ -0,0 +1,34 @@
+package com.heyu.api.data.service.vv;
+/**
+*
+* 评论表 服务类
+*
+*
+* @author quyixiao
+* @since 2025-08-25
+*/
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.heyu.api.data.entity.vv.VvCommentEntity;
+public interface VvCommentService extends IService {
+
+
+
+ VvCommentEntity selectVvCommentById(Long id);
+
+
+ Long insertVvComment(VvCommentEntity vvComment);
+
+
+ Long insertOrUpdateVvComment(VvCommentEntity vvComment);
+
+
+ int updateVvCommentById(VvCommentEntity vvComment);
+
+
+ int updateCoverVvCommentById(VvCommentEntity vvComment);
+
+
+ int deleteVvCommentById(Long id);
+
+
+}
\ No newline at end of file
diff --git a/api-mapper/src/main/java/com/heyu/api/data/service/vv/VvResourceService.java b/api-mapper/src/main/java/com/heyu/api/data/service/vv/VvResourceService.java
new file mode 100644
index 0000000..ac445f5
--- /dev/null
+++ b/api-mapper/src/main/java/com/heyu/api/data/service/vv/VvResourceService.java
@@ -0,0 +1,34 @@
+package com.heyu.api.data.service.vv;
+/**
+*
+* 资源库 服务类
+*
+*
+* @author quyixiao
+* @since 2025-08-25
+*/
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.heyu.api.data.entity.vv.VvResourceEntity;
+public interface VvResourceService extends IService {
+
+
+
+ VvResourceEntity selectVvResourceById(Long id);
+
+
+ Long insertVvResource(VvResourceEntity vvResource);
+
+
+ Long insertOrUpdateVvResource(VvResourceEntity vvResource);
+
+
+ int updateVvResourceById(VvResourceEntity vvResource);
+
+
+ int updateCoverVvResourceById(VvResourceEntity vvResource);
+
+
+ int deleteVvResourceById(Long id);
+
+
+}
\ No newline at end of file
diff --git a/api-mapper/src/main/resources/mapper/vv/VvCommentDao.xml b/api-mapper/src/main/resources/mapper/vv/VvCommentDao.xml
new file mode 100644
index 0000000..8e1e60a
--- /dev/null
+++ b/api-mapper/src/main/resources/mapper/vv/VvCommentDao.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/api-mapper/src/main/resources/mapper/vv/VvCommentDetailDao.xml b/api-mapper/src/main/resources/mapper/vv/VvCommentDetailDao.xml
new file mode 100644
index 0000000..9107a93
--- /dev/null
+++ b/api-mapper/src/main/resources/mapper/vv/VvCommentDetailDao.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/api-mapper/src/main/resources/mapper/vv/VvResourceDao.xml b/api-mapper/src/main/resources/mapper/vv/VvResourceDao.xml
new file mode 100644
index 0000000..9770199
--- /dev/null
+++ b/api-mapper/src/main/resources/mapper/vv/VvResourceDao.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/api-mapper/src/test/java/com/test/xxx/MysqlMain_insert.java b/api-mapper/src/test/java/com/test/xxx/MysqlMain_insert.java
index a8d4401..dd1cd99 100644
--- a/api-mapper/src/test/java/com/test/xxx/MysqlMain_insert.java
+++ b/api-mapper/src/test/java/com/test/xxx/MysqlMain_insert.java
@@ -94,8 +94,8 @@ public class MysqlMain_insert {
List list = new ArrayList();
- list.add(new TablesBean("vv_app_category"));
- list.add(new TablesBean("vv_admin_category"));
+ list.add(new TablesBean("vv_comment"));
+ list.add(new TablesBean("vv_comment_detail"));
List list2 = new ArrayList();
diff --git a/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java b/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java
index 0cf413b..b194512 100644
--- a/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java
+++ b/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java
@@ -49,7 +49,7 @@ public class MysqlMain_update {
List list = new ArrayList();
- String a = "vv_sku";
+ String a = "vv_comment";
for (String s : a.split(",")) {
list.add(new TablesBean(s));
}
diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/resource/VvAdminResourceAddOrUpdateRequest.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/resource/VvAdminResourceAddOrUpdateRequest.java
new file mode 100644
index 0000000..f1be91d
--- /dev/null
+++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/resource/VvAdminResourceAddOrUpdateRequest.java
@@ -0,0 +1,29 @@
+package com.heyu.api.alibaba.request.mm.resource;
+
+import lombok.Data;
+
+@Data
+public class VvAdminResourceAddOrUpdateRequest {
+
+ /***
+ * id
+ */
+ private Long id ;
+
+
+ /***
+ * 资源url
+ */
+ private String resourceUrl;
+
+ /***
+ * 类型, 是image 还是 video
+ */
+ private String type ;
+
+
+ /***
+ * 状态 , online 在线 , delete 删除
+ */
+ private String status;
+}
diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/resource/VvAdminResourceRequest.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/resource/VvAdminResourceRequest.java
new file mode 100644
index 0000000..e032871
--- /dev/null
+++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/resource/VvAdminResourceRequest.java
@@ -0,0 +1,45 @@
+package com.heyu.api.alibaba.request.mm.resource;
+
+import lombok.Data;
+
+@Data
+public class VvAdminResourceRequest {
+
+
+ private Integer pageNum = 1 ;
+
+
+ private Integer pageSize = 10 ;
+
+
+ /***
+ * 资源名称
+ */
+ private String name ;
+
+ /***
+ * 类型
+ */
+ private String type ;
+
+
+ /***
+ * 状态
+ */
+ private String status ;
+
+
+ //创建时间撮
+ private Long minCreateTimestamp;
+
+ /***
+ * 最大时间
+ */
+ private Long maxCreateTimestamp;
+
+
+ /***
+ * 按创建时间排序
+ */
+ private String createTimestampSort;
+}
diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminResourceController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminResourceController.java
new file mode 100644
index 0000000..d7511d0
--- /dev/null
+++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/AdminResourceController.java
@@ -0,0 +1,63 @@
+package com.heyu.api.controller.mm;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.heyu.api.alibaba.request.mm.resource.VvAdminResourceRequest;
+import com.heyu.api.data.dao.vv.VvResourceDao;
+import com.heyu.api.data.entity.vv.VvResourceEntity;
+import com.heyu.api.data.utils.R;
+import com.heyu.api.utils.ISelect;
+import com.heyu.api.utils.PPageUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@Slf4j
+@RestController
+@RequestMapping("/mm/resource")
+public class AdminResourceController {
+
+
+ @Autowired
+ private VvResourceDao vvResourceDao;
+
+ @RequestMapping("/list")
+ public R list(@RequestBody VvAdminResourceRequest adminResourceRequest) {
+ PPageUtils pageUtils = PPageUtils.startPage(adminResourceRequest.getPageNum(), adminResourceRequest.getPageSize())
+ .doSelect(new ISelect() {
+ @Override
+ public List doSelect(IPage page) {
+ return vvResourceDao.selectByCondition(page,
+ adminResourceRequest.getName(),
+ adminResourceRequest.getType(),
+ adminResourceRequest.getStatus(),
+ adminResourceRequest.getMinCreateTimestamp(),
+ adminResourceRequest.getMaxCreateTimestamp(),
+ adminResourceRequest.getCreateTimestampSort()
+ );
+ }
+ });
+ return R.ok().setData(pageUtils);
+
+ }
+
+
+ @RequestMapping("/addOrUpdate")
+ public R addOrUpdate(@RequestBody List resourceAddOrUpdateRequests) {
+ for (VvResourceEntity resourceAddOrUpdateRequest : resourceAddOrUpdateRequests) {
+
+ if(resourceAddOrUpdateRequest.getId() == null){
+ resourceAddOrUpdateRequest.setCreateTimestamp( System.currentTimeMillis());
+ }
+ vvResourceDao.insertVvResource(resourceAddOrUpdateRequest);
+ }
+ return R.ok("保存成功");
+ }
+
+
+
+}