Commit 257a9b15 by bilingfeng

feat : 群发任务自测调试修改

parent ae37668f
......@@ -61,7 +61,7 @@ public interface MemberUnionidRelatedApiService {
* @param materialIdList : 素材id列表
* @return : 返回群发执行结果
*/
String sendMessage(String wxEnterpriseId, String userId, List<String> extendUserList, List<String> materialIdList);
JSONResponse sendMessage(String wxEnterpriseId, String userId, List<String> extendUserList, List<String> materialIdList);
/**
* 获取群发成员发送任务列表
......
......@@ -61,7 +61,7 @@ import java.util.*;
import java.util.stream.Collectors;
@Service
public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedApiService{
public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedApiService {
private static final Logger log = LogManager.getLogger(MemberUnionidRelatedApiServiceImpl.class);
@Autowired
private MemberUnionRelatedService memberUnionRelatedService;
......@@ -141,7 +141,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
public List<MemberStoreDTO> listByExTernalUseridAndWxUserId(String externalUserid, String wxUserId) {
List<TabHaobanExternalClerkRelated> list = externalClerkRelatedService.listByExTernalUseridAndWxUserId(externalUserid, wxUserId);
List<MemberStoreDTO> result = new ArrayList<>();
if(CollectionUtil.isEmpty(list)){
if (CollectionUtil.isEmpty(list)) {
return null;
}
String wxEnterpriseId = list.get(0).getWxEnterpriseId();
......@@ -151,7 +151,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
return null;
}
List<StaffClerkRelationDTO> clerkRelationDTOS = staffClerkRelationService.listBindCodeByStaffId(null, haobanStaff.getStaffId());
if(CollectionUtil.isEmpty(clerkRelationDTOS)){
if (CollectionUtil.isEmpty(clerkRelationDTOS)) {
log.info("staff关联门店不存在1");
return null;
}
......@@ -171,61 +171,61 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
// log.info("staff关联门店不存在1");
// return null;
// }
List<String> storeIds = clerkRelationDTOS.stream().filter(s->(s.getStoreId()!=null || "".equals(s.getStoreId()))).map(s->s.getStoreId()).collect(Collectors.toList());
if(CollectionUtil.isEmpty(storeIds)){
List<String> storeIds = clerkRelationDTOS.stream().filter(s -> (s.getStoreId() != null || "".equals(s.getStoreId()))).map(s -> s.getStoreId()).collect(Collectors.toList());
if (CollectionUtil.isEmpty(storeIds)) {
log.info("staff关联门店不存在2");
return null;
}
//2、获取member的storeId
for(TabHaobanExternalClerkRelated tab : list){
for (TabHaobanExternalClerkRelated tab : list) {
String memberId = tab.getMemberId();
if(StringUtils.isEmpty(memberId)){
continue ;
if (StringUtils.isEmpty(memberId)) {
continue;
}
String gicEnterpriseId = tab.getEnterpriseId();
JSONObject searchJson = new JSONObject();
searchJson = NewNodeAddUtil.addNewNodeForAnd(MemberDataEnum.member_memberId.getCode(), OperateEnum.OPERATE_EQ.getValue(), memberId,searchJson);
searchJson = NewNodeAddUtil.addNewNodeForAnd(MemberDataEnum.member_memberId.getCode(), OperateEnum.OPERATE_EQ.getValue(), memberId, searchJson);
DynamicSearchDTO dynamicSearchDTO = new DynamicSearchDTO();
dynamicSearchDTO.setEnterpriseId(gicEnterpriseId);
dynamicSearchDTO.setColumnCategoryCode("member");
dynamicSearchDTO.setSearchJson(searchJson);
dynamicSearchDTO.setBegin(0);
dynamicSearchDTO.setRecordNumber(1);
log.info("gicEnterpriseId=========>{},searchJson=========={}",gicEnterpriseId,searchJson);
log.info("gicEnterpriseId=========>{},searchJson=========={}", gicEnterpriseId, searchJson);
ESResponseQueryBatch responseQuery = eSDataDynamicOperationApiService.queryDataBatch(dynamicSearchDTO, false, null);
if(null == responseQuery){
if (null == responseQuery) {
log.info("会员不存在1");
continue;
}
List<JSONObject> res = responseQuery.getRes();
if(CollectionUtil.isEmpty(res)){
if (CollectionUtil.isEmpty(res)) {
log.info("会员不存在2");
continue;
}
String storeId = "";
for (JSONObject jsonObject : res) {
storeId = jsonObject.get("storeId") == null?"":jsonObject.get("storeId").toString();
storeId = jsonObject.get("storeId") == null ? "" : jsonObject.get("storeId").toString();
}
if(StringUtils.isEmpty(storeId)){
if (StringUtils.isEmpty(storeId)) {
log.info("会员门店不存在");
continue;
}
String[] memberStoreIds =storeId.split(" ");
String[] memberStoreIds = storeId.split(" ");
List<String> memberStoreIdList = Arrays.asList(memberStoreIds);
if(CollectionUtil.isEmpty(memberStoreIdList)){
if (CollectionUtil.isEmpty(memberStoreIdList)) {
log.info("会员门店不存在");
continue;
}
log.info("memberStoreIdList===============>{}",JSONObject.toJSONString(memberStoreIdList));
log.info("storeIds===============>{}",JSONObject.toJSONString(storeIds));
log.info("memberStoreIdList===============>{}", JSONObject.toJSONString(memberStoreIdList));
log.info("storeIds===============>{}", JSONObject.toJSONString(storeIds));
//取交集(解决不支持的报错现象)
List list3= new ArrayList(memberStoreIdList);
List list4= new ArrayList(storeIds);
List list3 = new ArrayList(memberStoreIdList);
List list4 = new ArrayList(storeIds);
list3.retainAll(list4);
if(CollectionUtil.isEmpty(list3)){
if (CollectionUtil.isEmpty(list3)) {
continue;
}else{
for(Object resultStoreId : list3){
} else {
for (Object resultStoreId : list3) {
MemberStoreDTO dto = new MemberStoreDTO();
dto.setMemberId(memberId);
dto.setStoreId(resultStoreId.toString());
......@@ -250,12 +250,13 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
@Override
public MemberUnionidRelatedDTO getByUnionId(String staffId, String unionid) {
TabHaobanStaff staff = staffService.selectById(staffId);
if(staff == null){
if (staff == null) {
return null;
}
log.info("【查询会员】wxUserId={},unionid={}",staff.getWxUserId(),unionid);
log.info("【查询会员】wxUserId={},unionid={}", staff.getWxUserId(), unionid);
return memberUnionRelatedService.getByUnionId(staff.getWxEnterpriseId(), staff.getWxUserId(), unionid);
}
@Override
public String addMemberUnionidRelated(MemberUnionidRelatedDTO dto) {
DealQywxExternalUserPojo dealQywxExternalUserPojo = new DealQywxExternalUserPojo();
......@@ -294,56 +295,56 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
String externalUserId = dto.getExternalUserid();
String avatar = dto.getAvatar();
String unionId = dto.getUnionid();
if(StringUtils.isAnyBlank(wxUserId,wxEnterpriseId,name,createTime,unionId)){
log.info("【新增外部联系人】wxUserId={},wxEnterpriseId={},name={},createTime={},avatar={},unionId={}",wxUserId,wxEnterpriseId,name,createTime,avatar,unionId);
if (StringUtils.isAnyBlank(wxUserId, wxEnterpriseId, name, createTime, unionId)) {
log.info("【新增外部联系人】wxUserId={},wxEnterpriseId={},name={},createTime={},avatar={},unionId={}", wxUserId, wxEnterpriseId, name, createTime, avatar, unionId);
return;
}
TabHaobanStaff staff = staffService.selectByUserIdAndEnterpriseId(wxUserId, wxEnterpriseId);
if(staff == null){
if (staff == null) {
return;
}
String staffId = staff.getStaffId();
MemberDTO member = null;
TabHaobanClerkMainStoreRelated r = clerkMainStoreRelatedService.getMainStoreByStaffId(staffId, wxEnterpriseId);
if(r == null){
if (r == null) {
log.info("【新增外部联系人】主门店为空");
return;
}
String storeId = r.getStoreId();
StaffClerkRelationDTO staffClerkRelationDTO = staffClerkRelationService.getOneBindByStoreId(staffId,storeId);
if(staffClerkRelationDTO == null){
StaffClerkRelationDTO staffClerkRelationDTO = staffClerkRelationService.getOneBindByStoreId(staffId, storeId);
if (staffClerkRelationDTO == null) {
log.info("【新增外币联系人】导购和clerk关联为空");
return;
}
//新增导购和外部联系人关系
String clerkCode = staffClerkRelationDTO.getClerkCode();
ClerkDTO clerk = clerkService.getClerkByClerkCode(staffClerkRelationDTO.getEnterpriseId(), clerkCode);
log.info("【新增外部联系人】clerkCode={},unionid:{}",clerkCode,unionId);
if(clerk == null){
log.info("【新增外部联系人】clerkCode={},unionid:{}", clerkCode, unionId);
if (clerk == null) {
log.info("【新增外币联系人】导购为空");
return;
}
String qrcodeParam = clerk.getQrcodeParam();
if(StringUtils.isBlank(qrcodeParam)){
if (StringUtils.isBlank(qrcodeParam)) {
powerService.saveClerkQrCode(clerk.getClerkId());
clerk = clerkService.getClerkByClerkCode(staffClerkRelationDTO.getEnterpriseId(), clerkCode);
qrcodeParam = clerk.getQrcodeParam();
}
if(clerk != null && StringUtils.isNotBlank(qrcodeParam)&&StringUtils.isNotBlank(unionId)){
log.info("【新增外部联系人会员】enterpriseId={},unionId={},name={},avatar={},QrcodeParam={}",staffClerkRelationDTO.getEnterpriseId(),unionId,name,avatar,qrcodeParam);
if (clerk != null && StringUtils.isNotBlank(qrcodeParam) && StringUtils.isNotBlank(unionId)) {
log.info("【新增外部联系人会员】enterpriseId={},unionId={},name={},avatar={},QrcodeParam={}", staffClerkRelationDTO.getEnterpriseId(), unionId, name, avatar, qrcodeParam);
member = memberOpenCardBusinessService.getMemberByQywxChannelParam(staffClerkRelationDTO.getEnterpriseId(), unionId, "", name, avatar, qrcodeParam);
}
TabHaobanExternalClerkRelated exsitDTO = externalClerkRelatedService.getByParams(wxUserId, wxEnterpriseId,name,createTime);
String key = wxUserId+wxEnterpriseId+name+createTime;
if(exsitDTO == null){
RedisUtil.lock(key,1L);
exsitDTO = externalClerkRelatedService.getByParams(wxUserId, wxEnterpriseId,name,createTime);
TabHaobanExternalClerkRelated exsitDTO = externalClerkRelatedService.getByParams(wxUserId, wxEnterpriseId, name, createTime);
String key = wxUserId + wxEnterpriseId + name + createTime;
if (exsitDTO == null) {
RedisUtil.lock(key, 1L);
exsitDTO = externalClerkRelatedService.getByParams(wxUserId, wxEnterpriseId, name, createTime);
RedisUtil.unlock(key);
}
if(exsitDTO == null){
if (exsitDTO == null) {
TabHaobanExternalClerkRelated related = new TabHaobanExternalClerkRelated();
related.setAddCreateTime(createTime);
related.setClerkId(staffClerkRelationDTO.getClerkId());
......@@ -356,13 +357,13 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
related.setUnionid(unionId);
related.setWxEnterpriseId(wxEnterpriseId);
related.setWxUserId(wxUserId);
if(member != null){
if (member != null) {
related.setMemberId(member.getMemberId());
}
externalClerkRelatedService.insert(related);
}else{
if(member != null){
} else {
if (member != null) {
exsitDTO.setMemberId(member.getMemberId());
}
exsitDTO.setMemberUnionidRelatedId(dto.getMemberUnionidRelatedId());
......@@ -573,22 +574,22 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
@Deprecated
private String insertMemberUnionIdRelated(MemberUnionidRelatedDTO dto) {
if(dto == null){
if (dto == null) {
return "";
}
String wxUserId = dto.getWxUserId();
String wxEnterpriseId = dto.getWxEnterpriseId();
String name = dto.getExternalName();
String createTime = dto.getAddCreateTime();
if(StringUtils.isAnyBlank(wxUserId,wxEnterpriseId,name,createTime)){
log.info("【新增外部联系人】wxUserId={},wxEnterpriseId={},name={},createTime={}",wxUserId,wxEnterpriseId,name,createTime);
if (StringUtils.isAnyBlank(wxUserId, wxEnterpriseId, name, createTime)) {
log.info("【新增外部联系人】wxUserId={},wxEnterpriseId={},name={},createTime={}", wxUserId, wxEnterpriseId, name, createTime);
return "";
}
MemberUnionidRelatedDTO exsitDTO = memberUnionRelatedService.getByParams(wxUserId, wxEnterpriseId,name,createTime);
MemberUnionidRelatedDTO exsitDTO = memberUnionRelatedService.getByParams(wxUserId, wxEnterpriseId, name, createTime);
String uuid = "";
if(exsitDTO == null){
if (exsitDTO == null) {
uuid = memberUnionRelatedService.addMemberUnionidRelated(dto);
}else{
} else {
//如果是自建更新uuid
exsitDTO.setSelfExternalUserid(dto.getSelfExternalUserid());
exsitDTO.setUnionid(dto.getUnionid());
......@@ -597,7 +598,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
memberUnionRelatedService.update(exsitDTO);
uuid = exsitDTO.getMemberUnionidRelatedId();
MemberUnionidRelatedDTO fullDTO = memberUnionRelatedService.getByParams(wxUserId, wxEnterpriseId,name,createTime);
MemberUnionidRelatedDTO fullDTO = memberUnionRelatedService.getByParams(wxUserId, wxEnterpriseId, name, createTime);
dto.setExternalUserid(fullDTO.getExternalUserid());
dto.setUnionid(fullDTO.getUnionid());
}
......@@ -606,11 +607,11 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
@Deprecated
private MemberUnionidRelatedDTO getMemberUnionidRelatedDTO(MemberUnionidRelatedDTO dto){
log.info("【新增外部联系人回调】dto={}",JSON.toJSONString(dto));
private MemberUnionidRelatedDTO getMemberUnionidRelatedDTO(MemberUnionidRelatedDTO dto) {
log.info("【新增外部联系人回调】dto={}", JSON.toJSONString(dto));
String corpId = dto.getCorpid();
TabHaobanWxEnterprise wxEnterprise = wxEnterpriseService.getEnterpriseBycorpId(corpId);
if(wxEnterprise == null){
if (wxEnterprise == null) {
return null;
}
......@@ -618,24 +619,24 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
String userId = dto.getWxUserId();
String suiteid = dto.getSuiteid();
String unionIdJson = "";
if(SELF_APP.equals(suiteid)){
if (SELF_APP.equals(suiteid)) {
SecretSettingDTO secretSetting = secretSettingService.getSecretSetting(wxEnterpriseId, SecretTypeEnum.CONTACT_CUSTOMER.getVal());
if (null == secretSetting) {
log.info("没有配置secret");
return null;
}
unionIdJson = qywxUserApiService.getCorpSelfExternalUseridInfo(dto.getCorpid(), secretSetting.getSecretVal(), dto.getExternalUserid());
}else{
} else {
unionIdJson = qywxUserApiService.getExternalUseridInfo(dto.getCorpid(), dto.getSuiteid(), dto.getExternalUserid());
}
if(StringUtils.isBlank(unionIdJson)){
if (StringUtils.isBlank(unionIdJson)) {
log.info("【新增外部联系人回调】unionIdJson=null");
return null;
}
log.info("【新增外部联系人回调】unionIdJson={}",JSON.toJSONString(unionIdJson));
log.info("【新增外部联系人回调】unionIdJson={}", JSON.toJSONString(unionIdJson));
ExternalUserPojo pojo = getExternalUserPojo(unionIdJson,userId,wxEnterpriseId);
ExternalUserPojo pojo = getExternalUserPojo(unionIdJson, userId, wxEnterpriseId);
String name = pojo.getName();
String createTime = pojo.getAddCreateTime();
......@@ -648,10 +649,10 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
String externalUserId = null;
String selfExternalUserId = null;
String unionId = null;
if(SELF_APP.equals(suiteid)){
if (SELF_APP.equals(suiteid)) {
unionId = pojo.getUnionId();
selfExternalUserId = dto.getExternalUserid();
}else{
} else {
externalUserId = dto.getExternalUserid();
}
dto.setUnionid(unionId);
......@@ -723,7 +724,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
private ExternalUserPojo getExternalUserPojo(String unionIdJson,String userId1,String wxEnterpriseId) {
private ExternalUserPojo getExternalUserPojo(String unionIdJson, String userId1, String wxEnterpriseId) {
ExternalUserPojo pojo = new ExternalUserPojo();
String unionId = "";
String follow_user = "";
......@@ -732,14 +733,14 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
String avatar = "";
String relaName = "";
String externalUserId = "";
if(StringUtils.isNotBlank(unionIdJson)){
if (StringUtils.isNotBlank(unionIdJson)) {
JSONObject jo = JSON.parseObject(unionIdJson);
String external_contact = jo.getString("external_contact");
if(StringUtils.isNotBlank(external_contact)){
if (StringUtils.isNotBlank(external_contact)) {
JSONObject jt = JSON.parseObject(external_contact);
unionId = jt.getString("unionid");
relaName = EmojiFilterUtil.filterEmojiLast(jt.getString("name"), true);
if(StringUtils.isBlank(relaName)){
if (StringUtils.isBlank(relaName)) {
relaName = "--";
}
avatar = jt.getString("avatar");
......@@ -747,13 +748,13 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
follow_user = jo.getString("follow_user");
if(StringUtils.isNotBlank(follow_user)){
if (StringUtils.isNotBlank(follow_user)) {
JSONArray j = JSON.parseArray(follow_user);
for (Object object : j) {
String followJson = JSON.toJSONString(object);
JSONObject follow = JSON.parseObject(followJson);
userId = follow.getString("userid");
if(userId.equals(userId1)){
if (userId.equals(userId1)) {
createTime = follow.getString("createtime");
}
}
......@@ -767,15 +768,16 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
pojo.setWxEnterpriseId(wxEnterpriseId);
return pojo;
}
@Override
public String add(String wxEnterpriseId,String selfExternalUserId,String userId,String storeId) {
public String add(String wxEnterpriseId, String selfExternalUserId, String userId, String storeId) {
WxEnterpriseDTO wxEnterprise = wxEnterpriseService.selectById(wxEnterpriseId);
if(wxEnterprise == null){
if (wxEnterprise == null) {
return "";
}
TabHaobanStaff staff = staffService.selectByUserIdAndEnterpriseId(userId, wxEnterpriseId);
if(staff == null){
if (staff == null) {
return "";
}
......@@ -786,7 +788,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
String unionIdJson = qywxUserApiService.getCorpSelfExternalUseridInfo(wxEnterprise.getCorpid(), secretSetting.getSecretVal(), selfExternalUserId);
ExternalUserPojo pojo = getExternalUserPojo(unionIdJson,userId,wxEnterpriseId);
ExternalUserPojo pojo = getExternalUserPojo(unionIdJson, userId, wxEnterpriseId);
String unionId = pojo.getUnionId();
String name = pojo.getName();
String createTime = pojo.getAddCreateTime();
......@@ -803,20 +805,20 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
dto.setAddCreateTime(createTime);
dto.setWxUserId(userId);
dto.setAvatar(pojo.getAvatar());
if(StringUtils.isBlank(unionId)){
if (StringUtils.isBlank(unionId)) {
return "";
}
dto.setSuiteid(secretSetting.getSecretVal());
MemberUnionidRelatedDTO exsitDTO = memberUnionRelatedService.getByParams(userId, wxEnterpriseId,name,createTime);
MemberUnionidRelatedDTO exsitDTO = memberUnionRelatedService.getByParams(userId, wxEnterpriseId, name, createTime);
String uuid = "";
if(exsitDTO == null){
if (exsitDTO == null) {
dto.setUnionid(unionId);
//更新对外联系人id
dto.setSelfExternalUserid(selfExternalUserId);
uuid = memberUnionRelatedService.addMemberUnionidRelated(dto);
}else{
} else {
exsitDTO.setExternalUserid(externalUserId);
exsitDTO.setUnionid(unionId);
//更新对外联系人id
......@@ -832,39 +834,39 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
private String getExternalUserId(WxEnterpriseDTO wxEnterprise,String userId1,String createTime,String name){
log.info("新增外部联系人】corpid={},suiteId={},userId1={}",wxEnterprise.getCorpid(),config.getWxSuiteid(),userId1);
private String getExternalUserId(WxEnterpriseDTO wxEnterprise, String userId1, String createTime, String name) {
log.info("新增外部联系人】corpid={},suiteId={},userId1={}", wxEnterprise.getCorpid(), config.getWxSuiteid(), userId1);
String wxRes = qywxUserApiService.listExternalUserid(wxEnterprise.getCorpid(), config.getWxSuiteid(), userId1);
String externalUserId = "";
log.info("【新增外部联系人】wxRes={}",wxRes);
if(StringUtils.isNotBlank(wxRes)){
log.info("【新增外部联系人】wxRes={}", wxRes);
if (StringUtils.isNotBlank(wxRes)) {
JSONArray jsonArr = JSON.parseArray(wxRes);
String wxName = "";
for (Object externalUserid : jsonArr) {
String uJ = qywxUserApiService.getExternalUseridInfo(wxEnterprise.getCorpid(), config.getWxSuiteid(), externalUserid.toString());
log.info("【新增外部联系人】uJ={}",uJ);
if(StringUtils.isNotBlank(uJ)){
log.info("【新增外部联系人】uJ={}", uJ);
if (StringUtils.isNotBlank(uJ)) {
JSONObject jo = JSON.parseObject(uJ);
String external_contact = jo.getString("external_contact");
String uj_follow_user = jo.getString("follow_user");
JSONObject jt = null;
if(StringUtils.isNotBlank(external_contact)){
if (StringUtils.isNotBlank(external_contact)) {
jt = JSON.parseObject(external_contact);
wxName = EmojiFilterUtil.filterEmojiLast(jt.getString("name"), true);
if(StringUtils.isBlank(wxName)){
if (StringUtils.isBlank(wxName)) {
wxName = "--";
}
}
if(StringUtils.isNotBlank(uj_follow_user)){
if (StringUtils.isNotBlank(uj_follow_user)) {
JSONArray j = JSON.parseArray(uj_follow_user);
String uj_userId = "";
for (Object object : j) {
String followJson = JSON.toJSONString(object);
JSONObject follow = JSON.parseObject(followJson);
uj_userId = follow.getString("userid");
log.info("【新增外部联系人】createTime={},name={},followCreateTime={},wxName={}",createTime,name,follow.getString("createtime"),wxName);
if(uj_userId.equals(userId1) && createTime.equals(follow.getString("createtime")) && name.equals(wxName)){
if(jt != null){
log.info("【新增外部联系人】createTime={},name={},followCreateTime={},wxName={}", createTime, name, follow.getString("createtime"), wxName);
if (uj_userId.equals(userId1) && createTime.equals(follow.getString("createtime")) && name.equals(wxName)) {
if (jt != null) {
externalUserId = jt.getString("external_userid");
break;
}
......@@ -872,13 +874,14 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
}
}
if(StringUtils.isNotBlank(externalUserId)){
if (StringUtils.isNotBlank(externalUserId)) {
break;
}
}
}
return externalUserId;
}
@Override
public void delMemberUnionidRelated(MemberUnionidRelatedDTO dto) {
DealQywxExternalUserPojo dealQywxExternalUserPojo = new DealQywxExternalUserPojo();
......@@ -908,35 +911,37 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
@Override
public ExternalClerkRelatedDTO getByMemberId(String staffId, String memberId) {
TabHaobanStaff staff = staffService.selectById(staffId);
if(staff == null){
if (staff == null) {
return null;
}
log.info("【查询会员】wxUserId={},unionid={}",staff.getWxUserId(),memberId);
return externalClerkRelatedService.getByMemberId(staff.getWxUserId(),memberId);
log.info("【查询会员】wxUserId={},unionid={}", staff.getWxUserId(), memberId);
return externalClerkRelatedService.getByMemberId(staff.getWxUserId(), memberId);
}
@Override
public List<MemberUnionidRelatedDTO> getByWxUserIdAndWxEnterpriseId(String wxUserId, String wxEnterpriseId) {
List<MemberUnionidRelatedDTO> list = memberUnionRelatedService.getByWxUserIdAndWxEnterpriseId(wxUserId,wxEnterpriseId);
List<MemberUnionidRelatedDTO> list = memberUnionRelatedService.getByWxUserIdAndWxEnterpriseId(wxUserId, wxEnterpriseId);
return list;
}
@Override
public List<MemberUnionidRelatedDTO> listByEnterpriseIdAndDate( String enterpriseId,Date date) {
List<MemberUnionidRelated> list = memberUnionidRelatedMapper.listByEnterpriseIdAndDate(enterpriseId,date);
return EntityUtil.changeEntityListByJSON(MemberUnionidRelatedDTO.class,list);
public List<MemberUnionidRelatedDTO> listByEnterpriseIdAndDate(String enterpriseId, Date date) {
List<MemberUnionidRelated> list = memberUnionidRelatedMapper.listByEnterpriseIdAndDate(enterpriseId, date);
return EntityUtil.changeEntityListByJSON(MemberUnionidRelatedDTO.class, list);
}
@Override
public void freshWxFrend(String wxEnterpriseId, String wxUserId,String storeId) {
log.info("【刷下好友】wxUserId={}",wxUserId);
public void freshWxFrend(String wxEnterpriseId, String wxUserId, String storeId) {
log.info("【刷下好友】wxUserId={}", wxUserId);
WxEnterpriseDTO enterprise = wxEnterpriseService.selectById(wxEnterpriseId);
String wxRes = qywxUserApiService.listExternalUserid(enterprise.getCorpid(), config.getWxSuiteid(), wxUserId);
List<MemberUnionidRelatedDTO> list = this.getByWxUserIdAndWxEnterpriseId(wxUserId, wxEnterpriseId);
List<String> externalUserIdList = list.stream().map(external->external.getExternalUserid())
List<String> externalUserIdList = list.stream().map(external -> external.getExternalUserid())
.collect(Collectors.toList());
JSONArray externalArr = JSON.parseArray(wxRes);
for (String externalUserId : externalUserIdList) {
if(!externalArr.contains(externalUserId)){
if (!externalArr.contains(externalUserId)) {
//删除成员和外部联系人关系
MemberUnionidRelatedDTO dto = new MemberUnionidRelatedDTO();
dto.setExternalUserid(externalUserId);
......@@ -949,36 +954,36 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
SecretSettingDTO secretSetting = secretSettingService.getSecretSetting(wxEnterpriseId, SecretTypeEnum.CONTACT_CUSTOMER.getVal());
if (null == secretSetting||secretSetting.getCheckFlag()==0) {
log.info("没有配置客户联系secret:{}",wxEnterpriseId);
if (null == secretSetting || secretSetting.getCheckFlag() == 0) {
log.info("没有配置客户联系secret:{}", wxEnterpriseId);
return;
}
String res = qywxUserApiService.listSelfExternalUserid(enterprise.getCorpid(), secretSetting.getSecretVal(), wxUserId);
log.info("【刷下好友】res={}",res);
if(StringUtils.isBlank(res)){
log.info("【刷下好友】res={}", res);
if (StringUtils.isBlank(res)) {
return;
}
JSONArray jsonArr = JSON.parseArray(res);
if(jsonArr.size() == 0) {
if (jsonArr.size() == 0) {
return;
}
for (Object object : jsonArr) {
this.add(wxEnterpriseId, object.toString(), wxUserId,storeId);
this.add(wxEnterpriseId, object.toString(), wxUserId, storeId);
}
}
@Override
public void mqFreshWxFrend(String res){
public void mqFreshWxFrend(String res) {
JSONObject json = JSON.parseObject(res);
String wxEnterpriseId = json.getString("wxEnterpriseId");
String wxUserId = json.getString("wxUserId");
String storeId = json.getString("storeId");
log.info("【刷下微信好友】wxEnterpriseId={}.wxUserId={},storeId={}",wxEnterpriseId,wxUserId,storeId);
if(StringUtils.isAnyBlank(wxEnterpriseId,wxUserId,storeId)){
return ;
log.info("【刷下微信好友】wxEnterpriseId={}.wxUserId={},storeId={}", wxEnterpriseId, wxUserId, storeId);
if (StringUtils.isAnyBlank(wxEnterpriseId, wxUserId, storeId)) {
return;
}
freshWxFrend(wxEnterpriseId, wxUserId, storeId);
}
......@@ -990,15 +995,16 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
if (null != wxEnterprise) {
memberUnionRelatedService.clean(wxEnterprise.getWxEnterpriseId());
}
}else {
} else {
memberUnionRelatedService.clean(null);
}
}
@Override
public Page<MemberUnionidRelatedDTO> pageMemberUnionByParams(List<String> userIdList, List<String> sendMemberIds,
String enterpriseId, BasePageInfo pageInfo) {
PageHelper.startPage(pageInfo.getPageNum(), pageInfo.getPageSize());
return PageUtil.changePageHelperToCurrentPage(memberUnionRelatedService.pageMemberUnionByParams(userIdList,sendMemberIds,enterpriseId),MemberUnionidRelatedDTO.class);
return PageUtil.changePageHelperToCurrentPage(memberUnionRelatedService.pageMemberUnionByParams(userIdList, sendMemberIds, enterpriseId), MemberUnionidRelatedDTO.class);
}
// @Override
......@@ -1058,7 +1064,11 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
*/
@Override
public String sendMessage(String wxEnterpriseId, String userId, List<String> extendUserList, String materialId) {
return this.sendMessage(wxEnterpriseId, userId, extendUserList, Collections.singletonList(materialId));
JSONResponse jp = this.sendMessage(wxEnterpriseId, userId, extendUserList, Collections.singletonList(materialId));
//返回执行结果, msgId
log.info("【发送消息】jp = {}", JSON.toJSONString(jp));
Map<String, Object> returnMap = jp.getReturnMap();
return returnMap.get("msgid") == null ? "" : returnMap.get("msgid").toString();
}
/**
......@@ -1071,7 +1081,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
* @return : 返回群发执行结果
*/
@Override
public String sendMessage(String wxEnterpriseId, String userId, List<String> extendUserList, List<String> materialIdList) {
public JSONResponse sendMessage(String wxEnterpriseId, String userId, List<String> extendUserList, List<String> materialIdList) {
//群发请求参数
QywxExternalMessageDTO qywxExternalMessageDTO = new QywxExternalMessageDTO();
//素材列表
......@@ -1089,7 +1099,10 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
});
//素材列表不存在, 并且不存在文本内容, 不执行
if (messageMaterialList.isEmpty() && StringUtils.isBlank(qywxExternalMessageDTO.getContent())) {
return "";
JSONResponse jp = new JSONResponse();
jp.setErrorCode(-1);
jp.setErrorMessage("群发素材不存在, 群发创建失败");
return jp;
}
//请求参数赋值
qywxExternalMessageDTO.setChatType("single");
......@@ -1097,13 +1110,8 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
qywxExternalMessageDTO.setSenderUserId(userId);
qywxExternalMessageDTO.setAttachments(messageMaterialList);
//调接口执行创建群发
JSONResponse jp;
WxEnterpriseDTO enterprise = wxEnterpriseService.selectById(wxEnterpriseId);
jp = qywxSuiteApiService.sendExternalMessage(enterprise.getCorpid(), config.getWxSuiteid(), qywxExternalMessageDTO);
//返回执行结果, msgId
log.info("【发送消息】jp = {}", JSON.toJSONString(jp));
Map<String, Object> returnMap = jp.getReturnMap();
return returnMap.get("msgid") == null ? "" : returnMap.get("msgid").toString();
return qywxSuiteApiService.sendExternalMessage(enterprise.getCorpid(), config.getWxSuiteid(), qywxExternalMessageDTO);
}
/**
......@@ -1197,33 +1205,35 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
@Override
public JSONResponse getMessageStatus(String wxEnterpriseId, String wxMessageId) {
WxEnterpriseDTO enterprise = wxEnterpriseService.selectById(wxEnterpriseId);
if(enterprise == null){
if (enterprise == null) {
return null;
}
JSONResponse jp = qywxSuiteApiService.resultExternalMessage(enterprise.getCorpid(), config.getWxSuiteid(), wxMessageId);
return jp;
}
@Override
public List<MemberUnionidRelatedDTO> getByWxUserIdListAndWxEnterpriseId(List<String> userIdList,
String wxEnterpriseId) {
return EntityUtil.changeEntityListByJSON(MemberUnionidRelatedDTO.class, memberUnionidRelatedMapper.getByWxUserIdListAndWxEnterpriseId(userIdList,wxEnterpriseId));
return EntityUtil.changeEntityListByJSON(MemberUnionidRelatedDTO.class, memberUnionidRelatedMapper.getByWxUserIdListAndWxEnterpriseId(userIdList, wxEnterpriseId));
}
@Override
public void cleanNoExsitFriend(String wxEnterpriseId, String wxUserId, String wxRes) {
log.info("【清除不存在的好友】wxEnterpriseId={},wxUserId={}",wxEnterpriseId,wxUserId);
log.info("【清除不存在的好友】wxEnterpriseId={},wxUserId={}", wxEnterpriseId, wxUserId);
WxEnterpriseDTO enterprise = wxEnterpriseService.selectById(wxEnterpriseId);
//String wxRes = qywxUserApiService.listExternalUserid(enterprise.getCorpid(), config.getWxSuiteid(), wxUserId);
List<MemberUnionidRelatedDTO> list = this.getByWxUserIdAndWxEnterpriseId(wxUserId, wxEnterpriseId);
List<String> externalUserIdList = list.stream().map(external->external.getExternalUserid())
List<String> externalUserIdList = list.stream().map(external -> external.getExternalUserid())
.collect(Collectors.toList());
if(StringUtils.isBlank(wxRes)){
log.info("【清除不存在的好友不存在】wxEnterpriseId={},wxUserId={}",wxEnterpriseId,wxUserId);
if (StringUtils.isBlank(wxRes)) {
log.info("【清除不存在的好友不存在】wxEnterpriseId={},wxUserId={}", wxEnterpriseId, wxUserId);
return;
}
JSONArray externalArr = JSON.parseArray(wxRes);
for (String externalUserId : externalUserIdList) {
if(!externalArr.contains(externalUserId)){
if (!externalArr.contains(externalUserId)) {
//删除成员和外部联系人关系
MemberUnionidRelatedDTO dto = new MemberUnionidRelatedDTO();
dto.setExternalUserid(externalUserId);
......@@ -1235,28 +1245,29 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
}
@Override
public List<String> listSelfExterialList(String wxEnterpriseId, String wxUserId) {
try {
log.info("【查询自建应用好友】wxEnterpriseId={},wxUserId={}",wxEnterpriseId,wxUserId);
log.info("【查询自建应用好友】wxEnterpriseId={},wxUserId={}", wxEnterpriseId, wxUserId);
WxEnterpriseDTO enterprise = wxEnterpriseService.selectById(wxEnterpriseId);
List<String> list = new ArrayList<>();
SecretSettingDTO secretSetting = secretSettingService.getSecretSetting(wxEnterpriseId, SecretTypeEnum.CONTACT_CUSTOMER.getVal());
if (null == secretSetting||secretSetting.getCheckFlag()==0) {
log.info("没有配置客户联系secret:{}",wxEnterpriseId);
if (null == secretSetting || secretSetting.getCheckFlag() == 0) {
log.info("没有配置客户联系secret:{}", wxEnterpriseId);
return list;
}
String res = qywxUserApiService.listSelfExternalUserid(enterprise.getCorpid(), secretSetting.getSecretVal(), wxUserId);
log.info("【查询自建应用】res={}",res);
log.info("【查询自建应用】res={}", res);
if (res != null && res.equals("1")) {
log.info("代表需要重试");
return null;
}
if(StringUtils.isBlank(res)){
if (StringUtils.isBlank(res)) {
return list;
}
JSONArray jsonArr = JSON.parseArray(res);
if(jsonArr.size() == 0) {
if (jsonArr.size() == 0) {
return list;
}
for (Object object : jsonArr) {
......@@ -1264,27 +1275,28 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
return list;
} catch (Exception e) {
log.info("错误={}",e);
log.info("错误={}", e);
}
return null;
}
@Override
public List<String> listExterialList(String wxEnterpriseId, String wxUserId) {
log.info("【获取第三方应用好友】wxEnterpriseId={},wxUserId={}",wxEnterpriseId,wxUserId);
log.info("【获取第三方应用好友】wxEnterpriseId={},wxUserId={}", wxEnterpriseId, wxUserId);
WxEnterpriseDTO enterprise = wxEnterpriseService.selectById(wxEnterpriseId);
// String wxRes = qywxUserApiService.listExternalUserid(enterprise.getCorpid(), "wwb3ef71aa8c6d9c06", wxUserId);
String wxRes = qywxUserApiService.listExternalUserid(enterprise.getCorpid(), config.getWxSuiteid(), wxUserId);
List<String> list = new ArrayList<>();
log.info("【查询第三方应用】res={}",wxRes);
log.info("【查询第三方应用】res={}", wxRes);
if (wxRes != null && wxRes.equals("1")) {
log.info("代表需要重试");
return null;
}
if(StringUtils.isBlank(wxRes)){
if (StringUtils.isBlank(wxRes)) {
return list;
}
JSONArray jsonArr = JSON.parseArray(wxRes);
if(jsonArr.size() == 0) {
if (jsonArr.size() == 0) {
return list;
}
for (Object object : jsonArr) {
......@@ -1292,10 +1304,11 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
return list;
}
@Override
public ExternalUserDTO getCorpSelfExternalUseridInfo(String wxEnterpriseId,String wxUserId, String externalUserId) {
public ExternalUserDTO getCorpSelfExternalUseridInfo(String wxEnterpriseId, String wxUserId, String externalUserId) {
WxEnterpriseDTO wxEnterprise = wxEnterpriseService.selectById(wxEnterpriseId);
if(wxEnterprise == null){
if (wxEnterprise == null) {
log.info("企业不存在");
return null;
}
......@@ -1305,7 +1318,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
return null;
}
String unionIdJson = qywxUserApiService.getCorpSelfExternalUseridInfo(wxEnterprise.getCorpid(), secretSetting.getSecretVal(), externalUserId);
if(StringUtils.isBlank(unionIdJson)){
if (StringUtils.isBlank(unionIdJson)) {
log.info("好友不存在");
return null;
} else if (unionIdJson.equals("1")) {
......@@ -1317,15 +1330,15 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
}
@Override
public ExternalUserDTO getExternalUseridInfo(String wxEnterpriseId,String wxUserId, String externalUserId) {
public ExternalUserDTO getExternalUseridInfo(String wxEnterpriseId, String wxUserId, String externalUserId) {
WxEnterpriseDTO wxEnterprise = wxEnterpriseService.selectById(wxEnterpriseId);
if(wxEnterprise == null){
if (wxEnterprise == null) {
log.info("企业不存在");
return null;
}
// String uJ = qywxUserApiService.getExternalUseridInfo(wxEnterprise.getCorpid(), "wwb3ef71aa8c6d9c06", externalUserId);
String uJ = qywxUserApiService.getExternalUseridInfo(wxEnterprise.getCorpid(), config.getWxSuiteid(), externalUserId);
if(StringUtils.isBlank(uJ)){
if (StringUtils.isBlank(uJ)) {
log.info("好友不存在");
return null;
} else if (uJ.equals("1")) {
......@@ -1335,28 +1348,28 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
String name = "";
String createTime = "";
String avatar = "";
if(StringUtils.isNotBlank(uJ)){
if (StringUtils.isNotBlank(uJ)) {
JSONObject jo = JSON.parseObject(uJ);
String external_contact = jo.getString("external_contact");
String uj_follow_user = jo.getString("follow_user");
JSONObject jt = null;
if(StringUtils.isNotBlank(external_contact)){
if (StringUtils.isNotBlank(external_contact)) {
jt = JSON.parseObject(external_contact);
name = EmojiFilterUtil.filterEmojiLast(jt.getString("name"), true);
if(StringUtils.isBlank(name)){
if (StringUtils.isBlank(name)) {
name = "--";
}
avatar = jt.getString("avatar");
}
if(StringUtils.isNotBlank(uj_follow_user)){
if (StringUtils.isNotBlank(uj_follow_user)) {
JSONArray j = JSON.parseArray(uj_follow_user);
String uj_userId = "";
for (Object object : j) {
String followJson = JSON.toJSONString(object);
JSONObject follow = JSON.parseObject(followJson);
uj_userId = follow.getString("userid");
if(uj_userId.equals(wxUserId)){
if(jt != null){
if (uj_userId.equals(wxUserId)) {
if (jt != null) {
externalUserId = jt.getString("external_userid");
createTime = follow.getString("createtime");
break;
......@@ -1373,11 +1386,12 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
pojo.setAvatar(avatar);
return EntityUtil.changeEntityByJSON(ExternalUserDTO.class, pojo);
}
@Override
public String addExternal(ExternalUserDTO dto) {
String wxUserId = dto.getWxUserId();
String wxEnterpriseId = dto.getWxEnterpriseId();
String name = StringUtils.isBlank(dto.getName())?"--":dto.getName();
String name = StringUtils.isBlank(dto.getName()) ? "--" : dto.getName();
String createTime = dto.getAddCreateTime();
String unionId = dto.getUnionId();
String externalUserId = dto.getExternalUserId();
......@@ -1387,14 +1401,14 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
String staffId = dto.getStaffId();
String avatar = dto.getAvatar();
String clerkId = dto.getClerkId();
if(StringUtils.isAnyBlank(wxUserId,wxEnterpriseId,name,createTime,unionId,externalUserId,memberId,storeId,enterpriseId,staffId,clerkId)){
if (StringUtils.isAnyBlank(wxUserId, wxEnterpriseId, name, createTime, unionId, externalUserId, memberId, storeId, enterpriseId, staffId, clerkId)) {
log.info("【新增外部联系人】wxUserId={},wxEnterpriseId={},name={},createTime={},unionId ={},externalUserId ={},memberId ={},storeId ={},enterpriseId ={},staffId={},clerkId={}"
+ "",wxUserId,wxEnterpriseId,name,createTime,unionId,externalUserId,memberId,storeId,enterpriseId,staffId,clerkId);
+ "", wxUserId, wxEnterpriseId, name, createTime, unionId, externalUserId, memberId, storeId, enterpriseId, staffId, clerkId);
return "参数不对";
}
MemberUnionidRelatedDTO exsitDTO = memberUnionRelatedService.getByUnionId(wxEnterpriseId, wxUserId, unionId);
String uuid = "";
if(exsitDTO == null){
if (exsitDTO == null) {
exsitDTO = new MemberUnionidRelatedDTO();
exsitDTO.setAvatar(avatar);
exsitDTO.setExternalUserid(externalUserId);
......@@ -1406,7 +1420,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
exsitDTO.setWxUserId(wxUserId);
exsitDTO.setUnionid(unionId);
uuid = memberUnionRelatedService.addMemberUnionidRelated(exsitDTO);
}else{
} else {
uuid = exsitDTO.getMemberUnionidRelatedId();
exsitDTO.setAvatar(avatar);
exsitDTO.setExternalUserid(externalUserId);
......@@ -1436,7 +1450,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
related.setStatusFlag(1);
externalClerkRelatedService.insert(related);
}else{
} else {
TabHaobanExternalClerkRelated external = clerkRelateds.get(0);
external.setMemberId(memberId);
external.setMemberUnionidRelatedId(uuid);
......
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