| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- <?php
- namespace app\common\model\supplier;
- use app\common\model\BaseModel;
- use think\facade\Cache;
- /**
- * 商家供应商模型
- */
- class Supplier extends BaseModel
- {
- protected $name = 'supplier';
- protected $pk = 'shop_supplier_id';
- /**
- * 关联应用表
- */
- public function app()
- {
- return $this->belongsTo('app\\common\\model\\app\\App', 'app_id', 'app_id');
- }
- /**
- * 关联logo
- */
- public function logo()
- {
- return $this->hasOne('app\\common\\model\\file\\UploadFile', 'file_id', 'logo_id');
- }
- /**
- * 关联品牌类型
- */
- public function category()
- {
- return $this->hasOne('app\\common\\model\\supplier\\Category', 'category_id', 'category_id');
- }
- /**
- * 关联business
- */
- public function business()
- {
- return $this->hasOne('app\\common\\model\\file\\UploadFile', 'file_id', 'business_id');
- }
- /**
- * 关联超管
- */
- public function superUser()
- {
- return $this->hasOne('app\\common\\model\\supplier\\User', 'shop_supplier_id', 'shop_supplier_id')
- ->where('is_super','=', 1);
- }
- /**
- * 详情
- */
- public static function detail($shop_supplier_id, $with = [])
- {
- return (new static())->with($with)->find($shop_supplier_id);
- }
- /**
- * 累积供应商结算金额 (批量)
- */
- public function onBatchIncSupplierMoney($data)
- {
- foreach ($data as $supplierId => $supplierMoney) {
- $this->where(['shop_supplier_id' => $supplierId])
- ->inc('total_money', $supplierMoney)
- ->inc('money', $supplierMoney)
- ->update();
- }
- return true;
- }
- /**
- * 获取商家抖音推广口令
- * @param $shop_supplier_id 商家ID
- * @param int $app_id 平台ID
- * @return false|mixed|string
- * @throws \think\db\exception\DataNotFoundException
- * @throws \think\db\exception\DbException
- * @throws \think\db\exception\ModelNotFoundException
- */
- public static function getDyLink($shop_supplier_id, $app_id=0){
- $data = Cache::get('supplier:dyLink:link_' . $app_id . '_' . $shop_supplier_id);
- if($data){
- return $data;
- }
- $where = ['shop_supplier_id'=> $shop_supplier_id];
- if($app_id){
- $where['app_id'] = $app_id;
- }
- $data = (new static())->where($where)->field('name,dy_name,dy_link')->find();
- $name = isset($data['name'])? $data['name'] : '';
- $dy_name = isset($data['dy_name'])? $data['dy_name'] : '';
- $dy_link = isset($data['dy_link'])? $data['dy_link'] : '';
- if(empty($dy_link)){
- return false;
- }
- $shop_name = $dy_name? $dy_name : $name;
- $link = rand(1,10)."【{$shop_name}的个人主页】点击打开{$dy_link} 或长按复制此条消息,打开抖音,查看TA的更多作品。";
- Cache::tag('cache')->set('supplier:dyLink:link_' . $app_id . '_' . $shop_supplier_id, $link, rand(10, 30));
- return $link;
- }
- }
|