This commit is contained in:
luofei 2024-06-03 17:28:27 +08:00
commit cc0a84b1b8
10 changed files with 94 additions and 117 deletions

View File

@ -30,53 +30,6 @@ class StoreFinanceFlowController extends BaseAdminController
} }
/**
* @notes 添加门店流水
* @return \think\response\Json
* @author admin
* @date 2024/05/31 16:56
*/
public function add()
{
$params = (new StoreFinanceFlowValidate())->post()->goCheck('add');
$result = StoreFinanceFlowLogic::add($params);
if (true === $result) {
return $this->success('添加成功', [], 1, 1);
}
return $this->fail(StoreFinanceFlowLogic::getError());
}
/**
* @notes 编辑门店流水
* @return \think\response\Json
* @author admin
* @date 2024/05/31 16:56
*/
public function edit()
{
$params = (new StoreFinanceFlowValidate())->post()->goCheck('edit');
$result = StoreFinanceFlowLogic::edit($params);
if (true === $result) {
return $this->success('编辑成功', [], 1, 1);
}
return $this->fail(StoreFinanceFlowLogic::getError());
}
/**
* @notes 删除门店流水
* @return \think\response\Json
* @author admin
* @date 2024/05/31 16:56
*/
public function delete()
{
$params = (new StoreFinanceFlowValidate())->post()->goCheck('delete');
StoreFinanceFlowLogic::delete($params);
return $this->success('删除成功', [], 1, 1);
}
/** /**
* @notes 获取门店流水详情 * @notes 获取门店流水详情

View File

@ -4,9 +4,13 @@ namespace app\admin\lists\store_finance_flow;
use app\admin\lists\BaseAdminDataLists; use app\admin\lists\BaseAdminDataLists;
use app\common\enum\OrderEnum;
use app\common\enum\PayEnum;
use app\common\model\store_finance_flow\StoreFinanceFlow; use app\common\model\store_finance_flow\StoreFinanceFlow;
use app\common\lists\ListsSearchInterface; use app\common\lists\ListsSearchInterface;
use app\common\model\financial_record\FinancialRecord;
use app\common\model\system_store\SystemStoreStaff;
use app\common\model\user\User;
/** /**
* 门店流水列表 * 门店流水列表
@ -26,7 +30,7 @@ class StoreFinanceFlowLists extends BaseAdminDataLists implements ListsSearchInt
public function setSearch(): array public function setSearch(): array
{ {
return [ return [
'=' => ['store_id', 'uid', 'create_time'], '=' => ['store_id', 'user_id', 'create_time'],
]; ];
} }
@ -42,11 +46,24 @@ class StoreFinanceFlowLists extends BaseAdminDataLists implements ListsSearchInt
*/ */
public function lists(): array public function lists(): array
{ {
return StoreFinanceFlow::where($this->searchWhere) return FinancialRecord::where($this->searchWhere)
->field(['id', 'uid', 'staff_id', 'order_id', 'link_id', 'type', 'pay_type', 'remark', 'trade_time'])
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select() ->select()->each(function ($item) {
if($item['user_id']<=0){
$item['nickname']='游客';
}else{
$item['nickname']=User::where('id',$item['user_id'])->value('nickname');
}
if($item['financial_pm']==0){
$item['number']='-'.$item['number'];
}else{
$item['number']='+'.$item['number'];
}
$item['staff_name']=SystemStoreStaff::where('id',$item['staff_id'])->value('staff_name');
$item['pay_type_name']=PayEnum::getPaySceneDesc($item['pay_type']);
$item['financial_type_name']=OrderEnum::getFinancialType($item['financial_type']);
})
->toArray(); ->toArray();
} }

View File

@ -4,6 +4,7 @@ namespace app\admin\lists\store_order;
use app\admin\lists\BaseAdminDataLists; use app\admin\lists\BaseAdminDataLists;
use app\common\enum\PayEnum;
use app\common\model\store_order\StoreOrder; use app\common\model\store_order\StoreOrder;
use app\common\lists\ListsSearchInterface; use app\common\lists\ListsSearchInterface;
@ -46,7 +47,10 @@ class StoreOrderLists extends BaseAdminDataLists implements ListsSearchInterface
->field(['id', 'order_id', 'pay_price', 'pay_time', 'pay_type', 'status']) ->field(['id', 'order_id', 'pay_price', 'pay_time', 'pay_type', 'status'])
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select() ->select()->each(function($item){
$item['pay_type_name']=PayEnum::getPaySceneDesc($item['pay_type']);
return $item;
})
->toArray(); ->toArray();
} }

View File

@ -212,6 +212,7 @@ class StoreProductLogic extends BaseLogic
'bar_code' => $find['bar_code'], 'bar_code' => $find['bar_code'],
'cate_id' => $find['cate_id'], 'cate_id' => $find['cate_id'],
'price' => $find['price'], 'price' => $find['price'],
'unit' => $find['unit'],
'store_id' => $store_id, 'store_id' => $store_id,
'sales' => 0, 'sales' => 0,
'stock' => $stock, 'stock' => $stock,

View File

@ -30,8 +30,8 @@ class SystemStoreLogic extends BaseLogic
Db::startTrans(); Db::startTrans();
try { try {
$passwordSalt = Config::get('project.unique_identification'); $passwordSalt = Config::get('project.unique_identification');
$password=create_password($params['password'], $passwordSalt); $password = create_password($params['password'], $passwordSalt);
$store=SystemStore::create([ $store = SystemStore::create([
'name' => $params['name'], 'name' => $params['name'],
'introduction' => $params['introduction'], 'introduction' => $params['introduction'],
'phone' => $params['phone'], 'phone' => $params['phone'],
@ -47,15 +47,15 @@ class SystemStoreLogic extends BaseLogic
'area' => $params['area_code'], 'area' => $params['area_code'],
'street' => $params['street_code'], 'street' => $params['street_code'],
]); ]);
$taff=[ $taff = [
'store_id'=>$store['id'], 'store_id' => $store['id'],
'account'=>$params['phone'], 'account' => $params['phone'],
'pwd'=>$password, 'pwd' => $password,
'avatar'=>$params['image'], 'avatar' => $params['image'],
'staff_name'=>$params['name'], 'staff_name' => $params['name'],
'phone'=>$params['phone'], 'phone' => $params['phone'],
'is_admin'=>1, 'is_admin' => 1,
'status'=>1, 'status' => 1,
]; ];
SystemStoreStaff::create($taff); SystemStoreStaff::create($taff);
@ -80,16 +80,31 @@ class SystemStoreLogic extends BaseLogic
{ {
Db::startTrans(); Db::startTrans();
try { try {
SystemStore::where('id', $params['id'])->update([ $store = SystemStore::where('id',$params['id'])->update([
'name' => $params['name'], 'name' => $params['name'],
'introduction' => $params['introduction'], 'introduction' => $params['introduction'],
'phone' => $params['phone'],
'detailed_address' => $params['detailed_address'], 'detailed_address' => $params['detailed_address'],
'image' => $params['image'], 'image' => $params['image'],
'latitude' => $params['latitude'], 'is_show' => $params['is_show'],
'longitude' => $params['longitude'], 'longitude' => $params['longitude'],
'is_show' => $params['is_show'] 'latitude' => $params['latitude'],
'day_start' => $params['day_start'],
'day_end' => $params['day_end'],
'province' => $params['province_code'],
'city' => $params['city_code'],
'area' => $params['area_code'],
'street' => $params['street_code'],
]); ]);
if($params['password']!=''){
$passwordSalt = Config::get('project.unique_identification');
$password = create_password($params['password'], $passwordSalt);
$taff = [
'pwd' => $password,
'avatar' => $params['image'],
'staff_name' => $params['name'],
];
SystemStoreStaff::where('store_id', $params['id'])->where('is_admin', 1)->where('account', $params['phone'])->update($taff);
}
Db::commit(); Db::commit();
return true; return true;

View File

@ -8,6 +8,8 @@ use app\common\lists\ListsSearchInterface;
use app\common\model\goods\Goods; use app\common\model\goods\Goods;
use app\common\model\retail\Cashierclass; use app\common\model\retail\Cashierclass;
use app\common\model\retail\Cashierinfo; use app\common\model\retail\Cashierinfo;
use app\common\model\store_order\StoreOrder;
use app\common\model\store_order_cart_info\StoreOrderCartInfo;
/** /**
* 零售订单列表 * 零售订单列表
@ -45,12 +47,12 @@ class OrderList extends BaseAdminDataLists implements ListsSearchInterface
{ {
$userId=$this->request->userId; $userId=$this->request->userId;
if(!$userId) return []; if(!$userId) return [];
return Cashierclass::where($this->searchWhere)->where('uid',$userId) return StoreOrder::where($this->searchWhere)->where('uid',$userId)
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->order(['id' => 'desc']) ->order(['id' => 'desc'])
->select() ->select()
->each(function($item){ ->each(function($item){
$item['goods_list']=Cashierinfo::where('pid',$item['id'])->with('goodsName')->field('goods,nums,price sell')->limit(3)->select(); $item['goods_list']=StoreOrderCartInfo::where('oid',$item['id'])->with('goodsName')->field('product_id,cart_num')->limit(3)->select();
$item['goods_count']=count(explode(',',$item['cart_id'])); $item['goods_count']=count(explode(',',$item['cart_id']));
}) })
->toArray(); ->toArray();
@ -64,7 +66,7 @@ class OrderList extends BaseAdminDataLists implements ListsSearchInterface
*/ */
public function count(): int public function count(): int
{ {
return Cashierclass::where($this->searchWhere)->count(); return StoreOrder::where($this->searchWhere)->count();
} }
} }

View File

@ -112,26 +112,14 @@ class ProductLists extends BaseAdminDataLists implements ListsSearchInterface
} }
$where[]=['store_id','=',$store_id]; $where[]=['store_id','=',$store_id];
$data =StoreBranchProduct::where($this->searchWhere)->where($where) return StoreBranchProduct::where($this->searchWhere)->where($where)
->field(['id', 'product_id','cate_id','store_name', 'store_id','price', 'bar_code','image','sales','store_info','delete_time']) ->field(['id', 'product_id','cate_id','store_name', 'store_id','price', 'bar_code','image','sales','store_info','delete_time','unit'])
->limit($this->limitOffset, $this->limitLength) ->limit($this->limitOffset, $this->limitLength)
->with(['className']) ->with(['className','unitName'])
->order($order) ->order($order)
->select() ->select()
->toArray(); ->toArray();
foreach ($data as $k=> &$v){
$info= StoreProduct::alias('p')
->leftJoin('store_product_unit t','t.id = p.unit')
->where('p.id',$v['product_id'])
->field('p.unit,t.name,t.is_bulk')->find()??[];
if($info){
$v['unit_name'] = $info['name']??'';
$v['is_bulk'] = $info['is_bulk']??'';
}else{
unset($data[$k]);
}
}
return array_values($data);
// return StoreProduct::where($this->searchWhere)->where($where) // return StoreProduct::where($this->searchWhere)->where($where)
// ->field(['id', 'cate_id','store_name','unit', 'ot_price', 'bar_code','image','sales','store_info']) // ->field(['id', 'cate_id','store_name','unit', 'ot_price', 'bar_code','image','sales','store_info'])
// ->limit($this->limitOffset, $this->limitLength) // ->limit($this->limitOffset, $this->limitLength)
@ -191,23 +179,12 @@ class ProductLists extends BaseAdminDataLists implements ListsSearchInterface
$where[]=['store_id','=',$store_id]; $where[]=['store_id','=',$store_id];
$data =StoreBranchProduct::where($this->searchWhere)->where($where) $data =StoreBranchProduct::where($this->searchWhere)->where($where)
->field(['id', 'product_id']) ->field(['id', 'product_id','cate_id','store_name', 'store_id','price', 'bar_code','image','sales','store_info','delete_time','unit'])
->limit($this->limitOffset, $this->limitLength)
->with(['className','unitName'])
->order($order) ->order($order)
->select() ->select()
->toArray(); ->toArray();
foreach ($data as $k=> &$v){
$info= StoreProduct::alias('p')
->leftJoin('store_product_unit t','t.id = p.unit')
->where('p.id',$v['product_id'])
->field('p.unit,t.name,t.is_bulk')->find()??[];
if($info){
$v['unit_name'] = $info['name']??'';
$v['is_bulk'] = $info['is_bulk']??'';
}else{
unset($data[$k]);
}
}
return count($data); return count($data);
} }

View File

@ -56,14 +56,6 @@ class PayEnum
//支付场景
const SCENE_H5 = 1; //H5
const SCENE_OA = 2; //微信公众号
const SCENE_MNP = 3; //微信小程序
const SCENE_APP = 4; //APP
const SCENE_PC = 5; //PC商城
/** /**
* @notes 获取支付类型 * @notes 获取支付类型
* @param bool $value * @param bool $value
@ -116,11 +108,22 @@ class PayEnum
public static function getPaySceneDesc($value = true) public static function getPaySceneDesc($value = true)
{ {
$data = [ $data = [
self::SCENE_H5 => 'H5', self::WECHAT_PAY_H5 => '微信H5',
self::SCENE_OA => '微信公众号', self::WECHAT_PAY_JSAPI => '微信JSAPI',
self::SCENE_MNP => '微信小程序', self::WECHAT_PAY_MINI => '微信小程序',
self::SCENE_APP => 'APP', self::WECHAT_PAY_APP => '微信APP',
self::SCENE_PC => 'PC', self::ALIPAY_H5 => '支付宝H5',
self::ALIPAY_MINI => '支付宝小程序',
self::ALIPAY_APP => '支付宝APP',
self::GOODS_FIRST_PAYMENT_LATER => '货到付款',
self::CORPORATE_TRANSFER => '企业转账',
self::CASH_PAY => '现金支付',
self::WECHAT_PAY_QRCODE => '微信二维码',
self::WECHAT_PAY_BARCODE => '微信条码',
self::ALIPAY_QRCODE => '支付宝二维码',
self::ALIPAY_BARCODE => '支付宝条码',
self::BALANCE_PAY => '余额支付',
]; ];
if ($value === true) { if ($value === true) {
return $data; return $data;

View File

@ -23,6 +23,11 @@ class StoreBranchProduct extends BaseModel
public function unitName()
{
return $this->hasOne(StoreProductUnit::class,'id','unit')->bind(['unit_name'=>'name','is_bulk']);
}
public function className() public function className()
{ {

View File

@ -3,7 +3,7 @@
namespace app\common\model\store_order_cart_info; namespace app\common\model\store_order_cart_info;
use app\common\model\BaseModel; use app\common\model\BaseModel;
use app\common\model\store_product\StoreProduct; use app\common\model\store_branch_product\StoreBranchProduct;
use think\model\concern\SoftDelete; use think\model\concern\SoftDelete;
class StoreOrderCartInfo extends BaseModel class StoreOrderCartInfo extends BaseModel
@ -14,6 +14,6 @@ class StoreOrderCartInfo extends BaseModel
public function goodsName() public function goodsName()
{ {
return $this->hasOne(StoreProduct::class,'id','product_id')->bind(['store_name','image','unit','price']); return $this->hasOne(StoreBranchProduct::class,'id','product_id')->bind(['store_name','image','unit','price']);
} }
} }