Browse Source

Merge remote-tracking branch 'origin/master'

yfh 1 month ago
parent
commit
f5e6fda8a1

+ 1 - 0
fs-qw-task/src/main/java/com/fs/app/taskService/impl/SopLogsTaskServiceImpl.java

@@ -284,6 +284,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
             log.info("没有需要处理的 SOP 用户日志。");
             return;
         }
+
         String[] array = sopUserLogsVos.stream().map(SopUserLogsVo::getChatId).filter(StringUtils::isNotEmpty).toArray(String[]::new);
         Map<String, QwGroupChat> groupChatMap = new HashMap<>();
         if (array.length > 0) {

+ 1 - 1
fs-service/src/main/java/com/fs/aiTongueApi/config/AiTongueConfig.java

@@ -4,5 +4,5 @@ public interface AiTongueConfig {
     String getFaceHistoryByIDUrl="https://api.aikanshe.com/agency/getHistoryByID";
     String quanxiUrl="https://api.aikanshe.com/agency/quanxi";
     String checkTongue="https://api.aikanshe.com/agency/checkTongue";
-    String appKey="i5h5u6g59dw9x0o6yymd3tf5ea6gcdqi";
+    String appKey="";
 }

+ 7 - 8
fs-service/src/main/java/com/fs/course/service/impl/FsCourseWatchCommentServiceImpl.java

@@ -130,14 +130,13 @@ public class FsCourseWatchCommentServiceImpl extends ServiceImpl<FsCourseWatchCo
             List<SysKeyword> sysKeywords = mapper.selectSysKeywordList(sysKeywordParam);
             keywords = sysKeywords.stream().map(SysKeyword::getKeyword).collect(Collectors.toSet());
         }
-        if (keywords.isEmpty()) {
-            return R.ok().put("status", true);
-        }
-        for (String keyword : keywords) {
-            if (param.getContent().contains(keyword)) {
-                //标记用户为黑名单
-                qwExternalContactMapper.updateQwExternalContactByFsUserId(1, param.getUserId());
-                return R.ok().put("status", false);
+        if(!keywords.isEmpty()){
+            for (String keyword : keywords) {
+                if (param.getContent().contains(keyword)) {
+                    //标记用户为黑名单,并且不保存数据
+                    qwExternalContactMapper.updateQwExternalContactByFsUserId(1, param.getUserId());
+                    return R.ok().put("status", false);
+                }
             }
         }
         FsCourseWatchComment fsCourseWatchComment = new FsCourseWatchComment();

+ 7 - 1
fs-service/src/main/java/com/fs/his/service/impl/FsStoreOrderServiceImpl.java

@@ -80,6 +80,7 @@ import com.github.binarywang.wxpay.exception.WxPayException;
 import com.github.binarywang.wxpay.service.WxPayService;
 import com.google.gson.Gson;
 import lombok.Synchronized;
+import lombok.extern.slf4j.Slf4j;
 import org.json.JSONObject;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -111,6 +112,7 @@ import static com.fs.his.utils.PhoneUtil.decryptPhone;
  */
 @Lazy
 @Service
+@Slf4j
 public class FsStoreOrderServiceImpl implements IFsStoreOrderService
 {
     Logger logger= LoggerFactory.getLogger(getClass());
@@ -1941,7 +1943,11 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
             }
         }
         ExpressInfoDTO dto=expressService.getExpressInfo(order.getOrderCode(),order.getDeliveryCode(),order.getDeliverySn(),lastFourNumber);
-        if(dto.getStateEx().equals("0")&&dto.getState().equals("0")){
+        log.info("快递鸟查询dto:{}", JSONUtil.toJsonStr(dto));
+        if (!dto.isSuccess()){
+            return R.error(dto.getReason());
+        }
+        if("0".equals(dto.getStateEx())&&"0".equals(dto.getState())){
             lastFourNumber = "19923690275";
             if (order.getDeliveryCode().equals(ShipperCodeEnum.SF.getValue())) {
                 lastFourNumber = order.getUserPhone();

+ 151 - 0
fs-service/src/main/resources/application-druid-myhk-test.yml

@@ -0,0 +1,151 @@
+# 数据源配置
+spring:
+    # redis 配置
+    redis:
+#        host: 172.27.0.6
+        host: 127.0.0.1
+        port: 6379
+        # 数据库索引
+        database: 0
+        # 密码
+#        password: myhk888777666.
+        password:
+        # 连接超时时间
+        timeout: 10s
+        lettuce:
+            pool:
+                # 连接池中的最小空闲连接
+                min-idle: 0
+                # 连接池中的最大空闲连接
+                max-idle: 8
+                # 连接池的最大数据库连接数
+                max-active: 100
+                # #连接池最大阻塞等待时间(使用负值表示没有限制)
+                max-wait: -1ms
+    datasource:
+#        clickhouse:
+#            type: com.alibaba.druid.pool.DruidDataSource
+#            driverClassName: com.clickhouse.jdbc.ClickHouseDriver
+#            url: jdbc:clickhouse://1.14.104.71:8123/sop_test?compress=0&use_server_time_zone=true&use_client_time_zone=false&timezone=Asia/Shanghai
+#            username: rt_2024
+#            password: Yzx_19860213
+#            initialSize: 10
+#            maxActive: 100
+#            minIdle: 10
+#            maxWait: 6000
+        mysql:
+            type: com.alibaba.druid.pool.DruidDataSource
+            driverClassName: com.mysql.cj.jdbc.Driver
+            druid:
+                # 主库数据源
+                master:
+                  url: jdbc:mysql://cd-cdb-5vtn8yte.sql.tencentcdb.com:22680/fs_his?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+#                  url: jdbc:mysql://172.27.0.17:3306/fs_his?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+                  username: root
+                  password: myhk888777666.
+                # 从库数据源
+                slave:
+                    # 从数据源开关/默认关闭
+                    enabled: false
+                    url:
+                    username:
+                    password:
+                # 初始连接数
+                initialSize: 5
+                # 最小连接池数量
+                minIdle: 10
+                # 最大连接池数量
+                maxActive: 20
+                # 配置获取连接等待超时的时间
+                maxWait: 60000
+                # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
+                timeBetweenEvictionRunsMillis: 60000
+                # 配置一个连接在池中最小生存的时间,单位是毫秒
+                minEvictableIdleTimeMillis: 300000
+                # 配置一个连接在池中最大生存的时间,单位是毫秒
+                maxEvictableIdleTimeMillis: 900000
+                # 配置检测连接是否有效
+                validationQuery: SELECT 1 FROM DUAL
+                testWhileIdle: true
+                testOnBorrow: false
+                testOnReturn: false
+                webStatFilter:
+                    enabled: true
+                statViewServlet:
+                    enabled: true
+                    # 设置白名单,不填则允许所有访问
+                    allow:
+                    url-pattern: /druid/*
+                    # 控制台管理用户名和密码
+                    login-username: fs
+                    login-password: 123456
+                filter:
+                    stat:
+                        enabled: true
+                        # 慢SQL记录
+                        log-slow-sql: true
+                        slow-sql-millis: 1000
+                        merge-sql: true
+                    wall:
+                        config:
+                            multi-statement-allow: true
+        sop:
+            type: com.alibaba.druid.pool.DruidDataSource
+            driverClassName: com.mysql.cj.jdbc.Driver
+            druid:
+                # 主库数据源
+                master:
+                    url: jdbc:mysql://cd-cdb-5vtn8yte.sql.tencentcdb.com:22680/fs_his_sop?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+#                    url: jdbc:mysql://172.27.0.17:3306/fs_his_sop?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+                    username: root
+                    password: myhk888777666.
+                # 初始连接数
+                initialSize: 5
+                # 最小连接池数量
+                minIdle: 10
+                # 最大连接池数量
+                maxActive: 20
+                # 配置获取连接等待超时的时间
+                maxWait: 60000
+                # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
+                timeBetweenEvictionRunsMillis: 60000
+                # 配置一个连接在池中最小生存的时间,单位是毫秒
+                minEvictableIdleTimeMillis: 300000
+                # 配置一个连接在池中最大生存的时间,单位是毫秒
+                maxEvictableIdleTimeMillis: 900000
+                # 配置检测连接是否有效
+                validationQuery: SELECT 1 FROM DUAL
+                testWhileIdle: true
+                testOnBorrow: false
+                testOnReturn: false
+                webStatFilter:
+                    enabled: true
+                statViewServlet:
+                    enabled: true
+                    # 设置白名单,不填则允许所有访问
+                    allow:
+                    url-pattern: /druid/*
+                    # 控制台管理用户名和密码
+                    login-username: fs
+                    login-password: 123456
+                filter:
+                    stat:
+                        enabled: true
+                        # 慢SQL记录
+                        log-slow-sql: true
+                        slow-sql-millis: 1000
+                        merge-sql: true
+                    wall:
+                        config:
+                            multi-statement-allow: true
+rocketmq:
+    name-server: rmq-1243b25nj.rocketmq.gz.public.tencenttdmq.com:8080 # RocketMQ NameServer 地址
+    producer:
+        group: my-producer-group
+        access-key: ak1243b25nj17d4b2dc1a03 # 替换为实际的 accessKey
+        secret-key: sk08a7ea1f9f4b0237 # 替换为实际的 secretKey
+    consumer:
+        group: voice-group
+        access-key: ak1243b25nj17d4b2dc1a03 # 替换为实际的 accessKey
+        secret-key: sk08a7ea1f9f4b0237 # 替换为实际的 secretKey
+

+ 25 - 25
fs-service/src/main/resources/mapper/sop/QwSopMapper.xml

@@ -55,14 +55,13 @@
         FROM
             qw_sop qs
                 LEFT JOIN
-            qw_sop_temp qst ON qs.temp_id = qst.id
+            qw_sop_temp qst ON qs.temp_id = qst.id AND qst.status = '1'
         WHERE
-            FIND_IN_SET(#{map.qwUserId}, COALESCE(qs.qw_user_ids, '')) > 0
-          AND qs.corp_id = #{map.corpId}
-          AND qst.status = '1'
+          qs.corp_id = #{map.corpId}
           AND qs.status IN (2, 3, 4)
+          AND qs.send_type in (2,11)
           AND qs.is_auto_sop = 1
-          AND qs.send_type = #{map.sendType}
+          AND FIND_IN_SET(#{map.qwUserId}, COALESCE(qs.qw_user_ids, '')) > 0
           AND (
            <foreach collection='map.tagsIdsSelectList' item='item' index='index' separator=' or '>
                      find_in_set( #{item}, TRIM(REGEXP_REPLACE(qs.tags, '[\"\\\\[\\\\]]', '')))
@@ -85,13 +84,12 @@
         FROM
         qw_sop qs
         LEFT JOIN
-        qw_sop_temp qst ON qs.temp_id = qst.id
+        qw_sop_temp qst ON qs.temp_id = qst.id AND qst.status = '1'
         WHERE
-            FIND_IN_SET(#{map.qwUserId}, COALESCE(qs.qw_user_ids, '')) > 0
-        AND qs.corp_id = #{map.corpId}
-        AND qst.status = '1'
+        qs.corp_id = #{map.corpId}
         AND qs.status IN (2, 3, 4)
-        AND qs.send_type = #{map.sendType}
+        AND qs.send_type IN (2,11)
+        AND FIND_IN_SET(#{map.qwUserId}, COALESCE(qs.qw_user_ids, '')) > 0
         AND (
             <foreach collection='map.tagsIdsSelectList' item='item' index='index' separator=' or '>
                 find_in_set( #{item}, TRIM(REGEXP_REPLACE(qs.tags, '[\"\\\\[\\\\]]', '')) )
@@ -113,13 +111,12 @@
         FROM
         qw_sop qs
         LEFT JOIN
-        qw_sop_temp qst ON qs.temp_id = qst.id
+        qw_sop_temp qst ON qs.temp_id = qst.id  AND qst.status = '1'
         WHERE
-        FIND_IN_SET(#{map.qwUserId}, COALESCE(qs.qw_user_ids, '')) > 0
-        AND qs.corp_id = #{map.corpId}
-        AND qst.status = '1'
+         qs.corp_id = #{map.corpId}
         AND qs.status IN (2, 3, 4)
-        AND qs.send_type = #{map.sendType}
+        AND qs.send_type IN (2,11)
+        AND FIND_IN_SET(#{map.qwUserId}, COALESCE(qs.qw_user_ids, '')) > 0
         AND (
         <foreach collection='map.tagsIdsSelectList' item='item' index='index' separator=' and '>
           NOT find_in_set( #{item}, TRIM(REGEXP_REPLACE(qs.tags, '[\"\\\\[\\\\]]', '')) )
@@ -141,13 +138,12 @@
         FROM
         qw_sop qs
         LEFT JOIN
-        qw_sop_temp qst ON qs.temp_id = qst.id
+        qw_sop_temp qst ON qs.temp_id = qst.id  AND qst.status = '1'
         WHERE
-             FIND_IN_SET(#{map.qwUserId}, COALESCE(qs.qw_user_ids, '')) > 0
-        AND qs.corp_id = #{map.corpId}
-        AND qst.status = '1'
+         qs.corp_id = #{map.corpId}
         AND qs.status IN (2, 3, 4)
         AND qs.send_type = 4
+        AND FIND_IN_SET(#{map.qwUserId}, COALESCE(qs.qw_user_ids, '')) > 0
         AND (
         <foreach collection='map.tagsIdsSelectList' item='item' index='index' separator=' or '>
             find_in_set( #{item}, TRIM(REGEXP_REPLACE(qs.tags, '[\"\\\\[\\\\]]', '')) )
@@ -161,13 +157,12 @@
         FROM
             qw_sop qs
                 LEFT JOIN
-            qw_sop_temp qst ON qs.temp_id = qst.id
+            qw_sop_temp qst ON qs.temp_id = qst.id  AND qst.status = '1'
         WHERE
-            FIND_IN_SET(#{map.qwUserId}, COALESCE(qs.qw_user_ids, '')) > 0
-          AND qs.corp_id = #{map.corpId}
-          AND qst.status = '1'
+           qs.corp_id = #{map.corpId}
           AND qs.status IN (2, 3, 4)
-          AND qs.send_type = #{map.sendType}
+          AND qs.send_type IN (2,11)
+          AND FIND_IN_SET(#{map.qwUserId}, COALESCE(qs.qw_user_ids, '')) > 0
     </select>
 
 
@@ -246,12 +241,14 @@
             and status != 6
          order by create_time desc
     </select>
+
     <select id="selectQwSopByIsRating" parameterType="QwSop" resultMap="QwSopResult">
         <include refid="selectQwSopVo"/>
         where is_rating = 1
-        and send_type in(2,3)
+        and send_type in(2,3,11)
         order by create_time desc
     </select>
+
     <select id="selectQwSopById" parameterType="String" resultType="com.fs.sop.domain.QwSop">
         <include refid="selectQwSopVo"/>
         where id = #{id}
@@ -395,13 +392,16 @@
         </where>
         order by create_time desc
     </select>
+
     <select id="selectByTemplateId" resultType="com.fs.sop.domain.QwSop">
         select * from qw_sop where temp_id = #{tempId}
     </select>
+
     <select id="selectWxSop" resultType="com.fs.sop.domain.QwSop">
         select a.* from qw_sop a
         where a.send_type != 4 and a.status in (2,3) and a.type = 1
     </select>
+
     <update id="updateQwSop" parameterType="QwSop" useGeneratedKeys="false" keyProperty="id" >
         UPDATE  qw_sop
         <trim prefix="SET" suffixOverrides=",">