Commit 57435e47 by 陶光胜

Merge branch 'developer' of…

Merge branch 'developer' of http://115.159.76.241/base_platform_enterprise/gic-platform-enterprise into developer
parents 3ffec630 a0645810
......@@ -6,10 +6,13 @@ import java.util.*;
import java.util.stream.Collectors;
import com.gic.data.api.dto.index.IndexChannelUserOverviewDTO;
import com.gic.data.api.dto.index.IndexChannelUserRateDTO;
import com.gic.data.api.dto.index.IndexMemberOverviewDTO;
import com.gic.data.api.dto.index.IndexMemberOverviewTotalDTO;
import com.gic.data.api.qo.index.ChannelUserOverviewQO;
import com.gic.data.api.qo.index.IndexChannelUserRateQO;
import com.gic.data.api.qo.index.IndexMemberOverviewQO;
import com.gic.enterprise.web.vo.index.ChannelUserRateVO;
import com.gic.enterprise.web.vo.index.ChannelUserVO;
import com.gic.enterprise.web.vo.index.MemberCardInfoVO;
import com.gic.member.config.api.dto.*;
......@@ -101,7 +104,8 @@ public class IndexModuleController {
*/
@RequestMapping("/list-member-card-of-index")
public RestResponse listMemberCardOfIndex() {
return RestResponse.success(getMbrArea(UserDetailUtils.getUserDetail().getUserId(), UserDetailUtils.getUserDetail().getEnterpriseId()));
return RestResponse.success(getAreaData(UserDetailUtils.getUserDetail().getUserId(),
UserDetailUtils.getUserDetail().getEnterpriseId(), CuTypeEnum.MCU));
}
@RequestMapping("list-help-center")
......@@ -363,12 +367,61 @@ public class IndexModuleController {
return RestResponse.success(memberChannelData.getResult());
}
/**
* 用户数量占比
* @param type 会员卡统计类型 0:开卡门店 1:归属品牌服务门店 2:品牌服务门店
* @param cuType 1小程序用户 2服务号用户 3会员卡用户
* @return
*/
@RequestMapping("list-channel-data")
public RestResponse listChannelData(Integer type, Integer cuType){
Integer enterpriseId = UserDetailUtils.getUserDetail().getEnterpriseId();
Integer userId = UserDetailUtils.getUserDetail().getUserId();
ServiceResponse<List<MemberChannelDataDTO>> listServiceResponse = this.memberDataApiService.listChannelData(type, cuType, enterpriseId, userId, this.getAuthStore());
return RestResponse.success(listServiceResponse.getResult());
IndexChannelUserRateQO param = new IndexChannelUserRateQO();
if (cuType == null) {
cuType = 3;
}
CuTypeEnum cuTypeEnum = CuTypeEnum.getEnum(cuType);
List<MemberCardInfoVO> areaDataList;
switch (cuTypeEnum) {
case ACU:
areaDataList = getAreaData(userId, enterpriseId, CuTypeEnum.ACU);
param.setAppletIdList(areaDataList.stream().mapToLong(e -> Long.valueOf(e.getMbrAreaId())).boxed().collect(Collectors.toList()));
case MCU:
areaDataList = getAreaData(userId, enterpriseId, CuTypeEnum.MCU);
param.setMemberCardIdList(areaDataList.stream().mapToLong(e -> Long.valueOf(e.getMbrAreaId())).boxed().collect(Collectors.toList()));
case SCU:
areaDataList = getAreaData(userId, enterpriseId, CuTypeEnum.SCU);
param.setServiceIdList(areaDataList.stream().mapToLong(e -> Long.valueOf(e.getMbrAreaId())).boxed().collect(Collectors.toList()));
default:
areaDataList = getAreaData(userId, enterpriseId, CuTypeEnum.MCU);
param.setMemberCardIdList(areaDataList.stream().mapToLong(e -> Long.valueOf(e.getMbrAreaId())).boxed().collect(Collectors.toList()));
}
param.setMemberCardCountType(type);
param.setCuType(cuType);
param.setEntId(enterpriseId);
ServiceResponse<List<IndexChannelUserRateDTO>> listServiceResponse = this.memberDataApiService.listChannelData(param);
Map<Long, Integer> map = new HashMap<>();
if (listServiceResponse.isSuccess()) {
List<IndexChannelUserRateDTO> list = listServiceResponse.getResult();
map = list.stream().collect(Collectors.toMap(IndexChannelUserRateDTO::getAreaId, IndexChannelUserRateDTO::getMemberCount));
}
Map<Long, Integer> finalMap = map;
Integer finalCuType = cuType;
return RestResponse.success(areaDataList.stream().map(e -> {
ChannelUserRateVO vo = new ChannelUserRateVO();
vo.setAreaId(Long.parseLong(e.getMbrAreaId()));
vo.setAreaName(e.getMbrAreaName());
vo.setOwnType(e.getOwnType());
vo.setCuType(finalCuType);
vo.setMemberCount(finalMap.getOrDefault(Long.parseLong(e.getMbrAreaId()), 0));
return vo;
}).collect(Collectors.toList()));
}
......@@ -491,9 +544,16 @@ public class IndexModuleController {
return authStoreIdList;
}
private List<MemberCardInfoVO> getMbrArea(Integer userId, Integer enterpriseId){
/**
* 查询管理员用户域权限数据
* @param userId
* @param enterpriseId
* @param cuTypeEnum CuTypeEnum枚举
* @return
*/
private List<MemberCardInfoVO> getAreaData(Integer userId, Integer enterpriseId, CuTypeEnum cuTypeEnum){
AreaSearchDTO areaSearchDTO = new AreaSearchDTO();
areaSearchDTO.setCuTypes(Arrays.asList(CuTypeEnum.MCU));
areaSearchDTO.setCuTypes(Arrays.asList(cuTypeEnum));
areaSearchDTO.setEnterpriseId(enterpriseId);
areaSearchDTO.setUserId(userId);
List<ChannelAreaInfoDTO> listCard = userListFieldApiService.queryCustomAreaInfo(areaSearchDTO).getResult();
......@@ -528,6 +588,7 @@ public class IndexModuleController {
return new ArrayList<>();
}
private List<Long> getAuthAreaList(Long cardAreaId, Integer enterpriseId, Integer userId, CuTypeEnum cuTypeEnum) {
if (cardAreaId != null) {
return Arrays.asList(cardAreaId);
......
package com.gic.enterprise.web.vo.index;
import java.io.Serializable;
/**
* 首页-用户数量占比
* @ClassName:
* @Description: 

* @author guojuxing

* @date 2021/5/25 9:24 AM

*/
public class ChannelUserRateVO implements Serializable{
private static final long serialVersionUID = -9148715335260696834L;
private Integer memberCount;
/**
* 服务门店/开卡门店会员总数
*/
private Integer mcuCount;
/**
* 小程序会员数
*/
private Integer acuCount;
/**
* 服务号会员数
*/
private Integer scuCount;
/**
* CuTypeEnum枚举
*/
private Integer cuType;
/**
* 域ID
*/
private Long areaId;
/**
* 域名称
*/
private String areaName;
/**
* 共享标志
*/
private Integer ownType;
public Integer getMemberCount() {
return memberCount;
}
public ChannelUserRateVO setMemberCount(Integer memberCount) {
this.memberCount = memberCount;
return this;
}
public Integer getCuType() {
return cuType;
}
public ChannelUserRateVO setCuType(Integer cuType) {
this.cuType = cuType;
return this;
}
public Long getAreaId() {
return areaId;
}
public ChannelUserRateVO setAreaId(Long areaId) {
this.areaId = areaId;
return this;
}
public String getAreaName() {
return areaName;
}
public ChannelUserRateVO setAreaName(String areaName) {
this.areaName = areaName;
return this;
}
public Integer getOwnType() {
return ownType;
}
public ChannelUserRateVO setOwnType(Integer ownType) {
this.ownType = ownType;
return this;
}
public Integer getMcuCount() {
if (mcuCount == null && cuType != null && cuType ==3) {
return memberCount;
}
return mcuCount;
}
public ChannelUserRateVO setMcuCount(Integer mcuCount) {
this.mcuCount = mcuCount;
return this;
}
public Integer getAcuCount() {
if (acuCount == null && cuType != null && cuType ==1) {
return memberCount;
}
return acuCount;
}
public ChannelUserRateVO setAcuCount(Integer acuCount) {
this.acuCount = acuCount;
return this;
}
public Integer getScuCount() {
if (scuCount == null && cuType != null && cuType ==2) {
return memberCount;
}
return scuCount;
}
public ChannelUserRateVO setScuCount(Integer scuCount) {
this.scuCount = scuCount;
return this;
}
@Override
public String toString() {
return "ChannelUserRateVO{" +
"memberCount=" + memberCount +
", mcuCount=" + mcuCount +
", acuCount=" + acuCount +
", scuCount=" + scuCount +
", cuType=" + cuType +
", areaId=" + areaId +
", areaName='" + areaName + '\'' +
", ownType=" + ownType +
'}';
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment