From 79c4524bc2cac69ef74cbf4adc6a092e3bfa4f4b Mon Sep 17 00:00:00 2001
From: seatonwan9
Date: 星期四, 28 八月 2025 02:07:17 +0800
Subject: [PATCH] 更新代码

---
 src/main/resources/mapper/ProductMapper.xml |   80 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 80 insertions(+), 0 deletions(-)

diff --git a/src/main/resources/mapper/ProductMapper.xml b/src/main/resources/mapper/ProductMapper.xml
new file mode 100644
index 0000000..3902795
--- /dev/null
+++ b/src/main/resources/mapper/ProductMapper.xml
@@ -0,0 +1,80 @@
+<?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.webmanage.mapper.ProductMapper">
+
+    <!-- 缁撴灉鏄犲皠 -->
+    <resultMap id="BaseResultMap" type="com.webmanage.entity.Product">
+        <id column="id" property="id" jdbcType="BIGINT"/>
+        <result column="product_name" property="productName" jdbcType="VARCHAR"/>
+        <result column="product_code" property="productCode" jdbcType="VARCHAR"/>
+        <result column="product_type" property="productType" jdbcType="VARCHAR"/>
+        <result column="category" property="category" jdbcType="VARCHAR"/>
+        <result column="description" property="description" jdbcType="VARCHAR"/>
+        <result column="provider_id" property="providerId" jdbcType="BIGINT"/>
+        <result column="provider_name" property="providerName" jdbcType="VARCHAR"/>
+        <result column="provider_type" property="providerType" jdbcType="VARCHAR"/>
+        <result column="status" property="status" jdbcType="VARCHAR"/>
+        <result column="audit_status" property="auditStatus" jdbcType="VARCHAR"/>
+        <result column="tags" property="tags" jdbcType="VARCHAR"/>
+        <result column="cover_image" property="coverImage" jdbcType="VARCHAR"/>
+        <result column="demo_url" property="demoUrl" jdbcType="VARCHAR"/>
+        <result column="doc_url" property="docUrl" jdbcType="VARCHAR"/>
+        <result column="created_at" property="createdAt" jdbcType="TIMESTAMP"/>
+        <result column="updated_at" property="updatedAt" jdbcType="TIMESTAMP"/>
+        <result column="created_by" property="createdBy" jdbcType="BIGINT"/>
+        <result column="updated_by" property="updatedBy" jdbcType="BIGINT"/>
+        <result column="deleted" property="deleted" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <!-- 鍩虹瀛楁 -->
+    <sql id="Base_Column_List">
+        id, product_name, product_code, product_type, category, description, 
+        provider_id, provider_name, provider_type, status, audit_status, 
+        tags, cover_image, demo_url, doc_url, created_at, updated_at, 
+        created_by, updated_by, deleted
+    </sql>
+
+    <!-- 鏍规嵁鏉′欢鏌ヨ浜у搧鍒楄〃 -->
+    <select id="selectProductList" resultMap="BaseResultMap">
+        SELECT 
+        <include refid="Base_Column_List"/>
+        FROM tb_product
+        WHERE deleted = 0
+        <if test="productName != null and productName != ''">
+            AND product_name LIKE CONCAT('%', #{productName}, '%')
+        </if>
+        <if test="productType != null and productType != ''">
+            AND product_type = #{productType}
+        </if>
+        <if test="status != null and status != ''">
+            AND status = #{status}
+        </if>
+        <if test="providerId != null">
+            AND provider_id = #{providerId}
+        </if>
+        ORDER BY created_at DESC
+    </select>
+
+    <!-- 鏍规嵁ID鏌ヨ浜у搧璇︽儏 -->
+    <select id="selectProductById" resultMap="BaseResultMap">
+        SELECT 
+        <include refid="Base_Column_List"/>
+        FROM tb_product
+        WHERE id = #{id} AND deleted = 0
+    </select>
+
+    <!-- 鏇存柊浜у搧鐘舵�� -->
+    <update id="updateProductStatus">
+        UPDATE tb_product
+        SET status = #{status}, updated_at = CURRENT_TIMESTAMP
+        WHERE id = #{id} AND deleted = 0
+    </update>
+
+    <!-- 鏇存柊浜у搧瀹℃牳鐘舵�� -->
+    <update id="updateProductAuditStatus">
+        UPDATE tb_product
+        SET audit_status = #{auditStatus}, updated_at = CURRENT_TIMESTAMP
+        WHERE id = #{id} AND deleted = 0
+    </update>
+
+</mapper>

--
Gitblit v1.8.0