diff --git a/app/api/controller/CeshiController.php b/app/api/controller/CeshiController.php index 63fc44d31..ce31ac273 100644 --- a/app/api/controller/CeshiController.php +++ b/app/api/controller/CeshiController.php @@ -11,6 +11,7 @@ use app\common\model\task_template\TaskTemplate; use app\common\model\user\User as UserModel; use app\common\model\user\UserAccountLog; use think\facade\Log; +use app\job\TaskAdd; class CeshiController extends BaseApiController { @@ -21,24 +22,24 @@ class CeshiController extends BaseApiController */ public function index() { - $user_ids = UserModel::where('company_id', 175)->where('is_captain', 1)->field('id,nickname,brigade')->select(); - $shareholder_user = UserModel::where('id', 322)->field('id,nickname,brigade')->find(); - $money=bcdiv(6000,count($user_ids),2); - $left_amount=0; - foreach ($user_ids as $kkk => $vvv) { - $left_amount+=bcadd(1000,$money,2); - $company_log = [ - 'sn' => generate_sn(UserAccountLog::class, 'sn', 20), - 'company_id'=>175, - 'change_object' => CompanyAccountLog::SHAREHOLDER,//变动对象 - 'change_type' => CompanyAccountLog::TASK_INC_SHAREHOLDER_MONEY,//变动类型 - 'action' => CompanyAccountLog::INC,//1-增加 2-减少 - 'left_amount' =>$left_amount,//变动后数量 - 'change_amount' => $money,//变动数量 - 'remark' =>$shareholder_user['nickname'].'完成了'.$vvv['brigade'].'队的股金:'.$money.'元', - 'status'=>1, - ]; - CompanyAccountLog::create($company_log); + $plan_all = TaskScheduling::where('id',99)->with('company_info')->select()->toArray(); + $plan_ids = []; + foreach ($plan_all as $k => $v) { + $all = TaskTemplate::where('id', 111)->where('task_scheduling', $v['id'])->limit(30)->select()->toArray(); + $plan_ids[] = $v['id']; + if ($all) { + $plan_all[$k]['template'] = $all; + } else { + unset($plan_all[$k]); + } + } + $company_id = []; + foreach ($plan_all as $k => $v) { + foreach ($v['template'] as $kk => $vv) { + + queue(TaskAdd::class,['data'=>$vv,'data_two'=>$v]); + } + $company_id[] = $v['company_id']; } } diff --git a/app/api/controller/CronController.php b/app/api/controller/CronController.php index aedfbc4d9..cc8999d66 100644 --- a/app/api/controller/CronController.php +++ b/app/api/controller/CronController.php @@ -7,6 +7,7 @@ use think\facade\Log; use app\common\model\Company; use app\common\model\task_template\TaskTemplate; use app\common\model\task_scheduling\TaskScheduling; +use app\job\TaskAdd; /** @@ -55,5 +56,6 @@ class CronController extends BaseApiController Company::where('id', 'in', $company_id)->inc('day_count')->update(); TaskScheduling::where('id', 'in', $plan_ids)->update(['cron_time' => time()]); Log::info('定时任务下发执行成功' . date('Y-m-d H:i:s')); + return $this->success('定时任务下发执行成功'); } } \ No newline at end of file diff --git a/app/api/controller/RemoteController.php b/app/api/controller/RemoteController.php index a06d33084..4bcc85271 100644 --- a/app/api/controller/RemoteController.php +++ b/app/api/controller/RemoteController.php @@ -33,20 +33,20 @@ class RemoteController extends BaseApiController ]; switch ($company['company_type']) { case 18: - $parmas['brigade_id'] = $company['brigade']; + $parmas['brigade_id'] = $company['responsible_area']; $parmas['village_code'] = $company['village']; $parmas['street_code'] = $company['street']; $parmas['district_code'] = $company['area']; $parmas['city_code'] = $company['city']; break; case 17: - $parmas['village_code'] = $company['village']; + $parmas['village_code'] = $company['responsible_area']; $parmas['street_code'] = $company['street']; $parmas['district_code'] = $company['area']; $parmas['city_code'] = $company['city']; break; case 16: - $parmas['street_code'] = $company['street']; + $parmas['street_code'] = $company['responsible_area']; $parmas['district_code'] = $company['area']; $parmas['city_code'] = $company['city']; break; @@ -180,12 +180,13 @@ class RemoteController extends BaseApiController ]); $json=json_decode($res->getContent(),true); $points=$json['data']; - + if(empty($points)){ + return false; + } $target =[ "lat"=> $latitude1, "lon"=> $longitude1 ]; - $closestPoint = $this->getClosestPoint($points, $target); return $this->calculateDistance($target['lon'], $target['lat'], $closestPoint[0]['lon'], $closestPoint[0]['lat']); @@ -204,6 +205,8 @@ class RemoteController extends BaseApiController if ($distance < $minDistance) { $minDistance = $distance; $closestPoint = $point; + }else{ + $distance=0; } } diff --git a/app/api/controller/TaskController.php b/app/api/controller/TaskController.php index 685c06dd4..0662756c8 100644 --- a/app/api/controller/TaskController.php +++ b/app/api/controller/TaskController.php @@ -9,6 +9,7 @@ use app\common\model\informationg\UserInformationg; use app\common\model\task\Task; use app\common\model\task_template\TaskTemplate; use app\common\model\user\User; +use think\facade\Log; class TaskController extends BaseApiController { @@ -56,7 +57,7 @@ class TaskController extends BaseApiController ->select()->toArray(); foreach ($res as $k => $item) { if ($item['type'] == 33) { - $company = Company::where('id', $item['company_id'])->field('id,deposit,company_money,user_id,day_count,company_type,province,city,area,street,village,brigade')->find(); // 可能要判断预存金是否满足 + $company = Company::where('id', $item['company_id'])->field('id,deposit,company_money,user_id,day_count,company_type,province,city,area,street,village,brigade,responsible_area')->find(); // 可能要判断预存金是否满足 $find = App(RemoteController::class)->shang_date_total_price($company,1,$param); if ($find != false) { $transaction_pool=TaskTemplate::where('id',$item['template_id'])->value('transaction_pool'); @@ -164,12 +165,12 @@ class TaskController extends BaseApiController if (isset($task['extend']['update']['terminus']) && isset($task['extend']['update']['transfer'])) { $data['status'] = 3; } - if($res<100){ + if($res<200){ $data['extend'] = json_encode($task['extend']); Task::where('id', $parmas['id'])->update($data); return $this->success('更新成功'); } - return $this->fail('定位坐标大于100米,请重新打卡'); + return $this->fail('定位坐标大于200米,请重新打卡'); } public function informationg_list() diff --git a/app/common/logic/task/TaskLogic.php b/app/common/logic/task/TaskLogic.php index edaf8179a..6d67c7618 100644 --- a/app/common/logic/task/TaskLogic.php +++ b/app/common/logic/task/TaskLogic.php @@ -17,6 +17,7 @@ namespace app\common\logic\task; use app\common\model\task\Task; use app\common\logic\BaseLogic; +use app\common\model\Company; use app\common\model\informationg\UserInformationg; use app\common\model\task_scheduling_plan\TaskSchedulingPlan; use app\common\model\task_template\TaskTemplate; @@ -121,15 +122,20 @@ class TaskLogic extends BaseLogic } //入股任务 if ($v['type'] == 35) { - $user_ids = User::where('company_id', $v['company_id'])->where('is_captain', 1)->field('id,nickname,brigade')->select(); - + $responsible_area = Company::where('id', $v['company_id'])->value('responsible_area'); + if($responsible_area){ + $responsible_area=explode(',',$responsible_area); + }else{ + Log::error('定时任务添加失败:没有区域'.json_encode($v)); + return false; + } if (isset($v['extend']['shareholder'])) { $shareholder_user = User::where('id', $v['extend']['shareholder']['user_id'])->field('id,nickname,brigade')->find(); $v['extend']['shareholder']['money'] = $v['recharge']; $v['extend']['shareholder']['over_decimal'] = $v['over_decimal']; - foreach ($user_ids as $kkk => $vvv) { - $v['extend']['shareholder']['user_list'][$kkk] = ['info'=>$shareholder_user['nickname'].'需缴纳'.$vvv['brigade'].'队,股金:'.bcdiv($v['recharge'],count($user_ids),2), 'time' => $v['create_time']]; + foreach ($responsible_area as $kkk => $vvv) { + $v['extend']['shareholder']['user_list'][$kkk] = ['info'=>$shareholder_user['nickname'].'需缴纳'.$vvv.'队,股金:'.bcdiv($v['recharge'],count($responsible_area),2), 'time' => $v['create_time']]; } $data['director_uid'] = $v['extend']['shareholder']['user_id'];