Tool.php 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485
  1. <?php
  2. namespace Agent\Lib;
  3. use Dever;
  4. class Tool
  5. {
  6. public function __construct()
  7. {
  8. }
  9. # 更换权益
  10. public function setGoods_api()
  11. {
  12. Dever::load('manage/auth.init');
  13. # 权益类型
  14. $type = Dever::input('type', 1);
  15. # 权益类型id
  16. $type_id = Dever::input('type_id', 1);
  17. # 替换的权益类型
  18. $set_type = Dever::input('set_type', 1);
  19. # 替换权益类型id
  20. $set_type_id = Dever::input('set_type_id', 1);
  21. $mid = Dever::input('mid');
  22. $where['type'] = $type;
  23. $where['type_id'] = $type_id;
  24. if ($mid) {
  25. $where['mid'] = $mid;
  26. }
  27. $data = Dever::db('agent/member_goods')->getAll($where);
  28. if ($data) {
  29. $desc = '更换权益';
  30. foreach ($data as $k => $v) {
  31. if ($v['num'] > 0) {
  32. # 生成新的权益
  33. $mid = $v['mid'];
  34. $total = $v['num'];
  35. $w = array();
  36. $w['type'] = $set_type;
  37. $w['type_id'] = $set_type_id;
  38. $w['sku_id'] = -1;
  39. $w['mid'] = $v['mid'];
  40. $w['clear'] = true;
  41. $cash = $price = 0;
  42. if ($set_type == 1) {
  43. $goods_info = Dever::load('goods/lib/info')->getInfoBySku($w['type_id'], $w['sku_id']);
  44. $price = $goods_info['price'];
  45. $cash = $goods_info['price'] * $total;
  46. if (isset($goods_info['sku'])) {
  47. $sku = '-' . $goods_info['sku']['string'];
  48. } else {
  49. $sku = '';
  50. }
  51. $name = $goods_info['name'] . $sku;
  52. } elseif ($set_type == 2) {
  53. # 体验卡
  54. $card = Dever::db('card/info')->find($w['type_id']);
  55. if (!$card) {
  56. continue;
  57. }
  58. $name = $card['name'];
  59. if ($card['create_type'] == 2) {
  60. $cash = $price = $card['value'] * $total;
  61. $total = 1;
  62. $w['sku_id'] = Dever::load('card/lib/code')->create($card, 2, $mid, -1, $cash);
  63. if (!$w['sku_id']) {
  64. continue;
  65. }
  66. } else {
  67. if ($card['create_type'] == 3 && isset($v['price']) && $v['price'] > 0) {
  68. $card['value'] = $v['price'];
  69. }
  70. $cash = $price = $card['value'];
  71. for($i=0; $i<$total;$i++) {
  72. $w['sku_id'] = Dever::load('card/lib/code')->create($card, 2, $mid, -1, $cash);
  73. if ($w['sku_id']) {
  74. $w['total_num'] = 1;
  75. $w['cash'] = $cash;
  76. $w['price'] = $price;
  77. $w['name'] = $name;
  78. $state = Dever::db('agent/member_goods')->insert($w);
  79. if ($state) {
  80. Dever::load('agent/lib/member_set')->log($w['mid'], '', $w['type'], $w['type_id'], $w['sku_id'], 1, 0, 1, $name, $desc);
  81. }
  82. }
  83. }
  84. Dever::db('agent/member_goods')->update(array('where_id' => $v['id'], 'state' => 2));
  85. $name = $v['name'] ? $v['name'] : Dever::load("agent/lib/manage.getGoods#name", $v['type'], $v['type_id'], $v['sku_id']);
  86. Dever::load('agent/lib/member_set')->log($v['mid'], '', $v['type'], $v['type_id'], $v['sku_id'], -1*$v['num'], $v['num'], 0, $name, '[系统删除]');
  87. continue;
  88. }
  89. } elseif ($set_type == 3) {
  90. $prize = Dever::db('setting/prize')->find($w['type_id']);
  91. $price = $prize['price'];
  92. $cash = $prize['price'] * $total;
  93. $name = $prize['name'];
  94. }
  95. $info = Dever::db('agent/member_goods')->one($w);
  96. $w['total_num'] = $total;
  97. $w['cash'] = $cash;
  98. $w['price'] = $price;
  99. $w['name'] = $name;
  100. if (!$info) {
  101. $state = Dever::db('agent/member_goods')->insert($w);
  102. if ($state) {
  103. Dever::load('agent/lib/member_set')->log($w['mid'], '', $w['type'], $w['type_id'], $w['sku_id'], $total, 0, $w['total_num'], $name, $desc);
  104. }
  105. } else {
  106. $w['total_num'] += $info['sell_num'];
  107. $w['where_id'] = $info['id'];
  108. $w['state'] = 1;
  109. $state = Dever::db('agent/member_goods')->update($w);
  110. $num = $w['total_num']-$info['total_num'];
  111. if ($state && $num != 0) {
  112. Dever::load('agent/lib/member_set')->log($w['mid'], '', $w['type'], $w['type_id'], $w['sku_id'], $num, $info['total_num'], $w['total_num'], $name, $desc);
  113. }
  114. }
  115. Dever::db('agent/member_goods')->update(array('where_id' => $v['id'], 'state' => 2));
  116. $name = $v['name'] ? $v['name'] : Dever::load("agent/lib/manage.getGoods#name", $v['type'], $v['type_id'], $v['sku_id']);
  117. Dever::load('agent/lib/member_set')->log($v['mid'], '', $v['type'], $v['type_id'], $v['sku_id'], -1*$v['num'], $v['num'], 0, $name, '[系统删除]');
  118. }
  119. }
  120. }
  121. return 'ok';
  122. }
  123. # 取消代理区域
  124. public function area_api()
  125. {
  126. Dever::load('manage/auth.init');
  127. return;
  128. $test = Dever::input('test');
  129. $mobile = '18530054871,16605286862,18603236913,18267572300,17339190899,13302105400,15392667687,15535102666,13070153282,15311806333,18562581185,13733182976,13903405064,13593186699,15835600655,13474801073,13968955672,13269293070,19905895812,18758763808,13587727119,13732008755,18833970950,15258885602,13653566218,18233577755,18103359826,13127066008,15311620979,13930976511,13345678902,15940583331,13039838326,17390633673,13701363729,15863077599,13906483281,18311405976,15686412913,15810225848,13693396201,13182546876,18612793519,18614233834,13521993918,18513595858,13522952687,15699998313,13901300871,13552581319,18611800266,13925311308,13761550119,18611413455,18911648247,18920105885,18303130831,18653382233,18896315717,18635500023,18147163713,18653393378,15381751155,18329008565,13398689683,13520576733,13811440645,18324207877,18267887877,15383860716,13903556488,18071026836,13910975422,18510243728,13698667092,15600283143,13601287566,13381052675,13691483981,13935550019,18653248558,13311108964,18535588333,17703641798,19832665255,13654500007,13835634365,18730869116,15101189418,13404729300,17543809562,13701031362,15110027725,18618339730,18911552718,13911004319,18663921509,13501101775,13522819239,13701292198,15048416210';
  130. $mobile = explode(',', $mobile);
  131. foreach ($mobile as $k => $v) {
  132. $member = Dever::db('agent/member')->find(array('mobile' => $v));
  133. if ($member && $member['area']) {
  134. Dever::db('agent/member')->update(array('where_id' => $member['id'], 'set_area' => 'null'));
  135. $area = Dever::db('agent/member_area')->find(array('mid' => $member['id'], 'area' => $member['area']));
  136. if ($area) {
  137. $role = Dever::db('setting/role')->find($member['role']);
  138. if ($role['type'] == 2) {
  139. Dever::db('agent/member_area')->update(array('where_id' => $area['id'], 'state' => 2));
  140. if ($role['area'] == 2) {
  141. # 区县
  142. $area['area'] = explode(',', $area['area']);
  143. if (isset($area['area'][2])) {
  144. $info = Dever::db('area/county')->find($area['area'][2]);
  145. if ($info) {
  146. Dever::db('area/county')->update(array('where_id' => $info['id'], 'status' => 1));
  147. }
  148. }
  149. } elseif ($role['area'] == 3) {
  150. # 街道
  151. $area['area'] = explode(',', $area['area']);
  152. if (isset($area['area'][3])) {
  153. $info = Dever::db('area/town')->find($area['area'][3]);
  154. if ($info) {
  155. Dever::db('area/town')->update(array('where_id' => $info['id'], 'status' => 1));
  156. }
  157. }
  158. }
  159. }
  160. }
  161. }
  162. }
  163. return 'ok';
  164. }
  165. # 清理已经发放的礼品卡
  166. public function delcard_api()
  167. {
  168. Dever::load('manage/auth.init');
  169. return;
  170. $mobile = '18686032888,13505877257,15389816039,18963514040,13701398869,13995284681,18035269709,15906403868,13819150072,13707879708,15010031036,13426388637,18010413226,15903121007,13806542331,13121372131,18978913842,13314784666,15968782828,15306356510,18932836531,13858571516,17301053918,13513082066,13501208132,19548950377,13757703050,13706775618,13604704911,13480478948,18048392626,18730903308,15930256609,18042108978,13261761736,15988701547,19910329911,15712843384,13206630972,16619866672,13651396081,13121187907,13501125380,13311001230,18123659695,15705797947,13977049319,13833954079,18351721593,13703202291,13311361478,15867731102,13716237788,13331025856,18612741793,13337185814,17743596029,17367180051,13716024983,13674755670';
  171. $mobile = explode(',', $mobile);
  172. foreach ($mobile as $k => $v) {
  173. $member = Dever::db('agent/member')->find(array('mobile' => $v));
  174. if ($member) {
  175. $goods = Dever::db('agent/member_goods')->getAll(array('mid' => $member['id']));
  176. if ($goods) {
  177. foreach ($goods as $k1 => $v1) {
  178. if ($v1['type'] == 2 && $v1['sku_id'] > 0) {
  179. $code = Dever::db('card/code')->find($v1['sku_id']);
  180. if ($code) {
  181. Dever::db('card/code')->update(array('where_id' => $code['id'], 'state' => 2));
  182. Dever::db('agent/member_goods')->update(array('where_id' => $v1['id'], 'state' => 2));
  183. $name = $v1['name'] ? $v1['name'] : Dever::load("agent/lib/manage.getGoods#name", $v1['type'], $v1['type_id'], $v1['sku_id']);
  184. Dever::load('agent/lib/member_set')->log($v1['mid'], '', $v1['type'], $v1['type_id'], $v1['sku_id'], -1*$v1['num'], $v1['num'], 0, $name, '[系统删除]');
  185. }
  186. }
  187. }
  188. }
  189. }
  190. }
  191. return 'ok';
  192. }
  193. # 发放礼品卡 从客满云来的
  194. public function pushcard_api()
  195. {
  196. Dever::load('manage/auth.init');
  197. return;
  198. $mobile = '13896716319|396.5,13354896599|799,13896714411|799,13964467368|799,17857041943|799,13904713949|799,13948128992|799,15023905779|711.3,15831605511|799,15924411773|799,13384713795|799,18696719568|456.6,13609468556|514.2,13996764705|136.54,13057922789|2214,13626430903|799,13811412976|799,17311333929|799,18280086198|264.4,17358503715|273.2,13606755900|799,18368852657|799,13853387568|32.9,17702360918|458.74,13998415597|799,15925878191|799,18053357079|799,17369603422|799,15542344331|799,13644277557|799,18523625865|373.2,15661053408|799,13801381206|799,13309866562|799,18642899311|676,13478542548|809,13308259951|799,18004285088|799,13132353939|979.9,13250885707|799,13904281296|799,13132363123|7.78,15810156842|376.3,13996753098|1287.54,13656522922|799,13309841160|799,13621243273|448.6,13008063508|344,13387871873|730.7,15524845373|799,15542414113|799,13245473269|560.5,13816374828|799,13001739273|698.3,13607801107|1598,13817487679|799,15734111277|799,15524652835|799,13661664667|799,13939292227|799,13581983958|799,13918552843|799,13071197982|203.1,13848118039|1,13644241151|799,13812853977|76.3,18862460056|13.4,13913660726|41.4,15851602369|10.4,18540345578|14.9,13644968293|200,15940848432|806.1,15391122046|201.7,13426388637|1000,16726766313|30.6,13591777189|8.6,18751168759|200,13801569738|200,13889676999|400,13591103339|200,13352291520|200,13050576828|6.8,13478755955|0.4,13327128187|0.6,17704881758|1207.8,13962250709|135.3,18247161616|26.34,15397618175|2.7,19804717968|456.3,15734189938|500,15158761331|10,15928573979|2.3,18614289414|100.8,15393565789|112.8,17703451471|174.94,13587632081|200,13084728781|2000,18104856142|98';
  199. //$mobile = '15098236683|100.3,15098236682|220.4,15098236681|33';
  200. $mobile = explode(',', $mobile);
  201. $yes = array();
  202. $error = array();
  203. $no = array();
  204. $card_id = Dever::input('card', 8);
  205. $total = 1;
  206. $desc = '新增权益';
  207. foreach ($mobile as $k => $v) {
  208. $temp = explode('|', $v);
  209. $v = $temp[0];
  210. $cash = $temp[1];
  211. $member = Dever::db('agent/member')->find(array('mobile' => $v));
  212. if ($member) {
  213. $yes[] = $v;
  214. $mid = $member['id'];
  215. $goods = Dever::db('agent/member_goods')->find(array('mid' => $member['id'], 'type' => 2, 'type_id' => $card_id));
  216. if (!$goods) {
  217. $w = array();
  218. $w['type'] = 2;
  219. $w['type_id'] = $card_id;
  220. $w['sku_id'] = -1;
  221. $w['mid'] = $mid;
  222. $w['clear'] = true;
  223. # 体验卡
  224. $card = Dever::db('card/info')->find($card_id);
  225. if (!$card) {
  226. $error[] = $v;
  227. continue;
  228. }
  229. $name = $card['name'];
  230. $w['sku_id'] = Dever::load('card/lib/code')->create($card, 2, $mid, -1, $cash);
  231. if (!$w['sku_id']) {
  232. $error[] = $v;
  233. continue;
  234. }
  235. $info = Dever::db('agent/member_goods')->one($w);
  236. $w['total_num'] = $total;
  237. $w['cash'] = $cash;
  238. $w['price'] = $cash;
  239. $w['name'] = $name;
  240. if (!$info) {
  241. $state = Dever::db('agent/member_goods')->insert($w);
  242. if ($state) {
  243. Dever::load('agent/lib/member_set')->log($w['mid'], '', $w['type'], $w['type_id'], $w['sku_id'], $total, 0, $w['total_num'], $name, $desc);
  244. }
  245. } else {
  246. $w['total_num'] += $info['sell_num'];
  247. $w['where_id'] = $info['id'];
  248. $w['state'] = 1;
  249. $state = Dever::db('agent/member_goods')->update($w);
  250. $num = $w['total_num']-$info['total_num'];
  251. if ($state && $num != 0) {
  252. Dever::load('agent/lib/member_set')->log($w['mid'], '', $w['type'], $w['type_id'], $w['sku_id'], $num, $info['total_num'], $w['total_num'], $name, $desc);
  253. }
  254. }
  255. }
  256. } else {
  257. $no[] = $v;
  258. }
  259. }
  260. return array($yes, $error, $no);
  261. }
  262. # 发放礼品卡,从旧系统来的
  263. public function pushcard_old_api()
  264. {
  265. Dever::config('base')->hook = true;
  266. include('/data/dm/container/share/lib/php/dever_package/excel/src/PHPExcel.php');
  267. $file = '/data/www/churen/data/oldcard.xlsx';
  268. $num = Dever::input('num', 0);
  269. $data = Dever::excelImport($file, $num, 5, 'excel');
  270. if ($data) {
  271. if ($num <= 1) {
  272. foreach ($data as $k => $v) {
  273. if ($k > 0 && isset($v['B']) && $v['B'] && is_numeric($v['B'])) {
  274. $mobile = $v['B'];
  275. $member = Dever::db('agent/member')->find(array('mobile' => $mobile));
  276. if ($member) {
  277. $type_id = $v['D'];
  278. if ($type_id) {
  279. $type = 1;
  280. } else {
  281. $type = 2;
  282. }
  283. $name = $v['C'];
  284. $time = Dever::maketime($v['E']);
  285. $this->createGoods($member, 1, $type, $type_id, -1, $time, $name);
  286. }
  287. }
  288. }
  289. }
  290. if ($num == 2) {
  291. foreach ($data as $k => $v) {
  292. if ($k > 0 && isset($v['A']) && $v['A'] && is_numeric($v['A'])) {
  293. $mobile = $v['A'];
  294. $member = Dever::db('agent/member')->find(array('mobile' => $mobile));
  295. if ($member) {
  296. $type = 2;
  297. $type_id = 2;
  298. $name = '199面值';
  299. $price = $v['E'];
  300. $time = Dever::maketime($v['C']);
  301. $this->createGoods($member, 1, $type, $type_id, -1, $time, $name, $price);
  302. }
  303. }
  304. }
  305. }
  306. if ($num == 3) {
  307. foreach ($data as $k => $v) {
  308. if ($k > 0 && isset($v['B']) && $v['B'] && is_numeric($v['B'])) {
  309. $mobile = $v['B'];
  310. $member = Dever::db('agent/member')->find(array('mobile' => $mobile));
  311. if ($member) {
  312. $type = 2;
  313. $type_id = 4;
  314. $name = '1299面值';
  315. $price = $v['D'];
  316. $time = Dever::maketime($v['E']);
  317. $this->createGoods($member, 1, $type, $type_id, -1, $time, $name, $price);
  318. }
  319. }
  320. }
  321. }
  322. }
  323. return 'ok';
  324. }
  325. # 生成权益
  326. private function createGoods($member, $num, $type, $type_id, $sku_id, $time = '', $name = '', $set_pirce = 0)
  327. {
  328. # 生成新的权益
  329. $desc = '发放权益';
  330. $mid = $member['id'];
  331. $total = $num;
  332. $w = array();
  333. $w['type'] = $type;
  334. if ($type == 2) {
  335. if ($name == '厨人易料菜品通用卡(799面值)') {
  336. $type_id = 3;
  337. }
  338. if ($name == '厨人易料菜品通用卡(999面值)') {
  339. $type_id = 7;
  340. }
  341. if ($name == '199面值') {
  342. $type_id = 2;
  343. }
  344. if ($name == '1299面值') {
  345. $type_id = 4;
  346. }
  347. }
  348. $w['type_id'] = $type_id;
  349. $w['sku_id'] = $sku_id;
  350. $w['mid'] = $mid;
  351. $w['clear'] = true;
  352. $cash = $price = 0;
  353. if ($type == 1) {
  354. $goods_info = Dever::load('goods/lib/info')->getInfoBySku($w['type_id'], $w['sku_id']);
  355. $price = $goods_info['price'];
  356. $cash = $goods_info['price'] * $total;
  357. if (isset($goods_info['sku'])) {
  358. $sku = '-' . $goods_info['sku']['string'];
  359. } else {
  360. $sku = '';
  361. }
  362. $name = $goods_info['name'] . $sku;
  363. } elseif ($type == 2) {
  364. # 体验卡
  365. $card = Dever::db('card/info')->find($w['type_id']);
  366. if (!$card) {
  367. return;
  368. }
  369. if ($set_pirce > 0) {
  370. $card['value'] = $set_pirce;
  371. }
  372. $name = $card['name'];
  373. if ($card['create_type'] == 2) {
  374. $cash = $price = $card['value'] * $total;
  375. $total = 1;
  376. $w['sku_id'] = Dever::load('card/lib/code')->create($card, 2, $mid, -1, $cash, $time);
  377. if (!$w['sku_id']) {
  378. return;
  379. }
  380. } else {
  381. $cash = $price = $card['value'];
  382. for($i=0; $i<$total;$i++) {
  383. $w['sku_id'] = Dever::load('card/lib/code')->create($card, 2, $mid, -1, $cash, $time);
  384. if ($w['sku_id']) {
  385. $w['total_num'] = 1;
  386. $w['cash'] = $cash;
  387. $w['price'] = $price;
  388. $w['name'] = $name;
  389. $w['cdate'] = $time;
  390. $state = Dever::db('agent/member_goods')->insert($w);
  391. if ($state) {
  392. Dever::load('agent/lib/member_set')->log($w['mid'], '', $w['type'], $w['type_id'], $w['sku_id'], 1, 0, 1, $name, $desc);
  393. }
  394. }
  395. }
  396. return;
  397. }
  398. } elseif ($type == 3) {
  399. $prize = Dever::db('setting/prize')->find($w['type_id']);
  400. $price = $prize['price'];
  401. $cash = $prize['price'] * $total;
  402. $name = $prize['name'];
  403. }
  404. $info = Dever::db('agent/member_goods')->one($w);
  405. $w['total_num'] = $total;
  406. $w['cash'] = $cash;
  407. $w['price'] = $price;
  408. $w['name'] = $name;
  409. $w['cdate'] = $time;
  410. if (!$info) {
  411. $state = Dever::db('agent/member_goods')->insert($w);
  412. if ($state) {
  413. Dever::load('agent/lib/member_set')->log($w['mid'], '', $w['type'], $w['type_id'], $w['sku_id'], $total, 0, $w['total_num'], $name, $desc);
  414. }
  415. } else {
  416. $w['total_num'] += $info['total_num'];
  417. $w['where_id'] = $info['id'];
  418. $w['state'] = 1;
  419. $state = Dever::db('agent/member_goods')->update($w);
  420. $num = $w['total_num']-$info['total_num'];
  421. if ($state && $num != 0) {
  422. Dever::load('agent/lib/member_set')->log($w['mid'], '', $w['type'], $w['type_id'], $w['sku_id'], $num, $info['total_num'], $w['total_num'], $name, $desc);
  423. }
  424. }
  425. }
  426. # 更新合同内容
  427. public function agreement_up_api()
  428. {
  429. $where['agreement_id'] = Dever::input('agreement_id', 6);
  430. $data = Dever::db('agent/member_agreement')->select($where);
  431. $test = Dever::input('test');
  432. if ($data) {
  433. if ($test == 1) {
  434. print_r($data);die;
  435. }
  436. }
  437. //Dever::load('agent/agreement')->upContent();
  438. }
  439. }