Verify.php 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com
  8. * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
  9. * 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
  10. * =========================================================
  11. */
  12. namespace app\shopapi\controller;
  13. use app\model\member\Member;
  14. use app\model\verify\Verifier;
  15. use app\model\verify\Verify as VerifyModel;
  16. /**
  17. * 核销
  18. * Class Verify
  19. * @package app\shop\controller
  20. */
  21. class Verify extends BaseApi
  22. {
  23. public function __construct()
  24. {
  25. //执行父类构造函数
  26. parent::__construct();
  27. $token = $this->checkToken();
  28. if ($token[ 'code' ] < 0) {
  29. echo $this->response($token);
  30. exit;
  31. }
  32. }
  33. /**
  34. * 核销记录
  35. * @return mixed
  36. */
  37. public function records()
  38. {
  39. $verify_model = new VerifyModel();
  40. $page = isset($this->params[ 'page' ]) ? $this->params[ 'page' ] : 1;
  41. $page_size = isset($this->params[ 'page_size' ]) ? $this->params[ 'page_size' ] : PAGE_LIST_ROWS;
  42. $order = isset($this->params[ 'order' ]) ? $this->params[ 'order' ] : 'create_time desc';
  43. $verify_type = isset($this->params[ 'verify_type' ]) ? $this->params[ 'verify_type' ] : '';//验证类型
  44. $verify_code = isset($this->params[ 'verify_code' ]) ? $this->params[ 'verify_code' ] : '';//验证码
  45. $verifier_name = isset($this->params[ 'verifier_name' ]) ? $this->params[ 'verifier_name' ] : '';
  46. $start_time = isset($this->params[ 'start_time' ]) ? $this->params[ 'start_time' ] : '';
  47. $end_time = isset($this->params[ 'end_time' ]) ? $this->params[ 'end_time' ] : '';
  48. $condition = [
  49. [ 'site_id', "=", $this->site_id ],
  50. [ 'is_verify', '=', 1 ]
  51. ];
  52. if (!empty($verify_type)) {
  53. $condition[] = [ "verify_type", "=", $verify_type ];
  54. }
  55. if (!empty($verify_code)) {
  56. $condition[] = [ "verify_code", 'like', '%' . $verify_code . '%' ];
  57. }
  58. if (!empty($verifier_name)) {
  59. $condition[] = [ 'verifier_name', 'like', '%' . $verifier_name . '%' ];
  60. }
  61. if (!empty($start_time) && empty($end_time)) {
  62. $condition[] = [ 'create_time', '>=', date_to_time($start_time) ];
  63. } elseif (empty($start_time) && !empty($end_time)) {
  64. $condition[] = [ "create_time", "<=", date_to_time($end_time) ];
  65. } elseif (!empty($start_time) && !empty($end_time)) {
  66. $condition[] = [ 'create_time', 'between', [ date_to_time($start_time), date_to_time($end_time) ] ];
  67. }
  68. $list = $verify_model->getVerifyPageList($condition, $page, $page_size, $order, $field = 'id, verify_code, verify_type, verify_type_name, verify_content_json, verifier_id, verifier_name, is_verify, create_time, verify_time');
  69. return $this->response($list);
  70. }
  71. /**
  72. * 核销类型
  73. * @return false|string
  74. */
  75. public function verifyType()
  76. {
  77. $verify_model = new VerifyModel();
  78. $verify_type = $verify_model->getVerifyType();
  79. return $this->response($this->success($verify_type));
  80. }
  81. /**
  82. * 核销信息
  83. */
  84. public function verifyInfo()
  85. {
  86. $id = isset($this->params[ 'id' ]) ? $this->params[ 'id' ] : '';
  87. $verify_model = new VerifyModel();
  88. $info = $verify_model->getVerifyInfo([ [ 'id', '=', $id ], [ 'site_id', '=', $this->site_id ] ]);
  89. return $this->response($info);
  90. }
  91. /**
  92. * 核销台
  93. * @return mixed
  94. */
  95. public function verifyCard()
  96. {
  97. $verify_code = isset($this->params[ 'verify_code' ]) ? $this->params[ 'verify_code' ] : '';
  98. $verify_model = new VerifyModel();
  99. $res = $verify_model->getVerifyInfo([ [ "verify_code", "=", $verify_code ], [ "site_id", "=", $this->site_id ] ]);
  100. return $this->response($res);
  101. }
  102. /**
  103. * 核销人员
  104. * @return mixed
  105. */
  106. public function user()
  107. {
  108. $verifier = new Verifier();
  109. $page = isset($this->params[ 'page' ]) ? $this->params[ 'page' ] : 1;
  110. $page_size = isset($this->params[ 'page_size' ]) ? $this->params[ 'page_size' ] : PAGE_LIST_ROWS;
  111. $order = isset($this->params[ 'order' ]) ? $this->params[ 'order' ] : 'v.create_time desc';
  112. $verifier_name = isset($this->params[ 'verifier_name' ]) ? $this->params[ 'verifier_name' ] : '';
  113. $condition = [];
  114. $condition[] = [ 'v.site_id', "=", $this->site_id ];
  115. if ($verifier_name) {
  116. $condition[] = [ 'v.verifier_name', '=', $verifier_name ];
  117. }
  118. $list = $verifier->getVerifierPageList($condition, $page, $page_size, $order);
  119. return $this->response($list);
  120. }
  121. /**
  122. * 添加核销人员
  123. * @return mixed
  124. */
  125. public function addUser()
  126. {
  127. $verifier_name = isset($this->params[ 'verifier_name' ]) ? $this->params[ 'verifier_name' ] : '';
  128. $member_id = isset($this->params[ 'member_id' ]) ? $this->params[ 'member_id' ] : 0;//会员账号
  129. $model = new Verifier();
  130. if ($member_id <= 0) {
  131. $model->error([], "EMPTY_BIND_MEMBER");
  132. }
  133. $uid = isset($this->params[ 'uid' ]) ? $this->params[ 'uid' ] : 0;//管理员账号
  134. $data = array ();
  135. $data[ 'site_id' ] = $this->site_id;
  136. $data[ 'create_time' ] = time();
  137. $data[ "verifier_name" ] = $verifier_name;
  138. $data[ "member_id" ] = $member_id;
  139. $data[ "uid" ] = $uid;
  140. $result = $model->addVerifier($data);
  141. return $this->response($result);
  142. }
  143. /**
  144. * 获取核销人员详情
  145. */
  146. public function verifyUSerInfo()
  147. {
  148. $model = new Verifier();
  149. $verifier_id = isset($this->params[ 'verifier_id' ]) ? $this->params[ 'verifier_id' ] : 0;
  150. //用户信息
  151. $condition = [
  152. [ "verifier_id", "=", $verifier_id ],
  153. [ "site_id", "=", $this->site_id ],
  154. ];
  155. $info_result = $model->getVerifierInfo($condition);
  156. $info = $info_result[ "data" ];
  157. $member_account = "";
  158. if (!empty($info[ "member_id" ])) {
  159. $member_model = new Member();
  160. $member_info_result = $member_model->getMemberInfo([ [ "member_id", "=", $info[ "member_id" ] ] ], "username");
  161. $member_info = $member_info_result[ "data" ];
  162. if (!empty($member_info)) {
  163. $member_account = $member_info[ "username" ];
  164. }
  165. }
  166. $info[ "member_account" ] = $member_account;
  167. return $this->response($this->success($info));
  168. }
  169. /**
  170. * 编辑核销人员
  171. * @return mixed
  172. */
  173. public function editUser()
  174. {
  175. $model = new Verifier();
  176. $verifier_id = isset($this->params[ 'verifier_id' ]) ? $this->params[ 'verifier_id' ] : 0;//核销员id
  177. $verifier_name = isset($this->params[ 'verifier_name' ]) ? $this->params[ 'verifier_name' ] : '';
  178. $member_id = isset($this->params[ 'member_id' ]) ? $this->params[ 'member_id' ] : '';//会员账号
  179. if ($member_id <= 0) {
  180. $model->error([], "EMPTY_BIND_MEMBER");
  181. }
  182. $data = [
  183. 'verifier_name' => $verifier_name,
  184. 'modify_time' => time(),
  185. ];
  186. $data[ "member_id" ] = $member_id;
  187. $data[ "uid" ] = 0;
  188. $condition = array (
  189. [ 'verifier_id', '=', $verifier_id ],
  190. [ 'site_id', '=', $this->site_id ],
  191. );
  192. $result = $model->editVerifier($data, $condition);
  193. return $this->response($result);
  194. }
  195. /**
  196. * 删除核销人员
  197. * @return mixed
  198. */
  199. public function deleteUser()
  200. {
  201. $verifier = new Verifier();
  202. $verifier_id = isset($this->params[ 'ids' ]) ? $this->params[ 'ids' ] : '';
  203. $res = $verifier->deleteVerifier($verifier_id, $this->site_id);
  204. return $this->response($res);
  205. }
  206. /**
  207. * 核销
  208. */
  209. public function verify()
  210. {
  211. //先验证登录用户是否具备核销权限
  212. $info = array (
  213. "verifier_id" => $this->uid,
  214. "verifier_name" => $this->user_info[ 'username' ],
  215. "verify_from" => 'mobile',
  216. );
  217. $verify_code = isset($this->params[ 'verify_code' ]) ? $this->params[ 'verify_code' ] : '';
  218. $verify_model = new VerifyModel();
  219. $res = $verify_model->verify($info, $verify_code);
  220. return $this->response($res);
  221. }
  222. /**
  223. * 搜索会员
  224. * 不是菜单 不入权限
  225. */
  226. public function searchMember()
  227. {
  228. $search_text = isset($this->params[ 'search_text' ]) ? $this->params[ 'search_text' ] : '';
  229. $member_model = new Member();
  230. $member_info = $member_model->getMemberInfo([ [ 'username|mobile', '=', $search_text ] ]);
  231. return $this->response($member_info);
  232. }
  233. }