MerchantController.java 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. package com.fuint.module.merchantApi.controller;
  2. import com.fuint.common.dto.StaffDto;
  3. import com.fuint.common.dto.UserInfo;
  4. import com.fuint.common.service.ConfirmLogService;
  5. import com.fuint.common.service.MemberService;
  6. import com.fuint.common.service.OrderService;
  7. import com.fuint.common.service.StaffService;
  8. import com.fuint.common.util.DateUtil;
  9. import com.fuint.common.util.TokenUtil;
  10. import com.fuint.framework.exception.BusinessCheckException;
  11. import com.fuint.framework.web.BaseController;
  12. import com.fuint.framework.web.ResponseObject;
  13. import com.fuint.repository.model.MtStaff;
  14. import com.fuint.repository.model.MtUser;
  15. import io.swagger.annotations.Api;
  16. import io.swagger.annotations.ApiOperation;
  17. import lombok.AllArgsConstructor;
  18. import org.springframework.web.bind.annotation.*;
  19. import javax.servlet.http.HttpServletRequest;
  20. import java.math.BigDecimal;
  21. import java.util.Date;
  22. import java.util.HashMap;
  23. import java.util.Map;
  24. /**
  25. * 商户相关controller
  26. *
  27. * Created by FSQ
  28. * CopyRight https://www.fuint.cn
  29. */
  30. @Api(tags="商户端-商户信息相关接口")
  31. @RestController
  32. @AllArgsConstructor
  33. @RequestMapping(value = "/merchantApi/merchant")
  34. public class MerchantController extends BaseController {
  35. /**
  36. * 会员服务接口
  37. * */
  38. private MemberService memberService;
  39. /**
  40. * 店铺员工服务接口
  41. * */
  42. private StaffService staffService;
  43. /**
  44. * 卡券核销记录服务接口
  45. * */
  46. private ConfirmLogService confirmLogService;
  47. /**
  48. * 订单服务接口
  49. * */
  50. private OrderService orderService;
  51. /**
  52. * 查询商户信息
  53. *
  54. * @param request Request对象
  55. */
  56. @ApiOperation(value = "查询商户信息")
  57. @RequestMapping(value = "/info", method = RequestMethod.GET)
  58. @CrossOrigin
  59. public ResponseObject info(HttpServletRequest request) throws BusinessCheckException {
  60. String token = request.getHeader("Access-Token");
  61. UserInfo userInfo = TokenUtil.getUserInfoByToken(token);
  62. if (null == userInfo) {
  63. return getFailureResult(1001, "用户未登录");
  64. }
  65. MtUser mtUser = memberService.queryMemberById(userInfo.getId());
  66. Map<String, Object> outParams = new HashMap<>();
  67. outParams.put("userInfo", mtUser);
  68. StaffDto staffInfo = staffService.getStaffInfoByMobile(mtUser.getMobile());
  69. if (null == staffInfo) {
  70. return getFailureResult(1002, "该账号不是商户");
  71. }
  72. outParams.put("confirmInfo", staffInfo);
  73. // 总收款额
  74. Date beginTime = DateUtil.getDayBegin();
  75. Date endTime = DateUtil.getDayEnd();
  76. BigDecimal payMoney = orderService.getPayMoney(staffInfo.getMerchantId(), staffInfo.getStoreId(), beginTime, endTime);
  77. outParams.put("payMoney", payMoney);
  78. // 总会员数
  79. Long userCount = memberService.getUserCount(staffInfo.getMerchantId(), staffInfo.getStoreId());
  80. outParams.put("userCount", userCount);
  81. // 今日订单数
  82. BigDecimal orderCount = orderService.getOrderCount(staffInfo.getMerchantId(), staffInfo.getStoreId(), beginTime, endTime);
  83. outParams.put("orderCount", orderCount);
  84. // 核销券数
  85. Long confirmCount = confirmLogService.getConfirmCount(staffInfo.getMerchantId(), staffInfo.getStoreId(), beginTime, endTime);
  86. outParams.put("couponCount", confirmCount);
  87. // 今日活跃会员数
  88. Long todayUser = memberService.getActiveUserCount(staffInfo.getMerchantId(), staffInfo.getStoreId(), beginTime, endTime);
  89. outParams.put("todayUser", todayUser);
  90. return getSuccessResult(outParams);
  91. }
  92. }