|
|
@ -11,18 +11,19 @@ import com.kiisoo.ic.common.utils.httpClientUtil.HttpClientUtil;
|
|
|
|
import com.kiisoo.ic.common.utils.httpClientUtil.HttpResult;
|
|
|
|
import com.kiisoo.ic.common.utils.httpClientUtil.HttpResult;
|
|
|
|
import com.kiisoo.ic.config.WxCpConfiguration;
|
|
|
|
import com.kiisoo.ic.config.WxCpConfiguration;
|
|
|
|
import com.kiisoo.ic.domain.service.PrivilageDomainService;
|
|
|
|
import com.kiisoo.ic.domain.service.PrivilageDomainService;
|
|
|
|
|
|
|
|
import com.kiisoo.ic.employee.entity.PrivilageCpUserDO;
|
|
|
|
|
|
|
|
import com.kiisoo.ic.employee.mapper.PrivilageCpUserDOMapper;
|
|
|
|
import com.kiisoo.ic.generalize.entity.PoiCustomerContactDataStat;
|
|
|
|
import com.kiisoo.ic.generalize.entity.PoiCustomerContactDataStat;
|
|
|
|
import com.kiisoo.ic.generalize.mapper.PoiCustomerContactDataStatMapper;
|
|
|
|
import com.kiisoo.ic.generalize.mapper.PoiCustomerContactDataStatMapper;
|
|
|
|
import com.kiisoo.ic.store.bean.BsdShareCodeResponse;
|
|
|
|
import com.kiisoo.ic.store.bean.BsdShareCodeResponse;
|
|
|
|
import com.kiisoo.ic.store.constant.Constants;
|
|
|
|
import com.kiisoo.ic.store.constant.Constants;
|
|
|
|
import com.kiisoo.ic.store.entity.StaffDO;
|
|
|
|
import com.kiisoo.ic.store.entity.*;
|
|
|
|
import com.kiisoo.ic.store.entity.StorePromotionDataDO;
|
|
|
|
import com.kiisoo.ic.store.mapper.PrivilageCpUserStoreDOMapper;
|
|
|
|
import com.kiisoo.ic.store.entity.WxCusInfoReqDO;
|
|
|
|
|
|
|
|
import com.kiisoo.ic.store.entity.WxCusInfoRespDO;
|
|
|
|
|
|
|
|
import com.kiisoo.ic.store.mapper.StorePromotionDataDOMapper;
|
|
|
|
import com.kiisoo.ic.store.mapper.StorePromotionDataDOMapper;
|
|
|
|
import com.kiisoo.ic.utils.DateUtils;
|
|
|
|
import com.kiisoo.ic.utils.DateUtils;
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
import me.chanjar.weixin.common.error.WxErrorException;
|
|
|
|
import me.chanjar.weixin.common.error.WxErrorException;
|
|
|
|
|
|
|
|
import me.chanjar.weixin.cp.api.WxCpExternalContactService;
|
|
|
|
import me.chanjar.weixin.cp.api.WxCpService;
|
|
|
|
import me.chanjar.weixin.cp.api.WxCpService;
|
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
@ -68,6 +69,18 @@ public class StorePromotionDataService {
|
|
|
|
@Autowired
|
|
|
|
@Autowired
|
|
|
|
private PrivilageDomainService privilageDomainService;
|
|
|
|
private PrivilageDomainService privilageDomainService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* 权限业务
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
|
|
|
private PrivilageCpUserDOMapper privilageCpUserDOMapper;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* 权限业务
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
|
|
|
private PrivilageCpUserStoreDOMapper privilageCpUserStoreDOMapper;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Value("${bsd.userBehavior}")
|
|
|
|
@Value("${bsd.userBehavior}")
|
|
|
|
private String userBehavior;
|
|
|
|
private String userBehavior;
|
|
|
@ -337,14 +350,26 @@ public class StorePromotionDataService {
|
|
|
|
public void syncCustomerBlackListByDate(Date startDate, Date endDate) throws Exception {
|
|
|
|
public void syncCustomerBlackListByDate(Date startDate, Date endDate) throws Exception {
|
|
|
|
//获取token
|
|
|
|
//获取token
|
|
|
|
String token = mainService.getAccessToken();
|
|
|
|
String token = mainService.getAccessToken();
|
|
|
|
List<StorePromotionDataDO> cusList = storePromotionDataDOMapper.selectCustomer();
|
|
|
|
WxCpExternalContactService externalContactService = mainService.getExternalContactService();
|
|
|
|
cusList.forEach(customer -> {
|
|
|
|
List<String> cpUserIds = externalContactService.listFollowUser();
|
|
|
|
|
|
|
|
cpUserIds.forEach(cpUserId -> {
|
|
|
|
// 返回
|
|
|
|
// 返回
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
String userId = customer.getUserId();
|
|
|
|
Long storeId = privilageCpUserStoreDOMapper.selectOneByCpUserId(cpUserId);
|
|
|
|
|
|
|
|
Long regionId = null;
|
|
|
|
|
|
|
|
if (storeId == null){
|
|
|
|
|
|
|
|
QueryWrapper<PrivilageCpUserDO> cpUserQw = new QueryWrapper<>();
|
|
|
|
|
|
|
|
cpUserQw.eq("cpUserId",cpUserId).last("limit 1");
|
|
|
|
|
|
|
|
PrivilageCpUserDO privilageCpUserDO = privilageCpUserDOMapper.selectOne(cpUserQw);
|
|
|
|
|
|
|
|
if (privilageCpUserDO != null){
|
|
|
|
|
|
|
|
regionId = privilageCpUserDO.getId();
|
|
|
|
|
|
|
|
}else {
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
WxCusInfoReqDO wxCusInfoReqDO = new WxCusInfoReqDO();
|
|
|
|
WxCusInfoReqDO wxCusInfoReqDO = new WxCusInfoReqDO();
|
|
|
|
wxCusInfoReqDO.setAccess_token(token);
|
|
|
|
wxCusInfoReqDO.setAccess_token(token);
|
|
|
|
wxCusInfoReqDO.setUserid(userId);
|
|
|
|
wxCusInfoReqDO.setUserid(cpUserId);
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
|
//todo 分开写便于同步历史数据 最大跨度30天 最久当天往前180天 上线时改为System.currentTimeMillis()
|
|
|
|
//todo 分开写便于同步历史数据 最大跨度30天 最久当天往前180天 上线时改为System.currentTimeMillis()
|
|
|
|
wxCusInfoReqDO.setStart_time(startDate.getTime() / 1000);
|
|
|
|
wxCusInfoReqDO.setStart_time(startDate.getTime() / 1000);
|
|
|
@ -353,11 +378,12 @@ public class StorePromotionDataService {
|
|
|
|
if (wxCusInfoRespDO == null) {
|
|
|
|
if (wxCusInfoRespDO == null) {
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
wxCusInfoRespDO.setStoreId(customer.getStoreId());
|
|
|
|
wxCusInfoRespDO.setStoreId(storeId);
|
|
|
|
|
|
|
|
wxCusInfoRespDO.setRegionId(regionId);
|
|
|
|
wxCusInfoRespDO.setStatTime(startDate);
|
|
|
|
wxCusInfoRespDO.setStatTime(startDate);
|
|
|
|
|
|
|
|
|
|
|
|
QueryWrapper<PoiCustomerContactDataStat> qw = new QueryWrapper();
|
|
|
|
QueryWrapper<PoiCustomerContactDataStat> qw = new QueryWrapper();
|
|
|
|
qw.eq("store_id", customer.getStoreId()).eq("stat_time", startDate).last("limit 1");
|
|
|
|
qw.eq("store_id", storeId).eq("region_id", regionId).eq("stat_time", startDate).last("limit 1");
|
|
|
|
PoiCustomerContactDataStat poiCustomerContactDataStat = poiCustomerContactDataStatMapper.selectOne(qw);
|
|
|
|
PoiCustomerContactDataStat poiCustomerContactDataStat = poiCustomerContactDataStatMapper.selectOne(qw);
|
|
|
|
int syncRes = 0;
|
|
|
|
int syncRes = 0;
|
|
|
|
if (poiCustomerContactDataStat == null) {
|
|
|
|
if (poiCustomerContactDataStat == null) {
|
|
|
|