#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