From a4b3ee325c7354579d495bc74a777e494e5ec38c Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Fri, 06 Feb 2026 18:18:44 +0800
Subject: [PATCH] 商品可以价格面议 选择走访时显示输入走访企业名 分会添加活动时要总会审核 分类添加人数限制,添加活动选择了填写人数限制的分类时活动名额下显示该分类人数限制为15 同一个企业30天内只能走访一次,在30天内走访同一个企业时提示该企业已被走访xx天后才可以从新走访

---
 admin/app/common/model/plus/operations/Operations.php |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/admin/app/common/model/plus/operations/Operations.php b/admin/app/common/model/plus/operations/Operations.php
index 034fac8..6a08793 100644
--- a/admin/app/common/model/plus/operations/Operations.php
+++ b/admin/app/common/model/plus/operations/Operations.php
@@ -1 +1 @@
-<?php



namespace app\common\model\plus\operations;



use app\common\enum\plus\operations\OperationsLevelEnum;

use app\common\enum\user\grade\ChangeTypeEnum;

use app\common\model\BaseModel;

use app\common\model\plus\operations\Capital;
use app\common\model\plus\operations\Grade;
use app\common\model\plus\operations\GradeLog as GradeLogModel;

use app\common\model\settings\Region;



/**

 * 运营中心用户模型

 */

class Operations extends BaseModel

{

    protected $name = 'operations';

    protected $pk = 'user_id';

	

    /**

     * 追加字段

     * @var string[]

     */

    protected $append = ['region'];



    /**

     * 地区名称

     * @param $value

     * @param $data

     * @return array

     */

    public function getRegionAttr($value, $data)

    {

        return [

            'province' => Region::getNameById($data['province_id']),

            'city' => Region::getNameById($data['city_id']),

            'area' => $data['area_id'] == 0 ? '' : Region::getNameById($data['area_id']),

        ];

    }



    /**

     * 代理类别

     * @param $value

     * @return array

     */

    public function getOperationsLevelAttr($value)

    {

        return ['text' => OperationsLevelEnum::data()[$value]['name'], 'value' => $value];

    }





	/**

	 * 关联会员等级表

	 */

	public function grade()

	{

	    return $this->belongsTo('app\\common\\model\\plus\\operations\\Grade', 'grade_id', 'grade_id');

	}

	

    /**

     * 关联会员记录表

     * @return \think\model\relation\BelongsTo

     */

    public function user()

    {

        return $this->belongsTo('app\\common\\model\\user\\User');

    }



    /**

     * 关联推荐人表

     * @return \think\model\relation\BelongsTo

     */

    public function referee()

    {

        return $this->belongsTo('app\\common\\model\\user\\User', 'referee_id', 'user_id');

    }



    /**

     * 详情

     */

    public static function detail($user_id, $with = ['user'])

    {

        return (new static())->with($with)->find($user_id);

    }



    /**

     * 是否为股东

     */

    public static function isregionUser($user_id)

    {

        $region = self::detail($user_id);

        return !!$region && !$region['is_delete'];

    }



    /**

     * 新增股东用户记录

     * @param $user_id

     * @param $data

     * @return bool

     */

    public static function add($user_id, $data)

    {

        $model = static::detail($user_id) ?: new static;

        if(empty($model['grade_id'])) {

            $data['grade_id'] = Grade::getDefaultGradeId($user_id);

        }

        $model->save(array_merge([

            'user_id' => $user_id,

            'is_delete' => 0,

            'app_id' => $model::$app_id

        ], $data));

        return true;

    }



    /**

     * 发放股东佣金

     * @param $user_id

     * @param $money

     * @return bool

     */

    public static function grantMoney($user_id, $money, $bonus_type = 10)

    {

        $bonus_type_arr = ['10' => '代理分红', '20' => '级差奖', '30' => '平级奖'];

        // 股东详情

        $model = static::detail($user_id);

        if (!$model || $model['is_delete']) {

            return false;

        }

        // 累积股东可提现佣金

        $model->where('user_id', '=', $user_id)->inc('money', $money)->update();

        // 记录股东资金明细

        Capital::add([

            'user_id' => $user_id,

            'flow_type' => 10,

            'money' => $money,

            'bonus_type' => $bonus_type,

            'describe' => '代理分红结算-' . $bonus_type_arr[$bonus_type],

            'app_id' => $model['app_id'],

        ]);

        return true;

    }



    /**

     * 批量设置股东等级

     */

    public function upgradeGrade($user, $upgradeGrade)

    {

        // 更新会员等级的数据

        $this->where('user_id', '=', $user['user_id'])

            ->update([

                'grade_id' => $upgradeGrade['grade_id']

            ]);

        (new GradeLogModel)->save([

            'old_grade_id' => $user['grade_id'],

            'new_grade_id' => $upgradeGrade['grade_id'],

            'change_type' => ChangeTypeEnum::AUTO_UPGRADE,

            'user_id' => $user['user_id'],

            'app_id' => $user['app_id']

        ]);

        return true;

    }



    /**

     * 统计股东数量

     */

    public static function regionCount($grade_id = 0)

    {

        $model = new static();

        if($grade_id > 0) {

            $model->where('grade_id', '=', $grade_id);

        }

        return $model->where('is_delete', '=', 0)

        ->count();

    }



}
\ No newline at end of file
+<?php



namespace app\common\model\plus\operations;



use app\common\enum\plus\operations\OperationsLevelEnum;

use app\common\enum\user\grade\ChangeTypeEnum;

use app\common\model\BaseModel;

use app\common\model\plus\operations\Capital;
use app\common\model\plus\operations\Grade;
use app\common\model\plus\operations\GradeLog as GradeLogModel;

use app\common\model\settings\Region;



/**

 * 运营中心用户模型

 */

class Operations extends BaseModel

{

    protected $name = 'operations';

    protected $pk = 'user_id';

	

    /**

     * 追加字段

     * @var string[]

     */

    protected $append = ['region'];



    /**

     * 地区名称

     * @param $value

     * @param $data

     * @return array

     */

    public function getRegionAttr($value, $data)

    {

        return [

            'province' => Region::getNameById($data['province_id']),

            'city' => Region::getNameById($data['city_id']),

            'area' => $data['area_id'] == 0 ? '' : Region::getNameById($data['area_id']),

        ];

    }



    /**

     * 代理类别

     * @param $value

     * @return array

     */

    public function getOperationsLevelAttr($value)

    {

        return ['text' => OperationsLevelEnum::data()[$value]['name'], 'value' => $value];

    }





	/**

	 * 关联会员等级表

	 */

	public function grade()

	{

	    return $this->belongsTo('app\\common\\model\\plus\\operations\\Grade', 'grade_id', 'grade_id');

	}

	

    /**

     * 关联会员记录表

     * @return \think\model\relation\BelongsTo

     */

    public function user()

    {

        return $this->belongsTo('app\\common\\model\\user\\User');

    }



    /**

     * 关联推荐人表

     * @return \think\model\relation\BelongsTo

     */

    public function referee()

    {

        return $this->belongsTo('app\\common\\model\\user\\User', 'referee_id', 'user_id');

    }



    /**

     * 详情

     */

    public static function detail($user_id, $with = ['user'])

    {

        return (new static())->where('user_id', '=', $user_id)->with($with)->find();

    }



    /**

     * 是否为股东

     */

    public static function isregionUser($user_id)

    {

        $region = self::detail($user_id);

        return !!$region && !$region['is_delete'];

    }



    /**

     * 新增股东用户记录

     * @param $user_id

     * @param $data

     * @return bool

     */

    public static function add($user_id, $data)

    {

        $model = static::detail($user_id) ?: new static;

        if(empty($model['grade_id'])) {

            $data['grade_id'] = Grade::getDefaultGradeId($user_id);

        }

        $model->save(array_merge([

            'user_id' => $user_id,

            'is_delete' => 0,

            'app_id' => $model::$app_id

        ], $data));

        return true;

    }



    /**

     * 发放股东佣金

     * @param $user_id

     * @param $money

     * @return bool

     */

    public static function grantMoney($user_id, $money, $bonus_type = 10)

    {

        $bonus_type_arr = ['10' => '代理分红', '20' => '级差奖', '30' => '平级奖'];

        // 股东详情

        $model = static::detail($user_id);

        if (!$model || $model['is_delete']) {

            return false;

        }

        // 累积股东可提现佣金

        $model->where('user_id', '=', $user_id)->inc('money', $money)->update();

        // 记录股东资金明细

        Capital::add([

            'user_id' => $user_id,

            'flow_type' => 10,

            'money' => $money,

            'bonus_type' => $bonus_type,

            'describe' => '代理分红结算-' . $bonus_type_arr[$bonus_type],

            'app_id' => $model['app_id'],

        ]);

        return true;

    }



    /**

     * 批量设置股东等级

     */

    public function upgradeGrade($user, $upgradeGrade)

    {

        // 更新会员等级的数据

        $this->where('user_id', '=', $user['user_id'])

            ->update([

                'grade_id' => $upgradeGrade['grade_id']

            ]);

        (new GradeLogModel)->save([

            'old_grade_id' => $user['grade_id'],

            'new_grade_id' => $upgradeGrade['grade_id'],

            'change_type' => ChangeTypeEnum::AUTO_UPGRADE,

            'user_id' => $user['user_id'],

            'app_id' => $user['app_id']

        ]);

        return true;

    }



    /**

     * 统计股东数量

     */

    public static function regionCount($grade_id = 0)

    {

        $model = new static();

        if($grade_id > 0) {

            $model->where('grade_id', '=', $grade_id);

        }

        return $model->where('is_delete', '=', 0)

        ->count();

    }



}
\ No newline at end of file

--
Gitblit v1.9.2