Commit cd3b43aa by 徐高华

Merge branch 'master_xgh_我的客户迭代' into 'master_xgh_bug_11月'

# Conflicts:
#   haoban-manage3-service/src/main/resources/mapper/TabHaobanStaffClerkRelationMapper.xml
parents 92a28cde ad14f3d8
package com.gic.haoban.manage.api.dto; package com.gic.haoban.manage.api.dto;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
/** /**
* desc:员工导购id与导购wxUserId实体 * desc:员工导购id与导购wxUserId实体
...@@ -23,13 +24,24 @@ public class ClerkStaffWxUserDTO implements Serializable { ...@@ -23,13 +24,24 @@ public class ClerkStaffWxUserDTO implements Serializable {
*/ */
private String staffClerkId; private String staffClerkId;
private Date addFriendTime ;
public Date getAddFriendTime() {
return addFriendTime;
}
public void setAddFriendTime(Date addFriendTime) {
this.addFriendTime = addFriendTime;
}
public ClerkStaffWxUserDTO() { public ClerkStaffWxUserDTO() {
} }
public ClerkStaffWxUserDTO(String staffId, String staffClerkId, String memberExternalUserId) { public ClerkStaffWxUserDTO(String staffId, String staffClerkId, String memberExternalUserId , Date addFriendTime) {
this.memberExternalUserId = memberExternalUserId; this.memberExternalUserId = memberExternalUserId;
this.staffId = staffId; this.staffId = staffId;
this.staffClerkId = staffClerkId; this.staffClerkId = staffClerkId;
this.addFriendTime = addFriendTime ;
} }
public String getMemberExternalUserId() { public String getMemberExternalUserId() {
......
...@@ -193,6 +193,10 @@ public interface ExternalClerkRelatedApiService { ...@@ -193,6 +193,10 @@ public interface ExternalClerkRelatedApiService {
*/ */
boolean isFriends(String memberId, String clerkId, String enterpriseId); boolean isFriends(String memberId, String clerkId, String enterpriseId);
com.gic.api.base.commons.ServiceResponse<Boolean> isQwFriend(String enterpriseId, String staffId, String memberId) ;
com.gic.api.base.commons.ServiceResponse<String> getExternalUseridForWxa(String enterpriseId, String staffId, String memberId) ;
List<String> listMemberAndClerk(List<String> memberIdList , List<String> clerkIdList , String enterpriseId) ; List<String> listMemberAndClerk(List<String> memberIdList , List<String> clerkIdList , String enterpriseId) ;
/** /**
......
...@@ -70,14 +70,6 @@ public interface WxEnterpriseApiService { ...@@ -70,14 +70,6 @@ public interface WxEnterpriseApiService {
List<YwWxEnterpriseDTO> listByIds(Set<String> enterpriseIds); List<YwWxEnterpriseDTO> listByIds(Set<String> enterpriseIds);
/** /**
* 企业是否过期 true是
*
* @param enterpriseId
* @return
*/
boolean enterpriseIsOver(String enterpriseId);
/**
* 获取配置 * 获取配置
* *
* @param wxEnterpriseId * @param wxEnterpriseId
......
package com.gic.haoban.manage.service.entity.ext; package com.gic.haoban.manage.service.entity.ext;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
/** /**
* desc:会员导购关系扩展实体类 * desc:会员导购关系扩展实体类
...@@ -24,6 +25,16 @@ public class MemberStaffRelExtDO implements Serializable { ...@@ -24,6 +25,16 @@ public class MemberStaffRelExtDO implements Serializable {
*/ */
private String staffClerkId; private String staffClerkId;
private Date addFriendTime ;
public Date getAddFriendTime() {
return addFriendTime;
}
public void setAddFriendTime(Date addFriendTime) {
this.addFriendTime = addFriendTime;
}
public String getMemberId() { public String getMemberId() {
return memberId; return memberId;
} }
......
...@@ -26,7 +26,6 @@ import com.gic.haoban.manage.api.service.ExternalClerkRelatedApiService; ...@@ -26,7 +26,6 @@ import com.gic.haoban.manage.api.service.ExternalClerkRelatedApiService;
import com.gic.haoban.manage.api.service.WxEnterpriseApiService; import com.gic.haoban.manage.api.service.WxEnterpriseApiService;
import com.gic.haoban.manage.service.config.Config; import com.gic.haoban.manage.service.config.Config;
import com.gic.haoban.manage.service.dao.mapper.*; import com.gic.haoban.manage.service.dao.mapper.*;
import com.gic.haoban.manage.service.entity.MemberUnionidRelated;
import com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated; import com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated;
import com.gic.haoban.manage.service.entity.TabHaobanStaffClerkRelation; import com.gic.haoban.manage.service.entity.TabHaobanStaffClerkRelation;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise; import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise;
...@@ -55,7 +54,6 @@ import org.redisson.api.RateType; ...@@ -55,7 +54,6 @@ import org.redisson.api.RateType;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -68,8 +66,6 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA ...@@ -68,8 +66,6 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
@Autowired @Autowired
private TabHaobanExternalClerkRelatedMapper tabHaobanExternalClerkRelatedMapper; private TabHaobanExternalClerkRelatedMapper tabHaobanExternalClerkRelatedMapper;
@Autowired @Autowired
private MemberUnionidRelatedMapper memberUnionidRelatedMapper;
@Autowired
private TabHaobanStaffClerkRelationMapper staffClerkRelationMapper; private TabHaobanStaffClerkRelationMapper staffClerkRelationMapper;
@Autowired @Autowired
private WxEnterpriseMapper wxEnterriseMapper; private WxEnterpriseMapper wxEnterriseMapper;
...@@ -448,12 +444,27 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA ...@@ -448,12 +444,27 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
return false; return false;
} }
String staffId = staffClerkRelation.getStaffId(); String staffId = staffClerkRelation.getStaffId();
log.info("【查询会员】clerkId = {},staffId={},memberId={}", clerkId, staffId, memberId); return this.isQwFriend(enterpriseId, staffId, memberId).getResult() ;
}
@Override
public com.gic.api.base.commons.ServiceResponse<Boolean> isQwFriend(String enterpriseId, String staffId, String memberId) {
log.info("查询是否好友enterpriseId={},staffId={},memberId={}",enterpriseId, staffId, memberId);
TabHaobanExternalClerkRelated externalClerkRelated = tabHaobanExternalClerkRelatedMapper.getByMemberIdAndStaffId(staffId, enterpriseId, memberId); TabHaobanExternalClerkRelated externalClerkRelated = tabHaobanExternalClerkRelatedMapper.getByMemberIdAndStaffId(staffId, enterpriseId, memberId);
if (externalClerkRelated == null) { if (externalClerkRelated == null) {
return false; return com.gic.api.base.commons.ServiceResponse.success(Boolean.FALSE);
}
return com.gic.api.base.commons.ServiceResponse.success(externalClerkRelated.getStatusFlag() == 1);
}
@Override
public com.gic.api.base.commons.ServiceResponse<String> getExternalUseridForWxa(String enterpriseId, String staffId,
String memberId) {
TabHaobanExternalClerkRelated externalClerkRelated = tabHaobanExternalClerkRelatedMapper.getByMemberIdAndStaffId(staffId, enterpriseId, memberId);
if(null != externalClerkRelated) {
return com.gic.api.base.commons.ServiceResponse.success(externalClerkRelated.getExternalClerkRelatedId());
} }
return externalClerkRelated.getStatusFlag() == 1; return com.gic.api.base.commons.ServiceResponse.failure("9999", "无好友关系") ;
} }
@Override @Override
...@@ -480,7 +491,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA ...@@ -480,7 +491,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
// key-memberId // key-memberId
MemberStaffRelExtDO::getMemberId, MemberStaffRelExtDO::getMemberId,
// value-list // value-list
e -> new ArrayList<>(Collections.singletonList(new ClerkStaffWxUserDTO(e.getStaffId(), e.getStaffClerkId(), e.getMemberExternalUserId()))), e -> new ArrayList<>(Collections.singletonList(new ClerkStaffWxUserDTO(e.getStaffId(), e.getStaffClerkId(), e.getMemberExternalUserId(),e.getAddFriendTime()))),
// 重复key的value添加到集合 // 重复key的value添加到集合
(List<ClerkStaffWxUserDTO> oldList, List<ClerkStaffWxUserDTO> newList) -> { (List<ClerkStaffWxUserDTO> oldList, List<ClerkStaffWxUserDTO> newList) -> {
oldList.addAll(newList); oldList.addAll(newList);
......
...@@ -30,7 +30,6 @@ import com.gic.api.base.commons.JSONResponse; ...@@ -30,7 +30,6 @@ import com.gic.api.base.commons.JSONResponse;
import com.gic.api.base.dto.SubscribeMessageDTO; import com.gic.api.base.dto.SubscribeMessageDTO;
import com.gic.clerk.api.dto.ClerkDTO; import com.gic.clerk.api.dto.ClerkDTO;
import com.gic.clerk.api.service.ClerkService; import com.gic.clerk.api.service.ClerkService;
import com.gic.clerk.api.service.PowerService;
import com.gic.commons.util.DateUtil; import com.gic.commons.util.DateUtil;
import com.gic.commons.util.EntityUtil; import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.GICMQClientUtil; import com.gic.commons.util.GICMQClientUtil;
...@@ -182,8 +181,6 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -182,8 +181,6 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
@Autowired @Autowired
private ExternalClerkRelatedService externalClerkRelatedService; private ExternalClerkRelatedService externalClerkRelatedService;
@Autowired @Autowired
private PowerService powerService;
@Autowired
private MiniprogramSettingService miniprogramSettingService; private MiniprogramSettingService miniprogramSettingService;
@Autowired @Autowired
private WelcomeService welcomeService; private WelcomeService welcomeService;
...@@ -616,15 +613,9 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -616,15 +613,9 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
} }
String qrcodeParam = clerk.getQrcodeParam(); String qrcodeParam = clerk.getQrcodeParam();
if (StringUtils.isBlank(qrcodeParam)) { if (StringUtils.isBlank(qrcodeParam)) {
powerService.saveClerkQrCode(clerk.getClerkId()); log.info("导购码不存在:" + clerkCode);
clerk = clerkService.getClerkByClerkCode(enterpriseId, clerkCode); qrcodeParam = "clerk_clerk_"+clerk.getClerkId() ;
qrcodeParam = clerk.getQrcodeParam();
} }
if (StringUtils.isBlank(qrcodeParam)) {
log.info("新增外部联系人,创建member,导购二维码为空,clerkId={}", clerk.getClerkId());
return "";
}
String memberId = null ; String memberId = null ;
if (StringUtils.isNotBlank(mobile)) { if (StringUtils.isNotBlank(mobile)) {
memberId = memberService.getMemberIdByPhoneNumber(mobile, enterpriseId); memberId = memberService.getMemberIdByPhoneNumber(mobile, enterpriseId);
......
...@@ -39,7 +39,7 @@ import com.gic.wechat.api.service.qywx.QywxExternalUserService; ...@@ -39,7 +39,7 @@ import com.gic.wechat.api.service.qywx.QywxExternalUserService;
public class QwFriendApiServiceImpl implements QwFriendApiService { public class QwFriendApiServiceImpl implements QwFriendApiService {
private static final Logger log = LogManager.getLogger(QwFriendApiService.class); private static final Logger log = LogManager.getLogger(QwFriendApiService.class);
private static final int subjectType = 0 ; private int subjectType = 0 ;
@Autowired @Autowired
private EnterpriseUseForbidService enterpriseUseForbidService; private EnterpriseUseForbidService enterpriseUseForbidService;
...@@ -73,6 +73,9 @@ public class QwFriendApiServiceImpl implements QwFriendApiService { ...@@ -73,6 +73,9 @@ public class QwFriendApiServiceImpl implements QwFriendApiService {
public ServiceResponse<Map<String, String>> pendingIdCheck(String enterpriseId, String unionid, String openid, public ServiceResponse<Map<String, String>> pendingIdCheck(String enterpriseId, String unionid, String openid,
String wxaUnionid, String wxaOpenid , boolean setCheckFlag) { String wxaUnionid, String wxaOpenid , boolean setCheckFlag) {
if("ff8080815dacd3a2015dacd3ef5c0000".equals(enterpriseId)) {
subjectType = 1 ;
}
ServiceResponse<WxEnterpriseQwDTO> corpidResp = this.checkAndGetCorpid(enterpriseId,setCheckFlag); ServiceResponse<WxEnterpriseQwDTO> corpidResp = this.checkAndGetCorpid(enterpriseId,setCheckFlag);
if (!corpidResp.isSuccess()) { if (!corpidResp.isSuccess()) {
return ServiceResponse.failure(corpidResp.getCode(), corpidResp.getMessage()); return ServiceResponse.failure(corpidResp.getCode(), corpidResp.getMessage());
...@@ -128,6 +131,9 @@ public class QwFriendApiServiceImpl implements QwFriendApiService { ...@@ -128,6 +131,9 @@ public class QwFriendApiServiceImpl implements QwFriendApiService {
if (!corpidResp.isSuccess()) { if (!corpidResp.isSuccess()) {
return ServiceResponse.failure(corpidResp.getCode(), corpidResp.getMessage()); return ServiceResponse.failure(corpidResp.getCode(), corpidResp.getMessage());
} }
if("ff8080815dacd3a2015dacd3ef5c0000".equals(enterpriseId)) {
subjectType = 1 ;
}
String suiteid = config.getWxSuiteid(); String suiteid = config.getWxSuiteid();
WxEnterpriseQwDTO qwDTO = corpidResp.getResult(); WxEnterpriseQwDTO qwDTO = corpidResp.getResult();
String wxEnterpriseId = qwDTO.getWxEnterpriseId(); String wxEnterpriseId = qwDTO.getWxEnterpriseId();
......
package com.gic.haoban.manage.service.service.out.impl; package com.gic.haoban.manage.service.service.out.impl;
import cn.hutool.core.collection.CollectionUtil;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.Date; import java.util.Date;
...@@ -28,17 +27,28 @@ import com.gic.commons.util.GlobalInfo; ...@@ -28,17 +27,28 @@ import com.gic.commons.util.GlobalInfo;
import com.gic.commons.util.GlobalVar; import com.gic.commons.util.GlobalVar;
import com.gic.commons.util.ImageUtil; import com.gic.commons.util.ImageUtil;
import com.gic.enterprise.api.dto.EnterpriseSettingDTO; import com.gic.enterprise.api.dto.EnterpriseSettingDTO;
import com.gic.enterprise.api.dto.StoreDTO;
import com.gic.enterprise.api.dto.StoreGroupDTO; import com.gic.enterprise.api.dto.StoreGroupDTO;
import com.gic.enterprise.api.dto.StoreWidgetDTO; import com.gic.enterprise.api.dto.StoreWidgetDTO;
import com.gic.enterprise.api.service.EnterpriseService; import com.gic.enterprise.api.service.EnterpriseService;
import com.gic.enterprise.api.service.StoreGroupService; import com.gic.enterprise.api.service.StoreGroupService;
import com.gic.enterprise.api.service.StoreService;
import com.gic.enterprise.api.service.StoreWidgetService; import com.gic.enterprise.api.service.StoreWidgetService;
import com.gic.haoban.base.api.common.BasePageInfo; import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.base.api.common.ServiceResponse; import com.gic.haoban.base.api.common.ServiceResponse;
import com.gic.haoban.common.utils.PageUtil; import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.common.utils.RolesListUtils; import com.gic.haoban.common.utils.RolesListUtils;
import com.gic.haoban.common.utils.UuidUtil; import com.gic.haoban.common.utils.UuidUtil;
import com.gic.haoban.manage.api.dto.*; import com.gic.haoban.manage.api.dto.DepartmentDTO;
import com.gic.haoban.manage.api.dto.SecretSettingDTO;
import com.gic.haoban.manage.api.dto.StaffClerkRelationDTO;
import com.gic.haoban.manage.api.dto.StaffDTO;
import com.gic.haoban.manage.api.dto.StaffDepartmentRelatedDTO;
import com.gic.haoban.manage.api.dto.StaffPrivacyUseLogDTO;
import com.gic.haoban.manage.api.dto.StaffQrCodeDTO;
import com.gic.haoban.manage.api.dto.UserLoginLogDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseQwDTO;
import com.gic.haoban.manage.api.dto.role.StoreRoleDTO; import com.gic.haoban.manage.api.dto.role.StoreRoleDTO;
import com.gic.haoban.manage.api.enums.SecretTypeEnum; import com.gic.haoban.manage.api.enums.SecretTypeEnum;
import com.gic.haoban.manage.api.service.StaffApiService; import com.gic.haoban.manage.api.service.StaffApiService;
...@@ -69,6 +79,8 @@ import com.gic.wechat.api.service.qywx.QywxUserApiService; ...@@ -69,6 +79,8 @@ import com.gic.wechat.api.service.qywx.QywxUserApiService;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import cn.hutool.core.collection.CollectionUtil;
@Service @Service
public class StaffApiServiceImpl implements StaffApiService { public class StaffApiServiceImpl implements StaffApiService {
...@@ -801,24 +813,24 @@ public class StaffApiServiceImpl implements StaffApiService { ...@@ -801,24 +813,24 @@ public class StaffApiServiceImpl implements StaffApiService {
Object cache = RedisUtil.getCache(cacheKey); Object cache = RedisUtil.getCache(cacheKey);
if (cache != null) { if (cache != null) {
List<String> storeList = (List<String>) cache; List<String> storeList = (List<String>) cache;
logger.info("从缓存中获取通道={},数量:{}", cacheKey, storeList.size()); logger.info("从缓存中获取key={},store数量:{}", cacheKey, storeList.size());
return storeList; return storeList;
} }
ClerkDTO clerkDTO = clerkService.getClerkByClerkId(clerkId); ClerkDTO clerkDTO = clerkService.getClerkByClerkId(clerkId);
if (clerkDTO == null) { if (clerkDTO == null) {
logger.info("导购不存在:clerkId:{}", clerkId); logger.info("导购不存在:clerkId:{},无门店", clerkId);
return Collections.emptyList(); return Collections.emptyList();
} }
String enterpriseId = clerkDTO.getEnterpriseId(); String enterpriseId = clerkDTO.getEnterpriseId();
List<String> enterpriseIdStoreIds = storeRangeService.listStoreIdByWxEnterpriseId(wxEnterpriseId, enterpriseId); List<String> enterpriseIdStoreIds = storeRangeService.listStoreIdByWxEnterpriseId(wxEnterpriseId, enterpriseId);
if (CollectionUtils.isEmpty(enterpriseIdStoreIds)) { if (CollectionUtils.isEmpty(enterpriseIdStoreIds)) {
logger.info("好办门店空,eid={}", enterpriseId); logger.info("无好办门店,eid={}", enterpriseId);
return Collections.emptyList(); return Collections.emptyList();
} }
logger.info("好办门店id数量:{}", enterpriseIdStoreIds.size()); logger.info("好办门店数量={}", enterpriseIdStoreIds.size());
List<String> gicStoreIds = getStoreIdList(clerkDTO); List<String> gicStoreIds = getStoreIdList(clerkDTO);
if (CollectionUtils.isEmpty(gicStoreIds)) { if (CollectionUtils.isEmpty(gicStoreIds)) {
logger.info("gic门店为空"); logger.info("gic门店为空");
return Collections.emptyList(); return Collections.emptyList();
} }
if (gicStoreIds.contains("-1")) { if (gicStoreIds.contains("-1")) {
...@@ -838,10 +850,10 @@ public class StaffApiServiceImpl implements StaffApiService { ...@@ -838,10 +850,10 @@ public class StaffApiServiceImpl implements StaffApiService {
RedisUtil.setCache(cacheKey, enterpriseIdStoreIds, 10L, TimeUnit.MINUTES); RedisUtil.setCache(cacheKey, enterpriseIdStoreIds, 10L, TimeUnit.MINUTES);
return enterpriseIdStoreIds; return enterpriseIdStoreIds;
} }
logger.info("gic门店数量{}", gicStoreIds.size()); logger.info("gic门店数量={}", gicStoreIds.size());
//取交集 //取交集
List<String> storeList = RolesListUtils.mergeList(enterpriseIdStoreIds, gicStoreIds); List<String> storeList = RolesListUtils.mergeList(enterpriseIdStoreIds, gicStoreIds);
logger.info("该导购权限:clerkId:{},门店数量:{}", clerkId, storeList.size()); logger.info("clerkId={},门店交集数量={}", clerkId, storeList.size());
RedisUtil.setCache(cacheKey, storeList, 10L, TimeUnit.MINUTES); RedisUtil.setCache(cacheKey, storeList, 10L, TimeUnit.MINUTES);
return storeList; return storeList;
} }
...@@ -891,14 +903,25 @@ public class StaffApiServiceImpl implements StaffApiService { ...@@ -891,14 +903,25 @@ public class StaffApiServiceImpl implements StaffApiService {
return storeRoleDTO; return storeRoleDTO;
} }
if (storeIds.contains("-1")) { if (storeIds.contains("-1")) {
logger.info("该导购为超管"); logger.info("该导购为所有门店,clerkId={}",clerkId);
int gicStoreCount = storeWidgetService.getClerkWidgetStore(clerkId); String storeWidgetId = this.powerService.getStoreWidgetId(new Date(), clerkId);
storeRoleDTO.setStoreCount(gicStoreCount); int storeCount = 0 ;
String storeId = null ;
if(null != storeWidgetId) {
Page<Object> pageParam = new Page<Object>();
pageParam.setCurrentPage(1);
pageParam.setPageSize(1);
Page<StoreDTO> page = storeWidgetService.getStoreWidgetStore(storeWidgetId, null, clerkDTO.getEnterpriseId(), pageParam, null,null);
storeId = page.getResult().get(0).getStoreId();
storeCount = page.getTotalCount();
storeRoleDTO.setStoreId(storeId);
storeRoleDTO.setStoreCount(storeCount);
}
return storeRoleDTO; return storeRoleDTO;
} }
int size = storeIds.size(); int size = storeIds.size();
storeRoleDTO.setStoreCount(size); storeRoleDTO.setStoreCount(size);
if (size == 1) { if (size >= 1) {
storeRoleDTO.setStoreId(storeIds.get(0)); storeRoleDTO.setStoreId(storeIds.get(0));
} }
return storeRoleDTO; return storeRoleDTO;
...@@ -912,7 +935,6 @@ public class StaffApiServiceImpl implements StaffApiService { ...@@ -912,7 +935,6 @@ public class StaffApiServiceImpl implements StaffApiService {
Integer superAdmin = clerkDTO.getSuperAdmin(); Integer superAdmin = clerkDTO.getSuperAdmin();
if (superAdmin != null && superAdmin == 1) { if (superAdmin != null && superAdmin == 1) {
logger.info("gic超管,clerkId:{}", clerkId); logger.info("gic超管,clerkId:{}", clerkId);
//gic超管
return Collections.singletonList("-1"); return Collections.singletonList("-1");
} }
String enterpriseId = clerkDTO.getEnterpriseId(); String enterpriseId = clerkDTO.getEnterpriseId();
...@@ -920,23 +942,22 @@ public class StaffApiServiceImpl implements StaffApiService { ...@@ -920,23 +942,22 @@ public class StaffApiServiceImpl implements StaffApiService {
if (enterpriseSetting.getEnableAccessControl() != null && enterpriseSetting.getEnableAccessControl() == 1) { if (enterpriseSetting.getEnableAccessControl() != null && enterpriseSetting.getEnableAccessControl() == 1) {
String storeWidgetId = this.powerService.getStoreWidgetId(new Date(), clerkId); String storeWidgetId = this.powerService.getStoreWidgetId(new Date(), clerkId);
if (StringUtils.isBlank(storeWidgetId)) { if (StringUtils.isBlank(storeWidgetId)) {
logger.info("导购权限不存在"); logger.info("导购无门店权限,门店组件id is null");
return Collections.emptyList(); return Collections.emptyList();
} }
StoreWidgetDTO storeWidgetDTO = this.storeWidgetService.getStoreWidgetBykey(storeWidgetId); StoreWidgetDTO storeWidgetDTO = this.storeWidgetService.getStoreWidgetBykey(storeWidgetId);
if (storeWidgetDTO == null) { if (storeWidgetDTO == null) {
logger.info("导购权限不存在"); logger.info("导购门店权限查不到,storeWidgetId={}",storeWidgetId);
return Collections.emptyList(); return Collections.emptyList();
} }
Integer selectType = storeWidgetDTO.getSelectType(); Integer selectType = storeWidgetDTO.getSelectType();
if (selectType != null && selectType == 0) { if (selectType != null && selectType == 0) {
//gic超管 logger.info("gic超管所有门店,clerkId:{}", clerkId);
logger.info("gic超管,clerkId:{}", clerkId);
return Collections.singletonList("-1"); return Collections.singletonList("-1");
} }
return getStoreWidgetIdStoreIds(storeWidgetId, enterpriseId); return getStoreWidgetIdStoreIds(storeWidgetId, enterpriseId);
} else { } else {
//未开启分权 logger.info("无开启权限 ,所有门店,clerkId={}", clerkId);
return Collections.singletonList("-1"); return Collections.singletonList("-1");
} }
} }
......
...@@ -302,12 +302,6 @@ public class WxEnterpriseApiServiceImpl implements WxEnterpriseApiService { ...@@ -302,12 +302,6 @@ public class WxEnterpriseApiServiceImpl implements WxEnterpriseApiService {
wxEnterpriseService.update(enterpriseDTO); wxEnterpriseService.update(enterpriseDTO);
} }
// 返回true说明已过期
@Override
public boolean enterpriseIsOver(String enterpriseId) {
return haobanIsStop(enterpriseId) ;
}
@Override @Override
public SecretSettingDTO getSecretSetting(String wxEnterpriseId, int secretType, String enterpriseId) { public SecretSettingDTO getSecretSetting(String wxEnterpriseId, int secretType, String enterpriseId) {
if (secretType == SecretTypeEnum.MEMBER_WAPP.getVal()) { if (secretType == SecretTypeEnum.MEMBER_WAPP.getVal()) {
......
...@@ -5,7 +5,6 @@ import com.alibaba.fastjson.JSON; ...@@ -5,7 +5,6 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.gic.clerk.api.dto.ClerkDTO; import com.gic.clerk.api.dto.ClerkDTO;
import com.gic.clerk.api.service.ClerkService; import com.gic.clerk.api.service.ClerkService;
import com.gic.clerk.api.service.PowerService;
import com.gic.commons.util.GICMQClientUtil; import com.gic.commons.util.GICMQClientUtil;
import com.gic.haoban.manage.api.dto.*; import com.gic.haoban.manage.api.dto.*;
import com.gic.haoban.manage.api.enums.PreDealStatusEnum; import com.gic.haoban.manage.api.enums.PreDealStatusEnum;
...@@ -55,8 +54,6 @@ public class FriendSyncNewOperation implements BaseSyncOperation { ...@@ -55,8 +54,6 @@ public class FriendSyncNewOperation implements BaseSyncOperation {
@Autowired @Autowired
private ClerkService clerkService; private ClerkService clerkService;
@Autowired @Autowired
private PowerService powerService;
@Autowired
private FriendClerkSyncNewOperation friendClerkSyncNewOperation; private FriendClerkSyncNewOperation friendClerkSyncNewOperation;
@Autowired @Autowired
private WxEnterpriseRelatedService wxEnterpriseRelatedService; private WxEnterpriseRelatedService wxEnterpriseRelatedService;
...@@ -200,12 +197,8 @@ public class FriendSyncNewOperation implements BaseSyncOperation { ...@@ -200,12 +197,8 @@ public class FriendSyncNewOperation implements BaseSyncOperation {
} }
String qrcodeParam = clerk.getQrcodeParam(); String qrcodeParam = clerk.getQrcodeParam();
if (StringUtils.isBlank(qrcodeParam)) { if (StringUtils.isBlank(qrcodeParam)) {
powerService.saveClerkQrCode(clerk.getClerkId()); logger.info("导购码不存在:" + clerkCode);
clerk = clerkService.getClerkByClerkCode(staffClerkRelationDTO.getEnterpriseId(), clerkCode); qrcodeParam = "clerk_clerk_"+clerk.getClerkId() ;
qrcodeParam = clerk.getQrcodeParam();
}
if (StringUtils.isBlank(qrcodeParam)) {
return "导购码不存在:" + clerkCode;
} }
QywxMemberQDTO qdto = new QywxMemberQDTO() ; QywxMemberQDTO qdto = new QywxMemberQDTO() ;
qdto.setEnterpriseId(enterpriseId); qdto.setEnterpriseId(enterpriseId);
......
package com.gic.haoban.manage.service.util;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.gic.clerk.api.dto.ClerkDTO;
import com.gic.clerk.api.service.ClerkService;
@Component
public class ClerkUtils {
private static ClerkService clerkService;
@Autowired
public void setClerkService(ClerkService clerkService) {
ClerkUtils.clerkService = clerkService;
}
public String getClerkStore(ClerkDTO clerk, String clerkId) {
if (null == clerk) {
clerk = clerkService.getclerkById(clerkId);
}
if (null == clerk) {
return null;
}
if (clerk.getClerkType() != 0 && clerk.getClerkType() != 1) {
return null;
}
return clerk.getStoreId();
}
}
...@@ -364,7 +364,7 @@ ...@@ -364,7 +364,7 @@
select * from ( select * from (
select ecr.member_id as memberId, select ecr.member_id as memberId,
ecr.external_user_id as memberExternalUserId, ecr.external_user_id as memberExternalUserId,
ecr.create_time AS create_time , ecr.create_time as addFriendTime ,
scr.staff_id as staffId, scr.staff_id as staffId,
scr.clerk_id as staffClerkId scr.clerk_id as staffClerkId
from tab_haoban_external_clerk_related as ecr from tab_haoban_external_clerk_related as ecr
...@@ -386,7 +386,7 @@ ...@@ -386,7 +386,7 @@
<foreach collection="memberIdList" item="item" separator="," open="(" close=")"> <foreach collection="memberIdList" item="item" separator="," open="(" close=")">
#{item} #{item}
</foreach> </foreach>
) t where t.staffId is not null ORDER BY t.create_time DESC ) t where t.staffId is not null ORDER BY t.addFriendTime DESC
</select> </select>
......
...@@ -336,7 +336,7 @@ public class StaffController extends WebBaseController { ...@@ -336,7 +336,7 @@ public class StaffController extends WebBaseController {
return resultResponse(HaoBanErrCode.ERR_10010); return resultResponse(HaoBanErrCode.ERR_10010);
} }
List<String> enterpriseIds = list.stream().filter(dto -> { List<String> enterpriseIds = list.stream().filter(dto -> {
boolean over = wxEnterpriseApiService.enterpriseIsOver(dto.getEnterpriseId()); boolean over = wxEnterpriseApiService.haobanIsStop(dto.getEnterpriseId());
return !over; return !over;
}).map(EnterpriseDetailDTO::getEnterpriseId).collect(Collectors.toList()); }).map(EnterpriseDetailDTO::getEnterpriseId).collect(Collectors.toList());
......
...@@ -179,7 +179,46 @@ ...@@ -179,7 +179,46 @@
</exclusion> </exclusion>
</exclusions> </exclusions>
</dependency> </dependency>
<dependency>
<groupId>com.gic</groupId>
<artifactId>gic-ecm-api</artifactId>
<version>${gic-ecm-api}</version>
</dependency>
<dependency>
<groupId>com.gic</groupId>
<artifactId>gic-marketing-api</artifactId>
<version>${gic-marketing-api}</version>
</dependency>
<dependency>
<groupId>com.gic</groupId>
<artifactId>gic-marketing-pro-api</artifactId>
<version>${gic-marketing-pro-api}</version>
</dependency>
<dependency>
<groupId>com.gic</groupId>
<artifactId>gic-enterprise-operation-api</artifactId>
<version>${gic-enterprise-operation-api}</version>
<exclusions>
<exclusion>
<artifactId>hibernate-validator</artifactId>
<groupId>org.hibernate.validator</groupId>
</exclusion>
<exclusion>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.gic</groupId>
<artifactId>gic-game-api</artifactId>
<version>${gic-game-api}</version>
</dependency>
<dependency>
<groupId>com.gic</groupId>
<artifactId>gic-integral-mall-api</artifactId>
<version>${gic-integral-mall-api}</version>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
...@@ -36,4 +36,16 @@ public class WebBaseController { ...@@ -36,4 +36,16 @@ public class WebBaseController {
response.setErrorCode(errCode.getCode()); response.setErrorCode(errCode.getCode());
return response; return response;
} }
public HaobanResponse success(Object obj) {
return resultResponse(HaoBanErrCode.ERR_1, obj, null);
}
public HaobanResponse fail(String message) {
HaobanResponse response = new HaobanResponse();
response.setMessage(message);
response.setErrorCode(HaoBanErrCode.ERR_OTHER.getCode());
response.setDetailError(message);
return response;
}
} }
...@@ -18,10 +18,8 @@ import com.gic.haoban.app.customer.service.api.service.CustomerApiService; ...@@ -18,10 +18,8 @@ import com.gic.haoban.app.customer.service.api.service.CustomerApiService;
import com.gic.haoban.app.customer.service.api.service.StaffMemberRelationApiService; import com.gic.haoban.app.customer.service.api.service.StaffMemberRelationApiService;
import com.gic.haoban.common.anno.HttpLimit; import com.gic.haoban.common.anno.HttpLimit;
import com.gic.haoban.common.anno.IgnoreLogin; import com.gic.haoban.common.anno.IgnoreLogin;
import com.gic.haoban.common.utils.AuthRequestWellDoneUtil;
import com.gic.haoban.common.utils.EntityUtil; import com.gic.haoban.common.utils.EntityUtil;
import com.gic.haoban.common.utils.HaobanResponse; import com.gic.haoban.common.utils.HaobanResponse;
import com.gic.haoban.common.utils.JwtUtil;
import com.gic.haoban.manage.api.dto.*; import com.gic.haoban.manage.api.dto.*;
import com.gic.haoban.manage.api.enums.SecretTypeEnum; import com.gic.haoban.manage.api.enums.SecretTypeEnum;
import com.gic.haoban.manage.api.service.*; import com.gic.haoban.manage.api.service.*;
......
package com.gic.haoban.manage.web.controller.member;
import org.springframework.web.bind.annotation.RestController;
import com.gic.haoban.manage.web.controller.WebBaseController;
@RestController
public class MemberController extends WebBaseController {
}
package com.gic.haoban.manage.web.vo;
import java.io.Serializable;
import java.util.Date;
/**
* @Author guojx
* @Date 2022/3/17 15:23
*/
public class AiMemberLogListVO implements Serializable {
private Long aiLogId;
/**
* 拨打时间 (触达时间)
*/
private Date aiTime;
/**
* 活动名称
*/
private String planName;
/**
* 活动场景
*/
private String activityScene;
/**
* 话术名称(模板名称)
*/
private String aiTemplateName;
public Long getAiLogId() {
return aiLogId;
}
public AiMemberLogListVO setAiLogId(Long aiLogId) {
this.aiLogId = aiLogId;
return this;
}
public Date getAiTime() {
return aiTime;
}
public AiMemberLogListVO setAiTime(Date aiTime) {
this.aiTime = aiTime;
return this;
}
public String getPlanName() {
return planName;
}
public AiMemberLogListVO setPlanName(String planName) {
this.planName = planName;
return this;
}
public String getActivityScene() {
return activityScene;
}
public AiMemberLogListVO setActivityScene(String activityScene) {
this.activityScene = activityScene;
return this;
}
public String getAiTemplateName() {
return aiTemplateName;
}
public AiMemberLogListVO setAiTemplateName(String aiTemplateName) {
this.aiTemplateName = aiTemplateName;
return this;
}
@Override
public String toString() {
return "AiMemberLogListVO{" +
"aiLogId=" + aiLogId +
", aiTime=" + aiTime +
", planName='" + planName + '\'' +
", activityScene='" + activityScene + '\'' +
", aiTemplateName='" + aiTemplateName + '\'' +
'}';
}
}
package com.gic.haoban.manage.web.vo;
import java.io.Serializable;
public class StoreListVO implements Serializable{
private String storeId ;
private String storeName ;
public String getStoreId() {
return storeId;
}
public String getStoreName() {
return storeName;
}
public void setStoreId(String storeId) {
this.storeId = storeId;
}
public void setStoreName(String storeName) {
this.storeName = storeName;
}
}
...@@ -8,11 +8,24 @@ ...@@ -8,11 +8,24 @@
http://www.springframework.org/schema/context http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/context/spring-context.xsd
http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"> http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<context:component-scan base-package="com.gic.haoban"/> <context:component-scan base-package="com.gic.haoban"/>
<!-- 应用名称 --> <!-- 应用名称 -->
<dubbo:application name="haoban-manage3-wx"/> <dubbo:application name="haoban-manage3-wx"/>
<dubbo:protocol name="dubbo" port="30010"/> <dubbo:protocol name="dubbo" port="30010"/>
<dubbo:reference interface="com.gic.member.api.service.GradeService" id="gradeService" />
<dubbo:reference interface="com.gic.ecm.api.service.EcmPlanService" id="ecmPlanService" />
<dubbo:reference interface="com.gic.marketing.api.service.CardExportService" id="cardExportService" />
<dubbo:reference interface="com.gic.marketing.api.service.SmsService" id="smsService" />
<dubbo:reference interface="com.gic.marketing.api.service.WechatMarketingService" id="wechatMarketingService" />
<dubbo:reference interface="com.gic.marketing.pro.api.service.ai.AiMemberLogApiService" id="aiMemberLogApiService" />
<dubbo:reference interface="com.gic.marketing.api.service.CouponCardService" id="couponCardService" />
<dubbo:reference interface="com.gic.game.api.service.GameService" id="gameService" />
<dubbo:reference interface="com.gic.enterprise.service.CustomSettingApiService" id="customSettingApiService" />
<dubbo:reference interface="com.gic.marketing.pro.api.service.game.GameApiService" id="gameApiService" />
<dubbo:reference interface="com.gic.member.api.service.AchievementService" id="achievementService" />
<dubbo:reference interface="com.gic.clerk.api.service.PowerService" id="powerService" />
<dubbo:reference interface="com.gic.integralmall.api.service.IntegralmallService" id="integralmallService" />
<dubbo:reference interface="com.gic.enterprise.api.service.EnterpriseUseForbidService" id="enterpriseUseForbidService"/> <dubbo:reference interface="com.gic.enterprise.api.service.EnterpriseUseForbidService" id="enterpriseUseForbidService"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.StaffDepartmentRelatedApiService" <dubbo:reference interface="com.gic.haoban.manage.api.service.StaffDepartmentRelatedApiService"
id="staffDepartmentRelatedApiService"/> id="staffDepartmentRelatedApiService"/>
......
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