Browse Source

渠道单独给管理员展示

zoujiajian 2 years ago
parent
commit
1b8d7eddaa

+ 5 - 0
netflix-common/src/main/java/com/cyksj/common/constant/Constant.java

@@ -363,4 +363,9 @@ public interface Constant {
 	String money = "money";
 
 	String orders = "orders";
+
+	/**
+	 * 渠道用户展示
+	 */
+	String POPULARIZE_USER_VIEWS = "popularize_user_views";
 }

+ 3 - 0
netflix-dao/src/main/java/com/cyksj/model/views/ChannelPopularizeView.java

@@ -40,6 +40,9 @@ public class ChannelPopularizeView {
     @DbField("c.creator")
     private String creator;
 
+    @DbField("cp.creator")
+    private String popularizeCreator;
+
     /**
      * 链接名称
      */

+ 16 - 2
netflix-web/src/main/java/com/cyksj/web/controller/manage/channel/CmsChannelPopularizeController.java

@@ -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 -> {