GeoWritingsLogic.php 2.8 KB
<?php
/**
 * @remark :
 * @name   :GeoWritingsLogic.php
 * @author :lyh
 * @method :post
 * @time   :2025/10/25 10:43
 */

namespace App\Http\Logic\Aside\Geo;

use App\Http\Logic\Aside\BaseLogic;
use App\Models\Geo\GeoWritings;

/**
 * @remark :文章任务
 * @name   :GeoWritingsLogic
 * @author :lyh
 * @method :post
 * @time   :2025/10/25 10:44
 */
class GeoWritingsLogic extends BaseLogic
{
    public function __construct()
    {
        parent::__construct();
        $this->param = $this->requestAll;
        $this->model = new GeoWritings();
    }

    /**
     * @remark :列表数据
     * @name   :listWriting
     * @author :lyh
     * @method :post
     * @time   :2025/10/25 15:57
     */
    public function listWriting($map,$page,$row,$order){
        $data = $this->model->lists($map,$page,$row,$order);
        return $this->success($data);
    }

    /**
     * @remark :获取详情
     * @name   :infoWriting
     * @author :lyh
     * @method :post
     * @time   :2025/11/7 11:02
     */
    public function infoWriting()
    {
        $data = $this->model->read($this->param);
        return $this->success($data);
    }

    /**
     * @remark :手动上传数据
     * @name   :saveWriting
     * @author :lyh
     * @method :post
     * @time   :2025/10/25 16:07
     */
    public function saveWriting(){
        try {
            $this->param['status'] = GeoWritings::STATUS_INIT;
            if(isset($this->param['id']) &&!empty($this->param['id'])){
                $id = $this->param['id'];
                $this->model->edit($this->param,['id'=>$id]);
            }else{
                $this->param['type'] = GeoWritings::TYPE_SUBMIT;
                $this->param['uniqid'] = uniqid().$this->param['project_id'];
                $id = $this->model->addReturnId($this->param);
            }
        }catch (\Exception $e){
            $this->fail('保存数据失败,请联系管理员'.$e->getMessage());
        }
        return $this->success(['id'=>$id]);
    }

    /**
     * @remark :删除数据
     * @name   :delWritingTask
     * @author :lyh
     * @method :post
     * @time   :2025/10/25 15:05
     */
    public function delWriting()
    {
        $res = $this->model->del(['id'=>['in',$this->param['id']]]);
        if($res === false){
            $this->fail('删除失败,请联系管理员');
        }
        return $this->success();
    }

    /**
     * @remark :推送微信
     * @name   :sendWechatMessage
     * @author :lyh
     * @method :post
     * @time   :2025/10/28 10:15
     */
    public function sendWechatMessage()
    {
        $this->model->edit(['status'=>2],['status'=>1,'project_id'=>$this->param['project_id']]);
        $data = GeoWritings::sendConfirmMessage($this->param['project_id']);
        if($data === false){
            $this->fail('项目未绑定微信群');
        }
        return $this->success($data);
    }
}