SettingController.php 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265
  1. <?php
  2. namespace app\frontend\controllers;
  3. use app\backend\modules\member\models\MemberRelation;
  4. use app\common\components\BaseController;
  5. use app\common\facades\RichText;
  6. use app\common\facades\Setting;
  7. use app\common\models\Protocol;
  8. use app\framework\Http\Request;
  9. use app\frontend\models\Member;
  10. use app\frontend\models\MemberShopInfo;
  11. /**
  12. * Created by PhpStorm.
  13. * Author: 芸众商城 www.yunzshop.com
  14. * Date: 2017/3/25
  15. * Time: 上午11:57
  16. */
  17. class SettingController extends BaseController
  18. {
  19. protected $_lang;
  20. public function preAction()
  21. {
  22. $this->_lang = 'zh_cn';
  23. parent::preAction();
  24. }
  25. /**
  26. * 商城设置接口
  27. * @param string $key setting表key字段值
  28. * @return
  29. */
  30. public function get()
  31. {
  32. $key = \YunShop::request()->setting_key ? \YunShop::request()->setting_key : 'shop';
  33. if (!empty($key)) {
  34. $setting = Setting::get('shop.' . $key);
  35. } else {
  36. $setting = Setting::get('shop');
  37. }
  38. if (!$setting) {
  39. return $this->errorJson('未进行设置.');
  40. }
  41. $setting['logo'] = replace_yunshop(tomedia($setting['logo']));
  42. /*
  43. $relation = MemberRelation::getSetInfo()->first();
  44. if ($relation) {
  45. $setting['agent'] = $relation->status ? true : false;
  46. } else {
  47. $setting['agent'] = false;
  48. }
  49. */
  50. $setting['agent'] = true;
  51. //强制绑定手机号
  52. $member_set = Setting::get('shop.member');
  53. if ((1 == $member_set['is_bind_mobile']) && \YunShop::app()->getMemberId() && \YunShop::app()->getMemberId() > 0) {
  54. $member_model = Member::getMemberById(\YunShop::app()->getMemberId());
  55. if ($member_model && $member_model->mobile) {
  56. $setting['is_bind_mobile'] = 0;
  57. } else {
  58. $setting['is_bind_mobile'] = 1;
  59. }
  60. } else {
  61. $setting['is_bind_mobile'] = 0;
  62. }
  63. return $this->successJson('获取商城设置成功', $setting);
  64. }
  65. /**
  66. * @return \Illuminate\Http\JsonResponse
  67. * 会员注册协议
  68. */
  69. public function getMemberProtocol(Request $request,$integrated = null)
  70. {
  71. $register = Setting::get('shop.register');
  72. if (!empty($register['top_img'])) {
  73. $register['top_img'] = yz_tomedia($register['top_img']);
  74. }
  75. $member = Setting::get('shop.member');
  76. $custom_field = [
  77. 'is_custom' => $member['is_custom'],
  78. 'custom_title' => $member['custom_title'],
  79. 'is_validity' => $member['level_type'] == 2 ? true : false,
  80. 'term' => $member['term'] ? $member['term'] : 0,
  81. ];
  82. $form = Setting::get('shop.form');
  83. $data = Protocol::uniacid()
  84. ->select('status as protocol', 'content', 'title')
  85. ->first();
  86. $data['content'] = html_entity_decode($data['content']);
  87. if (!$register) {
  88. $register = [
  89. 'top_img' => '',
  90. 'top_img_url' => '',
  91. 'is_password' => 1,
  92. 'title1' => '',
  93. 'title2' => '',
  94. 'protocol' => [
  95. 'title' => '',
  96. 'status' => 1,
  97. ],
  98. ];
  99. }
  100. $data['register'] = $register;
  101. $data['form'] = json_decode($form, true);
  102. $data['custom_field'] = $custom_field;
  103. $data['protocol'] = $data->protocol !== 0 ? 1 : $data->protocol;
  104. $member = MemberShopInfo::uniacid()
  105. ->select(['member_id', 'province_name', 'city_name', 'area_name', 'address', 'custom_value', 'member_form'])
  106. ->where('member_id', \YunShop::app()->getMemberId())
  107. ->first();
  108. if ($member) {
  109. $member = $member->toArray();
  110. }
  111. if (!empty($member) && !is_null($member['member_form'])) {
  112. $member['member_form'] = json_decode($member['member_form']);
  113. }
  114. $mc_member = Member::uniacid()
  115. ->select(['uid', 'gender', 'birthyear', 'birthmonth', 'birthday'])
  116. ->where('uid', \YunShop::app()->getMemberId())
  117. ->first();
  118. if ($mc_member) {
  119. $mc_member = $mc_member->toArray();
  120. }
  121. $member_result = array_merge($member, $mc_member);
  122. $data['member'] = $member_result;
  123. if(empty($data)){
  124. $data = ['protocol' => 1, 'content' => '', 'title' => '', 'register' => [], 'form' => [], 'custom_field' => []];
  125. }
  126. $shop = Setting::get('shop.shop');
  127. if ($shop['is_agreement']){
  128. $data['new_agreement'] = RichText::get('shop.agreement');
  129. $data['agreement_name'] = $shop['agreement_name'];
  130. }
  131. if(is_null($integrated)){
  132. return $this->successJson('获取注册协议成功', $data);
  133. }else{
  134. return show_json(1,$data);
  135. }
  136. }
  137. //获取余额设置
  138. public function getBalance()
  139. {
  140. $shop = Setting::get('shop.shop');
  141. $credit=$shop['credit'] ?: '余额';
  142. return $this->successJson('获取余额设置成功',['balance'=>$credit]);
  143. }
  144. /**
  145. * @return \Illuminate\Http\JsonResponse
  146. * 注册自定义表单接口
  147. */
  148. public function getRegisterDiyForm(Request $request, $integrated = null)
  149. {
  150. $member_set = Setting::get('shop.member');
  151. $is_diyform = \YunShop::plugin()->get('diyform');
  152. $data = [
  153. 'form_id' => 0,
  154. 'status' => 0,
  155. ];
  156. if ($is_diyform) {
  157. $data['form_id'] = $member_set['form_id'];
  158. $data['status'] = $data['form_id'] ? 1 : 0;
  159. }
  160. if(is_null($integrated)){
  161. return $this->successJson('返回数据成功',$data);
  162. }else{
  163. return show_json(1,$data);
  164. }
  165. }
  166. public function getLangSetting()
  167. {
  168. $lang = Setting::get('shop.lang.lang');
  169. $data = [
  170. 'test' => [],
  171. 'commission' => [
  172. 'title' => '',
  173. 'commission' => '',
  174. 'agent' => '',
  175. 'level_name' => '',
  176. 'commission_order' => '',
  177. 'commission_amount' => '',
  178. ],
  179. 'single_return' => [
  180. 'title' => '',
  181. 'single_return' => '',
  182. 'return_name' => '',
  183. 'return_queue' => '',
  184. 'return_log' => '',
  185. 'return_detail' => '',
  186. 'return_amount' => '',
  187. ],
  188. 'team_return' => [
  189. 'title' => '',
  190. 'team_return' => '',
  191. 'return_name' => '',
  192. 'team_level' => '',
  193. 'return_log' => '',
  194. 'return_detail' => '',
  195. 'return_amount' => '',
  196. 'return_rate' => '',
  197. 'team_name' => '',
  198. 'return_time' => '',
  199. ],
  200. 'full_return' => [
  201. 'title' => '',
  202. 'full_return' => '',
  203. 'return_name' => '',
  204. 'full_return_log' => '',
  205. 'return_detail' => '',
  206. 'return_amount' => '',
  207. ],
  208. 'team_dividend' => [
  209. 'title' => '',
  210. 'team_dividend' => '',
  211. 'team_agent_centre' => '',
  212. 'dividend' => '',
  213. 'flat_prize' => '',
  214. 'award_gratitude' => '',
  215. 'dividend_amount' => '',
  216. ],
  217. 'area_dividend' => [
  218. 'area_dividend_center' => '',
  219. 'area_dividend' => '',
  220. 'dividend_amount' => '',
  221. ]
  222. ];
  223. $langData = Setting::get('shop.lang.' . $lang, $data);
  224. if (is_null($langData)) {
  225. $langData = $data;
  226. }
  227. return $this->successJson('获取商城语言设置成功', $langData);
  228. }
  229. }