From 69a0e318bb6ce1efec4d67d8751b7574b37ba49e Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期二, 23 九月 2025 18:07:13 +0800
Subject: [PATCH] AI对接

---
 ruoyi-system/src/main/resources/mapper/system/TSysActivityMapper.xml                                |   19 ++
 ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TSysProductIntroductionController.java      |    6 
 ruoyi-system/src/main/java/com/ruoyi/system/service/TSysProductIntroductionService.java             |    6 
 ruoyi-admin/pom.xml                                                                                 |    1 
 ruoyi-system/src/main/java/com/ruoyi/system/service/TSysActivityService.java                        |    6 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysProductIntroductionServiceImpl.java    |    7 +
 ruoyi-system/src/main/java/com/ruoyi/system/model/TSysAiConfig.java                                 |   12 +
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/TSysActivityMapper.java                          |    8 +
 ruoyi-system/src/main/resources/mapper/system/TSysProductIntroductionMapper.xml                     |   19 ++
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/TSysProductIntroductionMapper.java               |    8 +
 ruoyi-common/pom.xml                                                                                |    4 
 ruoyi-system/src/main/java/com/ruoyi/system/utils/util/HttpClientUtils.java                         |  221 +++++++++++++++++++++++++++++++
 ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TSysActivityController.java                 |    2 
 ruoyi-framework/src/main/java/com/ruoyi/framework/security/filter/JwtAuthenticationTokenFilter.java |    3 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysActivityServiceImpl.java               |    7 +
 ruoyi-system/src/main/java/com/ruoyi/system/utils/util/MD5Util.java                                 |   36 +++++
 16 files changed, 356 insertions(+), 9 deletions(-)

diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index 8f75533..21530ff 100644
--- a/ruoyi-admin/pom.xml
+++ b/ruoyi-admin/pom.xml
@@ -173,7 +173,6 @@
             <artifactId>thumbnailator</artifactId>
             <version>0.4.8</version>
         </dependency>
-
     </dependencies>
 
     <build>
diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TSysActivityController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TSysActivityController.java
index 6272507..8a47196 100644
--- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TSysActivityController.java
+++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TSysActivityController.java
@@ -45,7 +45,7 @@
     @ApiOperation(value = "获取热门活动分页列表")
     @PostMapping(value = "/pageList")
     public R<PageInfo<TSysActivity>> pageList(@RequestBody TSysActivityQuery query) {
-        return R.ok(sysActivityService.pageList(query));
+        return R.ok(sysActivityService.pageListApp(query));
     }
 
     /**
diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TSysProductIntroductionController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TSysProductIntroductionController.java
index c0b9f22..a2d1793 100644
--- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TSysProductIntroductionController.java
+++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TSysProductIntroductionController.java
@@ -45,11 +45,7 @@
     @ApiOperation(value = "获取产品介绍分页列表")
     @PostMapping(value = "/pageList")
     public R<PageInfo<TSysProductIntroduction>> pageList(@RequestBody TSysProductIntroductionQuery query) {
-        Integer roleType = tokenService.getLoginUser().getUser().getRoleType();
-        if(roleType == 5){
-            query.setRoleType(roleType);
-        }
-        return R.ok(sysProductIntroductionService.pageList(query));
+        return R.ok(sysProductIntroductionService.pageListApp(query));
     }
 
     /**
diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml
index 99ab005..3324f0a 100644
--- a/ruoyi-common/pom.xml
+++ b/ruoyi-common/pom.xml
@@ -210,6 +210,10 @@
             <artifactId>javax.mail</artifactId>
             <version>1.6.2</version> <!-- 请检查是否有更新的版本 -->
         </dependency>
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpmime</artifactId>
+        </dependency>
     </dependencies>
 
 </project>
\ No newline at end of file
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/security/filter/JwtAuthenticationTokenFilter.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/security/filter/JwtAuthenticationTokenFilter.java
index 9015708..f4a209e 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/security/filter/JwtAuthenticationTokenFilter.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/security/filter/JwtAuthenticationTokenFilter.java
@@ -36,8 +36,7 @@
         LoginUser loginUser = tokenService.getLoginUser(request);
         LoginUserApplet applet = tokenService.getLoginUserApplet(request);
         if (StringUtils.isNotNull(loginUser) && StringUtils.isNull(SecurityUtils.getAuthentication())||
-                StringUtils.isNotNull(applet))
-        {
+                StringUtils.isNotNull(applet)){
             if (StringUtils.isNotNull(loginUser)){
                 tokenService.verifyToken(loginUser);
                 UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(loginUser, null, loginUser.getAuthorities());
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TSysActivityMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TSysActivityMapper.java
index 0ca58b2..3ca60cb 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TSysActivityMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TSysActivityMapper.java
@@ -26,4 +26,12 @@
      * @return
      */
     List<TSysActivity> pageList(@Param("query") TSysActivityQuery query, @Param("pageInfo")PageInfo<TSysActivity> pageInfo);
+    /**
+     * 分页查询
+     *
+     * @param query
+     * @param pageInfo
+     * @return
+     */
+    List<TSysActivity> pageListApp(@Param("query") TSysActivityQuery query, @Param("pageInfo")PageInfo<TSysActivity> pageInfo);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TSysProductIntroductionMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TSysProductIntroductionMapper.java
index a43b80a..637bf5d 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TSysProductIntroductionMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TSysProductIntroductionMapper.java
@@ -26,4 +26,12 @@
      * @return
      */
     List<TSysProductIntroduction> pageList(@Param("query") TSysProductIntroductionQuery query, @Param("pageInfo")PageInfo<TSysProductIntroduction> pageInfo);
+    /**
+     * 分页查询
+     *
+     * @param query
+     * @param pageInfo
+     * @return
+     */
+    List<TSysProductIntroduction> pageListApp(@Param("query") TSysProductIntroductionQuery query, @Param("pageInfo")PageInfo<TSysProductIntroduction> pageInfo);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TSysAiConfig.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TSysAiConfig.java
index 690b30a..c06786c 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TSysAiConfig.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TSysAiConfig.java
@@ -50,5 +50,17 @@
     @TableField("aesKey")
     private String aesKey;
 
+    @ApiModelProperty(value = "应用私钥")
+    @TableField("devRsaPrivateKey")
+    private String devRsaPrivateKey;
+
+    @ApiModelProperty(value = "账号")
+    @TableField("loginName")
+    private String loginName;
+
+    @ApiModelProperty(value = "密码")
+    @TableField("loginPassword")
+    private String loginPassword;
+
 
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TSysActivityService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TSysActivityService.java
index 61760ba..b0a6a77 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TSysActivityService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TSysActivityService.java
@@ -21,4 +21,10 @@
      * @return
      */
     PageInfo<TSysActivity> pageList(TSysActivityQuery query);
+    /**
+     * 获取热门活动分页列表
+     * @param query
+     * @return
+     */
+    PageInfo<TSysActivity> pageListApp(TSysActivityQuery query);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TSysProductIntroductionService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TSysProductIntroductionService.java
index 0a885ea..1e978e6 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TSysProductIntroductionService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TSysProductIntroductionService.java
@@ -21,4 +21,10 @@
      * @return
      */
     PageInfo<TSysProductIntroduction> pageList(TSysProductIntroductionQuery query);
+    /**
+     * 获取产品介绍分页列表
+     * @param query
+     * @return
+     */
+    PageInfo<TSysProductIntroduction> pageListApp(TSysProductIntroductionQuery query);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysActivityServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysActivityServiceImpl.java
index 6aa84bf..113ab49 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysActivityServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysActivityServiceImpl.java
@@ -29,4 +29,11 @@
         pageInfo.setRecords(list);
         return pageInfo;
     }
+    @Override
+    public PageInfo<TSysActivity> pageListApp(TSysActivityQuery query) {
+        PageInfo<TSysActivity> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
+        List<TSysActivity> list = this.baseMapper.pageListApp(query,pageInfo);
+        pageInfo.setRecords(list);
+        return pageInfo;
+    }
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysProductIntroductionServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysProductIntroductionServiceImpl.java
index 5597be5..7915b86 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysProductIntroductionServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysProductIntroductionServiceImpl.java
@@ -29,4 +29,11 @@
         pageInfo.setRecords(list);
         return pageInfo;
     }
+    @Override
+    public PageInfo<TSysProductIntroduction> pageListApp(TSysProductIntroductionQuery query) {
+        PageInfo<TSysProductIntroduction> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
+        List<TSysProductIntroduction> list = this.baseMapper.pageListApp(query,pageInfo);
+        pageInfo.setRecords(list);
+        return pageInfo;
+    }
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/utils/util/HttpClientUtils.java b/ruoyi-system/src/main/java/com/ruoyi/system/utils/util/HttpClientUtils.java
new file mode 100644
index 0000000..103297c
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/utils/util/HttpClientUtils.java
@@ -0,0 +1,221 @@
+package com.ruoyi.system.utils.util;
+
+import com.google.common.collect.Lists;
+import com.ruoyi.common.exception.ServiceException;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.http.Consts;
+import org.apache.http.HttpResponse;
+import org.apache.http.HttpStatus;
+import org.apache.http.client.ClientProtocolException;
+import org.apache.http.client.config.RequestConfig;
+import org.apache.http.client.entity.UrlEncodedFormEntity;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.client.methods.HttpUriRequest;
+import org.apache.http.client.protocol.HttpClientContext;
+import org.apache.http.client.utils.URIBuilder;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
+import org.apache.http.message.BasicNameValuePair;
+import org.apache.http.util.EntityUtils;
+
+import java.io.IOException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.nio.charset.StandardCharsets;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+@Slf4j
+public class HttpClientUtils {
+
+    //请求超时时间
+    private final static Integer TIME_OUT = 30000;
+    //http连接池
+    private static volatile PoolingHttpClientConnectionManager poolingHttpClientConnectionManager;
+    //请求配置
+    private static RequestConfig requestConfig;
+
+    public static PoolingHttpClientConnectionManager getPoolingHttpClientConnectionManager() {
+        if (poolingHttpClientConnectionManager == null) {
+            synchronized (HttpClientUtils.class) {
+                if (poolingHttpClientConnectionManager == null) {
+                    poolingHttpClientConnectionManager = new PoolingHttpClientConnectionManager();
+                    //连接池最大连接数
+                    poolingHttpClientConnectionManager.setMaxTotal(1024);
+                    //每个路由最大连接数
+                    poolingHttpClientConnectionManager.setDefaultMaxPerRoute(64);
+                    //配置请求的超时设置
+                    requestConfig =
+                            RequestConfig.custom().setConnectionRequestTimeout(TIME_OUT).setConnectTimeout(TIME_OUT).setSocketTimeout(TIME_OUT).build();
+                }
+            }
+        }
+        return poolingHttpClientConnectionManager;
+    }
+
+    public static CloseableHttpClient getHttpClient() {
+        return HttpClients.custom().setConnectionManager(getPoolingHttpClientConnectionManager()).setDefaultRequestConfig(requestConfig).build();
+    }
+
+    /**
+     * 请求发送执行
+     *
+     * @param httpMethd
+     * @return
+     */
+    public static String registRequest(HttpUriRequest httpMethd) {
+        CloseableHttpClient httpClient = getHttpClient();
+        try (CloseableHttpResponse httpResponse = httpClient.execute(httpMethd, HttpClientContext.create())) {
+            int statusCode = httpResponse.getStatusLine().getStatusCode();
+            if (httpResponse.getStatusLine().getStatusCode() != HttpStatus.SC_OK) {
+                log.error("响应失败 statusCode {}", statusCode);
+                log.error("============响应失败 response {}", EntityUtils.toString(httpResponse.getEntity(), Consts.UTF_8));
+                httpMethd.abort();
+            }
+            log.debug("响应成功 statusCode {}", statusCode);
+            String response = EntityUtils.toString(httpResponse.getEntity(), Consts.UTF_8);
+            log.debug("响应成功 response {}", response);
+            return response;
+        } catch (Exception e) {
+            throw new RuntimeException("请求失败", e);
+        }
+    }
+
+    public static List<BasicNameValuePair> toPairs(Map<String, Object> params) {
+        List<BasicNameValuePair> pairs = Lists.newArrayList();
+        if (params != null && !params.isEmpty()) {
+            pairs = params.entrySet().stream().map(entry -> new BasicNameValuePair(entry.getKey(),
+                    entry.getValue().toString())).collect(Collectors.toList());
+        }
+        return pairs;
+    }
+
+    /**
+     * get url请求
+     *
+     * @param url
+     * @return
+     */
+    public static String get(String url, String token) {
+        HttpGet request = new HttpGet();
+        request.setHeader("Authorization", token);
+        try {
+            request.setURI(new URI(url));
+            return registRequest(request);
+        } catch (Exception e) {
+            log.error("<<<<<<<<<<<<<<<请求失败:{}", e.getMessage());
+        }
+        return null;
+    }
+
+    /***
+     * get请求(带参数)
+     * @param url
+     * @return String
+     */
+    public static String getReq(String url, Map<String, String> params) {
+        String result = null;
+        try {
+            URIBuilder uriBuilder = new URIBuilder(url);
+            Iterator maplist = params.entrySet().iterator();
+            while (maplist.hasNext()) {
+                Map.Entry<String, String> map = (Map.Entry<String, String>) maplist.next();
+                uriBuilder.addParameter(map.getKey(), map.getValue());
+            }
+            CloseableHttpClient client = HttpClientBuilder.create().build();
+            HttpGet get = new HttpGet(uriBuilder.build());
+            get.addHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Safari/537.36");
+            HttpResponse response = client.execute(get);
+            result = EntityUtils.toString(response.getEntity(), "UTF-8");
+
+        } catch (URISyntaxException e) {
+            e.printStackTrace();
+        } catch (ClientProtocolException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        return result;
+    }
+
+    /**
+     * PSOT URL方式提交
+     *
+     * @param url    请求url
+     * @param params 请求参数
+     * @return
+     */
+    public static String postFromUrl(String url, Map<String, Object> params) {
+        HttpPost request = new HttpPost(url);
+        request.setEntity(new UrlEncodedFormEntity(toPairs(params), Consts.UTF_8));
+        try {
+            return registRequest(request);
+        } catch (Exception e) {
+            log.error("请求失败", e);
+        }
+        return null;
+    }
+
+    /**
+     * PSOT JSON方式提交
+     *
+     * @param url    请求url
+     * @param params json串
+     * @return
+     */
+    public static String postFromJson(String url, String params, String token) {
+        HttpPost request = new HttpPost(url);
+        request.setHeader("Content-type", "application/json");
+        request.setHeader("Accept", "application/json");
+        request.setHeader("Authorization", token);
+        RequestConfig requestConfig = RequestConfig.custom()
+                .setSocketTimeout(12000)
+                .setConnectTimeout(8000)
+                .build();
+        request.setConfig(requestConfig);
+        StringEntity entity = new StringEntity(params, StandardCharsets.UTF_8);
+        entity.setContentType("application/json");
+        request.setEntity(entity);
+        try {
+            return registRequest(request);
+        } catch (Exception e) {
+            log.info("<<<<<<<<<<<http请求失败:{}", e.getMessage());
+            throw new ServiceException("<<<<<<<<<<<http请求失败<<<<<<<<<<<<<<");
+        }
+    }
+
+    /**
+     * PSOT JSON方式提交,无token
+     *
+     * @param url    请求url
+     * @param params json串
+     * @return
+     */
+    public static String postFrom(String url, String params) {
+        HttpPost request = new HttpPost(url);
+        request.setHeader("Content-type", "application/json");
+        request.setHeader("Accept", "application/json");
+        RequestConfig requestConfig = RequestConfig.custom()
+                .setSocketTimeout(8000)
+                .setConnectTimeout(6000)
+                .build();
+        request.setConfig(requestConfig);
+        StringEntity entity = new StringEntity(params, StandardCharsets.UTF_8);
+        entity.setContentType("application/json");
+        request.setEntity(entity);
+        try {
+            return registRequest(request);
+        } catch (Exception e) {
+            log.error("<<<<<<<<<<<<<<<请求失败:{}", e.getMessage());
+        }
+        return null;
+    }
+}
+
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/utils/util/MD5Util.java b/ruoyi-system/src/main/java/com/ruoyi/system/utils/util/MD5Util.java
new file mode 100644
index 0000000..b4fad9a
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/utils/util/MD5Util.java
@@ -0,0 +1,36 @@
+package com.ruoyi.system.utils.util;
+
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+ 
+public class MD5Util {
+ 
+    // 将字节数组转换为十六进制字符串
+    private static String bytesToHex(byte[] bytes) {
+        StringBuilder hexString = new StringBuilder();
+        for (byte b : bytes) {
+            String hex = Integer.toHexString(0xff & b);
+            if (hex.length() == 1) hexString.append('0');
+            hexString.append(hex);
+        }
+        return hexString.toString();
+    }
+ 
+    // 计算字符串的MD5值,返回十六进制字符串
+    public static String md5Hex(String message) {
+        try {
+            MessageDigest md = MessageDigest.getInstance("MD5");
+            byte[] digest = md.digest(message.getBytes());
+            return bytesToHex(digest);
+        } catch (NoSuchAlgorithmException e) {
+            throw new RuntimeException(e); // 不应该发生,因为"MD5"是一个标准的算法名称
+        }
+    }
+ 
+    public static void main(String[] args) {
+        String originalString = "Hello, World!";
+        String md5Result = md5Hex(originalString);
+        System.out.println("Original: " + originalString);
+        System.out.println("MD5: " + md5Result);
+    }
+}
\ No newline at end of file
diff --git a/ruoyi-system/src/main/resources/mapper/system/TSysActivityMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TSysActivityMapper.xml
index dac5365..313f876 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TSysActivityMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TSysActivityMapper.xml
@@ -45,5 +45,24 @@
         </where>
         ORDER BY create_time DESC
     </select>
+    <select id="pageListApp" resultType="com.ruoyi.system.model.TSysActivity">
+        SELECT
+        <include refid="Base_Column_List"/>
+            FROM t_sys_activity
+        <where>
+            <if test="query.activityName != null and query.activityName != ''">
+                AND activity_name LIKE concat('%',#{query.activityName},'%')
+            </if>
+            <if test="query.showType != null">
+                AND show_type = #{query.showType}
+            </if>
+            <if test="query.status != null">
+                AND status = #{query.status}
+            </if>
+            AND show_type in (1,3)
+            AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
+        </where>
+        ORDER BY create_time DESC
+    </select>
 
 </mapper>
diff --git a/ruoyi-system/src/main/resources/mapper/system/TSysProductIntroductionMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TSysProductIntroductionMapper.xml
index fb4c874..08d0756 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TSysProductIntroductionMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TSysProductIntroductionMapper.xml
@@ -45,5 +45,24 @@
         </where>
         ORDER BY create_time DESC
     </select>
+    <select id="pageListApp" resultType="com.ruoyi.system.model.TSysProductIntroduction">
+        SELECT
+        <include refid="Base_Column_List"/>
+            FROM t_sys_product_introduction
+        <where>
+            <if test="query.productName != null and query.productName != ''">
+                AND product_name LIKE concat('%',#{query.productName},'%')
+            </if>
+            <if test="query.showType != null">
+                AND show_type = #{query.showType}
+            </if>
+            <if test="query.status != null">
+                AND status = #{query.status}
+            </if>
+            AND show_type in (1,3)
+            AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
+        </where>
+        ORDER BY create_time DESC
+    </select>
 
 </mapper>

--
Gitblit v1.7.1