www.lightcourse.com/app/common/logic/Memberevaluate.php

204 lines
8.9 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?php
namespace app\common\logic;
/**
* ============================================================================
* 联课教育商城系统
* ============================================================================
* 版权所有 2022 刻羽互动科技有限公司,并保留所有权利。
* 网站地址: http://www.o1h.cn
* ----------------------------------------------------------------------------
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用 .
* 不允许对程序代码以任何形式任何目的的再发布。
* ============================================================================
* 逻辑层模型
*/
class Memberevaluate {
public function evaluateListDity($goods_eval_list) {
foreach ($goods_eval_list as $key => $value) {
$goods_eval_list[$key]['member_avatar'] = get_member_avatar_for_id($value['geval_frommemberid']);
}
return $goods_eval_list;
}
/* 查询订单信息 */
public function validation($order_id, $member_id) {
$condition[] = array('order_id','=',$order_id);
$condition[] = array('buyer_id','=',$member_id);
//获取订单信息
$order_info = model('order')->getOrderInfo($condition);
if (empty($order_info)) {
$info = array('state' => '0', 'msg' => '订单出错');
}
$order_info['evaluate_able'] = model('order')->getOrderOperateState('evaluation', $order_info);
if (empty($order_info) || !$order_info['evaluate_able']) {
$info = array('state' => '0', 'msg' => '评价订单不存在');
}
//获取订单商品
$order_goods = model('order')->getOrdergoodsList($condition);
if (empty($order_goods)) {
$info = array('state' => '0', 'msg' => '订单商品不存在');
}
foreach ($order_goods as $key => $value) {
$order_goods[$key]['goods_image_url'] = goods_cthumb($value['goods_image']);
}
$info['data'] = array('order_goods' => $order_goods, 'order_info' => $order_info);
return $info;
}
/* 保存订单评价信息 */
public function saveorderevaluate($order_info, $order_goods, $member_id, $member_name) {
$evaluate_goods_array = array();
$goodsid_array = array();
$goods_array = input('post.goods/a');#获取评价数组
foreach ($order_goods as $value) {
//如果未评分默认为5分
$evaluate_score = intval($goods_array[$value['goods_id']]['score']);
if ($evaluate_score <= 0 || $evaluate_score > 5) {
$evaluate_score = 5;
}
//默认评语
$evaluate_comment = $goods_array[$value['goods_id']]['comment'];
if (empty($evaluate_comment)) {
$evaluate_comment = '不错哦';
}else{
$res=word_filter($evaluate_comment);
if($res['code']){
$evaluate_comment=$res['data']['text'];
}
}
$evaluate_goods_info = array();
$evaluate_goods_info['geval_orderid'] = $order_info['order_id'];
$evaluate_goods_info['geval_orderno'] = $order_info['order_sn'];
$evaluate_goods_info['geval_ordergoodsid'] = $value['rec_id'];
$evaluate_goods_info['geval_goodsid'] = $value['goods_id'];
$evaluate_goods_info['geval_goodsname'] = $value['goods_name'];
$evaluate_goods_info['geval_goodsprice'] = $value['goods_price'];
$evaluate_goods_info['geval_goodsimage'] = $value['goods_image'];
$evaluate_goods_info['geval_scores'] = $evaluate_score;
$evaluate_goods_info['geval_content'] = $evaluate_comment;
$evaluate_goods_info['geval_isanonymous'] = input('post.anony') ? 1 : 0;
$evaluate_goods_info['geval_addtime'] = TIMESTAMP;
$evaluate_goods_info['geval_frommemberid'] = $member_id;
$evaluate_goods_info['geval_frommembername'] = $member_name;
$evaluate_goods_array[] = $evaluate_goods_info;
$goodsid_array[] = $value['goods_id'];
}
model('evaluategoods')->addEvaluategoodsArray($evaluate_goods_array, $goodsid_array);
//更新订单信息并记录订单日志
$state = model('order')->editOrder(array('evaluation_state' => 1), array('order_id' => $order_info['order_id']));
model('order')->editOrdercommon(array('evaluation_time' => TIMESTAMP), array('order_id' => $order_info['order_id']));
if ($state) {
$data = array();
$data['order_id'] = $order_info['order_id'];
$data['log_role'] = 'buyer';
$data['log_msg'] = lang('order_log_eval');
model('order')->addOrderlog($data);
$res = true;
} else {
$res = false;
}
//添加会员积分
if (config('ds_config.points_isuse') == 1) {
$points_model = model('points');
$points_model->savePointslog('comments', array('pl_memberid' => $member_id, 'pl_membername' => $member_name));
}
//添加会员经验值
model('exppoints')->saveExppointslog('comments', array('explog_memberid' => $member_id, 'explog_membername' => $member_name));
return $res;
}
public function validationVr($order_id, $member_id) {
$condition[] = array('order_id','=',$order_id);
$condition[] = array('buyer_id','=',$member_id);
//获取订单信息
$order_info = model('vrorder')->getVrorderInfo($condition);
if (empty($order_info)) {
$info = array(
'state' => '0', 'msg' => '没有权限'
);
}
//订单为'已收货'状态,并且未评论
$order_info['evaluate_able'] = model('vrorder')->getVrorderOperateState('evaluation', $order_info);
if (!$order_info['evaluate_able']) {
$info = array(
'state' => '0', 'msg' => '订单已评价'
);
}
//单个商品
$order_info['goods_image_url'] = goods_cthumb($order_info['goods_image']);
$info['data'] = array('order_info' => $order_info);
return $info;
}
public function saveVr($order_info,$order_goods, $member_id, $member_name) {
$evaluate_goods_array = array();
$goodsid_array = array();
$vrorder_model = model('vrorder');
$evaluategoods_model = model('evaluategoods');
$goods_array = input('post.goods/a'); #获取数组
foreach ($order_goods as $value) {
//如果未评分默认为5分
$evaluate_score = intval($goods_array[$value['goods_id']]['score']);
if ($evaluate_score <= 0 || $evaluate_score > 5) {
$evaluate_score = 5;
}
//默认评语
$evaluate_comment = $goods_array[$value['goods_id']]['comment'];
if (empty($evaluate_comment)) {
$evaluate_comment = '不错哦';
}
$evaluate_goods_info = array();
$evaluate_goods_info['geval_orderid'] = $order_info['order_id'];
$evaluate_goods_info['geval_orderno'] = $order_info['order_sn'];
$evaluate_goods_info['geval_ordergoodsid'] = $order_info['order_id'];
$evaluate_goods_info['geval_goodsid'] = $value['goods_id'];
$evaluate_goods_info['geval_goodsname'] = $value['goods_name'];
$evaluate_goods_info['geval_goodsprice'] = $value['goods_price'];
$evaluate_goods_info['geval_goodsimage'] = $value['goods_image'];
$evaluate_goods_info['geval_scores'] = $evaluate_score;
$evaluate_goods_info['geval_content'] = $evaluate_comment;
$evaluate_goods_info['geval_isanonymous'] = input('post.anony') ? 1 : 0;
$evaluate_goods_info['geval_addtime'] = TIMESTAMP;
$evaluate_goods_info['geval_frommemberid'] = $member_id;
$evaluate_goods_info['geval_frommembername'] = $member_name;
$evaluate_goods_array[] = $evaluate_goods_info;
$goodsid_array[] = $value['goods_id'];
}
$evaluategoods_model->addEvaluategoodsArray($evaluate_goods_array, $goodsid_array);
//更新订单信息并记录订单日志
$state = $vrorder_model->editVrorder(array('evaluation_state' => 1, 'evaluation_time' => TIMESTAMP), array('order_id' => $order_info['order_id']));
//添加会员积分
if (config('ds_config.points_isuse') == 1) {
$points_model = model('points');
$points_model->savePointslog('comments', array('pl_memberid' => $member_id, 'pl_membername' => $member_name));
}
//添加会员经验值
model('exppoints')->saveExppointslog('comments', array('explog_memberid' => $member_id, 'explog_membername' => $member_name));
return $state;
}
}