|
@@ -1,13 +1,16 @@
|
|
|
package com.cyksj.web.controller.manage.channel;
|
|
package com.cyksj.web.controller.manage.channel;
|
|
|
|
|
|
|
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
|
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.cyksj.common.constant.Constant;
|
|
import com.cyksj.common.constant.Constant;
|
|
|
import com.cyksj.dto.Result;
|
|
import com.cyksj.dto.Result;
|
|
|
import com.cyksj.enums.GatewayResponse;
|
|
import com.cyksj.enums.GatewayResponse;
|
|
|
import com.cyksj.mapper.OrderDonMapper;
|
|
import com.cyksj.mapper.OrderDonMapper;
|
|
|
import com.cyksj.mapper.UserMapper;
|
|
import com.cyksj.mapper.UserMapper;
|
|
|
|
|
+import com.cyksj.mapper.channel.ChannelPopularizeVisitMapper;
|
|
|
import com.cyksj.model.entity.ChannelPopularize;
|
|
import com.cyksj.model.entity.ChannelPopularize;
|
|
|
|
|
+import com.cyksj.model.entity.ChannelPopularizeVisit;
|
|
|
import com.cyksj.model.entity.OrderDon;
|
|
import com.cyksj.model.entity.OrderDon;
|
|
|
import com.cyksj.model.entity.User;
|
|
import com.cyksj.model.entity.User;
|
|
|
import com.cyksj.model.views.ChannelPopularizeDetailView;
|
|
import com.cyksj.model.views.ChannelPopularizeDetailView;
|
|
@@ -44,23 +47,13 @@ public class CmsChannelPopularizeController {
|
|
|
|
|
|
|
|
private final OrderDonMapper orderDonMapper;
|
|
private final OrderDonMapper orderDonMapper;
|
|
|
|
|
|
|
|
|
|
+ private final ChannelPopularizeVisitMapper visitMapper;
|
|
|
|
|
+
|
|
|
@GetMapping
|
|
@GetMapping
|
|
|
@SaCheckPermission("promotion:view")
|
|
@SaCheckPermission("promotion:view")
|
|
|
- public Result<SearchResult<ChannelPopularizeView>> get(String startTime, String endTime){
|
|
|
|
|
- String timeSql = StringUtils.EMPTY;
|
|
|
|
|
- String visitTimeSql = StringUtils.EMPTY;
|
|
|
|
|
- if (StringUtils.isNotBlank(startTime)) {
|
|
|
|
|
- timeSql += String.format(" and o.created_time >= '%s'", startTime);
|
|
|
|
|
- visitTimeSql += String.format(" and v.created_time >= '%s'", startTime);
|
|
|
|
|
- }
|
|
|
|
|
- if (StringUtils.isNotBlank(endTime)) {
|
|
|
|
|
- timeSql += String.format(" and o.created_time <= '%s'", endTime);
|
|
|
|
|
- visitTimeSql += String.format(" and v.created_time <= '%s'", endTime);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ public Result<SearchResult<ChannelPopularizeView>> get(String startTime, String endTime) {
|
|
|
SearchResult<ChannelPopularizeView> searchResult = beanSearcher.search(ChannelPopularizeView.class,
|
|
SearchResult<ChannelPopularizeView> searchResult = beanSearcher.search(ChannelPopularizeView.class,
|
|
|
MapUtils.flatBuilder(request.getParameterMap())
|
|
MapUtils.flatBuilder(request.getParameterMap())
|
|
|
- .put("time", timeSql)
|
|
|
|
|
- .put("visitTime", visitTimeSql)
|
|
|
|
|
.build());
|
|
.build());
|
|
|
searchResult.getDataList().forEach(data -> {
|
|
searchResult.getDataList().forEach(data -> {
|
|
|
Integer emailCount = userMapper.selectCount(Wrappers.lambdaQuery(User.class)
|
|
Integer emailCount = userMapper.selectCount(Wrappers.lambdaQuery(User.class)
|
|
@@ -82,6 +75,16 @@ public class CmsChannelPopularizeController {
|
|
|
.eq(OrderDon::getIsWebPay, true)
|
|
.eq(OrderDon::getIsWebPay, true)
|
|
|
.notIn(OrderDon::getStatus, Constant.noOrderStatus));
|
|
.notIn(OrderDon::getStatus, Constant.noOrderStatus));
|
|
|
data.setNumOfOrderWebPay(numOfOrderWebPay);
|
|
data.setNumOfOrderWebPay(numOfOrderWebPay);
|
|
|
|
|
+ ChannelPopularizeView channelPopularizeView = orderDonMapper.countPopularizeOrderDetail(data.getId(), startTime, endTime);
|
|
|
|
|
+ data.setOrderCount(channelPopularizeView.getOrderCount());
|
|
|
|
|
+ data.setOrderMoney(channelPopularizeView.getOrderMoney());
|
|
|
|
|
+ data.setRefundCount(channelPopularizeView.getRefundCount());
|
|
|
|
|
+ data.setRefundMoney(channelPopularizeView.getRefundMoney());
|
|
|
|
|
+ Integer visitCount = visitMapper.selectCount(Wrappers.lambdaQuery(ChannelPopularizeVisit.class)
|
|
|
|
|
+ .eq(ChannelPopularizeVisit::getPopularizeId, data.getId())
|
|
|
|
|
+ .ge(StrUtil.isNotEmpty(startTime), ChannelPopularizeVisit::getCreatedTime, startTime)
|
|
|
|
|
+ .lt(StrUtil.isNotEmpty(endTime), ChannelPopularizeVisit::getCreatedTime, endTime));
|
|
|
|
|
+ data.setVisit(visitCount);
|
|
|
});
|
|
});
|
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(searchResult);
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(searchResult);
|
|
|
}
|
|
}
|