VerifierService.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | Niucloud-admin 企业快速开发的saas管理平台
  4. // +----------------------------------------------------------------------
  5. // | 官方网址:https://www.niucloud.com
  6. // +----------------------------------------------------------------------
  7. // | niucloud团队 版权所有 开源版本可自由商用
  8. // +----------------------------------------------------------------------
  9. // | Author: Niucloud Team
  10. // +----------------------------------------------------------------------
  11. namespace app\service\admin\verify;
  12. use app\dict\verify\VerifyDict;
  13. use app\model\member\Member;
  14. use app\model\verify\Verifier;
  15. use app\service\core\shop\CoreShopMemberService;
  16. use core\base\BaseAdminService;
  17. use core\exception\CommonException;
  18. /**
  19. *
  20. * Class VerifyerService
  21. * @package app\service\admin\verify
  22. */
  23. class VerifierService extends BaseAdminService
  24. {
  25. public function __construct()
  26. {
  27. parent::__construct();
  28. $this->model = new Verifier();
  29. }
  30. /**
  31. * 获取核销员表列表
  32. * @param array $where
  33. * @return array
  34. */
  35. public function getPage(array $where = [])
  36. {
  37. $search_model = $this->model->where([ ['site_id', '=', $this->site_id] ])->with(['member' => function($query){
  38. $query->field('member_id, nickname, mobile, headimg');
  39. }])->field('*')->order('create_time desc');
  40. return $this->pageQuery($search_model, function ($item, $key) {
  41. $item = $this->makeUp($item);
  42. });
  43. }
  44. /**
  45. * 获取核销员表列表
  46. * @param array $where
  47. * @return array
  48. */
  49. public function getList(array $where = [])
  50. {
  51. return $this->model->where([['site_id', '=', $this->site_id]])->with(['member' => function ($query) {
  52. $query->field('member_id, nickname, mobile, headimg');
  53. }])->field('*')->order('create_time desc')->select()->toArray();
  54. }
  55. /**
  56. * 组合整理数据
  57. * @param $data
  58. */
  59. public function makeUp($data){
  60. //核销类型
  61. if(!empty($data['verify_type'])){
  62. $type = VerifyDict::getType();
  63. $type_array = [];
  64. foreach ($data['verify_type'] as $key => $value) {
  65. if (array_key_exists($value, $type)) {
  66. $type_array[$key]['verify_type'] = $value;
  67. $type_array[$key]['verify_type_name'] = $type[$value]['name'];
  68. }
  69. }
  70. $data['verify_type_array'] = $type_array;
  71. }
  72. return $data;
  73. }
  74. /**
  75. * 添加核销员
  76. * @param array $data
  77. * @return mixed
  78. */
  79. public function add(array $data)
  80. {
  81. $member = (new Member())->where([ ['member_id', '=', $data['member_id'] ] ])->findOrEmpty();
  82. if ($member->isEmpty()) throw new CommonException('MEMBER_NOT_EXIST');
  83. (new CoreShopMemberService())->findShopMemberCreateIfcNotExist($this->site_id, $data['member_id']);
  84. $model = $this->model->where([ ['site_id', '=', $this->site_id], ['member_id', '=', $data['member_id'] ] ])->findOrEmpty();
  85. if (!$model->isEmpty()) return $model->id;
  86. $data['create_time'] = time();
  87. $data['site_id'] = $this->site_id;
  88. $res = $this->model->create($data);
  89. return $res->id;
  90. }
  91. /**
  92. * 删除核销员
  93. * @param int $id
  94. * @return bool
  95. */
  96. public function del(int $id)
  97. {
  98. $res = $this->model->where([['id', '=', $id], ['site_id', '=', $this->site_id]])->delete();
  99. return $res;
  100. }
  101. }