diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxUserStructureController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxUserStructureController.java index 0f27f8463..68ab2f787 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxUserStructureController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxUserStructureController.java @@ -7,6 +7,7 @@ import com.iformall.domain.po.*; import com.iformall.domain.vo.UserStructureVo; import com.iformall.enums.EnumAgeInfo; import com.iformall.enums.EnumCUserBaseInfoSex; +import com.iformall.enums.EnumTag; import com.iformall.service.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -43,6 +44,9 @@ public class WxUserStructureController extends BaseController { @Autowired private WxCUserCarService wxCUserCarService; + @Autowired + private WxCUserTagsService wxCUserTagsService; + @Autowired private WxUserChannelService wxUserChannelService; @@ -171,6 +175,42 @@ public class WxUserStructureController extends BaseController { } + @ApiOperation("查询会员手机品牌结构") + @GetMapping("/findUserPhoneBandStructure") + public ResultData findUserPhoneBandStructure(Date startTime, Date endTime) { + + WxCUserBasicInfoDto dto = new WxCUserBasicInfoDto(); + dto.setTenantId(getTenantId()); + dto.setStartTime(startTime); + dto.setEndTime(endTime); + long total = wxCUserBasicInfoService.findCount(dto); + + List tagList = new ArrayList<>(); + + EnumTag[] tags = {EnumTag.ID_49, + EnumTag.ID_50, + EnumTag.ID_51, + EnumTag.ID_52, + EnumTag.ID_53, + EnumTag.ID_54}; + + for (int i = 0; i < tags.length; i++) { + WxTags tag = new WxTags(); + tag.setName(tags[i].getMessage()); + tag.setCount(wxCUserTagsService.countUser(getTenantId(), tags[i].getCode(), startTime, endTime)); + tagList.add(tag); + total -= tag.getCount(); + } + + WxTags tag = new WxTags(); + tag.setName("暂未获取"); + tag.setCount(total); + tagList.add(tag); + + return new ResultData(tagList); + } + + /********************************会员数据**************************************/ @ApiOperation("查询会员数量") @GetMapping("/findUserDataCount") diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCUserTagsMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCUserTagsMapper.java index 814f82b58..0691e259f 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCUserTagsMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCUserTagsMapper.java @@ -1,5 +1,6 @@ package com.iformall.mapper; +import java.util.Date; import java.util.List; import com.iformall.common.CommonMapper; @@ -19,5 +20,8 @@ public interface WxCUserTagsMapper extends CommonMapper { List findCUserByTags(@Param("tagIds")String tagIds,@Param("tenantId")String tenantId); + long countUser(@Param("tagIds")String tagIds,@Param("tenantId")String tenantId, + @Param("startTime")Date startTime,@Param("endTime")Date endTime); + void updateNewId(CUserTagVo record); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCUserTagsService.java b/mallinkService/src/main/java/com/iformall/service/WxCUserTagsService.java index 21d100cde..b2e243a13 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCUserTagsService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCUserTagsService.java @@ -1,5 +1,6 @@ package com.iformall.service; +import java.util.Date; import java.util.List; import com.github.pagehelper.PageInfo; @@ -61,6 +62,7 @@ public interface WxCUserTagsService { List findCUserByTag(String tenantId, List tagIds); + long countUser(String tenantId, Long tagId, Date startTime, Date endTime ); List findTagList(String tenantId, List tagIds); List findTagListFromCUser(String tenantId, List tagIds); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java index 4200c8c60..4a8fe4e98 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java @@ -91,6 +91,12 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService { return wxCUserTagsMapper.findCUserCountByTags(str,tenantId); } + @Override + public long countUser(String tenantId, Long tagId, Date startTime, Date endTime ) { + String str = JSON.toJSONString(tagId); + return wxCUserTagsMapper.countUser(str, tenantId, startTime, endTime); + } + @Override public List findCUserByTag(String tenantId, List tagIds) { if (tagIds == null || tagIds.isEmpty()) diff --git a/mallinkService/src/main/resources/mapper/WxCUserTagsMapper.xml b/mallinkService/src/main/resources/mapper/WxCUserTagsMapper.xml index 17e2d3049..9f310200a 100644 --- a/mallinkService/src/main/resources/mapper/WxCUserTagsMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCUserTagsMapper.xml @@ -96,4 +96,22 @@ and user_id = #{userId} + +