update 手动下发任务相关接口
This commit is contained in:
parent
d09758fa98
commit
8357942b41
@ -7,6 +7,7 @@ use app\adminapi\validate\CompanyValidate;
|
|||||||
use app\common\logic\contract\ContractLogic;
|
use app\common\logic\contract\ContractLogic;
|
||||||
use app\common\logic\finance\ShareProfit;
|
use app\common\logic\finance\ShareProfit;
|
||||||
use app\common\logic\RedisLogic;
|
use app\common\logic\RedisLogic;
|
||||||
|
use app\common\logic\ShopRequestLogic;
|
||||||
use app\common\logic\task\TaskLogic;
|
use app\common\logic\task\TaskLogic;
|
||||||
use app\common\model\Company;
|
use app\common\model\Company;
|
||||||
use app\common\model\contract\Contract;
|
use app\common\model\contract\Contract;
|
||||||
@ -16,6 +17,9 @@ use app\common\model\task_scheduling_plan\TaskSchedulingPlan;
|
|||||||
use app\common\model\task_template\TaskTemplate;
|
use app\common\model\task_template\TaskTemplate;
|
||||||
use app\job\TaskAdd;
|
use app\job\TaskAdd;
|
||||||
use app\job\TaskInformationJob;
|
use app\job\TaskInformationJob;
|
||||||
|
use app\job\VillageTaskAdd;
|
||||||
|
use app\job\VillageTaskSettlementJob;
|
||||||
|
use think\Exception;
|
||||||
use think\facade\Log;
|
use think\facade\Log;
|
||||||
use app\job\TaskTenZehn;
|
use app\job\TaskTenZehn;
|
||||||
use think\facade\Db;
|
use think\facade\Db;
|
||||||
@ -36,6 +40,12 @@ class CeshiController extends BaseApiController
|
|||||||
'initiate_contract', // 发起合同
|
'initiate_contract', // 发起合同
|
||||||
'Draftingcontracts', // 发送合同
|
'Draftingcontracts', // 发送合同
|
||||||
'postsms', // 发送短信
|
'postsms', // 发送短信
|
||||||
|
'addSupplyMerchant', // 添加供应商
|
||||||
|
'signSupplyMerchantContract', // 生成合同
|
||||||
|
'countRate',
|
||||||
|
'village_task_add_test',
|
||||||
|
'village_task_settlement_test',
|
||||||
|
'testShopApi'
|
||||||
];
|
];
|
||||||
|
|
||||||
public function index()
|
public function index()
|
||||||
@ -250,18 +260,22 @@ class CeshiController extends BaseApiController
|
|||||||
public function service_group_task_add_test()
|
public function service_group_task_add_test()
|
||||||
{
|
{
|
||||||
//任务下发
|
//任务下发
|
||||||
|
$companyId = $this->request->param('company_id');
|
||||||
$time = strtotime(date('Y-m-d')); // 今天的00:00:00
|
$time = strtotime(date('Y-m-d')); // 今天的00:00:00
|
||||||
// 注意 cron_time
|
// 注意 cron_time
|
||||||
$plan_all = TaskScheduling::where('cron_time', '<', $time)
|
$plan_all = TaskScheduling::where('cron_time', '<', time())
|
||||||
->where('status', 1)
|
->where('status', 1)
|
||||||
->where('company_type', 18)
|
->where('company_type', 18)
|
||||||
|
->where('company_id', $companyId)
|
||||||
->with('company_info')
|
->with('company_info')
|
||||||
->select()
|
->select()
|
||||||
->toArray();
|
->toArray();
|
||||||
dd($plan_all);
|
|
||||||
$plan_ids = [];
|
$plan_ids = [];
|
||||||
|
dd($plan_all);
|
||||||
foreach ($plan_all as $k => $v) {
|
foreach ($plan_all as $k => $v) {
|
||||||
|
|
||||||
$all = TaskTemplate::where('status', 1)->where('task_scheduling', $v['id'])->limit(30)->select()->toArray();
|
$all = TaskTemplate::where('status', 1)->where('task_scheduling', $v['id'])->limit(30)->select()->toArray();
|
||||||
|
|
||||||
$plan_ids[] = $v['id'];
|
$plan_ids[] = $v['id'];
|
||||||
if ($all) {
|
if ($all) {
|
||||||
$plan_all[$k]['template'] = $all;
|
$plan_all[$k]['template'] = $all;
|
||||||
@ -292,12 +306,12 @@ class CeshiController extends BaseApiController
|
|||||||
$all = TaskSchedulingPlan::whereDay('end_time','today')
|
$all = TaskSchedulingPlan::whereDay('end_time','today')
|
||||||
->withJoin(['scheduling'], 'left')
|
->withJoin(['scheduling'], 'left')
|
||||||
->where('scheduling.company_type', 18)
|
->where('scheduling.company_type', 18)
|
||||||
|
->where('scheduling.company_id', 43)
|
||||||
->where('is_pay',0)
|
->where('is_pay',0)
|
||||||
->with(['template_info'])
|
->with(['template_info'])
|
||||||
->select()
|
->select()
|
||||||
->toArray();
|
->toArray();
|
||||||
dd($all);
|
dd($all);
|
||||||
|
|
||||||
foreach($all as $k=>$data){
|
foreach($all as $k=>$data){
|
||||||
try {
|
try {
|
||||||
TaskSchedulingPlan::where('id', $data['id'])->update(['is_pay' => 1]);
|
TaskSchedulingPlan::where('id', $data['id'])->update(['is_pay' => 1]);
|
||||||
@ -454,20 +468,32 @@ class CeshiController extends BaseApiController
|
|||||||
public function town_task_add_ceshi()
|
public function town_task_add_ceshi()
|
||||||
{
|
{
|
||||||
//任务下发
|
//任务下发
|
||||||
|
$companyId = $this->request->param('company_id');
|
||||||
|
$taskTypeIds = $this->request->param('task_type_ids');
|
||||||
$time = strtotime(date('Y-m-d'));
|
$time = strtotime(date('Y-m-d'));
|
||||||
// 查询系统 所有镇农科公司 未下发 的 任务安排
|
// 查询系统 所有镇农科公司 未下发 的 任务安排
|
||||||
$taskSchedulingList = TaskScheduling::where('cron_time', '<', $time)->where('status', 1)->where('company_type', 41)->with('company_info')->select()->toArray();
|
$taskSchedulingList = TaskScheduling::where('cron_time', '<', time())
|
||||||
dd($taskSchedulingList);
|
->where('status', 1)
|
||||||
|
->where('company_type', 41)
|
||||||
|
->where('company_id', $companyId)
|
||||||
|
->with('company_info')
|
||||||
|
->select()
|
||||||
|
->toArray();
|
||||||
|
|
||||||
$taskSchedulingIds = [];
|
$taskSchedulingIds = [];
|
||||||
$companyIds = [];
|
$companyIds = [];
|
||||||
|
|
||||||
foreach ($taskSchedulingList as $k => $taskScheduling) {
|
foreach ($taskSchedulingList as $k => $taskScheduling) {
|
||||||
$templateList = TaskTemplate::where('status', 1)->where('task_scheduling', $taskScheduling['id'])->limit(30)->select()->toArray();
|
$templateList = TaskTemplate::where('status', 1)->where('task_scheduling', $taskScheduling['id'])->limit(30)->select()->toArray();
|
||||||
|
|
||||||
$taskSchedulingIds[] = $taskScheduling['id'];
|
$taskSchedulingIds[] = $taskScheduling['id'];
|
||||||
$companyIds[] = $taskScheduling['company_id'];
|
$companyIds[] = $taskScheduling['company_id'];
|
||||||
foreach ($templateList as $template) {
|
foreach ($templateList as $template) {
|
||||||
|
if (in_array($template['type'], explode(',', $taskTypeIds))) {
|
||||||
|
TaskLogic::TownCronAdd($template); // 手动下发用
|
||||||
|
}
|
||||||
// queue(TownTaskAdd::class, $template);
|
// queue(TownTaskAdd::class, $template);
|
||||||
TaskLogic::TownCronAdd($template); // 手动下发用
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty($templateList)) {
|
if (empty($templateList)) {
|
||||||
@ -477,6 +503,7 @@ class CeshiController extends BaseApiController
|
|||||||
Company::where('id', 'in', $companyIds)->inc('day_count')->update();
|
Company::where('id', 'in', $companyIds)->inc('day_count')->update();
|
||||||
TaskScheduling::where('id', 'in', $taskSchedulingIds)->update(['cron_time' => time()]);
|
TaskScheduling::where('id', 'in', $taskSchedulingIds)->update(['cron_time' => time()]);
|
||||||
Log::info('定时任务下发执行成功' . date('Y-m-d H:i:s'));
|
Log::info('定时任务下发执行成功' . date('Y-m-d H:i:s'));
|
||||||
|
return $this->success('定时任务下发执行成功');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -494,10 +521,199 @@ class CeshiController extends BaseApiController
|
|||||||
->toArray();
|
->toArray();
|
||||||
dd($taskSchedulingPlanList);
|
dd($taskSchedulingPlanList);
|
||||||
foreach($taskSchedulingPlanList as $taskSchedulingPlan) {
|
foreach($taskSchedulingPlanList as $taskSchedulingPlan) {
|
||||||
if (in_array($taskSchedulingPlan['template_info']['type'], [44,45,46,47,48,49,50])) {
|
if ($taskSchedulingPlan['company_id'] == 30 && $taskSchedulingPlan['template_info']['type'] == 50) {
|
||||||
continue;
|
|
||||||
|
TaskLogic::townTaskSettlement($taskSchedulingPlan);
|
||||||
}
|
}
|
||||||
TaskLogic::townTaskSettlement($taskSchedulingPlan);
|
}
|
||||||
|
return $this->success('镇农科公司定时任务结算执行成功');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 村管理公司任务下发
|
||||||
|
*/
|
||||||
|
public function village_task_add_test()
|
||||||
|
{
|
||||||
|
//任务下发
|
||||||
|
$time = strtotime(date('Y-m-d'));
|
||||||
|
// 查询系统 所有镇农科公司 未下发 的 任务安排
|
||||||
|
$taskSchedulingList = TaskScheduling::where('cron_time', '<', time())
|
||||||
|
->where('status', 1)
|
||||||
|
->where('company_type', 17)
|
||||||
|
->where('company_id', 33)
|
||||||
|
->with('company_info')
|
||||||
|
->select()
|
||||||
|
->toArray();
|
||||||
|
dd($taskSchedulingList);
|
||||||
|
$taskSchedulingIds = [];
|
||||||
|
$companyIds = [];
|
||||||
|
foreach ($taskSchedulingList as $k => $taskScheduling) {
|
||||||
|
$templateList = TaskTemplate::where('status', 1)->where('task_scheduling', $taskScheduling['id'])->limit(30)->select()->toArray();
|
||||||
|
$taskSchedulingIds[] = $taskScheduling['id'];
|
||||||
|
$companyIds[] = $taskScheduling['company_id'];
|
||||||
|
foreach ($templateList as $template) {
|
||||||
|
|
||||||
|
if ($template['type'] == 69) {
|
||||||
|
TaskLogic::VillageCronAdd($template); // 手动下发用
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// queue(VillageTaskAdd::class, $template);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (empty($templateList)) {
|
||||||
|
unset($taskSchedulingList[$k]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Company::where('id', 'in', $companyIds)->inc('day_count')->update();
|
||||||
|
TaskScheduling::where('id', 'in', $taskSchedulingIds)->update(['cron_time' => time()]);
|
||||||
|
Log::info('村管理公司定时任务下发执行成功' . date('Y-m-d H:i:s'));
|
||||||
|
return $this->success('村管理公司定时任务下发执行成功');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 村管理公司任务结算
|
||||||
|
*/
|
||||||
|
public function village_task_settlement_test()
|
||||||
|
{
|
||||||
|
Log::info('村管理公司定时任务结算执行-开始'.date('Y-m-d H:i:s'));
|
||||||
|
//today 今日未结算的任务计划
|
||||||
|
$taskSchedulingPlanList = TaskSchedulingPlan::whereDay('end_time','today')
|
||||||
|
->withJoin(['scheduling'], 'left')
|
||||||
|
->where('scheduling.company_type', 17)
|
||||||
|
->where('scheduling.company_id', 33)
|
||||||
|
->where('is_pay',0)
|
||||||
|
->with(['template_info'])
|
||||||
|
->select()
|
||||||
|
->toArray();
|
||||||
|
dd($taskSchedulingPlanList);
|
||||||
|
foreach($taskSchedulingPlanList as $taskSchedulingPlan){
|
||||||
|
if ($taskSchedulingPlan['template_info']['type'] == 69) {
|
||||||
|
TaskLogic::villageTaskSettlement($taskSchedulingPlan);
|
||||||
|
}
|
||||||
|
// queue(VillageTaskSettlementJob::class, $taskSchedulingPlan);
|
||||||
|
}
|
||||||
|
Log::info('村管理公司定时任务结算执行-结束'.date('Y-m-d H:i:s'));
|
||||||
|
return $this->success('村管理公司定时任务结算执行成功');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function countRate()
|
||||||
|
{
|
||||||
|
// 第一个月
|
||||||
|
$startTime1 = strtotime(date('Y-m-d', time())); // 任务下发当天 00:00:00
|
||||||
|
$endTime1 = strtotime("+30 day", $startTime1); // 30天后的00:00:00
|
||||||
|
|
||||||
|
|
||||||
|
// 第二个月
|
||||||
|
$startTime2 = strtotime(date('Y-m-d', $endTime1)); // 第一个月截止日 00:00:00
|
||||||
|
$endTime2 = strtotime("+30 day", $startTime2); // 30天后的00:00:00
|
||||||
|
dd([date('Y-m-d H:i:s', $startTime1), date('Y-m-d H:i:s', $endTime1), date('Y-m-d H:i:s', $startTime2), date('Y-m-d H:i:s', $endTime2)]);
|
||||||
|
$procureAmount = 1234;
|
||||||
|
$step = $this->request->param('step', 1);
|
||||||
|
// 商户入驻至今累计天数
|
||||||
|
$targetProcureAmount = 10000;
|
||||||
|
// 目标采购额每阶段增幅30%
|
||||||
|
for ($i = 1; $i < $step; $i++) {
|
||||||
|
$targetProcureAmount = self::increase($targetProcureAmount);
|
||||||
|
}
|
||||||
|
dd($targetProcureAmount);
|
||||||
|
$rate = bcdiv($procureAmount, $targetProcureAmount, 2);
|
||||||
|
return $rate;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static function increase($value)
|
||||||
|
{
|
||||||
|
return bcmul($value, 1.3,2);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加供应链商户
|
||||||
|
*/
|
||||||
|
public function addSupplyMerchant()
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
// 添加商户数据
|
||||||
|
$params = $this->request->param();
|
||||||
|
$data = [
|
||||||
|
'mer_intention_id' => 0, // 商城商户入驻申请id,签约完成后回调使用
|
||||||
|
'company_name' => $params['company_name']??'',
|
||||||
|
'mer_name' => $params['mer_name']??'', // 店铺名称
|
||||||
|
'organization_code' => $params['organization_code']??'',
|
||||||
|
'city' => $params['city']??'',
|
||||||
|
'area' => $params['area']??'',
|
||||||
|
'street' => $params['street']??'',
|
||||||
|
'address' => $params['address']??'',
|
||||||
|
'master_name' => $params['master_name']??'',
|
||||||
|
'master_phone' => $params['master_phone']??'',
|
||||||
|
'master_email' => $master_email??'',
|
||||||
|
'type_name' => $params['type_name'] ?? '', //店铺类型
|
||||||
|
'category_name' => $params['category_name'] ?? '', //商户分类
|
||||||
|
'qualification' => !empty($params['images'])?$params['images']:json_encode([])
|
||||||
|
];
|
||||||
|
$shopMerchantModel = ShopMerchant::create($data);
|
||||||
|
|
||||||
|
$shopMerchantCertificationData = [
|
||||||
|
'name' => $shopMerchantModel->company_name,
|
||||||
|
'organization_code' => $shopMerchantModel->organization_code,
|
||||||
|
'business_license' => 'https://lihai001.oss-cn-chengdu.aliyuncs.com/def/561f8202305171526091317.png',
|
||||||
|
'master_name' => $shopMerchantModel->master_name,
|
||||||
|
'master_email' => $shopMerchantModel->master_email,
|
||||||
|
'master_phone' => $shopMerchantModel->master_phone,
|
||||||
|
'id' => $shopMerchantModel->id,
|
||||||
|
];
|
||||||
|
$re = app(JunziqianController::class)->ShopMerchantCertification($shopMerchantCertificationData);
|
||||||
|
|
||||||
|
return $this->success('成功', $shopMerchantModel->toArray());
|
||||||
|
} catch (Exception $e) {
|
||||||
|
return $this->fail($e->getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// 生成合同
|
||||||
|
public function signSupplyMerchantContract()
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$params = $this->request->param();
|
||||||
|
// 生成合同
|
||||||
|
$createContractData = [
|
||||||
|
'id' => $params['id'],
|
||||||
|
'party_a' => $params['party_a'],
|
||||||
|
'party_a_name' => $params['party_a_name'],
|
||||||
|
'party_b' => $params['party_b'],
|
||||||
|
'party_b_name' => $params['party_b_name'],
|
||||||
|
'contract_type' => 58, // 供应链商户合同
|
||||||
|
];
|
||||||
|
$model = new ShopContract();
|
||||||
|
$model->contract_no = time();
|
||||||
|
$model->create_time = time();
|
||||||
|
$model->check_status = 1;
|
||||||
|
$model->update_time = time();
|
||||||
|
$model->setAttrs($createContractData);
|
||||||
|
$res = $model->save($createContractData);
|
||||||
|
return $this->success('成功', $res->toArray());
|
||||||
|
} catch (Exception $e) {
|
||||||
|
return $this->fail($e->getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testShopApi()
|
||||||
|
{
|
||||||
|
$id = $this->request->param('id');
|
||||||
|
$templateInfo = TaskTemplate::where(['id'=>$id])->find();
|
||||||
|
$townCompany = Company::where(['id' => $templateInfo['company_id']])->find();
|
||||||
|
|
||||||
|
$param['start_time'] = strtotime(date('Y-m-d', $templateInfo['cretate_time'])) + 86400;
|
||||||
|
$param['end_time'] = time();
|
||||||
|
$param['mer_intention_id'] = 131;
|
||||||
|
// $param['goods_id'] = '17,18';
|
||||||
|
$param['type_id'] = 10;
|
||||||
|
|
||||||
|
|
||||||
|
// todo 返回字段要对接
|
||||||
|
$result = ShopRequestLogic::getGeneralMerchantProductListing($param);
|
||||||
|
dd($result);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user