Browse Source

管乐迷需求合集

zouxuan 2 years ago
parent
commit
ae0f360800

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupQuitDao.java

@@ -50,4 +50,6 @@ public interface MusicGroupQuitDao extends BaseDAO<Long, MusicGroupQuit> {
      * @return
      */
     List<Map<Integer, Long>> queryQuitMapByStudentId(@Param("studentIds") Set<Long> studentIds, @Param("musicGroupId") String musicGroupId);
+
+    void finish(@Param("musicGroupId") String musicGroupId);
 }

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentMemberUpdateLogDao.java

@@ -0,0 +1,20 @@
+package com.ym.mec.biz.dal.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ym.mec.biz.dal.entity.StudentMemberUpdateLog;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 学员云教练时长修改记录(StudentMemberUpdateLog)表数据库访问层
+ *
+ * @author zx
+ * @since 2023-05-17 11:13:43
+ */
+public interface StudentMemberUpdateLogDao extends BaseMapper<StudentMemberUpdateLog> {
+
+   int insertBatch(@Param("entities") List<StudentMemberUpdateLog> entities);
+   
+}
+

+ 56 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentMemberUpdateLog.java

@@ -0,0 +1,56 @@
+package com.ym.mec.biz.dal.entity;
+
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 学员云教练时长修改记录(StudentMemberUpdateLog)表实体类
+ *
+ * @author zx
+ * @since 2023-05-17 11:13:43
+ */
+@ApiModel(value = "student_member_update_log-学员云教练时长修改记录")
+@Data
+public class StudentMemberUpdateLog implements Serializable {
+    @TableId(value = "id_", type = IdType.AUTO)
+    private Integer id;
+
+    @TableField("student_id_")
+    @ApiModelProperty(value = "学员编号")
+    private Integer studentId;
+
+    @TableField("operator_id_")
+    @ApiModelProperty(value = "操作人")
+    private Integer operatorId;
+
+    @TableField("old_start_time_")
+    @ApiModelProperty(value = "原会员开始时间")
+    private Date oldStartTime;
+
+    @TableField("old_end_time_")
+    @ApiModelProperty(value = "原会员截止时间")
+    private Date oldEndTime;
+
+    @TableField("new_start_time_")
+    @ApiModelProperty(value = "修改后的开始时间")
+    private Date newStartTime;
+
+    @TableField("new_end_time_")
+    @ApiModelProperty(value = "修改后的截止时间")
+    private Date newEndTime;
+
+    @TableField("create_time_")
+    private Date createTime;
+
+    @TableField("memo_")
+    private String memo;
+}
+

+ 17 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentMemberUpdateLogService.java

@@ -0,0 +1,17 @@
+package com.ym.mec.biz.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ym.mec.biz.dal.dao.StudentMemberUpdateLogDao;
+import com.ym.mec.biz.dal.entity.StudentMemberUpdateLog;
+
+/**
+ * 学员云教练时长修改记录(StudentMemberUpdateLog)表服务接口
+ *
+ * @author zx
+ * @since 2023-05-17 11:13:44
+ */
+public interface StudentMemberUpdateLogService extends IService<StudentMemberUpdateLog> {
+
+    StudentMemberUpdateLogDao getDao();
+}
+

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentService.java

@@ -196,4 +196,14 @@ public interface StudentService extends BaseService<Integer, Student> {
     PageInfo<CloudTeacherSumDto> cloudTeacherSumDetail(StudentCourseConsumerQueryInfo queryInfo);
 
     List<IndexCloudStudySumDto> getCloudStudyStudentOverViewList(List<Integer> organIdsList);
+
+    /**
+    * @description: 修改学员云教练时间
+     * @param userId
+     * @param endTime
+    * @return void
+    * @author zx
+    * @date 2023/5/17 11:25
+    */
+    void updateStudentMember(Integer userId, Date endTime,String memo,Integer operatorId);
 }

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

@@ -1,6 +1,5 @@
 package com.ym.mec.biz.service;
 
-import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.VipGroupActivityDao;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
@@ -11,8 +10,6 @@ import com.ym.mec.biz.dal.page.VipGroupActivityQueryInfo;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
-import org.springframework.transaction.annotation.Isolation;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.util.List;

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

@@ -3972,6 +3972,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         if (registrations.size() > 0 && studentRegistrationService.quitAllStudent(musicGroup.getId(), "退团(乐团关闭)") <= 0) {
             throw new BizException("处理学生退团失败,请重试");
         }*/
+		//完结所有未处理的退团审批
+		musicGroupQuitDao.finish(musicGroup.getId());
 
         //清除剩余未排课时长
         musicGroupPaymentStudentCourseDetailService.clearRemainCourseMinutesByMusicGroupId(musicGroupId);

+ 28 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentMemberUpdateLogServiceImpl.java

@@ -0,0 +1,28 @@
+package com.ym.mec.biz.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ym.mec.biz.dal.dao.StudentMemberUpdateLogDao;
+import com.ym.mec.biz.dal.entity.StudentMemberUpdateLog;
+import com.ym.mec.biz.service.StudentMemberUpdateLogService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+
+/**
+ * 学员云教练时长修改记录(StudentMemberUpdateLog)表服务实现类
+ *
+ * @author zx
+ * @since 2023-05-17 11:13:44
+ */
+@Service("studentMemberUpdateLogService")
+public class StudentMemberUpdateLogServiceImpl extends ServiceImpl<StudentMemberUpdateLogDao, StudentMemberUpdateLog> implements StudentMemberUpdateLogService {
+
+    private final static Logger log = LoggerFactory.getLogger(StudentMemberUpdateLogServiceImpl.class);
+
+    @Override
+    public StudentMemberUpdateLogDao getDao(){
+            return this.baseMapper;
+    }
+
+}
+

+ 26 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServiceImpl.java

@@ -80,6 +80,8 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
     private ImFeignService imFeignService;
     @Autowired
     private StudentOperatingVisitDao studentOperatingVisitDao;
+    @Autowired
+    private StudentMemberUpdateLogDao studentMemberUpdateLogDao;
 
     @Override
     public BaseDAO<Integer, Student> getDAO() {
@@ -1292,6 +1294,30 @@ public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implem
         return list;
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void updateStudentMember(Integer userId, Date endTime,String memo,Integer operatorId) {
+        Student student = studentDao.get(userId);
+        if(Objects.isNull(student)){
+            throw new BizException("学员信息不存在");
+        }
+        StudentMemberUpdateLog studentMemberUpdateLog = new StudentMemberUpdateLog();
+        studentMemberUpdateLog.setStudentId(userId);
+        studentMemberUpdateLog.setOldStartTime(student.getMembershipStartTime());
+        studentMemberUpdateLog.setOldEndTime(student.getMembershipEndTime());
+        studentMemberUpdateLog.setMemo(memo);
+        if (endTime == null || endTime.compareTo(new Date()) < 0){
+            studentDao.cleanMember(userId);
+        }else {
+            student.setMembershipEndTime(endTime);
+            studentDao.updateStudentMember(student);
+            studentMemberUpdateLog.setNewStartTime(student.getMembershipStartTime());
+            studentMemberUpdateLog.setNewEndTime(student.getMembershipEndTime());
+        }
+        //添加修改日志
+        studentMemberUpdateLogDao.insert(studentMemberUpdateLog);
+    }
+
     @Transactional(rollbackFor = Exception.class)
     public  <T extends BaseStudentDto> void insertStudent(T baseStudent){
         Student student = new Student();

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupQuitMapper.xml

@@ -197,4 +197,7 @@
         AND music_group_id_ = #{musicGroupId} AND status_ = 'PROCESSING'
         GROUP BY user_id_
     </select>
+    <select id="finish">
+        update music_group_quit set status_ = 'CANCELED',reason_ = '乐团关闭,批量关闭退团审批' where status_ = 'PROCESSING' AND music_group_id_ = #{musicGroupId}
+    </select>
 </mapper>

+ 4 - 0
mec-biz/src/main/resources/config/mybatis/StudentMemberUpdateLogMapper.xml

@@ -0,0 +1,4 @@
+<?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.StudentMemberUpdateLogDao">
+</mapper>

+ 10 - 0
mec-web/src/main/java/com/ym/mec/web/controller/StudentManageController.java

@@ -36,6 +36,8 @@ public class StudentManageController extends BaseController {
     private OrganizationService organizationService;
     @Autowired
     private StudentService studentService;
+    @Autowired
+    private SysUserService sysUserService;
 
     @ApiOperation(value = "获取学生请假异常列表")
     @GetMapping("/queryStudentErrorLeaveList")
@@ -405,4 +407,12 @@ public class StudentManageController extends BaseController {
     public HttpResponseResult<PageInfo<CloudTeacherSumDto>> cloudTeacherSumDetail(@RequestBody StudentCourseConsumerQueryInfo queryInfo) throws Exception {
         return succeed(studentService.cloudTeacherSumDetail(queryInfo));
     }
+
+    @ApiOperation(value = "修改学员会员时长")
+    @PostMapping("/updateStudentMember")
+    @PreAuthorize("@pcs.hasPermissions('studentManage/updateStudentMember')")
+    public HttpResponseResult updateStudentMember(Integer userId,Date endTime,String memo) throws Exception {
+        studentService.updateStudentMember(userId,endTime,memo,sysUserService.getUserId());
+        return succeed();
+    }
 }