猫妈狗爸伴宠师小程序后端代码
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.

164 lines
5.9 KiB

1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
  1. package com.ruoyi.applet.contoller;
  2. import com.ruoyi.common.core.domain.AjaxResult;
  3. import com.ruoyi.model.domain.*;
  4. import com.ruoyi.model.service.*;
  5. import io.swagger.annotations.Api;
  6. import io.swagger.annotations.ApiOperation;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.transaction.annotation.Transactional;
  9. import org.springframework.web.bind.annotation.*;
  10. import java.time.LocalDateTime;
  11. import java.util.List;
  12. @Api(description = "订单模块 - 打卡记录")
  13. @RestController
  14. @RequestMapping("/applet/orderItemLog")
  15. public class ApiAppletOrderItemLogController {
  16. @Autowired
  17. private IAppletOrderItemDateLogService appletOrderItemDateLogService;
  18. @Autowired
  19. private IAppletOrderService appletOrderService;
  20. @Autowired
  21. private IAppletOrderItemService appletOrderItemService;
  22. @Autowired
  23. private IAppletOrderItemDateService appletOrderItemDateService;
  24. @Autowired
  25. private IAppUsersService appUsersService;
  26. @Autowired
  27. private IAppletAmountLogService appletAmountLogService;
  28. //增加或者修改打卡记录
  29. @ApiOperation("增加或者修改打卡记录")
  30. @PostMapping("/addOrUpdate")
  31. @Transactional
  32. public AjaxResult addOrUpdate(@RequestBody AppletOrderItemDateLog appletOrderItemDateLog)
  33. {
  34. if(appletOrderItemDateLog.getId()!=null){
  35. int i = appletOrderItemDateLogService.updateAppletOrderItemDateLog(appletOrderItemDateLog);
  36. }else{
  37. int i = appletOrderItemDateLogService.insertAppletOrderItemDateLog(appletOrderItemDateLog);
  38. }
  39. if(appletOrderItemDateLog.getSubmitFlag()!= null){
  40. //修改日订单状态
  41. AppletOrderItemDate appletOrderItem = appletOrderItemDateService.selectAppletOrderItemDateById(appletOrderItemDateLog.getItemDateId());
  42. if(appletOrderItem !=null){
  43. appletOrderItem.setStatus(appletOrderItemDateLog.getSubmitFlag());
  44. appletOrderItemDateService.updateAppletOrderItemDate(appletOrderItem);
  45. }
  46. //修改总订单标识
  47. AppletOrderItem appletOrder = appletOrderItemService.selectAppletOrderItemById(appletOrderItemDateLog.getItemOrderId());
  48. if(appletOrder !=null){
  49. //查询该订单下的所有日订单
  50. AppletOrderItemDate date = new AppletOrderItemDate();
  51. date.setOrderId(appletOrder.getId());
  52. List<AppletOrderItemDate> appletOrderItemDateList = appletOrderItemDateService.selectAppletOrderItemDateList(date);
  53. //总日订单数量
  54. int count = appletOrderItemDateList.size();
  55. AppletOrderItemDate date1 = new AppletOrderItemDate();
  56. date1.setOrderId(appletOrder.getId());
  57. date1.setStatus(0);
  58. List<AppletOrderItemDate> appletOrderItemDateListDate1 = appletOrderItemDateService.selectAppletOrderItemDateList(date1);
  59. //状态为0的订单数量
  60. int count1 = appletOrderItemDateListDate1.size();
  61. AppletOrderItemDate date2 = new AppletOrderItemDate();
  62. date2.setOrderId(appletOrder.getId());
  63. date2.setStatus(1);
  64. List<AppletOrderItemDate> appletOrderItemDateListDate2 = appletOrderItemDateService.selectAppletOrderItemDateList(date2);
  65. //状态为1的订单数量
  66. int count2 = appletOrderItemDateListDate2.size();
  67. System.out.println("总日订单数量"+count);
  68. System.out.println("状态为0的订单数量"+count1);
  69. System.out.println("状态为1的订单数量"+count2);
  70. //如果count = count2
  71. if(count == count2){
  72. //修改总订单状态
  73. System.out.println("OrderStatus:"+2);
  74. appletOrder.setOrderStatus(2);
  75. appletOrderItemService.updateAppletOrderItem(appletOrder);
  76. //根据订单中的用户id查询用户信息
  77. AppUsers user = appUsersService.selectAppUsersByUserId(appletOrder.getUserId());
  78. //增加伴宠师流水
  79. // 记录日志
  80. AppletAmountLog moneyLog = new AppletAmountLog();
  81. moneyLog.setUserId(user.getUserId());
  82. moneyLog.setTitle("伴宠师佣金");
  83. moneyLog.setAmount(appletOrder.getOrderGivePrice());
  84. moneyLog.setType(0); //收入
  85. moneyLog.setState(1); //到账
  86. moneyLog.setCreateTime(LocalDateTime.now());
  87. moneyLog.setMoneyType(1);//钱包类型
  88. int i = appletAmountLogService.insertAppletAmountLog(moneyLog);
  89. user.setPrice(user.getPrice().add(appletOrder.getOrderGivePrice()));
  90. appUsersService.updateAppUsers(user);
  91. }
  92. //如果count2 >0 并且 count1 >0
  93. if(count2 >0 && count1 >0){
  94. //修改总订单状态
  95. System.out.println("OrderStatus:"+1);
  96. appletOrder.setOrderStatus(1);
  97. appletOrderItemService.updateAppletOrderItem(appletOrder);
  98. }
  99. }
  100. }
  101. return AjaxResult.success("打卡成功");
  102. }
  103. //根据订单标识查询打卡记录
  104. @ApiOperation("根据订单标识查询打卡记录")
  105. @GetMapping(value = "/getByOrderId/{itemDateId}")
  106. public AjaxResult getInfo(@PathVariable("itemDateId") Long itemDateId) {
  107. AppletOrderItemDateLog appletOrderItemDateLog = new AppletOrderItemDateLog();
  108. appletOrderItemDateLog.setItemDateId(itemDateId);
  109. AppletOrderItemDateLog appletOrderItemDateLog1 = appletOrderItemDateLogService.selectAppletOrderItemDateLogByItemDateId(itemDateId);
  110. return AjaxResult.success(appletOrderItemDateLog1);
  111. }
  112. }