大屏接口

dev_0531
yechenhao 6 years ago
parent 1f45bc6e5a
commit e6db6f58e6

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

@ -264,10 +264,10 @@
<insert id="insertStorePromotionData" parameterType="com.kiisoo.ic.store.entity.WxCusInfoRespDO">
INSERT INTO poi_customer_contact_data_stat (
store_id, new_apply_cnt,negative_feedback_cnt, new_contact_cnt,
store_id,region_id, new_apply_cnt,negative_feedback_cnt, new_contact_cnt,
chat_cnt,message_cnt,reply_percentage,avg_reply_time, stat_time, create_time)
VALUES (
#{storeId}, #{new_apply_cnt},#{negative_feedback_cnt}, #{new_contact_cnt},
#{storeId},#{regionId}, #{new_apply_cnt},#{negative_feedback_cnt}, #{new_contact_cnt},
#{chat_cnt}, #{message_cnt}, #{reply_percentage}, #{avg_reply_time}, #{statTime}, NOW())
</insert>

Loading…
Cancel
Save