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; package com.gic.haoban.manage.web.controller;
import cn.hutool.core.collection.CollectionUtil; import java.util.ArrayList;
import cn.hutool.core.convert.Convert; import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.TreeSet;
import java.util.stream.Collectors;
import javax.validation.Valid;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
...@@ -10,11 +34,13 @@ import com.gic.clerk.api.dto.ClerkDTO; ...@@ -10,11 +34,13 @@ import com.gic.clerk.api.dto.ClerkDTO;
import com.gic.clerk.api.dto.ClerkListDTO; import com.gic.clerk.api.dto.ClerkListDTO;
import com.gic.clerk.api.service.ClerkNewService; import com.gic.clerk.api.service.ClerkNewService;
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.webapi.reponse.RestResponse; import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.enterprise.api.dto.EnterpriseDTO; import com.gic.enterprise.api.dto.EnterpriseDTO;
import com.gic.enterprise.api.dto.StoreDTO; import com.gic.enterprise.api.dto.StoreDTO;
import com.gic.enterprise.api.dto.StoreSearchDTO;
import com.gic.enterprise.api.service.EnterpriseService; import com.gic.enterprise.api.service.EnterpriseService;
import com.gic.enterprise.api.service.StoreService; import com.gic.enterprise.api.service.StoreService;
import com.gic.enterprise.api.service.StoreWidgetService; import com.gic.enterprise.api.service.StoreWidgetService;
...@@ -22,37 +48,63 @@ import com.gic.haoban.app.customer.service.api.service.CustomerApiService; ...@@ -22,37 +48,63 @@ import com.gic.haoban.app.customer.service.api.service.CustomerApiService;
import com.gic.haoban.app.customer.service.api.service.DistributeApiService; import com.gic.haoban.app.customer.service.api.service.DistributeApiService;
import com.gic.haoban.base.api.common.BasePageInfo; import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.base.api.common.PageResult2; import com.gic.haoban.base.api.common.PageResult2;
import com.gic.haoban.base.api.common.pojo.dto.WellDoneLoginDTO;
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.GooglePhoneNumberUtil; import com.gic.haoban.common.utils.GooglePhoneNumberUtil;
import com.gic.haoban.common.utils.HaobanResponse; import com.gic.haoban.common.utils.HaobanResponse;
import com.gic.haoban.common.utils.PageUtil; import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.manage.api.dto.*; import com.gic.haoban.manage.api.dto.AuditDTO;
import com.gic.haoban.manage.api.dto.AuditSettingDTO;
import com.gic.haoban.manage.api.dto.ClerkMainStoreRelatedDTO;
import com.gic.haoban.manage.api.dto.EnterpriseDetailDTO;
import com.gic.haoban.manage.api.dto.ExternalClerkRelatedDTO;
import com.gic.haoban.manage.api.dto.StaffClerkInfoDTO;
import com.gic.haoban.manage.api.dto.StaffClerkRelationDTO;
import com.gic.haoban.manage.api.dto.StaffDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseQwDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseRelationDetailDTO;
import com.gic.haoban.manage.api.dto.role.HaobanRoleDTO; import com.gic.haoban.manage.api.dto.role.HaobanRoleDTO;
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.*; import com.gic.haoban.manage.api.enums.AuditStatus;
import com.gic.haoban.manage.api.enums.AuditType;
import com.gic.haoban.manage.api.enums.ChannelCodeEnum;
import com.gic.haoban.manage.api.enums.NoticeMessageTypeEnum;
import com.gic.haoban.manage.api.enums.SyncTaskTypeEnum;
import com.gic.haoban.manage.api.enums.role.RoleClerkTypeEnum; import com.gic.haoban.manage.api.enums.role.RoleClerkTypeEnum;
import com.gic.haoban.manage.api.service.*; import com.gic.haoban.manage.api.service.AuditApiService;
import com.gic.haoban.manage.api.service.AuditSettingApiService;
import com.gic.haoban.manage.api.service.ClerkMainStoreRelatedApiService;
import com.gic.haoban.manage.api.service.DealSyncOperationApiService;
import com.gic.haoban.manage.api.service.ExternalClerkRelatedApiService;
import com.gic.haoban.manage.api.service.StaffApiService;
import com.gic.haoban.manage.api.service.StaffClerkRelationApiService;
import com.gic.haoban.manage.api.service.StaffDepartmentRelatedApiService;
import com.gic.haoban.manage.api.service.SyncHaobanToGicApiService;
import com.gic.haoban.manage.api.service.WxEnterpriseApiService;
import com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService;
import com.gic.haoban.manage.api.service.role.HaobanRoleApiService; import com.gic.haoban.manage.api.service.role.HaobanRoleApiService;
import com.gic.haoban.manage.api.util.notify.NoticeMessageUtil; import com.gic.haoban.manage.api.util.notify.NoticeMessageUtil;
import com.gic.haoban.manage.web.config.Config; import com.gic.haoban.manage.web.config.Config;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode; import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
import com.gic.haoban.manage.web.qo.CommonQO; import com.gic.haoban.manage.web.qo.CommonQO;
import com.gic.haoban.manage.web.vo.*; import com.gic.haoban.manage.web.vo.AuditSettingVO;
import com.gic.haoban.manage.web.vo.BindClerkVO;
import com.gic.haoban.manage.web.vo.ClerkDetailVo;
import com.gic.haoban.manage.web.vo.ClerkEditInfoVO;
import com.gic.haoban.manage.web.vo.ClerkStoreVO;
import com.gic.haoban.manage.web.vo.OperationSettingVO;
import com.gic.haoban.manage.web.vo.StaffStoreVO;
import com.gic.haoban.manage.web.vo.StaffVO;
import com.gic.haoban.manage.web.vo.StoreClerkVO;
import com.gic.haoban.manage.web.vo.StoreListVO;
import com.gic.haoban.manage.web.vo.StoreRoleVO;
import com.gic.haoban.manage.web.vo.notify.CustomerFriendMemberVO; import com.gic.haoban.manage.web.vo.notify.CustomerFriendMemberVO;
import com.gic.redis.data.util.RedisUtil; import com.gic.redis.data.util.RedisUtil;
import com.gic.wechat.api.service.qywx.QywxUserApiService; import com.gic.wechat.api.service.qywx.QywxUserApiService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid; import cn.hutool.core.collection.CollectionUtil;
import java.util.*; import cn.hutool.core.convert.Convert;
import java.util.stream.Collectors;
@RestController @RestController
public class WxStaffController extends WebBaseController { public class WxStaffController extends WebBaseController {
...@@ -100,6 +152,8 @@ public class WxStaffController extends WebBaseController { ...@@ -100,6 +152,8 @@ public class WxStaffController extends WebBaseController {
private StoreWidgetService storeWidgetService; private StoreWidgetService storeWidgetService;
@Autowired @Autowired
private HaobanRoleApiService haobanRoleApiService; private HaobanRoleApiService haobanRoleApiService;
@Autowired
private PowerService powerService ;
//选择成员列表 //选择成员列表
@RequestMapping("/staff-list") @RequestMapping("/staff-list")
...@@ -668,7 +722,7 @@ public class WxStaffController extends WebBaseController { ...@@ -668,7 +722,7 @@ public class WxStaffController extends WebBaseController {
return resultResponse(HaoBanErrCode.ERR_1); return resultResponse(HaoBanErrCode.ERR_1);
} }
List<String> enterpriseIdList = list.stream().filter(s -> { List<String> enterpriseIdList = list.stream().filter(s -> {
boolean over = wxEnterpriseApiService.enterpriseIsOver(s.getEnterpriseId()); boolean over = wxEnterpriseApiService.haobanIsStop(s.getEnterpriseId());
return !over; return !over;
}).map(EnterpriseDetailDTO::getEnterpriseId).collect(Collectors.toList()); }).map(EnterpriseDetailDTO::getEnterpriseId).collect(Collectors.toList());
List<String> storeIds = wxEnterpriseRelatedApiService.listStoreIdByWxEnterpriseId(wxEnterpriseId); List<String> storeIds = wxEnterpriseRelatedApiService.listStoreIdByWxEnterpriseId(wxEnterpriseId);
...@@ -708,7 +762,7 @@ public class WxStaffController extends WebBaseController { ...@@ -708,7 +762,7 @@ public class WxStaffController extends WebBaseController {
return resultResponse(HaoBanErrCode.ERR_1); return resultResponse(HaoBanErrCode.ERR_1);
} }
List<String> enterpriseIdList = list.stream().filter(s -> { List<String> enterpriseIdList = list.stream().filter(s -> {
boolean over = wxEnterpriseApiService.enterpriseIsOver(s.getEnterpriseId()); boolean over = wxEnterpriseApiService.haobanIsStop(s.getEnterpriseId());
return !over; return !over;
}).map(s -> s.getEnterpriseId()).collect(Collectors.toList()); }).map(s -> s.getEnterpriseId()).collect(Collectors.toList());
List<String> storeIds = wxEnterpriseRelatedApiService.listStoreIdByWxEnterpriseId(wxEnterpriseId); List<String> storeIds = wxEnterpriseRelatedApiService.listStoreIdByWxEnterpriseId(wxEnterpriseId);
...@@ -1548,11 +1602,9 @@ public class WxStaffController extends WebBaseController { ...@@ -1548,11 +1602,9 @@ public class WxStaffController extends WebBaseController {
/** /**
* 会员关联数量 * 会员关联数量
*
* @return
*/ */
@RequestMapping("external-friend-count") @RequestMapping("external-friend-count")
public RestResponse friendCount(String staffId) { public RestResponse<Object> friendCount(String staffId) {
StaffDTO staff = staffApiService.selectById(staffId); StaffDTO staff = staffApiService.selectById(staffId);
if (staff == null) { if (staff == null) {
return RestResponse.successResult(0); return RestResponse.successResult(0);
...@@ -1562,4 +1614,104 @@ public class WxStaffController extends WebBaseController { ...@@ -1562,4 +1614,104 @@ public class WxStaffController extends WebBaseController {
return RestResponse.successResult(countExternalClerk); return RestResponse.successResult(countExternalClerk);
} }
// 区经门店列表
@RequestMapping("/list-clerk-store")
public RestResponse<Object> listClerkStore(String wxEnterpriseId , String enterpriseId,String clerkId, @RequestParam(defaultValue="20")int pageSize , @RequestParam(defaultValue="1")int currentPage) {
List<String> storeIdList = this.staffApiService.getHaoBanStoreIdsRolesByClerkId(clerkId, wxEnterpriseId) ;
if (CollectionUtils.isEmpty(storeIdList)) {
return RestResponse.failure("-1", "无授权门店");
}
List<StoreListVO> voList = new ArrayList<>();
int totalCount = 0 ;
List<StoreDTO> storeDTOList = new ArrayList<>() ;
if(storeIdList.get(0).contains("-1")) {
String storeWidgetId = this.powerService.getStoreWidgetId(new Date(), clerkId);
logger.info("权限-所有门店storeWidgetId={}",storeWidgetId);
Page<Object> pageParam = new Page<Object>();
pageParam.setCurrentPage(currentPage);
pageParam.setPageSize(pageSize);
Page<StoreDTO> page = storeWidgetService.getStoreWidgetStore(storeWidgetId, null, enterpriseId, pageParam, null,null);
if (page != null) {
storeDTOList = page.getResult();
totalCount = page.getTotalCount();
}
}else {
totalCount = storeIdList.size();
int start = pageSize * (currentPage-1) ;
if(start<totalCount) {
int end = start +pageSize ;
if(end>totalCount) {
end = totalCount ;
}
List<String> subStoreIdList = storeIdList.subList(start, end) ;
if(CollectionUtils.isNotEmpty(subStoreIdList)) {
logger.info("分页当前页storeid数={}",subStoreIdList.size());
String[] arr = new String[subStoreIdList.size()] ;
List<StoreDTO> storeList = this.storeService.getStores(subStoreIdList.toArray(arr));
Map<String,StoreDTO> storeMap = storeList.stream().collect(Collectors.toMap(StoreDTO::getStoreId, o->o,(k1,k2)->k1)) ;
for(String id : subStoreIdList) {
if(null != storeMap.get(id)) {
storeDTOList.add(storeMap.get(id)) ;
}
}
}
}
}
if(CollectionUtils.isNotEmpty(storeDTOList)) {
for(StoreDTO store : storeDTOList) {
StoreListVO vo = new StoreListVO();
vo.setStoreId(store.getStoreId());
vo.setStoreName(store.getStoreName());
voList.add(vo) ;
}
}
Page<StoreListVO> page = new Page<>();
page.setResult(voList);
page.setTotalCount(totalCount);
page.setCurrentPage(currentPage);
page.setPageSize(pageSize);
return RestResponse.successResult(page);
}
//区经门店查询
@RequestMapping("search-clerk-store")
public RestResponse<Object> listClerkStoreByParams(String wxEnterpriseId, String enterpriseId, String clerkId, String storeSearchParams) {
if(StringUtils.isEmpty(storeSearchParams)) {
return RestResponse.failure("-1", "查询条件为空") ;
}
// 如果有权限控制,进行管辖门店过0滤
List<String> authStoreIdList = this.staffApiService.getHaoBanStoreIdsRolesByClerkId(clerkId, wxEnterpriseId);
if (CollectionUtils.isEmpty(authStoreIdList)) {
return RestResponse.failure("-1", "无授权门店");
}
StoreSearchDTO searchDTO = new StoreSearchDTO();
searchDTO.setRecycleStoreCount(0);
searchDTO.setMemberCountFlag(0);
searchDTO.setSearchName(storeSearchParams);
// 企业ID
searchDTO.setEnterpriseId(enterpriseId);
if(!authStoreIdList.contains("-1")) {
searchDTO.setAuthStoreIdList(authStoreIdList);
}
// 门店参数
Page page = new Page();
page.setPageSize(20);
page.setCurrentPage(1);
Map<String, Object> params = new HashMap<>();
params.put("searchDto", searchDTO);
page.setParams(params);
logger.info("查询条件={}", JSON.toJSONString(page));
Map<String, Object> result = storeService.getStoreListPage(page);
page = (Page) result.get("page");
List<StoreDTO> storeList = (List<StoreDTO>) result.get("list");
List<StoreListVO> retList = new ArrayList<StoreListVO>();
StoreListVO vo = null;
for (StoreDTO dto : storeList) {
vo = new StoreListVO();
vo.setStoreId(dto.getStoreId());
vo.setStoreName(dto.getStoreName());
retList.add(vo);
}
return RestResponse.successResult(retList);
}
} }
package com.gic.haoban.manage.web.controller.marketing;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils;
import org.apache.logging.log4j.LogManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.BasePageInfo;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.CollectionUtil;
import com.gic.commons.util.DateUtil;
import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.StringUtil;
import com.gic.commons.web.qo.PageQo;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.ecm.api.dto.EcmPlanDTO;
import com.gic.ecm.api.dto.MemberEcmLogDTO;
import com.gic.ecm.api.service.EcmPlanService;
import com.gic.enterprise.service.CustomSettingApiService;
import com.gic.game.api.dto.GameActivityDTO;
import com.gic.game.api.service.GameService;
import com.gic.haoban.manage.web.controller.WebBaseController;
import com.gic.haoban.manage.web.vo.AiMemberLogListVO;
import com.gic.integralmall.api.dto.IntegralMallExchangeLogDTO;
import com.gic.integralmall.api.service.IntegralmallService;
import com.gic.marketing.api.dto.CoupCardShelfDTO;
import com.gic.marketing.api.dto.MemberCardLogDTO;
import com.gic.marketing.api.dto.member.MemberSmsLogDTO;
import com.gic.marketing.api.dto.member.MemberWechatLogDTO;
import com.gic.marketing.api.service.CardExportService;
import com.gic.marketing.api.service.CouponCardService;
import com.gic.marketing.api.service.SmsService;
import com.gic.marketing.api.service.WechatMarketingService;
import com.gic.marketing.pro.api.dto.ai.AiMemberLogListDTO;
import com.gic.marketing.pro.api.dto.game.GameDTO;
import com.gic.marketing.pro.api.service.ai.AiMemberLogApiService;
import com.gic.marketing.pro.api.service.game.GameApiService;
import com.gic.member.api.dto.AchievementSystemDTO;
import com.gic.member.api.service.AchievementService;
import com.google.common.collect.Lists;
/**
*
* @ClassName: MemberMarketingController
* @Description: 客户营销记录
* @author xugh
* @date 2022年10月28日 上午9:57:23
*
*/
@RestController
public class MemberMarketingController extends WebBaseController {
private static final org.apache.logging.log4j.Logger logger = LogManager.getLogger(MemberMarketingController.class);
@Autowired
private EcmPlanService ecmPlanService;
@Autowired
private CardExportService cardExportService;
@Autowired
private SmsService smsService;
@Autowired
private WechatMarketingService wechatMarketingService;
@Autowired
private AiMemberLogApiService aiMemberLogApiService;
@Autowired
private CustomSettingApiService customSettingApiService;
@Autowired
private CouponCardService couponCardService;
@Autowired
private GameService gameService;
@Autowired
private GameApiService gameApiService;
@Autowired
private AchievementService achievementService;
@Autowired
private IntegralmallService integralMallService;
// 会员积分商城订单数
@RequestMapping("/member/integral-order-num")
private RestResponse<Object> getIntegralOrderNum(String enterpriseId, String memberId) {
Page<IntegralMallExchangeLogDTO> page = new Page<>();
page.setCurrentPage(1);
page.setPageSize(20);
page = integralMallService.findExchangeLogFromMember(enterpriseId, memberId, null, null, "1,2,3", null, page);
return RestResponse.successResult(page.getTotalCount());
}
/**
* ECM营销日志
*
* @param memberId 会员ID
* @param search 搜索条件:计划名称
* @param marketingType 营销类型 图文-teletext 文本 text 小程序-wxa 图片-image 卡券-card 短信-message 话务-teltask 企微-qywx 群发消息 qfxx 积分 integral 会员卡升级 grade
* @param beginTime 开始时间
* @param endTime 结束时间
* @param currentPage currentPage
* @param pageSize pageSize
* @return Response
*/
@RequestMapping("/member/ecm-log-page")
@ResponseBody
public RestResponse<Object> memberEcmLogPage(@RequestParam(defaultValue = "-1") String memberId, String search,
String marketingType, Date beginTime, Date endTime, @RequestParam(defaultValue = "1") int currentPage,
@RequestParam(defaultValue = "20") int pageSize, String enterpriseId) {
Page<MemberEcmLogDTO> page = new Page<>(currentPage, pageSize);
// 时间默认一个月
if (beginTime == null || endTime == null) {
Calendar start = Calendar.getInstance();
start.add(Calendar.MONTH, -3);
beginTime = start.getTime();
endTime = new Date();
}
beginTime = DateUtil.getStartTimeOfDay(beginTime);
endTime = DateUtil.getEndTimeOfDay(endTime);
page = ecmPlanService.memberEcmLogPage(enterpriseId, memberId, search, marketingType, beginTime, endTime, page);
return RestResponse.successResult(page);
}
/**
* 卡券营销日志
*
* @param memberId 会员ID
* @param search 搜索条件:卡券代码
* @param receiveCode 投放渠道
* @param putBeginTime 投放开始时间
* @param putEndTime 投放结束时间
* @param receiveBeginTime 领取开始时间
* @param receiveEndTime 领取结束时间
* @param currentPage currentPage
* @param pageSize pageSize
* @return Response
*/
@RequestMapping("/member/card-log-page")
@ResponseBody
public RestResponse<Object> memberCardLogPage(@RequestParam(defaultValue = "-1") String memberId, String search,
String receiveCode, Date putBeginTime, Date putEndTime, Date receiveBeginTime, Date receiveEndTime,
@RequestParam(defaultValue = "1") int currentPage, @RequestParam(defaultValue = "20") int pageSize,
String enterpriseId) {
Page<MemberCardLogDTO> page = new Page<>(currentPage, pageSize);
Map<String, Object> params = new HashMap<>();
page.setPageSize(pageSize);
page.setCurrentPage(currentPage);
params.put("memberId", memberId);
params.put("enterpriseId", enterpriseId);
params.put("receiveCode", receiveCode);
params.put("receiveType", "CARD_RECEIVE_TYPE");
params.put("showCardCodeFlag", "");
params.put("search", search);
// 时间默认一个月
if (putBeginTime == null || putEndTime == null) {
Calendar start = Calendar.getInstance();
start.add(Calendar.MONTH, -3);
putBeginTime = start.getTime();
putEndTime = new Date();
}
params.put("beginTime", DateUtil.getStartTimeOfDay(putBeginTime));
params.put("endTime", DateUtil.getEndTimeOfDay(putEndTime));
if (receiveBeginTime != null) {
params.put("receiveBeginTime", DateUtil.getStartTimeOfDay(receiveBeginTime));
}
if (receiveEndTime != null) {
params.put("receiveEndTime", DateUtil.getEndTimeOfDay(receiveEndTime));
}
page.setParams(params);
page = cardExportService.getCardLogs(page);
cardReceiveTypeName(enterpriseId, page);
return RestResponse.successResult(page);
}
/**
* 短信营销日志
*
* @param memberId 会员ID
* @param smsType 模板类型:0-普通短信 1-营销短信
* @param beginTime 开始时间
* @param endTime 结束时间
* @param currentPage currentPage
* @param pageSize pageSize
* @return Response
*/
@RequestMapping("/member/sms-log-page")
@ResponseBody
public RestResponse<Object> memberSmsLogPage(@RequestParam(defaultValue = "-1") String memberId, Integer smsType,
Date beginTime, Date endTime, @RequestParam(defaultValue = "1") int currentPage,
@RequestParam(defaultValue = "20") int pageSize, @RequestParam(defaultValue = "-1") int source,
String enterpriseId) {
// 时间默认一个月
if (beginTime == null || endTime == null) {
Calendar start = Calendar.getInstance();
start.add(Calendar.MONTH, -3);
beginTime = start.getTime();
endTime = new Date();
}
beginTime = DateUtil.getStartTimeOfDay(beginTime);
endTime = DateUtil.getEndTimeOfDay(endTime);
Page<MemberSmsLogDTO> page = new Page<>(currentPage, pageSize);
Map<String, Object> params = new HashMap<>();
if (-1 != source) {
params.put("source", source);
}
page.setParams(params);
page = smsService.memberSmsLogPage(enterpriseId, memberId, smsType, beginTime, endTime, page);
return RestResponse.successResult(page);
}
/**
* 微信营销日志
*
* @param memberId 会员ID
* @param contentType 图文类型(0:图文消息,1:文本消息, 2: 图片)
* @param beginTime 开始时间
* @param endTime 结束时间
* @param currentPage currentPage
* @param pageSize pageSize
* @return ResponseZ
*/
@RequestMapping("/member/wechat-log-page")
@ResponseBody
public RestResponse<Object> memberWechatLogPage(@RequestParam(defaultValue = "-1") String memberId,
Integer contentType, Date beginTime, Date endTime, @RequestParam(defaultValue = "1") int currentPage,
@RequestParam(defaultValue = "20") int pageSize, String enterpriseId) {
Page<MemberWechatLogDTO> page = new Page<>(currentPage, pageSize);
// 时间默认一个月
if (beginTime == null || endTime == null) {
Calendar start = Calendar.getInstance();
start.add(Calendar.MONTH, -3);
beginTime = start.getTime();
endTime = new Date();
}
beginTime = DateUtil.getStartTimeOfDay(beginTime);
endTime = DateUtil.getEndTimeOfDay(endTime);
page = wechatMarketingService.memberWechatLogPage(enterpriseId, memberId, contentType, beginTime, endTime,
page);
return RestResponse.successResult(page);
}
@RequestMapping("/member/marketing-count")
@ResponseBody
public RestResponse<Map<String,Integer>> marketingCount(String memberId, String enterpriseId) {
// 时间默认一个月
Calendar start = Calendar.getInstance();
Date endTime = start.getTime();
start.add(Calendar.MONTH, -3);
Date beginTime = start.getTime();
// ecm
RestResponse<Object> ecmRep = this.memberEcmLogPage(memberId, "", null, beginTime, endTime, 1, 1, enterpriseId);
Page<MemberEcmLogDTO> ecmPage = (Page<MemberEcmLogDTO>) ecmRep.getResult();
// card
RestResponse<Object> cardRep = this.memberCardLogPage(memberId, "", "", beginTime, endTime, null, null, 1, 1,
enterpriseId);
Page<MemberCardLogDTO> cardPage = (Page<MemberCardLogDTO>) cardRep.getResult();
// sms
RestResponse<Object> smsRep = this.memberSmsLogPage(memberId, null, beginTime, endTime, 1, 1, -1, enterpriseId);
Page<MemberSmsLogDTO> smsPage = (Page<MemberSmsLogDTO>) smsRep.getResult();
// wechat
RestResponse<Object> wechatRep = this.memberWechatLogPage(memberId, null, beginTime, endTime, 1, 1,
enterpriseId);
Page<MemberWechatLogDTO> wechatPage = (Page<MemberWechatLogDTO>) wechatRep.getResult();
// AI营销
ServiceResponse<Page<AiMemberLogListDTO>> aiMemberLogRes = aiMemberLogApiService.pageAiMemberMarketingLog(
memberId, null, Lists.newArrayList(0, 1, 6, 8), null, null, new BasePageInfo());
Map<String,Integer> map = new HashMap<>();
map.put("ecm", ecmPage.getTotalCount()) ;
map.put("sms", smsPage.getTotalCount()) ;
map.put("coupon", cardPage.getTotalCount()) ;
map.put("wechat", wechatPage.getTotalCount()) ;
map.put("ai", aiMemberLogRes.getResult().getTotalCount()) ;
return RestResponse.successResult(map);
}
@RequestMapping("/member/page-ai-member-log")
@ResponseBody
public RestResponse<Object> pageAiMemberMarketingLog(String memberId, String planName, String aiStartTime,
String aiEndTime, @RequestParam(defaultValue = "1") int currentPage,
@RequestParam(defaultValue = "20") int pageSize) {
Calendar start = Calendar.getInstance();
Date endTime = start.getTime();
start.add(Calendar.MONTH, -3);
Date beginTime = start.getTime();
PageQo pageQo = new PageQo() ;
pageQo.setPageNum(currentPage);
pageQo.setPageSize(pageSize);
ServiceResponse<Page<AiMemberLogListDTO>> res = aiMemberLogApiService.pageAiMemberMarketingLog(memberId,
planName, Lists.newArrayList(0, 1, 6, 8), DateUtil.dateToStr(beginTime, "yyyy-MM-dd"), DateUtil.dateToStr(endTime, "yyyy-MM-dd"), pageQo.getBasePageInfo());
if (res.isSuccess()) {
Page<AiMemberLogListDTO> page = res.getResult();
List<AiMemberLogListDTO> list = page.getResult();
if (CollectionUtils.isEmpty(list)) {
return RestResponse.successResult(res.getResult());
}
Map<String, Object> param = new HashMap<>();
param.put("dict_type", "marketing_activity_scene");
ServiceResponse<Page<JSONObject>> dictRes = customSettingApiService.page("tab_business_dict", param, 1, 20);
List<JSONObject> dictList = dictRes.getResult().getResult();
Map<String, String> dictCodeMapName = new HashMap<>();
for (JSONObject jsonObject : dictList) {
dictCodeMapName.put(jsonObject.getString("dict_code"), jsonObject.getString("dict_name"));
}
Page<AiMemberLogListVO> resultPage = EntityUtil.changeEntityByJSON(Page.class, page);
List<AiMemberLogListVO> voList = new ArrayList<>();
for (AiMemberLogListDTO dto : list) {
AiMemberLogListVO vo = new AiMemberLogListVO();
vo.setAiLogId(dto.getAiLogId());
vo.setAiTime(dto.getAiTime());
vo.setPlanName(dto.getPlanName());
vo.setAiTemplateName(dto.getAiTemplateName());
Integer activityScene = dto.getActivityScene();
if (activityScene == null) {
vo.setActivityScene(null);
} else {
vo.setActivityScene(dictCodeMapName.get(activityScene.toString()));
}
voList.add(vo);
}
resultPage.setResult(voList);
return RestResponse.successResult(resultPage);
}
return RestResponse.failure("9999", res.getMessage());
}
/**
* 卡券记录-领取记录-来源明细
*
* @param page
*/
private void cardReceiveTypeName(String enterpriseId, Page<MemberCardLogDTO> page) {
List<MemberCardLogDTO> list = page.getResult();
if (CollectionUtils.isEmpty(list)) {
return;
}
Map<String, List<MemberCardLogDTO>> map = CollectionUtil.group(list, "receiveCode");
Set<String> keySet = map.keySet();
Iterator<String> it = keySet.iterator();
Map<String, List<EcmPlanDTO>> ecmMap = new HashMap<>();
Map<Long, GameDTO> newGameMap = new HashMap<>();
Map<String, List<GameActivityDTO>> gameMap = new HashMap<>();
Map<String, List<AchievementSystemDTO>> achievementMap = new HashMap<>();
Map<String, List<CoupCardShelfDTO>> shelfMap = new HashMap<>();
while (it.hasNext()) {
String key = it.next();
Set<String> ids = new HashSet<String>();
Set<Long> longIds = new HashSet<Long>();
if ("RECEIVE_003".equals(key)) {
List<MemberCardLogDTO> _list = map.get("RECEIVE_003");
for (MemberCardLogDTO _dto : _list) {
if (!StringUtil.isBlank(_dto.getRelationId())) {
ids.add(_dto.getRelationId());
}
}
if (CollectionUtils.isNotEmpty(ids)) {
List<EcmPlanDTO> ecmList = ecmPlanService.getEcmNameByIds(ids);
ecmMap = CollectionUtil.group(ecmList, "ecmPlanId");
}
}
if ("RECEIVE_004".equals(key)) {
}
if ("RECEIVE_005".equals(key)) {
List<MemberCardLogDTO> _list = map.get("RECEIVE_005");
for (MemberCardLogDTO _dto : _list) {
if (!StringUtil.isBlank(_dto.getRelationId())) {
ids.add(_dto.getRelationId());
}
}
if (CollectionUtils.isNotEmpty(ids)) {
List<CoupCardShelfDTO> shelfList = this.couponCardService.getShelfNameByIds(ids);
shelfMap = CollectionUtil.group(shelfList, "shelfId");
}
}
if ("RECEIVE_007".equals(key)) {
List<MemberCardLogDTO> _list = map.get("RECEIVE_007");
for (MemberCardLogDTO _dto : _list) {
if (!StringUtil.isBlank(_dto.getRelationId())) {
ids.add(_dto.getRelationId());
}
}
if (CollectionUtils.isNotEmpty(ids)) {
List<GameActivityDTO> gameList = gameService.listGameNameByRecordCodes(enterpriseId, ids);
gameMap = CollectionUtil.group(gameList, "gameActivityId");
}
}
if ("RECEIVE_010".equals(key)) {
List<MemberCardLogDTO> _list = map.get("RECEIVE_010");
for (MemberCardLogDTO _dto : _list) {
if (!StringUtil.isBlank(_dto.getRelationId())) {
ids.add(_dto.getRelationId());
}
}
if (CollectionUtils.isNotEmpty(ids)) {
List<AchievementSystemDTO> achievementList = achievementService.getNameByIds(ids);
achievementMap = CollectionUtil.group(achievementList, "achievementSystemId");
}
}
if ("RECEIVE_026".equals(key)) {
List<MemberCardLogDTO> _list = map.get("RECEIVE_026");
for (MemberCardLogDTO _dto : _list) {
if (!StringUtil.isBlank(_dto.getRelationId())) {
longIds.add(Long.parseLong(_dto.getRelationId()));
}
}
if (CollectionUtils.isNotEmpty(longIds)) {
ServiceResponse<List<GameDTO>> gameList = gameApiService.getGameList(Lists.newArrayList(longIds),
enterpriseId);
List<GameDTO> result = gameList.getResult();
if (CollectionUtils.isNotEmpty(result)) {
newGameMap = result.stream().collect(Collectors.toMap(GameDTO::getGameId, v -> v));
}
}
}
}
for (int i = 0; i < list.size(); i++) {
MemberCardLogDTO c = list.get(i);
if (org.apache.commons.lang3.StringUtils.isNotBlank(c.getRelationId())) {
if ("RECEIVE_003".equals(c.getReceiveCode())) {
List<EcmPlanDTO> ecmList = ecmMap.get(c.getRelationId());
if (CollectionUtils.isNotEmpty(ecmList)) {
c.setReceiveTypeExcel(ecmList.get(0).getEcmPlanName());
}
}
if ("RECEIVE_004".equals(c.getReceiveCode())) {
// 门店展架-门店名称
c.setReceiveTypeExcel(c.getStoreName());
}
if ("RECEIVE_005".equals(c.getReceiveCode())) {
List<CoupCardShelfDTO> referList = shelfMap.get(c.getRelationId());
if (CollectionUtils.isNotEmpty(referList)) {
c.setReceiveTypeExcel(referList.get(0).getShelfName());
}
}
if ("RECEIVE_007".equals(c.getReceiveCode())) {
List<GameActivityDTO> referList = gameMap.get(c.getRelationId());
if (CollectionUtils.isNotEmpty(referList)) {
c.setReceiveTypeExcel(referList.get(0).getGameName());
}
}
if ("RECEIVE_010".equals(c.getReceiveCode())) {
List<AchievementSystemDTO> referList = achievementMap.get(c.getRelationId());
if (CollectionUtils.isNotEmpty(referList)) {
c.setReceiveTypeExcel(referList.get(0).getAchievementName());
}
}
if ("RECEIVE_026".equals(c.getReceiveCode())) {
GameDTO gameDTO = newGameMap.get(Long.parseLong(c.getRelationId()));
if (gameDTO != null) {
c.setReceiveTypeExcel(gameDTO.getGameName());
}
}
}
}
}
}
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