Commit ff9238e9 by 陶光胜

Merge branch 'developer' of…

Merge branch 'developer' of http://115.159.76.241/base_platform_enterprise/gic-platform-enterprise into developer
parents 67f42bbf c99cc022
......@@ -2,11 +2,15 @@ package com.gic.enterprise.web.controller;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
import com.gic.data.api.dto.index.IndexMemberOverviewDTO;
import com.gic.data.api.qo.index.IndexMemberOverviewQO;
import com.gic.enterprise.web.vo.index.MemberCardInfoVO;
import com.gic.member.config.api.dto.*;
import com.gic.member.config.api.service.UserListFieldApiService;
import com.gic.platform.member.constant.enums.CuTypeEnum;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.logging.log4j.LogManager;
......@@ -37,9 +41,6 @@ import com.gic.enterprise.utils.UserDetailUtils;
import com.gic.enterprise.web.vo.MemberDataRightVO;
import com.gic.enterprise.web.vo.MemberDataVO;
import com.gic.enterprise.web.vo.ResouceVO;
import com.gic.member.config.api.dto.AppletsConfigSimpleOutputDTO;
import com.gic.member.config.api.dto.OwnerMemberCardDTO;
import com.gic.member.config.api.dto.ServiceConfigSimpleOutputDTO;
import com.gic.member.config.api.service.AppletsConfigApiService;
import com.gic.member.config.api.service.MemberCardApiService;
import com.gic.member.config.api.service.ServiceConfigApiService;
......@@ -81,6 +82,8 @@ public class IndexModuleController {
private AppletsConfigApiService appletsConfigApiService;
@Autowired
private ServiceConfigApiService serviceConfigApiService;
@Autowired
private UserListFieldApiService userListFieldApiService;
@RequestMapping("/list-index-module")
public RestResponse listIndexModule() {
......@@ -88,6 +91,15 @@ public class IndexModuleController {
return ResultControllerUtils.commonResult(serviceResponse);
}
/**
* 首页会员卡列表数据,包括共享
* @return
*/
@RequestMapping("/list-member-card-of-index")
public RestResponse listMemberCardOfIndex() {
return RestResponse.success(getMbrArea(UserDetailUtils.getUserDetail().getUserId(), UserDetailUtils.getUserDetail().getEnterpriseId()));
}
@RequestMapping("list-help-center")
public RestResponse listHelpCenter(){
ServiceResponse<List<HelpCenterDTO>> response = this.helpCenterApiService.listHelpCenter();
......@@ -255,10 +267,23 @@ public class IndexModuleController {
@RequestMapping("list-member-data")
public RestResponse listMember(Integer type, Long cardAreaId){
public RestResponse listMember(Integer type, Long cardAreaId, Integer brandId){
Integer enterpriseId = UserDetailUtils.getUserDetail().getEnterpriseId();
Integer userId = UserDetailUtils.getUserDetail().getUserId();
ServiceResponse<List<MemberDataDTO>> response = this.memberDataApiService.listMemberData(enterpriseId, type, cardAreaId, userId, this.getAuthStore());
IndexMemberOverviewQO param = new IndexMemberOverviewQO();
param.setEntId(enterpriseId);
param.setAuthStoreIdList(this.getAuthStore());
param.setType(type);
param.setBrandId(brandId);
if (cardAreaId != null) {
param.setMemberCardIdList(Arrays.asList(cardAreaId));
} else {
List<MemberCardInfoVO> memberCardList = getMbrArea(userId, enterpriseId);
if (CollectionUtils.isNotEmpty(memberCardList)) {
param.setMemberCardIdList(memberCardList.stream().mapToLong(e -> Long.valueOf(e.getMbrAreaId())).boxed().collect(Collectors.toList()));
}
}
ServiceResponse<List<IndexMemberOverviewDTO>> response = this.memberDataApiService.listMemberData(param);
return RestResponse.success(EntityUtil.changeEntityListByJSON(MemberDataVO.class, response.getResult()));
}
......@@ -412,4 +437,22 @@ public class IndexModuleController {
}
return authStoreIdList;
}
private List<MemberCardInfoVO> getMbrArea(Integer userId, Integer enterpriseId){
AreaSearchDTO areaSearchDTO = new AreaSearchDTO();
areaSearchDTO.setCuTypes(Arrays.asList(CuTypeEnum.MCU));
areaSearchDTO.setEnterpriseId(enterpriseId);
areaSearchDTO.setUserId(userId);
List<ChannelAreaInfoDTO> listCard = userListFieldApiService.queryCustomAreaInfo(areaSearchDTO).getResult();
if(CollectionUtils.isNotEmpty(listCard)){
return listCard.stream().map(dto -> {
MemberCardInfoVO vo = new MemberCardInfoVO();
vo.setMbrAreaId(dto.getAreaId().toString());
vo.setMbrAreaName(dto.getName());
vo.setOwnType(dto.getOwnerFlag());
return vo;
}).collect(Collectors.toList());
}
return new ArrayList<>();
}
}
\ No newline at end of file
......@@ -20,6 +20,29 @@ public class MemberDataVO implements Serializable {
private Integer openStoreMemberAllCount;
/***********************/
/**
* 品牌服务门店总数
*/
private Integer brandServiceTotal;
/**
* 归属品牌服务门店总数
*/
private Integer belongBrandServiceTotal;
/**
* 开卡门店会员总数
*/
private Integer openCardTotal;
/**
* 开卡门店新增会员
*/
private Integer openCardNew;
private String dateData;
public MemberDataVO(String date) {
this.date = date;
......@@ -60,8 +83,63 @@ public class MemberDataVO implements Serializable {
this.openStoreMemberAllCount = openStoreMemberAllCount;
}
public Integer getBrandServiceTotal() {
return brandServiceTotal;
}
public MemberDataVO setBrandServiceTotal(Integer brandServiceTotal) {
this.brandServiceTotal = brandServiceTotal;
return this;
}
public Integer getBelongBrandServiceTotal() {
return belongBrandServiceTotal;
}
public MemberDataVO setBelongBrandServiceTotal(Integer belongBrandServiceTotal) {
this.belongBrandServiceTotal = belongBrandServiceTotal;
return this;
}
public Integer getOpenCardTotal() {
return openCardTotal;
}
public MemberDataVO setOpenCardTotal(Integer openCardTotal) {
this.openCardTotal = openCardTotal;
return this;
}
public Integer getOpenCardNew() {
return openCardNew;
}
public MemberDataVO setOpenCardNew(Integer openCardNew) {
this.openCardNew = openCardNew;
return this;
}
public String getDateData() {
return dateData;
}
public MemberDataVO setDateData(String dateData) {
this.dateData = dateData;
return this;
}
@Override
public String toString() {
return JSON.toJSONString(this);
return "MemberDataVO{" +
"date='" + date + '\'' +
", newMemberCount=" + newMemberCount +
", serviceStoreMemberAllCount=" + serviceStoreMemberAllCount +
", openStoreMemberAllCount=" + openStoreMemberAllCount +
", brandServiceTotal=" + brandServiceTotal +
", belongBrandServiceTotal=" + belongBrandServiceTotal +
", openCardTotal=" + openCardTotal +
", openCardNew=" + openCardNew +
", dateData='" + dateData + '\'' +
'}';
}
}
package com.gic.enterprise.web.vo.index;
import java.io.Serializable;
/**
* 会员卡
* @ClassName:
* @Description: 

* @author guojuxing

* @date 2021/5/19 3:34 PM

*/
public class MemberCardInfoVO implements Serializable{
private static final long serialVersionUID = 6108518626260229320L;
private String mbrAreaId;
private String mbrAreaName;
private Integer ownType;
public String getMbrAreaId() {
return mbrAreaId;
}
public MemberCardInfoVO setMbrAreaId(String mbrAreaId) {
this.mbrAreaId = mbrAreaId;
return this;
}
public String getMbrAreaName() {
return mbrAreaName;
}
public MemberCardInfoVO setMbrAreaName(String mbrAreaName) {
this.mbrAreaName = mbrAreaName;
return this;
}
public Integer getOwnType() {
return ownType;
}
public MemberCardInfoVO setOwnType(Integer ownType) {
this.ownType = ownType;
return this;
}
@Override
public String toString() {
return "MemberCardInfoVO{" +
"mbrAreaId='" + mbrAreaId + '\'' +
", mbrAreaName='" + mbrAreaName + '\'' +
", ownType=" + ownType +
'}';
}
}
......@@ -156,4 +156,6 @@
<dubbo:reference interface="com.gic.marketing.api.service.sms.SmsApiService" id="smsApiService" timeout="6000" />
<dubbo:reference interface="com.gic.enterprise.service.ProductMarketApiService" id="productMarketApiService" timeout="6000" />
<dubbo:reference interface="com.gic.enterprise.service.BlackListApiService" id="blackListApiService" timeout="6000" />
<dubbo:reference interface="com.gic.member.config.api.service.UserListFieldApiService" id="userListFieldApiService" timeout="6000" retries="0"/>
</beans>
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