```#JavaScript (ES6), 60 bytes

<!-- language-all: lang-javascript -->

f=(n,k=n*++n/2)=>k>9?f(!n,eval([...k+''].join('*+'[+!n]))):k

[Try it online!](https://tio.run/##FY5BboMwFET3PYWzsh1PXX@DAyQyXfUUiIVFoE1A31US5fokjDSLp9GT5pqe6T7cLv@PT87ncV2nqBhz5L0x/OV1bOe2@Z7UjjE@06I6a@1spOztNV9Yyb2Rndlxr7U@zuup8yhQIuCACjUakAMRyIMKUAkKoAOoAtWgBt7Bb2tRonAuIDhXoQp1uYlb@g875dtPGv4Ui9iKIfM9L6Nd8q@SSUlhBL8rtYhig0nx@8n6Ag "JavaScript (Node.js) – Try It Online")

###Commented

f = (                     // f = recursive function taking:
n,                      //   n = original input
k = n * ++n / 2         //   k = current value, initialized to sum(i=1..n)(i)
) =>                      //
k > 9 ?                 // if k has more than 1 digit:
f(                    //   recursive call to f() with:
!n,                 //     a logical NOT applied to n
eval(               //     the result of the expression built by:
[...k + '']       //       turning k into a list of digits
.join('*+'[+!n])  //       joining with '*' on even iterations or '+' on odd ones
)                   //     end of eval()
)                     //   end of recursive call
:                       // else:
k                     //   stop recursion and return the last value
```