|
|
@@ -5,12 +5,14 @@ import cn.dev33.satoken.stp.StpUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.cyksj.common.constant.Constant;
|
|
|
+import com.cyksj.common.util.Jsons;
|
|
|
import com.cyksj.dto.Result;
|
|
|
import com.cyksj.enums.GatewayResponse;
|
|
|
import com.cyksj.mapper.OrderDonMapper;
|
|
|
import com.cyksj.mapper.UserMapper;
|
|
|
import com.cyksj.mapper.channel.ChannelPopularizeVisitMapper;
|
|
|
import com.cyksj.mapper.corp.CorpCustomerAcquisitionLinkPopularizeMapper;
|
|
|
+import com.cyksj.mapper.sys.SysConfigMapper;
|
|
|
import com.cyksj.model.entity.*;
|
|
|
import com.cyksj.model.views.ChannelPopularizeDetailView;
|
|
|
import com.cyksj.model.views.ChannelPopularizeView;
|
|
|
@@ -54,14 +56,26 @@ public class CmsChannelPopularizeController {
|
|
|
|
|
|
private final CmsUserService cmsUserService;
|
|
|
|
|
|
+ private final SysConfigMapper sysConfigMapper;
|
|
|
@GetMapping
|
|
|
@SaCheckPermission("promotion:view")
|
|
|
- public Result<SearchResult<ChannelPopularizeView>> get(String startTime, String endTime, Long goodsId) {
|
|
|
+ public Result<SearchResult<ChannelPopularizeView>> get(String startTime, String endTime, Long goodsId) throws Exception {
|
|
|
long adminId = StpUtil.getLoginIdAsLong();
|
|
|
MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
|
|
|
Boolean isRootRole = cmsUserService.isRootRole(adminId);
|
|
|
if (!isRootRole) {
|
|
|
- builder.put("condition", String.format("FIND_IN_SET(%s,c.creator) > 0", adminId));
|
|
|
+ String condition = String.format("FIND_IN_SET(%s,c.creator) > 0", adminId);
|
|
|
+ //渠道单独给管理员展示
|
|
|
+ SysConfig sysConfig = sysConfigMapper.selectOne(Wrappers.lambdaQuery(SysConfig.class)
|
|
|
+ .eq(SysConfig::getSysKey, Constant.POPULARIZE_USER_VIEWS)
|
|
|
+ .last("limit 1"));
|
|
|
+ if (sysConfig != null && StrUtil.isNotBlank(sysConfig.getSysValue())) {
|
|
|
+ List<Long> userList = Jsons.parseList(sysConfig.getSysValue(), Long.class);
|
|
|
+ if (userList.contains(adminId)) {
|
|
|
+ condition += String.format(" or FIND_IN_SET(%s,cp.creator) > 0", adminId);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ builder.put("condition", "(" + condition + ")");
|
|
|
}
|
|
|
SearchResult<ChannelPopularizeView> searchResult = beanSearcher.search(ChannelPopularizeView.class, builder.build());
|
|
|
searchResult.getDataList().forEach(data -> {
|