Sfoglia il codice sorgente

手机号授权和素材分享SOP,一键群发

wjj 3 giorni fa
parent
commit
458f909a3b

+ 34 - 0
fs-ipad-task/src/main/java/com/fs/app/service/IpadSendServer.java

@@ -16,9 +16,11 @@ import com.fs.course.config.CourseConfig;
 import com.fs.course.domain.FsCoursePlaySourceConfig;
 import com.fs.course.domain.FsCourseWatchLog;
 import com.fs.course.service.IFsCourseWatchLogService;
+import com.fs.his.domain.FsShareMaterial;
 import com.fs.his.domain.FsSignArticle;
 import com.fs.his.domain.FsUser;
 import com.fs.his.mapper.FsUserMapper;
+import com.fs.his.service.IFsShareMaterialService;
 import com.fs.his.service.IFsSignArticleService;
 import com.fs.ipad.IpadSendUtils;
 import com.fs.ipad.vo.*;
@@ -86,6 +88,9 @@ public class IpadSendServer {
     @Autowired
     private IFsSignArticleService signArticleService;
 
+    @Autowired
+    private IFsShareMaterialService shareMaterialService;
+
     //private final LiveWatchLogMapper liveWatchLogMapper;
 
 
@@ -585,6 +590,35 @@ public class IpadSendServer {
                         qwSopLogsService.updateQwSopLogsByWatchLogType(qwSopLogs.getId(), "打卡文章发放失败,请重新发送!");
                     }
                     break;
+                case "16":
+                    log.info("===============进入素材分享===============");
+                    FsShareMaterial shareMaterial = shareMaterialService.selectFsShareMaterialById(content.getShareMaterialId());
+                    if (shareMaterial == null) {
+                        qwSopLogsService.updateQwSopLogsByWatchLogType(qwSopLogs.getId(),"素材不存在");
+                    }
+                    try{
+                        content.setMiniprogramPage(quickProcess(content.getMiniprogramPage(),content.getShareMaterialId()));
+                        //发送小程序
+                        sendMiniProgram(vo, content, miniMap,qwUser.getCompanyId());
+                    }catch (Exception e){
+                        qwSopLogsService.updateQwSopLogsByWatchLogType(qwSopLogs.getId(), "素材发放失败,请重新发送!");
+                    }
+                    break;
+                case "17":
+                    log.info("===============进入手机授权=============");
+                    //发送短信
+                    FsShareMaterial material = shareMaterialService.selectFsShareMaterialById(content.getShareMaterialId());
+                    if (material == null) {
+                        qwSopLogsService.updateQwSopLogsByWatchLogType(qwSopLogs.getId(),"素材不存在");
+                    }
+                    try{
+                        content.setMiniprogramPage(quickProcess(content.getMiniprogramPage(),content.getShareMaterialId()));
+                        //发送小程序
+                        sendMiniProgram(vo, content, miniMap,qwUser.getCompanyId());
+                    }catch (Exception e){
+                        qwSopLogsService.updateQwSopLogsByWatchLogType(qwSopLogs.getId(), "手机授权发放失败,请重新发送!");
+                    }
+                    break;
                 case "21":
                     content.setSendStatus(0);
                     content.setSendRemarks("短信待发送");

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

@@ -1,5 +1,7 @@
 package com.fs.app.taskService.impl;
 
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -80,6 +82,8 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
 
     private static final String REAL_LINK_PREFIX = "/courseH5/pages/course/learning?course=";
     private static final String signArticleLink = "/pages_course/article.html?link=";
+    private static final String shareMaterialLink = "/pages_course/customerStatistics.html?link=";
+    private static final String phoneNumberLink = "/pages_course/getPhoneNumber.html?link=";
     private static final String SHORT_LINK_PREFIX = "/courseH5/pages/course/learning?s=";
     private static final String appActivityLink = "/pages_course/luckybag.html?link=";
     private static final String miniappRealLink = "/pages_course/video.html?course=";
@@ -92,6 +96,10 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
     private static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
     private static final DateTimeFormatter OUTPUT_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd 07:00:00");
 
+    //商城小程序appId配置常量
+    private static final String APP_ID_CONFIG_KEY = "appStore.appId.config";
+    private static final String DEFAULT_APP_ID = "wx50bcb040b4963a7e";
+
 
     // Cached configurations and domain names
     private CourseConfig cachedCourseConfig;
@@ -202,6 +210,9 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
     @Autowired
     private AsyncCourseWatchFinishService asyncCourseWatchFinishService;
 
+    @Autowired
+    private ISysConfigService sysConfigService;
+
 
 
     @PostConstruct
@@ -1154,6 +1165,24 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
                     setting.setMiniprogramPage(signLinkBy);
                     setting.setContentType("15");
                     break;
+                case "16" :
+                    //素材分享
+                    String shareLinkBy = createShareMaterialLinkByMiniApp(setting, sopLogs, sopLogs.getCorpId(), new Date(), courseId, videoId
+                            , qwUserId, companyUserId, companyId, cachedCourseConfig, logVo.getChatId());
+                    setting.setMiniprogramAppid(getAppId());
+                    setting.setMiniprogramTitle("每日分享");
+                    setting.setMiniprogramPage(shareLinkBy);
+                    setting.setContentType("16");
+                    break;
+                case "17" :
+                    //手机授权
+                    String phoneLinkBy = createPhoneNumberLinkByMiniApp(setting, sopLogs, sopLogs.getCorpId(), new Date(), courseId, videoId
+                            , qwUserId, companyUserId, companyId, cachedCourseConfig, logVo.getChatId());
+                    setting.setMiniprogramAppid(getAppId());
+                    setting.setMiniprogramTitle("领取开箱密码");
+                    setting.setMiniprogramPage(phoneLinkBy);
+                    setting.setContentType("17");
+                    break;
                 case "21"://短信看课
                     if (sopLogs.getFsUserId() != null && !Long.valueOf(0L).equals(sopLogs.getFsUserId())) {
                         addWatchLogIfNeeded(sopLogs, videoId, courseId, sendTime, qwUserId, companyUserId, companyId, externalId, logVo);
@@ -2373,6 +2402,54 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
         return link.getRealLink();
     }
 
+    public String createShareMaterialLinkByMiniApp(QwSopTempSetting.Content.Setting st, QwSopLogs sopLogs, String corpId, Date sendTime, Long courseId, Long videoId, String qwUserId, String companyUserId, String companyId, CourseConfig config, String chatId) {
+        FsCourseLink activityByLink = createActivityByLink(corpId, sendTime, courseId, videoId, qwUserId.toString()
+                , companyUserId, companyId, null, 3);
+        activityByLink.setChatId(st.getChatId());
+
+        Date updateTime = createUpdateTime(st, sendTime, config);
+        activityByLink.setUpdateTime(updateTime);
+
+        FsCourseRealLink courseMap = new FsCourseRealLink();
+        BeanUtils.copyProperties(activityByLink, courseMap);
+
+        st.setExternalUserId(sopLogs.getExternalUserId());
+        st.setChatId(activityByLink.getChatId());
+        st.setMiniprogramPicUrl(st.getShareMaterialUrl());
+
+        courseMap.setQwExternalId(sopLogs.getExternalId());
+
+        String realLinkFull = shareMaterialLink + JSON.toJSONString(courseMap);
+        activityByLink.setRealLink(realLinkFull);
+        //存短链-
+        enqueueCourseLink(activityByLink);
+        return activityByLink.getRealLink();
+    }
+
+    public String createPhoneNumberLinkByMiniApp(QwSopTempSetting.Content.Setting st, QwSopLogs sopLogs, String corpId, Date sendTime, Long courseId, Long videoId, String qwUserId, String companyUserId, String companyId, CourseConfig config, String chatId) {
+        FsCourseLink activityByLink = createActivityByLink(corpId, sendTime, courseId, videoId, qwUserId.toString()
+                , companyUserId, companyId, null, 3);
+        activityByLink.setChatId(st.getChatId());
+
+        Date updateTime = createUpdateTime(st, sendTime, config);
+        activityByLink.setUpdateTime(updateTime);
+
+        FsCourseRealLink courseMap = new FsCourseRealLink();
+        BeanUtils.copyProperties(activityByLink, courseMap);
+
+        st.setExternalUserId(sopLogs.getExternalUserId());
+        st.setChatId(activityByLink.getChatId());
+        st.setMiniprogramPicUrl(st.getShareMaterialUrl());
+
+        courseMap.setQwExternalId(sopLogs.getExternalId());
+
+        String realLinkFull = phoneNumberLink + JSON.toJSONString(courseMap);
+        activityByLink.setRealLink(realLinkFull);
+        //存短链-
+        enqueueCourseLink(activityByLink);
+        return activityByLink.getRealLink();
+    }
+
     public FsCourseLink createActivityByLink(String corpId, Date sendTime, Long courseId, Long videoId, String qwUserId,
                                              String companyUserId, String companyId, String externalId, Integer type) {
         // 手动创建 FsCourseLink 对象,避免使用 BeanUtils.copyProperties
@@ -2398,4 +2475,29 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
 
         return link;
     }
+
+    /**
+     * 获取 appId 的私有方法
+     */
+    private String getAppId() {
+        try {
+            String configValue = sysConfigService.selectConfigByKey(APP_ID_CONFIG_KEY);
+            if (org.apache.commons.lang3.StringUtils.isNotEmpty(configValue)) {
+                JSONObject json = JSONUtil.parseObj(configValue);
+                String appId = json.getStr("appId");
+                if (org.apache.commons.lang3.StringUtils.isNotEmpty(appId)) {
+                    return appId;
+                } else {
+                    log.warn("配置 {} 中 appId 字段为空,使用默认值", APP_ID_CONFIG_KEY);
+                }
+            } else {
+                log.warn("未找到配置 {},使用默认值", APP_ID_CONFIG_KEY);
+            }
+        } catch (Exception e) {
+            log.error("解析 appId 配置异常,configValue={}",
+                    sysConfigService.selectConfigByKey(APP_ID_CONFIG_KEY), e);
+        }
+        //默认值
+        return DEFAULT_APP_ID;
+    }
 }

+ 1 - 1
fs-service/src/main/java/com/fs/his/domain/FsKdzlCallRecord.java

@@ -76,7 +76,7 @@ public class FsKdzlCallRecord {
     @TableField(fill = FieldFill.INSERT_UPDATE)
     private Date updateTime;
 
-
+    
 
     /** 拨打时间开始(时间戳) */
     @JsonIgnore

+ 1 - 1
fs-service/src/main/java/com/fs/his/mapper/FsShareMaterialMapper.java

@@ -65,7 +65,7 @@ public interface FsShareMaterialMapper extends BaseMapper<FsShareMaterial>{
     /**
      * 查询分享素材选项
      */
-    @Select("select id as dictValue,material_name as dictLabel,material_url as dictImgUrl, type as dictValue1 from fs_share_material")
+    @Select("select id as dictValue,material_name as dictLabel,cover_img_url as dictImgUrl, type as dictValue1 from fs_share_material")
     List<OptionsVO> listOptions();
 
     /**

+ 6 - 0
fs-service/src/main/java/com/fs/qw/vo/QwSopCourseFinishTempSetting.java

@@ -120,6 +120,12 @@ public class QwSopCourseFinishTempSetting implements Serializable,Cloneable{
         //打卡文章封面图
         private String signArticleImgUrl;
 
+        //分享素材id
+        private Long shareMaterialId;
+
+        //分享素材url
+        private String shareMaterialUrl;
+
         // 短信CODE
         private String smsTemplateCode;
 

+ 6 - 0
fs-service/src/main/java/com/fs/qw/vo/QwSopTempSetting.java

@@ -159,6 +159,12 @@ public class QwSopTempSetting implements Serializable{
             //打卡文章封面图
             private String signArticleImgUrl;
 
+            //分享素材id
+            private Long shareMaterialId;
+
+            //分享素材url
+            private String shareMaterialUrl;
+
             // 短信CODE
             private String smsTemplateCode;
 

+ 6 - 0
fs-service/src/main/java/com/fs/qwApi/param/SendWelcomeMsgParam.java

@@ -24,7 +24,13 @@ public class SendWelcomeMsgParam {
 
         private RedPacketAttachment redPacket; // 文件附件详情
         private SignArticleAttachment signArticle; // 文件附件详情
+        private ShareMaterialAttachment shareMaterial;//分享素材附件详情
 
+        @Data
+        private static class ShareMaterialAttachment {
+            private Long id;//分享素材id
+            private String name;//素材名称
+        }
 
         @Data
         // 内部类,用于图片附件

+ 145 - 0
fs-service/src/main/java/com/fs/sop/service/impl/SopUserLogsInfoServiceImpl.java

@@ -1,5 +1,6 @@
 package com.fs.sop.service.impl;
 
+import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
@@ -88,6 +89,8 @@ public class SopUserLogsInfoServiceImpl implements ISopUserLogsInfoService {
 
     private static final String appActivityLink = "/pages_course/luckybag.html?link=";
     private static final String signArticleLink = "/pages_course/article.html?link=";
+    private static final String shareMaterialLink = "/pages_course/customerStatistics.html?link=";
+    private static final String phoneNumberLink = "/pages_course/getPhoneNumber.html?link=";
     private static final String REAL_LINK_PREFIX = "/courseH5/pages/course/learning?course=";
     private static final String SHORT_LINK_PREFIX = "/courseH5/pages/course/learning?s=";
     private static final String miniappRealLink = "/pages_course/video.html?course=";
@@ -96,6 +99,10 @@ public class SopUserLogsInfoServiceImpl implements ISopUserLogsInfoService {
     private static final String appLink = "https://jump.ylrztop.com/jumpapp/pages/index/index?link=";
 //    private static final String miniappRealLink = "/pages/index/index?course=";
 
+    //商城小程序appId配置常量
+    private static final String APP_ID_CONFIG_KEY = "appStore.appId.config";
+    private static final String DEFAULT_APP_ID = "wx50bcb040b4963a7e";
+
     @Autowired
     private ISysConfigService configService;
 
@@ -179,6 +186,9 @@ public class SopUserLogsInfoServiceImpl implements ISopUserLogsInfoService {
     @Lazy
     private IQwSopTempVoiceService sopTempVoiceService;
 
+    @Autowired
+    private ISysConfigService sysConfigService;
+
 
     @Override
     public void save(SopUserLogsInfo sopUserLogsInfo) {
@@ -655,6 +665,22 @@ public class SopUserLogsInfoServiceImpl implements ISopUserLogsInfoService {
                                 st.setMiniprogramTitle("打卡文章");
                                 st.setMiniprogramPage(linkByMiniApp);
                                 break;
+                            //素材分享
+                            case "16":
+                                linkByMiniApp = createShareMaterialLinkByMiniApp(st,sopLogs, qwUser.getCorpId(), new Date(), param.getCourseId(), param.getVideoId(),
+                                        String.valueOf(qwUser.getId()), qwUser.getCompanyUserId().toString(), qwUser.getCompanyId().toString(), config,groupUser.getChatId());
+                                st.setMiniprogramAppid(getAppId());
+                                st.setMiniprogramTitle("每日一享");
+                                st.setMiniprogramPage(linkByMiniApp);
+                                break;
+                            //素材分享
+                            case "17":
+                                linkByMiniApp = createPhoneNumberLinkByMiniApp(st,sopLogs, qwUser.getCorpId(), new Date(), param.getCourseId(), param.getVideoId(),
+                                        String.valueOf(qwUser.getId()), qwUser.getCompanyUserId().toString(), qwUser.getCompanyId().toString(), config,groupUser.getChatId());
+                                st.setMiniprogramAppid(getAppId());
+                                st.setMiniprogramTitle("领取开箱密码");
+                                st.setMiniprogramPage(linkByMiniApp);
+                                break;
                         }
                     }
                     setting.setSetting(list);
@@ -778,6 +804,22 @@ public class SopUserLogsInfoServiceImpl implements ISopUserLogsInfoService {
                                 st.setMiniprogramTitle("打卡文章");
                                 st.setMiniprogramPage(linkByMiniApp);
                                 break;
+                            //素材分享
+                            case "16":
+                                linkByMiniApp = createShareMaterialLinkByMiniApp(st,sopLogs, qwUser.getCorpId(), new Date(), param.getCourseId(), param.getVideoId(),
+                                        String.valueOf(qwUser.getId()), qwUser.getCompanyUserId().toString(), qwUser.getCompanyId().toString(), config,groupChat.getChatId());
+                                st.setMiniprogramAppid(getAppId());
+                                st.setMiniprogramTitle("每日一享");
+                                st.setMiniprogramPage(linkByMiniApp);
+                                break;
+                            //素材分享
+                            case "17":
+                                linkByMiniApp = createPhoneNumberLinkByMiniApp(st,sopLogs, qwUser.getCorpId(), new Date(), param.getCourseId(), param.getVideoId(),
+                                        String.valueOf(qwUser.getId()), qwUser.getCompanyUserId().toString(), qwUser.getCompanyId().toString(), config,groupChat.getChatId());
+                                st.setMiniprogramAppid(getAppId());
+                                st.setMiniprogramTitle("领取开箱密码");
+                                st.setMiniprogramPage(linkByMiniApp);
+                                break;
                         }
                     }
                     setting.setSetting(list);
@@ -1007,6 +1049,22 @@ public class SopUserLogsInfoServiceImpl implements ISopUserLogsInfoService {
                             st.setMiniprogramTitle("打卡文章");
                             st.setMiniprogramPage(linkByMiniApp);
                             break;
+                        //素材分享
+                        case "16":
+                            linkByMiniApp = createShareMaterialLinkByMiniApp(st,sopLogs, qwUser.getCorpId(), new Date(), param.getCourseId(), param.getVideoId(),
+                                    String.valueOf(qwUser.getId()), qwUser.getCompanyUserId().toString(), qwUser.getCompanyId().toString(), config,null);
+                            st.setMiniprogramAppid(getAppId());
+                            st.setMiniprogramTitle("每日一享");
+                            st.setMiniprogramPage(linkByMiniApp);
+                            break;
+                        //素材分享
+                        case "17":
+                            linkByMiniApp = createPhoneNumberLinkByMiniApp(st,sopLogs, qwUser.getCorpId(), new Date(), param.getCourseId(), param.getVideoId(),
+                                    String.valueOf(qwUser.getId()), qwUser.getCompanyUserId().toString(), qwUser.getCompanyId().toString(), config,null);
+                            st.setMiniprogramAppid(getAppId());
+                            st.setMiniprogramTitle("领取开箱密码");
+                            st.setMiniprogramPage(linkByMiniApp);
+                            break;
 
                         case "21":
                             if (sopLogs.getFsUserId() != null && !Long.valueOf(0L).equals(sopLogs.getFsUserId())) {
@@ -1590,6 +1648,22 @@ public class SopUserLogsInfoServiceImpl implements ISopUserLogsInfoService {
                     st.setMiniprogramTitle("打卡文章");
                     st.setMiniprogramPage(linkByMiniApp);
                     break;
+                //素材分享
+                case "16":
+                    linkByMiniApp = createShareMaterialLinkByMiniApp(st,sopLogs, qwUser.getCorpId(), new Date(), param.getCourseId(), param.getVideoId(),
+                            String.valueOf(qwUser.getId()), qwUser.getCompanyUserId().toString(), qwUser.getCompanyId().toString(), config,null);
+                    st.setMiniprogramAppid(getAppId());
+                    st.setMiniprogramTitle("每日一享");
+                    st.setMiniprogramPage(linkByMiniApp);
+                    break;
+                //素材分享
+                case "17":
+                    linkByMiniApp = createPhoneNumberLinkByMiniApp(st,sopLogs, qwUser.getCorpId(), new Date(), param.getCourseId(), param.getVideoId(),
+                            String.valueOf(qwUser.getId()), qwUser.getCompanyUserId().toString(), qwUser.getCompanyId().toString(), config,null);
+                    st.setMiniprogramAppid(getAppId());
+                    st.setMiniprogramTitle("领取开箱密码");
+                    st.setMiniprogramPage(linkByMiniApp);
+                    break;
 
                 case "21":
                     if (sopLogs.getFsUserId() != null && !Long.valueOf(0L).equals(sopLogs.getFsUserId())) {
@@ -1993,5 +2067,76 @@ public class SopUserLogsInfoServiceImpl implements ISopUserLogsInfoService {
         return link.getRealLink();
     }
 
+    public String createShareMaterialLinkByMiniApp(QwSopCourseFinishTempSetting.Setting st, QwSopLogs sopLogs, String corpId, Date sendTime, Integer courseId, Integer videoId, String qwUserId, String companyUserId, String companyId,  CourseConfig config, String chatId) {
+        FsCourseLink link = createFsCourseLink(corpId, sendTime, courseId, videoId, Long.parseLong(qwUserId),
+                companyUserId, companyId, null, 3, chatId);
+
+        Date updateTime = createUpdateTime(st, sendTime, config);
+        link.setUpdateTime(updateTime);
+
+        FsCourseRealLink courseMap = new FsCourseRealLink();
+        BeanUtils.copyProperties(link, courseMap);
 
+        st.setExternalUserId(sopLogs.getExternalUserId());
+        st.setChatId(chatId);
+
+        st.setMiniprogramPicUrl(st.getShareMaterialUrl());
+        courseMap.setQwExternalId(sopLogs.getExternalId());
+        String realLinkFull = shareMaterialLink + JSON.toJSONString(courseMap);
+        link.setRealLink(realLinkFull);
+        log.error("存入fs_course_link:" + registeredRealLink );
+        log.error("QwSopCourseFinishTempSetting.Setting:{}" ,st );
+        //存短链-
+        fsCourseLinkMapper.insertFsCourseLink(link);
+        return link.getRealLink();
+    }
+
+    public String createPhoneNumberLinkByMiniApp(QwSopCourseFinishTempSetting.Setting st, QwSopLogs sopLogs, String corpId, Date sendTime, Integer courseId, Integer videoId, String qwUserId, String companyUserId, String companyId,  CourseConfig config, String chatId) {
+        FsCourseLink link = createFsCourseLink(corpId, sendTime, courseId, videoId, Long.parseLong(qwUserId),
+                companyUserId, companyId, null, 3, chatId);
+
+        Date updateTime = createUpdateTime(st, sendTime, config);
+        link.setUpdateTime(updateTime);
+
+        FsCourseRealLink courseMap = new FsCourseRealLink();
+        BeanUtils.copyProperties(link, courseMap);
+
+        st.setExternalUserId(sopLogs.getExternalUserId());
+        st.setChatId(chatId);
+
+        st.setMiniprogramPicUrl(st.getShareMaterialUrl());
+        courseMap.setQwExternalId(sopLogs.getExternalId());
+        String realLinkFull = phoneNumberLink + JSON.toJSONString(courseMap);
+        link.setRealLink(realLinkFull);
+        log.error("存入fs_course_link:" + registeredRealLink );
+        log.error("QwSopCourseFinishTempSetting.Setting:{}" ,st );
+        //存短链-
+        fsCourseLinkMapper.insertFsCourseLink(link);
+        return link.getRealLink();
+    }
+
+    /**
+     * 获取 appId 的私有方法
+     */
+    private String getAppId() {
+        try {
+            String configValue = sysConfigService.selectConfigByKey(APP_ID_CONFIG_KEY);
+            if (org.apache.commons.lang3.StringUtils.isNotEmpty(configValue)) {
+                JSONObject json = JSONUtil.parseObj(configValue);
+                String appId = json.getStr("appId");
+                if (org.apache.commons.lang3.StringUtils.isNotEmpty(appId)) {
+                    return appId;
+                } else {
+                    log.warn("配置 {} 中 appId 字段为空,使用默认值", APP_ID_CONFIG_KEY);
+                }
+            } else {
+                log.warn("未找到配置 {},使用默认值", APP_ID_CONFIG_KEY);
+            }
+        } catch (Exception e) {
+            log.error("解析 appId 配置异常,configValue={}",
+                    sysConfigService.selectConfigByKey(APP_ID_CONFIG_KEY), e);
+        }
+        //默认值
+        return DEFAULT_APP_ID;
+    }
 }