Bläddra i källkod

Merge remote-tracking branch 'origin/saas' into saas

zouxuan 3 år sedan
förälder
incheckning
73dafd3bea

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysManualDao.java

@@ -5,6 +5,7 @@ import com.ym.mec.biz.dal.entity.SysManual;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * (SysManual)表数据库访问层
@@ -16,5 +17,8 @@ public interface SysManualDao extends BaseMapper<SysManual> {
 
     int insertBatch(@Param("entities") List<SysManual> entities);
 
+    int findRecordCount(Map<String, Object> params);
+
+    List<SysManual> queryRecord(Map<String, Object> params);
 }
 

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SysManual.java

@@ -55,6 +55,17 @@ public class SysManual implements Serializable {
     @ApiModelProperty(value = "操作人")
     private Integer operatorId;
 
+    public String getOperatorName() {
+        return operatorName;
+    }
+
+    public void setOperatorName(String operatorName) {
+        this.operatorName = operatorName;
+    }
+
+    @ApiModelProperty(value = "操作人名称")
+    private String operatorName;
+
     private static final long serialVersionUID = 1L;
 
     public Integer getId() {

+ 1 - 13
mec-biz/src/main/java/com/ym/mec/biz/dal/page/TeacherQueryInfo.java

@@ -1,9 +1,8 @@
 package com.ym.mec.biz.dal.page;
 
-import com.ym.mec.common.page.QueryInfo;
 import io.swagger.annotations.ApiModelProperty;
 
-import java.util.List;
+import com.ym.mec.common.page.QueryInfo;
 
 public class TeacherQueryInfo extends QueryInfo {
 
@@ -22,9 +21,6 @@ public class TeacherQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "账号状态")
     private String lockFlag;
 
-    @ApiModelProperty(value = "1内2外")
-    private Integer tenantId;
-    
     @ApiModelProperty(value = "是否支持额外陪练课授课")
     private Boolean isSupportExtraPracticeLesson;
 
@@ -39,14 +35,6 @@ public class TeacherQueryInfo extends QueryInfo {
         this.isSettlementSalary = isSettlementSalary;
     }
 
-    public Integer getTenantId() {
-        return tenantId;
-    }
-
-    public void setTenantId(Integer tenantId) {
-        this.tenantId = tenantId;
-    }
-
     public Integer getSubjectId() {
         return subjectId;
     }

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/TenantAssetsInfoService.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.TenantAssetsInfo;
+import com.ym.mec.biz.dal.entity.VipGroup;
 
 import java.util.List;
 
@@ -19,5 +20,7 @@ public interface TenantAssetsInfoService extends IService<TenantAssetsInfo> {
     void courseRecoverAmount(Integer courseId);
 
     void courseDeductAmount(Integer courseId);
+
+    void groupFrozenAmount(VipGroup vipGroup, List<CourseSchedule> dto);
 }
 

+ 23 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysManualServiceImpl.java

@@ -4,19 +4,23 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ym.mec.biz.dal.dao.SysManualDao;
+import com.ym.mec.biz.dal.entity.CloudTeacherStudent;
+import com.ym.mec.biz.dal.entity.SysConfig;
 import com.ym.mec.biz.dal.entity.SysManual;
 import com.ym.mec.biz.dal.page.SysManualQueryInfo;
 import com.ym.mec.biz.service.SysManualService;
+import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.PageUtil;
 import com.ym.mec.common.page.WrapperUtil;
+import com.ym.mec.util.collection.MapUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.util.Date;
+import java.util.*;
 
 /**
  * (SysManual)表服务实现类
@@ -29,11 +33,26 @@ public class SysManualServiceImpl extends ServiceImpl<SysManualDao, SysManual> i
 
     private final static Logger logger = LoggerFactory.getLogger(SysManualServiceImpl.class);
 
+    @Autowired
+    private SysManualDao sysManualDao;
+
     public PageInfo<SysManual> query(SysManualQueryInfo queryInfo) {
-        QueryWrapper<SysManual> queryWrapper = new WrapperUtil<SysManual>().hasEq("menu_id_", queryInfo.getMenuId()).queryWrapper();
-        Page<SysManual> pageInfo = PageUtil.getPage(queryInfo.getPage(), queryInfo.getRows());
+        PageInfo<SysManual> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<>();
+        MapUtil.populateMap(params, queryInfo);
+        List<SysManual> dataList = null;
+        int count = sysManualDao.findRecordCount(params);
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            params.put("offset", pageInfo.getOffset());
+            dataList = sysManualDao.queryRecord(params);
+        }
+        if (count == 0) {
+            dataList = new ArrayList<>();
+        }
+        pageInfo.setRows(dataList);
 
-        return PageUtil.pageInfo(this.page(pageInfo, queryWrapper));
+        return pageInfo;
     }
 
     public Boolean add(SysManual sysManual, Integer userId) {

+ 26 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantAssetsInfoServiceImpl.java

@@ -48,14 +48,18 @@ public class TenantAssetsInfoServiceImpl extends ServiceImpl<TenantAssetsInfoDao
     private TenantCloudCourseRecordService tenantCloudCourseRecordService;
 
     /**
+     * 课程
      * 扣除冻结的金额
      *
      * @param courseId 课程id
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void courseDeductAmount(Integer courseId){
+    public void courseDeductAmount(Integer courseId) {
         TenantCloudCourseRecord lastRecord = checkLastRecord(courseId);
+        if (Objects.isNull(lastRecord)) {
+            return;
+        }
         //写入流水
         lastRecord.setDeductState(1);
         tenantCloudCourseRecordService.save(lastRecord);
@@ -65,6 +69,7 @@ public class TenantAssetsInfoServiceImpl extends ServiceImpl<TenantAssetsInfoDao
     }
 
     /**
+     * 课程
      * 恢复/取消 冻结的金额
      *
      * @param courseId 课程id
@@ -73,6 +78,9 @@ public class TenantAssetsInfoServiceImpl extends ServiceImpl<TenantAssetsInfoDao
     @Transactional(rollbackFor = Exception.class)
     public void courseRecoverAmount(Integer courseId) {
         TenantCloudCourseRecord lastRecord = checkLastRecord(courseId);
+        if (Objects.isNull(lastRecord)) {
+            return;
+        }
         //写入流水
         lastRecord.setDeductState(2);
         tenantCloudCourseRecordService.save(lastRecord);
@@ -84,8 +92,11 @@ public class TenantAssetsInfoServiceImpl extends ServiceImpl<TenantAssetsInfoDao
 
     private TenantCloudCourseRecord checkLastRecord(Integer courseId) {
         TenantCloudCourseRecord lastRecord = tenantCloudCourseRecordService.queryLastRecord(courseId);
+        if (Objects.isNull(lastRecord)) {
+            return null;
+        }
         //判断是否是冻结的状态
-        if (Objects.nonNull(lastRecord) && lastRecord.getDeductState() != 0) {
+        if (lastRecord.getDeductState() != 0) {
             //只有冻结的才能取消冻结 或者 扣费
             throw new BizException("该课程非线上课!");
         }
@@ -95,7 +106,19 @@ public class TenantAssetsInfoServiceImpl extends ServiceImpl<TenantAssetsInfoDao
     }
 
     /**
-     * 排课扣费计算
+     * 课程组金额冻结
+     *
+     * @param vipGroup 课程组信息
+     * @param dto      课程组中的课程
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void groupFrozenAmount(VipGroup vipGroup, List<CourseSchedule> dto) {
+
+    }
+
+    /**
+     * 冻结课程的总价格
      * 1.线上排课计算出的总价格不能超过账户余额(注意多人同时操作账户余额多扣问题)
      * 2.若符合规则冻结部分账户
      */

+ 59 - 0
mec-biz/src/main/resources/config/mybatis/SysManualMapper.xml

@@ -0,0 +1,59 @@
+<?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="com.ym.mec.biz.dal.dao.SysManualDao">
+  <resultMap id="BaseResultMap" type="com.ym.mec.biz.dal.entity.SysManual">
+                       <id column="id_" jdbcType="INTEGER" property="id"/>
+                                  <result column="menu_id_" jdbcType="INTEGER" property="menuId"/>
+                                  <result column="name_" jdbcType="VARCHAR" property="name"/>
+                                  <result column="op_flow_" jdbcType="VARCHAR" property="opFlow"/>
+                                  <result column="fun_rule_" jdbcType="VARCHAR" property="funRule"/>
+                                  <result column="video_url_" jdbcType="VARCHAR" property="videoUrl"/>
+                                  <result column="create_time_" jdbcType="TIMESTAMP" property="createTime"/>
+                                  <result column="update_time_" jdbcType="TIMESTAMP" property="updateTime"/>
+                                  <result column="operator_id_" jdbcType="INTEGER" property="operatorId"/>
+                </resultMap>
+  
+  <sql id="Base_Column_List">    
+                                                id_, menu_id_, name_, op_flow_, fun_rule_, video_url_, create_time_, update_time_, operator_id_
+  </sql>
+  
+   <insert id="insertBatch" keyColumn="id_" keyProperty="id" useGeneratedKeys="true"
+            parameterType="com.ym.mec.biz.dal.entity.SysManual">
+       insert into sys_manual(menu_id_, name_, op_flow_, fun_rule_, video_url_, create_time_, update_time_, operator_id_)
+       values
+       <foreach collection="entities" item="entity" separator=",">
+       (#{entity.menuId}, #{entity.name}, #{entity.opFlow}, #{entity.funRule}, #{entity.videoUrl}, #{entity.createTime}, #{entity.updateTime}, #{entity.operatorId})
+       </foreach>
+   </insert>
+    <select id="findRecordCount" resultType="java.lang.Integer">
+        select count(1) from sys_manual sm
+        left join sys_user u on sm.operator_id_ = u.id_
+        <where>
+            1 = 1 AND
+            <if test="menuId != null and menuId != '' ">
+                menu_id_ = #{menuId}
+            </if>
+            <if test="search != null and search != '' ">
+                (name_ like concat('%', #{menuId} '%') )
+            </if>
+        </where>
+        <include refid="global.limit"/>
+    </select>
+
+    <select id="queryRecord" resultType="com.ym.mec.biz.dal.entity.SysManual">
+        select sm.*
+             , u.username_ as operatorName from sys_manual sm
+        left join sys_user u on sm.operator_id_ = u.id_
+        <where>
+            1 = 1 AND
+            <if test="menuId != null and menuId != '' ">
+                sm.menu_id_ = #{menuId}
+            </if>
+            <if test="search != null and search != '' ">
+                (name_ like concat('%', #{menuId} '%') )
+            </if>
+        </where>
+        <include refid="global.limit"/>
+    </select>
+
+</mapper>

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/TeacherDefaultPracticeGroupSalaryMapper.xml

@@ -41,7 +41,7 @@
     	INSERT INTO teacher_default_practice_group_salary
 		(id_,user_id_,minutes_,main_teacher_salary_,assistant_teacher_salary_,create_time_,update_time_,tenant_id_)
 		<foreach collection="list" item="item" separator=",">
-			VALUES(#{item.id},#{item.userId},#{item.minutes},#{item.mainTeacherSalary},#{item.assistantTeacherSalary},now(),now(),#{tenantId})
+			VALUES(#{item.id},#{item.userId},#{item.minutes},#{item.mainTeacherSalary},#{item.assistantTeacherSalary},now(),now(),#{item.tenantId})
 		</foreach>
     </insert>
 

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/TenantCloudCourseRecordMapper.xml

@@ -14,7 +14,7 @@
 
     <sql id="Base_Column_List">
         id_
-        , tenant_id_, course_id_, deduct_state_, amount_, created_by_, created_time_
+        , tenant_id_,course_id_, deduct_state_, amount_,created_by_, created_time_
     </sql>
 
     <select id="queryPage" parameterType="map" resultType="com.ym.mec.biz.dal.vo.TenantCloudCourseRecordVo">