diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCUserTags.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCUserTags.java index 17ab259a0..0740e4022 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCUserTags.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCUserTags.java @@ -1,5 +1,6 @@ package com.iformall.domain.po; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.iformall.domain.po.base.BaseTenantEntity; import lombok.Data; @@ -16,6 +17,8 @@ public class WxCUserTags extends BaseTenantEntity { @io.swagger.annotations.ApiModelProperty(value="c端用户id",name="userId") private Long userId; + @TableField(exist = false) + private List userIds; @io.swagger.annotations.ApiModelProperty(value="",name="tags") private String tags; @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java index a9949651c..545989fee 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java @@ -53,6 +53,8 @@ public interface WxCUserBasicInfoMapper extends CommonMapper findCountHistory1(@Param("tenantInfo")TenantEntity tenantInfo,@Param("basicInfo")WxCUserBasicInfoDto dto); List findVoList(WxCUserBasicInfo wxCUserBasicInfo); + List findVoIdsList(WxCUserBasicInfo wxCUserBasicInfo); + List findVoList1(@Param("tenantInfo")TenantEntity tenantInfo, @Param("basicInfo")WxCUserBasicInfo basicInfo); Integer countVoList(WxCUserBasicInfo wxCUserBasicInfo); diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCUserTagsMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCUserTagsMapper.java index 98c0a668d..4fc38952d 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCUserTagsMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCUserTagsMapper.java @@ -2,6 +2,7 @@ package com.iformall.mapper; import java.util.Date; import java.util.List; +import java.util.Map; import com.iformall.common.CommonMapper; import com.iformall.domain.po.WxCUserTags; @@ -16,4 +17,6 @@ public interface WxCUserTagsMapper extends CommonMapper { @Param("startTime")Date startTime,@Param("endTime")Date endTime); void updateNewId(CUserTagNewIdVo record); + + Map findUserTagsMap(WxCUserTags wxCUserTags); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java index 16abac583..c7091069f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java @@ -1220,21 +1220,42 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService,IExc @Override public List selectListForExcelExport(Object queryParams, int page) { - Map params = (Map) queryParams; - WxCUserBasicInfo basicInfo = (WxCUserBasicInfo) params.get("basicInfo"); - TenantEntity tenantInfo = (TenantEntity) params.get("tenantInfo"); - List list = new ArrayList(); - basicInfo.setBegin((page-1)*10000); - basicInfo.setLimit(10000); - if(StringUtils.isNotBlank(tenantInfo.getParentTenantId())){ - //关联微信表查询 - list = wxCUserBasicInfoMapper.findVoList1(tenantInfo,basicInfo); - }else{ - //直接查询本表 - basicInfo.undateFinalTenantId(tenantInfo); - list = wxCUserBasicInfoMapper.findVoList(basicInfo); - } - return list; + Map params = (Map) queryParams; + WxCUserBasicInfo basicInfo = (WxCUserBasicInfo) params.get("basicInfo"); + TenantEntity tenantInfo = (TenantEntity) params.get("tenantInfo"); + List list = new ArrayList(); + basicInfo.setBegin((page-1)*10000); + basicInfo.setLimit(10000); + if(StringUtils.isNotBlank(tenantInfo.getParentTenantId())){ + //list = wxCUserBasicInfoMapper.findVoList1(tenantInfo,basicInfo); + }else{ + basicInfo.undateFinalTenantId(tenantInfo); + } + list = wxCUserBasicInfoMapper.findVoList(basicInfo); + List userIds = wxCUserBasicInfoMapper.findVoIdsList(basicInfo); + if (null != userIds ) { + WxCUserTags tq = new WxCUserTags(); + tq.setUserIds(userIds); + Map userTagsMap = wxCUserTagsMapper.findUserTagsMap(tq); + if (null != userTagsMap) { + List tagList = wxTagsMapper.findListAll(); + Map tagMap = tagList.stream().collect(Collectors.toMap(WxTags::getId, WxTags::getName)); + list.stream().forEach(u->{ + List ids = JSONObject.parseArray(userTagsMap.get(u.getId()), Long.class); + if (null != ids) { + String tagNames = StringUtils.join(ids.stream().map(id->tagMap.get(id)).collect(Collectors.toList()),"/"); + u.setTagNames(tagNames); + } + }); + + } + } + if (null != list ) { + List retList = new ArrayList(); + retList.addAll(list); + return retList; + } + return null; } } diff --git a/mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml b/mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml index b22a6e21b..724401818 100644 --- a/mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml @@ -764,6 +764,17 @@ limit #{begin}, #{limit} + + + + + + + +