Browse Source

校园活动优化

master
wanghongjun 2 years ago
parent
commit
fd502b62d7
  1. 2
      addons/weliam_smartcity/api/Member.php
  2. 22
      addons/weliam_smartcity/api/Student.php
  3. 57
      addons/weliam_smartcity/core/model/MemberCampusActivities.mod.php
  4. 7
      addons/weliam_smartcity/sys/controller/member/campusActivities.ctrl.php
  5. 4
      addons/weliam_smartcity/sys/view/default/member/campus_activities/edit.html

2
addons/weliam_smartcity/api/Member.php

@ -736,7 +736,7 @@ class MemberModuleUniapp extends Uniapp
// $collectnum = pdo_fetchcolumn('SELECT COUNT(id) FROM ' . tablename(PDO_NAME . 'storefans') . " WHERE uniacid={$_W['uniacid']} and mid={$_W['mid']}"); // $collectnum = pdo_fetchcolumn('SELECT COUNT(id) FROM ' . tablename(PDO_NAME . 'storefans') . " WHERE uniacid={$_W['uniacid']} and mid={$_W['mid']}");
// $pocketcollectnum = pdo_fetchcolumn('SELECT COUNT(id) FROM ' . tablename(PDO_NAME . 'pocket_collection') . " WHERE uniacid={$_W['uniacid']} and mid={$_W['mid']}"); // $pocketcollectnum = pdo_fetchcolumn('SELECT COUNT(id) FROM ' . tablename(PDO_NAME . 'pocket_collection') . " WHERE uniacid={$_W['uniacid']} and mid={$_W['mid']}");
// $citycardcollectnum = pdo_fetchcolumn('SELECT COUNT(id) FROM ' . tablename(PDO_NAME . 'citycard_collect') . " WHERE mid={$_W['mid']}"); // $citycardcollectnum = pdo_fetchcolumn('SELECT COUNT(id) FROM ' . tablename(PDO_NAME . 'citycard_collect') . " WHERE mid={$_W['mid']}");
$collect_activities = pdo_count(PDO_NAME . 'member_collect_activities',['mid' => $_W['mid']]); $collect_activities = MemberCampusActivities::getCollectActivitiesCount($_W['mid']);
$data['collectnum'] = $collect_activities ?: 0; //收藏店铺数量 $data['collectnum'] = $collect_activities ?: 0; //收藏店铺数量
//统计用户的未读信息数量 //统计用户的未读信息数量
$data['news_total'] = pdo_getcolumn(PDO_NAME . "im" , [ $data['news_total'] = pdo_getcolumn(PDO_NAME . "im" , [

22
addons/weliam_smartcity/api/Student.php

@ -171,7 +171,7 @@ class StudentModuleUniapp extends Uniapp
$total = pdo_count(PDO_NAME . 'member_campus_activities',$where); $total = pdo_count(PDO_NAME . 'member_campus_activities',$where);
$list = pdo_getall(PDO_NAME . 'member_campus_activities',$where,$field,'','publish_time desc',[$pindex,$psize]); $list = pdo_getall(PDO_NAME . 'member_campus_activities',$where,$field,'','publish_time desc',[$pindex,$psize]);
foreach ($list as &$val) { foreach ($list as &$val) {
$val['promotional_img'] = tomedia($val['promotional_img']); $val['promotional_img'] = MemberCampusActivities::handlePromotionalImg($val['promotional_img'],2);
$val['publish_time'] = $val['publish_time'] ? date("Y-m-d H:i:s",$val['publish_time']) : ''; $val['publish_time'] = $val['publish_time'] ? date("Y-m-d H:i:s",$val['publish_time']) : '';
#发布人 #发布人
$val['nickname'] = '小粤'; $val['nickname'] = '小粤';
@ -212,8 +212,9 @@ class StudentModuleUniapp extends Uniapp
$data['cc_name'] = $cc_name ?: ''; $data['cc_name'] = $cc_name ?: '';
$where = ['campus_activities_id' => $data['id']]; // 活动评价内容 $where = ['campus_activities_id' => $data['id']]; // 活动评价内容
$where2 = ['campus_activities_id' => $data['id'], 'mid' => $_W['mid']]; $where2 = ['campus_activities_id' => $data['id'], 'mid' => $_W['mid']];
# 处理图集
$data['promotional_img'] = MemberCampusActivities::handlePromotionalImg($data['promotional_img']);
$data['promotional_img'] = tomedia($data['promotional_img']);
$thumbs_up_count = pdo_count(PDO_NAME . 'member_thumbs_up_activities',$where); // 活动点赞数 $thumbs_up_count = pdo_count(PDO_NAME . 'member_thumbs_up_activities',$where); // 活动点赞数
$data['thumbs_up_count'] = $thumbs_up_count ?: 0; $data['thumbs_up_count'] = $thumbs_up_count ?: 0;
$is_thumbs_up = pdo_get(PDO_NAME . 'member_thumbs_up_activities',$where2); $is_thumbs_up = pdo_get(PDO_NAME . 'member_thumbs_up_activities',$where2);
@ -423,7 +424,7 @@ class StudentModuleUniapp extends Uniapp
'title' => '', 'title' => '',
'cc_id' => '', 'cc_id' => '',
'describe' => '', 'describe' => '',
'promotional_img' => '', 'promotional_img' => [],
'status' => 0, 'status' => 0,
'reject' => '' 'reject' => ''
]; ];
@ -432,6 +433,7 @@ class StudentModuleUniapp extends Uniapp
if (!empty($queryRes)) { if (!empty($queryRes)) {
$data = $queryRes; $data = $queryRes;
if ($data['status'] != 2) $data['reject'] = ''; if ($data['status'] != 2) $data['reject'] = '';
$data['promotional_img'] = MemberCampusActivities::promotionalImgArr($data['promotional_img']);
} }
} }
#unset($data['status']); #unset($data['status']);
@ -452,18 +454,22 @@ class StudentModuleUniapp extends Uniapp
$cc_id = $_GPC['cc_id']; $cc_id = $_GPC['cc_id'];
$title = trim($_GPC['title']); $title = trim($_GPC['title']);
$describe = $_GPC['describe']; $describe = $_GPC['describe'];
$promotional_img = trim($_GPC['promotional_img']); $promotional_img = $_GPC['promotional_img'];
// 验证必填数据 // 验证必填数据
if (empty($title)) $this->renderError('请填写活动标题'); if (empty($title)) $this->renderError('请填写活动标题');
if (empty($describe)) $this->renderError('请填写活动内容'); if (empty($describe)) $this->renderError('请填写活动内容');
if (empty($promotional_img)) $this->renderError('请上传活动宣传图'); if (empty($promotional_img)) $this->renderError('请上传图集');
if (!is_array($promotional_img)) $this->renderError('图集数据类型错误');
// 验证数据是否违规 // 验证数据是否违规
$textRes = Filter::init($title,$_W['source'],1); $textRes = Filter::init($title,$_W['source'],1);
if($textRes['errno'] == 0) $this->renderError('活动标题'.$textRes['message']); if($textRes['errno'] == 0) $this->renderError('活动标题'.$textRes['message']);
$textRes = Filter::init($describe,$_W['source'],1); $textRes = Filter::init($describe,$_W['source'],1);
if($textRes['errno'] == 0) $this->renderError('活动内容'.$textRes['message']); if($textRes['errno'] == 0) $this->renderError('活动内容'.$textRes['message']);
$textRes = Filter::init($promotional_img,$_W['source'],2); foreach ($promotional_img as $image) {
if($textRes['errno'] == 0) $this->renderError('活动宣传图'.$textRes['message']); $textRes = Filter::init($image,$_W['source'],2);
if($textRes['errno'] == 0) $this->renderError('图集'.$textRes['message']);
}
$promotional_img_str = MemberCampusActivities::promotionalImgStr($promotional_img);
// 验证活动标题是否存在 // 验证活动标题是否存在
$queryWhere = " title = '{$title}'"; $queryWhere = " title = '{$title}'";
$queryWhere .= $id ? " and id != {$id} " : ''; $queryWhere .= $id ? " and id != {$id} " : '';
@ -475,7 +481,7 @@ class StudentModuleUniapp extends Uniapp
'title' => $title, 'title' => $title,
'cc_id' => $cc_id, 'cc_id' => $cc_id,
'describe' => htmlspecialchars_decode($describe), 'describe' => htmlspecialchars_decode($describe),
'promotional_img' => $promotional_img 'promotional_img' => $promotional_img_str
]; ];
if ($id) { if ($id) {
$data['status'] = 0; $data['status'] = 0;

57
addons/weliam_smartcity/core/model/MemberCampusActivities.mod.php

@ -0,0 +1,57 @@
<?php
defined('IN_IA') or exit('Access Denied');
class MemberCampusActivities
{
/**
* 处理图集
* @param $promotional_img
* @param $type
* @return false|mixed|string[]
*/
public static function handlePromotionalImg($promotional_img,$type = 1)
{
$promotional_img = explode("||",$promotional_img);
foreach ($promotional_img as $imageKey => $imageVal) {
$promotional_img[$imageKey] = tomedia($imageVal);
}
$image_val = array_values($promotional_img);
$first_image = $image_val[0];
return $type == 1 ? $promotional_img : $first_image;
}
/**
* 返回数组 展示
* @param $promotionalImg
* @return false|string[]
*/
public static function promotionalImgArr($promotionalImg)
{
return explode("||",$promotionalImg);
}
/**
* 返回字符串 保存
* @param $promotionalImg
* @return string
*/
public static function promotionalImgStr($promotionalImg)
{
return implode("||",$promotionalImg);
}
/**
* 获取收藏数量
* @param $mid
* @return int|mixed
*/
public static function getCollectActivitiesCount($mid)
{
$sql = "select count(a.id) as `count` from ".tablename(PDO_NAME . 'member_collect_activities')
." as a join ".tablename(PDO_NAME . 'member_campus_activities') . " as b"
." on a.campus_activities_id = b.id where a.mid = '{$mid}'";
$res = pdo_fetch($sql);
return $res['count'] ?: 0;
}
}

7
addons/weliam_smartcity/sys/controller/member/campusActivities.ctrl.php

@ -27,7 +27,7 @@ class campusActivities_WeliamController {
$ccRes = Category::getSingleCategory($item['cc_id'],'name'); $ccRes = Category::getSingleCategory($item['cc_id'],'name');
$item['cc_name'] = $ccRes['name']; $item['cc_name'] = $ccRes['name'];
} }
$item['promotional_img'] = tomedia($item['promotional_img']); $item['promotional_img'] = MemberCampusActivities::handlePromotionalImg($item['promotional_img'],2);
$item['nickname'] = '小粤'; $item['nickname'] = '小粤';
$item['avatar'] = $_W['wlsetting']['base']['logo'] ? tomedia($_W['wlsetting']['base']['logo']) : tomedia('headimg_'.$_W['account']['acid'].'.jpg'); $item['avatar'] = $_W['wlsetting']['base']['logo'] ? tomedia($_W['wlsetting']['base']['logo']) : tomedia('headimg_'.$_W['account']['acid'].'.jpg');
if ($item['create_place'] == 2) Member::getMemberInfo($item,$item['create_user_id']); if ($item['create_place'] == 2) Member::getMemberInfo($item,$item['create_user_id']);
@ -51,12 +51,12 @@ class campusActivities_WeliamController {
if (empty($data['title'])) wl_message('请填写活动标题','refresh','error'); if (empty($data['title'])) wl_message('请填写活动标题','refresh','error');
if (strlen($data['title']) > 128) wl_message('活动标题不得超过128个字符','refresh','error'); if (strlen($data['title']) > 128) wl_message('活动标题不得超过128个字符','refresh','error');
if (empty($data['describe'])) wl_message('请填写活动描述','refresh','error'); if (empty($data['describe'])) wl_message('请填写活动描述','refresh','error');
if (empty($data['promotional_img'])) wl_message('请填写上传活动宣传图','refresh','error'); if (empty($data['promotional_img'])) wl_message('请填写上传图','refresh','error');
$data['uniacid'] = $_W['uniacid']; $data['uniacid'] = $_W['uniacid'];
$data['title'] = trim($data['title']); $data['title'] = trim($data['title']);
$data['recommend'] = $data['recommend'] ?: 0; $data['recommend'] = $data['recommend'] ?: 0;
$data['promotional_img'] = trim($data['promotional_img']); $data['promotional_img'] = MemberCampusActivities::promotionalImgStr($data['promotional_img']);
$data['describe'] = htmlspecialchars_decode($data['describe']); $data['describe'] = htmlspecialchars_decode($data['describe']);
$where = ['title' => $data['title']]; $where = ['title' => $data['title']];
@ -81,6 +81,7 @@ class campusActivities_WeliamController {
$register = []; $register = [];
if (!empty($id)) { if (!empty($id)) {
$register = pdo_get(PDO_NAME . 'member_campus_activities', ['id' => $id]); $register = pdo_get(PDO_NAME . 'member_campus_activities', ['id' => $id]);
$register['promotional_img'] = MemberCampusActivities::promotionalImgArr($register['promotional_img']);
} }
$category = Category::getChildCategoryAll(6,'*',true); $category = Category::getChildCategoryAll(6,'*',true);

4
addons/weliam_smartcity/sys/view/default/member/campus_activities/edit.html

@ -33,9 +33,9 @@
</div> </div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-2 control-label">活动宣传<span class="must-fill">*</span></label> <label class="col-sm-2 control-label"><span class="must-fill">*</span></label>
<div class="col-sm-9"> <div class="col-sm-9">
{php echo attachment_select('register[promotional_img]', $register['promotional_img'])} {php echo attachment_select_multi('register[promotional_img]', $register['promotional_img'])}
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">

Loading…
Cancel
Save