Sfoglia il codice sorgente

feat: 添加获取企业成员列表接口并优化联系方式日志查询

添加了获取企业成员列表的接口,并优化了联系方式日志查询功能。
- 增加了`QwContactWayLogsController.java`中的`getCompanyUserList`接口,用于获取企业成员列表。
- 增加了`IQwContactWayLogsService.java`和`QwContactWayLogsServiceImpl.java`中的相应实现。
- 修改了`QwUserMapper.xml`,增加了`getCompanyUserListByWxIdAndCorpId`查询语句。
- 修改了`QwContactWayLogsMapper.xml`, 优化了`selectQwContactWayLogsList`查询语句, 关联查询了企业用户和外部联系人信息.
- 优化了`QwContactWayServiceImpl.java`, 修改state的赋值.
吴树波 1 mese fa
parent
commit
3bb682b21b

+ 1 - 10
fs-admin/src/main/java/com/fs/core/config/DataSourceConfig.java

@@ -34,23 +34,14 @@ public class DataSourceConfig {
         return new DruidDataSource();
     }
 
-    @Bean
-    @ConfigurationProperties(prefix = "spring.datasource.mysql.druid.slave")
-    public DataSource slaveDataSource() {
-        return new DruidDataSource();
-    }
-
-
 
     @Bean
     @Primary
     public DynamicDataSource dataSource(@Qualifier("masterDataSource") DataSource masterDataSource,
-                                        @Qualifier("sopDataSource") DataSource sopDataSource,
-                                        @Qualifier("slaveDataSource") DataSource slaveDataSource) {
+                                        @Qualifier("sopDataSource") DataSource sopDataSource) {
         Map<Object, Object> targetDataSources = new HashMap<>();
         targetDataSources.put(DataSourceType.MASTER.name(), masterDataSource);
 
-        targetDataSources.put(DataSourceType.SLAVE.name(), slaveDataSource);
         targetDataSources.put(DataSourceType.SOP.name(), sopDataSource);
         return new DynamicDataSource(masterDataSource, targetDataSources);
     }

+ 5 - 0
fs-company/src/main/java/com/fs/qw/QwContactWayController.java

@@ -152,4 +152,9 @@ public class QwContactWayController extends BaseController
         List<OptionsVO> list = qwInformationService.selectQwInformationListOptionsVO();
         return R.ok().put("data",list);
     }
+    @GetMapping("/qwWayLogsList")
+    public R qwWayLogsList(){
+        List<OptionsVO> list = qwInformationService.selectQwInformationListOptionsVO();
+        return R.ok().put("data",list);
+    }
 }

+ 8 - 0
fs-company/src/main/java/com/fs/qw/QwContactWayLogsController.java

@@ -3,6 +3,7 @@ package com.fs.qw;
 import com.fs.common.annotation.Log;
 import com.fs.common.core.controller.BaseController;
 import com.fs.common.core.domain.AjaxResult;
+import com.fs.common.core.domain.R;
 import com.fs.common.core.page.TableDataInfo;
 import com.fs.common.enums.BusinessType;
 import com.fs.common.utils.poi.ExcelUtil;
@@ -94,4 +95,11 @@ public class QwContactWayLogsController extends BaseController
     {
         return toAjax(qwContactWayLogsService.deleteQwContactWayLogsByIds(ids));
     }
+    /**
+     * 删除联系我日志
+     */
+	@GetMapping("/getCompanyUserList")
+    public R getCompanyUserList(Long id){
+        return R.ok().put("data", qwContactWayLogsService.getCompanyUserList(id));
+    }
 }

+ 5 - 0
fs-service-system/src/main/java/com/fs/qw/domain/QwContactWayLogs.java

@@ -48,4 +48,9 @@ public class QwContactWayLogs extends BaseEntity
 
     private String corpId;
     private Long informationId;
+    private String name;
+    private String nickName;
+    private String avatar;
+    private Integer gender;
+    private Integer isRepeat;
 }

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

@@ -356,4 +356,6 @@ public interface QwUserMapper extends BaseMapper<QwUser>
             "</foreach> " +
             "</script>")
     public List<QwUserVO> getQwUserByIdsNoCropId(@Param("qwUserIds") List<String> qwUserIds);
+
+    List<QwUser> getCompanyUserListByWxIdAndCorpId(@Param("ids") List<String> ids, @Param("corpId") String corpId);
 }

+ 4 - 0
fs-service-system/src/main/java/com/fs/qw/service/IQwContactWayLogsService.java

@@ -1,6 +1,8 @@
 package com.fs.qw.service;
 
+import com.fs.his.vo.OptionsVO;
 import com.fs.qw.domain.QwContactWayLogs;
+import com.fs.qw.domain.QwUser;
 
 import java.util.List;
 
@@ -59,4 +61,6 @@ public interface IQwContactWayLogsService
      * @return 结果
      */
     public int deleteQwContactWayLogsById(Long id);
+
+    List<QwUser> getCompanyUserList(Long id);
 }

+ 19 - 0
fs-service-system/src/main/java/com/fs/qw/service/impl/QwContactWayLogsServiceImpl.java

@@ -1,12 +1,20 @@
 package com.fs.qw.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.fs.common.utils.DateUtils;
+import com.fs.company.mapper.CompanyUserMapper;
+import com.fs.his.vo.OptionsVO;
+import com.fs.qw.domain.QwContactWay;
 import com.fs.qw.domain.QwContactWayLogs;
+import com.fs.qw.domain.QwUser;
 import com.fs.qw.mapper.QwContactWayLogsMapper;
+import com.fs.qw.mapper.QwContactWayMapper;
+import com.fs.qw.mapper.QwUserMapper;
 import com.fs.qw.service.IQwContactWayLogsService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Collections;
 import java.util.List;
 
 /**
@@ -20,6 +28,10 @@ public class QwContactWayLogsServiceImpl implements IQwContactWayLogsService
 {
     @Autowired
     private QwContactWayLogsMapper qwContactWayLogsMapper;
+    @Autowired
+    private QwContactWayMapper qwContactWayMapper;
+    @Autowired
+    private QwUserMapper qwUserMapper;
 
     /**
      * 查询联系我日志
@@ -93,4 +105,11 @@ public class QwContactWayLogsServiceImpl implements IQwContactWayLogsService
     {
         return qwContactWayLogsMapper.deleteQwContactWayLogsById(id);
     }
+
+    @Override
+    public List<QwUser> getCompanyUserList(Long id) {
+        QwContactWay qwContactWay = qwContactWayMapper.selectQwContactWayById(id);
+        List<String> ids = JSON.parseArray(qwContactWay.getUserIds(), String.class);
+        return qwUserMapper.getCompanyUserListByWxIdAndCorpId(ids, qwContactWay.getCorpId());
+    }
 }

+ 1 - 1
fs-service-system/src/main/java/com/fs/qw/service/impl/QwContactWayServiceImpl.java

@@ -171,7 +171,7 @@ public class QwContactWayServiceImpl implements IQwContactWayService
         QwUpdateContactWayParam qwUpdateContactWayParam = new QwUpdateContactWayParam();
         qwUpdateContactWayParam.setConfig_id(qwContactWay.getConfigId());
         qwUpdateContactWayParam.setUser(users);
-        qwUpdateContactWayParam.setState("way:"+qwContactWay.getCompanyId()+":"+qwContactWay.getId());
+        qwUpdateContactWayParam.setState("way:"+qwContactWay.getCorpId()+":"+qwContactWay.getId());
         qwUpdateContactWayParam.setRemark(qwContactWay.getRemark());
         qwUpdateContactWayParam.setSkip_verify(qwContactWay.getSkipVerify()==1?true:false);
         if (qwContactWay.getIsWelcome()!=null&&qwContactWay.getIsWelcome()==1){

+ 18 - 11
fs-service-system/src/main/resources/mapper/qw/QwContactWayLogsMapper.xml

@@ -22,18 +22,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         select id, way_id,information_id, user_id, company_user_id, type, msg, external_user_id, company_id, create_time,corp_id from qw_contact_way_logs
     </sql>
 
-    <select id="selectQwContactWayLogsList" parameterType="QwContactWayLogs" resultMap="QwContactWayLogsResult">
-        <include refid="selectQwContactWayLogsVo"/>
+    <select id="selectQwContactWayLogsList" parameterType="QwContactWayLogs" resultType="QwContactWayLogs">
+        select a.*,b.name,b.avatar,b.gender,b.is_repeat,c.nick_name from qw_contact_way_logs a
+        inner join qw_external_contact b on a.external_user_id = b.id
+        inner join company_user c on b.company_user_id = c.user_id
         <where>
-            <if test="wayId != null "> and way_id = #{wayId}</if>
-            <if test="userId != null "> and user_id = #{userId}</if>
-            <if test="companyUserId != null "> and company_user_id = #{companyUserId}</if>
-            <if test="type != null "> and type = #{type}</if>
-            <if test="msg != null  and msg != ''"> and msg = #{msg}</if>
-            <if test="corpId != null "> and corp_id = #{corpId}</if>
-            <if test="externalUserId != null "> and external_user_id = #{externalUserId}</if>
-            <if test="companyId != null "> and company_id = #{companyId}</if>
-            <if test="createTime != null "> and create_time = #{createTime}</if>
+            <if test="wayId != null "> and a.way_id = #{wayId}</if>
+            <if test="userId != null "> and a.user_id = #{userId}</if>
+            <if test="companyUserId != null "> and b.company_user_id = #{companyUserId}</if>
+            <if test="type != null "> and a.type = #{type}</if>
+            <if test="msg != null  and msg != ''"> and a.msg = #{msg}</if>
+            <if test="corpId != null "> and a.corp_id = #{corpId}</if>
+            <if test="externalUserId != null "> and a.external_user_id = #{externalUserId}</if>
+            <if test="companyId != null "> and a.company_id = #{companyId}</if>
+            <if test="beginTime != null"><!-- 开始时间检索 -->
+                AND date_format(a.create_time,'%y%m%d') &gt;= date_format(#{beginTime},'%y%m%d')
+            </if>
+            <if test="endTime != null"><!-- 结束时间检索 -->
+                AND date_format(a.create_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
+            </if>
         </where>
     </select>
 

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

@@ -180,4 +180,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             #{userId}
         </foreach>
     </select>
+
+    <select id="getCompanyUserListByWxIdAndCorpId" resultType="com.fs.qw.domain.QwUser">
+        select * from qw_user where corp_id = #{corpId} and qw_user_id in <foreach collection="ids" open="(" separator="," close=")" item="item">#{item}</foreach>
+    </select>
 </mapper>