xhActiveTicketClassService.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <?php
  2. namespace common\services;
  3. use Yii;
  4. use common\components\dict;
  5. use common\models\xhActiveTicketClass;
  6. class xhActiveTicketClassService {
  7. /*public static function add($data)
  8. {
  9. $return = xhActiveTicketClass::add($data);
  10. return $return;
  11. }
  12. public static function getById($id)
  13. {
  14. $cacheKey = dict::getCacheKey('xhActiveTicketClass').$id;
  15. $ticket = Yii::$app->redis->executeCommand('HGETALL', [$cacheKey]);
  16. if(!empty($ticket)){
  17. $arr = [];
  18. $i = 0;
  19. $x = 0;
  20. foreach($ticket as $key => $val){
  21. $i++;
  22. if($i%2 == 0){
  23. $arr[$x]['value'] = $val;
  24. $x++;
  25. }else{
  26. $arr[$x]['key'] = $val;
  27. }
  28. }
  29. $ticketArr = [];
  30. foreach($arr as $key => $val){
  31. $ticketArr[$val['key']] = $val['value'];
  32. }
  33. unset($ticketArr['info_already_get_by_sql']);
  34. return $ticketArr;
  35. }
  36. $ticket = xhActiveTicketClass::find()->where(['id' => $id])->asArray()->one();
  37. if(empty($ticket)){
  38. return [];
  39. }
  40. $params = [$cacheKey];
  41. $params[] = 'info_already_get_by_sql';
  42. $params[] = 'ok';//redis没有办法设置带空值的键,加此可以数据空时表示取过
  43. foreach($ticket as $key => $val){
  44. $params[] = $key;
  45. $params[] = $val;
  46. }
  47. Yii::$app->redis->executeCommand('HMSET',$params);
  48. return $ticket;
  49. }*/
  50. public static function add($data)
  51. {
  52. $data = xhActiveTicketClass::add($data, true);
  53. //存入缓存
  54. baseService::setCacheByData($data, 'xhActiveTicketClass', '', Yii::$app->params['oneDayExpireTime']);
  55. return $data;
  56. }
  57. /**
  58. * 通过ID获取数据
  59. * @param $id
  60. * @return bool
  61. */
  62. public static function getById($id)
  63. {
  64. $preKey = dict::getCacheKey('xhActiveTicketClass');
  65. $cacheKey = $preKey.$id;
  66. $cacheData = baseService::getCache($cacheKey);
  67. if(empty($cacheData)){
  68. $data = baseService::setCacheById($id, 'xhActiveTicketClass', $cacheKey, Yii::$app->params['oneDayExpireTime']);
  69. if($data === false){
  70. return false;
  71. }
  72. return $data;
  73. }
  74. return $cacheData;
  75. }
  76. public static function updateById($id, $data)
  77. {
  78. $data['id'] = $id;
  79. $re = xhActiveTicketClass::updateById($id, $data);
  80. $reData = $re['data'];
  81. baseService::setCacheByData($reData, 'xhActiveTicketClass');
  82. return $re;
  83. }
  84. }