Memberevaluate.php 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. <?php
  2. namespace app\home\controller;
  3. use think\facade\View;
  4. use think\facade\Lang;
  5. use think\Model;
  6. /**
  7. * ============================================================================
  8. *
  9. * ============================================================================
  10. *
  11. * ----------------------------------------------------------------------------
  12. *
  13. * ============================================================================
  14. * 控制器
  15. */
  16. class Memberevaluate extends BaseMember
  17. {
  18. public function initialize()
  19. {
  20. parent::initialize();
  21. Lang::load(base_path() . 'home/lang/' . config('lang.default_lang') . '/memberevaluate.lang.php');
  22. }
  23. /**
  24. * 订单添加评价
  25. */
  26. public function add()
  27. {
  28. $order_id = intval(input('order_id'));
  29. if (!$order_id) {
  30. $this->error(lang('param_error'), 'member_order/index');
  31. }
  32. $return = model('memberevaluate', 'logic')->validation($order_id, $this->member_info['member_id']);
  33. if (isset($return['state'])) {
  34. ds_json_encode(10001, $return['msg']);
  35. }
  36. extract($return['data']);
  37. //判断是否为页面
  38. if (!request()->isPost()) {
  39. //处理积分、经验值计算说明文字
  40. $expset = rkcache('config', true);
  41. $ruleexplain = '';
  42. $exppoints_rule = $expset['expset'] ? unserialize($expset['expset']) : array();
  43. $exppoints_rule['exp_comments'] = intval($exppoints_rule['comment_exp']);
  44. if ($exppoints_rule['exp_comments'] > 0) {
  45. $ruleexplain .= lang('evaluation_completed_will_obtained');
  46. if ($exppoints_rule['exp_comments'] > 0) {
  47. $ruleexplain .= (' “' . $exppoints_rule['exp_comments'] . lang('experience_value'));
  48. }
  49. }
  50. View::assign('ruleexplain', $ruleexplain);
  51. //不显示左菜单
  52. View::assign('left_show', 'order_view');
  53. View::assign('order_id', $order_id);
  54. View::assign('order_info', $order_info);
  55. View::assign('order_goods', $order_goods);
  56. View::assign('store_info', $store_info);
  57. /* 设置买家当前菜单 */
  58. $this->setMemberCurMenu('member_evaluate');
  59. /* 设置买家当前栏目 */
  60. $this->setMemberCurItem('evaluate');
  61. return View::fetch($this->template_dir . 'evaluation_add');
  62. } else {
  63. //调用逻辑层方法,PC和手机端统一使用
  64. $return = model('memberevaluate', 'logic')->saveorderevaluate($order_info, $store_info, $order_goods, $this->member_info['member_id'], $this->member_info['member_name']);
  65. if ($return == true) {
  66. ds_json_encode(10000, lang('member_evaluation_evaluat_success'));
  67. } else {
  68. ds_json_encode(10001, lang('ds_common_save_fail'));
  69. }
  70. }
  71. }
  72. /**
  73. * 虚拟商品评价
  74. */
  75. public function add_vr()
  76. {
  77. $order_id = intval(input('param.order_id'));
  78. if (!$order_id) {
  79. ds_json_encode('10001', lang('param_error'));
  80. }
  81. $vrorder_model = model('vrorder');
  82. $store_model = model('store');
  83. $evaluategoods_model = model('evaluategoods');
  84. $return = model('memberevaluate', 'logic')->validationVr($order_id, $this->member_info['member_id']);
  85. if (isset($return['state'])) {
  86. ds_json_encode(10001, $return['msg']);
  87. }
  88. extract($return['data']);
  89. $order_goods = array($order_info);
  90. //判断是否为页面
  91. if (!request()->isPost()) {
  92. $order_goods[0]['goods_image_url'] = goods_cthumb($order_info['goods_image'], 240, $order_info['store_id']);
  93. //处理积分、经验值计算说明文字
  94. $ruleexplain = '';
  95. $exppoints_rule = config("ds_config.exppoints_rule") ? unserialize(config("ds_config.exppoints_rule")) : array();
  96. $exppoints_rule['exp_comments'] = intval($exppoints_rule['exp_comments']);
  97. $points_comments = intval(config('ds_config.points_comments'));
  98. if ($exppoints_rule['exp_comments'] > 0 || $points_comments > 0) {
  99. $ruleexplain .= lang('evaluation_completed_will_obtained');
  100. if ($exppoints_rule['exp_comments'] > 0) {
  101. $ruleexplain .= (' “' . $exppoints_rule['exp_comments'] . lang('experience_value'));
  102. }
  103. if ($points_comments > 0) {
  104. $ruleexplain .= (' “' . $points_comments . lang('integral'));
  105. }
  106. $ruleexplain .= '。';
  107. }
  108. View::assign('ruleexplain', $ruleexplain);
  109. //不显示左菜单
  110. View::assign('left_show', 'order_view');
  111. View::assign('order_info', $order_info);
  112. View::assign('order_goods', $order_goods);
  113. View::assign('store_info', $store_info);
  114. /* 设置买家当前菜单 */
  115. $this->setMemberCurMenu('member_evaluate');
  116. /* 设置买家当前栏目 */
  117. $this->setMemberCurItem('evaluate');
  118. return View::fetch($this->template_dir . 'evaluation_add');
  119. } else {
  120. //调用逻辑层方法,PC和手机端统一使用
  121. $return = model('memberevaluate', 'logic')->saveVr($order_info, $store_info, $order_goods, $this->member_info['member_id'], $this->member_info['member_name']);
  122. if (!$return['state']) {
  123. ds_json_encode(10000, lang('member_evaluation_evaluat_success'));
  124. } else {
  125. ds_json_encode(10001, lang('ds_common_save_fail'));
  126. }
  127. }
  128. }
  129. /**
  130. * 评价列表
  131. */
  132. public function index()
  133. {
  134. $evaluategoods_model = model('evaluategoods');
  135. $condition = array();
  136. $condition[] = array('geval_frommemberid', '=', session('member_id'));
  137. $goodsevallist = $evaluategoods_model->getEvaluategoodsList($condition, 5, 'geval_id desc');
  138. View::assign('goodsevallist', $goodsevallist);
  139. /* 设置买家当前菜单 */
  140. $this->setMemberCurMenu('member_evaluate');
  141. /* 设置买家当前栏目 */
  142. $this->setMemberCurItem('evaluate');
  143. View::assign('show_page', $evaluategoods_model->page_info->render());
  144. return View::fetch($this->template_dir . 'index');
  145. }
  146. public function add_image()
  147. {
  148. $geval_id = intval(input('geval_id'));
  149. $evaluategoods_model = model('evaluategoods');
  150. $store_model = model('store');
  151. $snsalumb_model = model('snsalbum');
  152. $geval_info = $evaluategoods_model->getEvaluategoodsInfoByID($geval_id);
  153. if (!empty($geval_info['geval_image'])) {
  154. $this->error(lang('goods_have_been_posted'));
  155. }
  156. if ($geval_info['geval_frommemberid'] != session('member_id')) {
  157. $this->error(lang('param_error'));
  158. }
  159. View::assign('geval_info', $geval_info);
  160. $store_info = $store_model->getStoreInfoByID($geval_info['geval_storeid']);
  161. View::assign('store_info', $store_info);
  162. $ac_id = $snsalumb_model->getSnsAlbumClassDefault(session('member_id'));
  163. View::assign('ac_id', $ac_id);
  164. /* 设置买家当前菜单 */
  165. $this->setMemberCurMenu('member_evaluate');
  166. /* 设置买家当前栏目 */
  167. $this->setMemberCurItem('evaluate');
  168. //不显示左菜单
  169. View::assign('left_show', 'order_view');
  170. return View::fetch($this->template_dir . 'add_image');
  171. }
  172. public function add_image_save()
  173. {
  174. $geval_id = intval(input('param.geval_id'));
  175. $geval_image = '';
  176. $evaluate_image_array = input('post.evaluate_image/a'); #获取数组
  177. foreach ($evaluate_image_array as $value) {
  178. if (!empty($value)) {
  179. $geval_image .= $value . ',';
  180. }
  181. }
  182. $geval_image = rtrim($geval_image, ',');
  183. $evaluategoods_model = model('evaluategoods');
  184. $geval_info = $evaluategoods_model->getEvaluategoodsInfoByID($geval_id);
  185. if (empty($geval_info)) {
  186. ds_json_encode(10001, lang('param_error'));
  187. }
  188. if ($geval_info['geval_frommemberid'] != session('member_id')) {
  189. ds_json_encode(10001, lang('param_error'));
  190. }
  191. $update = array();
  192. $update['geval_image'] = $geval_image;
  193. $condition = array();
  194. $condition[] = array('geval_id', '=', $geval_id);
  195. $result = $evaluategoods_model->editEvaluategoods($update, $condition);
  196. if ($result) {
  197. ds_json_encode(10000, lang('ds_common_save_succ'));
  198. }
  199. }
  200. /**
  201. * 用户中心右边,小导航
  202. *
  203. * @param string $menu_type 导航类型
  204. * @param string $menu_key 当前导航的menu_key
  205. * @return
  206. */
  207. public function getMemberItemList()
  208. {
  209. $menu_array = array(
  210. array(
  211. 'name' => 'evaluate',
  212. 'text' => lang('trade_reviews_orders'),
  213. 'url' => (string)url('Memberevaluate/index')
  214. ),
  215. );
  216. return $menu_array;
  217. }
  218. }