SjService.php 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. <?php
  2. namespace bizJd\sj\services;
  3. use biz\sj\classes\MerchantAssetClass;
  4. use biz\sj\classes\MerchantClass;
  5. use biz\sj\classes\MerchantExtendClass;
  6. use biz\sj\classes\MerchantInitClass;
  7. use bizGhs\custom\services\CustomService;
  8. use bizJd\apply\classes\ApplyClass;
  9. use bizJd\base\services\BaseService;
  10. use bizJd\shop\classes\ShopClass;
  11. use common\components\dict;
  12. use common\components\stringUtil;
  13. use Yii;
  14. class SjService extends BaseService
  15. {
  16. public static $baseFile = '\bizJd\sj\classes\SjClass';
  17. public static function initJdGhsBaseInfo($applyData, $main, $applyThis = false)
  18. {
  19. $applyId = $applyData['id'] ?? 0;
  20. $adminId = $applyData['adminId'] ?? 0;
  21. $mainId = $main->id ?? 0;
  22. unset($applyData['id']);
  23. //生成商家
  24. $applyData['accountStyle'] = 0;
  25. $applyData['status'] = 1;
  26. $applyData['lat'] = $applyData['lat'] ?? (string)0;
  27. $applyData['long'] = $applyData['long'] ?? (string)0;
  28. $applyData['precision'] = (string)0;
  29. $applyData['wxToken'] = stringUtil::buildWxToken(0);
  30. $applyData['photoList'] = $applyData['photoList'] ?? '';
  31. $applyData['name'] = $applyData['name'] ?? '';
  32. $applyData['province'] = $applyData['province'] ?? '';
  33. $applyData['city'] = $applyData['city'] ?? '';
  34. $applyData['dist'] = $applyData['dist'] ?? '';
  35. $applyData['address'] = $applyData['address'] ?? '';
  36. $applyData['agentLevel'] = 1;
  37. $applyData['parentId'] = $applyData['introSjId'] ?? 0;
  38. $deadline = time() + 365 * 86400;
  39. $applyData['deadline'] = date("Y-m-d H:i:s", $deadline);
  40. $applyData['parentId'] = $applyData['introSjId'] ?? 0;
  41. $applyData['parentShopId'] = $applyData['introShopId'] ?? 0;
  42. $sjData = $applyData;
  43. $sjData['style'] = dict::getDict('ptStyle', 'kmGhs');
  44. $sj = self::add($sjData, true);
  45. $sjId = $sj->id;
  46. $sjName = $sj->name ?? 0;
  47. $mobile = $applyData['mobile'] ?? '';
  48. $ptStyle = $applyData['style'] ?? dict::getDict('ptStyle', 'hd');
  49. if (!empty($applyId) && $applyThis) {
  50. ApplyClass::updateById($applyId, ['sjId' => $sjId]);
  51. }
  52. //生成资产
  53. $assetData = [
  54. 'balance' => 0,
  55. 'totalVisit' => 0,
  56. 'totalUser' => 0,
  57. 'totalMember' => 0,
  58. 'totalFans' => 0,
  59. 'totalIntegral' => 0,
  60. 'totalPoint' => 0,
  61. 'totalGoods' => 0,
  62. 'totalRecharge' => 0,
  63. 'totalOrder' => 0,
  64. 'totalDeal' => 0,
  65. 'sjId' => $sjId,
  66. 'totalIncome' => 0,
  67. 'totalExpend' => 0,
  68. ];
  69. MerchantAssetClass::add($assetData);
  70. //生成商家拓展信息
  71. $extendData = [
  72. 'sjId' => $sjId,
  73. 'wxAppId' => isset($applyData['wxAppId']) ? $applyData['wxAppId'] : '',
  74. 'webTitle' => isset($applyData['name']) ? $applyData['name'] : '',
  75. 'webKeyword' => isset($applyData['name']) ? $applyData['name'] : '',
  76. 'webDescription' => isset($applyData['name']) ? $applyData['name'] : '',
  77. 'wxMenuInit' => 0,
  78. 'wxTMessageInit' => 0,
  79. 'payment' => 0,//支付功能关闭
  80. 'recharge' => 0,//充值功能关闭
  81. 'giveCoupon' => 1,//默认赠送代金劵
  82. 'giveCouponPrice' => 5,//代金劵金额5元
  83. 'couponMeetPrice' => 180,//满足金额
  84. 'couponValidity' => 30,//代金劵有效期30天
  85. 'alipayAccount' => isset($applyData['alipayAccount']) ? $applyData['alipayAccount'] : '',//提现的支付宝帐号
  86. 'alipayAccountName' => isset($applyData['alipayAccountName']) ? $applyData['alipayAccountName'] : '',//提现支付宝帐号姓名
  87. 'gradeList' => '1_2000_0.9I2_5000_0.88I3_10000_0.85I4_20000_0.8',//1 级会员需要满 2000 积分 购物享9折;2 级会员需要满 5000 积分 购物享88折
  88. ];
  89. MerchantExtendClass::add($extendData);
  90. MerchantInitClass::add(['sjId' => $sjId]);
  91. //创建门店
  92. $shopData = [
  93. 'shopName' => '首店',
  94. 'sjId' => $sjId,
  95. 'merchantName' => $sjName,
  96. 'telephone' => $mobile,
  97. 'default' => 1,
  98. 'mainId' => $mainId,
  99. 'adminId' => $adminId,
  100. 'parentId' => $applyData['introSjId'] ?? 0,
  101. 'parentShopId' => $applyData['introShopId'] ?? 0,
  102. 'mobile' => $mobile,
  103. 'introduction' => '欢迎光临',
  104. 'province' => $applyData['province'] ?? '',
  105. 'city' => $applyData['city'] ?? '',
  106. 'dist' => $applyData['dist'] ?? '',
  107. 'address' => $applyData['address'] ?? '',
  108. 'floor' => $applyData['floor'] ?? '',
  109. 'fullAddress' => $applyData['fullAddress'] ?? '',
  110. 'open' => 1,
  111. 'lat' => $applyData['lat'] ?? '',
  112. 'long' => $applyData['long'] ?? '',
  113. 'img' => ['/example/shop/1.jpg'],
  114. 'ptStyle' => $ptStyle,
  115. ];
  116. $shopRespond = ShopClass::addShop($shopData);
  117. $shopId = $shopRespond->id;
  118. //变更状态和设置商家的默认门店
  119. $sjData = [];
  120. $sjData['defaultShopId'] = $shopId;
  121. $sjStatus = MerchantClass::STATUS_HAS_CHECK;
  122. $sjData['status'] = $sjStatus;
  123. MerchantClass::updateById($sjId, $sjData);
  124. //建立供货商和客户关系
  125. if ($applyThis) {
  126. CustomService::shareBuildTrade($applyData, $shopRespond);
  127. }
  128. return ['sj' => $sj, 'shop' => $shopRespond];
  129. }
  130. }