Commit 257a9b15 by bilingfeng

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

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