Selaa lähdekoodia

feat:运营预警

Joburgess 4 vuotta sitten
vanhempi
commit
231e1e2efc

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/TeacherCourseStatistics.java

@@ -67,6 +67,8 @@ public class TeacherCourseStatistics {
     */
     private Integer averageClassMinutes;
 
+    private Boolean lowSalary;
+
     /**
     * 统计时间
     */
@@ -253,4 +255,12 @@ public class TeacherCourseStatistics {
     public void setSubjectListStr(String subjectListStr) {
         this.subjectListStr = subjectListStr;
     }
+
+    public Boolean getLowSalary() {
+        return lowSalary;
+    }
+
+    public void setLowSalary(Boolean lowSalary) {
+        this.lowSalary = lowSalary;
+    }
 }

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SysConfigService.java

@@ -211,6 +211,8 @@ public interface SysConfigService extends BaseService<Long, SysConfig> {
 
     String DAYA_BASE_SALARY_AMOUNT = "daya_base_salary_amount";
 
+    String WARNING_MIN_COURSE_SALARY = "warning_min_course_salary";
+
     /**
      * @return com.ym.mec.biz.dal.entity.SysConfig
      * @params paramName

+ 16 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherCourseStatisticsServiceImpl.java

@@ -1,9 +1,13 @@
 package com.ym.mec.biz.service.impl;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.biz.dal.dao.TeacherCourseStatisticsDao;
 import com.ym.mec.biz.dal.entity.Subject;
+import com.ym.mec.biz.dal.entity.SysConfig;
 import com.ym.mec.biz.dal.entity.TeacherCourseStatistics;
 import com.ym.mec.biz.dal.page.TeacherCourseStatisticsQueryInfo;
+import com.ym.mec.biz.service.SysConfigService;
 import com.ym.mec.biz.service.TeacherCourseStatisticsService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.page.PageInfo;
@@ -23,6 +27,8 @@ public class TeacherCourseStatisticsServiceImpl extends BaseServiceImpl<Long, Te
 
     @Autowired
     private TeacherCourseStatisticsDao teacherCourseStatisticsDao;
+    @Autowired
+    private SysConfigService sysConfigService;
 
     @Override
     public BaseDAO<Long, TeacherCourseStatistics> getDAO() {
@@ -56,6 +62,9 @@ public class TeacherCourseStatisticsServiceImpl extends BaseServiceImpl<Long, Te
         if (teacherCourseStatisticsList.size() == 0) {
             return;
         }
+        SysConfig salaryConfig = sysConfigService.findByParamName(SysConfigService.WARNING_MIN_COURSE_SALARY);
+        JSONObject salaryConfigObject = JSON.parseObject(salaryConfig.getParanValue());
+
         List<Integer> userIds = teacherCourseStatisticsList.stream().map(TeacherCourseStatistics::getUserId).collect(Collectors.toList());
         List<TeacherCourseStatistics> teCourseSalaryStaticsAndTypes = teacherCourseStatisticsDao.findUserCourseSalaryByUserIds(userIds, startDate, endDate);
 
@@ -88,6 +97,13 @@ public class TeacherCourseStatisticsServiceImpl extends BaseServiceImpl<Long, Te
             teacherCourseStatistics.setMusicCourseNum(musicCourseNum);
             teacherCourseStatistics.setPracticeCourseNum(practiceCourseNum);
 
+            BigDecimal organWarningSalary = salaryConfigObject.getBigDecimal(teacherCourseStatistics.getOrganId().toString());
+            if(Objects.isNull(organWarningSalary)||teacherCourseStatistics.getExpectTotalSalary().compareTo(organWarningSalary)<=0){
+                teacherCourseStatistics.setLowSalary(true);
+            }else{
+                teacherCourseStatistics.setLowSalary(false);
+            }
+
             if (teacherCourseStatistics.getSubjectIdList() == null) {
                 teacherCourseStatistics.setSubjectIdList("");
             }

+ 5 - 4
mec-biz/src/main/resources/config/mybatis/TeacherCourseStatisticsMapper.xml

@@ -14,6 +14,7 @@
         <result column="expect_vip_course_salary_" jdbcType="DECIMAL" property="expectVipCourseSalary"/>
         <result column="expect_practice_course_salary_" jdbcType="DECIMAL" property="expectPracticeCourseSalary"/>
         <result column="expect_total_salary_" jdbcType="DECIMAL" property="expectTotalSalary"/>
+        <result column="low_salary" jdbcType="DECIMAL" property="lowSalary"/>
         <result column="average_class_minutes_" jdbcType="INTEGER" property="averageClassMinutes"/>
         <result column="statistics_date_time_" jdbcType="DATE" property="statisticsDateTime"/>
         <result column="group_type_" jdbcType="VARCHAR" property="groupType"/>
@@ -32,18 +33,18 @@
         subject_id_list_, vip_course_num_, music_course_num_, practice_course_num_,
         expect_music_course_salary_, expect_vip_course_salary_, expect_practice_course_salary_,
         expect_total_salary_, average_class_minutes_,
-        statistics_date_time_)
+        statistics_date_time_,low_salary)
         VALUES (#{id,jdbcType=BIGINT}, #{userId,jdbcType=INTEGER}, #{organId,jdbcType=INTEGER}, #{month,jdbcType=DATE},
         #{subjectIdList,jdbcType=VARCHAR}, #{vipCourseNum,jdbcType=INTEGER}, #{musicCourseNum,jdbcType=INTEGER}, #{practiceCourseNum},
         #{expectMusicCourseSalary,jdbcType=DECIMAL}, #{expectVipCourseSalary,jdbcType=DECIMAL}, #{expectPracticeCourseSalary},
-        #{expectTotalSalary,jdbcType=DECIMAL}, #{averageClassMinutes,jdbcType=INTEGER},NOW())
+        #{expectTotalSalary,jdbcType=DECIMAL}, #{averageClassMinutes,jdbcType=INTEGER},NOW(),#{lowSalary})
     </insert>
 
     <insert id="batchAdd" parameterType="java.util.List" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
         INSERT INTO teacher_course_statistics (id_, user_id_, organ_id_, month_,
         subject_id_list_, vip_course_num_, music_course_num_, practice_course_num_,
         expect_music_course_salary_, expect_vip_course_salary_, expect_practice_course_salary_,
-        expect_total_salary_, average_class_minutes_,statistics_date_time_)
+        expect_total_salary_, average_class_minutes_,statistics_date_time_,low_salary)
         VALUE
         <foreach collection="lists" item="list" separator=",">
         (#{list.id,jdbcType=BIGINT}, #{list.userId,jdbcType=INTEGER}, #{list.organId,jdbcType=INTEGER}, #{list.month,jdbcType=DATE},
@@ -51,7 +52,7 @@
             #{list.practiceCourseNum},
         #{list.expectMusicCourseSalary,jdbcType=DECIMAL}, #{list.expectVipCourseSalary,jdbcType=DECIMAL},
             #{list.expectPracticeCourseSalary},
-        #{list.expectTotalSalary,jdbcType=DECIMAL}, #{list.averageClassMinutes,jdbcType=INTEGER},NOW())
+        #{list.expectTotalSalary,jdbcType=DECIMAL}, #{list.averageClassMinutes,jdbcType=INTEGER},NOW(),#{list.lowSalary})
         </foreach>
     </insert>