MusicGroupPaymentCalenderDetailController.java 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. package com.ym.mec.web.controller;
  2. import io.swagger.annotations.Api;
  3. import io.swagger.annotations.ApiOperation;
  4. import java.math.BigDecimal;
  5. import java.util.Arrays;
  6. import java.util.Date;
  7. import java.util.List;
  8. import org.apache.commons.lang3.StringUtils;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.security.access.prepost.PreAuthorize;
  11. import org.springframework.web.bind.annotation.GetMapping;
  12. import org.springframework.web.bind.annotation.PostMapping;
  13. import org.springframework.web.bind.annotation.RequestBody;
  14. import org.springframework.web.bind.annotation.RequestMapping;
  15. import org.springframework.web.bind.annotation.RestController;
  16. import com.ym.mec.auth.api.client.SysUserFeignService;
  17. import com.ym.mec.auth.api.entity.SysUser;
  18. import com.ym.mec.biz.dal.dto.MusicArrearageStudentDto;
  19. import com.ym.mec.biz.dal.dto.MusicGroupPaymentCalenderAddStudentDto;
  20. import com.ym.mec.biz.dal.entity.Employee;
  21. import com.ym.mec.biz.dal.entity.MusicGroup;
  22. import com.ym.mec.biz.dal.page.ArrearageStudentsQueryInfo;
  23. import com.ym.mec.biz.dal.page.MusicCalenderDetailQueryInfo;
  24. import com.ym.mec.biz.service.EmployeeService;
  25. import com.ym.mec.biz.service.MusicGroupPaymentCalenderDetailService;
  26. import com.ym.mec.common.controller.BaseController;
  27. import com.ym.mec.common.entity.HttpResponseResult;
  28. import com.ym.mec.common.page.PageInfo;
  29. @RequestMapping("musicGroupPaymentCalenderDetail")
  30. @Api(tags = "乐团缴费明细")
  31. @RestController
  32. public class MusicGroupPaymentCalenderDetailController extends BaseController {
  33. @Autowired
  34. private MusicGroupPaymentCalenderDetailService musicGroupPaymentCalenderDetailService;
  35. @Autowired
  36. private SysUserFeignService sysUserFeignService;
  37. @Autowired
  38. private EmployeeService employeeService;
  39. @ApiOperation(value = "分页查询乐团缴费明细列表")
  40. @GetMapping("/queryPage")
  41. @PreAuthorize("@pcs.hasPermissions('musicGroupPaymentCalenderDetail/queryPage')")
  42. public Object queryPage(MusicCalenderDetailQueryInfo queryInfo) {
  43. return succeed(musicGroupPaymentCalenderDetailService.queryDetailPage(queryInfo));
  44. }
  45. @ApiOperation(value = "修改学员预计缴费金额")
  46. @PostMapping("/updateExpectAmount")
  47. @PreAuthorize("@pcs.hasPermissions('musicGroupPaymentCalenderDetail/updateExpectAmount')")
  48. public Object updateExpectAmount(BigDecimal expectAmount,BigDecimal expectMemberAmount,String ids) {
  49. musicGroupPaymentCalenderDetailService.updateExpectAmount(expectAmount,expectMemberAmount,ids);
  50. return succeed();
  51. }
  52. @ApiOperation(value = "新增缴费学员列表获取")
  53. @PostMapping("/queryFeeStudents")
  54. @PreAuthorize("@pcs.hasPermissions('musicGroupPaymentCalenderDetail/queryFeeStudents')")
  55. public Object queryFeeStudents(String musicGroupId,String search,Integer subjectId) {
  56. return succeed(musicGroupPaymentCalenderDetailService.queryFeeStudents(musicGroupId,search,subjectId));
  57. }
  58. @ApiOperation(value = "乐团缴费记录新增学员")
  59. @PostMapping("/batchAdd")
  60. @PreAuthorize("@pcs.hasPermissions('musicGroupPaymentCalenderDetail/batchAdd')")
  61. public Object batchAdd(@RequestBody MusicGroupPaymentCalenderAddStudentDto musicGroupPaymentCalenderAddStudentDto) {
  62. musicGroupPaymentCalenderDetailService.batchAdd(musicGroupPaymentCalenderAddStudentDto.getBatchNo(),
  63. musicGroupPaymentCalenderAddStudentDto.getUserIdList());
  64. return succeed();
  65. }
  66. @ApiOperation(value = "批量删除缴费信息")
  67. @PostMapping("/batchDel")
  68. @PreAuthorize("@pcs.hasPermissions('musicGroupPaymentCalenderDetail/batchDel')")
  69. public Object batchDel(String musicGroupPaymentCalenderDetailIds) {
  70. if(StringUtils.isBlank(musicGroupPaymentCalenderDetailIds)){
  71. return failed("请求参数错误");
  72. }
  73. musicGroupPaymentCalenderDetailService.batchDel(musicGroupPaymentCalenderDetailIds);
  74. return succeed();
  75. }
  76. @ApiOperation(value = "开启缴费")
  77. @PostMapping("/openPayment")
  78. @PreAuthorize("@pcs.hasPermissions('musicGroupPaymentCalenderDetail/openPayment')")
  79. public HttpResponseResult openPayment(String ids, Date startPaymentDate, Date deadlinePaymentDate) {
  80. HttpResponseResult<Object> succeed = succeed();
  81. Date date = new Date();
  82. startPaymentDate = startPaymentDate == null ? date : startPaymentDate;
  83. deadlinePaymentDate = deadlinePaymentDate == null ? date : deadlinePaymentDate;
  84. succeed.setMsg(musicGroupPaymentCalenderDetailService.openPayment(ids, startPaymentDate, deadlinePaymentDate));
  85. return succeed;
  86. }
  87. @ApiOperation(value = "发送学员待续费通知")
  88. @PostMapping("/sendWaitRenewMessage")
  89. @PreAuthorize("@pcs.hasPermissions('musicGroupPaymentCalenderDetail/sendWaitRenewMessage')")
  90. public HttpResponseResult sendWaitRenewMessage(Long calenderId, String studentIds) {
  91. musicGroupPaymentCalenderDetailService.pushWaitRenewMessage(calenderId,studentIds);
  92. return succeed();
  93. }
  94. @ApiOperation(value = "未缴费学员列表")
  95. @GetMapping("/queryArrearageStudents")
  96. @PreAuthorize("@pcs.hasPermissions('musicGroupPaymentCalenderDetail/queryArrearageStudents')")
  97. public HttpResponseResult<PageInfo<MusicArrearageStudentDto>> queryArrearageStudents(ArrearageStudentsQueryInfo queryInfo){
  98. SysUser sysUser = sysUserFeignService.queryUserInfo();
  99. if (sysUser == null) {
  100. return failed("用户信息获取失败");
  101. }
  102. Employee employee = employeeService.get(sysUser.getId());
  103. if (StringUtils.isBlank(queryInfo.getOrganIds())) {
  104. queryInfo.setOrganIds(employee.getOrganIdList());
  105. }else if(StringUtils.isEmpty(employee.getOrganIdList())){
  106. return failed("用户所在分部异常");
  107. }else {
  108. List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
  109. if(!list.containsAll(Arrays.asList(queryInfo.getOrganIds().split(",")))){
  110. return failed("非法请求");
  111. }
  112. }
  113. return succeed(musicGroupPaymentCalenderDetailService.queryArrearageStudents(queryInfo));
  114. }
  115. @ApiOperation(value = "获取未缴费学员关联乐团列表")
  116. @GetMapping("/getNoPaymentStudentMusicGroups")
  117. @PreAuthorize("@pcs.hasPermissions('musicGroupPaymentCalenderDetail/getNoPaymentStudentMusicGroups')")
  118. public HttpResponseResult<List<MusicGroup>> getNoPaymentStudentMusicGroups(String organIds){
  119. SysUser sysUser = sysUserFeignService.queryUserInfo();
  120. if (sysUser == null) {
  121. return failed("用户信息获取失败");
  122. }
  123. Employee employee = employeeService.get(sysUser.getId());
  124. if (StringUtils.isBlank(organIds)) {
  125. organIds = employee.getOrganIdList();
  126. }else if(StringUtils.isEmpty(employee.getOrganIdList())){
  127. return failed("用户所在分部异常");
  128. }else {
  129. List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
  130. if(!list.containsAll(Arrays.asList(organIds.split(",")))){
  131. return failed("非法请求");
  132. }
  133. }
  134. return succeed(musicGroupPaymentCalenderDetailService.getNoPaymentStudentMusicGroups(organIds));
  135. }
  136. }