Эх сурвалжийг харах

积分后台配置与任务

linwu 2 жил өмнө
parent
commit
6dd9148e7a

+ 3 - 15
app/admin/controller/Test.php

@@ -3,25 +3,13 @@ namespace app\admin\controller;
 
 use app\admin\BaseController;
 use app\common\model\UserPart;
+use app\common\service\IntegralService;
 
 class Test extends BaseController
 {
     public function t1(){
-          $userIds = UserPart::where('puserid','in',[10000])->column('userid');
-          halt($userIds);
-    }
-
-    /**
-     * 获取下级id
-     */
-    private function _getNextId($user_id)
-    {
-        $userIds = UserPart::where('puserid','in',$user_id)->column('userid');
-        if (!empty($userIds)) {
-            return array_merge($this->_getNextId($userIds),$userIds);
-        } else {
-            return $userIds;
-        }
+        $integralService = new IntegralService();
+        $integralService->add(6,IntegralService::REGISTER);
     }
 
 }

+ 26 - 8
app/admin/controller/User.php

@@ -18,6 +18,7 @@ use app\common\model\ComjobsCate as ComjobsCateModel;
 use app\common\model\Agent as AgentModel;
 use app\common\model\Broker as BrokerModel;
 
+use app\common\service\IntegralService;
 use app\common\service\UserService;
 use app\common\validate\User as UserValidate;
 use think\exception\ValidateException;
@@ -721,7 +722,7 @@ class User extends BaseController
     {
         $idarr = input('idarr/a');
         UserModel::destroy($idarr);
-        event('userDel',$idarr);
+        event('userDel', $idarr);
         exit(json_encode([
             'code' => 0,
             'msg'  => "",
@@ -758,8 +759,8 @@ class User extends BaseController
             ]));
         }
 
-        $address      = input('address/s', "");
-        $jobintention = input('jobintention/s', "");
+        $address        = input('address/s', "");
+        $jobintention   = input('jobintention/s', "");
         $agentbrokerarr = explode(",", input('agentbroker/s'));
         $brokerid       = isset($agentbrokerarr[1]) ? $agentbrokerarr[1] : 0;
         $data           = [
@@ -797,8 +798,8 @@ class User extends BaseController
         if (empty($id)) {
             $data['integral']  = 0;
             $data['wxampcode'] = '';
-            $user              = UserModel::create($data);
-            $auths             = UserAuthsModel::create([
+            $user = UserModel::create($data);
+            UserAuthsModel::create([
                 'userid'       => $user->id,
                 'identitytype' => "mobile",
                 'identifier'   => $mobile,
@@ -809,13 +810,23 @@ class User extends BaseController
             ]);
         } else {
             $data['id'] = $id;
-            $user       = UserModel::update($data);
+            UserModel::update($data);
             $adata      = ['identifier' => $mobile];
             if (!empty($password)) {
                 $adata['password'] = md5($password);
             }
             UserAuthsModel::update($adata, ['userid' => $id, 'identitytype' => 'mobile']);
+
+            //实名认证积分
+            $user = UserModel::where('id',$id)->find();
+            if ($user['authstatus'] == 3 && $user['is_auth'] == 2) {
+                $user->is_auth = 1;
+                $user->save();
+                $integralService = new IntegralService();
+                $integralService->add($id,IntegralService::CERTIFICATION);
+            }
         }
+
         exit(json_encode([
             'code' => 0,
         ]));
@@ -917,6 +928,13 @@ class User extends BaseController
             'intrecharge'   => input('intrecharge/d', 0),
             'picregworker'  => input('picregworker/s', ""),
             'intregworker'  => input('intregworker/d', 0),
+            'register'      => input('register/d', 0),
+            'improveresume' => input('improveresume/d', 0),
+            'certification' => input('certification/d', 0),
+            'entry'         => input('entry/d', 0),
+            'signin'        => input('signin/d', 0),
+            'sharejob'      => input('sharejob/d', 0),
+            'sharejobnum'   => input('sharejobnum/d', 0),
         ];
         if ($param->isEmpty()) {
             UserParamModel::create($data);
@@ -1020,7 +1038,7 @@ class User extends BaseController
         }
 
         $service = new UserService();
-        $res = $service->importComjobs($file_url);
+        $res     = $service->importComjobs($file_url);
         if (empty($res['code'])) {
             exit(json_encode([
                 'code' => 1,
@@ -1028,6 +1046,6 @@ class User extends BaseController
             ]));
         }
 
-        exit(json_encode(['code'  => 0]));
+        exit(json_encode(['code' => 0]));
     }
 }

+ 1 - 1
app/admin/view/supply/supplylist.html

@@ -84,7 +84,7 @@
 					{ type: 'checkbox', fixed: 'left' },
 					{ field: 'id', width: 80, title: '表ID', sort: true },
 					{ field: 'priority', width: 100, title: '排序ID', sort: true, edit: 'text' }, 
-					{ field: 'workerid', title: '劳务公司', minWidth: 240, toolbar: '<div>{{d.worker.title}}</div>' },
+					{ field: 'workerid', title: '劳务公司', minWidth: 240, toolbar: '<div>{{d.worker.title ? d.worker.title : "该公司已删除"}}</div>' },
 					{ field: 'mnumber', title: '男性人数', edit: 'text', width: 120 },
 					{ field: 'wnumber', title: '女性人数', edit: 'text', width: 120 },
 					{ field: 'agegroup', title: '招工年龄', edit: 'text', width: 120 },

+ 71 - 8
app/admin/view/user/param.html

@@ -2,7 +2,7 @@
 	<div class="layui-row layui-col-space15">
 		<div class="layui-col-md12">
 			<div class="layui-card">
-				<div class="layui-card-header">用户参数设置</div>
+				<div class="layui-card-header">参数设置</div>
 				<div class="layui-card-body" pad15>
 
 					<div class="layui-form layui-form-pane" lay-filter="LAY-user-param-form">
@@ -20,13 +20,6 @@
 								<div class="layui-form-mid layui-word-aux">VIP达标人数:推广多少个用户自动升级为VIP。</div>
 							</div>
 						</div>
-						<div class="layui-form-item">
-							<label class="layui-form-label">邀请注册</label>
-							<div class="layui-input-block">
-								<input type="text" placeholder="请输入..." name="shareintegral" value="{$param['shareintegral']}" class="layui-input">
-								<div class="layui-form-mid layui-word-aux">邀请注册积分,即用户通过分享、推广二维码等方式,每拉一位新用户注册是所获得的积分。</div>
-							</div>
-						</div>
 						<div class="layui-form-item">
 							<label class="layui-form-label">代注册</label>
 							<div class="layui-input-block">
@@ -89,6 +82,76 @@
 					
 				</div>
 			</div>
+			<div class="layui-card">
+				<div class="layui-card-header">积分任务</div>
+				<div class="layui-card-body" pad15>
+
+					<div class="layui-form layui-form-pane" lay-filter="LAY-user-param-form">
+						<div class="layui-form-item">
+							<label class="layui-form-label">签到</label>
+							<div class="layui-input-block">
+								<input type="text" placeholder="请输入..." name="signin" value="{$param['signin']}" class="layui-input">
+								<div class="layui-form-mid layui-word-aux">每日签到所获得的积分。</div>
+							</div>
+						</div>
+						<div class="layui-form-item">
+							<label class="layui-form-label">邀请注册</label>
+							<div class="layui-input-block">
+								<input type="text" placeholder="请输入..." name="shareintegral" value="{$param['shareintegral']}" class="layui-input">
+								<div class="layui-form-mid layui-word-aux">邀请注册积分,即用户通过分享、推广二维码等方式,每拉一位新用户注册是所获得的积分。</div>
+							</div>
+						</div>
+						<div class="layui-form-item">
+							<label class="layui-form-label">帐号注册</label>
+							<div class="layui-input-block">
+								<input type="text" placeholder="请输入..." name="register" value="{$param['register']}" class="layui-input">
+								<div class="layui-form-mid layui-word-aux">通过手机号注册帐号成功所获得的积分。</div>
+							</div>
+						</div>
+						<div class="layui-form-item">
+							<label class="layui-form-label">完善简历</label>
+							<div class="layui-input-block">
+								<input type="text" placeholder="请输入..." name="improveresume" value="{$param['improveresume']}" class="layui-input">
+								<div class="layui-form-mid layui-word-aux">完善简历成功所获得的积分。</div>
+							</div>
+						</div>
+						<div class="layui-form-item">
+							<label class="layui-form-label">实名认证</label>
+							<div class="layui-input-block">
+								<input type="text" placeholder="请输入..." name="certification" value="{$param['certification']}" class="layui-input">
+								<div class="layui-form-mid layui-word-aux">实名认证审核通过所获得的积分。</div>
+							</div>
+						</div>
+						<div class="layui-form-item">
+							<label class="layui-form-label">对接成功</label>
+							<div class="layui-input-block">
+								<input type="text" placeholder="请输入..." name="entry" value="{$param['entry']}" class="layui-input">
+								<div class="layui-form-mid layui-word-aux">入职成功所获得的积分。</div>
+							</div>
+						</div>
+						<div class="layui-form-item">
+							<label class="layui-form-label">分享岗位</label>
+							<div class="layui-input-block">
+								<input type="text" placeholder="请输入..." name="sharejob" value="{$param['sharejob']}" class="layui-input">
+								<div class="layui-form-mid layui-word-aux">每日分享岗位所获得的积分。</div>
+							</div>
+						</div>
+						<div class="layui-form-item">
+							<label class="layui-form-label">分享岗位奖励次数</label>
+							<div class="layui-input-block">
+								<input type="text" placeholder="请输入..." name="sharejobnum" value="{$param['sharejobnum']}" class="layui-input">
+								<div class="layui-form-mid layui-word-aux">每日分享岗位奖励的次数(0代表不限制)。</div>
+							</div>
+						</div>
+						<div class="layui-form-item">
+							<div class="layui-input-block">
+								<button class="layui-btn" lay-submit lay-filter="LAY-user-param-form-submit">确认修改</button>
+							</div>
+						</div>
+					</div>
+
+				</div>
+			</div>
 		</div>
 	</div>
 </div>

+ 39 - 37
app/common/model/ComjobsLog.php

@@ -1,49 +1,51 @@
 <?php
+
 namespace app\common\model;
 
 use think\Model;
 
 class ComjobsLog extends Model
 {
-	// 设置字段信息
+    // 设置字段信息
     protected $schema = [
-        'id'			=> 'int',
-		'workerid'		=> 'int',
-		'comjobsid'		=> 'int',
-		'userid'		=> 'int',
-		'status'		=> 'tinyint',
-		'remark'		=> 'string',
-        'createtime'	=> 'int',
-        'del_status'	=> 'tinyint'
+        'id'         => 'int',
+        'workerid'   => 'int',
+        'comjobsid'  => 'int',
+        'userid'     => 'int',
+        'status'     => 'tinyint',
+        'remark'     => 'string',
+        'createtime' => 'int',
+        'del_status' => 'tinyint',
+        'is_entry'   => 'tinyint',
     ];
-	
-	// 设置字段自动转换类型
-	protected $type = [
-        'createtime'  => 'timestamp:Y-m-d H:i:s'
+
+    // 设置字段自动转换类型
+    protected $type = [
+        'createtime' => 'timestamp:Y-m-d H:i:s',
     ];
-	
-	public function getStatusTextAttr($value,$data)
-	{
-		$status = [1=>'未跟进', 2=>'未面试', 3=>'面试通过', 4=>'面试未通过', 5=>'用户放弃', 6=>'已入职', 7=>'已离职'];
-		return $status[$data['status']];
-	}
-	
-	// 关联Worker
-	public function worker()
-	{
-	    return $this->hasOne(Worker::class, "id", "workerid");
-	}
-	
-	// 关联Comjobs
-	public function comjobs()
-	{
-	    return $this->hasOne(Comjobs::class, "id", "comjobsid");
-	}
-	
-	// 关联User
-	public function user()
-	{
-	    return $this->hasOne(User::class, "id", "userid");
-	}
+
+    public function getStatusTextAttr($value, $data)
+    {
+        $status = [1 => '未跟进', 2 => '未面试', 3 => '面试通过', 4 => '面试未通过', 5 => '用户放弃', 6 => '已入职', 7 => '已离职'];
+        return $status[$data['status']];
+    }
+
+    // 关联Worker
+    public function worker()
+    {
+        return $this->hasOne(Worker::class, "id", "workerid");
+    }
+
+    // 关联Comjobs
+    public function comjobs()
+    {
+        return $this->hasOne(Comjobs::class, "id", "comjobsid");
+    }
+
+    // 关联User
+    public function user()
+    {
+        return $this->hasOne(User::class, "id", "userid");
+    }
 
 }

+ 2 - 0
app/common/model/User.php

@@ -48,6 +48,8 @@ class User extends Model
         'work_place'     => 'string',
         'com_cate_type'  => 'int',
         'com_cate_other' => 'string',
+        'is_perfect'     => 'int',
+        'is_auth'        => 'int',
     ];
 
     // 设置字段自动转换类型

+ 20 - 12
app/common/model/UserParam.php

@@ -1,23 +1,31 @@
 <?php
+
 namespace app\common\model;
 
 use think\Model;
 
 class UserParam extends Model
 {
-	// 设置字段信息
+    // 设置字段信息
     protected $schema = [
-        'id'			=> 'int',
-		'redmoney'		=> 'int',
-		'usernumber'	=> 'int',
-		'shareintegral'	=> 'int',
-		'postintegral'	=> 'int',
-		'inttomoney'	=> 'int',
-		'minintegral'	=> 'int',
-		'intrecharge'	=> 'int',
-		'picregworker'	=> 'string', 
-		'intregworker'	=> 'int'
+        'id'            => 'int',
+        'redmoney'      => 'int',
+        'usernumber'    => 'int',
+        'shareintegral' => 'int',
+        'postintegral'  => 'int',
+        'inttomoney'    => 'int',
+        'minintegral'   => 'int',
+        'intrecharge'   => 'int',
+        'picregworker'  => 'string',
+        'intregworker'  => 'int',
+        'register'      => 'int',
+        'improveresume' => 'int',
+        'certification' => 'int',
+        'entry'         => 'int',
+        'signin'        => 'int',
+        'sharejob'      => 'int',
+        'sharejobnum'   => 'int',
     ];
 
-	
+
 }

+ 55 - 0
app/common/service/IntegralService.php

@@ -0,0 +1,55 @@
+<?php
+
+namespace app\common\service;
+
+use app\common\model\UserIntegral as UserIntegralModel;
+use app\common\model\UserParam as UserParamModel;
+use app\common\model\User as UserModel;
+
+class IntegralService extends BaseService
+{
+
+    const REGISTER      = 0;
+    const IMPROVERESUME = 1;
+    const CERTIFICATION = 2;
+    const ENTRY         = 3;
+    const SINGIN        = 4;
+    const SHAREJOB      = 5;
+
+    private $_type = [
+        ['field' => 'register', 'title' => '新用户注册奖励', 'remark' => '邀请新用户注册奖励积分'],
+        ['field' => 'improveresume', 'title' => '首次完善简历奖励', 'remark' => '首次完善简历奖励积分'],
+        ['field' => 'certification', 'title' => '首次实名认证通过奖励', 'remark' => '首次实名认证通过奖励积分'],
+        ['field' => 'entry', 'title' => '对接成功奖励', 'remark' => '对接成功并入职奖励积分'],
+        ['field' => 'signin', 'title' => '签到奖励', 'remark' => '对签到奖励积分'],
+        ['field' => 'sharejob', 'title' => '每日分享岗位奖励', 'remark' => '每日分享岗位奖励积分'],
+    ];
+
+    public function add($user_id, $type_index, $itype = 1)
+    {
+        $type     = $this->_type[$type_index];
+        $param    = UserParamModel::where(1)->findOrEmpty();
+        $intvalue = $param[$type['field']];
+        if (empty($intvalue)) {
+            return false;
+        }
+        $integral = new UserIntegralModel();
+        $integral->save([
+            'userid'      => $user_id,
+            'title'       => $type['title'],
+            'intvalue'    => $intvalue,
+            'intmoney'    => 0.00,
+            'onlycontent' => "",
+            'remark'      => $type['remark'],
+            'itype'       => $itype,
+            'createtime'  => time(),
+            'yeartime'    => date("Y"),
+            'monthtime'   => date("Ym"),
+        ]);
+
+        $user           = UserModel::where('id', $user_id)->find();
+        $user->integral += $intvalue;
+        $user->inttotal += $intvalue;
+        $user->save();
+    }
+}

+ 26 - 4
app/mainapp/controller/Comjobs.php

@@ -3,10 +3,10 @@
 namespace app\mainapp\controller;
 
 use app\common\model\WorkerThird;
+use app\common\service\IntegralService;
 use app\mainapp\BaseController;
 
 use app\common\model\User as UserModel;
-use app\common\model\UserFollow as UserFollowModel;
 use app\common\model\Comjobs as ComjobsModel;
 use app\common\model\ComjobsCate as ComjobsCateModel;
 use app\common\model\ComjobsLog as ComjobsLogModel;
@@ -16,6 +16,8 @@ use app\common\model\WorkerLog as WorkerLogModel;
 use app\common\model\Worker as WorkerModel;
 use app\common\model\Broker as BrokerModel;
 use app\common\model\ComjobsReport as ComjobsReportModel;
+use app\common\model\UserParam as UserParamModel;
+use app\common\model\UserIntegral as UserIntegralModel;
 
 use chuanglan\Chuanglan;
 use echowx\WxProgram;
@@ -508,10 +510,10 @@ class Comjobs extends BaseController
             ]);
 
             if ($worker['mobile']) {
-                $msg = '尊敬的雇主您好!已有候选人在“晋江人力”小程序上投递简历应聘您发布的岗位,请您及时查看处理!';
+                $msg    = '尊敬的雇主您好!已有候选人在“晋江人力”小程序上投递简历应聘您发布的岗位,请您及时查看处理!';
                 $mobile = $worker['mobile'];
-                $sms = new Chuanglan();
-                $sms->send($mobile,['message'=>$msg]);
+                $sms    = new Chuanglan();
+                $sms->send($mobile, ['message' => $msg]);
             }
 
             $return['msg'] = '恭喜您,报名成功,我们会尽快给您安排面试上班!!!。';
@@ -522,5 +524,25 @@ class Comjobs extends BaseController
         }
     }
 
+    public function shareComjobs()
+    {
+        $userid = input('userid/d', 0);
+
+        $param = UserParamModel::where(1)->findOrEmpty();
+        if (!empty($param['sharejobnum'])) {
+            $check = UserIntegralModel::where('createtime','>=',strtotime(date('Y-m-d')))
+                ->where('createtime','<=',strtotime(date('Y-m-d 23:59:59')))
+                ->where('userid',$userid)
+                ->where('itype',10)
+                ->count();
+            if ($check >= $param['sharejobnum']) {
+                page_result(0, "已超过次数");
+            }
+        }
+
+        $integralService = new IntegralService();
+        $integralService->add($userid,IntegralService::SHAREJOB,10);
+        page_result(0, "分享成功");
+    }
 
 }

+ 5 - 0
app/mainapp/controller/Login.php

@@ -10,6 +10,7 @@ use app\common\model\UserParam as UserParamModel;
 use app\common\model\UserPart as UserPartModel;
 
 use alisms\SignatureHelper;
+use app\common\service\IntegralService;
 use chuanglan\Chuanglan;
 use echowx\WxProgram;
 
@@ -208,6 +209,10 @@ class Login
                 'brokerid' => intval($puser->brokerid),
             ]);
         }
+
+        $integralService = new IntegralService();
+        $integralService->add($user->id,IntegralService::REGISTER);
+
         return $user;
     }
 

+ 36 - 0
app/mainapp/controller/My.php

@@ -4,6 +4,7 @@ namespace app\mainapp\controller;
 
 use app\common\model\ResumeInvite;
 use app\common\model\UserWill;
+use app\common\service\IntegralService;
 use app\mainapp\BaseController;
 
 use app\common\model\Param as ParamModel;
@@ -436,6 +437,22 @@ class My extends BaseController
         page_result(0, "", $user);
     }
 
+    public function perfectUserInfo()
+    {
+        $userid = input('userid/d');
+        $user   = UserModel::findOrEmpty($userid);
+        if ($user->isEmpty()) {
+            page_result(1, "用户信息不存在");
+        }
+        if ($user['is_perfect'] == 2) {
+            $user->is_perfect = 1;
+            $user->save();
+        }
+        $integralService = new IntegralService();
+        $integralService->add($userid,IntegralService::IMPROVERESUME);
+        page_result();
+    }
+
     // 身份证认证
     public function editIdCard()
     {
@@ -522,4 +539,23 @@ class My extends BaseController
             'invite_num'  => $invite_num,
         ]);
     }
+
+    public function signin()
+    {
+        $userid = input('userid/d');
+
+        $check = UserIntegralModel::where('createtime','>=',strtotime(date('Y-m-d')))
+            ->where('createtime','<=',strtotime(date('Y-m-d 23:59:59')))
+            ->where('userid',$userid)
+            ->where('itype',9)
+            ->find();
+        if (!empty($check)) {
+            page_result(1, "今日已签到");
+        }
+
+        $integralService = new IntegralService();
+        $integralService->add($userid,IntegralService::SINGIN,9);
+
+        page_result(0, "");
+    }
 }

+ 7 - 0
app/mainapp/controller/Wcomjobs.php

@@ -3,6 +3,7 @@
 namespace app\mainapp\controller;
 
 use app\common\model\WorkerThird;
+use app\common\service\IntegralService;
 use app\mainapp\BaseController;
 
 use app\common\model\Comjobs as ComjobsModel;
@@ -165,6 +166,12 @@ class Wcomjobs extends BaseController
         $comjobslog['worker'] = $worker;
         event('JobMatch', $comjobslog);
 
+        //积分
+        if (in_array($status,[3,6])) {
+            $integralService = new IntegralService();
+            $integralService->add($comjobslog['userid'],IntegralService::ENTRY);
+        }
+
         page_result(0, "", [
             'comjobslog' => $comjobslog,
         ]);