吴树波 6 dienas atpakaļ
vecāks
revīzija
c59dc7b04b

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

@@ -4,6 +4,7 @@ import com.fs.common.core.redis.RedisCache;
 import com.fs.common.utils.StringUtils;
 import com.fs.common.utils.date.DateUtil;
 import com.fs.course.config.CourseMaConfig;
+import com.fs.course.domain.FsCoursePlaySourceConfig;
 import com.fs.course.domain.FsCourseWatchLog;
 import com.fs.course.service.IFsCourseWatchLogService;
 import com.fs.ipad.IpadSendUtils;
@@ -42,15 +43,15 @@ public class IpadSendServer {
     private final IQwUserVideoService qwUserVideoService;
     private final RedisCache redisCache;
 
-    private void sendMiniProgram(BaseVo vo, QwSopCourseFinishTempSetting.Setting content, Map<String, CourseMaConfig> miniMap) {
-        CourseMaConfig courseMaConfig = miniMap.get(content.getMiniprogramAppid());
+    private void sendMiniProgram(BaseVo vo, QwSopCourseFinishTempSetting.Setting content, Map<String, FsCoursePlaySourceConfig> miniMap) {
+        FsCoursePlaySourceConfig courseMaConfig = miniMap.get(content.getMiniprogramAppid());
         // 小程序
         MiniProgramVo miniProgramVo = MiniProgramVo.builder()
                 .desc(content.getMiniprogramTitle())
                 .title(courseMaConfig.getName())
-                .weappIconUrl(courseMaConfig.getLog())
+                .weappIconUrl(courseMaConfig.getImg())
                 .imgUrl(content.getMiniprogramPicUrl())
-                .username(courseMaConfig.getUsername() + "@app")
+                .username(courseMaConfig.getOriginalId() + "@app")
                 .pagepath(content.getMiniprogramPage())
                 .appid(content.getMiniprogramAppid())
                 .build();
@@ -200,7 +201,6 @@ public class IpadSendServer {
                 updateQwUser.setRemark("AI未初始化");
                 updateQwUser.setIpadStatus(0);
                 qwUserMapper.updateById(updateQwUser);
-                qwUserService.atMsg(qwUser, "掉线提醒(未初始化)");
                 return false;
             }
             if (login.getLoginType() == 1) {
@@ -311,7 +311,7 @@ public class IpadSendServer {
         return true;
     }
 
-    public void send(QwSopCourseFinishTempSetting.Setting content, QwUser qwUser, QwSopLogs qwSopLogs, Map<String, CourseMaConfig> miniMap, BaseVo parentVo) {
+    public void send(QwSopCourseFinishTempSetting.Setting content, QwUser qwUser, QwSopLogs qwSopLogs, Map<String, FsCoursePlaySourceConfig> miniMap, BaseVo parentVo) {
         BaseVo vo = new BaseVo();
         vo.setId(Long.parseLong(qwSopLogs.getId()));
         vo.setRoom(qwSopLogs.getSendType() == 12);

+ 15 - 9
fs-ipad-task/src/main/java/com/fs/app/task/SendMsg.java

@@ -6,8 +6,11 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.fs.app.service.IpadSendServer;
 import com.fs.common.core.redis.RedisCacheT;
 import com.fs.common.utils.PubFun;
+import com.fs.company.service.ICompanyMiniappService;
 import com.fs.course.config.CourseConfig;
 import com.fs.course.config.CourseMaConfig;
+import com.fs.course.domain.FsCoursePlaySourceConfig;
+import com.fs.course.service.IFsCoursePlaySourceConfigService;
 import com.fs.ipad.vo.BaseVo;
 import com.fs.qw.domain.QwIpadServer;
 import com.fs.qw.domain.QwUser;
@@ -48,9 +51,10 @@ public class SendMsg {
     private final IpadSendServer sendServer;
     private final SysConfigMapper sysConfigMapper;
     private final IQwSopLogsService qwSopLogsService;
-    private final AsyncSopTestService asyncSopTestService;
     private final QwIpadServerMapper qwIpadServerMapper;
     private final RedisCacheT<Long> redisCache;
+    private final ICompanyMiniappService companyMiniappService;
+    private final IFsCoursePlaySourceConfigService fsCoursePlaySourceConfigService;
 
     @Value("${group-no}")
     private String groupNo;
@@ -61,15 +65,16 @@ public class SendMsg {
     @Qualifier("customThreadPool")
     private ThreadPoolTaskExecutor customThreadPool;
 
-    public SendMsg(QwUserMapper qwUserMapper, QwSopLogsMapper qwSopLogsMapper, IpadSendServer sendServer, SysConfigMapper sysConfigMapper, IQwSopLogsService qwSopLogsService, AsyncSopTestService asyncSopTestService, QwIpadServerMapper qwIpadServerMapper, RedisCacheT<Long> redisCache) {
+    public SendMsg(QwUserMapper qwUserMapper, QwSopLogsMapper qwSopLogsMapper, IpadSendServer sendServer, SysConfigMapper sysConfigMapper, IQwSopLogsService qwSopLogsService, QwIpadServerMapper qwIpadServerMapper, RedisCacheT<Long> redisCache, ICompanyMiniappService companyMiniappService, IFsCoursePlaySourceConfigService fsCoursePlaySourceConfigService) {
         this.qwUserMapper = qwUserMapper;
         this.qwSopLogsMapper = qwSopLogsMapper;
         this.sendServer = sendServer;
         this.sysConfigMapper = sysConfigMapper;
         this.qwSopLogsService = qwSopLogsService;
-        this.asyncSopTestService = asyncSopTestService;
         this.qwIpadServerMapper = qwIpadServerMapper;
         this.redisCache = redisCache;
+        this.companyMiniappService = companyMiniappService;
+        this.fsCoursePlaySourceConfigService = fsCoursePlaySourceConfigService;
     }
     private List<QwUser> getQwUserList() {
         if (qwUserList.isEmpty()) {
@@ -84,10 +89,11 @@ public class SendMsg {
         return qwUserList;
     }
 
-    private Map<String, CourseMaConfig> getMiniMap() {
-        SysConfig maConfig = sysConfigMapper.selectConfigByConfigKey("courseMa.config");
-        List<CourseMaConfig> courseMaConfigs = JSON.parseArray(maConfig.getConfigValue(), CourseMaConfig.class);
-        return PubFun.listToMapByGroupObject(courseMaConfigs, CourseMaConfig::getAppid);
+    private Map<String, FsCoursePlaySourceConfig> getMiniMap() {
+        List<FsCoursePlaySourceConfig> list = fsCoursePlaySourceConfigService.list(new QueryWrapper<FsCoursePlaySourceConfig>().eq("type", 1).eq("is_del", 0));
+//        SysConfig maConfig = sysConfigMapper.selectConfigByConfigKey("courseMa.config");
+//        List<CourseMaConfig> courseMaConfigs = JSON.parseArray(maConfig.getConfigValue(), CourseMaConfig.class);
+        return PubFun.listToMapByGroupObject(list, FsCoursePlaySourceConfig::getAppid);
     }
 
 
@@ -117,7 +123,7 @@ public class SendMsg {
             delayEnd = config.getDelayEnd();
         }
         // 小程序配置获取
-        Map<String, CourseMaConfig> miniMap = getMiniMap();
+        Map<String, FsCoursePlaySourceConfig> miniMap = getMiniMap();
         // 获取 pad 发送的企微
         getQwUserList().forEach(e -> {
             // 如果没有值就执行后面的方法 并且入值
@@ -148,7 +154,7 @@ public class SendMsg {
      * @param delayEnd   随机延迟 最大值
      * @param miniMap    小程序配置
      */
-    private void processUser(QwUser qwUser, int delayStart, int delayEnd, Map<String, CourseMaConfig> miniMap) {
+    private void processUser(QwUser qwUser, int delayStart, int delayEnd, Map<String, FsCoursePlaySourceConfig> miniMap) {
         long start1 = System.currentTimeMillis();
         // 获取当前企微待发送记录
         List<QwSopLogs> qwSopLogList = qwSopLogsMapper.selectByQwUserId(qwUser.getId());

+ 16 - 5
fs-qw-api-msg/src/main/java/com/fs/app/controller/QwMsgController.java

@@ -12,6 +12,7 @@ import com.fs.qw.domain.QwUser;
 import com.fs.qw.mapper.QwExternalContactMapper;
 import com.fs.qw.mapper.QwUserMapper;
 import com.fs.qw.service.IQwExternalContactService;
+import com.fs.qw.service.IQwUserService;
 import com.fs.qw.service.IQwUserVoiceLogService;
 import com.fs.sop.mapper.QwSopLogsMapper;
 import com.fs.sop.mapper.SopUserLogsInfoMapper;
@@ -45,6 +46,8 @@ public class QwMsgController {
     @Autowired
     WxWorkService wxWorkService;
     @Autowired
+    IQwUserService qwUserService;
+    @Autowired
     IQwUserVoiceLogService qwUserVoiceLogService;
     @Autowired
     IFsStoreOrderService fsStoreOrderService;
@@ -189,23 +192,27 @@ public class QwMsgController {
             case 100005:
 
                 log.info("手机端结束登录:"+wxWorkMsgResp.getJson());
-                qwUserStatus(wxWorkMsgResp.getUuid(),0);
+                JSONObject jsonObject1 = new JSONObject(wxWorkMsgResp.getJson());
+                qwUserStatus(wxWorkMsgResp.getUuid(),0, jsonObject1.getString("msg"));
                 break;
             case 100008:
                 QwUser vidUser = qwUserMapper.selectQwUserById(id);
                 if (vidUser.getUid().equals(wxWorkMsgResp.getUuid())){
                     log.info("当前账号在其他设备登录:"+wxWorkMsgResp.getJson());
-                    qwUserStatus(wxWorkMsgResp.getUuid(),0);
+                    JSONObject jsonObject2 = new JSONObject(wxWorkMsgResp.getJson());
+                    qwUserStatus(wxWorkMsgResp.getUuid(),0, jsonObject2.getString("msg"));
                 }
                 log.info("当前账号重新登录:"+wxWorkMsgResp.getJson());
                 break;
             case 100007:
                 log.info("异常断开:"+wxWorkMsgResp.getJson());
-                qwUserStatus(wxWorkMsgResp.getUuid(),0);
+                JSONObject jsonObject3 = new JSONObject(wxWorkMsgResp.getJson());
+                qwUserStatus(wxWorkMsgResp.getUuid(),0, "异常断开 - " + jsonObject3.getString("msg"));
                 break;
             case 100009:
                 log.info("二次验证:"+wxWorkMsgResp.getJson());
-                qwUserStatus(wxWorkMsgResp.getUuid(),0);
+                JSONObject jsonObject4 = new JSONObject(wxWorkMsgResp.getJson());
+                qwUserStatus(wxWorkMsgResp.getUuid(),0, "二次验证 - " + jsonObject4.getString("msg"));
                 break;
             case 102001:
             case 102002:
@@ -428,12 +435,16 @@ public class QwMsgController {
 
 
 
-    void qwUserStatus(String uid,Integer status){
+    void qwUserStatus(String uid, Integer status, String msg){
         Long id = redisCache.getCacheObject("qrCode:uuid:"+uid);
         QwUser qwUser = new QwUser();
         qwUser.setId(id);
         qwUser.setIpadStatus(status);
         qwUserMapper.updateQwUser(qwUser);
+        QwUser qwUser1 = qwUserMapper.selectQwUserById(id);
+        if(uid.equals(qwUser1.getUid())){
+            qwUserService.atMsg(qwUser1, "掉线提醒("+msg+")");
+        }
     }
 
 }