作者 Cool
1 个管道 的构建 通过 耗费 1 秒

商家入驻社区有效期功能开发

... ... @@ -140,6 +140,23 @@ class Store extends Backend
$auth_group_data['uid'] = $admin_model->id;
$result_auth_group = $auth_group_model->isUpdate(false)->save($auth_group_data);
$row->allowField(true)->isUpdate(true)->save(['admin_id'=>$admin_model->id]);
// 新增社区有效期
$time = time();
foreach (explode(',',$row->house_ids) as $v) {
$insert = [
'user_id' => $row->user_id,
'store_id' => $row->id,
'house_id' => $v,
'start_time' => $time,
'end_time' => $time + config('site.house_valid'),
'createtime' => $time,
'updatetime' => $time
];
$result_store_house = Db::name('store_house')->insertGetId($insert);
if(!$result_store_house) {
Db::rollback();
}
}
}
if($params['status'] == 4) {
// 审核不通过,执行退款操作
... ...
... ... @@ -550,6 +550,7 @@ class Store extends Api
"name"://小区名称
"area"://所在区
"address"://地址
"days"://剩余天数
}
]
}
... ... @@ -559,22 +560,34 @@ class Store extends Api
{
$store = $this->get_store();
$where = [
'id' => ['in',$store['house_ids']]
'sh.user_id' => $this->auth->id,
'sh.store_id' => $store['id'],
];
$area = $this->request->param('area');
$keyword = $this->request->param('keyword');
if(!empty($area)){
$where['area'] = ['like',"%$area%"];
$where['h.area'] = ['like',"%$area%"];
}
if(!empty($keyword)){
$where['name'] = ['like',"%$keyword%"];
}
$data = Db::name('house')
->where($where)
->field('id,name,area,address')
->order('createtime desc')
->select();
$this->success('success',$data);
$where['h.name'] = ['like',"%$keyword%"];
}
$store_house = Db::name('store_house')->alias('sh')
->field('sh.end_time,h.id,h.name,h.area,h.address')
->join('__HOUSE__ h','sh.house_id = h.id')
->where($where)->select();
$time = time();
foreach ($store_house as &$v) {
$v['days'] = $v['end_time'] > $time ? floor(($v['end_time'] - $time) / 86400) : 0;
}
// $where = [
// 'id' => ['in',$store_house]
// ];
// $data = Db::name('house')
// ->where($where)
// ->field('id,name,area,address')
// ->order('createtime desc')
// ->select();
$this->success('success',$store_house);
}
/**
... ... @@ -1035,6 +1048,39 @@ class Store extends Api
'house_ids' => $store['house_ids'].','.$param['house_ids'].','
];
$res_store = Db::name('store')->where('id',$param['store_id'])->update($update);
if(!$res_store) {
Db::rollback();
}
$time = time();
foreach (explode(',',$param['house_ids']) as $v) {
// 新增或修改社区有效期数据
$store_house = Db::name('store_house')->where(['user_id'=>$this->auth->id,'store_id'=>$store['id'],'house_id'=>$v])->find();
if($store_house) {
$house_update = [
'id' => $store_house['id']
];
if($store_house['end_time'] > $time) {
$house_update['end_time'] = $store_house['end_time'] + config('site.house_valid');
} else {
$house_update['end_time'] = $time + config('site.house_valid');
}
$result_store_house = Db::name('store_house')->update(['id'=>$store_house['id'],'']);
} else {
$insert = [
'user_id' => $param['user_id'],
'store_id' => $param['store_id'],
'house_id' => $v,
'start_time' => $time,
'end_time' => $time + config('site.house_valid'),
'createtime' => $time,
'updatetime' => $time
];
$result_store_house = Db::name('store_house')->insertGetId($insert);
}
if(!$result_store_house) {
Db::rollback();
}
}
}
Db::commit();
} catch (PDOException $e) {
... ...
... ... @@ -164,9 +164,10 @@ class Ajax extends Frontend
if ($successful) {
Db::startTrans();
// 回填微信的订单号
$time = time();
$update['transaction_id'] = $notify->transaction_id;
$update['status'] = 2; //付款成功
$update['pay_time'] = time();
$update['pay_time'] = $time;
//更新状态: 已购买
$res_order = Db::name('store_order')->where(['id' => $info['id']])->update($update);
// 新增关联社区
... ... @@ -174,6 +175,36 @@ class Ajax extends Frontend
'house_ids' => $store['house_ids'].','.$info['house_ids'].','
];
$res_store = Db::name('store')->where('id',$info['store_id'])->update($update);
// 修改或新增社区有效期
foreach (explode(',',$info['house_ids']) as $v) {
$store_house = Db::name('store_house')->where(['user_id'=>$info['user_id'],'store_id'=>$info['store_id'],'house_id'=>$v])->find();
if($store_house) {
$house_update = [
'id' => $store_house['id']
];
if($store_house['end_time'] > $time) {
$house_update['end_time'] = $store_house['end_time'] + config('site.house_valid');
} else {
$house_update['end_time'] = $time + config('site.house_valid');
}
$result_store_house = Db::name('store_house')->update(['id'=>$store_house['id'],'']);
} else {
$insert = [
'user_id' => $info['user_id'],
'store_id' => $info['store_id'],
'house_id' => $v,
'start_time' => $time,
'end_time' => $time + config('site.house_valid'),
'createtime' => $time,
'updatetime' => $time
];
$result_store_house = Db::name('store_house')->insertGetId($insert);
}
if(!$result_store_house) {
Db::rollback();
return false; // 返回处理完成
}
}
if(!$res_order || !$res_store) {
Db::rollback();
return false; // 返回处理完成
... ...