diff --git a/mallinkAdmin/src/main/java/com/simple/controller/WxUserStructureController.java b/mallinkAdmin/src/main/java/com/simple/controller/WxUserStructureController.java index 98984d28d..324a23592 100644 --- a/mallinkAdmin/src/main/java/com/simple/controller/WxUserStructureController.java +++ b/mallinkAdmin/src/main/java/com/simple/controller/WxUserStructureController.java @@ -9,6 +9,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -167,9 +168,32 @@ public class WxUserStructureController { @ApiImplicitParams({ @ApiImplicitParam(name="pageNum",value="页数",dataType="int", paramType = "query",required=true), @ApiImplicitParam(name="pageSize",value="每页条数",dataType="int", paramType = "query",required=true)}) - public ResultData findUserByChannel(String channelName,Integer pageNum, Integer pageSize) { - PageInfo list = wxCUserService.listByChannel(null, pageNum, pageSize); - return new ResultData(list); + public ResultData findUserByChannel(String channelName,Integer pageNum, Integer pageSize) { + List sceneList =null; + if(StringUtils.isNotBlank(channelName)) { + WxUserChannel c= new WxUserChannel(); + c.setChannelName(channelName); + PageInfo page = wxUserChannelService.listAsPage(c, 1, 100); + if(page.getSize()>0) { + sceneList = new ArrayList<>(); + for(WxUserChannel wuc:page.getList()) { + sceneList.add(wuc.getSceneAddress()); + } + } + } + PageInfo page = wxCUserService.listByChannel(sceneList, pageNum, pageSize); + for(WxCUser u:page.getList()) { + WxUserChannel c= new WxUserChannel(); + c.setSceneAddress(u.getSceneAddress()); + PageInfo uc = wxUserChannelService.listAsPage(c, 1, 1); + if(uc.getSize()>0) { + u.setChannelName(uc.getList().get(0).getChannelName()); + }else { + u.setChannelName("其他来源"); + } + } + + return new ResultData(page); } @ApiOperation("获取用户所有渠道") diff --git a/mallinkService/src/main/java/com/simple/domain/po/WxCUser.java b/mallinkService/src/main/java/com/simple/domain/po/WxCUser.java index aa53e96c7..cc72ec3e8 100644 --- a/mallinkService/src/main/java/com/simple/domain/po/WxCUser.java +++ b/mallinkService/src/main/java/com/simple/domain/po/WxCUser.java @@ -116,6 +116,20 @@ public class WxCUser implements Serializable { /*用户过期时间**/ @io.swagger.annotations.ApiModelProperty(value="用户过期时间",name="expireTime") private Date expireTime; + + //渠道名称 + @Transient + private String channelName; + + + public String getChannelName() { + return channelName; + } + + public void setChannelName(String channelName) { + this.channelName = channelName; + } + public String getTenantId() { return tenantId; } diff --git a/mallinkService/src/main/java/com/simple/service/impl/WxUserChannelServiceImpl.java b/mallinkService/src/main/java/com/simple/service/impl/WxUserChannelServiceImpl.java index 1332d026b..51fc512eb 100644 --- a/mallinkService/src/main/java/com/simple/service/impl/WxUserChannelServiceImpl.java +++ b/mallinkService/src/main/java/com/simple/service/impl/WxUserChannelServiceImpl.java @@ -46,8 +46,11 @@ public class WxUserChannelServiceImpl implements WxUserChannelService { @Override public List findDistinctChannel() { - + return wxUserChannelMapper.findDistinctChannel(); } + + + } diff --git a/mallinkService/src/main/resources/mapper/WxUserChannelMapper.xml b/mallinkService/src/main/resources/mapper/WxUserChannelMapper.xml index 39e968ba7..d86ae189e 100644 --- a/mallinkService/src/main/resources/mapper/WxUserChannelMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxUserChannelMapper.xml @@ -21,12 +21,12 @@ - and `channel_name` like concat('%', #{channelName},'%') + and `channel_name` = #{channelName} - and `scene_address` like concat('%', #{sceneAddress},'%') + and `scene_address` = #{sceneAddress}