Commit 79ef0bb8 by 徐高华

刷新好友

parent b061823f
......@@ -665,7 +665,8 @@ public class DealSyncOperationApiServiceImpl implements DealSyncOperationApiServ
@Override
public void dealWxFriendClerkSingle(String taskId, String wxUserId, String staffId, String wxEnterpriseId) {
TabHaobanPreDealLog dealLog = new TabHaobanPreDealLog();
dealLog.setDataId(wxUserId);
// 改成使用staffid
dealLog.setDataId(staffId);
dealLog.setpDataId(staffId);
dealLog.setDataType(PreDealTypeEnum.friend_clerk.getVal());
dealLog.setStatusFlag(0);
......
......@@ -61,9 +61,8 @@ public class FriendClerkSyncNewOperation implements BaseSyncOperation {
boolean dealFlag = true;
try {
String wxEnterpriseId = dataPre.getWxEnterpriseId();
String wxUserId_ = dataPre.getDataId();
TabHaobanStaff staff = this.staffService.selectByUserIdAndEnterpriseId(wxUserId_, wxEnterpriseId) ;
//
String staffId = dataPre.getDataId() ;
TabHaobanStaff staff = this.staffService.selectById(staffId) ;
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId) ;
//获取所有外部联系人的外部联系人ids
String dkWxUserId = staff.getWxUserId() ;
......@@ -108,8 +107,8 @@ public class FriendClerkSyncNewOperation implements BaseSyncOperation {
List<TabHaobanPreDealLog> dealLogList = new ArrayList<>();
for (String externalUserId : selfUserIdList) {
TabHaobanPreDealLog dealLog = new TabHaobanPreDealLog();
dealLog.setDataId(externalUserId + "-" + dkWxUserId);
dealLog.setpDataId(dkWxUserId);
dealLog.setDataId(externalUserId + "###" + dkWxUserId);
dealLog.setpDataId(staffId);
dealLog.setDataType(PreDealTypeEnum.self_friend.getVal());
dealLog.setStatusFlag(0);
dealLog.setTaskId(dataPre.getTaskId());
......@@ -124,8 +123,8 @@ public class FriendClerkSyncNewOperation implements BaseSyncOperation {
List<TabHaobanPreDealLog> thirddealLogList = new ArrayList<>();
for (String externalUserId : userIdList) {
TabHaobanPreDealLog dealLog = new TabHaobanPreDealLog();
dealLog.setDataId(externalUserId + "-" + wxUserId3th);
dealLog.setpDataId(wxUserId3th);
dealLog.setDataId(externalUserId + "###" + wxUserId3th);
dealLog.setpDataId(staffId);
dealLog.setDataType(PreDealTypeEnum.friend.getVal());
dealLog.setStatusFlag(0);
dealLog.setTaskId(dataPre.getTaskId());
......@@ -183,7 +182,7 @@ public class FriendClerkSyncNewOperation implements BaseSyncOperation {
public void dealSuccess(String taskId, String dataId, String enterpriseId, String wxEnterpriseId) {
preDealService.updateStatusByDataId(taskId, dataId, PreDealStatusEnum.dealing.getVal(), "预处理中");
List<String> dataIds = preDealService.listReDataIdByPDataId(taskId, dataId, PreDealTypeEnum.self_friend.getVal());
logger.info("{}:处理的数据:{}", dataId, JSONObject.toJSONString(dataIds));
logger.info("下一步处理的数据:{},dataId={}", JSONObject.toJSONString(dataIds) , dataId);
dealDepartmentToMq(taskId, new HashSet<>(dataIds), SyncTaskStatusEnum.self_friend_sync);
checkDepartmentTask(taskId);
}
......
......@@ -15,7 +15,6 @@ import com.gic.haoban.manage.api.service.ClerkMainStoreRelatedApiService;
import com.gic.haoban.manage.api.service.MemberUnionidRelatedApiService;
import com.gic.haoban.manage.api.service.StaffApiService;
import com.gic.haoban.manage.service.entity.TabHaobanPreDealLog;
import com.gic.haoban.manage.service.entity.TabHaobanStaff;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterpriseRelated;
import com.gic.haoban.manage.service.exception.WxApiLimitException;
import com.gic.haoban.manage.service.service.*;
......@@ -67,8 +66,6 @@ public class FriendSyncNewOperation implements BaseSyncOperation {
private WxEnterpriseRelatedService wxEnterpriseRelatedService;
@Autowired
private WxEnterpriseService wxEnterpriseService;
@Autowired
private StaffService staffService;
private static final String TRY_AGAIN = "haoban_fresh_wx_friend_again_";
......@@ -80,9 +77,10 @@ public class FriendSyncNewOperation implements BaseSyncOperation {
String relationKey = "-1";
try {
String wxEnterpriseId = dataPre.getWxEnterpriseId();
String wxUserId = dataPre.getpDataId();
String wxUserId = dataPre.getDataContent().split("###")[1] ;
String taskId = dealParamMqDTO.getTaskId();
String externalUserId = dataPre.getDataContent();
String staffId = dataPre.getpDataId() ;
if (dataPre.getStatusFlag() != PreDealStatusEnum.pre.getVal()) {
logger.info("已经处理过,无需重复处理:{}", JSONObject.toJSONString(dataPre));
......@@ -95,20 +93,6 @@ public class FriendSyncNewOperation implements BaseSyncOperation {
reason = "好友不存在";
return;
}
TabHaobanStaff tabHaobanStaff = staffService.selectByUserIdAndEnterpriseId(wxUserId, wxEnterpriseId);
if (tabHaobanStaff == null) {
dealFlag = false;
reason = "员工不存在";
return;
}
String staffId = tabHaobanStaff.getStaffId();
WxEnterpriseDTO wxEnterpriseDTO = wxEnterpriseService.selectById(wxEnterpriseId);
if (wxEnterpriseDTO == null) {
logger.info("没有存在企业关联:wxEnterpriseId:{}", wxEnterpriseId);
dealFlag = false;
reason = "没有关联企业";
return;
}
//relationkey
logger.info("生成relationKey:{},{},{}",staffId,externalUserDTO.getName(),externalUserDTO.getAddCreateTime());
relationKey = SecureUtil.md5(staffId + "_" + externalUserDTO.getName() + "_" + externalUserDTO.getAddCreateTime());
......
......@@ -13,10 +13,8 @@ import com.gic.haoban.manage.api.enums.PreDealTypeEnum;
import com.gic.haoban.manage.api.enums.SyncTaskStatusEnum;
import com.gic.haoban.manage.api.service.MemberUnionidRelatedApiService;
import com.gic.haoban.manage.service.entity.TabHaobanPreDealLog;
import com.gic.haoban.manage.service.entity.TabHaobanStaff;
import com.gic.haoban.manage.service.exception.WxApiLimitException;
import com.gic.haoban.manage.service.service.PreDealService;
import com.gic.haoban.manage.service.service.StaffService;
import com.gic.haoban.manage.service.service.SyncTaskService;
import com.gic.haoban.manage.service.task.BaseSyncOperation;
import com.gic.mq.sdk.GicMQClient;
......@@ -48,8 +46,6 @@ public class SelfFriendSyncNewOperation implements BaseSyncOperation {
private SyncTaskService syncTaskService;
@Autowired
private FriendClerkSyncNewOperation friendClerkSyncNewOperation;
@Autowired
private StaffService staffService;
private static final String TRY_AGAIN = "haoban_fresh_wx_friend_again_";
......@@ -60,7 +56,8 @@ public class SelfFriendSyncNewOperation implements BaseSyncOperation {
boolean dealFlag = true;
try {
String wxEnterpriseId = dataPre.getWxEnterpriseId();
String wxUserId = dataPre.getpDataId();
String wxUserId = dataPre.getDataContent().split("###")[1] ;
String staffId = dataPre.getpDataId() ;
String taskId = dealParamMqDTO.getTaskId();
String externalUserId = dataPre.getDataContent();
......@@ -70,13 +67,6 @@ public class SelfFriendSyncNewOperation implements BaseSyncOperation {
dealException(taskId, dataPre.getDataId(), null, "好友不存在");
return;
}
TabHaobanStaff tabHaobanStaff = staffService.selectByUserIdAndEnterpriseId(wxUserId, wxEnterpriseId);
if (tabHaobanStaff == null) {
dealFlag = false;
reason = "员工不存在";
return;
}
String staffId = tabHaobanStaff.getStaffId();
//自有应用信息
JSONObject json = new JSONObject();
json.put("name", externalUserDTO.getName());
......
......@@ -560,8 +560,7 @@ public class ClerkController extends WebBaseController {
//刷新微信好友
@RequestMapping("/fresh-wx-friend")
public HaobanResponse freshWxFrend(String staffId, String storeId, String wxEnterpriseId, String staffDepartmentRelatedId, String wxUserId
, @RequestParam(defaultValue = "0") Integer flushType) {
public HaobanResponse freshWxFrend(String staffId, String storeId, String wxEnterpriseId, String staffDepartmentRelatedId, @RequestParam(defaultValue = "0") Integer flushType) {
StaffDTO staff = staffApiService.selectById(staffId);
String yyyyMM = DateUtil.dateToStr(new Date(), "yyyyMMdd");
if (staff == null) {
......@@ -577,7 +576,7 @@ public class ClerkController extends WebBaseController {
String taskName = "刷新企业微信好友(" + staff.getStaffName() + ")";
String taskId = dealSyncOperationApiService.createWxFriendTaskSingle(wxEnterpriseId, taskName, staffId, staff.getStaffName(), SyncTaskTypeEnum.FRIEND_SINGLE.getType());
if (StringUtils.isNotBlank(taskId)) {
dealSyncOperationApiService.dealWxFriendClerkSingle(taskId, wxUserId, staffId, wxEnterpriseId);
dealSyncOperationApiService.dealWxFriendClerkSingle(taskId, staffId, staffId, wxEnterpriseId);
} else {
return resultResponse(HaoBanErrCode.ERR_10022);
}
......
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