猫妈狗爸伴宠师小程序后端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

90 lines
3.2 KiB

3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
  1. package com.ruoyi.applet.contoller;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  4. import com.cyl.h5.config.SecurityUtil;
  5. import com.cyl.manager.oms.domain.OrderItem;
  6. import com.cyl.manager.oms.mapper.OrderItemMapper;
  7. import com.cyl.manager.ums.domain.Member;
  8. import com.ruoyi.common.annotation.RateLimiter;
  9. import com.ruoyi.common.annotation.RepeatSubmit;
  10. import com.ruoyi.common.core.controller.BaseController;
  11. import com.ruoyi.common.core.domain.AjaxResult;
  12. import com.ruoyi.common.core.page.TableDataInfo;
  13. import com.ruoyi.model.domain.AppletOrderDateFrequency;
  14. import com.ruoyi.model.domain.AppletOrderItemDateLog;
  15. import com.ruoyi.model.service.IAppletOrderDateFrequencyService;
  16. import com.ruoyi.model.service.IAppletOrderItemDateLogService;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.web.bind.annotation.*;
  19. import java.text.SimpleDateFormat;
  20. import java.util.*;
  21. import java.util.stream.Collectors;
  22. /**
  23. * 新版本小程序日订单Controller
  24. *
  25. * @author daixiande
  26. * @date 2025-05-28
  27. */
  28. @RestController
  29. @RequestMapping("/applet/appletOrderDateFrequency")
  30. public class AppletOrderDateFrequencyAppletController extends BaseController {
  31. @Autowired
  32. private IAppletOrderDateFrequencyService appletOrderDateFrequencyService;
  33. @Autowired
  34. private IAppletOrderItemDateLogService appletOrderItemDateLogService;
  35. /**
  36. * 查询日订单列表
  37. */
  38. @GetMapping("/list")
  39. public AjaxResult list(AppletOrderDateFrequency frequency) {
  40. List<AppletOrderDateFrequency> list = appletOrderDateFrequencyService.selectAppletOrderDateFrequencyList(frequency);
  41. // 按日期分组
  42. SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
  43. Map<String, List<AppletOrderDateFrequency>> groupedByDate = list.stream()
  44. .collect(Collectors.groupingBy(item -> formatter.format(item.getServiceDate())));
  45. // 转换为目标格式,按日期排序
  46. List<Map<String, Object>> result = new ArrayList<>();
  47. groupedByDate.entrySet().stream()
  48. .sorted(Map.Entry.comparingByKey())
  49. .forEach(entry -> {
  50. Map<String, Object> group = new HashMap<>();
  51. group.put("date", entry.getKey());
  52. group.put("list", entry.getValue());
  53. result.add(group);
  54. });
  55. return success(result);
  56. }
  57. /**
  58. * 获取日订单详细信息
  59. */
  60. @GetMapping(value = "/{id}")
  61. public AjaxResult getInfo(@PathVariable("id") Long id) {
  62. AppletOrderDateFrequency frequency = appletOrderDateFrequencyService.selectAppletOrderDateFrequencyById(id);
  63. AppletOrderItemDateLog check = appletOrderItemDateLogService.selectAppletOrderItemDateLogByItemDateId(id);
  64. HashMap<String, Object> map = new HashMap<>();
  65. map.put("frequency", frequency);
  66. map.put("check", check);
  67. return AjaxResult.success(map);
  68. }
  69. /**
  70. * 获取日订单详细信息
  71. */
  72. @PostMapping(value = "/check")
  73. @RepeatSubmit
  74. public AjaxResult check(@RequestBody AppletOrderItemDateLog log) {
  75. return AjaxResult.success(appletOrderDateFrequencyService.check(log));
  76. }
  77. }