Prechádzať zdrojové kódy

设计绩效代码逻辑分析

syh 5 rokov pred
rodič
commit
0e36879511

+ 2 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/IPerformanceService2.java

@@ -51,4 +51,6 @@ public interface IPerformanceService2 extends IService<Performance> {
      * @return
      */
     List<DesignMaterialInfo> materialAccountInfo(String materialInfoId);
+
+    void designerPerformanceTask(int year, int quarter);
 }

+ 21 - 64
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/PerformanceServiceImpl2.java

@@ -90,7 +90,7 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
         //快手有效视频
         kuaishouEffiVideo(calcDate, effiCalcStart, effiCalcEnd, effiStart, effiEnd, thisYear, thisMonth, thisQuarter);
         //头条有效视频
-        //toutiaoEffiVideo(calcDate, effiCalcStart, effiCalcEnd, effiStart, effiEnd, thisYear, thisMonth, thisQuarter);
+        toutiaoEffiVideo(calcDate, effiCalcStart, effiCalcEnd, effiStart, effiEnd, thisYear, thisMonth, thisQuarter);
     }
 
     //快手有效视频统计
@@ -252,6 +252,7 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
      * 设计师leader不需要计算媒体总任务
      */
     //季度绩效任务(在有效视频绑定人定时任务之后跑):设计师绩效计算-----包括快手和头条的计算逻辑
+    @Override
     public void designerPerformanceTask(int year, int quarter) {
         log.info(year + "年第" + quarter + "季度快手设计师季度绩效计算开始");
 
@@ -957,12 +958,19 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
     //1
     //季度到前一天为止个人的有效数量、素材总数、素材有效率、总跑量
     //{"effiVideoCount有效数":70,"videoCount素材总数":200,"effiRate":40,"cost":2019;performance绩效":20000}
+    @Override
     public Map<String, Object> getPerformanceInfo() {
         Map<String, Object> performanceInfoMap = new HashMap<>();
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         //LoginUser sysUser = new LoginUser();
         //sysUser.setId("9712328fddd1443faf566ddb87693658");
-
+        String orgCode = sysUser.getOrgCode();
+        Integer appType = null;
+        if (null != orgCode && orgCode.startsWith("A01A08")) {//头条
+            appType = 1;
+        } else if (null != orgCode && orgCode.startsWith("A01A07")) {//快手
+            appType = 2;
+        }
         //获取前一天的时间
         Date date = new Date();
         Date getDate = DateUtils.addDay(date, -1);
@@ -976,7 +984,7 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
 
         Map<String, String> lastDateMap = getLastDateInfo();
         //获取本人的视频总有效数量
-        int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(2,Integer.parseInt(lastDateMap.get("year")), Integer.parseInt(lastDateMap.get("quarter")), sysUser.getId());
+        int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(appType, Integer.parseInt(lastDateMap.get("year")), Integer.parseInt(lastDateMap.get("quarter")), sysUser.getId());
         //获取本人的视频总数
         int videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId(roleCode, startDate, endNowDate, sysUser.getId());
         //获取本人目前的视频有效率
@@ -987,6 +995,7 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
         //获取本人的总跑量
         BigDecimal cost = BigDecimal.ZERO;
 
+        //TODO --需要区分平台 修改sql
         if (roleCode.equals("plan")) {
             cost = userEfficientVideoMapMapper.getTotalCostByPlanId(sysUser.getId(), startDate, endDate);
         } else if (roleCode.equals("shot")) {
@@ -1007,12 +1016,17 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
     //2
     //有效率排行榜
     //{"list":[{"name":"pipi","effiRate":50},{"name":"pipixia","effiRate":40},{"name":"pipiqiu","effiRate":30}],"performance":performance}
+    @Override
     public Map<String, Object> effiRateRank(Integer size) {
         Map<String, Object> resultMap = new HashMap<>();
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        //LoginUser sysUser = new LoginUser();
-        //sysUser.setId("9712328fddd1443faf566ddb87693658");
-
+        String orgCode = sysUser.getOrgCode();
+        Integer appType = null;
+        if (null != orgCode && orgCode.startsWith("A01A08")) {//头条
+            appType = 1;
+        } else if (null != orgCode && orgCode.startsWith("A01A07")) {//快手
+            appType = 2;
+        }
         //获取前一天的时间
         Date date = new Date();
         Date getDate = DateUtils.addDay(date, -1);
@@ -1040,7 +1054,7 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
         if (userRoleList != null) {
             for (UserDto userDto : userRoleList) {
                 //有效视频数量
-                int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(2,Integer.parseInt(lastDateMap.get("year")), Integer.parseInt(lastDateMap.get("quarter")), userDto.getUserId());
+                int effiVideoCount = userEfficientVideoMapMapper.getEffiVideoCountByUserId(appType, Integer.parseInt(lastDateMap.get("year")), Integer.parseInt(lastDateMap.get("quarter")), userDto.getUserId());
                 //总视频数量
                 int videoCount = userEfficientVideoMapMapper.getQuarterMaterialCountByUserId(roleCode, startDate, endNowDate, userDto.getUserId());
                 //视频有效率
@@ -1174,62 +1188,5 @@ public class PerformanceServiceImpl2 extends ServiceImpl<PerformanceMapper, Perf
         timeMap.put("quarter", quarter);
         return timeMap;
     }
-
-    /*
-
-    //根据userId查询出所属的所有项目
-    private List<ProjectDTO> getProjects(String userId) {
-        List<ProjectDTO> projectDTOList = userEfficientVideoMapMapper.getProjectsByUserId(userId);
-        return projectDTOList;
-    }
-
-    //根据projectId判断此项目是否存在plane平面设计师
-    private boolean planeExistsInProject(Long projectId) {
-        int planeCount = userEfficientVideoMapMapper.getPlaneCountByProjectId(projectId);
-        if (planeCount == 0) {
-            return true;
-        }
-        return false;
-    }
-
-    //根据角色id判断所在team是否存在平面设计师
-    private boolean planeExistsInTeam(String userId) {
-        int planeCount = userEfficientVideoMapMapper.getPlaneCountByUserId(userId);
-        if (planeCount == 0) {
-            return true;
-        }
-        return true;
-    }
-
-    //判断媒体季度任务是否完成(设计师不需要判断季度媒体任务)
-    private boolean mediaMission() {
-        //查询优化师系统设置数据
-        OptimizerConfig config = optimizerConfigService.getEnabledConfigByMediaType(String.valueOf(2));
-
-        //2: 查询媒体季度任务完成情况
-        OptimizerCostDetailVO totalCostVo = getOptimizerTotalCost();
-        //result.put("totalCost", totalCostVo.getTotalCost().toString());
-        if (totalCostVo.getTotalCost().compareTo(config.getMediaTask()) < 0) {
-            //当前消耗季度任务未完成
-            return false;
-        }
-        return true;
-    }
-
-    public OptimizerCostDetailVO getOptimizerTotalCost() {
-        Date date = new Date();
-        Date getDate = DateUtils.addDay(date, -1);
-        String startDate = DateUtils.getQuarterStartDate(getDate);
-        String endDate = DateUtils.getQuarterEndDate(getDate);
-        String endNowDate = DateUtils.formatDate(getDate);
-        String year = DateUtils.getYear(getDate) + "";
-        String quarter = DateUtils.getQuarter(getDate) + "";
-        return performanceMapper.getOptimizerTotalCost(startDate, endNowDate, year, quarter);
-    }
-*/
-    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-    //页面接口 end
-    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
 }
 

+ 45 - 44
performance-appraisal/src/main/java/cn/com/ctop/performanceappraisal/controller/PerformanceOptimizerController.java

@@ -74,50 +74,6 @@ public class PerformanceOptimizerController {
     }
 
     /**
-     * 优化师绩效详情
-     *
-     * @param pageNo
-     * @param pageSize
-     * @param mediaType
-     * @return
-     */
-    @GetMapping(value = "/detail")
-    @ResponseBody
-    public Map<String, Object> getPerformanceDetail(@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                                                    @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
-                                                    @RequestParam(name = "mediaType", defaultValue = "2") String mediaType) {
-        return performanceOptimizerService.getPerformanceDetail(mediaType, pageNo, pageSize);
-    }
-
-    /**
-     * 优化师绩效排行榜
-     * @param mediaType
-     * @param pageNo
-     * @param pageSize
-     * @return
-     */
-    @GetMapping(value = "/ranking/list")
-    @ResponseBody
-    public Map<String, Object> getRankingList(@RequestParam(name = "mediaType", defaultValue = "2") String mediaType,
-                                              @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                                              @RequestParam(name = "pageSize", defaultValue = "3") Integer pageSize) {
-        return performanceOptimizerService.getRankingList(mediaType, pageNo, pageSize);
-    }
-
-    /**
-     * 获取项目经理相关数据
-     *
-     * @param req
-     * @param mediaType
-     * @return
-     */
-    @GetMapping(value = "/manager/detail")
-    @ResponseBody
-    public Map<String, Object> getManagerPerformanceDetail(HttpServletRequest req, @RequestParam(name = "mediaType", defaultValue = "2") String mediaType) {
-        return performanceOptimizerService.getManagerPerformanceDetail(mediaType);
-    }
-
-    /**
      * 添加
      *
      * @param performanceOptimizer
@@ -289,4 +245,49 @@ public class PerformanceOptimizerController {
         return Result.ok("文件导入失败!");
     }
 
+    /**
+     * 优化师绩效详情
+     *
+     * @param pageNo
+     * @param pageSize
+     * @param mediaType
+     * @return
+     */
+    @GetMapping(value = "/detail")
+    @ResponseBody
+    public Map<String, Object> getPerformanceDetail(@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                    @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                    @RequestParam(name = "mediaType", defaultValue = "2") String mediaType) {
+        return performanceOptimizerService.getPerformanceDetail(mediaType, pageNo, pageSize);
+    }
+
+    /**
+     * 优化师绩效排行榜
+     *
+     * @param mediaType
+     * @param pageNo
+     * @param pageSize
+     * @return
+     */
+    @GetMapping(value = "/ranking/list")
+    @ResponseBody
+    public Map<String, Object> getRankingList(@RequestParam(name = "mediaType", defaultValue = "2") String mediaType,
+                                              @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                              @RequestParam(name = "pageSize", defaultValue = "3") Integer pageSize) {
+        return performanceOptimizerService.getRankingList(mediaType, pageNo, pageSize);
+    }
+
+    /**
+     * 获取项目经理相关数据
+     *
+     * @param req
+     * @param mediaType
+     * @return
+     */
+    @GetMapping(value = "/manager/detail")
+    @ResponseBody
+    public Map<String, Object> getManagerPerformanceDetail(HttpServletRequest req, @RequestParam(name = "mediaType", defaultValue = "2") String mediaType) {
+        return performanceOptimizerService.getManagerPerformanceDetail(mediaType);
+    }
+
 }