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 ...@@ -22,6 +22,8 @@ class CourseMediaDat extends CompassDynamicData
var $is_free; var $is_free;
var $price; var $price;
var $view_count; var $view_count;
var $is_top;
var $is_recommend;
var $delete_flg; var $delete_flg;
//用户是否已经购买本视频 //用户是否已经购买本视频
...@@ -53,6 +55,8 @@ class CourseMediaDat extends CompassDynamicData ...@@ -53,6 +55,8 @@ class CourseMediaDat extends CompassDynamicData
$this->is_free = $record["is_free"]; $this->is_free = $record["is_free"];
$this->price = $record["price"]; $this->price = $record["price"];
$this->view_count = $record["view_count"]; $this->view_count = $record["view_count"];
$this->is_top = $record["is_top"];
$this->is_recommend = $record["is_recommend"];
$this->delete_flg = $record["delete_flg"]; $this->delete_flg = $record["delete_flg"];
} }
...@@ -131,6 +135,8 @@ class CourseMediaDat extends CompassDynamicData ...@@ -131,6 +135,8 @@ class CourseMediaDat extends CompassDynamicData
ParamUtil::copyObj2Array($v_param, $this, "is_free"); ParamUtil::copyObj2Array($v_param, $this, "is_free");
ParamUtil::copyObj2Array($v_param, $this, "price"); ParamUtil::copyObj2Array($v_param, $this, "price");
ParamUtil::copyObj2Array($v_param, $this, "view_count"); 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"); 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"); ...@@ -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/UserBuyMemberDat.inc");
require_once(COMPASS_LIB_ROOT . "/cn/compass/entity/UserLoginDat.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/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 // definition
require_once(COMPASS_LIB_ROOT . "/cn/compass/entity/definition/ImageType.inc"); 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); ...@@ -11,27 +11,60 @@ $subId = ParamUtil::getRequestNumber("subId", 0);
$page = ParamUtil::getRequestNumber("page", 0); $page = ParamUtil::getRequestNumber("page", 0);
//每页显示条数 //每页显示条数
$rowCount = 10;
$result = array(); $result = array();
$rowCount = 10;
$offset = $page * $rowCount; $offset = $page * $rowCount;
//检索数据库 if($subId == 0) {
$param = array(); //大分类首页
$param['parent_category_id'] = $parentId; //获取该分类下置顶课程【最多前5个】
$param['sub_category_id'] = $subId; $param = array();
$param['delete_flg'] = false; $param['parent_category_id'] = $parentId;
$mediaList = CourseMediaDat::getList($param,'id','desc', $offset, $rowCount); $param['is_top'] = true;
$allCount = CourseMediaDat::getListCount($param); $param['delete_flg'] = false;
$pageCount = ceil($allCount/$rowCount); $topMediaList = CourseMediaDat::getList($param,'id','desc', 0, 10);
//接口返回数据 //获取该大分类下各个小分类的推荐课堂
$result["rowCount"] = $rowCount; $param = array();
$result["page"] = $page; $param['parent_id'] = $parentId;
$result["pageCount"] = $pageCount; $param['delete_flg'] = false;
$result["list"] = $mediaList; $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); 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({ ...@@ -7,8 +7,9 @@ Page({
*/ */
data: { data: {
faqId:0, faqId:0,
isOwner:false,
faqDat:null, faqDat:null,
replyList:[], faqDetailList:[],
}, },
/** /**
...@@ -46,14 +47,13 @@ Page({ ...@@ -46,14 +47,13 @@ Page({
var config = wx.getStorageSync('config'); var config = wx.getStorageSync('config');
//获取用户消息列表 //获取用户消息列表
wx.request({ wx.request({
url: app.url + 'ajax_get_faq_top_dat.php', url: app.url + 'ajax_get_faq_detail.php',
header: { header: {
'content-type': 'application/json' 'content-type': 'application/json'
}, },
data: { data: {
unionId: config.unionId, unionId: config.unionId,
keyword: that.data.keyword, faqId: that.data.faqId
page: that.data.page,
}, },
method: 'GET', method: 'GET',
dataType: 'json', dataType: 'json',
...@@ -61,8 +61,9 @@ Page({ ...@@ -61,8 +61,9 @@ Page({
console.log(res.data) console.log(res.data)
if (res.statusCode == 200) { if (res.statusCode == 200) {
that.setData({ that.setData({
pageCount: res.data.result.pageCount, isOwner: res.data.result.isOwner,
faqList: that.data.faqList.concat(res.data.result.faqList) faqDat: res.data.result.faqDat,
faqDetailList: res.data.result.faqDetailList
}) })
} }
}, },
...@@ -71,26 +72,6 @@ Page({ ...@@ -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() { searchFaq() {
if (this.data.keyword == null || this.data.keyword == '') { if (this.data.keyword == null || this.data.keyword == '') {
...@@ -106,18 +87,21 @@ Page({ ...@@ -106,18 +87,21 @@ Page({
}, },
//咨询详细页面 //咨询详细页面
faqDetail(e) { setBest(e) {
let faqId = e.currentTarget.dataset['index']
let faqDetailId = e.currentTarget.dataset['index']
//调用接口设置最佳答案
//ajax_set_faq_best.php
wx.navigateTo({ wx.navigateTo({
url: '../faqDetail/faqDetail?faqId=' + faqId, url: '../faqDetail/faqDetail?faqId=' + faqId,
}) })
}, },
//我的咨询 //回复
myFaq(e) { answerFaq(e) {
wx.navigateTo({ //调用接口设置最佳答案
url: '../myFaq/myFaq', //ajax_set_faq_answer.php.php
}) //回复以后调用接口刷新本页面
}, },
//立即咨询 //立即咨询
......
<!--pages/myNews/myNews.wxml--> <!--pages/myNews/myNews.wxml-->
<custom-navi text="咨询页面" back="{{true}}" home="{{false}}" bg1="#FFF" bg2="#FFF" bg3="#FFF"></custom-navi> <custom-navi text="咨询页面" back="{{true}}" home="{{false}}" bg1="#FFF" bg2="#FFF" bg3="#FFF"></custom-navi>
<view class="content"> <view class="content">
<view class="hotFaqs"> <view class="faqDat">
<view bindtap='faqDetail' wx:for="{{faqList}}" class="faqItem" data-index="{{item.id}}" wx:key="{{index}}"> <!--作者-->
<view class="faqContent"> <view class="authorRow">
<view class="faqRow1"> <image src='{{faqDat.headImg}}' mode="widthFix"></image>
<view class="faqCotent">{{item.content}}</view> <view>{{faqDat.name}}</view>
<view class="faqReplycount">回复:{{item.reply_count}}</view> </view>
</view>
<view class="faqRow2">最佳答案:{{item.best_detail_content}}</view>
</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>
<!--咨询回复-->
<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> </view>
\ No newline at end of file
/* pages/myNews/faq.wxss */ /* pages/myNews/faq.wxss */
.content {
.searchArea {
position: fixed;
top: 30%;
width: 100%; width: 100%;
height: 60px; height: 100%;
background-color: #fff; position: absolute;
z-index: 190; top: 20px;
}
.faqDat {
margin-top: 150rpx;
width: 94%;
margin-left: 3%;
display: flex; display: flex;
flex-direction: row; flex-direction: column;
align-items: center; align-items: center;
justify-content: space-between; font-size: 15px;
} }
.searchArea text { .authorRow {
font-size: 16px; width: 100%;
font-weight: 400; display: flex;
margin: 0 10px; flex-direction: row;
justify-content: flex-start;
align-items: center;
} }
.searchArea>input { .authorRow image {
flex: 1; width:40px;
margin-right:10px; height:40px;
height: 40px; border-radius: 20px;
line-height: 40px;
font-size: 14px;
background: #f6f6f6;
border-radius: 30px;
text-align: center;
} }
.searchArea view { .authorRow view {
font-size: 16px; margin-left: 5px;
color: #fb689b;
font-weight: 400;
margin: 0 10px;
} }
.input_center { .faqDat .contentRow {
text-align: center; margin-left: 45px;
color: #bcbcbc; margin-right: 10px;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: left;
} }
.topTitle { .faqDat .contentRow text{
position: fixed; width:100%;
top: 38%; word-break: break-all;
width: 100%;
height: 35px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
background-color: #fff;
z-index: 200;
} }
.topTitle .leftTitle { .faqDat .contentRow .images{
width: 100%; width:100%;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
justify-content: flex-start;
flex-wrap: wrap;
align-items: center; align-items: center;
} }
.topTitle .leftTitle .leftLine { .faqDat .contentRow .images image{
height: 20px; width:32%;
width: 6px; margin-top: 5px;
border-radius: 3px; margin-right: 1%;
background-color: #ed5f77;
margin-left: 5%;
} }
.topTitle .leftTitle .hot_title { .faqDat .contentRow view{
margin-left: 10px; margin-top: 5px;
font-size: 20px; width:100%;
font-weight: bolder;
color: #000;
} }
.topTitle .rightTitle { .replyList {
width: 100%; margin-top: 20px;
width: 94%;
margin-left: 3%;
display: flex; display: flex;
flex-direction: row-reverse; flex-direction: column;
align-items: center; align-items: center;
margin-right: 5%; font-size: 15px;
}
.topTitle .rightTitle view {
background-color: #e70012;
width: 10px;
height: 10px;
border-radius: 50%;
} }
.topTitle .rightTitle text { .replyList .replayTitle {
margin-left: 10px; width: 100%;
font-size: 16px; height: 20px;
font-weight: 400; line-height: 20px;
border-bottom: 1px solid #333333; padding-left: 10px;
font-size: 18px;
border-left: 5px solid #9BCD9B;
} }
.content { .replyList .replyContentRow {
width: 100%; width: 100%;
height: 100%; display: flex;
position: absolute; flex-direction: column;
top: 45%; justify-content: flex-start;
align-items: left;
} }
.hotFaqs { .replyList .replyContentRow .replyItem{
width: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: flex-start;
align-items: center; align-items: center;
} }
.faqItem { .replyItem .row1{
width: 100%; width: 100%;
margin-top: 20px; display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
} }
.faqContent { .replyItem .row1 image{
margin: 0 3%; width:40px;
padding: 3% 5%; height:40px;
display: flex; border-radius: 20px;
flex-direction: column;
border-radius: 10px;
box-shadow: 0 0 15px -3px rgb(0, 0, 0, 0.3);
} }
.faqRow1 { .replyItem .row1 .replyName{
display: flex; margin-left: 5px;
flex-direction: row;
justify-content: space-between; font-size: 18px;
margin-bottom: 10px; color:#FF69B4;
} }
.newFaqButton { .replyItem .row1 .isBest{
position: fixed; margin-left: 5px;
bottom: 0; width: 80px;
width: 100%; height: 20px;
display: flex; line-height: 20px;
align-items: center; font-size: 14px;
/* background: #fff; */ 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; text-align: center;
margin: 0 auto; }
width: 80%;
height: 50px; .replyItem .row1 .replyTime{
line-height: 50px; margin-left: 5px;
border-radius: 25px; }
margin-bottom: 10px;
background: linear-gradient(to right, #e85c6d, #fb689b); .replyItem .row2{
color: #fff; width: 100%;
font-size: 18px; margin-left: 45px;
margin-right: 20px;
border-radius: 20px;
} }
\ No newline at end of file
/* pages/myNews/faq.wxss */ /* pages/myNews/faq.wxss */
.searchArea { .searchArea {
position: fixed; position: fixed;
top: 8%; top: 60px;
width: 100%; width: 100%;
height: 60px; height: 75px;
background-color: #fff; background-color: #fff;
z-index: 190; z-index: 190;
display: flex; display: flex;
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
width: 100%; width: 100%;
height: 100%; height: 100%;
position: absolute; position: absolute;
top: 15%; top: 120px;
margin-bottom: 60px; 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