DishController.java 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. package com.usky.dxtop.controller.web.business;
  2. import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
  3. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  4. import com.usky.dxtop.common.core.domain.ApiResult;
  5. import com.usky.dxtop.common.core.page.CommonPage;
  6. import com.usky.dxtop.common.exception.CustomException;
  7. import com.usky.dxtop.model.Dish;
  8. import com.usky.dxtop.model.Staff;
  9. import com.usky.dxtop.service.DishService;
  10. import com.usky.dxtop.service.StaffService;
  11. import com.usky.dxtop.service.vo.DishCollectExportVO;
  12. import com.usky.dxtop.service.vo.DishRequest;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.validation.annotation.Validated;
  15. import org.springframework.web.bind.annotation.*;
  16. import java.util.Date;
  17. import java.util.Optional;
  18. /**
  19. * 消费模块
  20. *
  21. * @author yq
  22. * @since 2021-09-09
  23. */
  24. @RestController
  25. @RequestMapping("/dxtop/dish")
  26. public class DishController {
  27. @Autowired
  28. private DishService dishService;
  29. @Autowired
  30. private StaffService staffService;
  31. /**
  32. * 记录查询
  33. *
  34. * @param dishRequest
  35. * @return
  36. */
  37. @PostMapping("page")
  38. public ApiResult<CommonPage<Dish>> page(@Validated @RequestBody DishRequest dishRequest) {
  39. return ApiResult.success(dishService.page(dishRequest));
  40. }
  41. /**
  42. * 消费详情
  43. *
  44. * @param seq
  45. * @return
  46. */
  47. @GetMapping(value = "/{seq}")
  48. public ApiResult<Dish> one(@PathVariable Long seq) {
  49. return ApiResult.success(dishService.one(seq));
  50. }
  51. /**
  52. * 消费汇总统计
  53. *
  54. * @return
  55. */
  56. @GetMapping(value = "/collect")
  57. public ApiResult collect() {
  58. return ApiResult.success(dishService.collect());
  59. }
  60. /**
  61. * 批量修改消息状态
  62. *
  63. * @return
  64. */
  65. @PutMapping
  66. public ApiResult<Boolean> update(@RequestParam String userId) {
  67. Staff staff = staffService.one(userId, null, null);
  68. Optional.ofNullable(staff).orElseThrow(() -> new CustomException("用户信息不存在"));
  69. LambdaUpdateWrapper<Dish> updateWrapper = Wrappers.lambdaUpdate();
  70. updateWrapper.set(Dish::getMessageFlag, true)
  71. .eq(Dish::getCard, staff.getCardId());
  72. return ApiResult.success(dishService.update(updateWrapper));
  73. }
  74. /**
  75. * 导出
  76. *
  77. * @param dishRequest
  78. * @return
  79. */
  80. @PostMapping("/export")
  81. public ApiResult<String> export(@RequestBody DishRequest dishRequest) {
  82. return ApiResult.success(dishService.export(dishRequest));
  83. }
  84. /**
  85. * 日报表分页
  86. * @param current 页数
  87. * @param size 条数
  88. * @param startTime 开始时间
  89. * @param endTime 结束时间
  90. * @return
  91. */
  92. @GetMapping("/dayCollect")
  93. public ApiResult<CommonPage<DishCollectExportVO>> dayCollect(
  94. @RequestParam Integer current,
  95. @RequestParam Integer size,
  96. @RequestParam(required = false) Date startTime,
  97. @RequestParam(required = false) Date endTime) {
  98. return ApiResult.success(dishService.collect(current,size,startTime,endTime));
  99. }
  100. /**
  101. * 日报表导出
  102. * @param startTime 开始时间
  103. * @param endTime 结束时间
  104. * @return
  105. */
  106. @GetMapping("/exportDyaCollect")
  107. public ApiResult<String> exportDyaCollect(@RequestParam(required = false) Date startTime,
  108. @RequestParam(required = false) Date endTime){
  109. return ApiResult.success(dishService.dayCollectExport(startTime,endTime));
  110. }
  111. }