yonge 2 éve
szülő
commit
2c396554fb

+ 108 - 74
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -1549,7 +1549,15 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         }
         Date date = new Date();
         
-        MusicGroup musicGroup = saveLog(musicGroupId, MusicGroupStatusEnum.DRAFT);
+        MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
+        if (musicGroup == null) {
+            throw new BizException("乐团信息不存在");
+        }
+        
+        if (musicGroup.getStatus() != MusicGroupStatusEnum.DRAFT) {
+            throw new BizException("当前乐团状态不支持此操作");
+        }
+        
         //记录操作日志
         musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "提交审核(草稿 -> 审核中)", sysUser.getId(), ""));
         musicGroup.setStatus(MusicGroupStatusEnum.AUDIT);
@@ -1583,28 +1591,42 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         if (sysUser == null) {
             throw new BizException("用户信息获取失败");
         }
+        MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
+        if (musicGroup == null) {
+            throw new BizException("乐团信息不存在");
+        }
+        if (musicGroup.getTenantId() == null) {
+            throw new BizException("乐团机构信息异常,请联系管理员");
+        }
+        if (musicGroup.getStatus() != MusicGroupStatusEnum.AUDIT || musicGroup.getStatus() != MusicGroupStatusEnum.FEE_AUDIT) {
+            throw new BizException("当前乐团状态不支持此操作");
+        }
+        
         Date date = new Date();
         
-        MusicGroup musicGroup = saveLog(musicGroupId, MusicGroupStatusEnum.AUDIT);
         //记录操作日志
-        musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "乐团审核失败(审核中 -> 审核失败)", sysUser.getId(), memo));
-        musicGroup.setMemo(memo);
-        musicGroup.setStatus(MusicGroupStatusEnum.AUDIT_FAILED);
-        musicGroup.setUpdateTime(date);
-        musicGroupDao.update(musicGroup);
-        
-        List<PaymentCalenderStatusEnum> statusList = new ArrayList<MusicGroupPaymentCalender.PaymentCalenderStatusEnum>();
-        statusList.add(PaymentCalenderStatusEnum.AUDITING);
-        //修改乐团报名缴费项目状态
-        List<MusicGroupPaymentCalender> musicGroupPaymentCalenderList = musicGroupPaymentCalenderDao.queryByPaymentStatus(musicGroupId, statusList, null);
-        
-        musicGroupPaymentCalenderList.forEach(t -> {
-        	t.setStatus(PaymentCalenderStatusEnum.REJECT);
-        	t.setUpdateTime(date);
-        	t.setMemo(memo);
-        });
+        if (musicGroup.getStatus() == MusicGroupStatusEnum.AUDIT){
+        	musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "乐团审核失败(审核中 -> 审核失败)", sysUser.getId(), memo));
+        	musicGroup.setStatus(MusicGroupStatusEnum.AUDIT_FAILED);
+            musicGroup.setMemo(memo);
+            musicGroup.setUpdateTime(date);
+            musicGroupDao.update(musicGroup);
+        }else if(musicGroup.getStatus() == MusicGroupStatusEnum.FEE_AUDIT){
+        	musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "乐团审核失败(费用审核中 -> 费用审核失败)", sysUser.getId(), memo));
+        	List<PaymentCalenderStatusEnum> statusList = new ArrayList<MusicGroupPaymentCalender.PaymentCalenderStatusEnum>();
+            statusList.add(PaymentCalenderStatusEnum.AUDITING);
+            //修改乐团报名缴费项目状态
+            List<MusicGroupPaymentCalender> musicGroupPaymentCalenderList = musicGroupPaymentCalenderDao.queryByPaymentStatus(musicGroupId, statusList, null);
+            
+            musicGroupPaymentCalenderList.forEach(t -> {
+            	t.setStatus(PaymentCalenderStatusEnum.REJECT);
+            	t.setUpdateTime(date);
+            	t.setMemo(memo);
+            });
+            
+            musicGroupPaymentCalenderDao.batchUpdate(musicGroupPaymentCalenderList);
+        }
         
-        musicGroupPaymentCalenderDao.batchUpdate(musicGroupPaymentCalenderList);
     }
 
     @Override
@@ -1614,72 +1636,84 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         if (sysUser == null) {
             throw new BizException("用户信息获取失败");
         }
-        MusicGroup musicGroup = saveLog(musicGroupId, MusicGroupStatusEnum.AUDIT);
+        MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
+        if (musicGroup == null) {
+            throw new BizException("乐团信息不存在");
+        }
         if (musicGroup.getTenantId() == null) {
             throw new BizException("乐团机构信息异常,请联系管理员");
         }
+        if (musicGroup.getStatus() != MusicGroupStatusEnum.AUDIT || musicGroup.getStatus() != MusicGroupStatusEnum.FEE_AUDIT) {
+            throw new BizException("当前乐团状态不支持此操作");
+        }
         
         Date date = new Date();
         
-        //记录操作日志
-        musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "审核通过(审核中 -> 预报名)", sysUser.getId(), ""));
-        musicGroup.setStatus(MusicGroupStatusEnum.PRE_APPLY);
-        musicGroup.setUpdateTime(date);
-        musicGroupDao.update(musicGroup);
-        
-        List<PaymentCalenderStatusEnum> statusList = new ArrayList<MusicGroupPaymentCalender.PaymentCalenderStatusEnum>();
-        statusList.add(PaymentCalenderStatusEnum.AUDITING);
-        //修改乐团报名缴费项目状态
-        List<MusicGroupPaymentCalender> musicGroupPaymentCalenderList = musicGroupPaymentCalenderDao.queryByPaymentStatus(musicGroupId, statusList, null);
-        
-        musicGroupPaymentCalenderList.forEach(t -> {
-            if (t.getPayUserType() == SCHOOL) {
-                if (t.getCurrentTotalAmount().compareTo(BigDecimal.ZERO) > 0) {
+        if(musicGroup.getStatus() == MusicGroupStatusEnum.AUDIT){
+            //记录操作日志
+            musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "审核通过(审核中 -> 费用审核中)", sysUser.getId(), ""));
+            musicGroup.setStatus(MusicGroupStatusEnum.FEE_AUDIT);
+        }else if(musicGroup.getStatus() == MusicGroupStatusEnum.FEE_AUDIT){
+            musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, "审核通过(费用审核中 -> 预报名)", sysUser.getId(), ""));
+            musicGroup.setStatus(MusicGroupStatusEnum.PRE_APPLY);
+            
+
+            List<PaymentCalenderStatusEnum> statusList = new ArrayList<MusicGroupPaymentCalender.PaymentCalenderStatusEnum>();
+            statusList.add(PaymentCalenderStatusEnum.AUDITING);
+            //修改乐团报名缴费项目状态
+            List<MusicGroupPaymentCalender> musicGroupPaymentCalenderList = musicGroupPaymentCalenderDao.queryByPaymentStatus(musicGroupId, statusList, null);
+            
+            musicGroupPaymentCalenderList.forEach(t -> {
+                if (t.getPayUserType() == SCHOOL) {
+                    if (t.getCurrentTotalAmount().compareTo(BigDecimal.ZERO) > 0) {
+                        t.setStatus(PaymentCalenderStatusEnum.OPEN);
+                    } else {
+                        t.setStatus(PaymentCalenderStatusEnum.PAID);
+                    }
+                } else if (date.after(t.getStartPaymentDate())) {
                     t.setStatus(PaymentCalenderStatusEnum.OPEN);
+                } else if (date.after(t.getDeadlinePaymentDate())) {
+                    t.setStatus(PaymentCalenderStatusEnum.OVER);
                 } else {
-                    t.setStatus(PaymentCalenderStatusEnum.PAID);
+                    t.setStatus(PaymentCalenderStatusEnum.NO);
                 }
-            } else if (date.after(t.getStartPaymentDate())) {
-                t.setStatus(PaymentCalenderStatusEnum.OPEN);
-            } else if (date.after(t.getDeadlinePaymentDate())) {
-                t.setStatus(PaymentCalenderStatusEnum.OVER);
-            } else {
-                t.setStatus(PaymentCalenderStatusEnum.NO);
+            	t.setUpdateTime(date);
+            });
+            
+            musicGroupPaymentCalenderDao.batchUpdate(musicGroupPaymentCalenderList);
+            
+            // 创建群
+            imGroupService.create(musicGroupId, null, "乐团预报名", null,
+                    musicGroup.getName(), musicGroup.getName(), null, GroupType.MUSIC.getCode(), ImGroup.GroupTypeEnum.PARENT_MEETING);
+            
+            Map<Integer, String> userRoleMap = new HashMap<Integer, String>();
+
+            if (musicGroup.getTeamTeacherId() != null) {
+                userRoleMap.put(musicGroup.getTeamTeacherId(), "运营主管");
+            }
+            if (musicGroup.getEducationalTeacherId() != null) {
+                userRoleMap.put(musicGroup.getEducationalTeacherId(), "乐团主管");
+            }
+            if (musicGroup.getDirectorUserId() != null) {
+                userRoleMap.put(musicGroup.getDirectorUserId(), "乐队指导");
+            }
+            if (musicGroup.getTransactionTeacherId() != null) {
+                userRoleMap.put(musicGroup.getTransactionTeacherId(), "衔接老师");
+            }
+            // 添加成员
+            imGroupMemberService.join(musicGroupId, userRoleMap);
+            //缴费老师推送消息
+            sendSeoMessageSource.sendSeoMessage(musicGroup.getOrganId(), null,
+                    null, musicGroup.getEducationalTeacherId(), MessageTypeEnum.BACKSTAGE_CREATE_MUSIC_GROUP_ADJUST_SUCCESS, musicGroup.getName());
+            Map<Integer, String> map = new HashMap<>(1);
+            map.put(musicGroup.getEducationalTeacherId(), musicGroup.getEducationalTeacherId().toString());
+            if (map != null && map.size() > 0) {
+                sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.BACKSTAGE_CREATE_MUSIC_GROUP_ADJUST_SUCCESS,
+                        map, null, 0, null, "SYSTEM", musicGroup.getName());
             }
-        	t.setUpdateTime(date);
-        });
-        
-        musicGroupPaymentCalenderDao.batchUpdate(musicGroupPaymentCalenderList);
-
-        // 创建群
-        imGroupService.create(musicGroupId, null, "乐团预报名", null,
-                musicGroup.getName(), musicGroup.getName(), null, GroupType.MUSIC.getCode(), ImGroup.GroupTypeEnum.PARENT_MEETING);
-
-        Map<Integer, String> userRoleMap = new HashMap<Integer, String>();
-
-        if (musicGroup.getTeamTeacherId() != null) {
-            userRoleMap.put(musicGroup.getTeamTeacherId(), "运营主管");
-        }
-        if (musicGroup.getEducationalTeacherId() != null) {
-            userRoleMap.put(musicGroup.getEducationalTeacherId(), "乐团主管");
-        }
-        if (musicGroup.getDirectorUserId() != null) {
-            userRoleMap.put(musicGroup.getDirectorUserId(), "乐队指导");
-        }
-        if (musicGroup.getTransactionTeacherId() != null) {
-            userRoleMap.put(musicGroup.getTransactionTeacherId(), "衔接老师");
-        }
-        // 添加成员
-        imGroupMemberService.join(musicGroupId, userRoleMap);
-        //缴费老师推送消息
-        sendSeoMessageSource.sendSeoMessage(musicGroup.getOrganId(), null,
-                null, musicGroup.getEducationalTeacherId(), MessageTypeEnum.BACKSTAGE_CREATE_MUSIC_GROUP_ADJUST_SUCCESS, musicGroup.getName());
-        Map<Integer, String> map = new HashMap<>(1);
-        map.put(musicGroup.getEducationalTeacherId(), musicGroup.getEducationalTeacherId().toString());
-        if (map != null && map.size() > 0) {
-            sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.BACKSTAGE_CREATE_MUSIC_GROUP_ADJUST_SUCCESS,
-                    map, null, 0, null, "SYSTEM", musicGroup.getName());
         }
+        musicGroup.setUpdateTime(date);
+        musicGroupDao.update(musicGroup);
     }
 
     @Override

+ 21 - 14
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupController.java

@@ -1,5 +1,24 @@
 package com.ym.mec.web.controller;
 
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
 import com.ym.mec.biz.dal.dto.CloseMusicGroupDto;
 import com.ym.mec.biz.dal.dto.MusicGroupRegsDto;
 import com.ym.mec.biz.dal.dto.SubFeeSettingDto;
@@ -11,25 +30,13 @@ import com.ym.mec.biz.dal.page.MusicGroupQueryInfo;
 import com.ym.mec.biz.dal.page.MusicMemberQueryInfo;
 import com.ym.mec.biz.service.MusicGroupService;
 import com.ym.mec.biz.service.OrganizationService;
+import com.ym.mec.biz.service.SysEmployeePositionService;
 import com.ym.mec.biz.service.SysUserService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
 import com.yonge.log.model.AuditLogAnnotation;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
 
 @RequestMapping("musicGroup")
 @Api(tags = "乐团服务")
@@ -42,7 +49,7 @@ public class MusicGroupController extends BaseController {
 	private SysUserService sysUserService;
 	@Autowired
 	private OrganizationService organizationService;
-
+	
 	@ApiOperation(value = "修改乐团基本信息")
 	@PostMapping("/update")
 	@AuditLogAnnotation(operateName = "乐团基本信息修改",interfaceURL = "musicGroup/update")