You've already forked qlg.tsgz.moe
Init Repo
This commit is contained in:
286
hyhproject/admin/model/GoodsAppraises.php
Executable file
286
hyhproject/admin/model/GoodsAppraises.php
Executable file
@ -0,0 +1,286 @@
|
||||
<?php
|
||||
|
||||
namespace wstmart\admin\model;
|
||||
|
||||
use think\Db;
|
||||
|
||||
/**
|
||||
|
||||
* ============================================================================
|
||||
|
||||
* 商品评价业务处理
|
||||
|
||||
*/
|
||||
|
||||
class GoodsAppraises extends Base{
|
||||
|
||||
/**
|
||||
|
||||
* 分页
|
||||
|
||||
*/
|
||||
|
||||
public function pageQuery(){
|
||||
|
||||
$where = 'p.shopId=g.shopId and gp.goodsId=g.goodsId and o.orderId=gp.orderId and gp.dataFlag=1';
|
||||
|
||||
$shopName = input('shopName');
|
||||
|
||||
$goodsName = input('goodsName');
|
||||
|
||||
|
||||
|
||||
$areaId1 = (int)input('areaId1');
|
||||
|
||||
if($areaId1>0){
|
||||
|
||||
$where.=" and p.areaIdPath like '".$areaId1."%'";
|
||||
|
||||
|
||||
|
||||
$areaId2 = (int)input("areaId1_".$areaId1);
|
||||
|
||||
if($areaId2>0)
|
||||
|
||||
$where.=" and p.areaIdPath like '".$areaId1."_".$areaId2."%'";
|
||||
|
||||
|
||||
|
||||
$areaId3 = (int)input("areaId1_".$areaId1."_".$areaId2);
|
||||
|
||||
if($areaId3>0)
|
||||
|
||||
$where.=" and p.areaId = $areaId3";
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if($shopName!='')
|
||||
|
||||
$where.=" and (p.shopName like '%".$shopName."%' or p.shopSn like '%".$shopName."%')";
|
||||
|
||||
if($goodsName!='')
|
||||
|
||||
$where.=" and (g.goodsName like '%".$goodsName."%' or g.goodsSn like '%".$goodsName."%')";
|
||||
|
||||
$sort = input('sort');
|
||||
|
||||
$order = [];
|
||||
|
||||
if($sort!=''){
|
||||
|
||||
$sortArr = explode('.',$sort);
|
||||
|
||||
$order = $sortArr[0].' '.$sortArr[1];
|
||||
|
||||
}
|
||||
|
||||
$rs = $this->alias('gp')->field('gp.*,g.goodsName,g.goodsImg,o.orderNo,u.loginName')
|
||||
|
||||
->join('__GOODS__ g ','gp.goodsId=g.goodsId','left')
|
||||
|
||||
->join('__ORDERS__ o','gp.orderId=o.orderId','left')
|
||||
|
||||
->join('__USERS__ u','u.userId=gp.userId','left')
|
||||
|
||||
->join('__SHOPS__ p','p.shopId=gp.shopId','left')
|
||||
|
||||
->where($where)
|
||||
|
||||
->order($order)
|
||||
|
||||
->order('id desc')
|
||||
|
||||
->paginate(input('limit/d'))->toArray();
|
||||
|
||||
return $rs;
|
||||
|
||||
}
|
||||
|
||||
public function getById($id){
|
||||
|
||||
return $this->alias('gp')->field('gp.*,o.orderNo,u.loginName,g.goodsName,g.goodsImg')
|
||||
|
||||
->join('__GOODS__ g ','gp.goodsId=g.goodsId','left')
|
||||
|
||||
->join('__ORDERS__ o','gp.orderId=o.orderId','left')
|
||||
|
||||
->join('__USERS__ u','u.userId=gp.userId','left')
|
||||
|
||||
->where('gp.id',$id)->find();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
* 编辑
|
||||
|
||||
*/
|
||||
|
||||
public function edit(){
|
||||
|
||||
$Id = input('post.id/d',0);
|
||||
|
||||
$data = input('post.');
|
||||
|
||||
$data['isShow'] = ((int)$data['isShow']==1)?1:0;
|
||||
|
||||
WSTUnset($data,'createTime');
|
||||
|
||||
Db::startTrans();
|
||||
|
||||
try{
|
||||
|
||||
$result = $this->validate('GoodsAppraises.edit')->allowField(true)->save($data,['id'=>$Id]);
|
||||
|
||||
if(false !== $result){
|
||||
|
||||
$goodsAppraises = $this->get($Id);
|
||||
|
||||
$this->statGoodsAppraises($goodsAppraises->goodsId,$goodsAppraises->shopId);
|
||||
|
||||
Db::commit();
|
||||
|
||||
return WSTReturn("编辑成功", 1);
|
||||
|
||||
}else{
|
||||
|
||||
return WSTReturn($this->getError(),-1);
|
||||
|
||||
}
|
||||
|
||||
}catch (\Exception $e) {
|
||||
|
||||
print_r($e);
|
||||
|
||||
Db::rollback();errLog($e);
|
||||
|
||||
}
|
||||
|
||||
return WSTReturn("编辑失败");
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
* 删除
|
||||
|
||||
*/
|
||||
|
||||
public function del(){
|
||||
|
||||
$id = input('post.id/d',0);
|
||||
|
||||
Db::startTrans();
|
||||
|
||||
try{
|
||||
|
||||
$goodsAppraises = $this->get($id);
|
||||
|
||||
$goodsAppraises->dataFlag = -1;
|
||||
|
||||
$result = $goodsAppraises->save();
|
||||
|
||||
if(false !== $result){
|
||||
|
||||
$this->statGoodsAppraises($goodsAppraises->goodsId,$goodsAppraises->shopId);
|
||||
|
||||
Db::commit();
|
||||
|
||||
return WSTReturn("删除成功", 1);
|
||||
|
||||
}else{
|
||||
|
||||
return WSTReturn($this->getError(),-1);
|
||||
|
||||
}
|
||||
|
||||
}catch (\Exception $e) {
|
||||
|
||||
Db::rollback();errLog($e);
|
||||
|
||||
}
|
||||
|
||||
return WSTReturn("删除失败");
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
|
||||
* 重新统计商品
|
||||
|
||||
*/
|
||||
|
||||
public function statGoodsAppraises($goodsId,$shopId){
|
||||
|
||||
$rs = Db::name('goods_appraises')->where(['goodsId'=>$goodsId,'isShow'=>1,'dataFlag'=>1])
|
||||
|
||||
->field('count(userId) userNum,sum(goodsScore) goodsScore,sum(serviceScore) serviceScore, sum(timeScore) timeScore')
|
||||
|
||||
->find();
|
||||
|
||||
$data = [];
|
||||
|
||||
//商品评价数
|
||||
|
||||
Db::name('goods')->where('goodsId',$goodsId)->update(['appraiseNum'=>$rs['userNum']]);
|
||||
|
||||
//商品评价统计
|
||||
|
||||
$data['totalScore'] = (int)$rs['goodsScore']+$rs['serviceScore']+$rs['timeScore'];
|
||||
|
||||
$data['totalUsers'] = (int)$rs['userNum'];
|
||||
|
||||
$data['goodsScore'] = (int)$rs['goodsScore'];
|
||||
|
||||
$data['goodsUsers'] = (int)$rs['userNum'];
|
||||
|
||||
$data['serviceScore'] = (int)$rs['serviceScore'];
|
||||
|
||||
$data['serviceUsers'] = (int)$rs['userNum'];
|
||||
|
||||
$data['timeScore'] = (int)$rs['serviceScore'];
|
||||
|
||||
$data['timeUsers'] = (int)$rs['userNum'];
|
||||
|
||||
Db::name('goods_scores')->where('goodsId',$goodsId)->update($data);
|
||||
|
||||
//商家评价
|
||||
|
||||
$rs = Db::name('goods_appraises')->where(['shopId'=>$shopId,'isShow'=>1,'dataFlag'=>1])
|
||||
|
||||
->field('count(userId) userNum,sum(goodsScore) goodsScore,sum(serviceScore) serviceScore, sum(timeScore) timeScore')
|
||||
|
||||
->find();
|
||||
|
||||
$data['totalScore'] = $rs['goodsScore']+$rs['serviceScore']+$rs['timeScore'];
|
||||
|
||||
$data['totalUsers'] = $rs['userNum'];
|
||||
|
||||
$data['goodsScore'] = $rs['goodsScore'];
|
||||
|
||||
$data['goodsUsers'] = $rs['userNum'];
|
||||
|
||||
$data['serviceScore'] = $rs['serviceScore'];
|
||||
|
||||
$data['serviceUsers'] = $rs['userNum'];
|
||||
|
||||
$data['timeScore'] = $rs['serviceScore'];
|
||||
|
||||
$data['timeUsers'] = $rs['userNum'];
|
||||
|
||||
Db::name('shop_scores')->where('shopId',$shopId)->update($data);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user