Member.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <?php
  2. namespace app\controller\wap;
  3. use app\extra\basic\Base;
  4. use app\extra\service\saas\MemberService;
  5. use app\middleware\WxMiddleware;
  6. use app\model\saas\SaasCombo;
  7. use app\model\saas\SaasShop;
  8. use DI\Attribute\Inject;
  9. use LinFly\Annotation\Route\Controller;
  10. use LinFly\Annotation\Route\Middleware;
  11. use LinFly\Annotation\Route\Route;
  12. use support\Request;
  13. use support\Response;
  14. #[Controller(prefix: "/wap/member"),Middleware(WxMiddleware::class)]
  15. class Member extends Base
  16. {
  17. #[Inject]
  18. protected MemberService $service;
  19. #[Route(path: "total",methods: "get")]
  20. public function getMemberTotal(Request $request): Response
  21. {
  22. try {
  23. $param = $request->get();
  24. $param['shop'] = $request->user['shop_id'];
  25. $data = $this->service->getMpTotal($param);
  26. return success("ok",$data);
  27. } catch (\Throwable $throwable) {
  28. return error($throwable->getMessage());
  29. }
  30. }
  31. #[Route(path: "list",methods: "get")]
  32. public function getMemberList(Request $request): Response
  33. {
  34. try {
  35. $param = $request->get();
  36. if (empty($param['shop'])) {
  37. $param['shop'] = $request->user['shop_id'];
  38. }
  39. $list = $this->service->getList($param);
  40. return successTrans("success.data",pageFormat($list),200);
  41. } catch (\Throwable $throwable) {
  42. return error($throwable->getMessage());
  43. }
  44. }
  45. #[Route(path: "combo",methods: "get")]
  46. public function getComboDetail(Request $request): Response
  47. {
  48. try {
  49. $shop = (new SaasShop)->where("shop_id",$request->user['shop_id'])->findOrEmpty();
  50. $combo = (new SaasCombo)->where("type",2)->where("status",1)->field("id,name,ROUND(money/100,2) as money,ROUND(old_money/100,2) as old_money,is_first")->select();
  51. $param = [
  52. "state" => $shop['user_card'], // 1 默认 2 自定义 3关闭
  53. "system" => $combo,
  54. "shop" => empty($shop['user_card_price']) ? $combo :$shop['user_card_price']
  55. ];
  56. return success("ok",$param);
  57. } catch (\Throwable $throwable) {
  58. return error($throwable->getMessage());
  59. }
  60. }
  61. #[Route(path: "combo",methods: "post")]
  62. public function setCombo(Request $request): Response
  63. {
  64. try {
  65. $param = $request->post();
  66. $shop = (new SaasShop)->where("shop_id",$request->user['shop_id'])->findOrEmpty();
  67. $shop->user_card = $param['state'];
  68. if (isset($param['shop'])) {
  69. $shop->user_card_price = json_encode($param['shop']);
  70. }
  71. $state = $shop->save();
  72. if (!$state) return errorTrans("error.data");
  73. return successTrans("success.data");
  74. } catch (\Throwable $throwable) {
  75. return error($throwable->getMessage());
  76. }
  77. }
  78. /**
  79. * 钱包余额
  80. * @param Request $request
  81. * @return Response
  82. */
  83. #[Route(path: "wallet",methods: "get")]
  84. public function getWalletData(Request $request): Response
  85. {
  86. try {
  87. $detail = (new SaasShop)->where("shop_id",$request->user['shop_id'])->column("balance,total_balance");
  88. if (!isset($detail[0])) return errorTrans("empty.data");
  89. return success("ok",$detail[0]);
  90. } catch (\Throwable $throwable) {
  91. return error($throwable->getMessage());
  92. }
  93. }
  94. }