王总上门按摩后台代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

372 lines
11 KiB

<?php
namespace app\massage\controller;
use app\AdminRest;
use app\massage\model\Commission;
use app\massage\model\Order;
use app\massage\model\ShopCarte;
use app\massage\model\ShopGoods;
use app\massage\model\ShortCodeConfig;
use app\massage\model\User;
use app\massage\model\Wallet;
use longbingcore\wxcore\Fdd;
use think\facade\Db;
class AdminShop extends AdminRest
{
public function changeOpenid(){
$user_model = new User();
$list = $user_model->where(['uniacid'=>$this->_uniacid])->field('openid')->order('id desc')->paginate(100)->toArray();
$token = $this->getGzhToken();
$url = 'https://api.weixin.qq.com/cgi-bin/changeopenid?access_token='.$token;
$openidArray = array_column($list['data'],'openid');
// $openidArray = ['oaGb56SIiypTWFv_VqHWuzLC-TzY'];
$data['from_appid']="wxfe21501d9bdcafb0";
$data['openid_list']= $openidArray;
$data = json_encode($data);
$res = lbCurlPost($url,$data);
$res = json_decode($res,true);
if(!empty($res['result_list'])){
foreach ($res['result_list'] as $v){
if(isset($v['err_msg'])&&$v['err_msg']=='ok'){
$user_model->dataUpdate(['openid'=>$v['ori_openid']],['openid'=>$v['new_openid'],'web_openid'=>$v['new_openid']]);
}
}
}
return $this->success($res);
}
/**
* @author chenniang
* @DataTime: 2022-02-26 17:19
* @功能说明:
*/
public function getGzhToken($update=0){
$uniacid = $this->_uniacid;
$appid = 'wx014c921b665c5d94';
$gzh_secret = '17c62d6000a4cb097beda64589f294c2';
$key = 'articleToken-';
$value = getCache($key, $uniacid);
if ($value&&$update==0)
{
return $value;
}
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$gzh_secret}";
$js_token = file_get_contents($url);
$js_token = json_decode($js_token, true);
if (isset($js_token['access_token']))
{
$js_token = $js_token['access_token'];
setCache($key, $js_token, 1200, $uniacid);
return $js_token;
}
$str = '请求ac错误' . isset($js_token['errmsg']) ? $js_token['errmsg'] : '';
echo $str;
die;
}
/**
* 添加分类
* @return \think\Response
*/
public function addCarte()
{
$input = $this->request->only(['name', 'sort']);
$rule = [
'name' => 'require',
'sort' => 'require',
];
$validate = \think\facade\Validate::rule($rule);
if (!$validate->check($input)) {
return $this->error($validate->getError());
}
$input['name'] = trim($input['name']);
$where = [
['name', '=', $input['name']],
['status', 'in', [0, 1]],
['uniacid', '=', $this->_uniacid]
];
$info = ShopCarte::getInfo($where);
if (!empty($info)) {
return $this->error('此分类已存在,不可创建');
}
$input['uniacid'] = $this->_uniacid;
$res = ShopCarte::add($input);
if ($res) {
return $this->success('');
}
return $this->error('创建失败');
}
/**
* 编辑分类
* @return \think\Response
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
public function editCarte()
{
$input = $this->request->only(['id', 'name', 'sort']);
if ($this->request->isPost()) {
$rule = [
'name' => 'require',
'sort' => 'require',
];
$validate = \think\facade\Validate::rule($rule);
if (!$validate->check($input)) {
return $this->error($validate->getError());
}
$input['name'] = trim($input['name']);
$where = [
['name', '=', $input['name']],
['status', 'in', [0, 1]],
['uniacid', '=', $this->_uniacid],
['id', '<>', $input['id']]
];
$info = ShopCarte::getInfo($where);
if (!empty($info)) {
return $this->error('此分类已存在,不可编辑');
}
$res = ShopCarte::update($input, ['id' => $input['id']]);
if ($res === false) {
return $this->error('编辑失败');
}
return $this->success('');
}
if (empty($input['id'])) {
return $this->error('参数错误');
}
$info = $info = ShopCarte::getInfo(['id' => $input['id']]);
return $this->success($info);
}
/**
* 分类列表
* @return \think\Response
* @throws \think\db\exception\DbException
*/
public function carteList()
{
// $this->changeOpenid();
$limit = $this->request->param('limit', 10);
$where = [
['uniacid', '=', $this->_uniacid],
['status', '<>', '-1']
];
$data = ShopCarte::getList($where, $limit);
return $this->success($data);
}
/**
* 上下架、删除
* @return \think\Response
*/
public function carteStatus()
{
$input = $this->request->only(['id', 'status']);
$rule = [
'id' => 'require',
'status' => 'require|in:0,1,-1',
];
$validate = \think\facade\Validate::rule($rule);
if (!$validate->check($input)) {
return $this->error($validate->getError());
}
if ($input['status'] == -1) {
$where = [
['', 'exp', Db::raw("find_in_set({$input['id']},carte)")],
['status', '<>', '-1'],
['uniacid', '=', $this->_uniacid]
];
$info = ShopGoods::getInfo($where);
if (!empty($info)) {
return $this->error('此分类下有商品,不可删除');
}
}
$res = ShopCarte::update(['status' => $input['status']], ['id' => $input['id']]);
if ($res === false) {
return $this->error('操作失败');
}
return $this->success('');
}
/**
* 下拉
* @return \think\Response
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
public function goodsCarteList()
{
$list = ShopCarte::getListNoPage(['status' => 1, 'uniacid' => $this->_uniacid]);
return $this->success($list);
}
/**
*添加商品
* @return \think\Response
*/
public function addGoods()
{
$input = $this->request->only(['name', 'carte', 'cover', 'images', 'image_url', 'video_url', 'phone', 'desc', 'sort', 'price']);
$rule = [
'name' => 'require',
'carte' => 'require',
'cover' => 'require',
'images' => 'require',
'phone' => 'require',
'desc' => 'require',
'price' => 'require',
];
$validate = \think\facade\Validate::rule($rule);
if (!$validate->check($input)) {
return $this->error($validate->getError());
}
$input['create_time'] = time();
$input['images'] = json_encode($input['images']);
$input['carte'] = implode(',', $input['carte']);
$input['uniacid'] = $this->_uniacid;
$res = ShopGoods::insert($input);
if ($res) {
return $this->success('');
}
return $this->error('添加失败');
}
/**
* 编辑商品
* @return \think\Response
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
public function editGoods()
{
$input = $this->request->only(['id', 'name', 'carte', 'cover', 'images', 'image_url', 'video_url', 'phone', 'desc', 'sort', 'price']);
if ($this->request->isPost()) {
$rule = [
'id' => 'require',
'name' => 'require',
'carte' => 'require',
'cover' => 'require',
'images' => 'require',
'phone' => 'require',
'desc' => 'require',
'price' => 'require',
];
$validate = \think\facade\Validate::rule($rule);
if (!$validate->check($input)) {
return $this->error($validate->getError());
}
$input['images'] = json_encode($input['images']);
$input['carte'] = implode(',', $input['carte']);
$input['uniacid'] = $this->_uniacid;
$res = ShopGoods::update($input, ['id' => $input['id']]);
if ($res === false) {
return $this->error('编辑失败');
}
return $this->success('');
}
if (empty($input['id'])) {
return $this->error('参数错误');
}
$data = ShopGoods::getInfo(['id' => $input['id']]);
$data['carte'] = explode(',', $data['carte']);
$data['images'] = json_decode($data['images'], true);
return $this->success($data);
}
/**
* 商品列表
* @return \think\Response
* @throws \think\db\exception\DbException
*/
public function goodsList()
{
$input = $this->request->param();
$limit = $this->request->param('limit', 10);
$where = [];
$where[] = ['status', '<>', -1];
$where[] = ['uniacid', '=', $this->_uniacid];
if (!empty($input['name'])) {
$where[] = ['name', 'like', '%' . $input['name'] . '%'];
}
if (!empty($input['carte'])) {
$where[] = ['', 'exp', Db::raw("find_in_set({$input['carte']},carte)")];
}
$data = ShopGoods::getList($where, $limit);
return $this->success($data);
}
/**
* 上下架删除
* @return \think\Response
*/
public function goodsStatus()
{
$input = $this->request->only(['id', 'status']);
$rule = [
'id' => 'require',
'status' => 'require|in:0,1,-1',
];
$validate = \think\facade\Validate::rule($rule);
if (!$validate->check($input)) {
return $this->error($validate->getError());
}
$res = ShopGoods::update(['status' => $input['status']], ['id' => $input['id']]);
if ($res === false) {
return $this->error('操作失败');
}
return $this->success('');
}
}