示例#1
0
        public async Task <IActionResult> BatchBindHealthManager([FromBody] BatchUpdateConsumerBindMangerRequestDto request)
        {
            if (request.ConsumerGuids.Count <= 0)
            {
                return(Failed(ErrorCode.Empty, "会员参数未提供,请检查"));
            }

            var managerBiz = new HealthManagerBiz();
            var manager    = await managerBiz.GetManagerInfoAsync(request.ManagerGuid);

            if (manager is null)
            {
                return(Failed(ErrorCode.Empty, "健康管理师不存在,请检查"));
            }

            var response = await managerBiz.BatchBindHealthManager(request);

            return(Success(response));
        }
        /// <summary>
        /// 批量会员绑定健康管理师
        /// </summary>
        /// <param name="consumerGuid"></param>
        /// <returns></returns>
        public async Task <bool> BatchBindHealthManager(
            BatchUpdateConsumerBindMangerRequestDto request)
        {
            var models = request.ConsumerGuids.Select(d => new ConsumerModel()
            {
                ConsumerGuid      = d,
                HealthManagerGuid = request.ManagerGuid
            });

            return(await MySqlHelper.TransactionAsync(async (conn, trans) =>
            {
                var sql = @"update t_consumer
                      set  
                            `health_manager_guid` = @HealthManagerGuid,
                            `manager_bind_date` = CURRENT_TIMESTAMP
                      where consumer_guid = @ConsumerGuid and `health_manager_guid` is null";

                var result = await conn.ExecuteAsync(sql, models);

                return true;
            }));
        }