大屏接口

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.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) {

@ -264,10 +264,10 @@
<insert id="insertStorePromotionData" parameterType="com.kiisoo.ic.store.entity.WxCusInfoRespDO"> <insert id="insertStorePromotionData" parameterType="com.kiisoo.ic.store.entity.WxCusInfoRespDO">
INSERT INTO poi_customer_contact_data_stat ( 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) chat_cnt,message_cnt,reply_percentage,avg_reply_time, stat_time, create_time)
VALUES ( 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()) #{chat_cnt}, #{message_cnt}, #{reply_percentage}, #{avg_reply_time}, #{statTime}, NOW())
</insert> </insert>

Loading…
Cancel
Save