MusicGroupSubjectPlanController.java 4.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package com.ym.mec.web.controller;
  2. import com.ym.mec.biz.dal.dto.MusicGroupGoodsAndDiscountDto;
  3. import com.ym.mec.biz.dal.dto.MusicGroupSubjectGoodsAndInfoDto;
  4. import com.ym.mec.biz.dal.entity.ChargeTypeSubjectMapper;
  5. import com.ym.mec.biz.dal.entity.Goods;
  6. import com.ym.mec.biz.dal.entity.MusicGroupSubjectPlan;
  7. import com.ym.mec.common.entity.HttpResponseResult;
  8. import com.ym.mec.common.exception.BizException;
  9. import io.swagger.annotations.*;
  10. import org.apache.commons.lang3.StringUtils;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.security.access.prepost.PreAuthorize;
  13. import org.springframework.web.bind.annotation.*;
  14. import com.ym.mec.biz.service.MusicGroupSubjectPlanService;
  15. import com.ym.mec.common.controller.BaseController;
  16. import java.util.HashMap;
  17. import java.util.List;
  18. import java.util.Map;
  19. @RequestMapping("musicGroupSubjectPlan")
  20. @Api(tags = "乐团声部计划服务")
  21. @RestController
  22. public class MusicGroupSubjectPlanController extends BaseController {
  23. @Autowired
  24. private MusicGroupSubjectPlanService musicGroupSubjectPlanService;
  25. @ApiOperation(value = "根据id查询乐团声部招生情况")
  26. @GetMapping("/get/{id}")
  27. @PreAuthorize("@pcs.hasPermissions('musicGroupSubjectPlan/get')")
  28. public Object get(@ApiParam(value = "乐团编号", required = true) @PathVariable("id") int id) {
  29. return succeed(musicGroupSubjectPlanService.get(id));
  30. }
  31. @ApiOperation(value = "乐团声部分班情况")
  32. @GetMapping("/getMusicSubjectClass")
  33. @PreAuthorize("@pcs.hasPermissions('musicGroupSubjectPlan/getMusicSubjectClass')")
  34. public Object getMusicSubjectClass(@ApiParam(value = "乐团编号", required = true) String musicGroupId) {
  35. return succeed(musicGroupSubjectPlanService.getMusicSubjectClassPlan(musicGroupId));
  36. }
  37. @ApiOperation(value = "获取乐团声部规划列表")
  38. @GetMapping("/queryPage")
  39. @PreAuthorize("@pcs.hasPermissions('musicGroupSubjectPlan/queryPage')")
  40. public Object queryPage(@ApiParam(value = "乐团编号", required = true) String musicGroupId) {
  41. return succeed(musicGroupSubjectPlanService.getMusicSubjectClassPlan(musicGroupId));
  42. }
  43. @ApiOperation(value = "修改乐团声部规划费用")
  44. @PostMapping("/batchUpdateFee")
  45. @PreAuthorize("@pcs.hasPermissions('musicGroupSubjectPlan/batchUpdateFee')")
  46. public Object batchUpdateFee(@RequestBody List<MusicGroupSubjectPlan> musicGroupSubjectPlans) {
  47. return succeed(musicGroupSubjectPlanService.batchUpdateFee(musicGroupSubjectPlans));
  48. }
  49. @ApiOperation(value = "根据科目编号和乐团编号获取乐团规划")
  50. @PostMapping("/findSubjectPlan")
  51. @PreAuthorize("@pcs.hasPermissions('musicGroupSubjectPlan/findSubjectPlan')")
  52. public Object findSubjectPlan(String musicGroupId,Integer subjectId) {
  53. if(StringUtils.isEmpty(musicGroupId) || subjectId == null){
  54. throw new BizException("参数校验失败");
  55. }
  56. return succeed(musicGroupSubjectPlanService.findSubjectPlan(musicGroupId,subjectId));
  57. }
  58. @ApiOperation(value = "获取乐团商品和折扣")
  59. @GetMapping("/getSubjectGoods")
  60. @PreAuthorize("@pcs.hasPermissions('musicGroupSubjectPlan/getSubjectGoods')")
  61. @ApiImplicitParams({ @ApiImplicitParam(name = "subjectId", value = "科目编号", required = true, dataType = "Integer"),
  62. @ApiImplicitParam(name = "type", value = "INSTRUMENT 乐器, ACCESSORIES 教辅", required = true, dataType = "String"),
  63. @ApiImplicitParam(name = "chargeTypeId", value = "收费模式id", required = true, dataType = "Integer")
  64. })
  65. public HttpResponseResult getSubjectGoods(String subjectIds, String type, Integer chargeTypeId) {
  66. if(StringUtils.isBlank(subjectIds)){
  67. return succeed();
  68. }
  69. Map<String, List<MusicGroupGoodsAndDiscountDto>> result = new HashMap<>();
  70. for (String subjectIdStr : subjectIds.split(",")) {
  71. result.put(subjectIdStr, musicGroupSubjectPlanService.getSubjectGoods(Integer.valueOf(subjectIdStr), type, chargeTypeId));
  72. }
  73. return succeed(result);
  74. }
  75. }