123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376 |
- package com.ym.mec.web.controller;
- import com.ym.mec.auth.api.client.SysUserFeignService;
- import com.ym.mec.auth.api.entity.SysUser;
- import com.ym.mec.auth.api.entity.SysUserRole;
- import com.ym.mec.biz.dal.dao.EmployeeDao;
- import com.ym.mec.biz.dal.dto.CloseMusicGroupDto;
- import com.ym.mec.biz.dal.dto.MusicGroupRegsDto;
- import com.ym.mec.biz.dal.dto.SubFeeSettingDto;
- import com.ym.mec.biz.dal.dto.UpdateExpectedNumDto;
- import com.ym.mec.biz.dal.entity.Employee;
- import com.ym.mec.biz.dal.entity.MusicGroup;
- import com.ym.mec.biz.dal.entity.MusicMemberDto;
- import com.ym.mec.biz.dal.entity.StudentRegistration;
- 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.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.http.HttpStatus;
- import org.springframework.security.access.prepost.PreAuthorize;
- import org.springframework.web.bind.annotation.*;
- import java.util.*;
- @RequestMapping("musicGroup")
- @Api(tags = "乐团服务")
- @RestController
- public class MusicGroupController extends BaseController {
- @Autowired
- private MusicGroupService musicGroupService;
- @Autowired
- private SysUserFeignService sysUserFeignService;
- @Autowired
- private EmployeeDao employeeDao;
- @Autowired
- private OrganizationService organizationService;
- @ApiOperation(value = "修改乐团基本信息")
- @PostMapping("/update")
- @AuditLogAnnotation(operateName = "乐团基本信息修改",interfaceURL = "musicGroup/update")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/update')")
- public Object update(@RequestBody SubFeeSettingDto subFeeSettingDto) throws Exception {
- musicGroupService.updateBaseInfo(subFeeSettingDto);
- return succeed();
- }
- @ApiOperation(value = "获取乐团调整--基本信息数据")
- @PostMapping("/findMusicGroupBasicInfo")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/findMusicGroupBasicInfo')")
- public Object findMusicGroupBasicInfo(String musicGroupId) {
- if (StringUtils.isEmpty(musicGroupId)) {
- return failed("参数校验失败");
- }
- return succeed(musicGroupService.findMusicGroupBasicInfo(musicGroupId));
- }
- @ApiOperation(value = "获取乐团调整--声部信息数据")
- @GetMapping("/findMusicGroupSubjectInfo")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/findMusicGroupSubjectInfo')")
- public Object findMusicGroupSubjectInfo(String musicGroupId) {
- if (StringUtils.isEmpty(musicGroupId)) {
- return failed("参数校验失败");
- }
- return succeed(musicGroupService.findMusicGroupSubjectInfo(musicGroupId));
- }
- @ApiOperation(value = "修改乐团声部信息")
- @PostMapping("/updateSubjectInfo")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/updateSubjectInfo')")
- public Object updateSubjectInfo(@RequestBody SubFeeSettingDto subFeeSettingDto) throws Exception {
- musicGroupService.updateSubjectInfo(subFeeSettingDto);
- return succeed();
- }
- @ApiOperation(value = "修改乐团计划招生人数")
- @PostMapping("/updateExpectedStudentNum")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/updateExpectedStudentNum')")
- public Object updateExpectedStudentNum(@RequestBody List<UpdateExpectedNumDto> updateExpectedNumDtos){
- if(updateExpectedNumDtos == null || updateExpectedNumDtos.size() <= 0){
- return failed("参数校验错误");
- }
- musicGroupService.updateExpectedStudentNum(updateExpectedNumDtos);
- return succeed();
- }
- @ApiOperation(value = "根据乐团编号查询乐团详情")
- @GetMapping("/get")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/get')")
- public Object get(String musicGroupId) {
- return succeed(musicGroupService.getMusicGroupDetail(musicGroupId));
- }
- @ApiOperation(value = "分页查询乐团列表")
- @RequestMapping("/queryPage")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/queryPage')")
- public Object queryPage(MusicGroupQueryInfo queryInfo) {
- SysUser sysUser = sysUserFeignService.queryUserInfo();
- if (sysUser == null) {
- return failed("用户信息获取失败");
- }
- Employee employee = employeeDao.get(sysUser.getId());
- if (StringUtils.isEmpty(queryInfo.getOrganId())) {
- queryInfo.setOrganId(employee.getOrganIdList());
- }else if(StringUtils.isEmpty(employee.getOrganIdList())){
- return failed("用户所在分部异常");
- }else {
- List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
- if(!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))){
- return failed("非法请求");
- }
- }
- return succeed(musicGroupService.queryMusicGroupPage(queryInfo));
- }
- @ApiOperation(value = "新增乐团 建团申请数据提交")
- @PostMapping("/createGroup")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/createGroup')")
- public Object createGroup(@RequestBody SubFeeSettingDto subFeeSettingDto) throws Exception {
- return succeed(musicGroupService.createGroup(subFeeSettingDto));
- }
- @ApiOperation(value = "乐团筹备结束后,3.0乐团推送小班课缴费信息")
- @PostMapping("/pushMessage")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/pushMessage')")
- public Object pushMessage(String musicGroupId,String classGroupIds) throws Exception {
- SysUser sysUser = sysUserFeignService.queryUserInfo();
- if (sysUser == null || sysUser.getId() == null) {
- return failed("获取用户信息失败");
- }
- if(StringUtils.isEmpty(musicGroupId)){
- throw new BizException("参数校验错误");
- }
- return succeed( musicGroupService.pushMessage(musicGroupId,classGroupIds));
- }
- @ApiOperation(value = "根据乐团ids获取乐团列表")
- @PostMapping("/queryListByIds")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/queryListByIds')")
- public Object queryListByIds(@RequestBody Set<String> musicGroupIds) {
- if (musicGroupIds.isEmpty()) {
- return failed("参数校验失败");
- }
- return succeed(musicGroupService.queryListByIds(musicGroupIds));
- }
- @ApiOperation(value = "开启缴费(报名中 --> 缴费中)")
- @PostMapping("/openPay")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/openPay')")
- @ApiImplicitParams({ @ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String"),
- @ApiImplicitParam(name = "expireDate", value = "截止缴费日期", required = true, dataType = "String") })
- public Object openPay(String musicGroupId, String expireDate) throws Exception {
- return succeed(musicGroupService.openPay(musicGroupId, expireDate));
- }
- @ApiOperation(value = "确认开团(缴费中(报名中) --> 筹备中)")
- @PostMapping("/found")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/found')")
- @ApiImplicitParams({ @ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String") })
- public Object found(String musicGroupId) throws Exception {
- musicGroupService.musicGroupFound(musicGroupId);
- return succeed();
- }
- @ApiOperation(value = "提交审核(草稿 -> 审核中)")
- @PostMapping("/audit")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/audit')")
- @ApiImplicitParams({ @ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String") })
- public Object audit(String musicGroupId) throws Exception {
- musicGroupService.musicGroupAudit(musicGroupId);
- return succeed();
- }
- @ApiOperation(value = "审核失败(审核中 -> 审核失败)")
- @PostMapping("/auditFailed")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/auditFailed')")
- @ApiImplicitParams({ @ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String"),
- @ApiImplicitParam(name = "memo", value = "memo", required = true, dataType = "String") })
- public Object auditFailed(String musicGroupId,String memo) throws Exception {
- musicGroupService.musicGroupAuditFailed(musicGroupId,memo);
- return succeed();
- }
- @ApiOperation(value = "审核通过(审核中 -> 预报名)")
- @PostMapping("/auditSuccess")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/auditSuccess')")
- @ApiImplicitParams({ @ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String")})
- public Object auditSuccess(String musicGroupId) throws Exception {
- musicGroupService.musicGroupAuditSuccess(musicGroupId);
- return succeed();
- }
- @ApiOperation(value = "开启乐团(筹备中 --> 进行中)")
- @PostMapping("/action")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/action')")
- @ApiImplicitParams({ @ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String") })
- public Object action(String musicGroupId) throws Exception {
- musicGroupService.musicGroupAction(musicGroupId);
- return succeed();
- }
- @ApiOperation(value = "取消乐团")
- @PostMapping("/cancelMusicGroup")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/cancelMusicGroup')")
- @ApiImplicitParams({ @ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String") })
- public Object cancelMusicGroup(String musicGroupId) {
- musicGroupService.cancelMusicGroup(musicGroupId);
- return succeed();
- }
- @ApiOperation(value = "删除乐团")
- @PostMapping("/deleteMusicGroup")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/deleteMusicGroup')")
- @ApiImplicitParams({ @ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String") })
- public Object deleteMusicGroup(String musicGroupId) {
- musicGroupService.deleteMusicGroup(musicGroupId);
- return succeed();
- }
- @ApiOperation(value = "暂停乐团")
- @PostMapping("/pauseMusicGroup")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/pauseMusicGroup')")
- @ApiImplicitParams({ @ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String") })
- public Object pauseMusicGroup(String musicGroupId) {
- musicGroupService.pauseMusicGroup(musicGroupId);
- return succeed();
- }
- @ApiOperation(value = "恢复乐团")
- @PostMapping("/resumeMusicGroup")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/resumeMusicGroup')")
- @ApiImplicitParams({ @ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String") })
- public Object resumeMusicGroup(String musicGroupId) {
- musicGroupService.resumeMusicGroup(musicGroupId);
- return succeed();
- }
- @ApiOperation(value = "延长缴费时间")
- @PostMapping("/extensionPayment")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/extensionPayment')")
- @ApiImplicitParams({ @ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String"),
- @ApiImplicitParam(name = "expireDate", value = "延长缴费的截止日期", required = true, dataType = "Date") })
- public Object extensionPayment(String musicGroupId, Date expireDate) {
- musicGroupService.extensionPaymentExpireDate(musicGroupId, expireDate);
- return succeed();
- }
- @ApiOperation(value = "延长报名时间")
- @PostMapping("/extensionApplyExpireDate")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/extensionApplyExpireDate')")
- @ApiImplicitParams({ @ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String"),
- @ApiImplicitParam(name = "expireDate", value = "延长报名的截止日期", required = true, dataType = "Date") })
- public Object extensionApplyExpireDate(String musicGroupId, Date expireDate) {
- musicGroupService.extensionApplyExpireDate(musicGroupId, expireDate);
- return succeed();
- }
- @ApiOperation(value = "延长预报名时间")
- @PostMapping("/extensionPreApplyExpireDate")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/extensionApplyExpireDate')")
- @ApiImplicitParams({ @ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String"),
- @ApiImplicitParam(name = "expireDate", value = "延长预报名的截止日期", required = true, dataType = "Date") })
- public Object extensionPreApplyExpireDate(String musicGroupId, Date expireDate) {
- musicGroupService.extensionPreApplyExpireDate(musicGroupId, expireDate);
- return succeed();
- }
- @ApiOperation("获取分部乐团列表名称")
- @GetMapping(value = "/queryOrganMusicInfos")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/queryOrganMusicInfos')")
- public Object queryOrganMusicInfos(Integer organId) {
- return succeed(musicGroupService.queryOrganMusicInfos(organId));
- }
- @ApiOperation(value = "乐团添加报名学员")
- @PostMapping("/addMusicGroupRegs")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/addMusicGroupRegs')")
- public HttpResponseResult<List<StudentRegistration>> addMusicGroupRegs(@RequestBody MusicGroupRegsDto musicGroupRegsDto) throws Exception {
- if(musicGroupRegsDto.getRegisterIds().size() <=0){
- return failed("请选择要添加的学员");
- }
- return succeed(musicGroupService.addMusicGroupRegs(musicGroupRegsDto.getMusicGroupId(),musicGroupRegsDto.getRegisterIds()));
- }
- @ApiOperation(value = "关闭乐团")
- @PostMapping("/closeMusicGroup")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/closeMusicGroup')")
- public HttpResponseResult<Boolean> closeMusicGroup(@RequestBody CloseMusicGroupDto closeMusicGroupDto) {
- return succeed(musicGroupService.closeMusicGroup(closeMusicGroupDto));
- }
- @ApiOperation(value = "完成预报名")
- @PostMapping("/finishPreApply")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/finishPreApply')")
- public HttpResponseResult<Boolean> finishPreApply(String musicGroupId,boolean isCheckStudentNum) {
- return musicGroupService.finishPreApply(musicGroupId, isCheckStudentNum) ? succeed() : failed();
- }
- @ApiOperation(value = "发送家长会通知")
- @PostMapping("/sendParentMeetingNotice")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/sendParentMeetingNotice')")
- public HttpResponseResult<Boolean> sendParentMeetingNotice(String musicGroupId, Date meetingDate, String address) {
- SysUser sysUser = sysUserFeignService.queryUserInfo();
- if (sysUser == null) {
- return failed(HttpStatus.FORBIDDEN, "用户信息获取失败");
- }
- return musicGroupService.sendParentMeetingNotice(sysUser.getId(), musicGroupId, meetingDate, address) ? succeed() : failed();
- }
- @ApiOperation(value = "获取乐团的年级列表")
- @GetMapping("/getGradeList")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/getGradeList')")
- @ApiImplicitParams({@ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String")})
- public HttpResponseResult<Map<Integer,String>> getGradeList(String musicGroupId) {
- MusicGroup musicGroup = musicGroupService.get(musicGroupId);
- if (musicGroup == null) {
- return failed("乐团信息不存在");
- }
- return succeed(organizationService.getGradeList(musicGroup.getOrganId()));
- }
- @ApiOperation(value = "根据合作单位获取所有乐团列表")
- @GetMapping("/findByCooperationId")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/findByCooperationId')")
- @ApiImplicitParams({@ApiImplicitParam(name = "cooperationId", value = "合作单位", required = true, dataType = "Integer")})
- public HttpResponseResult<List<MusicGroup>> findByCooperationId(Integer cooperationId) {
- return succeed(musicGroupService.findByCooperationId(cooperationId));
- }
- @ApiOperation(value = "获取乐团已经过期或者即将过期的学员列表")
- @GetMapping("/queryMusicMemberList")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/queryMusicMemberList')")
- public HttpResponseResult<PageInfo<MusicMemberDto>> queryMusicMemberList(MusicMemberQueryInfo queryInfo) {
- SysUser sysUser = sysUserFeignService.queryUserInfo();
- if (sysUser == null) {
- return failed("用户信息获取失败");
- }
- Employee employee = employeeDao.get(sysUser.getId());
- if (StringUtils.isEmpty(queryInfo.getOrganId())) {
- queryInfo.setOrganId(employee.getOrganIdList());
- }else if(StringUtils.isEmpty(employee.getOrganIdList())){
- return failed("用户所在分部异常");
- }else {
- List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
- if(!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))){
- return failed("非法请求");
- }
- }
- return succeed(musicGroupService.queryMusicMemberList(queryInfo));
- }
- @ApiOperation(value = "确认发放乐器")
- @PostMapping("/takeEffectOfinstrumentInsurance")
- @PreAuthorize("@pcs.hasPermissions('musicGroup/takeEffectOfinstrumentInsurance')")
- public HttpResponseResult takeEffectOfinstrumentInsurance(String musicGroupId) {
- SysUser sysUser = sysUserFeignService.queryUserInfo();
- if (sysUser == null) {
- return failed(HttpStatus.FORBIDDEN, "请登录");
- }
- return succeed(musicGroupService.takeEffectOfinstrumentInsurance(musicGroupId));
- }
- }
|