Ver Fonte

添加微信小程序标签查询功能

xgb há 1 mês atrás
pai
commit
2829bcad4a

+ 3 - 0
fs-service/src/main/java/com/fs/company/mapper/CompanyTagMapper.java

@@ -82,4 +82,7 @@ public interface CompanyTagMapper
     Map<Long,CompanyTag> queryAllTagMap();
 
     List<CompanyTag> selectCompanyTagByList(@Param("params") Map<String, Object> params);
+
+    List<CompanyTag> selectCompanyTagByUserId(@Param("params") Map<String, Object> params);
+
 }

+ 25 - 17
fs-service/src/main/java/com/fs/his/service/impl/FsUserServiceImpl.java

@@ -1,16 +1,5 @@
 package com.fs.his.service.impl;
 
-import java.lang.reflect.Field;
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.math.RoundingMode;
-import java.time.LocalDateTime;
-import java.util.*;
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.ExecutionException;
-import java.util.function.Function;
-import java.util.stream.Collectors;
-
 import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
 import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
@@ -29,7 +18,10 @@ import com.fs.common.utils.ParseUtils;
 import com.fs.common.utils.StringUtils;
 import com.fs.company.cache.ICompanyTagCacheService;
 import com.fs.company.cache.ICompanyUserCacheService;
-import com.fs.company.domain.*;
+import com.fs.company.domain.Company;
+import com.fs.company.domain.CompanyTag;
+import com.fs.company.domain.CompanyTagUser;
+import com.fs.company.domain.CompanyUser;
 import com.fs.company.mapper.*;
 import com.fs.company.service.ICompanyTagService;
 import com.fs.course.domain.FsUserCompanyUser;
@@ -43,8 +35,6 @@ import com.fs.course.vo.newfs.FsCourseAnalysisVO;
 import com.fs.course.vo.newfs.FsUserCourseVideoPageListVO;
 import com.fs.his.config.IntegralConfig;
 import com.fs.his.domain.*;
-import com.fs.his.domain.FsUserAddress;
-import com.fs.his.domain.FsUserIntegralLogs;
 import com.fs.his.dto.FindUsersByDTO;
 import com.fs.his.enums.FsUserIntegralLogTypeEnum;
 import com.fs.his.mapper.*;
@@ -53,14 +43,14 @@ import com.fs.his.param.FsUserAddIntegralTemplateParam;
 import com.fs.his.param.FsUserParam;
 import com.fs.his.service.IFsUserIntegralLogsService;
 import com.fs.his.service.IFsUserProjectTagService;
+import com.fs.his.service.IFsUserService;
 import com.fs.his.service.IFsUserWxService;
-import com.fs.his.vo.FsUserVO;
 import com.fs.his.vo.FsUserExportListVO;
 import com.fs.his.vo.FsUserFollowDoctorVO;
+import com.fs.his.vo.FsUserVO;
 import com.fs.his.vo.UserVo;
 import com.fs.hisStore.domain.FsStoreOrderScrm;
 import com.fs.hisStore.domain.FsUserBillScrm;
-import com.fs.hisStore.domain.FsUserScrm;
 import com.fs.hisStore.enums.BillDetailEnum;
 import com.fs.hisStore.mapper.FsStoreOrderScrmMapper;
 import com.fs.hisStore.service.IFsUserBillScrmService;
@@ -90,10 +80,18 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import com.fs.his.service.IFsUserService;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.lang.reflect.Field;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.math.RoundingMode;
+import java.time.LocalDateTime;
+import java.util.*;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
 import static com.fs.his.utils.PhoneUtil.decryptPhoneMk;
 import static com.fs.his.utils.PhoneUtil.encryptPhone;
 import static com.fs.hisStore.enums.BillDetailEnum.CATEGORY_1;
@@ -707,6 +705,7 @@ public class FsUserServiceImpl implements IFsUserService {
                 if (fsUserCourseCount != null) {
                     item.setCourseCountStatus(fsUserCourseCount.getStatus());
                 }
+                // 企业微信标签
                 String userTagByUserId = companyTagCacheService
                         .findUserTagByUserId(item.getUserId(), item.getCompanyUserId());
                 if (StringUtils.isNotEmpty(userTagByUserId)) {
@@ -725,6 +724,15 @@ public class FsUserServiceImpl implements IFsUserService {
                     item.setTag(String.join(",", tagNames));
                 }
 
+                Map<String, Object> map = new HashMap<>();
+                map.put("userId", item.getUserId());
+                map.put("companyUserId", item.getCompanyUserId());
+                // 获取小程序标签
+                List<CompanyTag> companyTags = companyTagMapper.selectCompanyTagByUserId(map);
+                if (companyTags != null && companyTags.size() > 0) {
+                    item.setProjectTagName(companyTags.stream().map(CompanyTag::getTag).collect(Collectors.joining(",")));
+                }
+
                 // 是否宠粉
 //                Integer isRepeat = qwExternalContactCacheService.selectQwIsRepeat(item.getUserId());
 //                if(isRepeat != null) {

+ 3 - 0
fs-service/src/main/java/com/fs/store/vo/h5/FsUserPageListVO.java

@@ -73,6 +73,9 @@ public class FsUserPageListVO {
     @ApiModelProperty(value = "标签名称")
     private String tag;
 
+    @ApiModelProperty(value = "小程序标签")
+    private String projectTagName;
+
     @ApiModelProperty(value = "销售名称")
     private String companyUserNickName;
 

+ 16 - 0
fs-service/src/main/resources/mapper/company/CompanyTagMapper.xml

@@ -64,6 +64,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         select tag_id,tag from company_tag
     </select>
 
+
     <!-- 查询标签列表 -->
     <select id="selectCompanyTagByList" resultType="com.fs.company.domain.CompanyTag">
         select ct.* from company_tag ct
@@ -93,6 +94,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         group by ct.tag_id
     </select>
 
+    <!-- 查询用户标签 -->
+    <select id="selectCompanyTagByUserId" resultType="com.fs.company.domain.CompanyTag">
+        select ct.* from company_tag ct
+        inner join fs_user_project_tag ft on ct.tag_id =ft.tag_id
+        inner join fs_user_company_user fucu on fucu.id = ft.user_company_user_id
+        <where>
+            <if test="params.companyUserId != null">
+                and fucu.company_user_id = #{params.companyUserId}
+            </if>
+            <if test="params.userId != null">
+                and fucu.user_id = #{params.userId}
+            </if>
+        </where>
+    </select>
+
     <insert id="insertCompanyTag" parameterType="CompanyTag" useGeneratedKeys="true" keyProperty="tagId">
         insert into company_tag
         <trim prefix="(" suffix=")" suffixOverrides=",">