Commit 7b168261 by tangjinlin

Merge branch 'master' of http://gitlib.occloud.net/biao/ZhiNanZhen into znz_dev

parents 40a3764d 644038db
......@@ -22,6 +22,8 @@ class CourseMediaDat extends CompassDynamicData
var $is_free;
var $price;
var $view_count;
var $is_top;
var $is_recommend;
var $delete_flg;
//用户是否已经购买本视频
......@@ -53,6 +55,8 @@ class CourseMediaDat extends CompassDynamicData
$this->is_free = $record["is_free"];
$this->price = $record["price"];
$this->view_count = $record["view_count"];
$this->is_top = $record["is_top"];
$this->is_recommend = $record["is_recommend"];
$this->delete_flg = $record["delete_flg"];
}
......@@ -131,6 +135,8 @@ class CourseMediaDat extends CompassDynamicData
ParamUtil::copyObj2Array($v_param, $this, "is_free");
ParamUtil::copyObj2Array($v_param, $this, "price");
ParamUtil::copyObj2Array($v_param, $this, "view_count");
ParamUtil::copyObj2Array($v_param, $this, "is_top");
ParamUtil::copyObj2Array($v_param, $this, "is_recommend");
ParamUtil::copyObj2Array($v_param, $this, "delete_flg");
// 保存
......
<?php
/**
* FaqDat Entity
* $Id: FaqDat.inc,v 1.1 2020/2/27 14:40:01 Exp $
* @author zb
* @package jp.compass.entity
* @access public
*/
class FaqDat extends CompassDynamicData
{
var $user_id;
var $content;
var $images;
var $reply_count;
var $best_detail_id;
var $best_detail_content;
var $is_top;
var $delete_flg;
/**
* 构造实现。faq_dat创建实例。
*
* @access public
* @param mixed faq_dat
*/
function constructor($record)
{
parent::constructor($record);
$this->user_id = $record["user_id"];
$this->content = $record["content"];
$this->images = $record["images"];
$this->reply_count = $record["reply_count"];
$this->best_detail_id = $record["best_detail_id"];
$this->best_detail_content = $record["best_detail_content"];
$this->is_top = $record["is_top"];
$this->delete_flg = $record["delete_flg"];
}
/**
* 根据条件,获取数据列表。
* 条件与DBManager的doSelect相同。
* @access public
* @static
* @param array 检索条件
* @return array Entity的队列
*/
public static function getList($w_param = null, $orderkey = null, $direction = "ASC", $offset = null, $limit = null)
{
if ($w_param == null) {
$w_param = array();
$w_param["delete_flg"] = "false";
}
return CompassDBHandler::getList("FaqDat", "faq_dat", $w_param, $orderkey, $direction, $offset, $limit);
}
/**
* 根据条件,获取数据列表的件数。
* 条件与DBManager的doSelect相同。
* @access public
* @static
* @param array 检索条件
* @return array Entity的队列
*/
public static function getListCount($w_param = null)
{
if ($w_param == null) {
$w_param = array();
$w_param["delete_flg"] = "false";
}
$db = CompassDBManager::getInstance();
$result = $db->doSelect("faq_dat", $w_param, null, null, null, null, "count(*) as count");
return $result[0]["count"];
}
/**
* 获得此类指定ID的实例。
*/
public static function getById($id)
{
// delete_flg
$param = array();
$param["delete_flg"] = false;
return CompassDBHandler::getById("FaqDat", "faq_dat", $id, $param);
}
// -- 这里开始Dynamic ---
/**
* 将此实例写入DB。
* DynamicData共用的保存方法。
* @access public
* @return int 写入实例的ID
*/
public function save()
{
$v_param = array();
ParamUtil::copyObj2Array($v_param, $this, "user_id");
ParamUtil::copyObj2Array($v_param, $this, "content");
ParamUtil::copyObj2ArrayNullField($v_param, $this, "images");
ParamUtil::copyObj2Array($v_param, $this, "reply_count");
ParamUtil::copyObj2Array($v_param, $this, "best_detail_id");
ParamUtil::copyObj2ArrayNullField($v_param, $this, "best_detail_content");
ParamUtil::copyObj2Array($v_param, $this, "is_top");
ParamUtil::copyObj2Array($v_param, $this, "delete_flg");
// 保存
parent::_save("faq_dat", $v_param);
}
}
\ No newline at end of file
<?php
/**
* FaqDetailDat Entity
* $Id: FaqDetailDat.inc,v 1.1 2020/2/27 14:40:01 Exp $
* @author zb
* @package jp.compass.entity
* @access public
*/
class FaqDetailDat extends CompassDynamicData
{
var $faq_id;
var $user_id;
var $content;
var $is_best;
var $delete_flg;
/**
* 构造实现。faq_detail_dat创建实例。
*
* @access public
* @param mixed faq_detail_dat
*/
function constructor($record)
{
parent::constructor($record);
$this->faq_id = $record["faq_id"];
$this->user_id = $record["user_id"];
$this->content = $record["content"];
$this->is_best = $record["is_best"];
$this->delete_flg = $record["delete_flg"];
}
/**
* 根据条件,获取数据列表。
* 条件与DBManager的doSelect相同。
* @access public
* @static
* @param array 检索条件
* @return array Entity的队列
*/
public static function getList($w_param = null, $orderkey = null, $direction = "ASC", $offset = null, $limit = null)
{
if ($w_param == null) {
$w_param = array();
$w_param["delete_flg"] = "false";
}
return CompassDBHandler::getList("FaqDetailDat", "faq_detail_dat", $w_param, $orderkey, $direction, $offset, $limit);
}
/**
* 根据条件,获取数据列表的件数。
* 条件与DBManager的doSelect相同。
* @access public
* @static
* @param array 检索条件
* @return array Entity的队列
*/
public static function getListCount($w_param = null)
{
if ($w_param == null) {
$w_param = array();
$w_param["delete_flg"] = "false";
}
$db = CompassDBManager::getInstance();
$result = $db->doSelect("faq_detail_dat", $w_param, null, null, null, null, "count(*) as count");
return $result[0]["count"];
}
/**
* 获得此类指定ID的实例。
*/
public static function getById($id)
{
// delete_flg
$param = array();
$param["delete_flg"] = false;
return CompassDBHandler::getById("FaqDetailDat", "faq_detail_dat", $id, $param);
}
// -- 这里开始Dynamic ---
/**
* 将此实例写入DB。
* DynamicData共用的保存方法。
* @access public
* @return int 写入实例的ID
*/
public function save()
{
$v_param = array();
ParamUtil::copyObj2Array($v_param, $this, "faq_id");
ParamUtil::copyObj2Array($v_param, $this, "user_id");
ParamUtil::copyObj2Array($v_param, $this, "content");
ParamUtil::copyObj2Array($v_param, $this, "is_best");
ParamUtil::copyObj2Array($v_param, $this, "delete_flg");
// 保存
parent::_save("faq_detail_dat", $v_param);
}
}
\ No newline at end of file
<?php
/**
* NewsDat Entity
* $Id: NewsDat.inc,v 1.1 2020/2/27 14:40:01 Exp $
* @author zb
* @package jp.compass.entity
* @access public
*/
class NewsDat extends CompassDynamicData
{
var $title;
var $content;
var $front_image_big;
var $front_image_small;
var $read_count;
var $account_id;
var $level_id;
var $is_top;
var $delete_flg;
/**
* 构造实现。news_dat创建实例。
*
* @access public
* @param mixed news_dat
*/
function constructor($record)
{
parent::constructor($record);
$this->title = $record["title"];
$this->content = $record["content"];
$this->front_image_big = $record["front_image_big"];
$this->front_image_small = $record["front_image_small"];
$this->read_count = $record["read_count"];
$this->account_id = $record["account_id"];
$this->level_id = $record["level_id"];
$this->is_top = $record["is_top"];
$this->delete_flg = $record["delete_flg"];
}
/**
* 根据条件,获取数据列表。
* 条件与DBManager的doSelect相同。
* @access public
* @static
* @param array 检索条件
* @return array Entity的队列
*/
public static function getList($w_param = null, $orderkey = null, $direction = "ASC", $offset = null, $limit = null)
{
if ($w_param == null) {
$w_param = array();
$w_param["delete_flg"] = "false";
}
return CompassDBHandler::getList("NewsDat", "news_dat", $w_param, $orderkey, $direction, $offset, $limit);
}
/**
* 根据条件,获取数据列表的件数。
* 条件与DBManager的doSelect相同。
* @access public
* @static
* @param array 检索条件
* @return array Entity的队列
*/
public static function getListCount($w_param = null)
{
if ($w_param == null) {
$w_param = array();
$w_param["delete_flg"] = "false";
}
$db = CompassDBManager::getInstance();
$result = $db->doSelect("news_dat", $w_param, null, null, null, null, "count(*) as count");
return $result[0]["count"];
}
/**
* 获得此类指定ID的实例。
*/
public static function getById($id)
{
// delete_flg
$param = array();
$param["delete_flg"] = false;
return CompassDBHandler::getById("NewsDat", "news_dat", $id, $param);
}
// -- 这里开始Dynamic ---
/**
* 将此实例写入DB。
* DynamicData共用的保存方法。
* @access public
* @return int 写入实例的ID
*/
public function save()
{
$v_param = array();
ParamUtil::copyObj2Array($v_param, $this, "title");
ParamUtil::copyObj2Array($v_param, $this, "content");
ParamUtil::copyObj2ArrayNullField($v_param, $this, "front_image_big");
ParamUtil::copyObj2ArrayNullField($v_param, $this, "front_image_small");
ParamUtil::copyObj2ArrayNullField($v_param, $this, "read_count");
ParamUtil::copyObj2ArrayNullField($v_param, $this, "account_id");
ParamUtil::copyObj2Array($v_param, $this, "level_id");
ParamUtil::copyObj2Array($v_param, $this, "is_top");
ParamUtil::copyObj2Array($v_param, $this, "delete_flg");
// 保存
parent::_save("news_dat", $v_param);
}
}
\ No newline at end of file
......@@ -52,6 +52,9 @@ require_once(COMPASS_LIB_ROOT . "/cn/compass/entity/UserDonationDat.inc");
require_once(COMPASS_LIB_ROOT . "/cn/compass/entity/UserBuyMemberDat.inc");
require_once(COMPASS_LIB_ROOT . "/cn/compass/entity/UserLoginDat.inc");
require_once(COMPASS_LIB_ROOT . "/cn/compass/entity/UserChildDat.inc");
require_once(COMPASS_LIB_ROOT . "/cn/compass/entity/FaqDat.inc");
require_once(COMPASS_LIB_ROOT . "/cn/compass/entity/FaqDetailDat.inc");
require_once(COMPASS_LIB_ROOT . "/cn/compass/entity/NewsDat.inc");
// definition
require_once(COMPASS_LIB_ROOT . "/cn/compass/entity/definition/ImageType.inc");
......
<?php
// 指定删除在线答疑数据
require_once ("../user_include.inc");
ErrorLogger::doOutput("Compass...ajax_delete_my_faq.php....Start.", 0);
//获取参数
$unionId = ParamUtil::getRequestString("unionId");
$faqId = ParamUtil::getRequestNumber("faqId", 0);
$result = array();
//参数检查
if(empty($unionId) || empty($faqId)) {
$result["message"] = "参数错误!";
responseNG($result);
}
//判断用户是否存在
$param = array();
$param['unionid'] = $unionId;
$param['delete_flg'] = false;
$userList = UserMst::getList($param,'id','desc', 0, 1);
if(empty($userList)) {
$result["message"] = "用户不存在!";
responseNG($result);
}
$userMst = $userList[0];
//判断在线答疑是否存在
$param = array();
$param['id'] = $faqId;
$param['user_id'] = $userMst->id;
$param['delete_flg'] = false;
$tmpList = FaqDat::getList($param,'id','desc', 0, 1);
if(empty($tmpList)) {
$result["message"] = "数据不存在!";
responseNG($result);
}
//删除数据以及对应的回答数据
foreach($tmpList as $faqDat) {
$faqDat->delete_flg = true;
$faqDat->save();
//删除对应的回答数据
$db = &CompassDBManager::getInstance();
$sql = "update faq_detail_dat set delete_flg=true where faq_id='{$faqId}' and delete_flg=false";
$db->executeQuery($sql);
}
//组装返回数据
$result["message"] = "删除成功!";
responseOK($result);
ErrorLogger::doOutput("Compass...ajax_delete_my_faq.php....End.", 0);
//返回结果
responseOK($result);
function responseNG($result) {
$result = array("status"=>"NG", "result"=>$result);
print json_encode($result);
exit;
}
function responseOK($result) {
$result = array("status"=>"OK", "result"=>$result);
print json_encode($result);
exit;
}
?>
\ No newline at end of file
......@@ -11,27 +11,60 @@ $subId = ParamUtil::getRequestNumber("subId", 0);
$page = ParamUtil::getRequestNumber("page", 0);
//每页显示条数
$rowCount = 10;
$result = array();
$rowCount = 10;
$offset = $page * $rowCount;
//检索数据库
$param = array();
$param['parent_category_id'] = $parentId;
$param['sub_category_id'] = $subId;
$param['delete_flg'] = false;
$mediaList = CourseMediaDat::getList($param,'id','desc', $offset, $rowCount);
$allCount = CourseMediaDat::getListCount($param);
$pageCount = ceil($allCount/$rowCount);
//接口返回数据
$result["rowCount"] = $rowCount;
$result["page"] = $page;
$result["pageCount"] = $pageCount;
$result["list"] = $mediaList;
if($subId == 0) {
//大分类首页
//获取该分类下置顶课程【最多前5个】
$param = array();
$param['parent_category_id'] = $parentId;
$param['is_top'] = true;
$param['delete_flg'] = false;
$topMediaList = CourseMediaDat::getList($param,'id','desc', 0, 10);
//获取该大分类下各个小分类的推荐课堂
$param = array();
$param['parent_id'] = $parentId;
$param['delete_flg'] = false;
$subCategoryList = CourseCategoryDat::getList($param,'id','desc');
//循环获取对应小分类的推荐视频,最多两条
$recommendMediaList = array();
if(!empty($subCategoryList)) {
foreach($subCategoryList as $subCategory) {
$tmpList = array();
$param = array();
$param['parent_category_id'] = $parentId;
$param['sub_category_id'] = $subCategory->id;
$param['is_recommend'] = true;
$param['delete_flg'] = false;
$tmpMediaList = CourseMediaDat::getList($param,'id','desc', 0, 2);
$tmpList["mediaList"] = $tmpMediaList;
$tmpList["category"] = $subCategory->title;
$recommendMediaList[] = $tmpList;
}
}
$result["topMediaList"] = $topMediaList;
$result["recommendMediaList"] = $recommendMediaList;
} else {
//小分类列表
$param = array();
$param['parent_category_id'] = $parentId;
$param['sub_category_id'] = $subId;
$param['delete_flg'] = false;
$mediaList = CourseMediaDat::getList($param,'id','desc', $offset, $rowCount);
$allCount = CourseMediaDat::getListCount($param);
$pageCount = ceil($allCount/$rowCount);
//接口返回数据
$result["rowCount"] = $rowCount;
$result["page"] = $page;
$result["pageCount"] = $pageCount;
$result["list"] = $mediaList;
}
ErrorLogger::doOutput("Compass...ajax_get_course_by_category.php....End.", 0);
......
<?php
// 获取在线咨询详情
require_once ("../user_include.inc");
ErrorLogger::doOutput("Compass...ajax_get_faq_detail.php....Start.", 0);
//获取参数
$unionId = ParamUtil::getRequestString("unionId");
$faqId = ParamUtil::getRequestNumber("faqId", 0);
$result = array();
//参数检查
if(empty($unionId) || empty($faqId)) {
$result["message"] = "参数错误!";
responseNG($result);
}
//判断用户是否存在
$param = array();
$param['unionid'] = $unionId;
$param['delete_flg'] = false;
$userList = UserMst::getList($param,'id','desc', 0, 1);
if(empty($userList)) {
$result["message"] = "用户不存在!";
responseNG($result);
}
$userMst = $userList[0];
//获取在线答疑数据
$faqDat = array();
$tmpFaqDat = FaqDat::getById($faqId);
if(empty($tmpFaqDat)) {
$result["message"] = "数据不存在!";
responseNG($result);
}
//获取发布者信息
$isOwner = false;
if($userMst->id == $tmpFaqDat->user_id) {
$isOwner = true;
//为发布者的情况下
$faqDat["headImg"] = $userMst->header_img;
$faqDat["name"] = $userMst->name;
} else {
$isOwner = false;
//获取发布者信息
$ownerUser = UserMst::getById($tmpFaqDat->user_id);
//为发布者的情况下
$faqDat["headImg"] = $ownerUser->header_img;
$faqDat["name"] = $ownerUser->name;
}
$faqDat["content"] = $tmpFaqDat->content;
//|分割图片为数组
$images = explode("|", $tmpFaqDat->images);
$images = array_filter($images);
$faqDat["images"] = $images;
$faqDat["publishDate"] = str_replace('-','.',substr($tmpFaqDat->registration_date, 0, 10));
//获取回复数据
$faqDetailList = array();
$param = array();
$param['faq_id'] = $faqId;
$param['delete_flg'] = false;
$tmpDetailList = FaqDetailDat::getList($param,'id','desc');
if(!empty($tmpDetailList)) {
//查找回答者信息
foreach($tmpDetailList as $tmp) {
$faqDetailDat = array();
$author = UserMst::getById($tmp->user_id);
$faqDetailDat["id"] = $tmp->id;
$faqDetailDat["headImg"] = $author->header_img;
$faqDetailDat["name"] = $author->name;
$faqDetailDat["isBest"] = $tmp->is_best;
$faqDetailDat["content"] = $tmp->content;
$faqDetailDat["replyTime"] = str_replace('-','.',substr($tmp->registration_date, 0, 10));
$faqDetailList[] = $faqDetailDat;
}
}
//组装返回数据
$result["isOwner"] = $isOwner;
$result["faqDat"] = $faqDat;
$result["faqDetailList"] = $faqDetailList;
ErrorLogger::doOutput("Compass...ajax_get_faq_detail.php....End.", 0);
//返回结果
responseOK($result);
function responseNG($result) {
$result = array("status"=>"NG", "result"=>$result);
print json_encode($result);
exit;
}
function responseOK($result) {
$result = array("status"=>"OK", "result"=>$result);
print json_encode($result);
exit;
}
?>
\ No newline at end of file
<?php
// 获取在线大厅以首页数据
require_once ("../user_include.inc");
ErrorLogger::doOutput("Compass...ajax_get_faq_top_dat.php....Start.", 0);
//获取参数
$unionId = ParamUtil::getRequestString("unionId");
$keyword = ParamUtil::getRequestString("keyword");
$page = ParamUtil::getRequestNumber("page", 0);
$result = array();
//参数检查
if(empty($unionId)) {
$result["message"] = "参数错误!";
responseNG($result);
}
//判断用户是否存在
$param = array();
$param['unionid'] = $unionId;
$param['delete_flg'] = false;
$userList = UserMst::getList($param,'id','desc', 0, 1);
if(empty($userList)) {
$result["message"] = "用户不存在!";
responseNG($result);
}
//每页显示条数
$rowCount = 10;
$offset = $page * $rowCount;
$pageCount = 0;
//检索在线答疑数据
$param = array();
$param['content_ALT'] = "%" . $keyword . "%";
$param['delete_flg'] = false;
$faqList = FaqDat::getList($param,'id','desc', 0, 4);
$allCount = FaqDat::getListCount($param);
$pageCount = ceil($allCount/$rowCount);
//组装返回数据
$result["pageCount"] = $pageCount;
$result["faqList"] = $faqList;
ErrorLogger::doOutput("Compass...ajax_get_faq_top_dat.php....End.", 0);
//返回结果
responseOK($result);
function responseNG($result) {
$result = array("status"=>"NG", "result"=>$result);
print json_encode($result);
exit;
}
function responseOK($result) {
$result = array("status"=>"OK", "result"=>$result);
print json_encode($result);
exit;
}
?>
\ No newline at end of file
<?php
// 获取在线大厅以首页数据
require_once ("../user_include.inc");
ErrorLogger::doOutput("Compass...ajax_get_faq_top_dat.php....Start.", 0);
//获取参数
$unionId = ParamUtil::getRequestString("unionId");
$result = array();
//参数检查
if(empty($unionId)) {
$result["message"] = "参数错误!";
responseNG($result);
}
//判断用户是否存在
$param = array();
$param['unionid'] = $unionId;
$param['delete_flg'] = false;
$userList = UserMst::getList($param,'id','desc', 0, 1);
if(empty($userList)) {
$result["message"] = "用户不存在!";
responseNG($result);
}
$userMst = $userList[0];
//获取在线答疑数据
$param = array();
$param['is_top'] = true;
$param['delete_flg'] = false;
$faqList = FaqDat::getList($param,'id','desc', 0, 4);
//组装返回数据
$result["faqList"] = $faqList;
ErrorLogger::doOutput("Compass...ajax_get_faq_top_dat.php....End.", 0);
//返回结果
responseOK($result);
function responseNG($result) {
$result = array("status"=>"NG", "result"=>$result);
print json_encode($result);
exit;
}
function responseOK($result) {
$result = array("status"=>"OK", "result"=>$result);
print json_encode($result);
exit;
}
?>
\ No newline at end of file
<?php
// 获取在线大厅以首页数据
require_once ("../user_include.inc");
ErrorLogger::doOutput("Compass...ajax_get_my_faq_list.php....Start.", 0);
//获取参数
$unionId = ParamUtil::getRequestString("unionId");
$result = array();
//参数检查
if(empty($unionId)) {
$result["message"] = "参数错误!";
responseNG($result);
}
//判断用户是否存在
$param = array();
$param['unionid'] = $unionId;
$param['delete_flg'] = false;
$userList = UserMst::getList($param,'id','desc', 0, 1);
if(empty($userList)) {
$result["message"] = "用户不存在!";
responseNG($result);
}
$userMst = $userList[0];
//获取在线答疑数据
$param = array();
$param['user_id'] = $userMst->id;
$param['delete_flg'] = false;
$faqList = FaqDat::getList($param,'id','desc');
//组装返回数据
$result["faqList"] = $faqList;
ErrorLogger::doOutput("Compass...ajax_get_my_faq_list.php....End.", 0);
//返回结果
responseOK($result);
function responseNG($result) {
$result = array("status"=>"NG", "result"=>$result);
print json_encode($result);
exit;
}
function responseOK($result) {
$result = array("status"=>"OK", "result"=>$result);
print json_encode($result);
exit;
}
?>
\ No newline at end of file
<?php
// 获取在线咨询详情
require_once ("../user_include.inc");
ErrorLogger::doOutput("Compass...ajax_set_faq_answer.php....Start.", 0);
//获取参数
$unionId = ParamUtil::getRequestString("unionId");
$faqId = ParamUtil::getRequestNumber("faqId", 0);
$content = ParamUtil::getRequestString("content");
$result = array();
//参数检查
if(empty($unionId) || empty($faqId) || empty($content)) {
$result["message"] = "参数错误!";
responseNG($result);
}
//判断用户是否存在
$param = array();
$param['unionid'] = $unionId;
$param['delete_flg'] = false;
$userList = UserMst::getList($param,'id','desc', 0, 1);
if(empty($userList)) {
$result["message"] = "用户不存在!";
responseNG($result);
}
$userMst = $userList[0];
//获取在线答疑数据
$faqDat = FaqDat::getById($faqId);
if(empty($faqDat)) {
$result["message"] = "数据不存在!";
responseNG($result);
}
//添加回答数据
$faqDetailDat = new FaqDetailDat();
//更新数据
$faqDetailDat->faq_id = $faqId;
$faqDetailDat->user_id = $userMst->id;
$faqDetailDat->content = $content
$faqDetailDat->save();
$faqDat->reply_count++;
$faqDat->save();
//组装返回数据
$result["message"] = "回答成功!";
responseOK($result);
ErrorLogger::doOutput("Compass...ajax_set_faq_answer.php....End.", 0);
//返回结果
responseOK($result);
function responseNG($result) {
$result = array("status"=>"NG", "result"=>$result);
print json_encode($result);
exit;
}
function responseOK($result) {
$result = array("status"=>"OK", "result"=>$result);
print json_encode($result);
exit;
}
?>
\ No newline at end of file
<?php
// 获取在线咨询详情
require_once ("../user_include.inc");
ErrorLogger::doOutput("Compass...ajax_set_faq_best.php....Start.", 0);
//获取参数
$unionId = ParamUtil::getRequestString("unionId");
$faqId = ParamUtil::getRequestNumber("faqId", 0);
$faqDetailId = ParamUtil::getRequestNumber("faqDetailId", 0);
$result = array();
//参数检查
if(empty($unionId) || empty($faqId) || empty($faqDetailId)) {
$result["message"] = "参数错误!";
responseNG($result);
}
//判断用户是否存在
$param = array();
$param['unionid'] = $unionId;
$param['delete_flg'] = false;
$userList = UserMst::getList($param,'id','desc', 0, 1);
if(empty($userList)) {
$result["message"] = "用户不存在!";
responseNG($result);
}
$userMst = $userList[0];
//获取在线答疑数据
$faqDat = FaqDat::getById($faqId);
if(empty($tmpFaqDat)) {
$result["message"] = "数据不存在!";
responseNG($result);
}
//获取在线答疑回答数据
$faqDetailDat = FaqDetailDat::getById($faqDetailId);
if(empty($faqDetailDat)) {
$result["message"] = "数据不存在!";
responseNG($result);
}
//更新数据
$faqDetailDat->is_best = true;
$faqDetailDat->save();
$faqDat->best_detail_id = $faqDetailDat->id;
$faqDat->best_detail_content = $faqDetailDat->content;
$faqDat->save();
//组装返回数据
$result["message"] = "设置成功!";
responseOK($result);
ErrorLogger::doOutput("Compass...ajax_set_faq_best.php....End.", 0);
//返回结果
responseOK($result);
function responseNG($result) {
$result = array("status"=>"NG", "result"=>$result);
print json_encode($result);
exit;
}
function responseOK($result) {
$result = array("status"=>"OK", "result"=>$result);
print json_encode($result);
exit;
}
?>
\ No newline at end of file
<?php
// 获取在线咨询详情
require_once ("../user_include.inc");
ErrorLogger::doOutput("Compass...ajax_set_faq_answer.php....Start.", 0);
//获取参数
$unionId = ParamUtil::getRequestString("unionId");
$faqId = ParamUtil::getRequestNumber("faqId", 0);
$content = ParamUtil::getRequestString("content");
$result = array();
//参数检查
if(empty($unionId) || empty($content)) {
$result["message"] = "参数错误!";
responseNG($result);
}
//判断用户是否存在
$param = array();
$param['unionid'] = $unionId;
$param['delete_flg'] = false;
$userList = UserMst::getList($param,'id','desc', 0, 1);
if(empty($userList)) {
$result["message"] = "用户不存在!";
responseNG($result);
}
$userMst = $userList[0];
if($faqId == 0) {
//创建在线咨询记录
$faqDat = new FaqDat();
$faqDat->user_id = $userMst->id;
$faqDat->content = $content;
$faqDat->save();
} else {
//处理上传图片
if(!empty($_FILES['images']['tmp_name'])){
$aliHandler = new AliUploadHandler();
$upload_file = FileUploadUtil::getScalarFile(@$_FILES['images']);
$tmp_file_name = date("Ymd") . "_" . trim(basename($upload_file->name));//保存的名字自定义,这里如果图片的名字原来的是aa.jp,保存成20200220_aa.jpg
$url = $aliHandler->uploadImg($tmp_file_name, $upload_file->tmp_name);
ErrorLogger::doOutput("Compass...ajax_set_faq_new.php....url1=" . $url, 0);
$faqDat = FaqDat::getById($faqId);
//这里的url就是http://compass-dev.oss-cn-beijing.aliyuncs.com/20200220_aa.jpg
if(empty($faqDat->images)) {
$faqDat->images = $url;
$faqDat->save();
} else {
$faqDat->images = $faqDat->images . "|" . $url;
$faqDat->save();
}
//返回数据
$result["message"] = "创建成功!";
$result["faqDat"] = $faqDat;
responseOK($result);
}
}
//获取在线答疑数据
$param = array();
$param['user_id'] = $userMst->id;
$param['delete_flg'] = false;
$faqDatList = FaqDat::getList($param, "id", "desc", 0, 1);
if(empty($faqDatList)) {
$result["faqDat"] = $faqDatList[0];
}
//组装返回数据
$result["message"] = "创建成功!";
responseOK($result);
ErrorLogger::doOutput("Compass...ajax_set_faq_answer.php....End.", 0);
//返回结果
responseOK($result);
function responseNG($result) {
$result = array("status"=>"NG", "result"=>$result);
print json_encode($result);
exit;
}
function responseOK($result) {
$result = array("status"=>"OK", "result"=>$result);
print json_encode($result);
exit;
}
?>
\ No newline at end of file
......@@ -7,8 +7,9 @@ Page({
*/
data: {
faqId:0,
isOwner:false,
faqDat:null,
replyList:[],
faqDetailList:[],
},
/**
......@@ -46,14 +47,13 @@ Page({
var config = wx.getStorageSync('config');
//获取用户消息列表
wx.request({
url: app.url + 'ajax_get_faq_top_dat.php',
url: app.url + 'ajax_get_faq_detail.php',
header: {
'content-type': 'application/json'
},
data: {
unionId: config.unionId,
keyword: that.data.keyword,
page: that.data.page,
faqId: that.data.faqId
},
method: 'GET',
dataType: 'json',
......@@ -61,8 +61,9 @@ Page({
console.log(res.data)
if (res.statusCode == 200) {
that.setData({
pageCount: res.data.result.pageCount,
faqList: that.data.faqList.concat(res.data.result.faqList)
isOwner: res.data.result.isOwner,
faqDat: res.data.result.faqDat,
faqDetailList: res.data.result.faqDetailList
})
}
},
......@@ -71,26 +72,6 @@ Page({
})
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
//触底以后加载更多
if ((this.data.page + 1) < this.data.pageCount) {
var pageIndex = this.data.page + 1
this.setData({
page: pageIndex
})
this.searchFaqList();
} else {
wx.showToast({
title: '没有更多咨询啦。',
icon: 'success',
duration: 2000
});
}
},
//点击检索
searchFaq() {
if (this.data.keyword == null || this.data.keyword == '') {
......@@ -106,18 +87,21 @@ Page({
},
//咨询详细页面
faqDetail(e) {
let faqId = e.currentTarget.dataset['index']
setBest(e) {
let faqDetailId = e.currentTarget.dataset['index']
//调用接口设置最佳答案
//ajax_set_faq_best.php
wx.navigateTo({
url: '../faqDetail/faqDetail?faqId=' + faqId,
})
},
//我的咨询
myFaq(e) {
wx.navigateTo({
url: '../myFaq/myFaq',
})
//回复
answerFaq(e) {
//调用接口设置最佳答案
//ajax_set_faq_answer.php.php
//回复以后调用接口刷新本页面
},
//立即咨询
......
<!--pages/myNews/myNews.wxml-->
<custom-navi text="咨询页面" back="{{true}}" home="{{false}}" bg1="#FFF" bg2="#FFF" bg3="#FFF"></custom-navi>
<view class="content">
<view class="hotFaqs">
<view bindtap='faqDetail' wx:for="{{faqList}}" class="faqItem" data-index="{{item.id}}" wx:key="{{index}}">
<view class="faqContent">
<view class="faqRow1">
<view class="faqCotent">{{item.content}}</view>
<view class="faqReplycount">回复:{{item.reply_count}}</view>
</view>
<view class="faqRow2">最佳答案:{{item.best_detail_content}}</view>
</view>
</view>
<view class="faqDat">
<!--作者-->
<view class="authorRow">
<image src='{{faqDat.headImg}}' mode="widthFix"></image>
<view>{{faqDat.name}}</view>
</view>
<!--咨询内容-->
<view class="contentRow">
<text>{{faqDat.content}}</text>
<view class="images">
<image wx:for="{{faqDat.images}}" src='{{item}}' mode="widthFix"></image>
</view>
<view>{{faqDat.publishDate}}</view>
</view>
</view>
<!--咨询回复-->
<view class="replyList">
<!--板块分割-->
<view class="replayTitle">评论</view>
<view class="replyContentRow">
<view class="replyItem" wx:for="{{faqDetailList}}">
<view class="row1">
<image src='{{item.headImg}}' mode="widthFix"></image>
<view class="replyName">{{item.name}}</view>
<view wx:if="{{item.isBest && isOwwner}}" class="isBest">最佳答案</view>
<view wx:elif="{{isOwwner}}" class="isNotBest" bindtap="setBest" data-index='{{item.id}}'>设为最佳</view>
<view class="replyTime">{{item.replyTime}}</view>
</view>
<view class="row2">
<view>{{item.content}}</view>
</view>
</view>
</view>
</view>
</view>
\ No newline at end of file
/* pages/myNews/faq.wxss */
.searchArea {
position: fixed;
top: 30%;
.content {
width: 100%;
height: 60px;
background-color: #fff;
z-index: 190;
height: 100%;
position: absolute;
top: 20px;
}
.faqDat {
margin-top: 150rpx;
width: 94%;
margin-left: 3%;
display: flex;
flex-direction: row;
flex-direction: column;
align-items: center;
justify-content: space-between;
font-size: 15px;
}
.searchArea text {
font-size: 16px;
font-weight: 400;
margin: 0 10px;
.authorRow {
width: 100%;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
.searchArea>input {
flex: 1;
margin-right:10px;
height: 40px;
line-height: 40px;
font-size: 14px;
background: #f6f6f6;
border-radius: 30px;
text-align: center;
.authorRow image {
width:40px;
height:40px;
border-radius: 20px;
}
.searchArea view {
font-size: 16px;
color: #fb689b;
font-weight: 400;
margin: 0 10px;
.authorRow view {
margin-left: 5px;
}
.input_center {
text-align: center;
color: #bcbcbc;
.faqDat .contentRow {
margin-left: 45px;
margin-right: 10px;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: left;
}
.topTitle {
position: fixed;
top: 38%;
width: 100%;
height: 35px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
background-color: #fff;
z-index: 200;
.faqDat .contentRow text{
width:100%;
word-break: break-all;
}
.topTitle .leftTitle {
width: 100%;
.faqDat .contentRow .images{
width:100%;
display: flex;
flex-direction: row;
justify-content: flex-start;
flex-wrap: wrap;
align-items: center;
}
.topTitle .leftTitle .leftLine {
height: 20px;
width: 6px;
border-radius: 3px;
background-color: #ed5f77;
margin-left: 5%;
.faqDat .contentRow .images image{
width:32%;
margin-top: 5px;
margin-right: 1%;
}
.topTitle .leftTitle .hot_title {
margin-left: 10px;
font-size: 20px;
font-weight: bolder;
color: #000;
.faqDat .contentRow view{
margin-top: 5px;
width:100%;
}
.topTitle .rightTitle {
width: 100%;
.replyList {
margin-top: 20px;
width: 94%;
margin-left: 3%;
display: flex;
flex-direction: row-reverse;
flex-direction: column;
align-items: center;
margin-right: 5%;
}
.topTitle .rightTitle view {
background-color: #e70012;
width: 10px;
height: 10px;
border-radius: 50%;
font-size: 15px;
}
.topTitle .rightTitle text {
margin-left: 10px;
font-size: 16px;
font-weight: 400;
border-bottom: 1px solid #333333;
.replyList .replayTitle {
width: 100%;
height: 20px;
line-height: 20px;
padding-left: 10px;
font-size: 18px;
border-left: 5px solid #9BCD9B;
}
.content {
.replyList .replyContentRow {
width: 100%;
height: 100%;
position: absolute;
top: 45%;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: left;
}
.hotFaqs {
width: 100%;
.replyList .replyContentRow .replyItem{
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
}
.faqItem {
.replyItem .row1{
width: 100%;
margin-top: 20px;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
.faqContent {
margin: 0 3%;
padding: 3% 5%;
display: flex;
flex-direction: column;
border-radius: 10px;
box-shadow: 0 0 15px -3px rgb(0, 0, 0, 0.3);
.replyItem .row1 image{
width:40px;
height:40px;
border-radius: 20px;
}
.faqRow1 {
display: flex;
flex-direction: row;
justify-content: space-between;
margin-bottom: 10px;
.replyItem .row1 .replyName{
margin-left: 5px;
font-size: 18px;
color:#FF69B4;
}
.newFaqButton {
position: fixed;
bottom: 0;
width: 100%;
display: flex;
align-items: center;
/* background: #fff; */
.replyItem .row1 .isBest{
margin-left: 5px;
width: 80px;
height: 20px;
line-height: 20px;
font-size: 14px;
background:pink;
color:#FFF;
border-radius: 10px;
text-align: center;
}
.newFaqButton view {
.replyItem .row1 .isNotBest{
margin-left: 5px;
width: 80px;
height: 20px;
line-height: 20px;
font-size: 14px;
background:#A020F0;
color:#FFF;
border-radius: 10px;
text-align: center;
margin: 0 auto;
width: 80%;
height: 50px;
line-height: 50px;
border-radius: 25px;
margin-bottom: 10px;
background: linear-gradient(to right, #e85c6d, #fb689b);
color: #fff;
font-size: 18px;
}
.replyItem .row1 .replyTime{
margin-left: 5px;
}
.replyItem .row2{
width: 100%;
margin-left: 45px;
margin-right: 20px;
border-radius: 20px;
}
\ No newline at end of file
/* pages/myNews/faq.wxss */
.searchArea {
position: fixed;
top: 8%;
top: 60px;
width: 100%;
height: 60px;
height: 75px;
background-color: #fff;
z-index: 190;
display: flex;
......@@ -45,7 +45,7 @@
width: 100%;
height: 100%;
position: absolute;
top: 15%;
top: 120px;
margin-bottom: 60px;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment