大屏接口

dev_0531
yechenhao 6 years ago
parent 941a6d3947
commit 147c219935

@ -1,6 +1,7 @@
package com.kiisoo.ic.generalize.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@ -25,6 +26,21 @@ public class PoiCustomerContactDataStat {
* id
*/
private Long storeId;
/**
*
*/
@TableField(exist = false)
private String storeName;
/**
*
*/
@TableField(exist = false)
private String companyName;
/**
*
*/
@TableField(exist = false)
private String address;
/**
*

@ -3,6 +3,7 @@ package com.kiisoo.ic.generalize.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kiisoo.ic.analysis.bean.TableAnalysisDTO;
import com.kiisoo.ic.generalize.entity.PoiCustomerContactDataStat;
import com.kiisoo.ic.store.entity.StorePromotionDataDO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@ -30,4 +31,6 @@ public interface PoiCustomerContactDataStatMapper extends BaseMapper<PoiCustomer
* @date 2020/05/17 12:42
*/
Integer sumNegativeFeedbackCntByStoreIds(@Param("storeIds") List<Long> storeIds);
List<PoiCustomerContactDataStat> selectSumDataByShopIds(@Param("storeIds")List<Long> storeIds, @Param("startDate")Date startDate, @Param("endDate")Date endDate);
}

@ -10,14 +10,18 @@ import com.kiisoo.ic.common.utils.MD5FileUtil;
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.mapper.PrivilageDomainEntityDOMapper;
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.PrivilageOrganizational;
import com.kiisoo.ic.generalize.mapper.PoiCustomerContactDataStatMapper;
import com.kiisoo.ic.generalize.mapper.RetailCompanyMapper;
import com.kiisoo.ic.store.bean.BsdShareCodeResponse;
import com.kiisoo.ic.store.constant.Constants;
import com.kiisoo.ic.store.entity.*;
import com.kiisoo.ic.store.mapper.PoiStoreDOMapper;
import com.kiisoo.ic.store.mapper.PrivilageCpUserStoreDOMapper;
import com.kiisoo.ic.store.mapper.StorePromotionDataDOMapper;
import com.kiisoo.ic.utils.DateUtils;
@ -63,6 +67,24 @@ public class StorePromotionDataService {
@Autowired
private PoiCustomerContactDataStatMapper poiCustomerContactDataStatMapper;
/**
* mapper
*/
@Autowired
private PrivilageDomainEntityDOMapper privilageDomainEntityDOMapper;
/**
* mapper
*/
@Autowired
private RetailCompanyMapper retailCompanyMapper;
/**
* mapper
*/
@Autowired
private PoiStoreDOMapper poiStoreDOMapper;
/**
*
*/
@ -435,6 +457,32 @@ public class StorePromotionDataService {
});
}
public PageInfo<PoiCustomerContactDataStat> listUserBehaviorData(List<Long> storeIds,Date startDate, Date endDate,Integer pageNum,Integer pageSize){
PageHelper.startPage(pageNum, pageSize);
List<PoiCustomerContactDataStat> results = poiCustomerContactDataStatMapper.selectSumDataByShopIds(storeIds,startDate,endDate);
if (CollectionUtils.isNotEmpty(results)){
results.forEach(result -> {
Long storeId = result.getStoreId();
PoiStore poiStore = poiStoreDOMapper.selectById(storeId);
if (poiStore == null){
return;
}
result.setStoreName(poiStore.getName());
result.setAddress(poiStore.getAddress());
//客户orgId
Long customerId = privilageDomainEntityDOMapper.selectDomainIdByShopEntity(storeId);
if (customerId != null){
PrivilageOrganizational customer = retailCompanyMapper.selectById(customerId);
PrivilageOrganizational company = retailCompanyMapper.selectById(customer.getParentId());
result.setCompanyName(company.getName());
}
});
}
return new PageInfo<>(results);
}
/**
*

@ -44,4 +44,24 @@
#{item}
</foreach>
</select>
<select id="selectSumDataByShopIds" resultType="com.kiisoo.ic.generalize.entity.PoiCustomerContactDataStat">
select
store_id as storeId,
SUM(negative_feedback_cnt) as negativeFeedbackCnt,
SUM(new_apply_cnt) as newApplyCnt,
SUM(chat_cnt) as chatCnt,
SUM(message_cnt) as messageCnt,
AVG(avg_eply_ime) as avgReplyTime,
AVG(reply_percentage) as replyPercentage,
SUM(new_contact_cnt) as newContactCnt,
from poi_customer_contact_data_stat where
store_id in
<foreach collection="storeIds" separator="," item="item" index="index" close=")" open="(">
#{item}
</foreach>
and stat_time
between DATE_FORMAT(#{startDate},'%Y-%m-%d')
and DATE_FORMAT(#{endDate},'%Y-%m-%d')
group by store_id
</select>
</mapper>

Loading…
Cancel
Save