WorkClass.php 3.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | Description: 项目下任务分类模型
  4. // +----------------------------------------------------------------------
  5. // | Author: yykun
  6. // +----------------------------------------------------------------------
  7. namespace app\work\model;
  8. use think\Db;
  9. use think\Model;
  10. use think\Request;
  11. class WorkClass extends Model
  12. {
  13. /**
  14. * 为了数据库的整洁,同时又不影响Model和Controller的名称
  15. * 我们约定每个模块的数据表都加上相同的前缀,比如微信模块用weixin作为数据表前缀
  16. */
  17. protected $name = 'work_task_class';
  18. protected $createTime = 'create_time';
  19. protected $updateTime = false;
  20. protected $autoWriteTimestamp = true;
  21. protected $insert = [
  22. 'status' => 1,
  23. ];
  24. /**
  25. * [getDataList 列表]
  26. * @AuthorHTL
  27. * @param [string] $map [查询条件]
  28. * @param [number] $page [当前页数]
  29. * @param [number] $limit [每页数量]
  30. * @return [array] [description]
  31. */
  32. public function getDataList($work_id='')
  33. {
  34. $map['status'] = 1;
  35. if ($work_id) {
  36. $map['work_id'] = $work_id;
  37. }
  38. $dataCount = $this->where($map)->count();
  39. $list = $this->where($map)->order('order_id asc')->field('class_id,name')->select();
  40. $data = [];
  41. $data['list'] = $list ? : [];
  42. $data['dataCount'] = $dataCount ? : 0;
  43. return $data;
  44. }
  45. /**
  46. * 创建
  47. * @author yykun
  48. * @param
  49. * @return
  50. */
  51. public function createData($param)
  52. {
  53. //获取最大order_id
  54. $max_order_id = $this->where(['work_id' => $param['work_id'],'status' => 1])->max('order_id');
  55. $this->startTrans();
  56. try {
  57. $data['create_time'] = time();
  58. $data['create_user_id'] = $param['create_user_id'];
  59. $data['name'] = $param['name'];
  60. $data['work_id'] = $param['work_id'];
  61. $data['status'] = 1;
  62. $data['order_id'] = $max_order_id ? $max_order_id+1 : 0;
  63. $this->insert($data);
  64. $this->commit();
  65. return true;
  66. } catch(\Exception $e) {
  67. $this->rollback();
  68. $this->error = '添加失败';
  69. return false;
  70. }
  71. }
  72. /**
  73. * 重命名
  74. * @author yykun
  75. * @param
  76. * @return
  77. */
  78. public function rename($param)
  79. {
  80. $map['class_id'] = $param['class_id'];
  81. $flag = $this->where($map)->update(['name' => $param['name']]);
  82. if (!$flag) {
  83. $this->error = '重命名失败';
  84. return false;
  85. }
  86. return true;
  87. }
  88. /**
  89. * 删除分类 该分类下所有任务删除
  90. * @author yykun
  91. * @param
  92. * @return
  93. */
  94. public function deleteById($param)
  95. {
  96. $map['class_id'] = $param['class_id'];
  97. $this->startTrans();
  98. try {
  99. $taskData = [];
  100. $taskData['ishidden'] = 1;
  101. $taskData['hidden_time'] = time();
  102. $flag = Db::name('Task')->where($map)->update($taskData);
  103. $ret = $this->where($map)->update(['status' => 0]);
  104. if ($ret) {
  105. $this->commit();
  106. return true;
  107. } else {
  108. $this->rollback();
  109. $this->error = '删除失败';
  110. return false;
  111. }
  112. } catch (\Exception $e) {
  113. $this->rollback();
  114. $this->error = '删除失败';
  115. return false;
  116. }
  117. }
  118. }