Ver código fonte

Merge remote-tracking branch 'origin/bjcz_his_scrm' into bjcz_his_scrm

xw 1 semana atrás
pai
commit
6206b16f96

+ 31 - 0
fs-company/src/main/java/com/fs/company/controller/qw/QwSopController.java

@@ -19,6 +19,7 @@ import com.fs.framework.service.TokenService;
 import com.fs.his.vo.OptionsVO;
 import com.fs.qw.domain.QwSopParam;
 import com.fs.qw.domain.QwSopUpdateStatus;
+import com.fs.qw.domain.QwUser;
 import com.fs.qw.service.IQwUserService;
 import com.fs.qw.vo.QwUserVO;
 import com.fs.sop.domain.QwSop;
@@ -40,6 +41,7 @@ import java.io.IOException;
 import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -447,4 +449,33 @@ public class QwSopController extends BaseController
         qwSopService.updateSkipSopJson(sopParamStr, param.getSopId());
         return R.ok();
 }
+
+    /**
+     * 一键群发获取企微sop语音列表
+     * @param chatIds
+     * @return
+     */
+    @GetMapping("/getVoiceList")
+    public TableDataInfo getVoiceList(@RequestParam("chatId") String chatIds){
+        String[] userIdArray = chatIds.split(",");
+        List<String> chatIdList = Arrays.asList(userIdArray);
+        List<Long> comPanyUserIdList = iQwUserService.selectByChatIdAndType(chatIdList);
+        List<QwSopTempVoice> list = voiceService.getVoiceListByCompanyUserIds(comPanyUserIdList);
+        return getDataTable(list);
+    }
+
+    /**
+     * SOP营期一键群发获取企微sop语音列表
+     * @param qwUserIds
+     * @param corpId
+     * @return
+     */
+    @GetMapping("/getVoiceListByQwUserIds")
+    public TableDataInfo getVoiceListByQwUserIds( @RequestParam("qwUserIds") String qwUserIds,
+                                                  @RequestParam("corpId") String corpId){
+        List<String> qwUserIdsList = JSON.parseArray(qwUserIds, String.class);
+        List<Long> comPanyUserIdList = iQwUserService.selectQwUserByIdsAndcorpId(qwUserIdsList,corpId);
+        List<QwSopTempVoice> list = voiceService.getVoiceListByCompanyUserIds(comPanyUserIdList);
+        return getDataTable(list);
+    }
 }

+ 4 - 0
fs-service/src/main/java/com/fs/qw/mapper/QwUserMapper.java

@@ -509,4 +509,8 @@ public interface QwUserMapper extends BaseMapper<QwUser>
 
     @Select("select * from qw_user where ipad_status = 1 and corp_id=#{corpId} and qw_user_id=#{qwUserId} limit 1 ")
     QwUser selectQwUserAppKeyAndIdByCorpIdAndUserIdAndIpad(@Param("corpId")String corpId,@Param("qwUserId") String qwUserId);
+
+    List<Long> selectByChatIdAndType(@Param("chatIdList")List<String> chatIdList);
+
+    List<Long> selectQwUserByIdsAndcorpId(@Param("qwUserIds")List<String> qwUserIds,@Param("corpId") String corpId);
 }

+ 2 - 0
fs-service/src/main/java/com/fs/qw/service/IQwUserService.java

@@ -207,5 +207,7 @@ public interface IQwUserService
     List<Long> selectQwUserListByCompanyUserIdS(List<String> userIds);
 
     R unbindQwUserByServerIds(List<String> serverIds);
+    List<Long> selectByChatIdAndType(List<String> chatIdList);
 
+    List<Long> selectQwUserByIdsAndcorpId(List<String> qwUserIds, String corpId);
 }

+ 11 - 0
fs-service/src/main/java/com/fs/qw/service/impl/QwUserServiceImpl.java

@@ -1688,4 +1688,15 @@ public class QwUserServiceImpl implements IQwUserService
         }
         return ""; // 如果没有扩展名,返回空字符串
     }
+
+    @Override
+    public List<Long> selectByChatIdAndType(List<String> chatIdList) {
+        return qwUserMapper.selectByChatIdAndType(chatIdList);
+    }
+
+    @Override
+    public List<Long> selectQwUserByIdsAndcorpId(List<String> qwUserIds, String corpId) {
+        return qwUserMapper.selectQwUserByIdsAndcorpId(qwUserIds, corpId);
+
+    }
 }

+ 2 - 0
fs-service/src/main/java/com/fs/sop/mapper/QwSopTempVoiceMapper.java

@@ -90,4 +90,6 @@ public interface QwSopTempVoiceMapper extends BaseMapper<QwSopTempVoice>{
     @DataSource(DataSourceType.SOP)
     List<QwSopTempVoice> selectQwSopTempVoiceNewList(QwSopTempVoice sopTempVoice);
 
+
+    List<QwSopTempVoice> getVoiceListByCompanyUserIds(@Param("comPanyUserIdList")List<Long> comPanyUserIdList);
 }

+ 3 - 0
fs-service/src/main/java/com/fs/sop/service/IQwSopTempVoiceService.java

@@ -89,4 +89,7 @@ public interface IQwSopTempVoiceService extends IService<QwSopTempVoice>{
     QwSopTempVoice selectQwSopTempVoiceByIdAndUserVoiceUrl(Long id);
 
     List<QwSopTempVoice> selectQwSopTempVoiceNewList(QwSopTempVoice sopTempVoice);
+
+
+    List<QwSopTempVoice> getVoiceListByCompanyUserIds(List<Long> comPanyUserIdList);
 }

+ 6 - 0
fs-service/src/main/java/com/fs/sop/service/impl/QwSopTempVoiceServiceImpl.java

@@ -330,4 +330,10 @@ public class QwSopTempVoiceServiceImpl extends ServiceImpl<QwSopTempVoiceMapper,
     public List<QwSopTempVoice> selectQwSopTempVoiceNewList(QwSopTempVoice sopTempVoice) {
         return qwSopTempVoiceMapper.selectQwSopTempVoiceNewList(sopTempVoice);
     }
+
+    @Override
+    @DataSource(DataSourceType.SOP)
+    public List<QwSopTempVoice> getVoiceListByCompanyUserIds(List<Long> comPanyUserIdList) {
+        return qwSopTempVoiceMapper.getVoiceListByCompanyUserIds(comPanyUserIdList);
+    }
 }

+ 18 - 0
fs-service/src/main/resources/mapper/qw/QwUserMapper.xml

@@ -330,5 +330,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
              #{serverId}
          </foreach>
     </select>
+    <select id="selectByChatIdAndType" resultType="java.lang.Long">
+        select distinct company_user_id
+        from qw_user qu
+        inner join qw_group_chat_user qgcu on qu.qw_user_id = qgcu.user_id
+        and qgcu.corp_id = qu.corp_id
+        where qgcu.type = '1'
+        and qgcu.chat_id in
+            <foreach item="chatId" collection="chatIdList" open="(" separator="," close=")">
+            #{chatId}
+        </foreach>
+    </select>
+    <select id="selectQwUserByIdsAndcorpId" resultType="java.lang.Long">
+        select distinct company_user_id from qw_user where id in
+        <foreach item="item" collection="qwUserIds" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+        and corp_id = #{corpId}
+    </select>
 
 </mapper>

+ 9 - 0
fs-service/src/main/resources/mapper/sop/QwSopTempVoiceMapper.xml

@@ -169,4 +169,13 @@
     <delete id="remove">
         delete from qw_sop_temp_voice a where a.temp_id = #{tempId} and a.day_id =#{dayId}
     </delete>
+
+    <select id="getVoiceListByCompanyUserIds" resultType="com.fs.sop.domain.QwSopTempVoice">
+        select *
+        from qw_sop_temp_voice
+        where company_user_id in
+        <foreach item="id" collection="comPanyUserIdList" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </select>
 </mapper>