JGEmpolyerController.php 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254
  1. <?php
  2. /**
  3. * Created by north.Deng's MAC
  4. * User: north.Deng
  5. * Date: 2018/3/1
  6. * Time: 上午10:44
  7. * description :
  8. */
  9. class JgEmpolyerController extends JBaseController
  10. {
  11. public function actionRegister()
  12. {
  13. $store_id = Yii::app()->request->getParam('storeId','');
  14. if ($store_id == '') {
  15. CommonFn::requestAjax(false, 'store_id 错误', array());exit;
  16. }
  17. $isReg = Yii::app()->request->getParam('isReg',false);
  18. $user_id = Yii::app()->request->getParam('userId','');
  19. if (!CommonFn::isMongoId($user_id)) {
  20. CommonFn::requestAjax(false, 'user_id 错误', array());exit;
  21. }
  22. $c = new EMongoCriteria();
  23. $c->store_id('==',intval($store_id));
  24. $c->status('==',2);
  25. $store = Store::model()->find($c);
  26. if (empty($store)) {
  27. CommonFn::requestAjax(false, 'store_id 错误', array());exit;
  28. }
  29. if ($isReg) {
  30. $c = new EMongoCriteria();
  31. $c->user_id('==',new MongoId($user_id));
  32. $emp = JGEmploye::model()->find($c);
  33. if (empty($emp) ) {
  34. CommonFn::requestAjax(false, '未注册', array());exit;
  35. } else {
  36. CommonFn::requestAjax(false, '已注册', array());exit;
  37. }
  38. }
  39. $name = Yii::app()->request->getParam('userName','');
  40. $address1 = Yii::app()->request->getParam('address1','');
  41. $address2 = Yii::app()->request->getParam('address2','');
  42. $phone = Yii::app()->request->getParam('phone','');
  43. $work_type = Yii::app()->request->getParam('work_type','');
  44. $sex = Yii::app()->request->getParam('sex','');
  45. foreach ($work_type as &$value) {
  46. $value = intval($value);
  47. }
  48. sort($work_type);
  49. $skill = Yii::app()->request->getParam('skill','');
  50. foreach ($skill as &$value) {
  51. $value = intval($value);
  52. }
  53. sort($skill);
  54. $readme = Yii::app()->request->getParam('readme','');
  55. $emp = new JGEmploye();
  56. $emp->user_id = new MongoId($user_id);
  57. $emp->store_id = $store->store_id;
  58. $emp->name = $name;
  59. $emp->address = array($address1,$address2);
  60. $emp->phone = $phone;
  61. $emp->sex = intval($sex);
  62. $emp->work_type = $work_type;
  63. $emp->skill = $skill;
  64. $emp->readme = $readme;
  65. $emp->status = 0;
  66. $emp->reg_time = time();
  67. $emp->save();
  68. CommonFn::requestAjax(true, '注册成功', array());
  69. }
  70. public function actionInfo()
  71. {
  72. $user_id = Yii::app()->request->getParam('userId','');
  73. if (!CommonFn::isMongoId($user_id)) {
  74. CommonFn::requestAjax(false, 'user_id 错误', array());exit;
  75. }
  76. $c = new EMongoCriteria();
  77. $c->user_id('==',new MongoId($user_id));
  78. $emp = JGEmploye::model()->find($c);
  79. if (empty($emp)) {
  80. CommonFn::requestAjax(false, '查无此人', array());exit;
  81. } else {
  82. CommonFn::requestAjax(true, '成功', $emp);exit;
  83. }
  84. }
  85. public function actionIsEmp()
  86. {
  87. }
  88. public function actionEdit()
  89. {
  90. $id = Yii::app()->request->getParam('id','');
  91. $status = Yii::app()->request->getParam('status','');
  92. $name = Yii::app()->request->getParam('name','');
  93. $phone = Yii::app()->request->getParam('phone','');
  94. $cart_num = Yii::app()->request->getParam('cart_num','');
  95. $star = Yii::app()->request->getParam('star','');
  96. $readme = Yii::app()->request->getParam('readme','');
  97. $store_id = Yii::app()->request->getParam('store_id','');
  98. $desc = Yii::app()->request->getParam('desc','');
  99. $work_time_part = Yii::app()->request->getParam('work_time_part','');
  100. $birth_time = intval(Yii::app()->request->getParam('birth_time',''));
  101. $work_time = intval(Yii::app()->request->getParam('work_time',''));
  102. $address1 = Yii::app()->request->getParam('address1','');
  103. $address2 = Yii::app()->request->getParam('address2','');
  104. $skills = Yii::app()->request->getParam('skill');
  105. $work_types = Yii::app()->request->getParam('work_types');
  106. foreach ($work_types as &$value) {
  107. $value = intval($value);
  108. }
  109. sort($work_types);
  110. foreach ($skills as &$value) {
  111. $value = intval($value);
  112. }
  113. sort($skills);
  114. if (intval($star) > 5) {
  115. CommonFn::requestAjax(false,'星级评定最大为5星');exit;
  116. }
  117. if (!CommonFn::isMongoId($id)) {
  118. CommonFn::requestAjax(false,'id错误');exit;
  119. }
  120. $flag = function () use ($store_id){
  121. $criteria = new EMongoCriteria();
  122. $criteria->store_id('==',intval($store_id));
  123. $store = Store::model()->find($criteria);
  124. if (empty($store)) {
  125. return true;
  126. } else {
  127. return false;
  128. }
  129. };
  130. if ($flag()) {
  131. CommonFn::requestAjax(false,'门店不存在');exit;
  132. }
  133. $employe = JGEmploye::get(new MongoId($id));
  134. if (!empty($status)) {
  135. $employe->status = intval($status);
  136. }
  137. if (!empty($name)) {
  138. $employe->name = $name;
  139. }
  140. if (!empty($phone)) {
  141. $employe->phone = $phone;
  142. }
  143. if (!empty($cart_num)) {
  144. $employe->cart_num = $cart_num;
  145. }
  146. if (!empty($store_id)) {
  147. $employe->store_id = intval($store_id);
  148. }
  149. if (!empty($star)) {
  150. $employe->star = intval($star);
  151. }
  152. if (!empty($readme)) {
  153. $employe->readme = $readme;
  154. }
  155. if (!empty($birth_time)) {
  156. $employe->birth_time = $birth_time;
  157. }
  158. if (!empty($work_time)) {
  159. $employe->work_time = $work_time;
  160. }
  161. if (!empty($address1) ) {
  162. $employe->address[0] = $address1;
  163. }
  164. if (!empty($address2) ) {
  165. $employe->address[1] = $address2;
  166. }
  167. if (!empty($work_time_part) ) {
  168. $employe->work_time_part = json_decode($work_time_part,true);
  169. }
  170. if (!empty($skills) ) {
  171. $employe->skill = $skills;
  172. }
  173. if (!empty($work_types) ) {
  174. $employe->work_type = $work_types;
  175. }
  176. if (!empty($desc) ) {
  177. $employe->desc = $desc;
  178. }
  179. $employe->save();
  180. CommonFn::requestAjax(true,'保存成功');exit;
  181. }
  182. public function actionList()
  183. {
  184. $store_id = Yii::app()->request->getParam('storeId','');
  185. $work_time = Yii::app()->request->getParam('work_time','');
  186. $work_type = intval(Yii::app()->request->getParam('work_type',''));
  187. $skill = intval(Yii::app()->request->getParam('skill',''));
  188. $work_time_part = json_decode(Yii::app()->request->getParam('work_time_part',''),true);
  189. if ($store_id == '') {
  190. CommonFn::requestAjax(false, 'store_id 错误', array());exit;
  191. }
  192. $search = Yii::app()->request->getParam('search', '');
  193. $user_id = Yii::app()->request->getParam('userId','');
  194. if (!CommonFn::isMongoId($user_id)) {
  195. CommonFn::requestAjax(false, 'user_id 错误', array());exit;
  196. }
  197. $pageParams = CommonFn::getPageParams();
  198. $status = intval(Yii::app()->request->getParam('status', 100));
  199. $criteria = new EMongoCriteria($pageParams);
  200. $criteria->store_id('==',intval($store_id));
  201. if ($status != 100 ) {
  202. $criteria->status('==',$status);
  203. }
  204. if ($search != '' && !CommonFn::isMongoId($search)){
  205. $criteria->addCond('name','or', new MongoRegex('/' . $search . '/'));
  206. $criteria->addCond('phone','or', new MongoRegex('/' . $search . '/'));
  207. }
  208. if (!empty($work_type)) {
  209. $criteria->work_type('==',$work_type);
  210. }
  211. if (!empty($skill)) {
  212. $criteria->skill('==',$skill);
  213. }
  214. if ($work_time != '') {
  215. $criteria->work_time('<=',intval($work_time));
  216. }
  217. $criteria->sort('socre',EMongoCriteria::SORT_DESC);
  218. $cursor = JGEmploye::model()->findAll($criteria);
  219. $rows = CommonFn::getRowsFromCursor($cursor);
  220. $parsedRows = JGEmploye::model()->parse($rows);
  221. $total = $cursor->count();
  222. if (!empty($work_time_part)) {
  223. $data = array();
  224. foreach ($parsedRows as $value) {
  225. if (is_array($value['work_time_part'])) {
  226. $tmp = $value['work_time_part'];
  227. for ($i=0;$i<count($tmp);$i++) {
  228. $v = $tmp[$i];
  229. if ($v['start'] <= $work_time_part['start'] && $v['end'] >= $work_time_part['end']) {
  230. $data[] = $value;break;
  231. }
  232. }
  233. }
  234. }
  235. $total = count($data);
  236. echo CommonFn::composeDatagridData($data, $total);exit;
  237. }
  238. echo CommonFn::composeDatagridData($parsedRows, $total);
  239. }
  240. }