MZone.Class.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. <?php
  2. /**
  3. * 区块数据模型
  4. * Created by PhpStorm.
  5. * User: QianNiao-C
  6. * Date: 2019/10/25
  7. * Time: 11:35
  8. */
  9. namespace JinDouYun\Model\BlockManage;
  10. use Mall\Framework\Core\ErrorCode;
  11. use Mall\Framework\Core\ResultWrapper;
  12. use JinDouYun\Dao\BlockManage\DZone;
  13. class MZone
  14. {
  15. public $objDZone;
  16. public function __construct()
  17. {
  18. $this->objDZone = new DZone('default');
  19. }
  20. /**
  21. * 增加区块
  22. * @param $params
  23. * @return ResultWrapper
  24. */
  25. public function addZone($params)
  26. {
  27. $zoneId = $this->objDZone->insert($params);
  28. if ($zoneId === false) {
  29. return ResultWrapper::fail($this->objDZone->error(), ErrorCode::$dberror);
  30. }
  31. return ResultWrapper::success($zoneId);
  32. }
  33. /**
  34. * 区块启用和禁用
  35. * @param array $params
  36. * @return ResultWrapper
  37. */
  38. public function updateEnableStatus($params)
  39. {
  40. $dbResult = $this->objDZone->update(['enableStatus' => $params['enableStatus']], $params['id']);
  41. if ($dbResult === false) {
  42. return ResultWrapper::fail($this->objDZone->error(), ErrorCode::$dberror);
  43. }
  44. return ResultWrapper::success($dbResult);
  45. }
  46. /**
  47. * 获取指定区块信息
  48. * @param $id
  49. * @return ResultWrapper
  50. */
  51. public function getZoneInfoById($id)
  52. {
  53. $dbResult = $this->objDZone->get_by('id', $id);
  54. if ($dbResult === false) {
  55. return ResultWrapper::fail($this->objDZone->error(), ErrorCode::$dberror);
  56. }
  57. return ResultWrapper::success($dbResult);
  58. }
  59. /**
  60. * 编辑区块
  61. *
  62. * @param int|array $params 修改区块的信息
  63. *
  64. * @return ResultWrapper
  65. */
  66. public function editZone($params)
  67. {
  68. if (empty($params['id'])) {
  69. return ResultWrapper::fail('没有指定要修改的区块字段id', ErrorCode::$paramError);
  70. }
  71. $id = $params['id'];
  72. unset($params['id']);
  73. $dbResult = $this->objDZone->update($params, ['id' => $id]);
  74. if ($dbResult === false) {
  75. return ResultWrapper::fail($this->objDZone->error(), ErrorCode::$dberror);
  76. }
  77. return ResultWrapper::success($dbResult);
  78. }
  79. /**
  80. * 获取所有区块
  81. * @param $selectParams
  82. * @return ResultWrapper
  83. */
  84. public function getAllZone($selectParams)
  85. {
  86. $limit = $selectParams['limit'];
  87. unset($selectParams['limit']);
  88. $offset = $selectParams['offset'];
  89. unset($selectParams['offset']);
  90. $dbResult = $this->objDZone->select($selectParams, '*', 'sort DESC', $limit, $offset);
  91. if ($dbResult === false) {
  92. return ResultWrapper::fail($this->objDZone->error(), ErrorCode::$dberror);
  93. }
  94. $total = $this->objDZone->count($selectParams);
  95. $return = [
  96. 'data' => self::format($dbResult),
  97. 'total' => ($total) ? intval($total) : 0,
  98. ];
  99. return ResultWrapper::success($return);
  100. }
  101. /**
  102. * 格式化返回数据
  103. * @param $data
  104. * @return array
  105. */
  106. private function format($data)
  107. {
  108. foreach ($data as &$v) {
  109. if (isset($v['zoneData'])) {
  110. $v['zoneData'] = json_decode($v['zoneData'], true);
  111. }
  112. }
  113. return $data;
  114. }
  115. }