* Date: 2018-4-3
*/
namespace app\common\logic;
use think\Model;
use think\Db;
use think\Page;
use think\Config;
/**
* @package common\Logic
*/
load_trait('controller/Jump');
class FunctionLogic extends Model
{
use \traits\controller\Jump;
/**
* 验证功能版sq文件 - 应用于不加密的控制器文件
* @return [type] [description]
*/
public function validate_authorfile($pid = '') {
$this->check_authorfile($pid);
}
/**
* 验证功能版sq文件
* @return [type] [description]
*/
public function check_authorfile($pid = '') {
$buypid = $this->getAuthortokenInfo('pid');
if ($pid > $buypid) {
$authormsg = "authormsg{$pid}";
$authormsg = $this->getAuthortokenInfo($authormsg);
if (MODULE_NAME == 'admin') {
$this->error($authormsg);
} else {
die("
{$authormsg}
");
}
} else {
$code = $this->getAuthortokenInfo('code');
$file = "./data/conf/{$code}.txt";
if (2 <= $buypid && !file_exists($file)) {
$php_servicemeal = 1;
$is_old = $this->getAuthortokenInfo('is_old');
if (1 == $is_old) {
$php_servicemeal = 1.5;
}
tpCache('php', ['php_servicemeal' => $php_servicemeal]);
$authorfilemsg = $this->getAuthortokenInfo('authorfilemsg');
if (MODULE_NAME == 'admin') {
$this->error($authorfilemsg);
} else {
die("{$authorfilemsg}
");
}
}
}
}
/**
* 获取网站sq信息
* @return [type] [description]
*/
public function getAuthortokenInfo($field = '') {
$authortokenInfo = tpCache('php.php_serviceinfo');
$authortokenInfo = mchStrCode($authortokenInfo, 'DECODE');
$authortokenInfo = json_decode($authortokenInfo, true);
if (empty($field)) {
return !empty($authortokenInfo) ? $authortokenInfo : [];
} else if (isset($authortokenInfo[$field])) {
if ('pid' == $field) {
tpCache('php', ['php_servicemeal' => $authortokenInfo[$field]]);
} else if ('authormsg' == $field) {
$authortokenInfo[$field] = '如有疑问,联系客服!';
}
return $authortokenInfo[$field];
} else {
return ('pid' == $field) ? 0 : '';
}
}
/**
* 保存积分设置
* @return [type] [description]
*/
public function scoreConf($post = [])
{
getUsersConfigData('score', $post);
}
// 评价列表
public function comment_index()
{
$functionLogic = new \app\common\logic\FunctionLogic;
$functionLogic->check_authorfile(2);
$assign_data = array();
$condition = array();
// 订单号查询
$order_code = input('order_code/s');
if (!empty($order_code)) $condition['a.order_code'] = array('LIKE', "%{$order_code}%");
// 分页查询
$count = Db::name('shop_order_comment')->alias('a')->where($condition)->count('comment_id');
$Page = new Page($count, config('paginate.list_rows'));
$show = $Page->show();
$assign_data['page'] = $show;
$assign_data['pager'] = $Page;
// 评价查询
$field = 'a.comment_id, a.order_id, a.users_id, a.order_code, a.product_id, a.content, a.admin_reply, a.total_score, a.is_new_comment, a.is_show, a.add_time, b.product_name, b.product_price, b.litpic as product_img, b.num as product_num, c.username, c.nickname, c.head_pic, d.title, d.users_price, d.litpic';
$Comment = Db::name('shop_order_comment')->alias('a')->where($condition)
->field($field)
->join('__SHOP_ORDER_DETAILS__ b', 'a.details_id = b.details_id', 'LEFT')
->join('__USERS__ c', 'a.users_id = c.users_id')
->join('__ARCHIVES__ d', 'a.product_id = d.aid')
->limit($Page->firstRow . ',' . $Page->listRows)
->order('comment_id desc')
->select();
// 评价数据处理
$New = get_archives_data($Comment, 'product_id');
foreach ($Comment as &$value) {
$value['head_pic'] = handle_subdir_pic(get_default_pic($value['head_pic']));
// 如果不存在商品标题则执行
if (empty($value['product_name'])) $value['product_name'] = $value['title'];
// 如果不存在商品价格则执行
if (empty($value['product_price'])) $value['product_price'] = $value['users_price'];
// 如果不存在商品图则执行
if (empty($value['product_img'])) $value['product_img'] = $value['litpic'];
// 如果不存在商品数量则执行
if (empty($value['product_num'])) $value['product_num'] = 1;
// 是否属于后台系统评价
$value['systemComment'] = 0;
if (empty($value['order_id']) && empty($value['order_code']) && empty($value['details_id'])) {
$value['systemComment'] = 1;
}
// 商品图片
$value['product_img'] = handle_subdir_pic(get_default_pic($value['product_img']));
// 商品链接
$value['arcurl'] = get_arcurl($New[$value['product_id']]);
// 评价转换星级评分,注释暂停使用,显示实际星评分
$value['total_score'] = empty($value['is_new_comment']) ? GetScoreArray($value['total_score']) : $value['total_score'];
// 商品评价评分
$value['order_total_score'] = Config::get('global.order_total_score')[$value['total_score']];
// 评价的内容
$value['content'] = !empty($value['content']) ? htmlspecialchars_decode(unserialize($value['content'])) : '';
$value['content'] = @msubstr($value['content'], 0, 60, true);
// 回复的内容
$adminReply = !empty($value['admin_reply']) ? unserialize($value['admin_reply']) : [];
$adminReply['adminReply'] = !empty($adminReply['adminReply']) ? htmlspecialchars_decode($adminReply['adminReply']) : '';
$value['admin_reply'] = $adminReply;
}
$assign_data['Comment'] = $Comment;
return $assign_data;
}
}