I'm too lazy to post a full solution to this since there is certain bashy parts.
Thus here is a sketch on how to solve this without dying (takes 45 mins at most)
First using $P(1,x)$ get that $f(1+f(x+1))=(f(2)-1)f(x)+f(2)$, now after this you will work with; $P(f(x+1),y)$, tadaaa...you might also want to apply symetry on this becuase many things cancel.
In fact you are supposted to get $Q(x,y)$ defined as $f(xf(y+1))+f(y)=f(yf(x+1))+f(x)$, now after $Q(1,0)$ you get $f(1)=f(f(1))$ which is useful in $P(0,0)$, both giving either $f(0)=0$ or $f(1)=1$ (in fact both must hold and its a case work to verify that if not then either $f(x)=0$ or $f(x)=1$ always holds, this casework is not long but messy to write, thus i will skip it and leave it to the reader).
After getting $f(0)=0$ and $f(1)=1$, by $P(0,x)$ we get $f(f(x+1))=f(x)+1$ which means that inductively one can prove $f$ is surjective on positive integers, more importantly though is that by $P(-1,-1)$ you get $f(-1)=-1$, meaning that thus by $P(-1,x)$ you get $f(f(x+1)-1)=f(x)$, meaning that $f(f(n))-1=f(f(n)-1)$ equivalent to getting $f(t)-1=f(t-1)$ for all positive integers $t$ by surjectivity, thus $f(x)=x$ for all positive integers, but hey, $P(x,-1)$ gives that the function is odd so $f(x)=x$, thus you finish.
Let $P(x,y)$ original equation.
Lemma 1: $f(0)\in\{-3,-2,0,1\}$.
ProofIn $P(-f(1),0)$ we have:
$$f(0)+f(0)=f\left(1-f(1)\right)\cdot(f(0)+1)$$From this $f(0)+1\mid 2f(0)$. Hence $f(0)+1\mid 2$, i.e. $f(0)+1\in\{-2,-1,1,2\}$, where we get the desired.
Case 1: $f(0)\in\{-3,1\}$.
Case 1In $P(x,0)$ we have:
$$f\left(x+f(1)\right)+f(0)=f\left(x+1\right)\cdot(f(0)+1)\text{, }\forall\text{ $x\in\mathbb{Z}$}$$$$\to f\left(x+f(1)\right)-1=\left(f(x+1)-1\right)\cdot(f(0)+1)\text{, }\forall\text{ $x\in\mathbb{Z}$}.$$Then, inductively we can deduce that, for every positive integer $n$:
$$\to f\left(x+n(f(1)-1)\right)-1=\left(f(x+1)-1\right)\cdot(f(0)+1)^n\text{, }\forall\text{ $x\in\mathbb{Z}$}.$$
As $f(0)\in\{-3,1\}$, we have $|f(0)+1|=2$, and from last equality we get $\forall$ $n\in \mathbb{N}$ :
$$2^n=|(f(0)+1)^n|\bigl\vert |f\left(x+n(f(1)-1)\right)-1|\text{, }\forall\text{ $x\in\mathbb{Z}$}.$$Take, for each $n$, $x\to x-f^n((1))$ , then we got:
$$2^n=|(f(0)+1)^n|\cdot |f\left(x\right)-1|\text{, }\forall\text{ $x\in\mathbb{Z},n\in\mathbb{N}$},$$and hence $f(x)-1=0$ para todo $x\in\mathbb{Z}$
So, this case give $f(x)=1$ forall $x\in\mathbb{Z}$ as the only solution.
Case 2: $f(0)=-2$.
Case 2Lemma 2: $f$ is periodic.
ProofIn $P(x,0)$ we have:
$$f\left(x+f(1)\right)-2=-f\left(x+1\right)\text{, }\forall\text{ $x\in\mathbb{Z}$}$$$$\to f\left(x+f(1)\right)+f\left(x+1\right)=2\text{, }\forall\text{ $x\in\mathbb{Z}$}.$$If $f(1)=1$, then we have $f(x+1)=1$ for each $x$, contradiction, because $f(-1+1)=-2$.
Hence, $f(1)\neq -1$. Then, taking $x\to x+f(1)-1$ in last equality gives us:
$$f\left(x+2f(1)-1\right)+f\left(x+f(1)\right)=2\text{, }\forall\text{ $x\in\mathbb{Z}$},$$from where we deduced $f(x+1)=f(x+2f(1)-1)$ forall $x$ integer, and since $2f(1)-1\neq 1$, then $f$ is periodic.
Since $f$ is periodic, then $\{f(x):x\in\mathbb{Z}\}$ is finite.
Lemma 3: Let $a=\max_{x\in\mathbb{Z}} |f(x)|$, then $2\leq a\leq 3$.
proofWe have $f(0)=-2$, hence $a\geq 2$.
Let $m$ such that $|f(m)|=a$. Then, in $P(m-1,m)$:
$$f(m-1+f(m+1))+f(m(m-1))=f(m)\left(f(m)-1\right).$$Taking absulute value, with triangular inequality, we have:
\begin{align*}
2a&\geq|f(m-1+f(m+1))+f(m(m-1))|\\
&=|f(m)|\cdot|f(m)-1|\\
&\geq a\cdot (|f(m)|-1)=a^2-a,
\end{align*}so we get $a^2\leq 3a$, i.e. $a\leq 3$.
Remember that from $P(x,0)$ we had:
$$f\left(x+f(1)\right)+f\left(x+1\right)=2\text{, }\forall\text{ $x\in\mathbb{Z}$}.$$Then, taking $x=-1$ we got $f(f(1)-1)=4$, contradicting Lemma 3.
Therefore, no solutions in this case.
Case 3: $f(0)=0$.
Case 3In $P(0,-1)$ we have:
$$f(0+f(0))+f(0)=0=f(1)(f(-1)+1),$$from where we have $f(1)=0$ or $f(-1)=-1$.
Case 3.1: $f(1)=0$.
Click to reveal hidden textAgain, in $P(x,0)$, we have:
$$f(x+f(1))+f(0)=f(x)=f(x+1)=f(x+1)(f(0)+1)\text{, }\forall\text{ $x\in\mathbb{Z}$},$$hence $f$ has periodic $1$, i.e., constant $\to$ $f\equiv 0$ (since $f(0)=0$)
Case 3.2: $f(-1)=-1$.
Click to reveal hidden textIn $P(x,-1)$ we have:
$$f(x)+f(-x)=0 \text{, }\forall\text{ $x\in\mathbb{Z}$}.$$In particular, $f(1)=1$.
In $P(1,-2)$:
$$f(-2)=f(2)(f(-2)+1),$$using $f(2)+f(-2)=0$, we got $f(2)^2=2f(2)$, i.e. $f(2)=0$ or $f(2)=2$.
Also, in $P(x,1)$ :
$$f(x+f(2))+f(x)=2f(x+1)\text{, }\forall\text{ $x\in\mathbb{Z}$}.$$
If $f(2)=0$, then
$$f(x)=f(x+1)\text{, }\forall\text{ $x\in\mathbb{Z}$},$$that is false since $f(0)\neq f(1)$.
Hence $f(2)=2$, and then
$$f(x)+f(x+2)=2f(x+1)\text{, }\forall\text{ $x\in\mathbb{Z}$},$$$$\to f(x+2)-f(x+1)=f(x+1)-f(x)\text{, }\forall\text{ $x\in\mathbb{Z}$},$$So the function $g:\mathbb{Z}\to\mathbb{Z} $ defined by $g(x)=f(x+1)-f(x)$ satisfies $g(x+1)=g(x)$ for all integers $x$, so, $g$ is constant, and since $g(0)=1$, then :
$$g(x)=f(x+1)-f(x)=1\text{, }\forall\text{ $x\in\mathbb{Z}$},$$and with induction we conclude $f(x)=x$ forall $x$ integer.
Therefore, we have $3$ solutions
Solutions
$f(x)=0$ forall $x\in\mathbb{Z}$ .
$f(x)=1$ forall $x\in\mathbb{Z}$ .
$f(x)=x$ forall $x\in\mathbb{Z}$.