Quellcode durchsuchen

今正需求/侧边栏打标签

三七 vor 5 Tagen
Ursprung
Commit
e29eddbf30

+ 10 - 2
fs-admin/src/main/java/com/fs/qw/controller/QwUserController.java

@@ -126,8 +126,8 @@ public class QwUserController extends BaseController {
      * 查询企微员工列表
      */
     @PreAuthorize("@ss.hasPermi('qw:user:staffListPost')")
-    @PostMapping("/staffListPost")
-    public TableDataInfo staffListPost(@RequestBody QwUserListParam qwUser) {
+    @GetMapping("/staffListPost")
+    public TableDataInfo staffListPost(QwUserListParam qwUser) {
         // 添加企微部门查询条件
         Long deptId = qwUser.getDeptId();
         if(deptId!=null && qwUser.getCorpId()!=null){
@@ -588,6 +588,14 @@ public class QwUserController extends BaseController {
         List<QwOptionsVO> list = qwUserService.selectQwCompanyListOptionsVOByCompanyId(companyId);
         return  R.ok().put("data",list);
     }
+
+    @GetMapping("/getQwCompanyList")
+    public R getQwCompanyList()
+    {
+        List<QwOptionsVO> list = qwUserService.selectQwCompanyListOptionsVOAll();
+        return  R.ok().put("data",list);
+    }
+
     /**
      * 获取企微用户详细信息
      */

+ 34 - 0
fs-qwhook-sop/src/main/java/com/fs/app/controller/ApisQwUserController.java

@@ -1,6 +1,7 @@
 package com.fs.app.controller;
 
 import com.fs.app.params.LoginBindCompanyParam;
+import com.fs.common.BeanCopyUtils;
 import com.fs.common.annotation.Log;
 import com.fs.common.core.controller.BaseController;
 import com.fs.common.core.domain.R;
@@ -17,13 +18,18 @@ import com.fs.company.service.ICompanyService;
 import com.fs.company.service.ICompanyUserService;
 import com.fs.course.param.FsCourseListBySidebarParam;
 import com.fs.qw.domain.QwExternalContactInfo;
+import com.fs.qw.domain.QwTagGroup;
 import com.fs.qw.domain.QwUser;
 import com.fs.qw.param.ExternalContactDetailsParam;
 import com.fs.qw.param.QwExtCourseSopWatchLog;
+import com.fs.qw.param.sidebar.TagGroupListParam;
+import com.fs.qw.param.sidebar.TagGroupUpdateParam;
 import com.fs.qw.service.IQwExternalContactInfoService;
 import com.fs.qw.service.IQwExternalContactService;
+import com.fs.qw.service.IQwTagGroupService;
 import com.fs.qw.vo.ExternalContactDetailsVO;
 import com.fs.qw.vo.QwExternalListByHeavyVO;
+import com.fs.qw.vo.QwTagGroupListVO;
 import com.fs.sop.service.ISopUserLogsInfoService;
 import com.fs.sop.vo.ExtCourseSopWatchLogVO;
 import com.github.pagehelper.PageHelper;
@@ -67,6 +73,9 @@ public class ApisQwUserController extends BaseController {
     @Autowired
     ICompanyPostService postService;
 
+    @Autowired
+    private IQwTagGroupService qwTagGroupService;
+
 
     @GetMapping("/details")
     @ApiOperation("会员看课详情")
@@ -188,4 +197,29 @@ public class ApisQwUserController extends BaseController {
         }
     }
 
+
+    @GetMapping("/tagGroupList")
+    @ApiOperation("获取所有标签组和其下标签")
+    public R getTagGroupList(TagGroupListParam param) {
+        QwTagGroup qwTagGroup = new QwTagGroup();
+        BeanCopyUtils.copy(param, qwTagGroup);
+        qwTagGroup.setName(param.getTagName());
+
+        PageHelper.startPage(qwTagGroup.getPageNum(), qwTagGroup.getPageSize());
+        List<QwTagGroupListVO> list = qwTagGroupService.selectQwGroupTagList(qwTagGroup);
+
+        PageInfo<QwTagGroupListVO> result = new PageInfo<>(list);
+        return R.ok().put("data", result);
+    }
+
+    @PutMapping("/externalContact/tag")
+    @ApiOperation("编辑标签")
+    public R updateExternalContactTag(@RequestBody TagGroupUpdateParam param) {
+        int i = qwExternalContactService.updateExternalContactTag(param);
+        if (i > 0) {
+            return R.ok();
+        }
+        return R.error();
+    }
+
 }

+ 0 - 7
fs-qwhook-sop/src/main/java/com/fs/app/controller/QwUserController.java

@@ -167,13 +167,6 @@ public class QwUserController extends BaseController {
         return R.ok().put("data", result);
     }
 
-//    @GetMapping("/searchTags")
-//    @ApiOperation("搜索标签-跟管理端保持一致")
-//    public R searchTagList(QwTagParam param) {
-//        List<QwTagGroupListVO> list = qwTagService.searchTags(param);
-//        return R.ok().put("data", list);
-//    }
-
     @PutMapping("/externalContact/tag")
     @ApiOperation("编辑标签")
     public R updateExternalContactTag(@RequestBody TagGroupUpdateParam param) {

+ 0 - 7
fs-qwhook/src/main/java/com/fs/app/controller/ApisQwUserController.java

@@ -193,13 +193,6 @@ public class ApisQwUserController extends BaseController {
         return R.ok().put("data", result);
     }
 
-//    @GetMapping("/searchTags")
-//    @ApiOperation("搜索标签-跟管理端保持一致")
-//    public R searchTagList(QwTagParam param) {
-//        List<QwTagGroupListVO> list = qwTagService.searchTags(param);
-//        return R.ok().put("data", list);
-//    }
-
     @PutMapping("/externalContact/tag")
     @ApiOperation("编辑标签")
     public R updateExternalContactTag(@RequestBody TagGroupUpdateParam param) {

+ 0 - 6
fs-qwhook/src/main/java/com/fs/app/controller/QwUserController.java

@@ -169,12 +169,6 @@ public class QwUserController extends BaseController {
         return R.ok().put("data", result);
     }
 
-//    @GetMapping("/searchTags")
-//    @ApiOperation("搜索标签-跟管理端保持一致")
-//    public R searchTagList(QwTagParam param) {
-//        List<QwTagGroupListVO> list = qwTagService.searchTags(param);
-//        return R.ok().put("data", list);
-//    }
 
     @PutMapping("/externalContact/tag")
     @ApiOperation("编辑标签")

+ 3 - 0
fs-service/src/main/java/com/fs/course/mapper/FsUserCourseMapper.java

@@ -142,6 +142,9 @@ public interface FsUserCourseMapper
             "<if test = ' maps.subCateId !=null '> " +
             "and c.sub_cate_id =#{maps.subCateId}" +
             "</if>" +
+            "<if test = ' maps.courseId !=null '> " +
+            "and c.course_id =#{maps.courseId}" +
+            "</if>" +
             "<if test = ' maps.userId !=null '> " +
             "and c.user_id =#{maps.userId}" +
             "</if>" +

+ 3 - 0
fs-service/src/main/java/com/fs/course/mapper/FsUserCourseVideoMapper.java

@@ -92,6 +92,9 @@ public interface FsUserCourseVideoMapper extends BaseMapper<FsUserCourseVideo> {
             "<if test = ' maps.userId!=null and maps.userId != \"\" '> " +
             "and v.user_id = #{maps.userId} " +
             "</if>" +
+            "<if test = ' maps.videoId!=null and maps.videoId != \"\" '> " +
+            "and v.video_id = #{maps.videoId} " +
+            "</if>" +
             " order by v.course_sort  " +
             "</script>"})
     List<FsUserCourseVideo> selectFsUserCourseVideoListByCourseId(@Param("maps") FsUserCourseVideo fsUserCourseVideo);

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

@@ -304,7 +304,7 @@ public interface QwUserMapper extends BaseMapper<QwUser>
     @Select("select corp_id as dictValue,corp_name as dictLabel,corp_id,corp_name from qw_company where FIND_IN_SET(#{companyId},company_ids)")
     List<QwOptionsVO> selectQwCompanyListOptionsVOByCompanyId(Long companyId);
 
-    @Select("select corp_id as dictValue,corp_name as dictLabel from qw_company where status=1")
+    @Select("select corp_id as dictValue,corp_name as dictLabel,corp_id,corp_name from qw_company where status=1")
     List<QwOptionsVO> selectQwCompanyListOptionsVOAll();
 
     @Select("select  *  from qw_user where qw_hook_id=#{qwHookId} ")

+ 2 - 0
fs-service/src/main/java/com/fs/qw/param/sidebar/TagGroupListParam.java

@@ -20,5 +20,7 @@ public class TagGroupListParam {
     @ApiModelProperty(value = "标签名称")
     private String tagName;
 
+    private String corpId;
+
 
 }

+ 49 - 1
fs-service/src/main/java/com/fs/qw/service/impl/QwExternalContactServiceImpl.java

@@ -5795,7 +5795,55 @@ public class QwExternalContactServiceImpl extends ServiceImpl<QwExternalContactM
         QwExternalContact qwExternalContact = qwExternalContactMapper.selectQwExternalContactById(param.getQwExternalContactId());
         if(qwExternalContact != null){
             qwExternalContact.setTagIds(JSONUtil.toJsonStr(param.getTagIds()));
-            return qwExternalContactMapper.updateQwExternalContact(qwExternalContact);
+            LocalDate currentDate = LocalDate.now();
+            // 获取当前系统时间 (HH:mm)
+            LocalTime localTime = LocalTime.now();
+
+            QwEditUserTagParam qwEditUserTagParam = new QwEditUserTagParam();
+            qwEditUserTagParam.setAdd_tag(param.getTagIds());
+            qwEditUserTagParam.setUserid(qwExternalContact.getUserId());
+            qwEditUserTagParam.setExternal_userid(qwExternalContact.getExternalUserId());
+
+            QwResult qwResult = qwApiService.editUserTag(qwEditUserTagParam, qwExternalContact.getCorpId());
+            if (qwResult.getErrcode() == 0) {
+                // 处理标签
+                String tagIds = qwExternalContact.getTagIds();
+                Set<String> uniqueIds = new HashSet<>();
+
+                if (tagIds != null && !tagIds.isEmpty()) {
+                    List<String> parsedTags = JSON.parseArray(tagIds, String.class);
+                    if (parsedTags != null && !parsedTags.isEmpty()) {
+                        uniqueIds.addAll(parsedTags);
+                    }
+                }
+
+                if (param.getTagIds() != null && !param.getTagIds().isEmpty()) {
+                    uniqueIds.addAll(param.getTagIds());
+                }
+
+                QwExternalContact qwExternal = new QwExternalContact();
+                qwExternal.setTagIds(JSON.toJSONString(uniqueIds));
+                qwExternal.setId(qwExternalContact.getId());
+
+                List<String> tagIdsList = new ArrayList<>();
+                if (qwExternal.getTagIds() != null && !qwExternal.getTagIds().isEmpty()) {
+                    tagIdsList = JSON.parseArray(qwExternal.getTagIds(), String.class);
+                }
+
+                logger.info("侧边栏客户修改标签addUserTag:" + qwExternalContact.getName() +
+                        "|公司" + qwExternalContact.getCorpId() +
+                        "|员工" + qwExternalContact.getUserId() +
+                        "|总标签" + tagIdsList);
+
+                // 插件sop处理
+                processTagsAll(qwExternalContact, qwExternalContact.getCorpId(),
+                        tagIdsList, currentDate, localTime);
+
+                return qwExternalContactMapper.updateQwExternalContact(qwExternalContact);
+
+            } else {
+               return 0;
+            }
         }
         return 0;
     }

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

@@ -263,7 +263,7 @@ public class QwTagGroupServiceImpl implements IQwTagGroupService {
         for (QwTagGroupListVO qwTagGroupListVO : vo) {
             QwTag qwTag = new QwTag();
             qwTag.setGroupId(qwTagGroupListVO.getGroupId());
-            qwTag.setCompanyId(qwTagGroupListVO.getCompanyId());
+            qwTag.setCorpId(qwTagGroupListVO.getCorpId());
             qwTag.setName(qwTagGroup.getName());
             List<QwTagVO> qwTags = qwTagMapper.selectQwTagListVO(qwTag);
             qwTagGroupListVO.setTag(qwTags);

+ 4 - 1
fs-service/src/main/resources/mapper/qw/QwTagGroupMapper.xml

@@ -99,9 +99,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </delete>
 
     <select id="selectQwTagGroups" resultType="com.fs.qw.vo.QwTagGroupListVO">
-        select * from qw_tag_group  where group_id in (
+        select * from qw_tag_group  where  corp_id=#{corpId} and group_id in (
             select DISTINCT group_id from qw_tag
      <where>
+         <if test="corpId != null and corpId != '' ">
+             and corp_id=#{corpId}
+         </if>
         <if test="name != null and name != '' ">
          and name like concat( '%', #{name}, '%')
         </if>