Commit 2cfee9fe by guojuxing

数字会员配置,已存在的会员卡,才新增

parent 428e0372
package com.gic.enterprise.web.controller;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
import com.gic.enterprise.ano.IgnoreLogin;
......@@ -128,6 +126,17 @@ public class DataConfigController {
return ResultControllerUtils.commonResult(response);
}
private Set<String> getMemberAreaIdSet(Integer enterpriseId) {
ServiceResponse<List<OwnerMemberCardDTO>> result = memberCardApiService.getAll(enterpriseId);
if (result.isSuccess()) {
List<OwnerMemberCardDTO> list = result.getResult();
if (CollectionUtils.isNotEmpty(list)) {
return list.stream().map(e -> e.getCardConfigId().toString()).collect(Collectors.toSet());
}
}
return new HashSet<>(2);
}
private void initMemberWechat(Integer enterpriseId) {
ServiceResponse<List<OwnerMemberCardDTO>> result = memberCardApiService.getAll(enterpriseId);
if (result.isSuccess()) {
......@@ -149,7 +158,7 @@ public class DataConfigController {
if (all.isSuccess()) {
List<DataWechatMemberConfigDTO> allList = all.getResult();
if (CollectionUtils.isNotEmpty(allList)) {
if (allList.stream().allMatch(e -> StringUtils.isNotBlank(e.getRelateService()) && StringUtils.isNotBlank(e.getRelateWechat()))) {
if (allList.stream().allMatch(e -> (StringUtils.isNotBlank(e.getRelateService()) || StringUtils.isNotBlank(e.getRelateWechat())))) {
//所有的卡都配置,则初始化
enterpriseInitApiService.configWechatMember(enterpriseId);
}
......@@ -169,13 +178,18 @@ public class DataConfigController {
if (response.isSuccess()) {
List<DigitalConfigDTO> list = response.getResult();
if (CollectionUtils.isNotEmpty(list)) {
Set<String> memberCardIdSet = getMemberAreaIdSet(enterpriseId);
list.forEach(e -> {
dataConfigApiService.configWechatMember(new DataWechatMemberConfigDTO()
.setEnterpriseId(enterpriseId)
.setMemberCardArea(e.getCardConfigId().toString())
.setRelateService(listToString(e.getServiceIds()))
.setRelateWechat(listToString(e.getAppletsIds()))
.setValidRefresh(1));
if (memberCardIdSet.contains(e.getCardConfigId().toString())) {
dataConfigApiService.configWechatMember(new DataWechatMemberConfigDTO()
.setEnterpriseId(enterpriseId)
.setMemberCardArea(e.getCardConfigId().toString())
.setRelateService(listToString(e.getServiceIds()))
.setRelateWechat(listToString(e.getAppletsIds()))
.setValidRefresh(1));
}
});
configWechatMember(enterpriseId);
......@@ -200,7 +214,8 @@ public class DataConfigController {
@RequestMapping("list-wechat-member-config")
public RestResponse listWechatMemberConfig() {
initMemberWechat(UserDetailUtils.getUserDetail().getEnterpriseId());
Integer enterpriseId = UserDetailUtils.getUserDetail().getEnterpriseId();
initMemberWechat(enterpriseId);
ServiceResponse<List<DataWechatMemberConfigDTO>> response = dataConfigApiService
.listWechatMemberConfig(UserDetailUtils.getUserDetail().getEnterpriseId());
......@@ -215,7 +230,13 @@ public class DataConfigController {
if (response.isSuccess()) {
List<DataWechatMemberConfigDTO> list = response.getResult();
if (CollectionUtils.isNotEmpty(list)) {
Set<String> memberCardIdSet = getMemberAreaIdSet(enterpriseId);
for (DataWechatMemberConfigDTO temp : list) {
if (!memberCardIdSet.contains(temp.getMemberCardArea())) {
//如果不包含已存在的会员卡,则删除
dataConfigApiService.deleteWechatMember(enterpriseId, Long.valueOf(temp.getMemberCardArea()));
}
temp.setMemberCardAreaName(memberCardMap.get(temp.getMemberCardArea()));
}
}
......
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