Explorar o código

Merge remote-tracking branch 'origin/企微聊天' into 企微聊天

ct hai 2 semanas
pai
achega
ec562c3a13

+ 25 - 0
fs-company/src/main/java/com/fs/company/controller/qw/QwUserController.java

@@ -28,6 +28,7 @@ import com.fs.framework.security.LoginUser;
 import com.fs.framework.service.TokenService;
 import com.fs.qw.domain.QwExternalContact;
 import com.fs.qw.domain.QwUser;
+import com.fs.qw.domain.QwUserGroup;
 import com.fs.qw.mapper.QwCompanyMapper;
 import com.fs.qw.mapper.QwExternalContactMapper;
 import com.fs.qw.param.*;
@@ -952,4 +953,28 @@ public class QwUserController extends BaseController
         List<QwUserVO> list = qwUserService.selectQwUserListByCompanyIdAndCorpIdAndNickName(companyId, corpId, nickName);
         return getDataTable(list);
     }
+
+    @PostMapping("/addQwUserGroup")
+    public R addQwUserGroup(@RequestBody QwUserGroup qwUserGroup){
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        qwUserGroup.setCompanyId(loginUser.getCompany().getCompanyId());
+        return qwUserService.addQwUserGroup(qwUserGroup);
+    }
+
+
+    @GetMapping("/qwUserGrouplist")
+    public TableDataInfo qwUserGrouplist(QwUserListParam qwUser)
+    {
+        startPage();
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        qwUser.setCompanyId(loginUser.getCompany().getCompanyId());
+        List<QwUserGroup> list = qwUserService.grouplist(qwUser);
+        return getDataTable(list);
+    }
+
+    @PostMapping("/getQwUser")
+    public R getQwUser(@RequestBody QwUserGroup qwUserGroup)
+    {
+      return qwUserService.getQwUser(qwUserGroup.getQwUserKey());
+    }
 }

+ 49 - 0
fs-service/src/main/java/com/fs/qw/domain/QwUserGroup.java

@@ -0,0 +1,49 @@
+package com.fs.qw.domain;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Getter
+@Setter
+@TableName("qw_user_group")
+public class QwUserGroup implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+    @TableId
+    private Long groupId;
+
+    /**
+     * 员工组名称
+     */
+    private String groupName;
+
+    /**
+     * 公司id
+     */
+    private Long companyId;
+
+    /**
+     * qw_user的主键id (多个id用;分割)
+     */
+    private String qwUserId;
+
+    private LocalDateTime createTime;
+
+    private LocalDateTime updateTime;
+
+    private String qwUserName;
+    private String qwUserKey;
+
+    private String userIds;
+
+
+}

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

@@ -1,8 +1,10 @@
 package com.fs.qw.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fs.common.core.domain.R;
 import com.fs.course.param.FsCourseListBySidebarParam;
 import com.fs.qw.domain.QwUser;
+import com.fs.qw.domain.QwUserGroup;
 import com.fs.qw.domain.QwWorkTask;
 import com.fs.qw.dto.QwUserByToolDTO;
 import com.fs.qw.dto.QwUserDTO;
@@ -517,4 +519,14 @@ 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);
+
+    int addQwUserGroup(QwUserGroup qwUserGroup);
+
+    List<QwUserGroup> grouplist(QwUserListParam qwUser);
+
+
+    List<String> getNameById(@Param("group") QwUserGroup qwUserGroup,@Param("list") List<String> userIds);
+
+
+    List<QwUser> getQwUser(List<String> list);
 }

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

@@ -2,6 +2,7 @@ package com.fs.qw.service;
 
 import com.fs.common.core.domain.R;
 import com.fs.qw.domain.QwUser;
+import com.fs.qw.domain.QwUserGroup;
 import com.fs.qw.domain.QwWorkTask;
 import com.fs.qw.dto.QwUserKeyDTO;
 import com.fs.qw.param.*;
@@ -217,5 +218,12 @@ public interface IQwUserService
     List<Long> selectQwUserListByCompanyUserIdS(List<String> userIds);
 
     R unbindQwUserByServerIds(List<String> serverIds);
+    /**
+     * 新增员工组
+     */
+    R addQwUserGroup(QwUserGroup qwUserGroup);
+
+    List<QwUserGroup> grouplist(QwUserListParam qwUser);
 
+    R getQwUser(String qwUserKey);
 }

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

@@ -59,12 +59,14 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.EnableAsync;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
 
 import java.io.*;
 import java.net.URL;
 import java.security.KeyFactory;
 import java.security.PrivateKey;
 import java.security.spec.PKCS8EncodedKeySpec;
+import java.time.LocalDateTime;
 import java.util.*;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
@@ -1625,6 +1627,30 @@ public class QwUserServiceImpl implements IQwUserService
         return R.ok();
     }
 
+
+    /**
+     * 新增员工组
+     */
+    @Override
+    public R addQwUserGroup(QwUserGroup qwUserGroup) {
+        qwUserGroup.setCreateTime(LocalDateTime.now());
+        int count = qwUserMapper.addQwUserGroup(qwUserGroup);
+        return count > 0 ? R.ok() : R.error();
+    }
+
+    @Override
+    public List<QwUserGroup> grouplist(QwUserListParam qwUser) {
+        List<QwUserGroup> grouplist = qwUserMapper.grouplist(qwUser);
+        return grouplist;
+    }
+
+    @Override
+    public R getQwUser(String qwUserKey) {
+        List<String> list = Arrays.asList(qwUserKey.split(","));
+        List<QwUser> qwUserList = qwUserMapper.getQwUser(list);
+        return R.ok().put("data", qwUserList);
+    }
+
     /**
      * 根据销售公司和企微ID查询企微用户
      */

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

@@ -151,6 +151,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
          </trim>
     </insert>
 
+    <insert id="addQwUserGroup">
+        INSERT INTO qw_user_group (`group_name`, `company_id`, `qw_user_id`, `create_time`, `qw_user_name`,`qw_user_key`)
+        VALUES
+            (#{groupName}, #{companyId}, #{userIds}, #{createTime}, #{qwUserName},#{qwUserKey});
+    </insert>
+
     <update id="updateQwUser" parameterType="QwUser">
         update qw_user
         <trim prefix="SET" suffixOverrides=",">
@@ -338,4 +344,32 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
          </foreach>
     </select>
 
+    <select id="grouplist" resultType="com.fs.qw.domain.QwUserGroup">
+        SELECT * FROM `qw_user_group` WHERE company_id = #{companyId}
+    </select>
+
+    <select id="getNameById" resultType="java.lang.String">
+        SELECT qw_user_name
+        FROM qw_user
+        <where>
+            company_id = #{group.companyId}
+            <if test="list != null and list.size() > 0">
+                AND qw_user_id IN
+                <foreach collection="list" item="userId" open="(" separator="," close=")">
+                    #{userId}
+                </foreach>
+            </if>
+        </where>
+    </select>
+
+    <select id="getQwUser" resultType="com.fs.qw.domain.QwUser">
+        SELECT * FROM `qw_user`
+        where
+        id in
+        <foreach collection="list" item="id" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </select>
+
+
 </mapper>