Ver Fonte

Merge branch 'test'

zhaoxian há 2 anos atrás
pai
commit
d3df691262

+ 1 - 0
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java

@@ -255,6 +255,7 @@ public class ShiroConfig {
         filterChainDefinitionMap.put("/ctop/byteDance/videoReport/**", "anon");
         filterChainDefinitionMap.put("/ctop/byteDance/videoReport/**", "anon");
 
 
         filterChainDefinitionMap.put("/designer/**", "anon");
         filterChainDefinitionMap.put("/designer/**", "anon");
+        filterChainDefinitionMap.put("/kuaiShou/promoter/**", "anon");
 
 
         // 添加自己的过滤器并且取名为jwt
         // 添加自己的过滤器并且取名为jwt
         Map<String, Filter> filterMap = new HashMap<>(1);
         Map<String, Filter> filterMap = new HashMap<>(1);

+ 30 - 0
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/controller/KuaiShouPromoterController.java

@@ -0,0 +1,30 @@
+package org.jeecg.ctop.material.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.ctop.material.service.IKuaishouPromoterService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ *
+ */
+@Slf4j
+@RestController
+@RequestMapping("/kuaiShou/promoter")
+public class KuaiShouPromoterController {
+
+    @Autowired
+    IKuaishouPromoterService promoterService;
+
+    /**
+     * 查询达人详细数据
+     */
+    @GetMapping("/getPromoterInfo")
+    public JSONObject getPromoterInfo(Long promoterId) {
+        return promoterService.getPromoterInfo(promoterId);
+    }
+
+}

+ 17 - 0
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/mapper/KuaishouPromoterMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.ctop.material.mapper;
+
+import com.alibaba.fastjson.JSONObject;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface KuaishouPromoterMapper {
+
+    JSONObject getPromoterInfo(@Param("promoterId") Long promoterId);
+
+    List<JSONObject> getFansCharacteristic(@Param("promoterId") Long promoterId);
+
+    List<JSONObject> getPromoterShortVideosCommerceInfo(@Param("promoterId") Long promoterId, @Param("startInt") Integer startInt, @Param("endInt") Integer endInt);
+
+    List<JSONObject> getPromoterLiveCommerceInfo(@Param("promoterId") Long promoterId, @Param("startInt") Integer startInt, @Param("endInt") Integer endInt);
+}

+ 73 - 0
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/mapper/xml/KuaishouPromoterMapper.xml

@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.ctop.material.mapper.KuaishouPromoterMapper">
+
+    <select id="getPromoterInfo" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT t1.hotSaleChannelInfo,
+               t1.hotSaleBrandInfo,
+               t2.totalSale,
+               t2.promotedProductsNum,
+               t3.promoteLiveCount,
+               t2.liveStreamGMV,
+               t3.liveStreamVisitorCount,
+               t3.avgVisitorOnlineCount,
+               t2.liveStreamGPM,
+               t3.interactionRate,
+               ROUND(avgViewTime / 60000, 0) as 'avgViewTime',
+               t3.maxSameTimeVisitorCount,
+               t2.videoGPM,
+               t2.avgVideoSales,
+               t2.avgVideoViewers,
+               t4.videoCount,
+               t4.videoWatchCount,
+               t4.totalSale as 'videoTotalSale'
+        FROM kwai_promoter.kwai_promoter_info t1
+                 LEFT JOIN kwai_promoter.kwai_promoter_base_info t2 ON t1.promoterId = t2.promoterId
+                 LEFT JOIN kwai_promoter.kwai_promoter_live_base_info t3 ON t1.promoterId = t3.promoterId
+                 LEFT JOIN kwai_promoter.kwai_promoter_video_info t4 ON t1.promoterId = t4.promoterId
+        WHERE t1.promoterId = #{promoterId}
+          AND t3.timeRangeType = 2
+          AND t4.timeRangeType = 2
+    </select>
+
+    <select id="getFansCharacteristic" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT type,
+               CONCAT(type_date, '居多') as 'name',
+               CONCAT(ROUND(MAX(FeatureRate) / 100, 2), '%') as 'roi'
+        FROM kwai_promoter.kwai_promoter_fans_base_info
+        WHERE promoterId = #{promoterId}
+          AND timeRangeType = 2
+        GROUP BY type
+
+    </select>
+
+    <select id="getPromoterLiveCommerceInfo" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT `date`,
+               commentsCount,
+               likesCount,
+               liveMinuteDuration,
+               liveVisitorCount,
+               maxVisitorCount,
+               sharesCount
+        from kwai_promoter.kwai_promoter_live_analyse_info
+        WHERE promoterId = #{promoterId}
+          AND `date` BETWEEN #{startInt}
+            and #{endInt}
+        GROUP BY `date`
+        ORDER BY `date`
+    </select>
+
+    <select id="getPromoterShortVideosCommerceInfo" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT `date`,
+               shareCount,
+               videoWatchCount,
+               likeCount,
+               commentCount
+        from kwai_promoter.kwai_promoter_video_report_analyse_info
+        WHERE promoterId = #{promoterId}
+          AND `date` BETWEEN #{startInt} and #{endInt}
+        GROUP BY `date`
+        ORDER BY `date`
+    </select>
+
+</mapper>

+ 8 - 0
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/service/IKuaishouPromoterService.java

@@ -0,0 +1,8 @@
+package org.jeecg.ctop.material.service;
+
+import com.alibaba.fastjson.JSONObject;
+
+public interface IKuaishouPromoterService {
+
+    JSONObject getPromoterInfo(Long promoterId);
+}

+ 36 - 0
jeecg-boot-material-view/src/main/java/org/jeecg/ctop/material/service/impl/IKuaishouPromoterServiceImpl.java

@@ -0,0 +1,36 @@
+package org.jeecg.ctop.material.service.impl;
+
+
+import com.alibaba.fastjson.JSONObject;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.util.DateUtils;
+import org.jeecg.ctop.material.constants.Check;
+import org.jeecg.ctop.material.mapper.KuaishouPromoterMapper;
+import org.jeecg.ctop.material.service.IKuaishouPromoterService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+@Slf4j
+@Service
+public class IKuaishouPromoterServiceImpl implements IKuaishouPromoterService {
+
+    @Resource
+    private KuaishouPromoterMapper promoterMapper;
+
+    @Override
+    public JSONObject getPromoterInfo(Long promoterId) {
+        JSONObject data = promoterMapper.getPromoterInfo(promoterId);
+        if (!Check.isNull(data)) {
+            data.put("hotSaleBrandInfo", data.getJSONArray("hotSaleBrandInfo"));
+            data.put("hotSaleChannelInfo", data.getJSONArray("hotSaleChannelInfo"));
+            data.put("fanCharacteristic", promoterMapper.getFansCharacteristic(promoterId));
+            String today = DateUtils.date2Str();
+            Integer startInt = DateUtils.getDateInteger(DateUtils.getLastDay(today, 31));
+            Integer endInt = DateUtils.getDateInteger(DateUtils.getLastDay(today, 1));
+            data.put("liveInfo", promoterMapper.getPromoterLiveCommerceInfo(promoterId, startInt, endInt));
+            data.put("shortVideosInfo", promoterMapper.getPromoterShortVideosCommerceInfo(promoterId, startInt, endInt));
+        }
+        return data;
+    }
+}

+ 2 - 55
jeecg-boot-module-system/src/main/java/cn/com/ctop/reimburse/mondule/service/impl/ReimburseApplyServiceImpl.java

@@ -232,58 +232,14 @@ public class ReimburseApplyServiceImpl extends ServiceImpl<ReimburseApplyMapper,
             throw new Exception("用户ID:" + userId + ",未查询到所属公司");
             throw new Exception("用户ID:" + userId + ",未查询到所属公司");
         }
         }
         List<String> list = new ArrayList<>();
         List<String> list = new ArrayList<>();
-
         String companyId = company.getString("companyId");
         String companyId = company.getString("companyId");
         if ("6608ed13c0dd42de93c790dbdf124234".equals(companyId)) {
         if ("6608ed13c0dd42de93c790dbdf124234".equals(companyId)) {
             //广州汇创思拓数字科技有限公司(华南) 直接返回 何田田
             //广州汇创思拓数字科技有限公司(华南) 直接返回 何田田
             list.add("1cd4c769eabb4de98fed306de2a3bbbd");
             list.add("1cd4c769eabb4de98fed306de2a3bbbd");
-//            if (!Check.isNull(welfareUserId)) {
-//                list.add(welfareUserId);
-//            }
         } else if ("4b10089775c040119e139087517aed88".equals(companyId)) {
         } else if ("4b10089775c040119e139087517aed88".equals(companyId)) {
             //上海汇创思拓数字科技有限公司 直接返回 吴婵
             //上海汇创思拓数字科技有限公司 直接返回 吴婵
             list.add("183dce577efb49b386369473368cf251");
             list.add("183dce577efb49b386369473368cf251");
-//            if (!Check.isNull(welfareUserId)) {
-//                list.add(welfareUserId);
-//            }
-        } else if ("d57fecdcf7a94d009736d9c850731582".equals(companyId)) {
-            //北京汇创思拓数字科技有限公司
-            String user = baseMapper.selectFinalLeaders(userId, companyId);
-            if (userId.equals(user)) {
-                list.add(userId);
-            } else {
-                //查询部门
-                List<SysDepart> departs = sysDepartService.queryUserDeparts(userId);
-                if (!departs.isEmpty()) {
-                    String orgCode = departs.get(0).getOrgCode();
-                    JSONObject object = sysDepartService.queryAllParentIdByOrgCode(orgCode);
-                    JSONObject map = object.getJSONObject(orgCode).getJSONObject("parentMap");
-                    JSONObject leader = new JSONObject();
-                    //查询审核人员信息
-                    List<JSONObject> leaders = baseMapper.selectLeaders(companyId);
-                    for (JSONObject obj : leaders) {
-                        String departName = obj.getString("depart_name");
-                        if (map.toJSONString().contains(departName)) {
-                            leader = obj;
-                            break;
-                        }
-                    }
-                    if (leader.isEmpty()) {
-                        return Collections.emptyList();
-                    }
-                    //第一审核人
-                    list.add(leader.getString("first_id"));
-                    //第二审核人
-                    list.add(leader.getString("second_id"));
-                    //终极审核人
-                    list.add(leader.getString("final_id"));
-                }
-            }
-//            if (!Check.isNull(welfareUserId)) {
-//                list.add(welfareUserId);
-//            }
-        } else if ("3f362f527a804e8a9db6552ea12f7574".equals(companyId)) {
-            //北京汇创思拓数字科技有限公司
+        } else {
             String user = baseMapper.selectFinalLeaders(userId, companyId);
             String user = baseMapper.selectFinalLeaders(userId, companyId);
             if (userId.equals(user)) {
             if (userId.equals(user)) {
                 list.add(userId);
                 list.add(userId);
@@ -321,9 +277,6 @@ public class ReimburseApplyServiceImpl extends ServiceImpl<ReimburseApplyMapper,
                     }
                     }
                 }
                 }
             }
             }
-//            if (!Check.isNull(welfareUserId)) {
-//                list.add(welfareUserId);
-//            }
         }
         }
         return list;
         return list;
     }
     }
@@ -486,20 +439,14 @@ public class ReimburseApplyServiceImpl extends ServiceImpl<ReimburseApplyMapper,
         } else if ("4b10089775c040119e139087517aed88".equals(companyId)) {
         } else if ("4b10089775c040119e139087517aed88".equals(companyId)) {
             //上海汇创思拓数字科技有限公司 直接返回 吴婵
             //上海汇创思拓数字科技有限公司 直接返回 吴婵
             return "183dce577efb49b386369473368cf251";
             return "183dce577efb49b386369473368cf251";
-        } else if ("d57fecdcf7a94d009736d9c850731582".equals(companyId)) {
-            //北京汇创思拓数字科技有限公司
-            return getCompanyLeader(userId, companyId);
-        } else if ("3f362f527a804e8a9db6552ea12f7574".equals(companyId)) {
-            //石家庄汇创思拓数字科技有限公司
+        } else {
             return getCompanyLeader(userId, companyId);
             return getCompanyLeader(userId, companyId);
         }
         }
-        return null;
     }
     }
 
 
     // 获取公司审核人ID
     // 获取公司审核人ID
     private String getCompanyLeader(String userId, String companyId) {
     private String getCompanyLeader(String userId, String companyId) {
         String leaderId = "";
         String leaderId = "";
-
         String user = baseMapper.selectFinalLeaders(userId, companyId);
         String user = baseMapper.selectFinalLeaders(userId, companyId);
         if (userId.equals(user)) {
         if (userId.equals(user)) {
             return userId;
             return userId;