JGEmpolyerController.php 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260
  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. $data['id'] = $emp->_id;
  83. $data['score'] = $emp->score;
  84. $data['store_id'] = $emp->store_id;
  85. $sort = $emp->getSort($data);
  86. $emp->ranking = $sort;
  87. CommonFn::requestAjax(true, '成功', $emp);exit;
  88. }
  89. }
  90. public function actionIsEmp()
  91. {
  92. }
  93. public function actionEdit()
  94. {
  95. $id = Yii::app()->request->getParam('id','');
  96. $status = Yii::app()->request->getParam('status','');
  97. $name = Yii::app()->request->getParam('name','');
  98. $phone = Yii::app()->request->getParam('phone','');
  99. $cart_num = Yii::app()->request->getParam('cart_num','');
  100. $star = Yii::app()->request->getParam('star','');
  101. $readme = Yii::app()->request->getParam('readme','');
  102. $store_id = Yii::app()->request->getParam('store_id','');
  103. $desc = Yii::app()->request->getParam('desc','');
  104. $work_time_part = Yii::app()->request->getParam('work_time_part','');
  105. $birth_time = intval(Yii::app()->request->getParam('birth_time',''));
  106. $work_time = intval(Yii::app()->request->getParam('work_time',''));
  107. $address1 = Yii::app()->request->getParam('address1','');
  108. $address2 = Yii::app()->request->getParam('address2','');
  109. $skills = Yii::app()->request->getParam('skill');
  110. $work_types = Yii::app()->request->getParam('work_types');
  111. foreach ($work_types as &$value) {
  112. $value = intval($value);
  113. }
  114. sort($work_types);
  115. foreach ($skills as &$value) {
  116. $value = intval($value);
  117. }
  118. sort($skills);
  119. if (intval($star) > 5) {
  120. CommonFn::requestAjax(false,'星级评定最大为5星');exit;
  121. }
  122. if (!CommonFn::isMongoId($id)) {
  123. CommonFn::requestAjax(false,'id错误');exit;
  124. }
  125. $flag = function () use ($store_id){
  126. $criteria = new EMongoCriteria();
  127. $criteria->store_id('==',intval($store_id));
  128. $store = Store::model()->find($criteria);
  129. if (empty($store)) {
  130. return true;
  131. } else {
  132. return false;
  133. }
  134. };
  135. if ($flag()) {
  136. CommonFn::requestAjax(false,'门店不存在');exit;
  137. }
  138. $employe = JGEmploye::get(new MongoId($id));
  139. if (!empty($status)) {
  140. $employe->status = intval($status);
  141. }
  142. if (!empty($name)) {
  143. $employe->name = $name;
  144. }
  145. if (!empty($phone)) {
  146. $employe->phone = $phone;
  147. }
  148. if (!empty($cart_num)) {
  149. $employe->cart_num = $cart_num;
  150. }
  151. if (!empty($store_id)) {
  152. $employe->store_id = intval($store_id);
  153. }
  154. if (!empty($star)) {
  155. $employe->star = intval($star);
  156. }
  157. if (!empty($readme)) {
  158. $employe->readme = $readme;
  159. }
  160. if (!empty($birth_time)) {
  161. $employe->birth_time = $birth_time;
  162. }
  163. if (!empty($work_time)) {
  164. $employe->work_time = $work_time;
  165. }
  166. if (!empty($address1) ) {
  167. $employe->address[0] = $address1;
  168. }
  169. if (!empty($address2) ) {
  170. $employe->address[1] = $address2;
  171. }
  172. if (!empty($work_time_part) ) {
  173. $employe->work_time_part = json_decode($work_time_part,true);
  174. }
  175. if (!empty($skills) ) {
  176. $employe->skill = $skills;
  177. }
  178. if (!empty($work_types) ) {
  179. $employe->work_type = $work_types;
  180. }
  181. if (!empty($desc) ) {
  182. $employe->desc = $desc;
  183. }
  184. $employe->save();
  185. CommonFn::requestAjax(true,'保存成功');exit;
  186. }
  187. public function actionList()
  188. {
  189. $store_id = Yii::app()->request->getParam('storeId','');
  190. $work_time = Yii::app()->request->getParam('work_time','');
  191. $work_type = intval(Yii::app()->request->getParam('work_type',''));
  192. $skill = intval(Yii::app()->request->getParam('skill',''));
  193. $work_time_part = json_decode(Yii::app()->request->getParam('work_time_part',''),true);
  194. if ($store_id == '') {
  195. CommonFn::requestAjax(false, 'store_id 错误', array());exit;
  196. }
  197. $search = Yii::app()->request->getParam('search', '');
  198. $user_id = Yii::app()->request->getParam('userId','');
  199. if (!CommonFn::isMongoId($user_id)) {
  200. CommonFn::requestAjax(false, 'user_id 错误', array());exit;
  201. }
  202. $pageParams = CommonFn::getPageParams();
  203. $status = intval(Yii::app()->request->getParam('status', 100));
  204. $criteria = new EMongoCriteria($pageParams);
  205. $criteria->store_id('==',intval($store_id));
  206. if ($status != 100 ) {
  207. $criteria->status('==',$status);
  208. }
  209. if ($search != '' && !CommonFn::isMongoId($search)){
  210. $criteria->addCond('name','or', new MongoRegex('/' . $search . '/'));
  211. $criteria->addCond('phone','or', new MongoRegex('/' . $search . '/'));
  212. }
  213. if (!empty($work_type)) {
  214. $criteria->work_type('==',$work_type);
  215. }
  216. if (!empty($skill)) {
  217. $criteria->skill('==',$skill);
  218. }
  219. if ($work_time != '') {
  220. $criteria->work_time('<=',intval($work_time));
  221. }
  222. $criteria->sort('score',EMongoCriteria::SORT_DESC);
  223. $cursor = JGEmploye::model()->findAll($criteria);
  224. $rows = CommonFn::getRowsFromCursor($cursor);
  225. $parsedRows = JGEmploye::model()->parse($rows);
  226. $total = $cursor->count();
  227. if (!empty($work_time_part)) {
  228. $data = array();
  229. foreach ($parsedRows as $value) {
  230. if (is_array($value['work_time_part'])) {
  231. $tmp = $value['work_time_part'];
  232. for ($i=0;$i<count($tmp);$i++) {
  233. $v = $tmp[$i];
  234. if ($v['start'] <= $work_time_part['start'] && $v['end'] >= $work_time_part['end']) {
  235. $data[] = $value;break;
  236. }
  237. }
  238. }
  239. }
  240. $total = count($data);
  241. echo CommonFn::composeDatagridData($data, $total);exit;
  242. }
  243. echo CommonFn::composeDatagridData($parsedRows, $total);
  244. }
  245. }